agents-deck 1.23.0 → 1.23.1

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.
@@ -56,7 +56,7 @@ Error generating stack: `+y.message+`
56
56
  */var O0;function VT(){if(O0)return mc;O0=1;var e=so(),n=HT();function i(p,h){return p===h&&(p!==0||1/p===1/h)||p!==p&&h!==h}var s=typeof Object.is=="function"?Object.is:i,o=n.useSyncExternalStore,u=e.useRef,l=e.useEffect,c=e.useMemo,d=e.useDebugValue;return mc.useSyncExternalStoreWithSelector=function(p,h,m,v,_){var N=u(null);if(N.current===null){var x={hasValue:!1,value:null};N.current=x}else x=N.current;N=c(function(){function k(I){if(!E){if(E=!0,b=I,I=v(I),_!==void 0&&x.hasValue){var j=x.value;if(_(j,I))return T=j}return T=I}if(j=T,s(b,I))return j;var D=v(I);return _!==void 0&&_(j,D)?(b=I,j):(b=I,T=D)}var E=!1,b,T,A=m===void 0?null:m;return[function(){return k(h())},A===null?void 0:function(){return k(A())}]},[h,m,v,_]);var S=o(p,N[0],N[1]);return l(function(){x.hasValue=!0,x.value=S},[S]),d(S),S},mc}var L0;function WT(){return L0||(L0=1,pc.exports=VT()),pc.exports}var GT=WT();const KT=mg(GT),YT={},$0=e=>{let n;const i=new Set,s=(h,m)=>{const v=typeof h=="function"?h(n):h;if(!Object.is(v,n)){const _=n;n=m??(typeof v!="object"||v===null)?v:Object.assign({},n,v),i.forEach(N=>N(n,_))}},o=()=>n,d={setState:s,getState:o,getInitialState:()=>p,subscribe:h=>(i.add(h),()=>i.delete(h)),destroy:()=>{(YT?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},p=n=e(s,o,d);return d},XT=e=>e?$0(e):$0,{useDebugValue:QT}=ie,{useSyncExternalStoreWithSelector:ZT}=KT,JT=e=>e;function hb(e,n=JT,i){const s=ZT(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return QT(s),s}const D0=(e,n)=>{const i=XT(e),s=(o,u=n)=>hb(i,o,u);return Object.assign(s,i),s},eR=(e,n)=>e?D0(e,n):D0;function kt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[s,o]of e)if(!Object.is(o,n.get(s)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const s of e)if(!n.has(s))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const s of i)if(!Object.prototype.hasOwnProperty.call(n,s)||!Object.is(e[s],n[s]))return!1;return!0}var tR={value:()=>{}};function iu(){for(var e=0,n=arguments.length,i={},s;e<n;++e){if(!(s=arguments[e]+"")||s in i||/[\s.]/.test(s))throw new Error("illegal type: "+s);i[s]=[]}return new Ba(i)}function Ba(e){this._=e}function nR(e,n){return e.trim().split(/^|\s+/).map(function(i){var s="",o=i.indexOf(".");if(o>=0&&(s=i.slice(o+1),i=i.slice(0,o)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:s}})}Ba.prototype=iu.prototype={constructor:Ba,on:function(e,n){var i=this._,s=nR(e+"",i),o,u=-1,l=s.length;if(arguments.length<2){for(;++u<l;)if((o=(e=s[u]).type)&&(o=rR(i[o],e.name)))return o;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++u<l;)if(o=(e=s[u]).type)i[o]=F0(i[o],e.name,n);else if(n==null)for(o in i)i[o]=F0(i[o],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new Ba(e)},call:function(e,n){if((o=arguments.length-2)>0)for(var i=new Array(o),s=0,o,u;s<o;++s)i[s]=arguments[s+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(u=this._[e],s=0,o=u.length;s<o;++s)u[s].value.apply(n,i)},apply:function(e,n,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var s=this._[e],o=0,u=s.length;o<u;++o)s[o].value.apply(n,i)}};function rR(e,n){for(var i=0,s=e.length,o;i<s;++i)if((o=e[i]).name===n)return o.value}function F0(e,n,i){for(var s=0,o=e.length;s<o;++s)if(e[s].name===n){e[s]=tR,e=e.slice(0,s).concat(e.slice(s+1));break}return i!=null&&e.push({name:n,value:i}),e}var Gm="http://www.w3.org/1999/xhtml";const z0={svg:"http://www.w3.org/2000/svg",xhtml:Gm,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function su(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),z0.hasOwnProperty(n)?{space:z0[n],local:e}:e}function iR(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===Gm&&n.documentElement.namespaceURI===Gm?n.createElement(e):n.createElementNS(i,e)}}function sR(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function pb(e){var n=su(e);return(n.local?sR:iR)(n)}function oR(){}function gg(e){return e==null?oR:function(){return this.querySelector(e)}}function aR(e){typeof e!="function"&&(e=gg(e));for(var n=this._groups,i=n.length,s=new Array(i),o=0;o<i;++o)for(var u=n[o],l=u.length,c=s[o]=new Array(l),d,p,h=0;h<l;++h)(d=u[h])&&(p=e.call(d,d.__data__,h,u))&&("__data__"in d&&(p.__data__=d.__data__),c[h]=p);return new rn(s,this._parents)}function uR(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function lR(){return[]}function mb(e){return e==null?lR:function(){return this.querySelectorAll(e)}}function cR(e){return function(){return uR(e.apply(this,arguments))}}function fR(e){typeof e=="function"?e=cR(e):e=mb(e);for(var n=this._groups,i=n.length,s=[],o=[],u=0;u<i;++u)for(var l=n[u],c=l.length,d,p=0;p<c;++p)(d=l[p])&&(s.push(e.call(d,d.__data__,p,l)),o.push(d));return new rn(s,o)}function gb(e){return function(){return this.matches(e)}}function vb(e){return function(n){return n.matches(e)}}var dR=Array.prototype.find;function hR(e){return function(){return dR.call(this.children,e)}}function pR(){return this.firstElementChild}function mR(e){return this.select(e==null?pR:hR(typeof e=="function"?e:vb(e)))}var gR=Array.prototype.filter;function vR(){return Array.from(this.children)}function yR(e){return function(){return gR.call(this.children,e)}}function wR(e){return this.selectAll(e==null?vR:yR(typeof e=="function"?e:vb(e)))}function _R(e){typeof e!="function"&&(e=gb(e));for(var n=this._groups,i=n.length,s=new Array(i),o=0;o<i;++o)for(var u=n[o],l=u.length,c=s[o]=[],d,p=0;p<l;++p)(d=u[p])&&e.call(d,d.__data__,p,u)&&c.push(d);return new rn(s,this._parents)}function yb(e){return new Array(e.length)}function xR(){return new rn(this._enter||this._groups.map(yb),this._parents)}function Wa(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}Wa.prototype={constructor:Wa,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function SR(e){return function(){return e}}function kR(e,n,i,s,o,u){for(var l=0,c,d=n.length,p=u.length;l<p;++l)(c=n[l])?(c.__data__=u[l],s[l]=c):i[l]=new Wa(e,u[l]);for(;l<d;++l)(c=n[l])&&(o[l]=c)}function bR(e,n,i,s,o,u,l){var c,d,p=new Map,h=n.length,m=u.length,v=new Array(h),_;for(c=0;c<h;++c)(d=n[c])&&(v[c]=_=l.call(d,d.__data__,c,n)+"",p.has(_)?o[c]=d:p.set(_,d));for(c=0;c<m;++c)_=l.call(e,u[c],c,u)+"",(d=p.get(_))?(s[c]=d,d.__data__=u[c],p.delete(_)):i[c]=new Wa(e,u[c]);for(c=0;c<h;++c)(d=n[c])&&p.get(v[c])===d&&(o[c]=d)}function ER(e){return e.__data__}function NR(e,n){if(!arguments.length)return Array.from(this,ER);var i=n?bR:kR,s=this._parents,o=this._groups;typeof e!="function"&&(e=SR(e));for(var u=o.length,l=new Array(u),c=new Array(u),d=new Array(u),p=0;p<u;++p){var h=s[p],m=o[p],v=m.length,_=CR(e.call(h,h&&h.__data__,p,s)),N=_.length,x=c[p]=new Array(N),S=l[p]=new Array(N),k=d[p]=new Array(v);i(h,m,x,S,k,_,n);for(var E=0,b=0,T,A;E<N;++E)if(T=x[E]){for(E>=b&&(b=E+1);!(A=S[b])&&++b<N;);T._next=A||null}}return l=new rn(l,s),l._enter=c,l._exit=d,l}function CR(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function TR(){return new rn(this._exit||this._groups.map(yb),this._parents)}function RR(e,n,i){var s=this.enter(),o=this,u=this.exit();return typeof e=="function"?(s=e(s),s&&(s=s.selection())):s=s.append(e+""),n!=null&&(o=n(o),o&&(o=o.selection())),i==null?u.remove():i(u),s&&o?s.merge(o).order():o}function jR(e){for(var n=e.selection?e.selection():e,i=this._groups,s=n._groups,o=i.length,u=s.length,l=Math.min(o,u),c=new Array(o),d=0;d<l;++d)for(var p=i[d],h=s[d],m=p.length,v=c[d]=new Array(m),_,N=0;N<m;++N)(_=p[N]||h[N])&&(v[N]=_);for(;d<o;++d)c[d]=i[d];return new rn(c,this._parents)}function AR(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var s=e[n],o=s.length-1,u=s[o],l;--o>=0;)(l=s[o])&&(u&&l.compareDocumentPosition(u)^4&&u.parentNode.insertBefore(l,u),u=l);return this}function IR(e){e||(e=MR);function n(m,v){return m&&v?e(m.__data__,v.__data__):!m-!v}for(var i=this._groups,s=i.length,o=new Array(s),u=0;u<s;++u){for(var l=i[u],c=l.length,d=o[u]=new Array(c),p,h=0;h<c;++h)(p=l[h])&&(d[h]=p);d.sort(n)}return new rn(o,this._parents).order()}function MR(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function PR(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function qR(){return Array.from(this)}function OR(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var s=e[n],o=0,u=s.length;o<u;++o){var l=s[o];if(l)return l}return null}function LR(){let e=0;for(const n of this)++e;return e}function $R(){return!this.node()}function DR(e){for(var n=this._groups,i=0,s=n.length;i<s;++i)for(var o=n[i],u=0,l=o.length,c;u<l;++u)(c=o[u])&&e.call(c,c.__data__,u,o);return this}function FR(e){return function(){this.removeAttribute(e)}}function zR(e){return function(){this.removeAttributeNS(e.space,e.local)}}function BR(e,n){return function(){this.setAttribute(e,n)}}function UR(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function HR(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function VR(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function WR(e,n){var i=su(e);if(arguments.length<2){var s=this.node();return i.local?s.getAttributeNS(i.space,i.local):s.getAttribute(i)}return this.each((n==null?i.local?zR:FR:typeof n=="function"?i.local?VR:HR:i.local?UR:BR)(i,n))}function wb(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function GR(e){return function(){this.style.removeProperty(e)}}function KR(e,n,i){return function(){this.style.setProperty(e,n,i)}}function YR(e,n,i){return function(){var s=n.apply(this,arguments);s==null?this.style.removeProperty(e):this.style.setProperty(e,s,i)}}function XR(e,n,i){return arguments.length>1?this.each((n==null?GR:typeof n=="function"?YR:KR)(e,n,i??"")):Gi(this.node(),e)}function Gi(e,n){return e.style.getPropertyValue(n)||wb(e).getComputedStyle(e,null).getPropertyValue(n)}function QR(e){return function(){delete this[e]}}function ZR(e,n){return function(){this[e]=n}}function JR(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function e2(e,n){return arguments.length>1?this.each((n==null?QR:typeof n=="function"?JR:ZR)(e,n)):this.node()[e]}function _b(e){return e.trim().split(/^|\s+/)}function vg(e){return e.classList||new xb(e)}function xb(e){this._node=e,this._names=_b(e.getAttribute("class")||"")}xb.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Sb(e,n){for(var i=vg(e),s=-1,o=n.length;++s<o;)i.add(n[s])}function kb(e,n){for(var i=vg(e),s=-1,o=n.length;++s<o;)i.remove(n[s])}function t2(e){return function(){Sb(this,e)}}function n2(e){return function(){kb(this,e)}}function r2(e,n){return function(){(n.apply(this,arguments)?Sb:kb)(this,e)}}function i2(e,n){var i=_b(e+"");if(arguments.length<2){for(var s=vg(this.node()),o=-1,u=i.length;++o<u;)if(!s.contains(i[o]))return!1;return!0}return this.each((typeof n=="function"?r2:n?t2:n2)(i,n))}function s2(){this.textContent=""}function o2(e){return function(){this.textContent=e}}function a2(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function u2(e){return arguments.length?this.each(e==null?s2:(typeof e=="function"?a2:o2)(e)):this.node().textContent}function l2(){this.innerHTML=""}function c2(e){return function(){this.innerHTML=e}}function f2(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function d2(e){return arguments.length?this.each(e==null?l2:(typeof e=="function"?f2:c2)(e)):this.node().innerHTML}function h2(){this.nextSibling&&this.parentNode.appendChild(this)}function p2(){return this.each(h2)}function m2(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function g2(){return this.each(m2)}function v2(e){var n=typeof e=="function"?e:pb(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function y2(){return null}function w2(e,n){var i=typeof e=="function"?e:pb(e),s=n==null?y2:typeof n=="function"?n:gg(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),s.apply(this,arguments)||null)})}function _2(){var e=this.parentNode;e&&e.removeChild(this)}function x2(){return this.each(_2)}function S2(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function k2(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function b2(e){return this.select(e?k2:S2)}function E2(e){return arguments.length?this.property("__data__",e):this.node().__data__}function N2(e){return function(n){e.call(this,n,this.__data__)}}function C2(e){return e.trim().split(/^|\s+/).map(function(n){var i="",s=n.indexOf(".");return s>=0&&(i=n.slice(s+1),n=n.slice(0,s)),{type:n,name:i}})}function T2(e){return function(){var n=this.__on;if(n){for(var i=0,s=-1,o=n.length,u;i<o;++i)u=n[i],(!e.type||u.type===e.type)&&u.name===e.name?this.removeEventListener(u.type,u.listener,u.options):n[++s]=u;++s?n.length=s:delete this.__on}}}function R2(e,n,i){return function(){var s=this.__on,o,u=N2(n);if(s){for(var l=0,c=s.length;l<c;++l)if((o=s[l]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=u,o.options=i),o.value=n;return}}this.addEventListener(e.type,u,i),o={type:e.type,name:e.name,value:n,listener:u,options:i},s?s.push(o):this.__on=[o]}}function j2(e,n,i){var s=C2(e+""),o,u=s.length,l;if(arguments.length<2){var c=this.node().__on;if(c){for(var d=0,p=c.length,h;d<p;++d)for(o=0,h=c[d];o<u;++o)if((l=s[o]).type===h.type&&l.name===h.name)return h.value}return}for(c=n?R2:T2,o=0;o<u;++o)this.each(c(s[o],n,i));return this}function bb(e,n,i){var s=wb(e),o=s.CustomEvent;typeof o=="function"?o=new o(n,i):(o=s.document.createEvent("Event"),i?(o.initEvent(n,i.bubbles,i.cancelable),o.detail=i.detail):o.initEvent(n,!1,!1)),e.dispatchEvent(o)}function A2(e,n){return function(){return bb(this,e,n)}}function I2(e,n){return function(){return bb(this,e,n.apply(this,arguments))}}function M2(e,n){return this.each((typeof n=="function"?I2:A2)(e,n))}function*P2(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var s=e[n],o=0,u=s.length,l;o<u;++o)(l=s[o])&&(yield l)}var Eb=[null];function rn(e,n){this._groups=e,this._parents=n}function oo(){return new rn([[document.documentElement]],Eb)}function q2(){return this}rn.prototype=oo.prototype={constructor:rn,select:aR,selectAll:fR,selectChild:mR,selectChildren:wR,filter:_R,data:NR,enter:xR,exit:TR,join:RR,merge:jR,selection:q2,order:AR,sort:IR,call:PR,nodes:qR,node:OR,size:LR,empty:$R,each:DR,attr:WR,style:XR,property:e2,classed:i2,text:u2,html:d2,raise:p2,lower:g2,append:v2,insert:w2,remove:x2,clone:b2,datum:E2,on:j2,dispatch:M2,[Symbol.iterator]:P2};function mn(e){return typeof e=="string"?new rn([[document.querySelector(e)]],[document.documentElement]):new rn([[e]],Eb)}function O2(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Rn(e,n){if(e=O2(e),n===void 0&&(n=e.currentTarget),n){var i=n.ownerSVGElement||n;if(i.createSVGPoint){var s=i.createSVGPoint();return s.x=e.clientX,s.y=e.clientY,s=s.matrixTransform(n.getScreenCTM().inverse()),[s.x,s.y]}if(n.getBoundingClientRect){var o=n.getBoundingClientRect();return[e.clientX-o.left-n.clientLeft,e.clientY-o.top-n.clientTop]}}return[e.pageX,e.pageY]}const L2={passive:!1},Qs={capture:!0,passive:!1};function yc(e){e.stopImmediatePropagation()}function Hi(e){e.preventDefault(),e.stopImmediatePropagation()}function Nb(e){var n=e.document.documentElement,i=mn(e).on("dragstart.drag",Hi,Qs);"onselectstart"in n?i.on("selectstart.drag",Hi,Qs):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Cb(e,n){var i=e.document.documentElement,s=mn(e).on("dragstart.drag",null);n&&(s.on("click.drag",Hi,Qs),setTimeout(function(){s.on("click.drag",null)},0)),"onselectstart"in i?s.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const Ta=e=>()=>e;function Km(e,{sourceEvent:n,subject:i,target:s,identifier:o,active:u,x:l,y:c,dx:d,dy:p,dispatch:h}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:s,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:u,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:p,enumerable:!0,configurable:!0},_:{value:h}})}Km.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function $2(e){return!e.ctrlKey&&!e.button}function D2(){return this.parentNode}function F2(e,n){return n??{x:e.x,y:e.y}}function z2(){return navigator.maxTouchPoints||"ontouchstart"in this}function B2(){var e=$2,n=D2,i=F2,s=z2,o={},u=iu("start","drag","end"),l=0,c,d,p,h,m=0;function v(T){T.on("mousedown.drag",_).filter(s).on("touchstart.drag",S).on("touchmove.drag",k,L2).on("touchend.drag touchcancel.drag",E).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function _(T,A){if(!(h||!e.call(this,T,A))){var I=b(this,n.call(this,T,A),T,A,"mouse");I&&(mn(T.view).on("mousemove.drag",N,Qs).on("mouseup.drag",x,Qs),Nb(T.view),yc(T),p=!1,c=T.clientX,d=T.clientY,I("start",T))}}function N(T){if(Hi(T),!p){var A=T.clientX-c,I=T.clientY-d;p=A*A+I*I>m}o.mouse("drag",T)}function x(T){mn(T.view).on("mousemove.drag mouseup.drag",null),Cb(T.view,p),Hi(T),o.mouse("end",T)}function S(T,A){if(e.call(this,T,A)){var I=T.changedTouches,j=n.call(this,T,A),D=I.length,O,U;for(O=0;O<D;++O)(U=b(this,j,T,A,I[O].identifier,I[O]))&&(yc(T),U("start",T,I[O]))}}function k(T){var A=T.changedTouches,I=A.length,j,D;for(j=0;j<I;++j)(D=o[A[j].identifier])&&(Hi(T),D("drag",T,A[j]))}function E(T){var A=T.changedTouches,I=A.length,j,D;for(h&&clearTimeout(h),h=setTimeout(function(){h=null},500),j=0;j<I;++j)(D=o[A[j].identifier])&&(yc(T),D("end",T,A[j]))}function b(T,A,I,j,D,O){var U=u.copy(),H=Rn(O||I,A),Q,ee,R;if((R=i.call(T,new Km("beforestart",{sourceEvent:I,target:v,identifier:D,active:l,x:H[0],y:H[1],dx:0,dy:0,dispatch:U}),j))!=null)return Q=R.x-H[0]||0,ee=R.y-H[1]||0,function G(B,X,Y){var q=H,V;switch(B){case"start":o[D]=G,V=l++;break;case"end":delete o[D],--l;case"drag":H=Rn(Y||X,A),V=l;break}U.call(B,T,new Km(B,{sourceEvent:X,subject:R,target:v,identifier:D,active:V,x:H[0]+Q,y:H[1]+ee,dx:H[0]-q[0],dy:H[1]-q[1],dispatch:U}),j)}}return v.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Ta(!!T),v):e},v.container=function(T){return arguments.length?(n=typeof T=="function"?T:Ta(T),v):n},v.subject=function(T){return arguments.length?(i=typeof T=="function"?T:Ta(T),v):i},v.touchable=function(T){return arguments.length?(s=typeof T=="function"?T:Ta(!!T),v):s},v.on=function(){var T=u.on.apply(u,arguments);return T===u?v:T},v.clickDistance=function(T){return arguments.length?(m=(T=+T)*T,v):Math.sqrt(m)},v}function yg(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function Tb(e,n){var i=Object.create(e.prototype);for(var s in n)i[s]=n[s];return i}function ao(){}var Zs=.7,Ga=1/Zs,Vi="\\s*([+-]?\\d+)\\s*",Js="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",zn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",U2=/^#([0-9a-f]{3,8})$/,H2=new RegExp(`^rgb\\(${Vi},${Vi},${Vi}\\)$`),V2=new RegExp(`^rgb\\(${zn},${zn},${zn}\\)$`),W2=new RegExp(`^rgba\\(${Vi},${Vi},${Vi},${Js}\\)$`),G2=new RegExp(`^rgba\\(${zn},${zn},${zn},${Js}\\)$`),K2=new RegExp(`^hsl\\(${Js},${zn},${zn}\\)$`),Y2=new RegExp(`^hsla\\(${Js},${zn},${zn},${Js}\\)$`),B0={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};yg(ao,eo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:U0,formatHex:U0,formatHex8:X2,formatHsl:Q2,formatRgb:H0,toString:H0});function U0(){return this.rgb().formatHex()}function X2(){return this.rgb().formatHex8()}function Q2(){return Rb(this).formatHsl()}function H0(){return this.rgb().formatRgb()}function eo(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=U2.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?V0(n):i===3?new Yt(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Ra(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Ra(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=H2.exec(e))?new Yt(n[1],n[2],n[3],1):(n=V2.exec(e))?new Yt(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=W2.exec(e))?Ra(n[1],n[2],n[3],n[4]):(n=G2.exec(e))?Ra(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=K2.exec(e))?K0(n[1],n[2]/100,n[3]/100,1):(n=Y2.exec(e))?K0(n[1],n[2]/100,n[3]/100,n[4]):B0.hasOwnProperty(e)?V0(B0[e]):e==="transparent"?new Yt(NaN,NaN,NaN,0):null}function V0(e){return new Yt(e>>16&255,e>>8&255,e&255,1)}function Ra(e,n,i,s){return s<=0&&(e=n=i=NaN),new Yt(e,n,i,s)}function Z2(e){return e instanceof ao||(e=eo(e)),e?(e=e.rgb(),new Yt(e.r,e.g,e.b,e.opacity)):new Yt}function Ym(e,n,i,s){return arguments.length===1?Z2(e):new Yt(e,n,i,s??1)}function Yt(e,n,i,s){this.r=+e,this.g=+n,this.b=+i,this.opacity=+s}yg(Yt,Ym,Tb(ao,{brighter(e){return e=e==null?Ga:Math.pow(Ga,e),new Yt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Zs:Math.pow(Zs,e),new Yt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Yt(ei(this.r),ei(this.g),ei(this.b),Ka(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:W0,formatHex:W0,formatHex8:J2,formatRgb:G0,toString:G0}));function W0(){return`#${Zr(this.r)}${Zr(this.g)}${Zr(this.b)}`}function J2(){return`#${Zr(this.r)}${Zr(this.g)}${Zr(this.b)}${Zr((isNaN(this.opacity)?1:this.opacity)*255)}`}function G0(){const e=Ka(this.opacity);return`${e===1?"rgb(":"rgba("}${ei(this.r)}, ${ei(this.g)}, ${ei(this.b)}${e===1?")":`, ${e})`}`}function Ka(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ei(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Zr(e){return e=ei(e),(e<16?"0":"")+e.toString(16)}function K0(e,n,i,s){return s<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new jn(e,n,i,s)}function Rb(e){if(e instanceof jn)return new jn(e.h,e.s,e.l,e.opacity);if(e instanceof ao||(e=eo(e)),!e)return new jn;if(e instanceof jn)return e;e=e.rgb();var n=e.r/255,i=e.g/255,s=e.b/255,o=Math.min(n,i,s),u=Math.max(n,i,s),l=NaN,c=u-o,d=(u+o)/2;return c?(n===u?l=(i-s)/c+(i<s)*6:i===u?l=(s-n)/c+2:l=(n-i)/c+4,c/=d<.5?u+o:2-u-o,l*=60):c=d>0&&d<1?0:l,new jn(l,c,d,e.opacity)}function ej(e,n,i,s){return arguments.length===1?Rb(e):new jn(e,n,i,s??1)}function jn(e,n,i,s){this.h=+e,this.s=+n,this.l=+i,this.opacity=+s}yg(jn,ej,Tb(ao,{brighter(e){return e=e==null?Ga:Math.pow(Ga,e),new jn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Zs:Math.pow(Zs,e),new jn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,s=i+(i<.5?i:1-i)*n,o=2*i-s;return new Yt(wc(e>=240?e-240:e+120,o,s),wc(e,o,s),wc(e<120?e+240:e-120,o,s),this.opacity)},clamp(){return new jn(Y0(this.h),ja(this.s),ja(this.l),Ka(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ka(this.opacity);return`${e===1?"hsl(":"hsla("}${Y0(this.h)}, ${ja(this.s)*100}%, ${ja(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Y0(e){return e=(e||0)%360,e<0?e+360:e}function ja(e){return Math.max(0,Math.min(1,e||0))}function wc(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const jb=e=>()=>e;function tj(e,n){return function(i){return e+i*n}}function nj(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(s){return Math.pow(e+s*n,i)}}function rj(e){return(e=+e)==1?Ab:function(n,i){return i-n?nj(n,i,e):jb(isNaN(n)?i:n)}}function Ab(e,n){var i=n-e;return i?tj(e,i):jb(isNaN(e)?n:e)}const X0=(function e(n){var i=rj(n);function s(o,u){var l=i((o=Ym(o)).r,(u=Ym(u)).r),c=i(o.g,u.g),d=i(o.b,u.b),p=Ab(o.opacity,u.opacity);return function(h){return o.r=l(h),o.g=c(h),o.b=d(h),o.opacity=p(h),o+""}}return s.gamma=e,s})(1);function jr(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}var Xm=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_c=new RegExp(Xm.source,"g");function ij(e){return function(){return e}}function sj(e){return function(n){return e(n)+""}}function oj(e,n){var i=Xm.lastIndex=_c.lastIndex=0,s,o,u,l=-1,c=[],d=[];for(e=e+"",n=n+"";(s=Xm.exec(e))&&(o=_c.exec(n));)(u=o.index)>i&&(u=n.slice(i,u),c[l]?c[l]+=u:c[++l]=u),(s=s[0])===(o=o[0])?c[l]?c[l]+=o:c[++l]=o:(c[++l]=null,d.push({i:l,x:jr(s,o)})),i=_c.lastIndex;return i<n.length&&(u=n.slice(i),c[l]?c[l]+=u:c[++l]=u),c.length<2?d[0]?sj(d[0].x):ij(n):(n=d.length,function(p){for(var h=0,m;h<n;++h)c[(m=d[h]).i]=m.x(p);return c.join("")})}var Q0=180/Math.PI,Qm={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ib(e,n,i,s,o,u){var l,c,d;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(d=e*i+n*s)&&(i-=e*d,s-=n*d),(c=Math.sqrt(i*i+s*s))&&(i/=c,s/=c,d/=c),e*s<n*i&&(e=-e,n=-n,d=-d,l=-l),{translateX:o,translateY:u,rotate:Math.atan2(n,e)*Q0,skewX:Math.atan(d)*Q0,scaleX:l,scaleY:c}}var Aa;function aj(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Qm:Ib(n.a,n.b,n.c,n.d,n.e,n.f)}function uj(e){return e==null||(Aa||(Aa=document.createElementNS("http://www.w3.org/2000/svg","g")),Aa.setAttribute("transform",e),!(e=Aa.transform.baseVal.consolidate()))?Qm:(e=e.matrix,Ib(e.a,e.b,e.c,e.d,e.e,e.f))}function Mb(e,n,i,s){function o(p){return p.length?p.pop()+" ":""}function u(p,h,m,v,_,N){if(p!==m||h!==v){var x=_.push("translate(",null,n,null,i);N.push({i:x-4,x:jr(p,m)},{i:x-2,x:jr(h,v)})}else(m||v)&&_.push("translate("+m+n+v+i)}function l(p,h,m,v){p!==h?(p-h>180?h+=360:h-p>180&&(p+=360),v.push({i:m.push(o(m)+"rotate(",null,s)-2,x:jr(p,h)})):h&&m.push(o(m)+"rotate("+h+s)}function c(p,h,m,v){p!==h?v.push({i:m.push(o(m)+"skewX(",null,s)-2,x:jr(p,h)}):h&&m.push(o(m)+"skewX("+h+s)}function d(p,h,m,v,_,N){if(p!==m||h!==v){var x=_.push(o(_)+"scale(",null,",",null,")");N.push({i:x-4,x:jr(p,m)},{i:x-2,x:jr(h,v)})}else(m!==1||v!==1)&&_.push(o(_)+"scale("+m+","+v+")")}return function(p,h){var m=[],v=[];return p=e(p),h=e(h),u(p.translateX,p.translateY,h.translateX,h.translateY,m,v),l(p.rotate,h.rotate,m,v),c(p.skewX,h.skewX,m,v),d(p.scaleX,p.scaleY,h.scaleX,h.scaleY,m,v),p=h=null,function(_){for(var N=-1,x=v.length,S;++N<x;)m[(S=v[N]).i]=S.x(_);return m.join("")}}}var lj=Mb(aj,"px, ","px)","deg)"),cj=Mb(uj,", ",")",")"),fj=1e-12;function Z0(e){return((e=Math.exp(e))+1/e)/2}function dj(e){return((e=Math.exp(e))-1/e)/2}function hj(e){return((e=Math.exp(2*e))-1)/(e+1)}const pj=(function e(n,i,s){function o(u,l){var c=u[0],d=u[1],p=u[2],h=l[0],m=l[1],v=l[2],_=h-c,N=m-d,x=_*_+N*N,S,k;if(x<fj)k=Math.log(v/p)/n,S=function(j){return[c+j*_,d+j*N,p*Math.exp(n*j*k)]};else{var E=Math.sqrt(x),b=(v*v-p*p+s*x)/(2*p*i*E),T=(v*v-p*p-s*x)/(2*v*i*E),A=Math.log(Math.sqrt(b*b+1)-b),I=Math.log(Math.sqrt(T*T+1)-T);k=(I-A)/n,S=function(j){var D=j*k,O=Z0(A),U=p/(i*E)*(O*hj(n*D+A)-dj(A));return[c+U*_,d+U*N,p*O/Z0(n*D+A)]}}return S.duration=k*1e3*n/Math.SQRT2,S}return o.rho=function(u){var l=Math.max(.001,+u),c=l*l,d=c*c;return e(l,c,d)},o})(Math.SQRT2,2,4);var Ki=0,Hs=0,Ds=0,Pb=1e3,Ya,Vs,Xa=0,ni=0,ou=0,to=typeof performance=="object"&&performance.now?performance:Date,qb=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function wg(){return ni||(qb(mj),ni=to.now()+ou)}function mj(){ni=0}function Qa(){this._call=this._time=this._next=null}Qa.prototype=Ob.prototype={constructor:Qa,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?wg():+i)+(n==null?0:+n),!this._next&&Vs!==this&&(Vs?Vs._next=this:Ya=this,Vs=this),this._call=e,this._time=i,Zm()},stop:function(){this._call&&(this._call=null,this._time=1/0,Zm())}};function Ob(e,n,i){var s=new Qa;return s.restart(e,n,i),s}function gj(){wg(),++Ki;for(var e=Ya,n;e;)(n=ni-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Ki}function J0(){ni=(Xa=to.now())+ou,Ki=Hs=0;try{gj()}finally{Ki=0,yj(),ni=0}}function vj(){var e=to.now(),n=e-Xa;n>Pb&&(ou-=n,Xa=e)}function yj(){for(var e,n=Ya,i,s=1/0;n;)n._call?(s>n._time&&(s=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Ya=i);Vs=e,Zm(s)}function Zm(e){if(!Ki){Hs&&(Hs=clearTimeout(Hs));var n=e-ni;n>24?(e<1/0&&(Hs=setTimeout(J0,e-to.now()-ou)),Ds&&(Ds=clearInterval(Ds))):(Ds||(Xa=to.now(),Ds=setInterval(vj,Pb)),Ki=1,qb(J0))}}function ew(e,n,i){var s=new Qa;return n=n==null?0:+n,s.restart(o=>{s.stop(),e(o+n)},n,i),s}var wj=iu("start","end","cancel","interrupt"),_j=[],Lb=0,tw=1,Jm=2,Ua=3,nw=4,eg=5,Ha=6;function au(e,n,i,s,o,u){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;xj(e,i,{name:n,index:s,group:o,on:wj,tween:_j,time:u.time,delay:u.delay,duration:u.duration,ease:u.ease,timer:null,state:Lb})}function _g(e,n){var i=Mn(e,n);if(i.state>Lb)throw new Error("too late; already scheduled");return i}function Bn(e,n){var i=Mn(e,n);if(i.state>Ua)throw new Error("too late; already running");return i}function Mn(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function xj(e,n,i){var s=e.__transition,o;s[n]=i,i.timer=Ob(u,0,i.time);function u(p){i.state=tw,i.timer.restart(l,i.delay,i.time),i.delay<=p&&l(p-i.delay)}function l(p){var h,m,v,_;if(i.state!==tw)return d();for(h in s)if(_=s[h],_.name===i.name){if(_.state===Ua)return ew(l);_.state===nw?(_.state=Ha,_.timer.stop(),_.on.call("interrupt",e,e.__data__,_.index,_.group),delete s[h]):+h<n&&(_.state=Ha,_.timer.stop(),_.on.call("cancel",e,e.__data__,_.index,_.group),delete s[h])}if(ew(function(){i.state===Ua&&(i.state=nw,i.timer.restart(c,i.delay,i.time),c(p))}),i.state=Jm,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Jm){for(i.state=Ua,o=new Array(v=i.tween.length),h=0,m=-1;h<v;++h)(_=i.tween[h].value.call(e,e.__data__,i.index,i.group))&&(o[++m]=_);o.length=m+1}}function c(p){for(var h=p<i.duration?i.ease.call(null,p/i.duration):(i.timer.restart(d),i.state=eg,1),m=-1,v=o.length;++m<v;)o[m].call(e,h);i.state===eg&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Ha,i.timer.stop(),delete s[n];for(var p in s)return;delete e.__transition}}function Va(e,n){var i=e.__transition,s,o,u=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((s=i[l]).name!==n){u=!1;continue}o=s.state>Jm&&s.state<eg,s.state=Ha,s.timer.stop(),s.on.call(o?"interrupt":"cancel",e,e.__data__,s.index,s.group),delete i[l]}u&&delete e.__transition}}function Sj(e){return this.each(function(){Va(this,e)})}function kj(e,n){var i,s;return function(){var o=Bn(this,e),u=o.tween;if(u!==i){s=i=u;for(var l=0,c=s.length;l<c;++l)if(s[l].name===n){s=s.slice(),s.splice(l,1);break}}o.tween=s}}function bj(e,n,i){var s,o;if(typeof i!="function")throw new Error;return function(){var u=Bn(this,e),l=u.tween;if(l!==s){o=(s=l).slice();for(var c={name:n,value:i},d=0,p=o.length;d<p;++d)if(o[d].name===n){o[d]=c;break}d===p&&o.push(c)}u.tween=o}}function Ej(e,n){var i=this._id;if(e+="",arguments.length<2){for(var s=Mn(this.node(),i).tween,o=0,u=s.length,l;o<u;++o)if((l=s[o]).name===e)return l.value;return null}return this.each((n==null?kj:bj)(i,e,n))}function xg(e,n,i){var s=e._id;return e.each(function(){var o=Bn(this,s);(o.value||(o.value={}))[n]=i.apply(this,arguments)}),function(o){return Mn(o,s).value[n]}}function $b(e,n){var i;return(typeof n=="number"?jr:n instanceof eo?X0:(i=eo(n))?(n=i,X0):oj)(e,n)}function Nj(e){return function(){this.removeAttribute(e)}}function Cj(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Tj(e,n,i){var s,o=i+"",u;return function(){var l=this.getAttribute(e);return l===o?null:l===s?u:u=n(s=l,i)}}function Rj(e,n,i){var s,o=i+"",u;return function(){var l=this.getAttributeNS(e.space,e.local);return l===o?null:l===s?u:u=n(s=l,i)}}function jj(e,n,i){var s,o,u;return function(){var l,c=i(this),d;return c==null?void this.removeAttribute(e):(l=this.getAttribute(e),d=c+"",l===d?null:l===s&&d===o?u:(o=d,u=n(s=l,c)))}}function Aj(e,n,i){var s,o,u;return function(){var l,c=i(this),d;return c==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),d=c+"",l===d?null:l===s&&d===o?u:(o=d,u=n(s=l,c)))}}function Ij(e,n){var i=su(e),s=i==="transform"?cj:$b;return this.attrTween(e,typeof n=="function"?(i.local?Aj:jj)(i,s,xg(this,"attr."+e,n)):n==null?(i.local?Cj:Nj)(i):(i.local?Rj:Tj)(i,s,n))}function Mj(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function Pj(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function qj(e,n){var i,s;function o(){var u=n.apply(this,arguments);return u!==s&&(i=(s=u)&&Pj(e,u)),i}return o._value=n,o}function Oj(e,n){var i,s;function o(){var u=n.apply(this,arguments);return u!==s&&(i=(s=u)&&Mj(e,u)),i}return o._value=n,o}function Lj(e,n){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(n==null)return this.tween(i,null);if(typeof n!="function")throw new Error;var s=su(e);return this.tween(i,(s.local?qj:Oj)(s,n))}function $j(e,n){return function(){_g(this,e).delay=+n.apply(this,arguments)}}function Dj(e,n){return n=+n,function(){_g(this,e).delay=n}}function Fj(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?$j:Dj)(n,e)):Mn(this.node(),n).delay}function zj(e,n){return function(){Bn(this,e).duration=+n.apply(this,arguments)}}function Bj(e,n){return n=+n,function(){Bn(this,e).duration=n}}function Uj(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?zj:Bj)(n,e)):Mn(this.node(),n).duration}function Hj(e,n){if(typeof n!="function")throw new Error;return function(){Bn(this,e).ease=n}}function Vj(e){var n=this._id;return arguments.length?this.each(Hj(n,e)):Mn(this.node(),n).ease}function Wj(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Bn(this,e).ease=i}}function Gj(e){if(typeof e!="function")throw new Error;return this.each(Wj(this._id,e))}function Kj(e){typeof e!="function"&&(e=gb(e));for(var n=this._groups,i=n.length,s=new Array(i),o=0;o<i;++o)for(var u=n[o],l=u.length,c=s[o]=[],d,p=0;p<l;++p)(d=u[p])&&e.call(d,d.__data__,p,u)&&c.push(d);return new rr(s,this._parents,this._name,this._id)}function Yj(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,s=n.length,o=i.length,u=Math.min(s,o),l=new Array(s),c=0;c<u;++c)for(var d=n[c],p=i[c],h=d.length,m=l[c]=new Array(h),v,_=0;_<h;++_)(v=d[_]||p[_])&&(m[_]=v);for(;c<s;++c)l[c]=n[c];return new rr(l,this._parents,this._name,this._id)}function Xj(e){return(e+"").trim().split(/^|\s+/).every(function(n){var i=n.indexOf(".");return i>=0&&(n=n.slice(0,i)),!n||n==="start"})}function Qj(e,n,i){var s,o,u=Xj(n)?_g:Bn;return function(){var l=u(this,e),c=l.on;c!==s&&(o=(s=c).copy()).on(n,i),l.on=o}}function Zj(e,n){var i=this._id;return arguments.length<2?Mn(this.node(),i).on.on(e):this.each(Qj(i,e,n))}function Jj(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function eA(){return this.on("end.remove",Jj(this._id))}function tA(e){var n=this._name,i=this._id;typeof e!="function"&&(e=gg(e));for(var s=this._groups,o=s.length,u=new Array(o),l=0;l<o;++l)for(var c=s[l],d=c.length,p=u[l]=new Array(d),h,m,v=0;v<d;++v)(h=c[v])&&(m=e.call(h,h.__data__,v,c))&&("__data__"in h&&(m.__data__=h.__data__),p[v]=m,au(p[v],n,i,v,p,Mn(h,i)));return new rr(u,this._parents,n,i)}function nA(e){var n=this._name,i=this._id;typeof e!="function"&&(e=mb(e));for(var s=this._groups,o=s.length,u=[],l=[],c=0;c<o;++c)for(var d=s[c],p=d.length,h,m=0;m<p;++m)if(h=d[m]){for(var v=e.call(h,h.__data__,m,d),_,N=Mn(h,i),x=0,S=v.length;x<S;++x)(_=v[x])&&au(_,n,i,x,v,N);u.push(v),l.push(h)}return new rr(u,l,n,i)}var rA=oo.prototype.constructor;function iA(){return new rA(this._groups,this._parents)}function sA(e,n){var i,s,o;return function(){var u=Gi(this,e),l=(this.style.removeProperty(e),Gi(this,e));return u===l?null:u===i&&l===s?o:o=n(i=u,s=l)}}function Db(e){return function(){this.style.removeProperty(e)}}function oA(e,n,i){var s,o=i+"",u;return function(){var l=Gi(this,e);return l===o?null:l===s?u:u=n(s=l,i)}}function aA(e,n,i){var s,o,u;return function(){var l=Gi(this,e),c=i(this),d=c+"";return c==null&&(d=c=(this.style.removeProperty(e),Gi(this,e))),l===d?null:l===s&&d===o?u:(o=d,u=n(s=l,c))}}function uA(e,n){var i,s,o,u="style."+n,l="end."+u,c;return function(){var d=Bn(this,e),p=d.on,h=d.value[u]==null?c||(c=Db(n)):void 0;(p!==i||o!==h)&&(s=(i=p).copy()).on(l,o=h),d.on=s}}function lA(e,n,i){var s=(e+="")=="transform"?lj:$b;return n==null?this.styleTween(e,sA(e,s)).on("end.style."+e,Db(e)):typeof n=="function"?this.styleTween(e,aA(e,s,xg(this,"style."+e,n))).each(uA(this._id,e)):this.styleTween(e,oA(e,s,n),i).on("end.style."+e,null)}function cA(e,n,i){return function(s){this.style.setProperty(e,n.call(this,s),i)}}function fA(e,n,i){var s,o;function u(){var l=n.apply(this,arguments);return l!==o&&(s=(o=l)&&cA(e,l,i)),s}return u._value=n,u}function dA(e,n,i){var s="style."+(e+="");if(arguments.length<2)return(s=this.tween(s))&&s._value;if(n==null)return this.tween(s,null);if(typeof n!="function")throw new Error;return this.tween(s,fA(e,n,i??""))}function hA(e){return function(){this.textContent=e}}function pA(e){return function(){var n=e(this);this.textContent=n??""}}function mA(e){return this.tween("text",typeof e=="function"?pA(xg(this,"text",e)):hA(e==null?"":e+""))}function gA(e){return function(n){this.textContent=e.call(this,n)}}function vA(e){var n,i;function s(){var o=e.apply(this,arguments);return o!==i&&(n=(i=o)&&gA(o)),n}return s._value=e,s}function yA(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,vA(e))}function wA(){for(var e=this._name,n=this._id,i=Fb(),s=this._groups,o=s.length,u=0;u<o;++u)for(var l=s[u],c=l.length,d,p=0;p<c;++p)if(d=l[p]){var h=Mn(d,n);au(d,e,i,p,l,{time:h.time+h.delay+h.duration,delay:0,duration:h.duration,ease:h.ease})}return new rr(s,this._parents,e,i)}function _A(){var e,n,i=this,s=i._id,o=i.size();return new Promise(function(u,l){var c={value:l},d={value:function(){--o===0&&u()}};i.each(function(){var p=Bn(this,s),h=p.on;h!==e&&(n=(e=h).copy(),n._.cancel.push(c),n._.interrupt.push(c),n._.end.push(d)),p.on=n}),o===0&&u()})}var xA=0;function rr(e,n,i,s){this._groups=e,this._parents=n,this._name=i,this._id=s}function Fb(){return++xA}var Jn=oo.prototype;rr.prototype={constructor:rr,select:tA,selectAll:nA,selectChild:Jn.selectChild,selectChildren:Jn.selectChildren,filter:Kj,merge:Yj,selection:iA,transition:wA,call:Jn.call,nodes:Jn.nodes,node:Jn.node,size:Jn.size,empty:Jn.empty,each:Jn.each,on:Zj,attr:Ij,attrTween:Lj,style:lA,styleTween:dA,text:mA,textTween:yA,remove:eA,tween:Ej,delay:Fj,duration:Uj,ease:Vj,easeVarying:Gj,end:_A,[Symbol.iterator]:Jn[Symbol.iterator]};function SA(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var kA={time:null,delay:0,duration:250,ease:SA};function bA(e,n){for(var i;!(i=e.__transition)||!(i=i[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return i}function EA(e){var n,i;e instanceof rr?(n=e._id,e=e._name):(n=Fb(),(i=kA).time=wg(),e=e==null?null:e+"");for(var s=this._groups,o=s.length,u=0;u<o;++u)for(var l=s[u],c=l.length,d,p=0;p<c;++p)(d=l[p])&&au(d,e,n,p,l,i||bA(d,n));return new rr(s,this._parents,e,n)}oo.prototype.interrupt=Sj;oo.prototype.transition=EA;const Ia=e=>()=>e;function NA(e,{sourceEvent:n,target:i,transform:s,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:s,enumerable:!0,configurable:!0},_:{value:o}})}function tr(e,n,i){this.k=e,this.x=n,this.y=i}tr.prototype={constructor:tr,scale:function(e){return e===1?this:new tr(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new tr(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var nr=new tr(1,0,0);tr.prototype;function xc(e){e.stopImmediatePropagation()}function Fs(e){e.preventDefault(),e.stopImmediatePropagation()}function CA(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function TA(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function rw(){return this.__zoom||nr}function RA(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function jA(){return navigator.maxTouchPoints||"ontouchstart"in this}function AA(e,n,i){var s=e.invertX(n[0][0])-i[0][0],o=e.invertX(n[1][0])-i[1][0],u=e.invertY(n[0][1])-i[0][1],l=e.invertY(n[1][1])-i[1][1];return e.translate(o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o),l>u?(u+l)/2:Math.min(0,u)||Math.max(0,l))}function zb(){var e=CA,n=TA,i=AA,s=RA,o=jA,u=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,d=pj,p=iu("start","zoom","end"),h,m,v,_=500,N=150,x=0,S=10;function k(R){R.property("__zoom",rw).on("wheel.zoom",D,{passive:!1}).on("mousedown.zoom",O).on("dblclick.zoom",U).filter(o).on("touchstart.zoom",H).on("touchmove.zoom",Q).on("touchend.zoom touchcancel.zoom",ee).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}k.transform=function(R,G,B,X){var Y=R.selection?R.selection():R;Y.property("__zoom",rw),R!==Y?A(R,G,B,X):Y.interrupt().each(function(){I(this,arguments).event(X).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},k.scaleBy=function(R,G,B,X){k.scaleTo(R,function(){var Y=this.__zoom.k,q=typeof G=="function"?G.apply(this,arguments):G;return Y*q},B,X)},k.scaleTo=function(R,G,B,X){k.transform(R,function(){var Y=n.apply(this,arguments),q=this.__zoom,V=B==null?T(Y):typeof B=="function"?B.apply(this,arguments):B,M=q.invert(V),z=typeof G=="function"?G.apply(this,arguments):G;return i(b(E(q,z),V,M),Y,l)},B,X)},k.translateBy=function(R,G,B,X){k.transform(R,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof B=="function"?B.apply(this,arguments):B),n.apply(this,arguments),l)},null,X)},k.translateTo=function(R,G,B,X,Y){k.transform(R,function(){var q=n.apply(this,arguments),V=this.__zoom,M=X==null?T(q):typeof X=="function"?X.apply(this,arguments):X;return i(nr.translate(M[0],M[1]).scale(V.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof B=="function"?-B.apply(this,arguments):-B),q,l)},X,Y)};function E(R,G){return G=Math.max(u[0],Math.min(u[1],G)),G===R.k?R:new tr(G,R.x,R.y)}function b(R,G,B){var X=G[0]-B[0]*R.k,Y=G[1]-B[1]*R.k;return X===R.x&&Y===R.y?R:new tr(R.k,X,Y)}function T(R){return[(+R[0][0]+ +R[1][0])/2,(+R[0][1]+ +R[1][1])/2]}function A(R,G,B,X){R.on("start.zoom",function(){I(this,arguments).event(X).start()}).on("interrupt.zoom end.zoom",function(){I(this,arguments).event(X).end()}).tween("zoom",function(){var Y=this,q=arguments,V=I(Y,q).event(X),M=n.apply(Y,q),z=B==null?T(M):typeof B=="function"?B.apply(Y,q):B,ae=Math.max(M[1][0]-M[0][0],M[1][1]-M[0][1]),$=Y.__zoom,K=typeof G=="function"?G.apply(Y,q):G,Z=d($.invert(z).concat(ae/$.k),K.invert(z).concat(ae/K.k));return function(oe){if(oe===1)oe=K;else{var ce=Z(oe),he=ae/ce[2];oe=new tr(he,z[0]-ce[0]*he,z[1]-ce[1]*he)}V.zoom(null,oe)}})}function I(R,G,B){return!B&&R.__zooming||new j(R,G)}function j(R,G){this.that=R,this.args=G,this.active=0,this.sourceEvent=null,this.extent=n.apply(R,G),this.taps=0}j.prototype={event:function(R){return R&&(this.sourceEvent=R),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(R,G){return this.mouse&&R!=="mouse"&&(this.mouse[1]=G.invert(this.mouse[0])),this.touch0&&R!=="touch"&&(this.touch0[1]=G.invert(this.touch0[0])),this.touch1&&R!=="touch"&&(this.touch1[1]=G.invert(this.touch1[0])),this.that.__zoom=G,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(R){var G=mn(this.that).datum();p.call(R,this.that,new NA(R,{sourceEvent:this.sourceEvent,target:k,transform:this.that.__zoom,dispatch:p}),G)}};function D(R,...G){if(!e.apply(this,arguments))return;var B=I(this,G).event(R),X=this.__zoom,Y=Math.max(u[0],Math.min(u[1],X.k*Math.pow(2,s.apply(this,arguments)))),q=Rn(R);if(B.wheel)(B.mouse[0][0]!==q[0]||B.mouse[0][1]!==q[1])&&(B.mouse[1]=X.invert(B.mouse[0]=q)),clearTimeout(B.wheel);else{if(X.k===Y)return;B.mouse=[q,X.invert(q)],Va(this),B.start()}Fs(R),B.wheel=setTimeout(V,N),B.zoom("mouse",i(b(E(X,Y),B.mouse[0],B.mouse[1]),B.extent,l));function V(){B.wheel=null,B.end()}}function O(R,...G){if(v||!e.apply(this,arguments))return;var B=R.currentTarget,X=I(this,G,!0).event(R),Y=mn(R.view).on("mousemove.zoom",z,!0).on("mouseup.zoom",ae,!0),q=Rn(R,B),V=R.clientX,M=R.clientY;Nb(R.view),xc(R),X.mouse=[q,this.__zoom.invert(q)],Va(this),X.start();function z($){if(Fs($),!X.moved){var K=$.clientX-V,Z=$.clientY-M;X.moved=K*K+Z*Z>x}X.event($).zoom("mouse",i(b(X.that.__zoom,X.mouse[0]=Rn($,B),X.mouse[1]),X.extent,l))}function ae($){Y.on("mousemove.zoom mouseup.zoom",null),Cb($.view,X.moved),Fs($),X.event($).end()}}function U(R,...G){if(e.apply(this,arguments)){var B=this.__zoom,X=Rn(R.changedTouches?R.changedTouches[0]:R,this),Y=B.invert(X),q=B.k*(R.shiftKey?.5:2),V=i(b(E(B,q),X,Y),n.apply(this,G),l);Fs(R),c>0?mn(this).transition().duration(c).call(A,V,X,R):mn(this).call(k.transform,V,X,R)}}function H(R,...G){if(e.apply(this,arguments)){var B=R.touches,X=B.length,Y=I(this,G,R.changedTouches.length===X).event(R),q,V,M,z;for(xc(R),V=0;V<X;++V)M=B[V],z=Rn(M,this),z=[z,this.__zoom.invert(z),M.identifier],Y.touch0?!Y.touch1&&Y.touch0[2]!==z[2]&&(Y.touch1=z,Y.taps=0):(Y.touch0=z,q=!0,Y.taps=1+!!h);h&&(h=clearTimeout(h)),q&&(Y.taps<2&&(m=z[0],h=setTimeout(function(){h=null},_)),Va(this),Y.start())}}function Q(R,...G){if(this.__zooming){var B=I(this,G).event(R),X=R.changedTouches,Y=X.length,q,V,M,z;for(Fs(R),q=0;q<Y;++q)V=X[q],M=Rn(V,this),B.touch0&&B.touch0[2]===V.identifier?B.touch0[0]=M:B.touch1&&B.touch1[2]===V.identifier&&(B.touch1[0]=M);if(V=B.that.__zoom,B.touch1){var ae=B.touch0[0],$=B.touch0[1],K=B.touch1[0],Z=B.touch1[1],oe=(oe=K[0]-ae[0])*oe+(oe=K[1]-ae[1])*oe,ce=(ce=Z[0]-$[0])*ce+(ce=Z[1]-$[1])*ce;V=E(V,Math.sqrt(oe/ce)),M=[(ae[0]+K[0])/2,(ae[1]+K[1])/2],z=[($[0]+Z[0])/2,($[1]+Z[1])/2]}else if(B.touch0)M=B.touch0[0],z=B.touch0[1];else return;B.zoom("touch",i(b(V,M,z),B.extent,l))}}function ee(R,...G){if(this.__zooming){var B=I(this,G).event(R),X=R.changedTouches,Y=X.length,q,V;for(xc(R),v&&clearTimeout(v),v=setTimeout(function(){v=null},_),q=0;q<Y;++q)V=X[q],B.touch0&&B.touch0[2]===V.identifier?delete B.touch0:B.touch1&&B.touch1[2]===V.identifier&&delete B.touch1;if(B.touch1&&!B.touch0&&(B.touch0=B.touch1,delete B.touch1),B.touch0)B.touch0[1]=this.__zoom.invert(B.touch0[0]);else if(B.end(),B.taps===2&&(V=Rn(V,this),Math.hypot(m[0]-V[0],m[1]-V[1])<S)){var M=mn(this).on("dblclick.zoom");M&&M.apply(this,arguments)}}}return k.wheelDelta=function(R){return arguments.length?(s=typeof R=="function"?R:Ia(+R),k):s},k.filter=function(R){return arguments.length?(e=typeof R=="function"?R:Ia(!!R),k):e},k.touchable=function(R){return arguments.length?(o=typeof R=="function"?R:Ia(!!R),k):o},k.extent=function(R){return arguments.length?(n=typeof R=="function"?R:Ia([[+R[0][0],+R[0][1]],[+R[1][0],+R[1][1]]]),k):n},k.scaleExtent=function(R){return arguments.length?(u[0]=+R[0],u[1]=+R[1],k):[u[0],u[1]]},k.translateExtent=function(R){return arguments.length?(l[0][0]=+R[0][0],l[1][0]=+R[1][0],l[0][1]=+R[0][1],l[1][1]=+R[1][1],k):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},k.constrain=function(R){return arguments.length?(i=R,k):i},k.duration=function(R){return arguments.length?(c=+R,k):c},k.interpolate=function(R){return arguments.length?(d=R,k):d},k.on=function(){var R=p.on.apply(p,arguments);return R===p?k:R},k.clickDistance=function(R){return arguments.length?(x=(R=+R)*R,k):Math.sqrt(x)},k.tapDistance=function(R){return arguments.length?(S=+R,k):S},k}db();const uu=L.createContext(null),IA=uu.Provider,ir={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,n)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?n.targetHandle:n.sourceHandle}", edge id: ${n.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},Bb=ir.error001();function We(e,n){const i=L.useContext(uu);if(i===null)throw new Error(Bb);return hb(i,e,n)}const bt=()=>{const e=L.useContext(uu);if(e===null)throw new Error(Bb);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},MA=e=>e.userSelectionActive?"none":"all";function Sg({position:e,children:n,className:i,style:s,...o}){const u=We(MA),l=`${e}`.split("-");return ie.createElement("div",{className:At(["react-flow__panel",i,...l]),style:{...s,pointerEvents:u},...o},n)}function PA({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:ie.createElement(Sg,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},ie.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const qA=({x:e,y:n,label:i,labelStyle:s={},labelShowBg:o=!0,labelBgStyle:u={},labelBgPadding:l=[2,4],labelBgBorderRadius:c=2,children:d,className:p,...h})=>{const m=L.useRef(null),[v,_]=L.useState({x:0,y:0,width:0,height:0}),N=At(["react-flow__edge-textwrapper",p]);return L.useEffect(()=>{if(m.current){const x=m.current.getBBox();_({x:x.x,y:x.y,width:x.width,height:x.height})}},[i]),typeof i>"u"||!i?null:ie.createElement("g",{transform:`translate(${e-v.width/2} ${n-v.height/2})`,className:N,visibility:v.width?"visible":"hidden",...h},o&&ie.createElement("rect",{width:v.width+2*l[0],x:-l[0],y:-l[1],height:v.height+2*l[1],className:"react-flow__edge-textbg",style:u,rx:c,ry:c}),ie.createElement("text",{className:"react-flow__edge-text",y:v.height/2,dy:"0.3em",ref:m,style:s},i),d)};var OA=L.memo(qA);const kg=e=>({width:e.offsetWidth,height:e.offsetHeight}),Yi=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),bg=(e={x:0,y:0},n)=>({x:Yi(e.x,n[0][0],n[1][0]),y:Yi(e.y,n[0][1],n[1][1])}),iw=(e,n,i)=>e<n?Yi(Math.abs(e-n),1,50)/50:e>i?-Yi(Math.abs(e-i),1,50)/50:0,Ub=(e,n)=>{const i=iw(e.x,35,n.width-35)*20,s=iw(e.y,35,n.height-35)*20;return[i,s]},Hb=e=>{var n;return((n=e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},Vb=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),no=({x:e,y:n,width:i,height:s})=>({x:e,y:n,x2:e+i,y2:n+s}),Wb=({x:e,y:n,x2:i,y2:s})=>({x:e,y:n,width:i-e,height:s-n}),sw=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),LA=(e,n)=>Wb(Vb(no(e),no(n))),tg=(e,n)=>{const i=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),s=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(i*s)},$A=e=>gn(e.width)&&gn(e.height)&&gn(e.x)&&gn(e.y),gn=e=>!isNaN(e)&&isFinite(e),lt=Symbol.for("internals"),Gb=["Enter"," ","Escape"],DA=(e,n)=>{},FA=e=>"nativeEvent"in e;function ng(e){var o,u;const n=FA(e)?e.nativeEvent:e,i=((u=(o=n.composedPath)==null?void 0:o.call(n))==null?void 0:u[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(i==null?void 0:i.nodeName)||(i==null?void 0:i.hasAttribute("contenteditable"))||!!(i!=null&&i.closest(".nokey"))}const Kb=e=>"clientX"in e,Mr=(e,n)=>{var u,l;const i=Kb(e),s=i?e.clientX:(u=e.touches)==null?void 0:u[0].clientX,o=i?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:s-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Za=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},uo=({id:e,path:n,labelX:i,labelY:s,label:o,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:v,interactionWidth:_=20})=>ie.createElement(ie.Fragment,null,ie.createElement("path",{id:e,style:h,d:n,fill:"none",className:"react-flow__edge-path",markerEnd:m,markerStart:v}),_&&ie.createElement("path",{d:n,fill:"none",strokeOpacity:0,strokeWidth:_,className:"react-flow__edge-interaction"}),o&&gn(i)&&gn(s)?ie.createElement(OA,{x:i,y:s,label:o,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:p}):null);uo.displayName="BaseEdge";function zs(e,n,i){return i===void 0?i:s=>{const o=n().edges.find(u=>u.id===e);o&&i(s,{...o})}}function Yb({sourceX:e,sourceY:n,targetX:i,targetY:s}){const o=Math.abs(i-e)/2,u=i<e?i+o:i-o,l=Math.abs(s-n)/2,c=s<n?s+l:s-l;return[u,c,o,l]}function Xb({sourceX:e,sourceY:n,targetX:i,targetY:s,sourceControlX:o,sourceControlY:u,targetControlX:l,targetControlY:c}){const d=e*.125+o*.375+l*.375+i*.125,p=n*.125+u*.375+c*.375+s*.125,h=Math.abs(d-e),m=Math.abs(p-n);return[d,p,h,m]}var ri;(function(e){e.Strict="strict",e.Loose="loose"})(ri||(ri={}));var Jr;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Jr||(Jr={}));var ro;(function(e){e.Partial="partial",e.Full="full"})(ro||(ro={}));var Ir;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Ir||(Ir={}));var Ja;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ja||(Ja={}));var Ce;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Ce||(Ce={}));function ow({pos:e,x1:n,y1:i,x2:s,y2:o}){return e===Ce.Left||e===Ce.Right?[.5*(n+s),i]:[n,.5*(i+o)]}function Qb({sourceX:e,sourceY:n,sourcePosition:i=Ce.Bottom,targetX:s,targetY:o,targetPosition:u=Ce.Top}){const[l,c]=ow({pos:i,x1:e,y1:n,x2:s,y2:o}),[d,p]=ow({pos:u,x1:s,y1:o,x2:e,y2:n}),[h,m,v,_]=Xb({sourceX:e,sourceY:n,targetX:s,targetY:o,sourceControlX:l,sourceControlY:c,targetControlX:d,targetControlY:p});return[`M${e},${n} C${l},${c} ${d},${p} ${s},${o}`,h,m,v,_]}const Eg=L.memo(({sourceX:e,sourceY:n,targetX:i,targetY:s,sourcePosition:o=Ce.Bottom,targetPosition:u=Ce.Top,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:_,markerStart:N,interactionWidth:x})=>{const[S,k,E]=Qb({sourceX:e,sourceY:n,sourcePosition:o,targetX:i,targetY:s,targetPosition:u});return ie.createElement(uo,{path:S,labelX:k,labelY:E,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:_,markerStart:N,interactionWidth:x})});Eg.displayName="SimpleBezierEdge";const aw={[Ce.Left]:{x:-1,y:0},[Ce.Right]:{x:1,y:0},[Ce.Top]:{x:0,y:-1},[Ce.Bottom]:{x:0,y:1}},zA=({source:e,sourcePosition:n=Ce.Bottom,target:i})=>n===Ce.Left||n===Ce.Right?e.x<i.x?{x:1,y:0}:{x:-1,y:0}:e.y<i.y?{x:0,y:1}:{x:0,y:-1},uw=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function BA({source:e,sourcePosition:n=Ce.Bottom,target:i,targetPosition:s=Ce.Top,center:o,offset:u}){const l=aw[n],c=aw[s],d={x:e.x+l.x*u,y:e.y+l.y*u},p={x:i.x+c.x*u,y:i.y+c.y*u},h=zA({source:d,sourcePosition:n,target:p}),m=h.x!==0?"x":"y",v=h[m];let _=[],N,x;const S={x:0,y:0},k={x:0,y:0},[E,b,T,A]=Yb({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(l[m]*c[m]===-1){N=o.x??E,x=o.y??b;const j=[{x:N,y:d.y},{x:N,y:p.y}],D=[{x:d.x,y:x},{x:p.x,y:x}];l[m]===v?_=m==="x"?j:D:_=m==="x"?D:j}else{const j=[{x:d.x,y:p.y}],D=[{x:p.x,y:d.y}];if(m==="x"?_=l.x===v?D:j:_=l.y===v?j:D,n===s){const ee=Math.abs(e[m]-i[m]);if(ee<=u){const R=Math.min(u-1,u-ee);l[m]===v?S[m]=(d[m]>e[m]?-1:1)*R:k[m]=(p[m]>i[m]?-1:1)*R}}if(n!==s){const ee=m==="x"?"y":"x",R=l[m]===c[ee],G=d[ee]>p[ee],B=d[ee]<p[ee];(l[m]===1&&(!R&&G||R&&B)||l[m]!==1&&(!R&&B||R&&G))&&(_=m==="x"?j:D)}const O={x:d.x+S.x,y:d.y+S.y},U={x:p.x+k.x,y:p.y+k.y},H=Math.max(Math.abs(O.x-_[0].x),Math.abs(U.x-_[0].x)),Q=Math.max(Math.abs(O.y-_[0].y),Math.abs(U.y-_[0].y));H>=Q?(N=(O.x+U.x)/2,x=_[0].y):(N=_[0].x,x=(O.y+U.y)/2)}return[[e,{x:d.x+S.x,y:d.y+S.y},..._,{x:p.x+k.x,y:p.y+k.y},i],N,x,T,A]}function UA(e,n,i,s){const o=Math.min(uw(e,n)/2,uw(n,i)/2,s),{x:u,y:l}=n;if(e.x===u&&u===i.x||e.y===l&&l===i.y)return`L${u} ${l}`;if(e.y===l){const p=e.x<i.x?-1:1,h=e.y<i.y?1:-1;return`L ${u+o*p},${l}Q ${u},${l} ${u},${l+o*h}`}const c=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${u},${l+o*d}Q ${u},${l} ${u+o*c},${l}`}function rg({sourceX:e,sourceY:n,sourcePosition:i=Ce.Bottom,targetX:s,targetY:o,targetPosition:u=Ce.Top,borderRadius:l=5,centerX:c,centerY:d,offset:p=20}){const[h,m,v,_,N]=BA({source:{x:e,y:n},sourcePosition:i,target:{x:s,y:o},targetPosition:u,center:{x:c,y:d},offset:p});return[h.reduce((S,k,E)=>{let b="";return E>0&&E<h.length-1?b=UA(h[E-1],k,h[E+1],l):b=`${E===0?"M":"L"}${k.x} ${k.y}`,S+=b,S},""),m,v,_,N]}const lu=L.memo(({sourceX:e,sourceY:n,targetX:i,targetY:s,label:o,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:p,style:h,sourcePosition:m=Ce.Bottom,targetPosition:v=Ce.Top,markerEnd:_,markerStart:N,pathOptions:x,interactionWidth:S})=>{const[k,E,b]=rg({sourceX:e,sourceY:n,sourcePosition:m,targetX:i,targetY:s,targetPosition:v,borderRadius:x==null?void 0:x.borderRadius,offset:x==null?void 0:x.offset});return ie.createElement(uo,{path:k,labelX:E,labelY:b,label:o,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:p,style:h,markerEnd:_,markerStart:N,interactionWidth:S})});lu.displayName="SmoothStepEdge";const Ng=L.memo(e=>{var n;return ie.createElement(lu,{...e,pathOptions:L.useMemo(()=>{var i;return{borderRadius:0,offset:(i=e.pathOptions)==null?void 0:i.offset}},[(n=e.pathOptions)==null?void 0:n.offset])})});Ng.displayName="StepEdge";function HA({sourceX:e,sourceY:n,targetX:i,targetY:s}){const[o,u,l,c]=Yb({sourceX:e,sourceY:n,targetX:i,targetY:s});return[`M ${e},${n}L ${i},${s}`,o,u,l,c]}const Cg=L.memo(({sourceX:e,sourceY:n,targetX:i,targetY:s,label:o,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:v,interactionWidth:_})=>{const[N,x,S]=HA({sourceX:e,sourceY:n,targetX:i,targetY:s});return ie.createElement(uo,{path:N,labelX:x,labelY:S,label:o,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:p,style:h,markerEnd:m,markerStart:v,interactionWidth:_})});Cg.displayName="StraightEdge";function Ma(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function lw({pos:e,x1:n,y1:i,x2:s,y2:o,c:u}){switch(e){case Ce.Left:return[n-Ma(n-s,u),i];case Ce.Right:return[n+Ma(s-n,u),i];case Ce.Top:return[n,i-Ma(i-o,u)];case Ce.Bottom:return[n,i+Ma(o-i,u)]}}function Zb({sourceX:e,sourceY:n,sourcePosition:i=Ce.Bottom,targetX:s,targetY:o,targetPosition:u=Ce.Top,curvature:l=.25}){const[c,d]=lw({pos:i,x1:e,y1:n,x2:s,y2:o,c:l}),[p,h]=lw({pos:u,x1:s,y1:o,x2:e,y2:n,c:l}),[m,v,_,N]=Xb({sourceX:e,sourceY:n,targetX:s,targetY:o,sourceControlX:c,sourceControlY:d,targetControlX:p,targetControlY:h});return[`M${e},${n} C${c},${d} ${p},${h} ${s},${o}`,m,v,_,N]}const eu=L.memo(({sourceX:e,sourceY:n,targetX:i,targetY:s,sourcePosition:o=Ce.Bottom,targetPosition:u=Ce.Top,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:_,markerStart:N,pathOptions:x,interactionWidth:S})=>{const[k,E,b]=Zb({sourceX:e,sourceY:n,sourcePosition:o,targetX:i,targetY:s,targetPosition:u,curvature:x==null?void 0:x.curvature});return ie.createElement(uo,{path:k,labelX:E,labelY:b,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:v,markerEnd:_,markerStart:N,interactionWidth:S})});eu.displayName="BezierEdge";const Tg=L.createContext(null),VA=Tg.Provider;Tg.Consumer;const WA=()=>L.useContext(Tg),GA=e=>"id"in e&&"source"in e&&"target"in e,KA=({source:e,sourceHandle:n,target:i,targetHandle:s})=>`reactflow__edge-${e}${n||""}-${i}${s||""}`,ig=(e,n)=>typeof e>"u"?"":typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(s=>`${s}=${e[s]}`).join("&")}`,YA=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),XA=(e,n)=>{if(!e.source||!e.target)return n;let i;return GA(e)?i={...e}:i={...e,id:KA(e)},YA(i,n)?n:n.concat(i)},sg=({x:e,y:n},[i,s,o],u,[l,c])=>{const d={x:(e-i)/o,y:(n-s)/o};return u?{x:l*Math.round(d.x/l),y:c*Math.round(d.y/c)}:d},Jb=({x:e,y:n},[i,s,o])=>({x:e*o+i,y:n*o+s}),ti=(e,n=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const i=(e.width??0)*n[0],s=(e.height??0)*n[1],o={x:e.position.x-i,y:e.position.y-s};return{...o,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-i,y:e.positionAbsolute.y-s}:o}},cu=(e,n=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((s,o)=>{const{x:u,y:l}=ti(o,n).positionAbsolute;return Vb(s,no({x:u,y:l,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Wb(i)},eE=(e,n,[i,s,o]=[0,0,1],u=!1,l=!1,c=[0,0])=>{const d={x:(n.x-i)/o,y:(n.y-s)/o,width:n.width/o,height:n.height/o},p=[];return e.forEach(h=>{const{width:m,height:v,selectable:_=!0,hidden:N=!1}=h;if(l&&!_||N)return!1;const{positionAbsolute:x}=ti(h,c),S={x:x.x,y:x.y,width:m||0,height:v||0},k=tg(d,S),E=typeof m>"u"||typeof v>"u"||m===null||v===null,b=u&&k>0,T=(m||0)*(v||0);(E||b||k>=T||h.dragging)&&p.push(h)}),p},tE=(e,n)=>{const i=e.map(s=>s.id);return n.filter(s=>i.includes(s.source)||i.includes(s.target))},nE=(e,n,i,s,o,u=.1)=>{const l=n/(e.width*(1+u)),c=i/(e.height*(1+u)),d=Math.min(l,c),p=Yi(d,s,o),h=e.x+e.width/2,m=e.y+e.height/2,v=n/2-h*p,_=i/2-m*p;return{x:v,y:_,zoom:p}},Qr=(e,n=0)=>e.transition().duration(n);function cw(e,n,i,s){return(n[i]||[]).reduce((o,u)=>{var l,c;return`${e.id}-${u.id}-${i}`!==s&&o.push({id:u.id||null,type:i,nodeId:e.id,x:(((l=e.positionAbsolute)==null?void 0:l.x)??0)+u.x+u.width/2,y:(((c=e.positionAbsolute)==null?void 0:c.y)??0)+u.y+u.height/2}),o},[])}function QA(e,n,i,s,o,u){const{x:l,y:c}=Mr(e),p=n.elementsFromPoint(l,c).find(N=>N.classList.contains("react-flow__handle"));if(p){const N=p.getAttribute("data-nodeid");if(N){const x=Rg(void 0,p),S=p.getAttribute("data-handleid"),k=u({nodeId:N,id:S,type:x});if(k){const E=o.find(b=>b.nodeId===N&&b.type===x&&b.id===S);return{handle:{id:S,type:x,nodeId:N,x:(E==null?void 0:E.x)||i.x,y:(E==null?void 0:E.y)||i.y},validHandleResult:k}}}}let h=[],m=1/0;if(o.forEach(N=>{const x=Math.sqrt((N.x-i.x)**2+(N.y-i.y)**2);if(x<=s){const S=u(N);x<=m&&(x<m?h=[{handle:N,validHandleResult:S}]:x===m&&h.push({handle:N,validHandleResult:S}),m=x)}}),!h.length)return{handle:null,validHandleResult:rE()};if(h.length===1)return h[0];const v=h.some(({validHandleResult:N})=>N.isValid),_=h.some(({handle:N})=>N.type==="target");return h.find(({handle:N,validHandleResult:x})=>_?N.type==="target":v?x.isValid:!0)||h[0]}const ZA={source:null,target:null,sourceHandle:null,targetHandle:null},rE=()=>({handleDomNode:null,isValid:!1,connection:ZA,endHandle:null});function iE(e,n,i,s,o,u,l){const c=o==="target",d=l.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),p={...rE(),handleDomNode:d};if(d){const h=Rg(void 0,d),m=d.getAttribute("data-nodeid"),v=d.getAttribute("data-handleid"),_=d.classList.contains("connectable"),N=d.classList.contains("connectableend"),x={source:c?m:i,sourceHandle:c?v:s,target:c?i:m,targetHandle:c?s:v};p.connection=x,_&&N&&(n===ri.Strict?c&&h==="source"||!c&&h==="target":m!==i||v!==s)&&(p.endHandle={nodeId:m,handleId:v,type:h},p.isValid=u(x))}return p}function JA({nodes:e,nodeId:n,handleId:i,handleType:s}){return e.reduce((o,u)=>{if(u[lt]){const{handleBounds:l}=u[lt];let c=[],d=[];l&&(c=cw(u,l,"source",`${n}-${i}-${s}`),d=cw(u,l,"target",`${n}-${i}-${s}`)),o.push(...c,...d)}return o},[])}function Rg(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Sc(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function eI(e,n){let i=null;return n?i="valid":e&&!n&&(i="invalid"),i}function sE({event:e,handleId:n,nodeId:i,onConnect:s,isTarget:o,getState:u,setState:l,isValidConnection:c,edgeUpdaterType:d,onReconnectEnd:p}){const h=Hb(e.target),{connectionMode:m,domNode:v,autoPanOnConnect:_,connectionRadius:N,onConnectStart:x,panBy:S,getNodes:k,cancelConnection:E}=u();let b=0,T;const{x:A,y:I}=Mr(e),j=h==null?void 0:h.elementFromPoint(A,I),D=Rg(d,j),O=v==null?void 0:v.getBoundingClientRect();if(!O||!D)return;let U,H=Mr(e,O),Q=!1,ee=null,R=!1,G=null;const B=JA({nodes:k(),nodeId:i,handleId:n,handleType:D}),X=()=>{if(!_)return;const[V,M]=Ub(H,O);S({x:V,y:M}),b=requestAnimationFrame(X)};l({connectionPosition:H,connectionStatus:null,connectionNodeId:i,connectionHandleId:n,connectionHandleType:D,connectionStartHandle:{nodeId:i,handleId:n,type:D},connectionEndHandle:null}),x==null||x(e,{nodeId:i,handleId:n,handleType:D});function Y(V){const{transform:M}=u();H=Mr(V,O);const{handle:z,validHandleResult:ae}=QA(V,h,sg(H,M,!1,[1,1]),N,B,$=>iE($,m,i,n,o?"target":"source",c,h));if(T=z,Q||(X(),Q=!0),G=ae.handleDomNode,ee=ae.connection,R=ae.isValid,l({connectionPosition:T&&R?Jb({x:T.x,y:T.y},M):H,connectionStatus:eI(!!T,R),connectionEndHandle:ae.endHandle}),!T&&!R&&!G)return Sc(U);ee.source!==ee.target&&G&&(Sc(U),U=G,G.classList.add("connecting","react-flow__handle-connecting"),G.classList.toggle("valid",R),G.classList.toggle("react-flow__handle-valid",R))}function q(V){var M,z;(T||G)&&ee&&R&&(s==null||s(ee)),(z=(M=u()).onConnectEnd)==null||z.call(M,V),d&&(p==null||p(V)),Sc(U),E(),cancelAnimationFrame(b),Q=!1,R=!1,ee=null,G=null,h.removeEventListener("mousemove",Y),h.removeEventListener("mouseup",q),h.removeEventListener("touchmove",Y),h.removeEventListener("touchend",q)}h.addEventListener("mousemove",Y),h.addEventListener("mouseup",q),h.addEventListener("touchmove",Y),h.addEventListener("touchend",q)}const fw=()=>!0,tI=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),nI=(e,n,i)=>s=>{const{connectionStartHandle:o,connectionEndHandle:u,connectionClickStartHandle:l}=s;return{connecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===n&&(o==null?void 0:o.type)===i||(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.handleId)===n&&(u==null?void 0:u.type)===i,clickConnecting:(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.handleId)===n&&(l==null?void 0:l.type)===i}},oE=L.forwardRef(({type:e="source",position:n=Ce.Top,isValidConnection:i,isConnectable:s=!0,isConnectableStart:o=!0,isConnectableEnd:u=!0,id:l,onConnect:c,children:d,className:p,onMouseDown:h,onTouchStart:m,...v},_)=>{var O,U;const N=l||null,x=e==="target",S=bt(),k=WA(),{connectOnClick:E,noPanClassName:b}=We(tI,kt),{connecting:T,clickConnecting:A}=We(nI(k,N,e),kt);k||(U=(O=S.getState()).onError)==null||U.call(O,"010",ir.error010());const I=H=>{const{defaultEdgeOptions:Q,onConnect:ee,hasDefaultEdges:R}=S.getState(),G={...Q,...H};if(R){const{edges:B,setEdges:X}=S.getState();X(XA(G,B))}ee==null||ee(G),c==null||c(G)},j=H=>{if(!k)return;const Q=Kb(H);o&&(Q&&H.button===0||!Q)&&sE({event:H,handleId:N,nodeId:k,onConnect:I,isTarget:x,getState:S.getState,setState:S.setState,isValidConnection:i||S.getState().isValidConnection||fw}),Q?h==null||h(H):m==null||m(H)},D=H=>{const{onClickConnectStart:Q,onClickConnectEnd:ee,connectionClickStartHandle:R,connectionMode:G,isValidConnection:B}=S.getState();if(!k||!R&&!o)return;if(!R){Q==null||Q(H,{nodeId:k,handleId:N,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:k,type:e,handleId:N}});return}const X=Hb(H.target),Y=i||B||fw,{connection:q,isValid:V}=iE({nodeId:k,id:N,type:e},G,R.nodeId,R.handleId||null,R.type,Y,X);V&&I(q),ee==null||ee(H),S.setState({connectionClickStartHandle:null})};return ie.createElement("div",{"data-handleid":N,"data-nodeid":k,"data-handlepos":n,"data-id":`${k}-${N}-${e}`,className:At(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",b,p,{source:!x,target:x,connectable:s,connectablestart:o,connectableend:u,connecting:A,connectionindicator:s&&(o&&!T||u&&T)}]),onMouseDown:j,onTouchStart:j,onClick:E?D:void 0,ref:_,...v},d)});oE.displayName="Handle";var Xi=L.memo(oE);const aE=({data:e,isConnectable:n,targetPosition:i=Ce.Top,sourcePosition:s=Ce.Bottom})=>ie.createElement(ie.Fragment,null,ie.createElement(Xi,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,ie.createElement(Xi,{type:"source",position:s,isConnectable:n}));aE.displayName="DefaultNode";var og=L.memo(aE);const uE=({data:e,isConnectable:n,sourcePosition:i=Ce.Bottom})=>ie.createElement(ie.Fragment,null,e==null?void 0:e.label,ie.createElement(Xi,{type:"source",position:i,isConnectable:n}));uE.displayName="InputNode";var lE=L.memo(uE);const cE=({data:e,isConnectable:n,targetPosition:i=Ce.Top})=>ie.createElement(ie.Fragment,null,ie.createElement(Xi,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label);cE.displayName="OutputNode";var fE=L.memo(cE);const jg=()=>null;jg.displayName="GroupNode";const rI=e=>({selectedNodes:e.getNodes().filter(n=>n.selected),selectedEdges:e.edges.filter(n=>n.selected).map(n=>({...n}))}),Pa=e=>e.id;function iI(e,n){return kt(e.selectedNodes.map(Pa),n.selectedNodes.map(Pa))&&kt(e.selectedEdges.map(Pa),n.selectedEdges.map(Pa))}const dE=L.memo(({onSelectionChange:e})=>{const n=bt(),{selectedNodes:i,selectedEdges:s}=We(rI,iI);return L.useEffect(()=>{const o={nodes:i,edges:s};e==null||e(o),n.getState().onSelectionChange.forEach(u=>u(o))},[i,s,e]),null});dE.displayName="SelectionListener";const sI=e=>!!e.onSelectionChange;function oI({onSelectionChange:e}){const n=We(sI);return e||n?ie.createElement(dE,{onSelectionChange:e}):null}const aI=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Oi(e,n){L.useEffect(()=>{typeof e<"u"&&n(e)},[e])}function Oe(e,n,i){L.useEffect(()=>{typeof n<"u"&&i({[e]:n})},[n])}const uI=({nodes:e,edges:n,defaultNodes:i,defaultEdges:s,onConnect:o,onConnectStart:u,onConnectEnd:l,onClickConnectStart:c,onClickConnectEnd:d,nodesDraggable:p,nodesConnectable:h,nodesFocusable:m,edgesFocusable:v,edgesUpdatable:_,elevateNodesOnSelect:N,minZoom:x,maxZoom:S,nodeExtent:k,onNodesChange:E,onEdgesChange:b,elementsSelectable:T,connectionMode:A,snapGrid:I,snapToGrid:j,translateExtent:D,connectOnClick:O,defaultEdgeOptions:U,fitView:H,fitViewOptions:Q,onNodesDelete:ee,onEdgesDelete:R,onNodeDrag:G,onNodeDragStart:B,onNodeDragStop:X,onSelectionDrag:Y,onSelectionDragStart:q,onSelectionDragStop:V,noPanClassName:M,nodeOrigin:z,rfId:ae,autoPanOnConnect:$,autoPanOnNodeDrag:K,onError:Z,connectionRadius:oe,isValidConnection:ce,nodeDragThreshold:he})=>{const{setNodes:me,setEdges:Me,setDefaultNodesAndEdges:Ie,setMinZoom:Pe,setMaxZoom:Ae,setTranslateExtent:Ee,setNodeExtent:Ge,reset:we}=We(aI,kt),ye=bt();return L.useEffect(()=>{const ze=s==null?void 0:s.map(Xe=>({...Xe,...U}));return Ie(i,ze),()=>{we()}},[]),Oe("defaultEdgeOptions",U,ye.setState),Oe("connectionMode",A,ye.setState),Oe("onConnect",o,ye.setState),Oe("onConnectStart",u,ye.setState),Oe("onConnectEnd",l,ye.setState),Oe("onClickConnectStart",c,ye.setState),Oe("onClickConnectEnd",d,ye.setState),Oe("nodesDraggable",p,ye.setState),Oe("nodesConnectable",h,ye.setState),Oe("nodesFocusable",m,ye.setState),Oe("edgesFocusable",v,ye.setState),Oe("edgesUpdatable",_,ye.setState),Oe("elementsSelectable",T,ye.setState),Oe("elevateNodesOnSelect",N,ye.setState),Oe("snapToGrid",j,ye.setState),Oe("snapGrid",I,ye.setState),Oe("onNodesChange",E,ye.setState),Oe("onEdgesChange",b,ye.setState),Oe("connectOnClick",O,ye.setState),Oe("fitViewOnInit",H,ye.setState),Oe("fitViewOnInitOptions",Q,ye.setState),Oe("onNodesDelete",ee,ye.setState),Oe("onEdgesDelete",R,ye.setState),Oe("onNodeDrag",G,ye.setState),Oe("onNodeDragStart",B,ye.setState),Oe("onNodeDragStop",X,ye.setState),Oe("onSelectionDrag",Y,ye.setState),Oe("onSelectionDragStart",q,ye.setState),Oe("onSelectionDragStop",V,ye.setState),Oe("noPanClassName",M,ye.setState),Oe("nodeOrigin",z,ye.setState),Oe("rfId",ae,ye.setState),Oe("autoPanOnConnect",$,ye.setState),Oe("autoPanOnNodeDrag",K,ye.setState),Oe("onError",Z,ye.setState),Oe("connectionRadius",oe,ye.setState),Oe("isValidConnection",ce,ye.setState),Oe("nodeDragThreshold",he,ye.setState),Oi(e,me),Oi(n,Me),Oi(x,Pe),Oi(S,Ae),Oi(D,Ee),Oi(k,Ge),null},dw={display:"none"},lI={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},hE="react-flow__node-desc",pE="react-flow__edge-desc",cI="react-flow__aria-live",fI=e=>e.ariaLiveMessage;function dI({rfId:e}){const n=We(fI);return ie.createElement("div",{id:`${cI}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:lI},n)}function hI({rfId:e,disableKeyboardA11y:n}){return ie.createElement(ie.Fragment,null,ie.createElement("div",{id:`${hE}-${e}`,style:dw},"Press enter or space to select a node.",!n&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),ie.createElement("div",{id:`${pE}-${e}`,style:dw},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!n&&ie.createElement(dI,{rfId:e}))}var io=(e=null,n={actInsideInputWithModifier:!0})=>{const[i,s]=L.useState(!1),o=L.useRef(!1),u=L.useRef(new Set([])),[l,c]=L.useMemo(()=>{if(e!==null){const p=(Array.isArray(e)?e:[e]).filter(m=>typeof m=="string").map(m=>m.split("+")),h=p.reduce((m,v)=>m.concat(...v),[]);return[p,h]}return[[],[]]},[e]);return L.useEffect(()=>{const d=typeof document<"u"?document:null,p=(n==null?void 0:n.target)||d;if(e!==null){const h=_=>{if(o.current=_.ctrlKey||_.metaKey||_.shiftKey,(!o.current||o.current&&!n.actInsideInputWithModifier)&&ng(_))return!1;const x=pw(_.code,c);u.current.add(_[x]),hw(l,u.current,!1)&&(_.preventDefault(),s(!0))},m=_=>{if((!o.current||o.current&&!n.actInsideInputWithModifier)&&ng(_))return!1;const x=pw(_.code,c);hw(l,u.current,!0)?(s(!1),u.current.clear()):u.current.delete(_[x]),_.key==="Meta"&&u.current.clear(),o.current=!1},v=()=>{u.current.clear(),s(!1)};return p==null||p.addEventListener("keydown",h),p==null||p.addEventListener("keyup",m),window.addEventListener("blur",v),()=>{p==null||p.removeEventListener("keydown",h),p==null||p.removeEventListener("keyup",m),window.removeEventListener("blur",v)}}},[e,s]),i};function hw(e,n,i){return e.filter(s=>i||s.length===n.size).some(s=>s.every(o=>n.has(o)))}function pw(e,n){return n.includes(e)?"code":"key"}function mE(e,n,i,s){var c,d;const o=e.parentNode||e.parentId;if(!o)return i;const u=n.get(o),l=ti(u,s);return mE(u,n,{x:(i.x??0)+l.x,y:(i.y??0)+l.y,z:(((c=u[lt])==null?void 0:c.z)??0)>(i.z??0)?((d=u[lt])==null?void 0:d.z)??0:i.z??0},s)}function gE(e,n,i){e.forEach(s=>{var u;const o=s.parentNode||s.parentId;if(o&&!e.has(o))throw new Error(`Parent node ${o} not found`);if(o||i!=null&&i[s.id]){const{x:l,y:c,z:d}=mE(s,e,{...s.position,z:((u=s[lt])==null?void 0:u.z)??0},n);s.positionAbsolute={x:l,y:c},s[lt].z=d,i!=null&&i[s.id]&&(s[lt].isParent=!0)}})}function kc(e,n,i,s){const o=new Map,u={},l=s?1e3:0;return e.forEach(c=>{var _;const d=(gn(c.zIndex)?c.zIndex:0)+(c.selected?l:0),p=n.get(c.id),h={...c,positionAbsolute:{x:c.position.x,y:c.position.y}},m=c.parentNode||c.parentId;m&&(u[m]=!0);const v=(p==null?void 0:p.type)&&(p==null?void 0:p.type)!==c.type;Object.defineProperty(h,lt,{enumerable:!1,value:{handleBounds:v||(_=p==null?void 0:p[lt])==null?void 0:_.handleBounds,z:d}}),o.set(c.id,h)}),gE(o,i,u),o}function vE(e,n={}){const{getNodes:i,width:s,height:o,minZoom:u,maxZoom:l,d3Zoom:c,d3Selection:d,fitViewOnInitDone:p,fitViewOnInit:h,nodeOrigin:m}=e(),v=n.initial&&!p&&h;if(c&&d&&(v||!n.initial)){const N=i().filter(S=>{var E;const k=n.includeHiddenNodes?S.width&&S.height:!S.hidden;return(E=n.nodes)!=null&&E.length?k&&n.nodes.some(b=>b.id===S.id):k}),x=N.every(S=>S.width&&S.height);if(N.length>0&&x){const S=cu(N,m),{x:k,y:E,zoom:b}=nE(S,s,o,n.minZoom??u,n.maxZoom??l,n.padding??.1),T=nr.translate(k,E).scale(b);return typeof n.duration=="number"&&n.duration>0?c.transform(Qr(d,n.duration),T):c.transform(d,T),!0}}return!1}function pI(e,n){return e.forEach(i=>{const s=n.get(i.id);s&&n.set(s.id,{...s,[lt]:s[lt],selected:i.selected})}),new Map(n)}function mI(e,n){return n.map(i=>{const s=e.find(o=>o.id===i.id);return s&&(i.selected=s.selected),i})}function qa({changedNodes:e,changedEdges:n,get:i,set:s}){const{nodeInternals:o,edges:u,onNodesChange:l,onEdgesChange:c,hasDefaultNodes:d,hasDefaultEdges:p}=i();e!=null&&e.length&&(d&&s({nodeInternals:pI(e,o)}),l==null||l(e)),n!=null&&n.length&&(p&&s({edges:mI(n,u)}),c==null||c(n))}const Li=()=>{},gI={zoomIn:Li,zoomOut:Li,zoomTo:Li,getZoom:()=>1,setViewport:Li,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:Li,fitBounds:Li,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},vI=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),yI=()=>{const e=bt(),{d3Zoom:n,d3Selection:i}=We(vI,kt);return L.useMemo(()=>i&&n?{zoomIn:o=>n.scaleBy(Qr(i,o==null?void 0:o.duration),1.2),zoomOut:o=>n.scaleBy(Qr(i,o==null?void 0:o.duration),1/1.2),zoomTo:(o,u)=>n.scaleTo(Qr(i,u==null?void 0:u.duration),o),getZoom:()=>e.getState().transform[2],setViewport:(o,u)=>{const[l,c,d]=e.getState().transform,p=nr.translate(o.x??l,o.y??c).scale(o.zoom??d);n.transform(Qr(i,u==null?void 0:u.duration),p)},getViewport:()=>{const[o,u,l]=e.getState().transform;return{x:o,y:u,zoom:l}},fitView:o=>vE(e.getState,o),setCenter:(o,u,l)=>{const{width:c,height:d,maxZoom:p}=e.getState(),h=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:p,m=c/2-o*h,v=d/2-u*h,_=nr.translate(m,v).scale(h);n.transform(Qr(i,l==null?void 0:l.duration),_)},fitBounds:(o,u)=>{const{width:l,height:c,minZoom:d,maxZoom:p}=e.getState(),{x:h,y:m,zoom:v}=nE(o,l,c,d,p,(u==null?void 0:u.padding)??.1),_=nr.translate(h,m).scale(v);n.transform(Qr(i,u==null?void 0:u.duration),_)},project:o=>{const{transform:u,snapToGrid:l,snapGrid:c}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),sg(o,u,l,c)},screenToFlowPosition:o=>{const{transform:u,snapToGrid:l,snapGrid:c,domNode:d}=e.getState();if(!d)return o;const{x:p,y:h}=d.getBoundingClientRect(),m={x:o.x-p,y:o.y-h};return sg(m,u,l,c)},flowToScreenPosition:o=>{const{transform:u,domNode:l}=e.getState();if(!l)return o;const{x:c,y:d}=l.getBoundingClientRect(),p=Jb(o,u);return{x:p.x+c,y:p.y+d}},viewportInitialized:!0}:gI,[n,i])};function lo(){const e=yI(),n=bt(),i=L.useCallback(()=>n.getState().getNodes().map(x=>({...x})),[]),s=L.useCallback(x=>n.getState().nodeInternals.get(x),[]),o=L.useCallback(()=>{const{edges:x=[]}=n.getState();return x.map(S=>({...S}))},[]),u=L.useCallback(x=>{const{edges:S=[]}=n.getState();return S.find(k=>k.id===x)},[]),l=L.useCallback(x=>{const{getNodes:S,setNodes:k,hasDefaultNodes:E,onNodesChange:b}=n.getState(),T=S(),A=typeof x=="function"?x(T):x;if(E)k(A);else if(b){const I=A.length===0?T.map(j=>({type:"remove",id:j.id})):A.map(j=>({item:j,type:"reset"}));b(I)}},[]),c=L.useCallback(x=>{const{edges:S=[],setEdges:k,hasDefaultEdges:E,onEdgesChange:b}=n.getState(),T=typeof x=="function"?x(S):x;if(E)k(T);else if(b){const A=T.length===0?S.map(I=>({type:"remove",id:I.id})):T.map(I=>({item:I,type:"reset"}));b(A)}},[]),d=L.useCallback(x=>{const S=Array.isArray(x)?x:[x],{getNodes:k,setNodes:E,hasDefaultNodes:b,onNodesChange:T}=n.getState();if(b){const I=[...k(),...S];E(I)}else if(T){const A=S.map(I=>({item:I,type:"add"}));T(A)}},[]),p=L.useCallback(x=>{const S=Array.isArray(x)?x:[x],{edges:k=[],setEdges:E,hasDefaultEdges:b,onEdgesChange:T}=n.getState();if(b)E([...k,...S]);else if(T){const A=S.map(I=>({item:I,type:"add"}));T(A)}},[]),h=L.useCallback(()=>{const{getNodes:x,edges:S=[],transform:k}=n.getState(),[E,b,T]=k;return{nodes:x().map(A=>({...A})),edges:S.map(A=>({...A})),viewport:{x:E,y:b,zoom:T}}},[]),m=L.useCallback(({nodes:x,edges:S})=>{const{nodeInternals:k,getNodes:E,edges:b,hasDefaultNodes:T,hasDefaultEdges:A,onNodesDelete:I,onEdgesDelete:j,onNodesChange:D,onEdgesChange:O}=n.getState(),U=(x||[]).map(G=>G.id),H=(S||[]).map(G=>G.id),Q=E().reduce((G,B)=>{const X=B.parentNode||B.parentId,Y=!U.includes(B.id)&&X&&G.find(V=>V.id===X);return(typeof B.deletable=="boolean"?B.deletable:!0)&&(U.includes(B.id)||Y)&&G.push(B),G},[]),ee=b.filter(G=>typeof G.deletable=="boolean"?G.deletable:!0),R=ee.filter(G=>H.includes(G.id));if(Q||R){const G=tE(Q,ee),B=[...R,...G],X=B.reduce((Y,q)=>(Y.includes(q.id)||Y.push(q.id),Y),[]);if((A||T)&&(A&&n.setState({edges:b.filter(Y=>!X.includes(Y.id))}),T&&(Q.forEach(Y=>{k.delete(Y.id)}),n.setState({nodeInternals:new Map(k)}))),X.length>0&&(j==null||j(B),O&&O(X.map(Y=>({id:Y,type:"remove"})))),Q.length>0&&(I==null||I(Q),D)){const Y=Q.map(q=>({id:q.id,type:"remove"}));D(Y)}}},[]),v=L.useCallback(x=>{const S=$A(x),k=S?null:n.getState().nodeInternals.get(x.id);return!S&&!k?[null,null,S]:[S?x:sw(k),k,S]},[]),_=L.useCallback((x,S=!0,k)=>{const[E,b,T]=v(x);return E?(k||n.getState().getNodes()).filter(A=>{if(!T&&(A.id===b.id||!A.positionAbsolute))return!1;const I=sw(A),j=tg(I,E);return S&&j>0||j>=E.width*E.height}):[]},[]),N=L.useCallback((x,S,k=!0)=>{const[E]=v(x);if(!E)return!1;const b=tg(E,S);return k&&b>0||b>=E.width*E.height},[]);return L.useMemo(()=>({...e,getNodes:i,getNode:s,getEdges:o,getEdge:u,setNodes:l,setEdges:c,addNodes:d,addEdges:p,toObject:h,deleteElements:m,getIntersectingNodes:_,isNodeIntersecting:N}),[e,i,s,o,u,l,c,d,p,h,m,_,N])}const wI={actInsideInputWithModifier:!1};var _I=({deleteKeyCode:e,multiSelectionKeyCode:n})=>{const i=bt(),{deleteElements:s}=lo(),o=io(e,wI),u=io(n);L.useEffect(()=>{if(o){const{edges:l,getNodes:c}=i.getState(),d=c().filter(h=>h.selected),p=l.filter(h=>h.selected);s({nodes:d,edges:p}),i.setState({nodesSelectionActive:!1})}},[o]),L.useEffect(()=>{i.setState({multiSelectionActive:u})},[u])};function xI(e){const n=bt();L.useEffect(()=>{let i;const s=()=>{var u,l;if(!e.current)return;const o=kg(e.current);(o.height===0||o.width===0)&&((l=(u=n.getState()).onError)==null||l.call(u,"004",ir.error004())),n.setState({width:o.width||500,height:o.height||500})};return s(),window.addEventListener("resize",s),e.current&&(i=new ResizeObserver(()=>s()),i.observe(e.current)),()=>{window.removeEventListener("resize",s),i&&e.current&&i.unobserve(e.current)}},[])}const Ag={position:"absolute",width:"100%",height:"100%",top:0,left:0},SI=(e,n)=>e.x!==n.x||e.y!==n.y||e.zoom!==n.k,Oa=e=>({x:e.x,y:e.y,zoom:e.k}),$i=(e,n)=>e.target.closest(`.${n}`),mw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),gw=e=>{const n=e.ctrlKey&&Za()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n},kI=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),bI=({onMove:e,onMoveStart:n,onMoveEnd:i,onPaneContextMenu:s,zoomOnScroll:o=!0,zoomOnPinch:u=!0,panOnScroll:l=!1,panOnScrollSpeed:c=.5,panOnScrollMode:d=Jr.Free,zoomOnDoubleClick:p=!0,elementsSelectable:h,panOnDrag:m=!0,defaultViewport:v,translateExtent:_,minZoom:N,maxZoom:x,zoomActivationKeyCode:S,preventScrolling:k=!0,children:E,noWheelClassName:b,noPanClassName:T})=>{const A=L.useRef(),I=bt(),j=L.useRef(!1),D=L.useRef(!1),O=L.useRef(null),U=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:H,d3Selection:Q,d3ZoomHandler:ee,userSelectionActive:R}=We(kI,kt),G=io(S),B=L.useRef(0),X=L.useRef(!1),Y=L.useRef();return xI(O),L.useEffect(()=>{if(O.current){const q=O.current.getBoundingClientRect(),V=zb().scaleExtent([N,x]).translateExtent(_),M=mn(O.current).call(V),z=nr.translate(v.x,v.y).scale(Yi(v.zoom,N,x)),ae=[[0,0],[q.width,q.height]],$=V.constrain()(z,ae,_);V.transform(M,$),V.wheelDelta(gw),I.setState({d3Zoom:V,d3Selection:M,d3ZoomHandler:M.on("wheel.zoom"),transform:[$.x,$.y,$.k],domNode:O.current.closest(".react-flow")})}},[]),L.useEffect(()=>{Q&&H&&(l&&!G&&!R?Q.on("wheel.zoom",q=>{if($i(q,b))return!1;q.preventDefault(),q.stopImmediatePropagation();const V=Q.property("__zoom").k||1;if(q.ctrlKey&&u){const ce=Rn(q),he=gw(q),me=V*Math.pow(2,he);H.scaleTo(Q,me,ce,q);return}const M=q.deltaMode===1?20:1;let z=d===Jr.Vertical?0:q.deltaX*M,ae=d===Jr.Horizontal?0:q.deltaY*M;!Za()&&q.shiftKey&&d!==Jr.Vertical&&(z=q.deltaY*M,ae=0),H.translateBy(Q,-(z/V)*c,-(ae/V)*c,{internal:!0});const $=Oa(Q.property("__zoom")),{onViewportChangeStart:K,onViewportChange:Z,onViewportChangeEnd:oe}=I.getState();clearTimeout(Y.current),X.current||(X.current=!0,n==null||n(q,$),K==null||K($)),X.current&&(e==null||e(q,$),Z==null||Z($),Y.current=setTimeout(()=>{i==null||i(q,$),oe==null||oe($),X.current=!1},150))},{passive:!1}):typeof ee<"u"&&Q.on("wheel.zoom",function(q,V){if(!k&&q.type==="wheel"&&!q.ctrlKey||$i(q,b))return null;q.preventDefault(),ee.call(this,q,V)},{passive:!1}))},[R,l,d,Q,H,ee,G,u,k,b,n,e,i]),L.useEffect(()=>{H&&H.on("start",q=>{var z,ae;if(!q.sourceEvent||q.sourceEvent.internal)return null;B.current=(z=q.sourceEvent)==null?void 0:z.button;const{onViewportChangeStart:V}=I.getState(),M=Oa(q.transform);j.current=!0,U.current=M,((ae=q.sourceEvent)==null?void 0:ae.type)==="mousedown"&&I.setState({paneDragging:!0}),V==null||V(M),n==null||n(q.sourceEvent,M)})},[H,n]),L.useEffect(()=>{H&&(R&&!j.current?H.on("zoom",null):R||H.on("zoom",q=>{var M;const{onViewportChange:V}=I.getState();if(I.setState({transform:[q.transform.x,q.transform.y,q.transform.k]}),D.current=!!(s&&mw(m,B.current??0)),(e||V)&&!((M=q.sourceEvent)!=null&&M.internal)){const z=Oa(q.transform);V==null||V(z),e==null||e(q.sourceEvent,z)}}))},[R,H,e,m,s]),L.useEffect(()=>{H&&H.on("end",q=>{if(!q.sourceEvent||q.sourceEvent.internal)return null;const{onViewportChangeEnd:V}=I.getState();if(j.current=!1,I.setState({paneDragging:!1}),s&&mw(m,B.current??0)&&!D.current&&s(q.sourceEvent),D.current=!1,(i||V)&&SI(U.current,q.transform)){const M=Oa(q.transform);U.current=M,clearTimeout(A.current),A.current=setTimeout(()=>{V==null||V(M),i==null||i(q.sourceEvent,M)},l?150:0)}})},[H,l,m,i,s]),L.useEffect(()=>{H&&H.filter(q=>{const V=G||o,M=u&&q.ctrlKey;if((m===!0||Array.isArray(m)&&m.includes(1))&&q.button===1&&q.type==="mousedown"&&($i(q,"react-flow__node")||$i(q,"react-flow__edge")))return!0;if(!m&&!V&&!l&&!p&&!u||R||!p&&q.type==="dblclick"||$i(q,b)&&q.type==="wheel"||$i(q,T)&&(q.type!=="wheel"||l&&q.type==="wheel"&&!G)||!u&&q.ctrlKey&&q.type==="wheel"||!V&&!l&&!M&&q.type==="wheel"||!m&&(q.type==="mousedown"||q.type==="touchstart")||Array.isArray(m)&&!m.includes(q.button)&&q.type==="mousedown")return!1;const z=Array.isArray(m)&&m.includes(q.button)||!q.button||q.button<=1;return(!q.ctrlKey||q.type==="wheel")&&z})},[R,H,o,u,l,p,m,h,G]),ie.createElement("div",{className:"react-flow__renderer",ref:O,style:Ag},E)},EI=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function NI(){const{userSelectionActive:e,userSelectionRect:n}=We(EI,kt);return e&&n?ie.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}function vw(e,n){const i=n.parentNode||n.parentId,s=e.find(o=>o.id===i);if(s){const o=n.position.x+n.width-s.width,u=n.position.y+n.height-s.height;if(o>0||u>0||n.position.x<0||n.position.y<0){if(s.style={...s.style},s.style.width=s.style.width??s.width,s.style.height=s.style.height??s.height,o>0&&(s.style.width+=o),u>0&&(s.style.height+=u),n.position.x<0){const l=Math.abs(n.position.x);s.position.x=s.position.x-l,s.style.width+=l,n.position.x=0}if(n.position.y<0){const l=Math.abs(n.position.y);s.position.y=s.position.y-l,s.style.height+=l,n.position.y=0}s.width=s.style.width,s.height=s.style.height}}}function CI(e,n){if(e.some(s=>s.type==="reset"))return e.filter(s=>s.type==="reset").map(s=>s.item);const i=e.filter(s=>s.type==="add").map(s=>s.item);return n.reduce((s,o)=>{const u=e.filter(c=>c.id===o.id);if(u.length===0)return s.push(o),s;const l={...o};for(const c of u)if(c)switch(c.type){case"select":{l.selected=c.selected;break}case"position":{typeof c.position<"u"&&(l.position=c.position),typeof c.positionAbsolute<"u"&&(l.positionAbsolute=c.positionAbsolute),typeof c.dragging<"u"&&(l.dragging=c.dragging),l.expandParent&&vw(s,l);break}case"dimensions":{typeof c.dimensions<"u"&&(l.width=c.dimensions.width,l.height=c.dimensions.height),typeof c.updateStyle<"u"&&(l.style={...l.style||{},...c.dimensions}),typeof c.resizing=="boolean"&&(l.resizing=c.resizing),l.expandParent&&vw(s,l);break}case"remove":return s}return s.push(l),s},i)}function TI(e,n){return CI(e,n)}const Ar=(e,n)=>({id:e,type:"select",selected:n});function Bi(e,n){return e.reduce((i,s)=>{const o=n.includes(s.id);return!s.selected&&o?(s.selected=!0,i.push(Ar(s.id,!0))):s.selected&&!o&&(s.selected=!1,i.push(Ar(s.id,!1))),i},[])}const bc=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},RI=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),yE=L.memo(({isSelecting:e,selectionMode:n=ro.Full,panOnDrag:i,onSelectionStart:s,onSelectionEnd:o,onPaneClick:u,onPaneContextMenu:l,onPaneScroll:c,onPaneMouseEnter:d,onPaneMouseMove:p,onPaneMouseLeave:h,children:m})=>{const v=L.useRef(null),_=bt(),N=L.useRef(0),x=L.useRef(0),S=L.useRef(),{userSelectionActive:k,elementsSelectable:E,dragging:b}=We(RI,kt),T=()=>{_.setState({userSelectionActive:!1,userSelectionRect:null}),N.current=0,x.current=0},A=ee=>{u==null||u(ee),_.getState().resetSelectedElements(),_.setState({nodesSelectionActive:!1})},I=ee=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){ee.preventDefault();return}l==null||l(ee)},j=c?ee=>c(ee):void 0,D=ee=>{const{resetSelectedElements:R,domNode:G}=_.getState();if(S.current=G==null?void 0:G.getBoundingClientRect(),!E||!e||ee.button!==0||ee.target!==v.current||!S.current)return;const{x:B,y:X}=Mr(ee,S.current);R(),_.setState({userSelectionRect:{width:0,height:0,startX:B,startY:X,x:B,y:X}}),s==null||s(ee)},O=ee=>{const{userSelectionRect:R,nodeInternals:G,edges:B,transform:X,onNodesChange:Y,onEdgesChange:q,nodeOrigin:V,getNodes:M}=_.getState();if(!e||!S.current||!R)return;_.setState({userSelectionActive:!0,nodesSelectionActive:!1});const z=Mr(ee,S.current),ae=R.startX??0,$=R.startY??0,K={...R,x:z.x<ae?z.x:ae,y:z.y<$?z.y:$,width:Math.abs(z.x-ae),height:Math.abs(z.y-$)},Z=M(),oe=eE(G,K,X,n===ro.Partial,!0,V),ce=tE(oe,B).map(me=>me.id),he=oe.map(me=>me.id);if(N.current!==he.length){N.current=he.length;const me=Bi(Z,he);me.length&&(Y==null||Y(me))}if(x.current!==ce.length){x.current=ce.length;const me=Bi(B,ce);me.length&&(q==null||q(me))}_.setState({userSelectionRect:K})},U=ee=>{if(ee.button!==0)return;const{userSelectionRect:R}=_.getState();!k&&R&&ee.target===v.current&&(A==null||A(ee)),_.setState({nodesSelectionActive:N.current>0}),T(),o==null||o(ee)},H=ee=>{k&&(_.setState({nodesSelectionActive:N.current>0}),o==null||o(ee)),T()},Q=E&&(e||k);return ie.createElement("div",{className:At(["react-flow__pane",{dragging:b,selection:e}]),onClick:Q?void 0:bc(A,v),onContextMenu:bc(I,v),onWheel:bc(j,v),onMouseEnter:Q?void 0:d,onMouseDown:Q?D:void 0,onMouseMove:Q?O:p,onMouseUp:Q?U:void 0,onMouseLeave:Q?H:h,ref:v,style:Ag},m,ie.createElement(NI,null))});yE.displayName="Pane";function wE(e,n){const i=e.parentNode||e.parentId;if(!i)return!1;const s=n.get(i);return s?s.selected?!0:wE(s,n):!1}function yw(e,n,i){let s=e;do{if(s!=null&&s.matches(n))return!0;if(s===i.current)return!1;s=s.parentElement}while(s);return!1}function jI(e,n,i,s){return Array.from(e.values()).filter(o=>(o.selected||o.id===s)&&(!o.parentNode||o.parentId||!wE(o,e))&&(o.draggable||n&&typeof o.draggable>"u")).map(o=>{var u,l;return{id:o.id,position:o.position||{x:0,y:0},positionAbsolute:o.positionAbsolute||{x:0,y:0},distance:{x:i.x-(((u=o.positionAbsolute)==null?void 0:u.x)??0),y:i.y-(((l=o.positionAbsolute)==null?void 0:l.y)??0)},delta:{x:0,y:0},extent:o.extent,parentNode:o.parentNode||o.parentId,parentId:o.parentNode||o.parentId,width:o.width,height:o.height,expandParent:o.expandParent}})}function AI(e,n){return!n||n==="parent"?n:[n[0],[n[1][0]-(e.width||0),n[1][1]-(e.height||0)]]}function _E(e,n,i,s,o=[0,0],u){const l=AI(e,e.extent||s);let c=l;const d=e.parentNode||e.parentId;if(e.extent==="parent"&&!e.expandParent)if(d&&e.width&&e.height){const m=i.get(d),{x:v,y:_}=ti(m,o).positionAbsolute;c=m&&gn(v)&&gn(_)&&gn(m.width)&&gn(m.height)?[[v+e.width*o[0],_+e.height*o[1]],[v+m.width-e.width+e.width*o[0],_+m.height-e.height+e.height*o[1]]]:c}else u==null||u("005",ir.error005()),c=l;else if(e.extent&&d&&e.extent!=="parent"){const m=i.get(d),{x:v,y:_}=ti(m,o).positionAbsolute;c=[[e.extent[0][0]+v,e.extent[0][1]+_],[e.extent[1][0]+v,e.extent[1][1]+_]]}let p={x:0,y:0};if(d){const m=i.get(d);p=ti(m,o).positionAbsolute}const h=c&&c!=="parent"?bg(n,c):n;return{position:{x:h.x-p.x,y:h.y-p.y},positionAbsolute:h}}function Ec({nodeId:e,dragItems:n,nodeInternals:i}){const s=n.map(o=>({...i.get(o.id),position:o.position,positionAbsolute:o.positionAbsolute}));return[e?s.find(o=>o.id===e):s[0],s]}const ww=(e,n,i,s)=>{const o=n.querySelectorAll(e);if(!o||!o.length)return null;const u=Array.from(o),l=n.getBoundingClientRect(),c={x:l.width*s[0],y:l.height*s[1]};return u.map(d=>{const p=d.getBoundingClientRect();return{id:d.getAttribute("data-handleid"),position:d.getAttribute("data-handlepos"),x:(p.left-l.left-c.x)/i,y:(p.top-l.top-c.y)/i,...kg(d)}})};function Bs(e,n,i){return i===void 0?i:s=>{const o=n().nodeInternals.get(e);o&&i(s,{...o})}}function ag({id:e,store:n,unselect:i=!1,nodeRef:s}){const{addSelectedNodes:o,unselectNodesAndEdges:u,multiSelectionActive:l,nodeInternals:c,onError:d}=n.getState(),p=c.get(e);if(!p){d==null||d("012",ir.error012(e));return}n.setState({nodesSelectionActive:!1}),p.selected?(i||p.selected&&l)&&(u({nodes:[p],edges:[]}),requestAnimationFrame(()=>{var h;return(h=s==null?void 0:s.current)==null?void 0:h.blur()})):o([e])}function II(){const e=bt();return L.useCallback(({sourceEvent:i})=>{const{transform:s,snapGrid:o,snapToGrid:u}=e.getState(),l=i.touches?i.touches[0].clientX:i.clientX,c=i.touches?i.touches[0].clientY:i.clientY,d={x:(l-s[0])/s[2],y:(c-s[1])/s[2]};return{xSnapped:u?o[0]*Math.round(d.x/o[0]):d.x,ySnapped:u?o[1]*Math.round(d.y/o[1]):d.y,...d}},[])}function Nc(e){return(n,i,s)=>e==null?void 0:e(n,s)}function xE({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:s,nodeId:o,isSelectable:u,selectNodesOnDrag:l}){const c=bt(),[d,p]=L.useState(!1),h=L.useRef([]),m=L.useRef({x:null,y:null}),v=L.useRef(0),_=L.useRef(null),N=L.useRef({x:0,y:0}),x=L.useRef(null),S=L.useRef(!1),k=L.useRef(!1),E=L.useRef(!1),b=II();return L.useEffect(()=>{if(e!=null&&e.current){const T=mn(e.current),A=({x:D,y:O})=>{const{nodeInternals:U,onNodeDrag:H,onSelectionDrag:Q,updateNodePositions:ee,nodeExtent:R,snapGrid:G,snapToGrid:B,nodeOrigin:X,onError:Y}=c.getState();m.current={x:D,y:O};let q=!1,V={x:0,y:0,x2:0,y2:0};if(h.current.length>1&&R){const z=cu(h.current,X);V=no(z)}if(h.current=h.current.map(z=>{const ae={x:D-z.distance.x,y:O-z.distance.y};B&&(ae.x=G[0]*Math.round(ae.x/G[0]),ae.y=G[1]*Math.round(ae.y/G[1]));const $=[[R[0][0],R[0][1]],[R[1][0],R[1][1]]];h.current.length>1&&R&&!z.extent&&($[0][0]=z.positionAbsolute.x-V.x+R[0][0],$[1][0]=z.positionAbsolute.x+(z.width??0)-V.x2+R[1][0],$[0][1]=z.positionAbsolute.y-V.y+R[0][1],$[1][1]=z.positionAbsolute.y+(z.height??0)-V.y2+R[1][1]);const K=_E(z,ae,U,$,X,Y);return q=q||z.position.x!==K.position.x||z.position.y!==K.position.y,z.position=K.position,z.positionAbsolute=K.positionAbsolute,z}),!q)return;ee(h.current,!0,!0),p(!0);const M=o?H:Nc(Q);if(M&&x.current){const[z,ae]=Ec({nodeId:o,dragItems:h.current,nodeInternals:U});M(x.current,z,ae)}},I=()=>{if(!_.current)return;const[D,O]=Ub(N.current,_.current);if(D!==0||O!==0){const{transform:U,panBy:H}=c.getState();m.current.x=(m.current.x??0)-D/U[2],m.current.y=(m.current.y??0)-O/U[2],H({x:D,y:O})&&A(m.current)}v.current=requestAnimationFrame(I)},j=D=>{var X;const{nodeInternals:O,multiSelectionActive:U,nodesDraggable:H,unselectNodesAndEdges:Q,onNodeDragStart:ee,onSelectionDragStart:R}=c.getState();k.current=!0;const G=o?ee:Nc(R);(!l||!u)&&!U&&o&&((X=O.get(o))!=null&&X.selected||Q()),o&&u&&l&&ag({id:o,store:c,nodeRef:e});const B=b(D);if(m.current=B,h.current=jI(O,H,B,o),G&&h.current){const[Y,q]=Ec({nodeId:o,dragItems:h.current,nodeInternals:O});G(D.sourceEvent,Y,q)}};if(n)T.on(".drag",null);else{const D=B2().on("start",O=>{const{domNode:U,nodeDragThreshold:H}=c.getState();H===0&&j(O),E.current=!1;const Q=b(O);m.current=Q,_.current=(U==null?void 0:U.getBoundingClientRect())||null,N.current=Mr(O.sourceEvent,_.current)}).on("drag",O=>{var ee,R;const U=b(O),{autoPanOnNodeDrag:H,nodeDragThreshold:Q}=c.getState();if(O.sourceEvent.type==="touchmove"&&O.sourceEvent.touches.length>1&&(E.current=!0),!E.current){if(!S.current&&k.current&&H&&(S.current=!0,I()),!k.current){const G=U.xSnapped-(((ee=m==null?void 0:m.current)==null?void 0:ee.x)??0),B=U.ySnapped-(((R=m==null?void 0:m.current)==null?void 0:R.y)??0);Math.sqrt(G*G+B*B)>Q&&j(O)}(m.current.x!==U.xSnapped||m.current.y!==U.ySnapped)&&h.current&&k.current&&(x.current=O.sourceEvent,N.current=Mr(O.sourceEvent,_.current),A(U))}}).on("end",O=>{if(!(!k.current||E.current)&&(p(!1),S.current=!1,k.current=!1,cancelAnimationFrame(v.current),h.current)){const{updateNodePositions:U,nodeInternals:H,onNodeDragStop:Q,onSelectionDragStop:ee}=c.getState(),R=o?Q:Nc(ee);if(U(h.current,!1,!1),R){const[G,B]=Ec({nodeId:o,dragItems:h.current,nodeInternals:H});R(O.sourceEvent,G,B)}}}).filter(O=>{const U=O.target;return!O.button&&(!i||!yw(U,`.${i}`,e))&&(!s||yw(U,s,e))});return T.call(D),()=>{T.on(".drag",null)}}}},[e,n,i,s,u,c,o,l,b]),d}function SE(){const e=bt();return L.useCallback(i=>{const{nodeInternals:s,nodeExtent:o,updateNodePositions:u,getNodes:l,snapToGrid:c,snapGrid:d,onError:p,nodesDraggable:h}=e.getState(),m=l().filter(E=>E.selected&&(E.draggable||h&&typeof E.draggable>"u")),v=c?d[0]:5,_=c?d[1]:5,N=i.isShiftPressed?4:1,x=i.x*v*N,S=i.y*_*N,k=m.map(E=>{if(E.positionAbsolute){const b={x:E.positionAbsolute.x+x,y:E.positionAbsolute.y+S};c&&(b.x=d[0]*Math.round(b.x/d[0]),b.y=d[1]*Math.round(b.y/d[1]));const{positionAbsolute:T,position:A}=_E(E,b,s,o,void 0,p);E.position=A,E.positionAbsolute=T}return E});u(k,!0,!1)},[])}const Wi={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Us=e=>{const n=({id:i,type:s,data:o,xPos:u,yPos:l,xPosOrigin:c,yPosOrigin:d,selected:p,onClick:h,onMouseEnter:m,onMouseMove:v,onMouseLeave:_,onContextMenu:N,onDoubleClick:x,style:S,className:k,isDraggable:E,isSelectable:b,isConnectable:T,isFocusable:A,selectNodesOnDrag:I,sourcePosition:j,targetPosition:D,hidden:O,resizeObserver:U,dragHandle:H,zIndex:Q,isParent:ee,noDragClassName:R,noPanClassName:G,initialized:B,disableKeyboardA11y:X,ariaLabel:Y,rfId:q,hasHandleBounds:V})=>{const M=bt(),z=L.useRef(null),ae=L.useRef(null),$=L.useRef(j),K=L.useRef(D),Z=L.useRef(s),oe=b||E||h||m||v||_,ce=SE(),he=Bs(i,M.getState,m),me=Bs(i,M.getState,v),Me=Bs(i,M.getState,_),Ie=Bs(i,M.getState,N),Pe=Bs(i,M.getState,x),Ae=we=>{const{nodeDragThreshold:ye}=M.getState();if(b&&(!I||!E||ye>0)&&ag({id:i,store:M,nodeRef:z}),h){const ze=M.getState().nodeInternals.get(i);ze&&h(we,{...ze})}},Ee=we=>{if(!ng(we)&&!X)if(Gb.includes(we.key)&&b){const ye=we.key==="Escape";ag({id:i,store:M,unselect:ye,nodeRef:z})}else E&&p&&Object.prototype.hasOwnProperty.call(Wi,we.key)&&(M.setState({ariaLiveMessage:`Moved selected node ${we.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~u}, y: ${~~l}`}),ce({x:Wi[we.key].x,y:Wi[we.key].y,isShiftPressed:we.shiftKey}))};L.useEffect(()=>()=>{ae.current&&(U==null||U.unobserve(ae.current),ae.current=null)},[]),L.useEffect(()=>{if(z.current&&!O){const we=z.current;(!B||!V||ae.current!==we)&&(ae.current&&(U==null||U.unobserve(ae.current)),U==null||U.observe(we),ae.current=we)}},[O,B,V]),L.useEffect(()=>{const we=Z.current!==s,ye=$.current!==j,ze=K.current!==D;z.current&&(we||ye||ze)&&(we&&(Z.current=s),ye&&($.current=j),ze&&(K.current=D),M.getState().updateNodeDimensions([{id:i,nodeElement:z.current,forceUpdate:!0}]))},[i,s,j,D]);const Ge=xE({nodeRef:z,disabled:O||!E,noDragClassName:R,handleSelector:H,nodeId:i,isSelectable:b,selectNodesOnDrag:I});return O?null:ie.createElement("div",{className:At(["react-flow__node",`react-flow__node-${s}`,{[G]:E},k,{selected:p,selectable:b,parent:ee,dragging:Ge}]),ref:z,style:{zIndex:Q,transform:`translate(${c}px,${d}px)`,pointerEvents:oe?"all":"none",visibility:B?"visible":"hidden",...S},"data-id":i,"data-testid":`rf__node-${i}`,onMouseEnter:he,onMouseMove:me,onMouseLeave:Me,onContextMenu:Ie,onClick:Ae,onDoubleClick:Pe,onKeyDown:A?Ee:void 0,tabIndex:A?0:void 0,role:A?"button":void 0,"aria-describedby":X?void 0:`${hE}-${q}`,"aria-label":Y},ie.createElement(VA,{value:i},ie.createElement(e,{id:i,data:o,type:s,xPos:u,yPos:l,selected:p,isConnectable:T,sourcePosition:j,targetPosition:D,dragging:Ge,dragHandle:H,zIndex:Q})))};return n.displayName="NodeWrapper",L.memo(n)};const MI=e=>{const n=e.getNodes().filter(i=>i.selected);return{...cu(n,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function PI({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const s=bt(),{width:o,height:u,x:l,y:c,transformString:d,userSelectionActive:p}=We(MI,kt),h=SE(),m=L.useRef(null);if(L.useEffect(()=>{var N;i||(N=m.current)==null||N.focus({preventScroll:!0})},[i]),xE({nodeRef:m}),p||!o||!u)return null;const v=e?N=>{const x=s.getState().getNodes().filter(S=>S.selected);e(N,x)}:void 0,_=N=>{Object.prototype.hasOwnProperty.call(Wi,N.key)&&h({x:Wi[N.key].x,y:Wi[N.key].y,isShiftPressed:N.shiftKey})};return ie.createElement("div",{className:At(["react-flow__nodesselection","react-flow__container",n]),style:{transform:d}},ie.createElement("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:i?void 0:-1,onKeyDown:i?void 0:_,style:{width:o,height:u,top:c,left:l}}))}var qI=L.memo(PI);const OI=e=>e.nodesSelectionActive,kE=({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:s,onPaneMouseLeave:o,onPaneContextMenu:u,onPaneScroll:l,deleteKeyCode:c,onMove:d,onMoveStart:p,onMoveEnd:h,selectionKeyCode:m,selectionOnDrag:v,selectionMode:_,onSelectionStart:N,onSelectionEnd:x,multiSelectionKeyCode:S,panActivationKeyCode:k,zoomActivationKeyCode:E,elementsSelectable:b,zoomOnScroll:T,zoomOnPinch:A,panOnScroll:I,panOnScrollSpeed:j,panOnScrollMode:D,zoomOnDoubleClick:O,panOnDrag:U,defaultViewport:H,translateExtent:Q,minZoom:ee,maxZoom:R,preventScrolling:G,onSelectionContextMenu:B,noWheelClassName:X,noPanClassName:Y,disableKeyboardA11y:q})=>{const V=We(OI),M=io(m),z=io(k),ae=z||U,$=z||I,K=M||v&&ae!==!0;return _I({deleteKeyCode:c,multiSelectionKeyCode:S}),ie.createElement(bI,{onMove:d,onMoveStart:p,onMoveEnd:h,onPaneContextMenu:u,elementsSelectable:b,zoomOnScroll:T,zoomOnPinch:A,panOnScroll:$,panOnScrollSpeed:j,panOnScrollMode:D,zoomOnDoubleClick:O,panOnDrag:!M&&ae,defaultViewport:H,translateExtent:Q,minZoom:ee,maxZoom:R,zoomActivationKeyCode:E,preventScrolling:G,noWheelClassName:X,noPanClassName:Y},ie.createElement(yE,{onSelectionStart:N,onSelectionEnd:x,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:s,onPaneMouseLeave:o,onPaneContextMenu:u,onPaneScroll:l,panOnDrag:ae,isSelecting:!!K,selectionMode:_},e,V&&ie.createElement(qI,{onSelectionContextMenu:B,noPanClassName:Y,disableKeyboardA11y:q})))};kE.displayName="FlowRenderer";var LI=L.memo(kE);function $I(e){return We(L.useCallback(i=>e?eE(i.nodeInternals,{x:0,y:0,width:i.width,height:i.height},i.transform,!0):i.getNodes(),[e]))}function DI(e){const n={input:Us(e.input||lE),default:Us(e.default||og),output:Us(e.output||fE),group:Us(e.group||jg)},i={},s=Object.keys(e).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,u)=>(o[u]=Us(e[u]||og),o),i);return{...n,...s}}const FI=({x:e,y:n,width:i,height:s,origin:o})=>!i||!s?{x:e,y:n}:o[0]<0||o[1]<0||o[0]>1||o[1]>1?{x:e,y:n}:{x:e-i*o[0],y:n-s*o[1]},zI=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),bE=e=>{const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:s,elementsSelectable:o,updateNodeDimensions:u,onError:l}=We(zI,kt),c=$I(e.onlyRenderVisibleElements),d=L.useRef(),p=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const h=new ResizeObserver(m=>{const v=m.map(_=>({id:_.target.getAttribute("data-id"),nodeElement:_.target,forceUpdate:!0}));u(v)});return d.current=h,h},[]);return L.useEffect(()=>()=>{var h;(h=d==null?void 0:d.current)==null||h.disconnect()},[]),ie.createElement("div",{className:"react-flow__nodes",style:Ag},c.map(h=>{var A,I,j;let m=h.type||"default";e.nodeTypes[m]||(l==null||l("003",ir.error003(m)),m="default");const v=e.nodeTypes[m]||e.nodeTypes.default,_=!!(h.draggable||n&&typeof h.draggable>"u"),N=!!(h.selectable||o&&typeof h.selectable>"u"),x=!!(h.connectable||i&&typeof h.connectable>"u"),S=!!(h.focusable||s&&typeof h.focusable>"u"),k=e.nodeExtent?bg(h.positionAbsolute,e.nodeExtent):h.positionAbsolute,E=(k==null?void 0:k.x)??0,b=(k==null?void 0:k.y)??0,T=FI({x:E,y:b,width:h.width??0,height:h.height??0,origin:e.nodeOrigin});return ie.createElement(v,{key:h.id,id:h.id,className:h.className,style:h.style,type:m,data:h.data,sourcePosition:h.sourcePosition||Ce.Bottom,targetPosition:h.targetPosition||Ce.Top,hidden:h.hidden,xPos:E,yPos:b,xPosOrigin:T.x,yPosOrigin:T.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!h.selected,isDraggable:_,isSelectable:N,isConnectable:x,isFocusable:S,resizeObserver:p,dragHandle:h.dragHandle,zIndex:((A=h[lt])==null?void 0:A.z)??0,isParent:!!((I=h[lt])!=null&&I.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!h.width&&!!h.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:h.ariaLabel,hasHandleBounds:!!((j=h[lt])!=null&&j.handleBounds)})}))};bE.displayName="NodeRenderer";var BI=L.memo(bE);const UI=(e,n,i)=>i===Ce.Left?e-n:i===Ce.Right?e+n:e,HI=(e,n,i)=>i===Ce.Top?e-n:i===Ce.Bottom?e+n:e,_w="react-flow__edgeupdater",xw=({position:e,centerX:n,centerY:i,radius:s=10,onMouseDown:o,onMouseEnter:u,onMouseOut:l,type:c})=>ie.createElement("circle",{onMouseDown:o,onMouseEnter:u,onMouseOut:l,className:At([_w,`${_w}-${c}`]),cx:UI(n,s,e),cy:HI(i,s,e),r:s,stroke:"transparent",fill:"transparent"}),VI=()=>!0;var Di=e=>{const n=({id:i,className:s,type:o,data:u,onClick:l,onEdgeDoubleClick:c,selected:d,animated:p,label:h,labelStyle:m,labelShowBg:v,labelBgStyle:_,labelBgPadding:N,labelBgBorderRadius:x,style:S,source:k,target:E,sourceX:b,sourceY:T,targetX:A,targetY:I,sourcePosition:j,targetPosition:D,elementsSelectable:O,hidden:U,sourceHandleId:H,targetHandleId:Q,onContextMenu:ee,onMouseEnter:R,onMouseMove:G,onMouseLeave:B,reconnectRadius:X,onReconnect:Y,onReconnectStart:q,onReconnectEnd:V,markerEnd:M,markerStart:z,rfId:ae,ariaLabel:$,isFocusable:K,isReconnectable:Z,pathOptions:oe,interactionWidth:ce,disableKeyboardA11y:he})=>{const me=L.useRef(null),[Me,Ie]=L.useState(!1),[Pe,Ae]=L.useState(!1),Ee=bt(),Ge=L.useMemo(()=>`url('#${ig(z,ae)}')`,[z,ae]),we=L.useMemo(()=>`url('#${ig(M,ae)}')`,[M,ae]);if(U)return null;const ye=Be=>{var Pt;const{edges:mt,addSelectedEdges:nt,unselectNodesAndEdges:Ue,multiSelectionActive:wn}=Ee.getState(),Mt=mt.find(_n=>_n.id===i);Mt&&(O&&(Ee.setState({nodesSelectionActive:!1}),Mt.selected&&wn?(Ue({nodes:[],edges:[Mt]}),(Pt=me.current)==null||Pt.blur()):nt([i])),l&&l(Be,Mt))},ze=zs(i,Ee.getState,c),Xe=zs(i,Ee.getState,ee),ht=zs(i,Ee.getState,R),ot=zs(i,Ee.getState,G),Ke=zs(i,Ee.getState,B),wt=(Be,mt)=>{if(Be.button!==0)return;const{edges:nt,isValidConnection:Ue}=Ee.getState(),wn=mt?E:k,Mt=(mt?Q:H)||null,Pt=mt?"target":"source",_n=Ue||VI,qn=mt,Ft=nt.find(Zt=>Zt.id===i);Ae(!0),q==null||q(Be,Ft,Pt);const sn=Zt=>{Ae(!1),V==null||V(Zt,Ft,Pt)};sE({event:Be,handleId:Mt,nodeId:wn,onConnect:Zt=>Y==null?void 0:Y(Ft,Zt),isTarget:qn,getState:Ee.getState,setState:Ee.setState,isValidConnection:_n,edgeUpdaterType:Pt,onReconnectEnd:sn})},pt=Be=>wt(Be,!0),Dt=Be=>wt(Be,!1),It=()=>Ie(!0),ct=()=>Ie(!1),at=!O&&!l,Et=Be=>{var mt;if(!he&&Gb.includes(Be.key)&&O){const{unselectNodesAndEdges:nt,addSelectedEdges:Ue,edges:wn}=Ee.getState();Be.key==="Escape"?((mt=me.current)==null||mt.blur(),nt({edges:[wn.find(Pt=>Pt.id===i)]})):Ue([i])}};return ie.createElement("g",{className:At(["react-flow__edge",`react-flow__edge-${o}`,s,{selected:d,animated:p,inactive:at,updating:Me}]),onClick:ye,onDoubleClick:ze,onContextMenu:Xe,onMouseEnter:ht,onMouseMove:ot,onMouseLeave:Ke,onKeyDown:K?Et:void 0,tabIndex:K?0:void 0,role:K?"button":"img","data-testid":`rf__edge-${i}`,"aria-label":$===null?void 0:$||`Edge from ${k} to ${E}`,"aria-describedby":K?`${pE}-${ae}`:void 0,ref:me},!Pe&&ie.createElement(e,{id:i,source:k,target:E,selected:d,animated:p,label:h,labelStyle:m,labelShowBg:v,labelBgStyle:_,labelBgPadding:N,labelBgBorderRadius:x,data:u,style:S,sourceX:b,sourceY:T,targetX:A,targetY:I,sourcePosition:j,targetPosition:D,sourceHandleId:H,targetHandleId:Q,markerStart:Ge,markerEnd:we,pathOptions:oe,interactionWidth:ce}),Z&&ie.createElement(ie.Fragment,null,(Z==="source"||Z===!0)&&ie.createElement(xw,{position:j,centerX:b,centerY:T,radius:X,onMouseDown:pt,onMouseEnter:It,onMouseOut:ct,type:"source"}),(Z==="target"||Z===!0)&&ie.createElement(xw,{position:D,centerX:A,centerY:I,radius:X,onMouseDown:Dt,onMouseEnter:It,onMouseOut:ct,type:"target"})))};return n.displayName="EdgeWrapper",L.memo(n)};function WI(e){const n={default:Di(e.default||eu),straight:Di(e.bezier||Cg),step:Di(e.step||Ng),smoothstep:Di(e.step||lu),simplebezier:Di(e.simplebezier||Eg)},i={},s=Object.keys(e).filter(o=>!["default","bezier"].includes(o)).reduce((o,u)=>(o[u]=Di(e[u]||eu),o),i);return{...n,...s}}function Sw(e,n,i=null){const s=((i==null?void 0:i.x)||0)+n.x,o=((i==null?void 0:i.y)||0)+n.y,u=(i==null?void 0:i.width)||n.width,l=(i==null?void 0:i.height)||n.height;switch(e){case Ce.Top:return{x:s+u/2,y:o};case Ce.Right:return{x:s+u,y:o+l/2};case Ce.Bottom:return{x:s+u/2,y:o+l};case Ce.Left:return{x:s,y:o+l/2}}}function kw(e,n){return e?e.length===1||!n?e[0]:n&&e.find(i=>i.id===n)||null:null}const GI=(e,n,i,s,o,u)=>{const l=Sw(i,e,n),c=Sw(u,s,o);return{sourceX:l.x,sourceY:l.y,targetX:c.x,targetY:c.y}};function KI({sourcePos:e,targetPos:n,sourceWidth:i,sourceHeight:s,targetWidth:o,targetHeight:u,width:l,height:c,transform:d}){const p={x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x+i,n.x+o),y2:Math.max(e.y+s,n.y+u)};p.x===p.x2&&(p.x2+=1),p.y===p.y2&&(p.y2+=1);const h=no({x:(0-d[0])/d[2],y:(0-d[1])/d[2],width:l/d[2],height:c/d[2]}),m=Math.max(0,Math.min(h.x2,p.x2)-Math.max(h.x,p.x)),v=Math.max(0,Math.min(h.y2,p.y2)-Math.max(h.y,p.y));return Math.ceil(m*v)>0}function bw(e){var s,o,u,l,c;const n=((s=e==null?void 0:e[lt])==null?void 0:s.handleBounds)||null,i=n&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.x)<"u"&&typeof((u=e==null?void 0:e.positionAbsolute)==null?void 0:u.y)<"u";return[{x:((l=e==null?void 0:e.positionAbsolute)==null?void 0:l.x)||0,y:((c=e==null?void 0:e.positionAbsolute)==null?void 0:c.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},n,!!i]}const YI=[{level:0,isMaxLevel:!0,edges:[]}];function XI(e,n,i=!1){let s=-1;const o=e.reduce((l,c)=>{var h,m;const d=gn(c.zIndex);let p=d?c.zIndex:0;if(i){const v=n.get(c.target),_=n.get(c.source),N=c.selected||(v==null?void 0:v.selected)||(_==null?void 0:_.selected),x=Math.max(((h=_==null?void 0:_[lt])==null?void 0:h.z)||0,((m=v==null?void 0:v[lt])==null?void 0:m.z)||0,1e3);p=(d?c.zIndex:0)+(N?x:0)}return l[p]?l[p].push(c):l[p]=[c],s=p>s?p:s,l},{}),u=Object.entries(o).map(([l,c])=>{const d=+l;return{edges:c,level:d,isMaxLevel:d===s}});return u.length===0?YI:u}function QI(e,n,i){const s=We(L.useCallback(o=>e?o.edges.filter(u=>{const l=n.get(u.source),c=n.get(u.target);return(l==null?void 0:l.width)&&(l==null?void 0:l.height)&&(c==null?void 0:c.width)&&(c==null?void 0:c.height)&&KI({sourcePos:l.positionAbsolute||{x:0,y:0},targetPos:c.positionAbsolute||{x:0,y:0},sourceWidth:l.width,sourceHeight:l.height,targetWidth:c.width,targetHeight:c.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[e,n]));return XI(s,n,i)}const ZI=({color:e="none",strokeWidth:n=1})=>ie.createElement("polyline",{style:{stroke:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),JI=({color:e="none",strokeWidth:n=1})=>ie.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Ew={[Ja.Arrow]:ZI,[Ja.ArrowClosed]:JI};function eM(e){const n=bt();return L.useMemo(()=>{var o,u;return Object.prototype.hasOwnProperty.call(Ew,e)?Ew[e]:((u=(o=n.getState()).onError)==null||u.call(o,"009",ir.error009(e)),null)},[e])}const tM=({id:e,type:n,color:i,width:s=12.5,height:o=12.5,markerUnits:u="strokeWidth",strokeWidth:l,orient:c="auto-start-reverse"})=>{const d=eM(n);return d?ie.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${s}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:u,orient:c,refX:"0",refY:"0"},ie.createElement(d,{color:i,strokeWidth:l})):null},nM=({defaultColor:e,rfId:n})=>i=>{const s=[];return i.edges.reduce((o,u)=>([u.markerStart,u.markerEnd].forEach(l=>{if(l&&typeof l=="object"){const c=ig(l,n);s.includes(c)||(o.push({id:c,color:l.color||e,...l}),s.push(c))}}),o),[]).sort((o,u)=>o.id.localeCompare(u.id))},EE=({defaultColor:e,rfId:n})=>{const i=We(L.useCallback(nM({defaultColor:e,rfId:n}),[e,n]),(s,o)=>!(s.length!==o.length||s.some((u,l)=>u.id!==o[l].id)));return ie.createElement("defs",null,i.map(s=>ie.createElement(tM,{id:s.id,key:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient})))};EE.displayName="MarkerDefinitions";var rM=L.memo(EE);const iM=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),NE=({defaultMarkerColor:e,onlyRenderVisibleElements:n,elevateEdgesOnSelect:i,rfId:s,edgeTypes:o,noPanClassName:u,onEdgeContextMenu:l,onEdgeMouseEnter:c,onEdgeMouseMove:d,onEdgeMouseLeave:p,onEdgeClick:h,onEdgeDoubleClick:m,onReconnect:v,onReconnectStart:_,onReconnectEnd:N,reconnectRadius:x,children:S,disableKeyboardA11y:k})=>{const{edgesFocusable:E,edgesUpdatable:b,elementsSelectable:T,width:A,height:I,connectionMode:j,nodeInternals:D,onError:O}=We(iM,kt),U=QI(n,D,i);return A?ie.createElement(ie.Fragment,null,U.map(({level:H,edges:Q,isMaxLevel:ee})=>ie.createElement("svg",{key:H,style:{zIndex:H},width:A,height:I,className:"react-flow__edges react-flow__container"},ee&&ie.createElement(rM,{defaultColor:e,rfId:s}),ie.createElement("g",null,Q.map(R=>{const[G,B,X]=bw(D.get(R.source)),[Y,q,V]=bw(D.get(R.target));if(!X||!V)return null;let M=R.type||"default";o[M]||(O==null||O("011",ir.error011(M)),M="default");const z=o[M]||o.default,ae=j===ri.Strict?q.target:(q.target??[]).concat(q.source??[]),$=kw(B.source,R.sourceHandle),K=kw(ae,R.targetHandle),Z=($==null?void 0:$.position)||Ce.Bottom,oe=(K==null?void 0:K.position)||Ce.Top,ce=!!(R.focusable||E&&typeof R.focusable>"u"),he=R.reconnectable||R.updatable,me=typeof v<"u"&&(he||b&&typeof he>"u");if(!$||!K)return O==null||O("008",ir.error008($,R)),null;const{sourceX:Me,sourceY:Ie,targetX:Pe,targetY:Ae}=GI(G,$,Z,Y,K,oe);return ie.createElement(z,{key:R.id,id:R.id,className:At([R.className,u]),type:M,data:R.data,selected:!!R.selected,animated:!!R.animated,hidden:!!R.hidden,label:R.label,labelStyle:R.labelStyle,labelShowBg:R.labelShowBg,labelBgStyle:R.labelBgStyle,labelBgPadding:R.labelBgPadding,labelBgBorderRadius:R.labelBgBorderRadius,style:R.style,source:R.source,target:R.target,sourceHandleId:R.sourceHandle,targetHandleId:R.targetHandle,markerEnd:R.markerEnd,markerStart:R.markerStart,sourceX:Me,sourceY:Ie,targetX:Pe,targetY:Ae,sourcePosition:Z,targetPosition:oe,elementsSelectable:T,onContextMenu:l,onMouseEnter:c,onMouseMove:d,onMouseLeave:p,onClick:h,onEdgeDoubleClick:m,onReconnect:v,onReconnectStart:_,onReconnectEnd:N,reconnectRadius:x,rfId:s,ariaLabel:R.ariaLabel,isFocusable:ce,isReconnectable:me,pathOptions:"pathOptions"in R?R.pathOptions:void 0,interactionWidth:R.interactionWidth,disableKeyboardA11y:k})})))),S):null};NE.displayName="EdgeRenderer";var sM=L.memo(NE);const oM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function aM({children:e}){const n=We(oM);return ie.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:n}},e)}function uM(e){const n=lo(),i=L.useRef(!1);L.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const lM={[Ce.Left]:Ce.Right,[Ce.Right]:Ce.Left,[Ce.Top]:Ce.Bottom,[Ce.Bottom]:Ce.Top},CE=({nodeId:e,handleType:n,style:i,type:s=Ir.Bezier,CustomComponent:o,connectionStatus:u})=>{var I,j,D;const{fromNode:l,handleId:c,toX:d,toY:p,connectionMode:h}=We(L.useCallback(O=>({fromNode:O.nodeInternals.get(e),handleId:O.connectionHandleId,toX:(O.connectionPosition.x-O.transform[0])/O.transform[2],toY:(O.connectionPosition.y-O.transform[1])/O.transform[2],connectionMode:O.connectionMode}),[e]),kt),m=(I=l==null?void 0:l[lt])==null?void 0:I.handleBounds;let v=m==null?void 0:m[n];if(h===ri.Loose&&(v=v||(m==null?void 0:m[n==="source"?"target":"source"])),!l||!v)return null;const _=c?v.find(O=>O.id===c):v[0],N=_?_.x+_.width/2:(l.width??0)/2,x=_?_.y+_.height/2:l.height??0,S=(((j=l.positionAbsolute)==null?void 0:j.x)??0)+N,k=(((D=l.positionAbsolute)==null?void 0:D.y)??0)+x,E=_==null?void 0:_.position,b=E?lM[E]:null;if(!E||!b)return null;if(o)return ie.createElement(o,{connectionLineType:s,connectionLineStyle:i,fromNode:l,fromHandle:_,fromX:S,fromY:k,toX:d,toY:p,fromPosition:E,toPosition:b,connectionStatus:u});let T="";const A={sourceX:S,sourceY:k,sourcePosition:E,targetX:d,targetY:p,targetPosition:b};return s===Ir.Bezier?[T]=Zb(A):s===Ir.Step?[T]=rg({...A,borderRadius:0}):s===Ir.SmoothStep?[T]=rg(A):s===Ir.SimpleBezier?[T]=Qb(A):T=`M${S},${k} ${d},${p}`,ie.createElement("path",{d:T,fill:"none",className:"react-flow__connection-path",style:i})};CE.displayName="ConnectionLine";const cM=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function fM({containerStyle:e,style:n,type:i,component:s}){const{nodeId:o,handleType:u,nodesConnectable:l,width:c,height:d,connectionStatus:p}=We(cM,kt);return!(o&&u&&c&&l)?null:ie.createElement("svg",{style:e,width:c,height:d,className:"react-flow__edges react-flow__connectionline react-flow__container"},ie.createElement("g",{className:At(["react-flow__connection",p])},ie.createElement(CE,{nodeId:o,handleType:u,style:n,type:i,CustomComponent:s,connectionStatus:p})))}function Nw(e,n){return L.useRef(null),bt(),L.useMemo(()=>n(e),[e])}const TE=({nodeTypes:e,edgeTypes:n,onMove:i,onMoveStart:s,onMoveEnd:o,onInit:u,onNodeClick:l,onEdgeClick:c,onNodeDoubleClick:d,onEdgeDoubleClick:p,onNodeMouseEnter:h,onNodeMouseMove:m,onNodeMouseLeave:v,onNodeContextMenu:_,onSelectionContextMenu:N,onSelectionStart:x,onSelectionEnd:S,connectionLineType:k,connectionLineStyle:E,connectionLineComponent:b,connectionLineContainerStyle:T,selectionKeyCode:A,selectionOnDrag:I,selectionMode:j,multiSelectionKeyCode:D,panActivationKeyCode:O,zoomActivationKeyCode:U,deleteKeyCode:H,onlyRenderVisibleElements:Q,elementsSelectable:ee,selectNodesOnDrag:R,defaultViewport:G,translateExtent:B,minZoom:X,maxZoom:Y,preventScrolling:q,defaultMarkerColor:V,zoomOnScroll:M,zoomOnPinch:z,panOnScroll:ae,panOnScrollSpeed:$,panOnScrollMode:K,zoomOnDoubleClick:Z,panOnDrag:oe,onPaneClick:ce,onPaneMouseEnter:he,onPaneMouseMove:me,onPaneMouseLeave:Me,onPaneScroll:Ie,onPaneContextMenu:Pe,onEdgeContextMenu:Ae,onEdgeMouseEnter:Ee,onEdgeMouseMove:Ge,onEdgeMouseLeave:we,onReconnect:ye,onReconnectStart:ze,onReconnectEnd:Xe,reconnectRadius:ht,noDragClassName:ot,noWheelClassName:Ke,noPanClassName:wt,elevateEdgesOnSelect:pt,disableKeyboardA11y:Dt,nodeOrigin:It,nodeExtent:ct,rfId:at})=>{const Et=Nw(e,DI),Be=Nw(n,WI);return uM(u),ie.createElement(LI,{onPaneClick:ce,onPaneMouseEnter:he,onPaneMouseMove:me,onPaneMouseLeave:Me,onPaneContextMenu:Pe,onPaneScroll:Ie,deleteKeyCode:H,selectionKeyCode:A,selectionOnDrag:I,selectionMode:j,onSelectionStart:x,onSelectionEnd:S,multiSelectionKeyCode:D,panActivationKeyCode:O,zoomActivationKeyCode:U,elementsSelectable:ee,onMove:i,onMoveStart:s,onMoveEnd:o,zoomOnScroll:M,zoomOnPinch:z,zoomOnDoubleClick:Z,panOnScroll:ae,panOnScrollSpeed:$,panOnScrollMode:K,panOnDrag:oe,defaultViewport:G,translateExtent:B,minZoom:X,maxZoom:Y,onSelectionContextMenu:N,preventScrolling:q,noDragClassName:ot,noWheelClassName:Ke,noPanClassName:wt,disableKeyboardA11y:Dt},ie.createElement(aM,null,ie.createElement(sM,{edgeTypes:Be,onEdgeClick:c,onEdgeDoubleClick:p,onlyRenderVisibleElements:Q,onEdgeContextMenu:Ae,onEdgeMouseEnter:Ee,onEdgeMouseMove:Ge,onEdgeMouseLeave:we,onReconnect:ye,onReconnectStart:ze,onReconnectEnd:Xe,reconnectRadius:ht,defaultMarkerColor:V,noPanClassName:wt,elevateEdgesOnSelect:!!pt,disableKeyboardA11y:Dt,rfId:at},ie.createElement(fM,{style:E,type:k,component:b,containerStyle:T})),ie.createElement("div",{className:"react-flow__edgelabel-renderer"}),ie.createElement(BI,{nodeTypes:Et,onNodeClick:l,onNodeDoubleClick:d,onNodeMouseEnter:h,onNodeMouseMove:m,onNodeMouseLeave:v,onNodeContextMenu:_,selectNodesOnDrag:R,onlyRenderVisibleElements:Q,noPanClassName:wt,noDragClassName:ot,disableKeyboardA11y:Dt,nodeOrigin:It,nodeExtent:ct,rfId:at})))};TE.displayName="GraphView";var dM=L.memo(TE);const ug=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Rr={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:ug,nodeExtent:ug,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:ri.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:DA,isValidConnection:void 0},hM=()=>eR((e,n)=>({...Rr,setNodes:i=>{const{nodeInternals:s,nodeOrigin:o,elevateNodesOnSelect:u}=n();e({nodeInternals:kc(i,s,o,u)})},getNodes:()=>Array.from(n().nodeInternals.values()),setEdges:i=>{const{defaultEdgeOptions:s={}}=n();e({edges:i.map(o=>({...s,...o}))})},setDefaultNodesAndEdges:(i,s)=>{const o=typeof i<"u",u=typeof s<"u",l=o?kc(i,new Map,n().nodeOrigin,n().elevateNodesOnSelect):new Map;e({nodeInternals:l,edges:u?s:[],hasDefaultNodes:o,hasDefaultEdges:u})},updateNodeDimensions:i=>{const{onNodesChange:s,nodeInternals:o,fitViewOnInit:u,fitViewOnInitDone:l,fitViewOnInitOptions:c,domNode:d,nodeOrigin:p}=n(),h=d==null?void 0:d.querySelector(".react-flow__viewport");if(!h)return;const m=window.getComputedStyle(h),{m22:v}=new window.DOMMatrixReadOnly(m.transform),_=i.reduce((x,S)=>{const k=o.get(S.id);if(k!=null&&k.hidden)o.set(k.id,{...k,[lt]:{...k[lt],handleBounds:void 0}});else if(k){const E=kg(S.nodeElement);!!(E.width&&E.height&&(k.width!==E.width||k.height!==E.height||S.forceUpdate))&&(o.set(k.id,{...k,[lt]:{...k[lt],handleBounds:{source:ww(".source",S.nodeElement,v,p),target:ww(".target",S.nodeElement,v,p)}},...E}),x.push({id:k.id,type:"dimensions",dimensions:E}))}return x},[]);gE(o,p);const N=l||u&&!l&&vE(n,{initial:!0,...c});e({nodeInternals:new Map(o),fitViewOnInitDone:N}),(_==null?void 0:_.length)>0&&(s==null||s(_))},updateNodePositions:(i,s=!0,o=!1)=>{const{triggerNodeChanges:u}=n(),l=i.map(c=>{const d={id:c.id,type:"position",dragging:o};return s&&(d.positionAbsolute=c.positionAbsolute,d.position=c.position),d});u(l)},triggerNodeChanges:i=>{const{onNodesChange:s,nodeInternals:o,hasDefaultNodes:u,nodeOrigin:l,getNodes:c,elevateNodesOnSelect:d}=n();if(i!=null&&i.length){if(u){const p=TI(i,c()),h=kc(p,o,l,d);e({nodeInternals:h})}s==null||s(i)}},addSelectedNodes:i=>{const{multiSelectionActive:s,edges:o,getNodes:u}=n();let l,c=null;s?l=i.map(d=>Ar(d,!0)):(l=Bi(u(),i),c=Bi(o,[])),qa({changedNodes:l,changedEdges:c,get:n,set:e})},addSelectedEdges:i=>{const{multiSelectionActive:s,edges:o,getNodes:u}=n();let l,c=null;s?l=i.map(d=>Ar(d,!0)):(l=Bi(o,i),c=Bi(u(),[])),qa({changedNodes:c,changedEdges:l,get:n,set:e})},unselectNodesAndEdges:({nodes:i,edges:s}={})=>{const{edges:o,getNodes:u}=n(),l=i||u(),c=s||o,d=l.map(h=>(h.selected=!1,Ar(h.id,!1))),p=c.map(h=>Ar(h.id,!1));qa({changedNodes:d,changedEdges:p,get:n,set:e})},setMinZoom:i=>{const{d3Zoom:s,maxZoom:o}=n();s==null||s.scaleExtent([i,o]),e({minZoom:i})},setMaxZoom:i=>{const{d3Zoom:s,minZoom:o}=n();s==null||s.scaleExtent([o,i]),e({maxZoom:i})},setTranslateExtent:i=>{var s;(s=n().d3Zoom)==null||s.translateExtent(i),e({translateExtent:i})},resetSelectedElements:()=>{const{edges:i,getNodes:s}=n(),u=s().filter(c=>c.selected).map(c=>Ar(c.id,!1)),l=i.filter(c=>c.selected).map(c=>Ar(c.id,!1));qa({changedNodes:u,changedEdges:l,get:n,set:e})},setNodeExtent:i=>{const{nodeInternals:s}=n();s.forEach(o=>{o.positionAbsolute=bg(o.position,i)}),e({nodeExtent:i,nodeInternals:new Map(s)})},panBy:i=>{const{transform:s,width:o,height:u,d3Zoom:l,d3Selection:c,translateExtent:d}=n();if(!l||!c||!i.x&&!i.y)return!1;const p=nr.translate(s[0]+i.x,s[1]+i.y).scale(s[2]),h=[[0,0],[o,u]],m=l==null?void 0:l.constrain()(p,h,d);return l.transform(c,m),s[0]!==m.x||s[1]!==m.y||s[2]!==m.k},cancelConnection:()=>e({connectionNodeId:Rr.connectionNodeId,connectionHandleId:Rr.connectionHandleId,connectionHandleType:Rr.connectionHandleType,connectionStatus:Rr.connectionStatus,connectionStartHandle:Rr.connectionStartHandle,connectionEndHandle:Rr.connectionEndHandle}),reset:()=>e({...Rr})}),Object.is),Ig=({children:e})=>{const n=L.useRef(null);return n.current||(n.current=hM()),ie.createElement(IA,{value:n.current},e)};Ig.displayName="ReactFlowProvider";const RE=({children:e})=>L.useContext(uu)?ie.createElement(ie.Fragment,null,e):ie.createElement(Ig,null,e);RE.displayName="ReactFlowWrapper";const pM={input:lE,default:og,output:fE,group:jg},mM={default:eu,straight:Cg,step:Ng,smoothstep:lu,simplebezier:Eg},gM=[0,0],vM=[15,15],yM={x:0,y:0,zoom:1},wM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},jE=L.forwardRef(({nodes:e,edges:n,defaultNodes:i,defaultEdges:s,className:o,nodeTypes:u=pM,edgeTypes:l=mM,onNodeClick:c,onEdgeClick:d,onInit:p,onMove:h,onMoveStart:m,onMoveEnd:v,onConnect:_,onConnectStart:N,onConnectEnd:x,onClickConnectStart:S,onClickConnectEnd:k,onNodeMouseEnter:E,onNodeMouseMove:b,onNodeMouseLeave:T,onNodeContextMenu:A,onNodeDoubleClick:I,onNodeDragStart:j,onNodeDrag:D,onNodeDragStop:O,onNodesDelete:U,onEdgesDelete:H,onSelectionChange:Q,onSelectionDragStart:ee,onSelectionDrag:R,onSelectionDragStop:G,onSelectionContextMenu:B,onSelectionStart:X,onSelectionEnd:Y,connectionMode:q=ri.Strict,connectionLineType:V=Ir.Bezier,connectionLineStyle:M,connectionLineComponent:z,connectionLineContainerStyle:ae,deleteKeyCode:$="Backspace",selectionKeyCode:K="Shift",selectionOnDrag:Z=!1,selectionMode:oe=ro.Full,panActivationKeyCode:ce="Space",multiSelectionKeyCode:he=Za()?"Meta":"Control",zoomActivationKeyCode:me=Za()?"Meta":"Control",snapToGrid:Me=!1,snapGrid:Ie=vM,onlyRenderVisibleElements:Pe=!1,selectNodesOnDrag:Ae=!0,nodesDraggable:Ee,nodesConnectable:Ge,nodesFocusable:we,nodeOrigin:ye=gM,edgesFocusable:ze,edgesUpdatable:Xe,elementsSelectable:ht,defaultViewport:ot=yM,minZoom:Ke=.5,maxZoom:wt=2,translateExtent:pt=ug,preventScrolling:Dt=!0,nodeExtent:It,defaultMarkerColor:ct="#b1b1b7",zoomOnScroll:at=!0,zoomOnPinch:Et=!0,panOnScroll:Be=!1,panOnScrollSpeed:mt=.5,panOnScrollMode:nt=Jr.Free,zoomOnDoubleClick:Ue=!0,panOnDrag:wn=!0,onPaneClick:Mt,onPaneMouseEnter:Pt,onPaneMouseMove:_n,onPaneMouseLeave:qn,onPaneScroll:Ft,onPaneContextMenu:sn,children:Je,onEdgeContextMenu:Zt,onEdgeDoubleClick:ar,onEdgeMouseEnter:ur,onEdgeMouseMove:Or,onEdgeMouseLeave:lr,onEdgeUpdate:Hn,onEdgeUpdateStart:ui,onEdgeUpdateEnd:gt,onReconnect:se,onReconnectStart:re,onReconnectEnd:pe,reconnectRadius:ge=10,edgeUpdaterRadius:xe=10,onNodesChange:ke,onEdgesChange:Le,noDragClassName:_t="nodrag",noWheelClassName:on="nowheel",noPanClassName:ft="nopan",fitView:He=!1,fitViewOptions:On,connectOnClick:li=!0,attributionPosition:ns,proOptions:ci,defaultEdgeOptions:fi,elevateNodesOnSelect:vo=!0,elevateEdgesOnSelect:yo=!1,disableKeyboardA11y:wo=!1,autoPanOnConnect:Tu=!0,autoPanOnNodeDrag:rt=!0,connectionRadius:Ru=20,isValidConnection:rs,onError:_o,style:di,id:xo,nodeDragThreshold:So,...hi},an)=>{const is=xo||"1";return ie.createElement("div",{...hi,style:{...di,...wM},ref:an,className:At(["react-flow",o]),"data-testid":"rf__wrapper",id:xo},ie.createElement(RE,null,ie.createElement(dM,{onInit:p,onMove:h,onMoveStart:m,onMoveEnd:v,onNodeClick:c,onEdgeClick:d,onNodeMouseEnter:E,onNodeMouseMove:b,onNodeMouseLeave:T,onNodeContextMenu:A,onNodeDoubleClick:I,nodeTypes:u,edgeTypes:l,connectionLineType:V,connectionLineStyle:M,connectionLineComponent:z,connectionLineContainerStyle:ae,selectionKeyCode:K,selectionOnDrag:Z,selectionMode:oe,deleteKeyCode:$,multiSelectionKeyCode:he,panActivationKeyCode:ce,zoomActivationKeyCode:me,onlyRenderVisibleElements:Pe,selectNodesOnDrag:Ae,defaultViewport:ot,translateExtent:pt,minZoom:Ke,maxZoom:wt,preventScrolling:Dt,zoomOnScroll:at,zoomOnPinch:Et,zoomOnDoubleClick:Ue,panOnScroll:Be,panOnScrollSpeed:mt,panOnScrollMode:nt,panOnDrag:wn,onPaneClick:Mt,onPaneMouseEnter:Pt,onPaneMouseMove:_n,onPaneMouseLeave:qn,onPaneScroll:Ft,onPaneContextMenu:sn,onSelectionContextMenu:B,onSelectionStart:X,onSelectionEnd:Y,onEdgeContextMenu:Zt,onEdgeDoubleClick:ar,onEdgeMouseEnter:ur,onEdgeMouseMove:Or,onEdgeMouseLeave:lr,onReconnect:se??Hn,onReconnectStart:re??ui,onReconnectEnd:pe??gt,reconnectRadius:ge??xe,defaultMarkerColor:ct,noDragClassName:_t,noWheelClassName:on,noPanClassName:ft,elevateEdgesOnSelect:yo,rfId:is,disableKeyboardA11y:wo,nodeOrigin:ye,nodeExtent:It}),ie.createElement(uI,{nodes:e,edges:n,defaultNodes:i,defaultEdges:s,onConnect:_,onConnectStart:N,onConnectEnd:x,onClickConnectStart:S,onClickConnectEnd:k,nodesDraggable:Ee,nodesConnectable:Ge,nodesFocusable:we,edgesFocusable:ze,edgesUpdatable:Xe,elementsSelectable:ht,elevateNodesOnSelect:vo,minZoom:Ke,maxZoom:wt,nodeExtent:It,onNodesChange:ke,onEdgesChange:Le,snapToGrid:Me,snapGrid:Ie,connectionMode:q,translateExtent:pt,connectOnClick:li,defaultEdgeOptions:fi,fitView:He,fitViewOptions:On,onNodesDelete:U,onEdgesDelete:H,onNodeDragStart:j,onNodeDrag:D,onNodeDragStop:O,onSelectionDrag:R,onSelectionDragStart:ee,onSelectionDragStop:G,noPanClassName:ft,nodeOrigin:ye,rfId:is,autoPanOnConnect:Tu,autoPanOnNodeDrag:rt,onError:_o,connectionRadius:Ru,isValidConnection:rs,nodeDragThreshold:So}),ie.createElement(oI,{onSelectionChange:Q}),Je,ie.createElement(PA,{proOptions:ci,position:ns}),ie.createElement(hI,{rfId:is,disableKeyboardA11y:wo})))});jE.displayName="ReactFlow";const _M=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});function AE(){return We(_M,kt)}const IE=({id:e,x:n,y:i,width:s,height:o,style:u,color:l,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v,selected:_})=>{const{background:N,backgroundColor:x}=u||{},S=l||N||x;return ie.createElement("rect",{className:At(["react-flow__minimap-node",{selected:_},p]),x:n,y:i,rx:h,ry:h,width:s,height:o,fill:S,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?k=>v(k,e):void 0})};IE.displayName="MiniMapNode";var xM=L.memo(IE);const SM=e=>e.nodeOrigin,kM=e=>e.getNodes().filter(n=>!n.hidden&&n.width&&n.height),Cc=e=>e instanceof Function?e:()=>e;function bM({nodeStrokeColor:e="transparent",nodeColor:n="#e2e2e2",nodeClassName:i="",nodeBorderRadius:s=5,nodeStrokeWidth:o=2,nodeComponent:u=xM,onClick:l}){const c=We(kM,kt),d=We(SM),p=Cc(n),h=Cc(e),m=Cc(i),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return ie.createElement(ie.Fragment,null,c.map(_=>{const{x:N,y:x}=ti(_,d).positionAbsolute;return ie.createElement(u,{key:_.id,x:N,y:x,width:_.width,height:_.height,style:_.style,selected:_.selected,className:m(_),color:p(_),borderRadius:s,strokeColor:h(_),strokeWidth:o,shapeRendering:v,onClick:l,id:_.id})}))}var EM=L.memo(bM);const NM=200,CM=150,TM=e=>{const n=e.getNodes(),i={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:i,boundingRect:n.length>0?LA(cu(n,e.nodeOrigin),i):i,rfId:e.rfId}},RM="react-flow__minimap-desc";function ME({style:e,className:n,nodeStrokeColor:i="transparent",nodeColor:s="#e2e2e2",nodeClassName:o="",nodeBorderRadius:u=5,nodeStrokeWidth:l=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:_,pannable:N=!1,zoomable:x=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:E=10,offsetScale:b=5}){const T=bt(),A=L.useRef(null),{boundingRect:I,viewBB:j,rfId:D}=We(TM,kt),O=(e==null?void 0:e.width)??NM,U=(e==null?void 0:e.height)??CM,H=I.width/O,Q=I.height/U,ee=Math.max(H,Q),R=ee*O,G=ee*U,B=b*ee,X=I.x-(R-I.width)/2-B,Y=I.y-(G-I.height)/2-B,q=R+B*2,V=G+B*2,M=`${RM}-${D}`,z=L.useRef(0);z.current=ee,L.useEffect(()=>{if(A.current){const K=mn(A.current),Z=he=>{const{transform:me,d3Selection:Me,d3Zoom:Ie}=T.getState();if(he.sourceEvent.type!=="wheel"||!Me||!Ie)return;const Pe=-he.sourceEvent.deltaY*(he.sourceEvent.deltaMode===1?.05:he.sourceEvent.deltaMode?1:.002)*E,Ae=me[2]*Math.pow(2,Pe);Ie.scaleTo(Me,Ae)},oe=he=>{const{transform:me,d3Selection:Me,d3Zoom:Ie,translateExtent:Pe,width:Ae,height:Ee}=T.getState();if(he.sourceEvent.type!=="mousemove"||!Me||!Ie)return;const Ge=z.current*Math.max(1,me[2])*(k?-1:1),we={x:me[0]-he.sourceEvent.movementX*Ge,y:me[1]-he.sourceEvent.movementY*Ge},ye=[[0,0],[Ae,Ee]],ze=nr.translate(we.x,we.y).scale(me[2]),Xe=Ie.constrain()(ze,ye,Pe);Ie.transform(Me,Xe)},ce=zb().on("zoom",N?oe:null).on("zoom.wheel",x?Z:null);return K.call(ce),()=>{K.on("zoom",null)}}},[N,x,k,E]);const ae=v?K=>{const Z=Rn(K);v(K,{x:Z[0],y:Z[1]})}:void 0,$=_?(K,Z)=>{const oe=T.getState().nodeInternals.get(Z);_(K,oe)}:void 0;return ie.createElement(Sg,{position:m,style:e,className:At(["react-flow__minimap",n]),"data-testid":"rf__minimap"},ie.createElement("svg",{width:O,height:U,viewBox:`${X} ${Y} ${q} ${V}`,role:"img","aria-labelledby":M,ref:A,onClick:ae},S&&ie.createElement("title",{id:M},S),ie.createElement(EM,{onClick:$,nodeColor:s,nodeStrokeColor:i,nodeBorderRadius:u,nodeClassName:o,nodeStrokeWidth:l,nodeComponent:c}),ie.createElement("path",{className:"react-flow__minimap-mask",d:`M${X-B},${Y-B}h${q+B*2}v${V+B*2}h${-q-B*2}z
57
57
  M${j.x},${j.y}h${j.width}v${j.height}h${-j.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})))}ME.displayName="MiniMap";var jM=L.memo(ME);function AM(){return ie.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},ie.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function IM(){return ie.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},ie.createElement("path",{d:"M0 0h32v4.2H0z"}))}function MM(){return ie.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},ie.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function PM(){return ie.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},ie.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function qM(){return ie.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},ie.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const Ui=({children:e,className:n,...i})=>ie.createElement("button",{type:"button",className:At(["react-flow__controls-button",n]),...i},e);Ui.displayName="ControlButton";const OM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),PE=({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:s=!0,fitViewOptions:o,onZoomIn:u,onZoomOut:l,onFitView:c,onInteractiveChange:d,className:p,children:h,position:m="bottom-left"})=>{const v=bt(),[_,N]=L.useState(!1),{isInteractive:x,minZoomReached:S,maxZoomReached:k}=We(OM,kt),{zoomIn:E,zoomOut:b,fitView:T}=lo();if(L.useEffect(()=>{N(!0)},[]),!_)return null;const A=()=>{E(),u==null||u()},I=()=>{b(),l==null||l()},j=()=>{T(o),c==null||c()},D=()=>{v.setState({nodesDraggable:!x,nodesConnectable:!x,elementsSelectable:!x}),d==null||d(!x)};return ie.createElement(Sg,{className:At(["react-flow__controls",p]),position:m,style:e,"data-testid":"rf__controls"},n&&ie.createElement(ie.Fragment,null,ie.createElement(Ui,{onClick:A,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:k},ie.createElement(AM,null)),ie.createElement(Ui,{onClick:I,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:S},ie.createElement(IM,null))),i&&ie.createElement(Ui,{className:"react-flow__controls-fitview",onClick:j,title:"fit view","aria-label":"fit view"},ie.createElement(MM,null)),s&&ie.createElement(Ui,{className:"react-flow__controls-interactive",onClick:D,title:"toggle interactivity","aria-label":"toggle interactivity"},x?ie.createElement(qM,null):ie.createElement(PM,null)),h)};PE.displayName="Controls";var LM=L.memo(PE),An;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(An||(An={}));function $M({color:e,dimensions:n,lineWidth:i}){return ie.createElement("path",{stroke:e,strokeWidth:i,d:`M${n[0]/2} 0 V${n[1]} M0 ${n[1]/2} H${n[0]}`})}function DM({color:e,radius:n}){return ie.createElement("circle",{cx:n,cy:n,r:n,fill:e})}const FM={[An.Dots]:"#91919a",[An.Lines]:"#eee",[An.Cross]:"#e2e2e2"},zM={[An.Dots]:1,[An.Lines]:1,[An.Cross]:6},BM=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function qE({id:e,variant:n=An.Dots,gap:i=20,size:s,lineWidth:o=1,offset:u=2,color:l,style:c,className:d}){const p=L.useRef(null),{transform:h,patternId:m}=We(BM,kt),v=l||FM[n],_=s||zM[n],N=n===An.Dots,x=n===An.Cross,S=Array.isArray(i)?i:[i,i],k=[S[0]*h[2]||1,S[1]*h[2]||1],E=_*h[2],b=x?[E,E]:k,T=N?[E/u,E/u]:[b[0]/u,b[1]/u];return ie.createElement("svg",{className:At(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background"},ie.createElement("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`},N?ie.createElement(DM,{color:v,radius:E/u}):ie.createElement($M,{dimensions:b,color:v,lineWidth:o})),ie.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`}))}qE.displayName="Background";var UM=L.memo(qE);function OE(){return{inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreateTokens:0}}function LE(e,n=0){if(!e||typeof e!="object"||n>6)return null;const i=e;if(typeof i.input_tokens=="number"||typeof i.output_tokens=="number"||typeof i.cache_read_input_tokens=="number"||typeof i.cache_creation_input_tokens=="number")return{inputTokens:Number(i.input_tokens??0),outputTokens:Number(i.output_tokens??0),cacheReadTokens:Number(i.cache_read_input_tokens??0),cacheCreateTokens:Number(i.cache_creation_input_tokens??0)};for(const s of Object.values(i)){const o=LE(s,n+1);if(o)return o}return null}function HM(e,n){e.inputTokens+=n.inputTokens,e.outputTokens+=n.outputTokens,e.cacheReadTokens+=n.cacheReadTokens,e.cacheCreateTokens+=n.cacheCreateTokens}const VM=/^(?:claude[-_]|gpt[-_]|o\d|codex[-_])/i;function $E(e,n=0){if(!e||typeof e!="object"||n>6)return null;const i=e;if(typeof i.model=="string"&&VM.test(i.model))return i.model;for(const s of Object.values(i)){const o=$E(s,n+1);if(o)return o}return null}function lg(){return{agents:new Map,toolIndex:new Map,toolOwner:new Map,activeSubagentStack:new Map,lastSeq:0,totalEvents:0}}function Pr(e){if(!e)return;const n=e.replace(/\\/g,"/").split("/").filter(Boolean);return n[n.length-1]}function Mg(e,n){return`${e}::${n}`}function tu(e){return e.agent_type??e.subagent_type??"subagent"}function cg(e){return e.agent_id?e.agent_id:e.parent_tool_use_id?e.parent_tool_use_id:null}function Xs(e,n,i,s){const o=n;let u=e.agents.get(o);return u||(u={id:o,sessionId:n,label:"session",kind:"root",state:"active",startedAt:i,tools:[],prompts:[],toolCount:0,childCount:0,synthetic:s,inFlightTool:null,usage:OE()},e.agents.set(o,u),u)}function DE(e,n,i,s){const o=Mg(n,i),u=e.agents.get(o);if(!u)return null;!u.cwd&&s.cwd&&(u.cwd=s.cwd,u.cwdBasename=Pr(s.cwd));const l=tu(s);return l&&(u.label==="subagent"||!u.label)&&(u.label=l),u}function Cw(e,n,i){const s=n.session_id??"unknown",o=cg(n);if(o){const d=DE(e,s,o,n);if(d)return d}const u=e.activeSubagentStack.get(s),l=u&&u.length>0?u[u.length-1]:null;if(l){const d=e.agents.get(Mg(s,l));if(d)return!d.cwd&&n.cwd&&(d.cwd=n.cwd,d.cwdBasename=Pr(n.cwd)),d}const c=Xs(e,s,i,!1);return c.synthetic&&(c.synthetic=!1,c.startedAt=i),!c.cwd&&n.cwd&&(c.cwd=n.cwd,c.cwdBasename=Pr(n.cwd)),c.label==="session"&&n.cwd&&(c.label=Pr(n.cwd)??"session"),c}function WM(e,n,i,s,o){const u=Mg(n,i),l=Xs(e,n,o,!0);let c=e.agents.get(u);if(c){!c.cwd&&s.cwd&&(c.cwd=s.cwd,c.cwdBasename=Pr(s.cwd));const d=tu(s);return d&&(c.label==="subagent"||!c.label)&&(c.label=d),c}return c={id:u,sessionId:n,label:tu(s),kind:"subagent",parentId:l.id,state:"active",startedAt:o,tools:[],prompts:[],cwd:s.cwd,cwdBasename:Pr(s.cwd),toolCount:0,childCount:0,inFlightTool:null,usage:OE()},e.agents.set(u,c),l.childCount+=1,c}function GM(e,n,i){const s=e.activeSubagentStack.get(n)??[];s.push(i),e.activeSubagentStack.set(n,s)}function KM(e,n,i){const s=e.activeSubagentStack.get(n);if(s){for(let o=s.length-1;o>=0;o--)if(s[o]===i){s.splice(o,1);break}s.length===0&&e.activeSubagentStack.delete(n)}}function Tc(e,n=80){if(e==null)return"";if(typeof e=="string")return e.length>n?e.slice(0,n-1)+"…":e;try{const i=JSON.stringify(e);return i.length>n?i.slice(0,n-1)+"…":i}catch{return String(e)}}function Ws(e){let n=null;for(let i=e.tools.length-1;i>=0;i--){const s=e.tools[i];if(s.endedAt==null){n=s;break}}e.inFlightTool=n}function YM(e,n,i,s){if(e.agents.size<=i)return!1;const o=[];for(const[l,c]of e.agents)c.state==="done"&&c.endedAt!=null&&n-c.endedAt>s&&o.push({id:l,endedAt:c.endedAt});if(o.length===0)return!1;o.sort((l,c)=>l.endedAt-c.endedAt);let u=0;for(const l of o){if(e.agents.size<=i)break;e.agents.delete(l.id),u++}return u>0}function XM(e,n,i){let s=!1;for(const o of e.agents.values()){let u=!1;for(const l of o.tools)l.endedAt==null&&n-l.startedAt>i&&(l.endedAt=l.startedAt+i,l.ok=!1,l.errorPreview="stale (no PostToolUse received)",e.toolIndex.delete(l.id),e.toolOwner.delete(l.id),u=!0,s=!0);u&&Ws(o)}return s}function Tw(e,n){if(n.seq<=e.lastSeq)return e;const i=n.payload??{},s=n.receivedAt,o=i.hook_event_name??"Unknown";if(o==="__clear")return{...lg(),lastSeq:n.seq};e.totalEvents+=1,e.lastSeq=n.seq;const u=i.session_id??"unknown";if(o==="ModelObserved"){const d=typeof i.model=="string"?i.model:null;if(d){const h=e.agents.get(u);h&&(h.model=d)}const p=i.subagentModels;if(p&&typeof p=="object")for(const[h,m]of Object.entries(p)){if(typeof m!="string")continue;const v=`${u}::${h}`,_=e.agents.get(v);_&&(_.model=m)}return e}if(o==="ContextObserved"){const d=i.context??null;if(d){const p=e.agents.get(u);p&&(p.context={msgsUser:Number(d.msgsUser??0),msgsAssistant:Number(d.msgsAssistant??0),toolUses:Number(d.toolUses??0),toolResults:Number(d.toolResults??0),systemReminders:Number(d.systemReminders??0),currentContextTokens:Number(d.currentContextTokens??0),claudeMdFiles:Array.isArray(d.claudeMdFiles)?d.claudeMdFiles:[]})}return e}if(o==="UsageObserved"){const d=i.usage??null;if(d){const p=e.agents.get(u);p&&(p.usage.inputTokens=Number(d.input_tokens??0),p.usage.outputTokens=Number(d.output_tokens??0),p.usage.cacheReadTokens=Number(d.cache_read_input_tokens??d.cached_input_tokens??0),p.usage.cacheCreateTokens=Number(d.cache_creation_input_tokens??0),typeof d.reasoning_output_tokens=="number"&&(p.usage.reasoningOutputTokens=Number(d.reasoning_output_tokens)))}return e}const l=Cw(e,i,s);l.provider||(l.provider=i.provider==="codex"?"codex":"claude"),typeof i.model_context_window=="number"&&i.model_context_window>0&&(l.contextWindow=i.model_context_window);const c=$E(i);switch(c&&(l.model=c),o){case"SessionStart":{const d=Xs(e,u,s,!1);d.synthetic=!1,d.state="active",d.startedAt=d.startedAt||s,!d.cwd&&i.cwd&&(d.cwd=i.cwd,d.cwdBasename=Pr(i.cwd)),d.label==="session"&&i.cwd&&(d.label=Pr(i.cwd)??"session");break}case"UserPromptSubmit":{for(const m of e.agents.values())m.sessionId===u&&m.kind==="subagent"&&m.state==="done"&&m.exitAt==null&&m.endedAt!=null&&m.endedAt<s&&(m.exitAt=s);const d=Xs(e,u,s,!1);d.state="active",d.endedAt=void 0,d.exitAt=void 0;const p=Cw(e,i,s);p.state="active",p.exitAt=void 0,p.endedAt=void 0;const h=(typeof i.prompt=="string"?i.prompt:typeof i.message=="string"?i.message:"")??"";h&&(p.prompts.push({at:s,text:h}),p.firstPrompt||(p.firstPrompt=Tc(h,120)));break}case"PreToolUse":{const d=i.tool_use_id??`${l.id}:${l.toolCount}`,p={id:d,name:i.tool_name??"?",input:i.tool_input,inputPreview:Tc(i.tool_input),agentId:l.id,startedAt:s};l.tools.push(p),l.toolCount+=1,l.state="active",e.toolIndex.set(d,p),e.toolOwner.set(d,l.id),Ws(l);break}case"PostToolUse":case"PostToolUseFailure":{const d=i.tool_use_id;if(!d)break;let p=e.toolIndex.get(d),h=!1;if(!p)for(const _ of e.agents.values()){const N=_.tools.find(x=>x.id===d);if(N){p=N,h=!0;break}}if(!p)break;p.endedAt=s,p.ok=o==="PostToolUse",p.response=i.tool_response,o==="PostToolUseFailure"?p.errorPreview=Tc(i.tool_response):h&&(p.errorPreview=void 0);const m=LE(i.tool_response);m&&(p.usage=m),e.toolIndex.delete(d);const v=e.toolOwner.get(d)??p.agentId;if(e.toolOwner.delete(d),v){const _=e.agents.get(v);_&&(m&&HM(_.usage,m),Ws(_))}break}case"SubagentStart":{const d=cg(i);if(!d)break;const p=WM(e,u,d,i,s);p.state="active",p.startedAt=p.startedAt||s,p.exitAt=void 0,p.endedAt=void 0;const h=tu(i);h&&(p.label=h),GM(e,u,d);break}case"SubagentStop":{const d=cg(i);if(!d)break;const p=DE(e,u,d,i);if(!p)break;p.state="done",p.endedAt=s,Ws(p),KM(e,u,d);break}case"Stop":case"SessionEnd":{const d=Xs(e,u,s,!1);d.state="done",d.endedAt=s,Ws(d);break}}return e}function Pg(e){let n=5381;for(let i=0;i<e.length;i++)n=(n<<5)+n^e.charCodeAt(i);return Math.abs(n)%360}const QM=[{match:/^claude[-_](fable|mythos)[-_]5\b/i,rates:{input:10,output:50,cacheRead:1,cacheWrite:12.5}},{match:/^claude[-_]opus[-_]4[-_.](?:5|6|7|8)\b/i,rates:{input:5,output:25,cacheRead:.5,cacheWrite:6.25}},{match:/^claude[-_]opus[-_]4(?:[-_.]1)?\b/i,rates:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75}},{match:/^claude[-_]sonnet[-_]4[-_.](?:5|6)\b/i,rates:{input:3,output:15,cacheRead:.3,cacheWrite:3.75}},{match:/^claude[-_]sonnet[-_]4\b/i,rates:{input:3,output:15,cacheRead:.3,cacheWrite:3.75}},{match:/^claude[-_]haiku[-_]4[-_.]5\b/i,rates:{input:1,output:5,cacheRead:.1,cacheWrite:1.25}},{match:/^claude[-_]haiku[-_]3[-_.]5\b/i,rates:{input:.8,output:4,cacheRead:.08,cacheWrite:1}},{match:/^gpt[-_]5[-_.]3[-_.]codex/i,rates:{input:1.75,output:14,cacheRead:.175,cacheWrite:0}},{match:/^codex[-_]mini/i,rates:{input:1.5,output:6,cacheRead:.375,cacheWrite:0}},{match:/^gpt[-_]5[-_.]5\b/i,rates:{input:5,output:30,cacheRead:.5,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4[-_.]mini/i,rates:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4[-_.]nano/i,rates:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4\b/i,rates:{input:2.5,output:15,cacheRead:.25,cacheWrite:0}},{match:/^o4[-_]mini/i,rates:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0}},{match:/^o3\b/i,rates:{input:2,output:8,cacheRead:.5,cacheWrite:0}}];function ZM(e){return e?/^(?:gpt[-_]|codex[-_]|o\d)/i.test(e):!1}function qg(e){if(!e)return null;for(const n of QM)if(n.match.test(e))return n.rates;return null}function Xt(e,n){const i=qg(n);if(!i)return{input:0,output:0,cacheRead:0,cacheWrite:0,total:0};const u=(ZM(n)?Math.max(0,e.inputTokens-e.cacheReadTokens):e.inputTokens)*i.input/1e6,l=e.outputTokens*i.output/1e6,c=e.cacheReadTokens*i.cacheRead/1e6,d=e.cacheCreateTokens*i.cacheWrite/1e6;return{input:u,output:l,cacheRead:c,cacheWrite:d,total:u+l+c+d}}const Rw=2e5,JM=1e6,eP=[/\[1m\]/i,/^claude[-_]opus[-_]4[-_.](?:5|6|7|8)\b/i,/^claude[-_]sonnet[-_]4[-_.]6\b/i,/^claude[-_](fable|mythos)[-_]5\b/i],tP=[{match:/^gpt[-_]5[-_.]3[-_.]codex/i,window:256e3},{match:/^gpt[-_]5[-_.]2[-_.]codex/i,window:256e3},{match:/^gpt[-_]5[-_.]\d+[-_.]codex/i,window:256e3},{match:/^gpt[-_]5/i,window:2e5},{match:/^o\d/i,window:2e5}];function FE(e){if(!e)return Rw;for(const n of eP)if(n.test(e))return JM;for(const n of tP)if(n.match.test(e))return n.window;return Rw}function De(e){return e<=0?"—":e<.005?"<1¢":e<1?`${(e*100).toFixed(e<.1?1:0)}¢`:e<100?`$${e.toFixed(2)}`:e<1e4?`$${e.toFixed(0)}`:`$${(e/1e3).toFixed(1)}k`}function nu(e,n){if(e<=0||n<10)return null;const i=e/n,s=i*60;return s>=.01?`${De(s)}/min`:`${De(i*3600)}/hr`}function pn(e){return e.toLocaleString()}function nP(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`}function rP({agent:e,onClose:n}){var p;const i=e.context,s=e.usage,o=(i==null?void 0:i.currentContextTokens)??0,u=FE(e.model),l=Math.min(100,o/u*100),c=Xt(s,e.model),d=s.inputTokens+s.cacheReadTokens+s.cacheCreateTokens;return w.jsx("div",{className:"ctx-modal-backdrop",onClick:n,role:"presentation",children:w.jsxs("div",{className:"ctx-modal",onClick:h=>h.stopPropagation(),role:"dialog","aria-label":"Context breakdown",children:[w.jsxs("header",{className:"ctx-modal-head",children:[w.jsxs("div",{children:[w.jsxs("div",{className:"ctx-modal-title",children:["Context · ",e.label]}),w.jsx("div",{className:"ctx-modal-sub",children:"approximation — CC's /context isn't hook-exposed"})]}),w.jsx("button",{className:"ctx-modal-close",onClick:n,"aria-label":"Close",children:"×"})]}),w.jsxs("section",{className:"ctx-window-row",children:[w.jsx("div",{className:"ctx-window-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(l),children:w.jsx("div",{className:"ctx-window-fill",style:{width:`${l}%`}})}),w.jsxs("div",{className:"ctx-window-meta",children:[w.jsxs("span",{className:"ctx-window-pct",children:[l.toFixed(1),"%"]}),w.jsxs("span",{className:"ctx-window-num",children:[pn(o)," / ",pn(u)," tok (current turn)"]})]})]}),w.jsx("h3",{className:"ctx-section-title",children:"Cumulative usage · whole session"}),w.jsxs("div",{className:"ctx-grid",children:[w.jsx(Tn,{label:"input tokens",val:pn(s.inputTokens)}),w.jsx(Tn,{label:"output tokens",val:pn(s.outputTokens)}),w.jsx(Tn,{label:"cache reads",val:pn(s.cacheReadTokens)}),w.jsx(Tn,{label:"cache writes",val:pn(s.cacheCreateTokens)}),w.jsx(Tn,{label:"cumulative total",val:pn(d)}),w.jsx(Tn,{label:"estimated cost",val:De(c.total),accent:!0})]}),w.jsx("h3",{className:"ctx-section-title",children:"Transcript composition"}),w.jsxs("div",{className:"ctx-grid",children:[w.jsx(Tn,{label:"user messages",val:pn((i==null?void 0:i.msgsUser)??0)}),w.jsx(Tn,{label:"assistant messages",val:pn((i==null?void 0:i.msgsAssistant)??0)}),w.jsx(Tn,{label:"tool uses",val:pn((i==null?void 0:i.toolUses)??0)}),w.jsx(Tn,{label:"tool results",val:pn((i==null?void 0:i.toolResults)??0)}),w.jsx(Tn,{label:"system-reminders",val:pn((i==null?void 0:i.systemReminders)??0)})]}),w.jsx("h3",{className:"ctx-section-title",children:"CLAUDE.md files in scope"}),(((p=i==null?void 0:i.claudeMdFiles)==null?void 0:p.length)??0)===0?w.jsx("div",{className:"ctx-empty",children:"No CLAUDE.md files found on the path from cwd to ~/.claude."}):w.jsx("ul",{className:"ctx-md-list",children:i.claudeMdFiles.map(h=>w.jsxs("li",{children:[w.jsx("span",{className:"ctx-md-path",title:h.path,children:h.path}),w.jsx("span",{className:"ctx-md-size",children:nP(h.bytes)})]},h.path))})]})})}function Tn({label:e,val:n,accent:i}){return w.jsxs("div",{className:`ctx-row${i?" accent":""}`,children:[w.jsx("span",{className:"ctx-row-label",children:e}),w.jsx("span",{className:"ctx-row-val",children:n})]})}function iP({currentContextTokens:e,modelId:n,size:i=26,onClick:s,title:o}){const u=FE(n),l=Math.min(1,e/u),c=i/2-3,d=i/2,p=2*Math.PI*c,h=p*l,m=l>.9?"var(--err)":l>.7?"var(--inflight)":"var(--accent)";return w.jsx("button",{type:"button",className:"ctx-donut",onClick:s,title:o??`context: ${e.toLocaleString()} / ${u.toLocaleString()} (${(l*100).toFixed(1)}%)`,"aria-label":"Show context breakdown",children:w.jsxs("svg",{width:i,height:i,viewBox:`0 0 ${i} ${i}`,children:[w.jsx("circle",{cx:d,cy:d,r:c,stroke:"var(--line)",strokeWidth:"2.5",fill:"none"}),w.jsx("circle",{cx:d,cy:d,r:c,stroke:m,strokeWidth:"2.5",fill:"none",strokeDasharray:`${h} ${p-h}`,strokeDashoffset:p/4,strokeLinecap:"round",style:{transition:"stroke-dasharray 400ms ease"}}),w.jsx("text",{x:d,y:d+3,textAnchor:"middle",fontSize:"8",fill:"var(--text)",fontWeight:"600",children:Math.round(l*100)})]})})}function sP(e,n){const i=qg(n);if(!i)return"no rates for this model";const s=l=>l.toLocaleString(),o=l=>`$${l}/MTok`,u=Xt(e,n);return[`model: ${n}`,`input ${s(e.inputTokens).padStart(14)} × ${o(i.input).padEnd(11)} = ${De(u.input)}`,`output ${s(e.outputTokens).padStart(14)} × ${o(i.output).padEnd(11)} = ${De(u.output)}`,`cache r ${s(e.cacheReadTokens).padStart(14)} × ${o(i.cacheRead).padEnd(11)} = ${De(u.cacheRead)}`,`cache w ${s(e.cacheCreateTokens).padStart(14)} × ${o(i.cacheWrite).padEnd(11)} = ${De(u.cacheWrite)}`,"─────────────────────────────────────────",`total = ${De(u.total)}`].join(`
58
58
  `)}function oP(e,n,i){const s=(n??i)-e;if(s<1e3)return`${Math.max(0,s)}ms`;const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const u=Math.floor(o/60),l=o%60;return`${u}m ${String(l).padStart(2,"0")}s`}function aP({data:e,selected:n}){var p;const i=e.now??Date.now(),s=["agent-node",`state-${e.state}`,e.synthetic?"synthetic":"",n?"selected":""].filter(Boolean).join(" "),o=e.tools.filter(h=>!h.endedAt).length,l=`hsl(${Pg(e.sessionId)} 70% 60%)`,c=((p=e.context)==null?void 0:p.currentContextTokens)??0,d=e.kind==="root"&&c>0;return w.jsxs("div",{className:s,style:{"--accent":l},children:[w.jsx("span",{className:"accent-stripe"}),w.jsx(Xi,{type:"target",position:Ce.Left,style:{background:"transparent",border:"none"}}),w.jsxs("div",{className:"head",children:[w.jsxs("div",{className:"title",children:[w.jsx(uP,{state:e.state}),w.jsx("span",{className:"label",title:e.cwd,children:e.label}),e.synthetic&&w.jsx("span",{className:"synth-tag",title:"No SessionStart captured — synthesised",children:"?"})]}),w.jsxs("div",{className:"head-right",children:[d&&e.onOpenContext&&w.jsx(iP,{currentContextTokens:c,modelId:e.model,onClick:()=>e.onOpenContext(e.sessionId)}),w.jsx("div",{className:"time",title:`Started ${new Date(e.startedAt).toLocaleTimeString()}`,children:oP(e.startedAt,e.endedAt,i)})]})]}),w.jsxs("div",{className:"sub",children:[e.kind==="root"?"session":"subagent",e.childCount>0&&w.jsxs("span",{className:"spawn-badge",title:`${e.childCount} subagents spawned`,children:["→ ",e.childCount]}),e.cwdBasename&&e.kind==="subagent"?` · ${e.cwdBasename}`:"",e.model&&w.jsx("span",{className:"model-chip",title:e.model,children:co(e.model)})]}),e.tools.length>0&&w.jsx(cP,{tools:e.tools,now:i}),w.jsxs("div",{className:"meta",children:[w.jsxs("span",{children:[w.jsx("b",{children:e.toolCount})," tools"]}),o>0&&w.jsxs("span",{className:"inflight-meta",children:[w.jsx("b",{children:o})," in-flight"]}),e.usage.inputTokens+e.usage.outputTokens>0&&w.jsxs("span",{className:"tokens-meta",title:`in:${e.usage.inputTokens} out:${e.usage.outputTokens} cache-r:${e.usage.cacheReadTokens} cache-c:${e.usage.cacheCreateTokens}${(e.usage.reasoningOutputTokens??0)>0?` reasoning:${e.usage.reasoningOutputTokens}`:""}`,children:[w.jsx("b",{children:lP(e.usage.inputTokens+e.usage.outputTokens)})," tok"]}),e.model&&qg(e.model)&&(()=>{const h=Xt(e.usage,e.model);if(h.total<=0)return null;const m=Math.max(0,((e.endedAt??i)-e.startedAt)/1e3),v=e.state==="active"?nu(h.total,m):null,_=sP(e.usage,e.model)+(v?`
59
- burn: ${v}`:"");return w.jsxs("span",{className:"cost-meta",title:_,children:[w.jsx("b",{children:De(h.total)}),v&&w.jsx("span",{className:"cost-rate",children:v})]})})()]}),w.jsx(Xi,{type:"source",position:Ce.Right,style:{background:"transparent",border:"none"}})]})}function uP({state:e}){const n=e==="active"?"live":e==="done"?"done":"err";return w.jsx("span",{className:`state-pill state-${e}`,children:n})}function lP(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function cP({tools:e,now:n}){const u=new Array(24).fill(0);let l=0;for(const v of e){const _=n-v.startedAt;if(_<0||_>=6e4)continue;const N=23-Math.floor(_/2500);N>=0&&N<24&&(u[N]+=1,l+=1)}const c=Math.max(1,...u),d=132,p=14,h=d/24,m=c/(2500/1e3);return w.jsxs("div",{className:"tool-spark-row",title:`${l} tool calls in last 60s · peak ${m.toFixed(1)}/s`,children:[w.jsx("svg",{className:"tool-spark",width:d,height:p,viewBox:`0 0 ${d} ${p}`,"aria-hidden":!0,children:u.map((v,_)=>{const N=v===0?1.5:Math.max(1.5,v/c*p),x=_===23&&v>0,k=`tool-spark-bar${v>0?" active":""}${x?" latest":""}`;return w.jsx("rect",{x:_*h+.4,y:p-N,width:Math.max(.5,h-1),height:N,rx:.8,className:k},_)})}),w.jsx("span",{className:"tool-spark-label",children:"60s"})]})}function co(e){const n=e.match(/^claude[-_](opus|sonnet|haiku|fable|mythos)[-_](\d+(?:[-_.]\d+)*)/i);if(n){const o=n[1][0].toUpperCase()+n[1].slice(1).toLowerCase(),u=n[2].replace(/[-_]/g,".");return`${o} ${u}`}const i=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)[-_]codex\b/i);if(i)return`GPT-${i[1].replace(/[-_]/g,".")} Codex`;const s=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)/i);return s?`GPT-${s[1].replace(/[-_]/g,".")}`:e}function jw(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function fP(e){if(e.endedAt==null)return"in-flight…";const n=e.endedAt-e.startedAt;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(2)}s`}function dP({tool:e,onClose:n}){L.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]);const i=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return w.jsx("div",{className:"modal-backdrop",onClick:n,role:"dialog","aria-modal":"true",children:w.jsxs("div",{className:"modal",onClick:s=>s.stopPropagation(),children:[w.jsxs("header",{className:"modal-head",children:[w.jsxs("div",{className:"modal-title",children:[w.jsx("span",{className:`status-dot ${i}`}),w.jsx("span",{className:"modal-tool-name",children:e.name}),w.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),w.jsxs("div",{className:"modal-actions",children:[w.jsx("span",{className:"modal-dur",children:fP(e)}),w.jsx("button",{className:"btn icon-btn",onClick:n,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),w.jsxs("section",{className:"modal-body",children:[w.jsxs("div",{className:"modal-section",children:[w.jsx("h4",{children:"Input"}),w.jsx("pre",{children:jw(e.input??e.inputPreview)})]}),w.jsxs("div",{className:"modal-section",children:[w.jsxs("h4",{children:["Response ",i==="err"&&w.jsx("span",{className:"err-tag",children:"error"})]}),w.jsx("pre",{children:e.endedAt==null?"(waiting…)":jw(e.response??e.errorPreview)})]})]})]})})}const La=18,Aw=26,hP=12;function pP(e){const n=new Map;for(const o of e.nodeInternals.values()){const u=o.data;if(!(u!=null&&u.sessionId)||u.exitAt!=null||o.width==null||o.height==null)continue;const l=o.position.x,c=o.position.y,d=l+o.width,p=c+o.height,h=n.get(u.sessionId);h?(h.minX=Math.min(h.minX,l),h.minY=Math.min(h.minY,c),h.maxX=Math.max(h.maxX,d),h.maxY=Math.max(h.maxY,p),u.kind==="root"&&(h.label=Iw(u)??h.label)):n.set(u.sessionId,{minX:l,minY:c,maxX:d,maxY:p,label:Iw(u)??u.sessionId})}const i=new Map;for(const o of n.values())i.set(o.label,(i.get(o.label)??0)+1);const s=[];for(const[o,u]of n){const c=(i.get(u.label)??0)>1?`${u.label} · ${mP(o)}`:u.label;s.push({sessionId:o,label:c,x:u.minX-La,y:u.minY-La-Aw,w:u.maxX-u.minX+La*2,h:u.maxY-u.minY+La*2+Aw})}return s}function mP(e){const n=e.match(/[a-zA-Z0-9]{4}/);return n?n[0]:e.slice(0,4)}function Iw(e){if(e.kind==="root")return e.label}function gP(){const{x:e,y:n,zoom:i}=AE(),s=lo(),o=We(pP,vP);if(o.length<=1)return null;const u=l=>{try{const c=s.getNodes().filter(d=>{const p=d.data;return(p==null?void 0:p.sessionId)===l});if(c.length===0)return;s.fitView({padding:.3,duration:500,nodes:c})}catch{}};return w.jsx("div",{className:"session-clusters",children:o.map(l=>{const c=Pg(l.sessionId),d={position:"absolute",left:l.x*i+e,top:l.y*i+n,width:l.w*i,height:l.h*i,borderColor:`hsl(${c} 65% 55% / 0.32)`,background:`hsl(${c} 70% 50% / 0.04)`},p={position:"absolute",left:l.x*i+e+16*i,top:(l.y-hP)*i+n,color:`hsl(${c} 70% 78%)`,borderColor:`hsl(${c} 65% 55% / 0.5)`,transform:`scale(${Math.min(1,i)})`,transformOrigin:"left top"};return w.jsxs(ie.Fragment,{children:[w.jsx("div",{className:"cluster-card",style:d,"aria-hidden":!0}),w.jsx("button",{type:"button",className:"cluster-label",style:p,title:`Fit view to ${l.label} · drag the wrapper to move the whole session`,onClick:()=>u(l.sessionId),children:l.label})]},l.sessionId)})})}function vP(e,n){if(e.length!==n.length)return!1;for(let i=0;i<e.length;i++){const s=e[i],o=n[i];if(s.sessionId!==o.sessionId||s.label!==o.label||s.x!==o.x||s.y!==o.y||s.w!==o.w||s.h!==o.h)return!1}return!0}function yP({data:e}){return w.jsx("div",{className:"session-group-handle",style:{width:(e==null?void 0:e.w)??0,height:(e==null?void 0:e.h)??0}})}const zE=600,wP=36,fg=16,_P=60,xP=6,Mw=220,Pw=96,SP=28,kP={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan",ScheduleWakeup:"other",CronCreate:"other",CronList:"other",CronDelete:"other",Monitor:"other",PushNotification:"other",RemoteTrigger:"other",ToolSearch:"other"};function bP(e){return e.startsWith("mcp__")?"mcp":kP[e]??"other"}const EP={Read:"📖",Write:"💾",Edit:"✏️",MultiEdit:"🔧",Glob:"🗺️",Grep:"🔎",Bash:"⚡",PowerShell:"💻",shell:"⚡",exec_command:"⚡",shell_command:"⚡",write_stdin:"💻",wait:"⏳",apply_patch:"🩹",update_plan:"📋",LS:"📂",Task:"🤖",Agent:"🤖",TodoWrite:"📋",TaskCreate:"📋",TaskUpdate:"📝",TaskList:"🗂️",TaskGet:"🗂️",TaskOutput:"📤",TaskStop:"🛑",WebFetch:"🌐",WebSearch:"🔭",ToolSearch:"🧰",NotebookEdit:"📓",EnterPlanMode:"🧭",ExitPlanMode:"🏁",AskUserQuestion:"❓",ScheduleWakeup:"⏰",CronCreate:"⏰",CronList:"📅",CronDelete:"🗑️",Skill:"🎯",Workflow:"🎬",Monitor:"📡",PushNotification:"🔔",RemoteTrigger:"📡"};function qw(e){return e.startsWith("mcp__")?"🔌":EP[e]??"✨"}const NP={git:"🐙",gh:"🐙",glab:"🐙",npm:"📦",pnpm:"📦",yarn:"📦",bun:"📦",brew:"🍺",node:"🟢",deno:"🟢",python:"🐍",python3:"🐍",py:"🐍",pip:"🐍",pip3:"🐍",uv:"🐍",ruby:"💎",bundle:"💎",gem:"💎",cargo:"🦀",rustc:"🦀",rustup:"🦀",go:"🐹",docker:"🐳","docker-compose":"🐳",podman:"🐳",kubectl:"☸️",helm:"☸️",k9s:"☸️",grep:"🔎",rg:"🔎",ag:"🔎",ack:"🔎",find:"🔍",fd:"🔍",locate:"🔍",which:"🔍",ls:"📂",dir:"📂",tree:"📂",cat:"📄",head:"📄",tail:"📄",less:"📄",more:"📄",bat:"📄",cp:"📋",mv:"✂️",rm:"🗑️",rmdir:"🗑️",mkdir:"📁",touch:"📁",sed:"✏️",awk:"✏️",tr:"✏️",curl:"🌐",wget:"🌐",http:"🌐",httpie:"🌐",ssh:"🔐",scp:"🔐",rsync:"🔐",ping:"📡",make:"🔨",cmake:"🔨",ninja:"🔨",bazel:"🔨",just:"🔨",terraform:"🏗️",ansible:"📕",pulumi:"🏗️",ps:"📊",top:"📊",htop:"📊",btm:"📊",kill:"💀",pkill:"💀",systemctl:"⚙️",service:"⚙️",tar:"🗜️",zip:"🗜️",unzip:"🗜️",gzip:"🗜️","7z":"🗜️",vim:"📝",nvim:"📝",nano:"📝",emacs:"📝",code:"📝",jq:"🪺",yq:"🪺",echo:"💬",printf:"💬",ffmpeg:"🎞️",ffprobe:"🎞️",imagemagick:"🖼️",convert:"🖼️","Get-ChildItem":"📂","Get-Content":"📄","Set-Content":"💾","Out-File":"💾","Add-Content":"💾","Set-Location":"📍","Get-Location":"📍","Get-Process":"📊","Start-Process":"▶️","Stop-Process":"💀","Invoke-WebRequest":"🌐","Invoke-RestMethod":"🌐","New-Item":"📁","Remove-Item":"🗑️","Copy-Item":"📋","Move-Item":"✂️","Test-Path":"🔍","Where-Object":"🔎","ForEach-Object":"🔁","Select-Object":"🎯","Measure-Object":"📊","Get-Service":"⚙️","Restart-Service":"⚙️","ConvertTo-Json":"🪺","ConvertFrom-Json":"🪺"};function BE(e){if(!e)return null;let n=e.trim();if(!n)return null;const i=n.match(/^(?:bash|sh|zsh|fish|powershell|pwsh)(?:\.exe)?\s+(?:-c|-Command|-NoProfile|-NonInteractive|\s)+["']([^"']+)["']/i);if(i)return BE(i[1]);for(;;){const u=n.match(/^([A-Z_][A-Z0-9_]*=\S*)\s+/);if(!u)break;n=n.slice(u[0].length)}n=n.replace(/^sudo(?:\s+-\S+)*\s+/,""),n=n.replace(/^(?:time|nohup|xargs)\s+/,"");const s=n.match(/^([^\s|;&<>(]+)/);if(!s)return null;let o=s[1];return o=o.replace(/^.*[/\\]/,""),o=o.replace(/\.(exe|cmd|bat|ps1)$/i,""),o||null}function CP(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return null;const n=e;if(typeof n.cmd=="string")return n.cmd;if(typeof n.command=="string")return n.command;if(Array.isArray(n.command)&&n.command.every(i=>typeof i=="string")){const i=n.command;if(/powershell|cmd|bash|sh(\.exe)?$/i.test(i[0]??"")){const s=i.findIndex(o=>/^(-Command|-c)$/i.test(o));if(s>=0&&s+1<i.length)return i[s+1]}return i.join(" ")}return typeof n.script=="string"?n.script:null}const TP=new Set(["Bash","PowerShell","shell","exec_command","shell_command","write_stdin","wait"]),RP=new Set(["shell","exec_command","shell_command","write_stdin","wait","apply_patch","update_plan"]);function jP(e,n){return RP.has(e)?Math.max(Pw,34+n.length*7.5):Pw}function AP(e,n){if(!TP.has(e))return null;const i=CP(n);if(!i)return null;const s=BE(i);return s?{emoji:NP[s]??"⚙️",label:s,category:"shell",detail:i}:null}const IP=new Set(["Read","Write","Edit","MultiEdit","NotebookEdit","LS","Glob","apply_patch"]),Ow={ts:"🟦",tsx:"🟦",d:"🟦",js:"🟨",jsx:"🟨",mjs:"🟨",cjs:"🟨",py:"🐍",pyi:"🐍",ipynb:"📓",rs:"🦀",go:"🐹",rb:"💎",erb:"💎",java:"☕",kt:"☕",scala:"☕",gradle:"☕",cs:"🔷",fs:"🔷",php:"🐘",swift:"🦅",c:"🇨",cpp:"🇨",cc:"🇨",h:"🇨",hpp:"🇨",md:"📝",mdx:"📝",rst:"📝",json:"🪺",json5:"🪺",jsonl:"🪺",yaml:"⚙️",yml:"⚙️",toml:"⚙️",ini:"⚙️",conf:"⚙️",cfg:"⚙️",xml:"📰",html:"🌐",htm:"🌐",vue:"🌐",svelte:"🌐",css:"🎨",scss:"🎨",sass:"🎨",less:"🎨",sh:"⚡",bash:"⚡",zsh:"⚡",fish:"⚡",ps1:"⚡",txt:"📄",log:"📄",out:"📄",csv:"📊",tsv:"📊",xlsx:"📊",xls:"📊",pdf:"📕",png:"🖼️",jpg:"🖼️",jpeg:"🖼️",gif:"🖼️",webp:"🖼️",svg:"🖼️",ico:"🖼️",mp4:"🎬",mov:"🎬",avi:"🎬",mkv:"🎬",webm:"🎬",mp3:"🎵",wav:"🎵",ogg:"🎵",flac:"🎵",zip:"🗜️",tar:"🗜️",gz:"🗜️",bz2:"🗜️","7z":"🗜️",xz:"🗜️",rar:"🗜️",env:"🔐",lock:"🔐",pem:"🔐",key:"🔐",crt:"🔐",sql:"🗄️",db:"🗄️",sqlite:"🗄️",parquet:"🗄️"},Lw={dockerfile:"🐳",makefile:"🔨",rakefile:"💎","package.json":"📦","pnpm-lock.yaml":"📦","yarn.lock":"📦","cargo.toml":"🦀","cargo.lock":"🦀","go.mod":"🐹","go.sum":"🐹","pyproject.toml":"🐍","requirements.txt":"🐍","readme.md":"📖",readme:"📖",license:"📜",".gitignore":"🐙",".gitattributes":"🐙",".env":"🔐",".dockerignore":"🐳"};function MP(e){const i=e.replace(/\\/g,"/").replace(/\/+$/,""),s=i.lastIndexOf("/");return s>=0?i.slice(s+1):i}function PP(e){const n=e.toLowerCase();if(Lw[n])return Lw[n];if(n.startsWith("dockerfile."))return"🐳";if(/\.(test|spec)\.[a-z]+$/.test(n))return"🧪";const i=n.lastIndexOf(".");if(i>0&&i<n.length-1){const s=n.slice(i+1);if(Ow[s])return Ow[s]}return"📄"}function qP(e,n){if(!n||typeof n!="object")return null;const i=n;if(e==="apply_patch"&&typeof i.patch=="string"){const s=i.patch.match(/^\*\*\* (?:Update|Add|Delete) File: (.+)$/m);return s?s[1].trim():null}return typeof i.file_path=="string"?i.file_path:typeof i.notebook_path=="string"?i.notebook_path:typeof i.path=="string"?i.path:e==="Glob"&&typeof i.pattern=="string"?i.pattern:null}function OP(e,n){if(!IP.has(e))return null;const i=qP(e,n);if(!i)return null;const s=MP(i);return s?{emoji:e==="LS"?"📂":PP(s),label:s,category:"file",detail:i}:null}const UE={github:{emoji:"🐙",name:"GitHub"},git:{emoji:"🐙",name:"Git"},gitlab:{emoji:"🦊",name:"GitLab"},slack:{emoji:"💬",name:"Slack"},discord:{emoji:"💬",name:"Discord"},linear:{emoji:"📐",name:"Linear"},jira:{emoji:"🅹",name:"Jira"},atlassian:{emoji:"🅰️",name:"Atlassian"},notion:{emoji:"📓",name:"Notion"},asana:{emoji:"📋",name:"Asana"},intercom:{emoji:"💬",name:"Intercom"},figma:{emoji:"🎨",name:"Figma"},gmail:{emoji:"📧",name:"Gmail"},calendar:{emoji:"📅",name:"Calendar"},drive:{emoji:"☁️",name:"Drive"},zoom:{emoji:"📹",name:"Zoom"},spotify:{emoji:"🎵",name:"Spotify"},youtube:{emoji:"📺",name:"YouTube"},ccd_session:{emoji:"📡",name:"Session"},ccd_directory:{emoji:"📂",name:"Directory"},ccd_session_mgmt:{emoji:"📡",name:"Sessions"},mcp_registry:{emoji:"🧰",name:"Registry"},"computer-use":{emoji:"🖱️",name:"Computer"},"claude-in-chrome":{emoji:"🌐",name:"Chrome"},"claude-preview":{emoji:"👀",name:"Preview"},"scheduled-tasks":{emoji:"⏰",name:"Scheduler"},visualize:{emoji:"🎨",name:"Visualize"},"plugin-design-asana":{emoji:"📋",name:"Asana"},"plugin-design-atlassian":{emoji:"🅰️",name:"Atlassian"},"plugin-design-figma":{emoji:"🎨",name:"Figma"},"plugin-design-intercom":{emoji:"💬",name:"Intercom"},"plugin-design-linear":{emoji:"📐",name:"Linear"},"plugin-design-notion":{emoji:"📓",name:"Notion"},"plugin-design-slack":{emoji:"💬",name:"Slack"}};function HE(e){if(!e.startsWith("mcp__"))return null;const n=e.slice(5),i=n.indexOf("__");return i<=0?{server:n,method:""}:{server:n.slice(0,i),method:n.slice(i+2)}}function LP(e){let n=5381;for(let i=0;i<e.length;i++)n=(n<<5)+n^e.charCodeAt(i);return Math.abs(n)%360}function $P(e,n){const i=HE(e);if(!i)return null;const{server:s,method:o}=i;if(!o)return null;const u=UE[s.toLowerCase()];return{emoji:(u==null?void 0:u.emoji)??"🔌",label:o,category:"mcp",detail:u?`${u.name} · ${o}`:`${s} · ${o}`}}function DP(e,n){return AP(e,n)??OP(e,n)??$P(e)}const FP={shell:"Shell",exec_command:"Shell",shell_command:"Shell",write_stdin:"stdin",wait:"wait",apply_patch:"Edit",update_plan:"Plan"};function zP(e){const n=HE(e);if(n){const s=UE[n.server.toLowerCase()];return s?{emoji:s.emoji,label:s.name}:{emoji:"🔌",label:n.server,hue:LP(n.server)}}const i=FP[e];return i?{emoji:qw(e),label:i}:{emoji:qw(e),label:e}}function BP(e){return e.endedAt==null?"inflight":e.ok===!1?"err":"done"}function UP(e,n,i){if(i==null)return 1;const s=n-i;return s<0?1:Math.max(0,1-s/zE)}function HP(e,n,i,s,o,u){const l=[];for(const c of e.values()){if(!n.has(c.id)||c.exitAt!=null&&u-c.exitAt>zE)continue;const d=s.get(c.id)??i.get(c.id);if(!d)continue;const p=c.tools.slice(-4);if(p.length===0)continue;const h=c.exitAt??null,m=o.get(c.id),v=Math.max((m==null?void 0:m.width)??Mw,Mw),_=(m==null?void 0:m.height)??130,N=d.x,x=d.y,S=N+v,k=x+_/2;p.forEach((E,b)=>{const T=b*wP,A=N+v+_P,I=x+xP+T,j=UP(E,u,h),D=E.inputPreview??"",O=BP(E),U=j<.999,H=zP(E.name);l.push({id:E.id,toolId:E.id,agentId:c.id,toolName:E.name,name:H.label,emoji:H.emoji,status:O,category:bP(E.name),mcpHue:H.hue,inputPreview:D,fade:j,fading:U,worldX:A,worldY:I,anchorX:S,anchorY:k,spawnDx:S-A,spawnDy:k-(I+fg)});const Q=DP(E.name,E.input);if(Q){const ee=jP(E.name,H.label),R=A+ee+SP,G=I,B=A+ee,X=I+fg;l.push({id:`sub:${E.id}`,toolId:E.id,agentId:c.id,toolName:E.name,name:Q.label,emoji:Q.emoji,isSub:!0,status:O,category:Q.category,inputPreview:Q.detail??D,fade:j,fading:U,worldX:R,worldY:G,anchorX:B,anchorY:X,spawnDx:B-R,spawnDy:0})}})}return l}function VP({agents:e,visibleAgentIds:n,positions:i,pinned:s,measured:o,dimUnmatched:u,spotlight:l,hiddenCategories:c,now:d,onOpenTool:p}){const{x:h,y:m,zoom:v}=AE(),_=HP(e,n,i,s,o,d),N=c&&c.size>0?_.filter(x=>!c.has(x.category)):_;return w.jsxs("div",{className:"tool-bursts-layer","aria-hidden":!0,children:[w.jsx("svg",{className:"tool-bursts-svg",children:N.map(x=>{const S=x.anchorX*v+h,k=x.anchorY*v+m,E=(x.worldX+6)*v+h,b=(x.worldY+fg)*v+m,T=S+(E-S)*.55,A=u!=null&&!u.has(x.agentId),I=l!=null&&!l.has(x.agentId),j=x.fade*(A||I?.14:1);return w.jsx("path",{d:`M ${S} ${k} Q ${T} ${k}, ${E} ${b}`,className:`tool-conn status-${x.status}${x.fading?" fading":""}`,opacity:j},`l:${x.id}`)})}),N.map(x=>{const S=x.worldX*v+h,k=x.worldY*v+m,E={left:`${S}px`,top:`${k}px`,transform:`scale(${v})`,transformOrigin:"left top","--spawn-dx":`${x.spawnDx}px`,"--spawn-dy":`${x.spawnDy}px`},b=x.isSub?`${x.toolName} · ${x.name}`:x.toolName,T=x.inputPreview?`${b} · ${x.inputPreview}`:b,A=p!=null,I=x.mcpHue!=null?{"--cat-accent":`hsl(${x.mcpHue} 65% 65%)`}:{},j=u!=null&&!u.has(x.agentId),D=l!=null&&!l.has(x.agentId),O=j||D?" dim":"";return w.jsx("div",{className:"tool-burst-wrap",style:E,children:w.jsxs("div",{className:`tool-burst cat-${x.category} status-${x.status}${x.fading?" fading":""}${A?" clickable":""}${x.isSub?" sub":""}${O}`,style:I,title:T,role:A?"button":void 0,tabIndex:A?0:void 0,"aria-label":A?`Open ${x.toolName} ${x.status==="inflight"?"in flight":x.status} — click for details`:void 0,onClick:A?()=>p(x.toolId):void 0,onKeyDown:A?U=>{(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),p(x.toolId))}:void 0,children:[w.jsx("span",{className:"tb-emoji",children:x.emoji}),w.jsx("span",{className:"tb-name",children:x.name}),x.status==="inflight"&&w.jsx("span",{className:"tb-spin"}),x.status==="done"&&w.jsx("span",{className:"tb-mark done",children:"✓"}),x.status==="err"&&w.jsx("span",{className:"tb-mark err",children:"×"})]})},x.id)})]})}function WP({state:e,sessionId:n,onClose:i}){const s=L.useMemo(()=>KP(e,n),[e,n]);return s?w.jsx("div",{className:"modal-backdrop",onClick:i,role:"presentation",children:w.jsxs("div",{className:"modal session-summary",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"ss-title",children:[w.jsxs("div",{className:"modal-head",children:[w.jsxs("div",{className:"modal-title",children:[w.jsx("span",{className:"state-pill state-done","aria-hidden":!0,children:"done"}),w.jsx("span",{id:"ss-title",className:"modal-tool-name",title:s.cwd??s.sessionId,children:s.label}),w.jsxs("span",{className:"modal-tool-id",children:["· ",s.sessionId.slice(0,8)]})]}),w.jsxs("div",{className:"modal-actions",children:[w.jsx("span",{className:"modal-dur",title:"Total wall time",children:s.durationLabel}),w.jsx("button",{className:"btn",onClick:i,"aria-label":"Close",children:"×"})]})]}),w.jsxs("div",{className:"modal-body",children:[w.jsxs("section",{className:"ss-hero",children:[w.jsxs("div",{className:"ss-hero-left",children:[w.jsx("div",{className:"ss-cost-label",children:"total spend"}),w.jsx("div",{className:"ss-cost",children:De(s.cost.total)}),s.modelChips.length>0&&w.jsx("div",{className:"ss-models",children:s.modelChips.map(o=>w.jsx("span",{className:"model-chip",title:o,children:co(o)},o))})]}),w.jsx("div",{className:"ss-hero-right",children:s.cost.total>0&&w.jsxs(w.Fragment,{children:[w.jsx(GP,{cost:s.cost}),w.jsxs("div",{className:"ss-cost-legend",children:[w.jsxs("span",{className:"ssl ssl-in",children:["input ",w.jsx("b",{children:De(s.cost.input)})]}),w.jsxs("span",{className:"ssl ssl-out",children:["output ",w.jsx("b",{children:De(s.cost.output)})]}),w.jsxs("span",{className:"ssl ssl-cr",children:["cache r ",w.jsx("b",{children:De(s.cost.cacheRead)})]}),w.jsxs("span",{className:"ssl ssl-cw",children:["cache w ",w.jsx("b",{children:De(s.cost.cacheWrite)})]})]})]})})]}),w.jsxs("section",{className:"ss-stats",children:[w.jsx(Fi,{label:"agents",value:s.agentCount}),w.jsx(Fi,{label:"subagents",value:s.subagentCount}),w.jsx(Fi,{label:"tool calls",value:s.toolCount}),w.jsx(Fi,{label:"prompts",value:s.promptCount}),w.jsx(Fi,{label:"tokens",value:s.tokensSum.toLocaleString()}),s.errCount>0&&w.jsx(Fi,{label:"errors",value:s.errCount,tone:"err"})]}),s.topTools.length>0&&w.jsxs("section",{className:"modal-section",children:[w.jsx("h4",{children:"Most-used tools"}),w.jsx("div",{className:"ss-top-tools",children:s.topTools.map(([o,u])=>w.jsxs("div",{className:"ss-tt",children:[w.jsx("span",{className:"ss-tt-name",children:o}),w.jsx("span",{className:"ss-tt-bar",children:w.jsx("span",{className:"ss-tt-bar-fill",style:{width:`${u/s.topTools[0][1]*100}%`}})}),w.jsx("span",{className:"ss-tt-count",children:u})]},o))})]}),s.firstPrompt&&w.jsxs("section",{className:"modal-section",children:[w.jsx("h4",{children:"Opening prompt"}),w.jsx("div",{className:"ss-prompt",children:s.firstPrompt})]})]})]})}):null}function Fi({label:e,value:n,tone:i}){return w.jsxs("div",{className:`ss-stat${i?` tone-${i}`:""}`,children:[w.jsx("div",{className:"ss-stat-value",children:n}),w.jsx("div",{className:"ss-stat-label",children:e})]})}function GP({cost:e}){const n=e.total;if(n<=0)return null;const i=(s,o,u)=>{if(s<=0)return null;const l=s/n*100;return w.jsx("span",{className:`cb-seg ${o}`,style:{width:`${l}%`},title:`${u}: ${De(s)} (${l.toFixed(0)}%)`},o)};return w.jsxs("div",{className:"cost-bar cost-bar-lg","aria-label":"Cost breakdown",children:[i(e.input,"cb-input","input"),i(e.output,"cb-output","output"),i(e.cacheRead,"cb-cache-r","cache read"),i(e.cacheWrite,"cb-cache-w","cache write")]})}function KP(e,n){const i=e.agents.get(n);if(!i)return null;const s=[];for(const b of e.agents.values())b.sessionId===n&&s.push(b);if(s.length===0)return null;const o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},u=new Set,l=new Map;let c=0,d=0,p=0,h=0,m=0,v,_=1/0,N=0;for(const b of s){const T=Xt(b.usage,b.model);o.input+=T.input,o.output+=T.output,o.cacheRead+=T.cacheRead,o.cacheWrite+=T.cacheWrite,o.total+=T.total,b.model&&u.add(b.model),b.kind==="subagent"&&m++,d+=b.prompts.length,!v&&b.prompts.length>0&&(v=b.prompts[0].text),p+=b.usage.inputTokens+b.usage.outputTokens,c+=b.tools.length,_=Math.min(_,b.startedAt),N=Math.max(N,b.endedAt??Date.now());for(const A of b.tools)l.set(A.name,(l.get(A.name)??0)+1),A.ok===!1&&h++}const x=Math.max(0,N-_),S=Math.floor(x/1e3),k=S<60?`${S}s`:S<3600?`${Math.floor(S/60)}m ${String(S%60).padStart(2,"0")}s`:`${Math.floor(S/3600)}h ${Math.floor(S%3600/60)}m`,E=Array.from(l.entries()).sort((b,T)=>T[1]-b[1]).slice(0,5);return{sessionId:n,label:i.label||i.cwdBasename||"session",cwd:i.cwd,durationLabel:k,cost:o,modelChips:Array.from(u),agentCount:s.length,subagentCount:m,toolCount:c,promptCount:d,tokensSum:p,errCount:h,topTools:E,firstPrompt:v}}function YP(e,n){const i=[];for(const s of e.agents.values()){if(s.kind!=="root")continue;let o=s.tools.length,u=Xt(s.usage,s.model).total,l=s.endedAt??s.startedAt;for(const c of e.agents.values()){if(c.sessionId!==s.sessionId||c.kind==="root")continue;o+=c.tools.length,u+=Xt(c.usage,c.model).total;const d=c.endedAt??c.startedAt;d>l&&(l=d)}i.push({sessionId:s.sessionId,label:s.label||s.cwdBasename||"session",cwdBasename:s.cwdBasename,state:s.state,modelId:s.model,toolCount:o,cost:u,startedAt:s.startedAt,lastActivity:l})}return i.sort((s,o)=>{if(s.state!==o.state){if(s.state==="active")return-1;if(o.state==="active")return 1}return o.lastActivity-s.lastActivity}),i}function XP(e,n,i){const s=(n??i)-e;if(s<1e3)return"<1s";const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const u=Math.floor(o/60);return u<60?`${u}m`:`${Math.floor(u/60)}h ${u%60}m`}function QP({state:e,now:n,selectedIds:i,onSelect:s,onClose:o}){const u=L.useMemo(()=>YP(e),[e,e.lastSeq,n]),l=u.filter(c=>c.state==="active").length;return w.jsxs("aside",{className:"session-list","aria-label":"Sessions",children:[w.jsxs("div",{className:"sl-header",children:[w.jsxs("h3",{children:["Sessions ",w.jsx("span",{className:"sl-count",children:u.length})]}),l>0&&w.jsxs("span",{className:"sl-live-count",children:[l," live"]}),w.jsx("button",{className:"btn icon-btn sl-close",onClick:o,title:"Hide sidebar (L)","aria-label":"Hide session list",children:"‹"})]}),w.jsxs("div",{className:"sl-rows",children:[u.length===0&&w.jsx("div",{className:"sl-empty",children:"No sessions yet."}),u.map(c=>{const d=i.has(c.sessionId);return w.jsxs("button",{type:"button",className:`sl-row state-${c.state}${d?" selected":""}`,onClick:()=>s(c.sessionId),title:`Focus ${c.label}`,children:[w.jsx("span",{className:`sl-dot state-${c.state}`,"aria-hidden":!0}),w.jsxs("div",{className:"sl-row-body",children:[w.jsxs("div",{className:"sl-row-head",children:[w.jsx("span",{className:"sl-label",children:c.label}),c.modelId&&w.jsx("span",{className:"model-chip",title:c.modelId,children:co(c.modelId)})]}),w.jsxs("div",{className:"sl-row-meta",children:[w.jsxs("span",{title:"tool calls",children:[w.jsx("b",{children:c.toolCount})," tools"]}),c.cost>0&&w.jsx("span",{className:"sl-cost",title:"total spend",children:w.jsx("b",{children:De(c.cost)})}),w.jsx("span",{className:"sl-elapsed",title:`Started ${new Date(c.startedAt).toLocaleString()}`,children:XP(c.startedAt,c.state==="active"?void 0:c.lastActivity,n)})]})]})]},c.sessionId)})]})]})}function er(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function ZP({cost:e}){const n=e.total;if(n<=0)return null;const i=(s,o,u)=>{if(s<=0)return null;const l=s/n*100;return w.jsx("span",{className:`cb-seg ${o}`,style:{width:`${l}%`},title:`${u}: ${De(s)} (${l.toFixed(0)}%)`},o)};return w.jsxs("div",{className:"cost-bar","aria-label":"Cost breakdown",children:[i(e.input,"cb-input","input"),i(e.output,"cb-output","output"),i(e.cacheRead,"cb-cache-r","cache read"),i(e.cacheWrite,"cb-cache-w","cache write")]})}function JP(e,n){const i=e-n;if(i<=0)return null;const s=Math.floor(i/3600),o=Math.floor(i%3600/60);if(s>23){const u=Math.floor(i/86400),l=Math.floor(i%86400/3600);return`${u}d ${l}h`}return s>0?`${s}h ${o}m`:`${o}m`}function e3(e,n,i,s){const o=Math.max(0,n-s),u=Math.max(0,i-o);if(u<120)return null;const l=Math.min(100,u/i*100),c=e-l;if(Math.abs(c)<3)return{label:"on pace",color:"var(--ok)",expectedPct:l,isDeficit:!1};if(c>0){const d=100-e,p=u>0?e/u:0,h=p>0?d/p:1/0,m={label:`${Math.round(c)}% ahead`,color:"var(--warn)",expectedPct:l,isDeficit:!0};if(h<o&&h<86400){const v=Math.floor(h/3600),_=Math.floor(h%3600/60);m.runsOutIn=v>0?`${v}h ${_}m`:`${_}m`}return m}return{label:`${Math.round(-c)}% reserve`,color:"var(--ok)",expectedPct:l,isDeficit:!1}}function zi({pct:e,label:n,reset:i,resetAt:s,windowSec:o,limitReached:u,nowSec:l}){const c=Math.min(100,Math.max(0,e)),p=u||c>=90?"var(--err)":c>=70?"var(--warn)":"var(--accent)",h=c===0?"< 1%":`${c}%`,m=c===0?2:c,v=s?JP(s,l):null,_=s&&o?e3(c,s,o,l):null;return w.jsxs("div",{className:"qb-row",children:[w.jsxs("div",{className:"qb-meta",children:[w.jsxs("span",{className:"qb-label",children:[n,u&&w.jsx("span",{className:"qb-limit-badge",title:"Rate limit reached",children:"⛔"})]}),w.jsx("span",{className:"qb-pct",style:{color:p},children:h})]}),w.jsxs("div",{className:"qb-track",children:[w.jsx("div",{className:"qb-fill",style:{width:`${m}%`,background:p,opacity:c===0?.4:1}}),_&&w.jsx("div",{className:"qb-pace-marker",style:{left:`${_.expectedPct}%`,background:_.isDeficit?"var(--err)":"var(--ok)"},title:`To last until reset, stay near ${Math.round(_.expectedPct)}% by now`})]}),w.jsxs("div",{className:"qb-reset-row",children:[v?w.jsxs("span",{className:"qb-reset",children:["resets in ",v]}):i?w.jsxs("span",{className:"qb-reset",children:["resets ",i]}):null,_&&w.jsx("span",{className:"qb-pace",style:{color:_.color},children:_.runsOutIn?`runs out in ${_.runsOutIn}`:_.label})]})]})}const t3=6e4;function n3(){const[e,n]=L.useState(null),[i,s]=L.useState(!1),o=L.useRef(null),u=async(c=!1)=>{c&&s(!0);try{const p=await fetch(c?"/api/quota?refresh=1":"/api/quota");p.ok&&n(await p.json())}catch{}finally{c&&s(!1)}};return L.useEffect(()=>(u(!0),o.current=window.setInterval(()=>u(!1),t3),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{quota:e,loading:i,refresh:()=>u(!0)}}const VE=6e4;function r3(){const[e,n]=L.useState(null),[i,s]=L.useState(!1),o=L.useRef(null),u=async(c=!1)=>{c&&s(!0);try{const p=await fetch(c?"/api/codex-quota?refresh=1":"/api/codex-quota");p.ok&&n(await p.json())}catch{}finally{c&&s(!1)}};return L.useEffect(()=>(u(!0),o.current=window.setInterval(()=>u(!1),VE),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{data:e,loading:i,refresh:()=>u(!0)}}function i3(){const[e,n]=L.useState(null),i=L.useRef(null),s=async()=>{try{const o=await fetch("/api/codex-usage");o.ok&&n(await o.json())}catch{}};return L.useEffect(()=>(s(),i.current=window.setInterval(s,VE),()=>{i.current!=null&&window.clearInterval(i.current)}),[]),{data:e}}function s3({state:e,now:n,onClose:i}){const{quota:s,loading:o,refresh:u}=n3(),{data:l,loading:c,refresh:d}=r3(),{data:p}=i3(),[h,m]=L.useState(()=>Math.floor(Date.now()/1e3));L.useEffect(()=>{const j=window.setInterval(()=>m(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(j)},[]);const{byModel:v,totalCost:_,totalTokens:N,burnRate:x}=L.useMemo(()=>{const j=new Map,D={total:0,input:0,output:0,cacheRead:0,cacheWrite:0};let O=0,U=0,H=0,Q=0;for(const X of e.agents.values()){const Y=X.model??"__unknown__",q=Xt(X.usage,X.model),V=j.get(Y);V?(V.inputTokens+=X.usage.inputTokens,V.outputTokens+=X.usage.outputTokens,V.cacheReadTokens+=X.usage.cacheReadTokens,V.cacheCreateTokens+=X.usage.cacheCreateTokens,V.cost.total+=q.total,V.cost.input+=q.input,V.cost.output+=q.output,V.cost.cacheRead+=q.cacheRead,V.cost.cacheWrite+=q.cacheWrite,V.agentCount++):j.set(Y,{model:Y,inputTokens:X.usage.inputTokens,outputTokens:X.usage.outputTokens,cacheReadTokens:X.usage.cacheReadTokens,cacheCreateTokens:X.usage.cacheCreateTokens,cost:{...q},agentCount:1}),D.total+=q.total,D.input+=q.input,D.output+=q.output,D.cacheRead+=q.cacheRead,D.cacheWrite+=q.cacheWrite,O+=X.usage.inputTokens,U+=X.usage.outputTokens,H+=X.usage.cacheReadTokens,Q+=X.usage.cacheCreateTokens}const ee=Array.from(j.values()).sort((X,Y)=>Y.cost.total-X.cost.total);let R=0,G=0;for(const X of e.agents.values()){if(X.state!=="active")continue;const Y=Xt(X.usage,X.model);R+=Y.total,G=Math.max(G,((X.endedAt??n)-X.startedAt)/1e3)}const B=G>0?nu(R,G):null;return{byModel:ee,totalCost:D,totalTokens:{in:O,out:U,cacheR:H,cacheC:Q},burnRate:B}},[e,e.lastSeq,n]),S=L.useMemo(()=>{const j=[];for(const D of e.agents.values()){if(D.kind!=="root")continue;let O=Xt(D.usage,D.model).total,U=D.usage.inputTokens,H=D.usage.outputTokens;for(const Q of e.agents.values())Q.sessionId!==D.sessionId||Q.kind==="root"||(O+=Xt(Q.usage,Q.model).total,U+=Q.usage.inputTokens,H+=Q.usage.outputTokens);j.push({sessionId:D.sessionId,label:D.label||D.cwdBasename||"session",state:D.state,cost:O,inputTokens:U,outputTokens:H})}return j.sort((D,O)=>O.cost-D.cost).slice(0,12)},[e,e.lastSeq]),k=_.total>0,E=N.in+N.out,b=o||c,T=Math.max((s==null?void 0:s.fetchedAt)??0,(l==null?void 0:l.fetchedAt)??0),A=T>0?(()=>{const j=h-Math.floor(T/1e3);return j<10?"just now":j<60?`${j}s ago`:j<3600?`${Math.floor(j/60)}m ago`:`${Math.floor(j/3600)}h ago`})():null,I=()=>{u(),d()};return w.jsxs("div",{className:"usage-panel","aria-label":"Usage",children:[w.jsxs("div",{className:"up-header",children:[w.jsx("h3",{children:"Usage"}),x&&w.jsx("span",{className:"up-rate",children:x}),w.jsxs("div",{className:"up-header-right",children:[A&&!b&&w.jsx("span",{className:"up-last-updated",children:A}),w.jsx("button",{type:"button",className:"btn up-refresh-btn",onClick:I,disabled:b,title:"Refresh Claude + Codex quota",children:b?"…":"↻"}),w.jsx("button",{type:"button",className:"btn icon-btn up-close",onClick:i,"aria-label":"Close usage panel",title:"Close (U)",children:"×"})]})]}),w.jsxs("section",{className:"up-section up-quota-section",children:[w.jsx("h4",{className:"up-section-title",children:"Claude quota"}),s!=null&&s.ok?w.jsxs("div",{className:"up-quota-bars",children:[s.session5hPct!=null&&w.jsx(zi,{label:"5-hour window",pct:s.session5hPct,reset:s.session5hReset,resetAt:s.session5hResetAt,windowSec:s.session5hWindowSec,nowSec:h}),s.week7dPct!=null&&w.jsx(zi,{label:"7-day window",pct:s.week7dPct,reset:s.week7dReset,resetAt:s.week7dResetAt,windowSec:s.week7dWindowSec,nowSec:h}),s.weekSonnetPct!=null&&w.jsx(zi,{label:"Sonnet (7d)",pct:s.weekSonnetPct,nowSec:h}),s.weekOpusPct!=null&&w.jsx(zi,{label:"Opus (7d)",pct:s.weekOpusPct,nowSec:h})]}):(s==null?void 0:s.ok)===!1?w.jsxs("div",{className:"up-quota-na",children:[w.jsx("span",{children:"Quota unavailable."}),w.jsxs("span",{className:"up-quota-hint",children:["Run ",w.jsx("code",{children:"/usage"})," in a claude session, then click ↻"]})]}):w.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),w.jsxs("section",{className:"up-section up-quota-section",children:[w.jsx("h4",{className:"up-section-title",children:"Codex quota"}),l!=null&&l.ok?w.jsxs("div",{className:"up-quota-bars",children:[l.session5hPct!=null&&w.jsx(zi,{label:"5-hour window",pct:l.session5hPct,reset:l.session5hReset,resetAt:l.session5hResetAt,windowSec:l.session5hWindowSec,limitReached:l.limitReached&&l.session5hPct>=100,nowSec:h}),l.week7dPct!=null&&w.jsx(zi,{label:"7-day window",pct:l.week7dPct,reset:l.week7dReset,resetAt:l.week7dResetAt,windowSec:l.week7dWindowSec,nowSec:h}),(p==null?void 0:p.ok)&&p.window7d&&p.window7d.sessionCount>0&&w.jsxs("div",{className:"up-quota-sub",children:[er(p.window7d.totalTokens)," tokens · ",p.window7d.sessionCount," sessions (7d)"]}),l.creditsBalance&&!l.creditsUnlimited&&w.jsxs("div",{className:"up-quota-sub up-credits",children:["credits: $",l.creditsBalance]}),l.creditsUnlimited&&w.jsx("div",{className:"up-quota-sub up-credits",children:"credits: unlimited"})]}):(l==null?void 0:l.ok)===!1?w.jsxs("div",{className:"up-quota-na",children:[w.jsx("span",{children:"Quota unavailable."}),w.jsx("span",{className:"up-quota-hint",children:l.reason==="no_token"?"Run codex login to authenticate.":"ChatGPT API unreachable — click ↻ to retry."})]}):w.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),k?w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"up-total",children:[w.jsx("span",{className:"up-total-value",children:De(_.total)}),w.jsx("span",{className:"up-total-label",children:"total spend"})]}),w.jsx(ZP,{cost:_}),E>0&&w.jsxs("div",{className:"up-tokens-row",children:[w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"in"}),er(N.in)]}),w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"out"}),er(N.out)]}),N.cacheR>0&&w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"cache r"}),er(N.cacheR)]}),N.cacheC>0&&w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"cache c"}),er(N.cacheC)]})]}),v.filter(j=>j.cost.total>0).length>0&&w.jsxs("section",{className:"up-section",children:[w.jsx("h4",{className:"up-section-title",children:"By model"}),w.jsxs("table",{className:"up-table",children:[w.jsx("thead",{children:w.jsxs("tr",{children:[w.jsx("th",{children:"Model"}),w.jsx("th",{children:"Tokens"}),w.jsx("th",{children:"Cost"})]})}),w.jsx("tbody",{children:v.filter(j=>j.cost.total>0).map(j=>w.jsxs("tr",{children:[w.jsx("td",{className:"up-model-name",title:j.model,children:co(j.model)}),w.jsx("td",{className:"up-num",children:er(j.inputTokens+j.outputTokens)}),w.jsx("td",{className:"up-num up-cost-val",children:De(j.cost.total)})]},j.model))})]})]}),S.filter(j=>j.cost>0).length>0&&w.jsxs("section",{className:"up-section",children:[w.jsx("h4",{className:"up-section-title",children:"By session"}),w.jsx("div",{className:"up-sessions",children:S.filter(j=>j.cost>0).map(j=>w.jsxs("div",{className:"up-session-row",children:[w.jsx("span",{className:`sl-dot state-${j.state}`,"aria-hidden":!0}),w.jsx("span",{className:"up-session-label",children:j.label}),w.jsx("span",{className:"up-session-tokens",children:er(j.inputTokens+j.outputTokens)}),w.jsx("span",{className:"up-session-cost",children:De(j.cost)})]},j.sessionId))})]})]}):E>0?w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"up-tokens-row",children:[w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"in"}),er(N.in)]}),w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"out"}),er(N.out)]})]}),w.jsx("div",{className:"up-hint",children:"Cost appears once a known model is detected."})]}):w.jsxs("div",{className:"up-empty",children:["No usage data yet.",w.jsx("br",{}),"Start a Claude Code or Codex session."]})]})}function Yr(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:e<1e9?`${(e/1e6).toFixed(2)}M`:`${(e/1e9).toFixed(2)}B`}function $w(e){return e.replace(/^anthropic\./,"").replace(/^claude-/,"").replace(/-\d{8}$/,"")}function $a(e){const n=e.toLowerCase();return n.includes("opus")?"#c4b5fd":n.includes("sonnet")?"#7dd3fc":n.includes("haiku")?"#86efac":n.includes("gpt-5")||n.includes("gpt5")?"#fcd34d":n.includes("gpt")?"#fca5a5":n.includes("gemini")?"#a5b4fc":n.includes("codex")?"#fdba74":"#94a3b8"}function o3(e){return new Date(Date.now()-(e-1)*864e5).toISOString().slice(0,10).replace(/-/g,"")}const a3=[7,14,30,90];function u3(e){const[n,i]=L.useState(null),[s,o]=L.useState(!1),u=(l=!1)=>{o(!0);const d=`/api/ccusage?since=${o3(e)}${l?"&refresh=1":""}`;fetch(d).then(p=>p.json()).then(i).catch(()=>i({ok:!1,error:"request failed"})).finally(()=>o(!1))};return L.useEffect(()=>{u(!1)},[e]),{data:n,loading:s,reload:()=>u(!0)}}function l3({onClose:e}){var k,E;const[n,i]=L.useState(30),[s,o]=L.useState(null),{data:u,loading:l,reload:c}=u3(n);L.useEffect(()=>{const b=T=>{T.key==="Escape"&&e()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[e]);const d=u!=null&&u.ok?u.days??[]:[],p=L.useMemo(()=>d.reduce((b,T)=>Math.max(b,T.totalCost),0),[d]),{totalCost:h,totalTok:m,inOut:v,cacheRead:_,modelCosts:N}=L.useMemo(()=>{let b=0,T=0,A=0,I=0;const j=new Map;for(const D of d){b+=D.totalCost,T+=D.totalTokens,A+=D.inputTokens+D.outputTokens,I+=D.cacheReadTokens;for(const O of D.modelBreakdowns)j.set(O.modelName,(j.get(O.modelName)??0)+O.cost)}return{totalCost:b,totalTok:T,inOut:A,cacheRead:I,modelCosts:j}},[d]),x=L.useMemo(()=>Array.from(N.entries()).sort((b,T)=>T[1]-b[1]),[N]),S=s?d.find(b=>b.period===s)??null:null;return w.jsx("div",{className:"uh-backdrop",onClick:e,role:"presentation",children:w.jsxs("div",{className:"uh-modal",onClick:b=>b.stopPropagation(),role:"dialog","aria-label":"Usage history",children:[w.jsxs("header",{className:"uh-head",children:[w.jsxs("div",{className:"uh-titlewrap",children:[w.jsx("div",{className:"uh-title",children:"Usage history"}),w.jsx("div",{className:"uh-sub",children:"via ccusage · local Claude / Codex logs"})]}),w.jsx("div",{className:"uh-range",role:"tablist","aria-label":"Range",children:a3.map(b=>w.jsxs("button",{role:"tab","aria-selected":n===b,className:`uh-range-btn${n===b?" on":""}`,onClick:()=>{i(b),o(null)},children:[b,"d"]},b))}),w.jsx("button",{className:"btn icon-btn uh-reload",onClick:c,title:"Re-run ccusage","aria-label":"Reload",children:"↻"}),w.jsx("button",{className:"uh-close",onClick:e,"aria-label":"Close",children:"×"})]}),l&&d.length===0?w.jsx("div",{className:"uh-status",children:"running ccusage… (first run downloads the package)"}):u&&!u.ok?w.jsxs("div",{className:"uh-status uh-err",children:["ccusage failed: ",u.error]}):d.length===0?w.jsx("div",{className:"uh-status",children:"no usage in this range"}):w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"uh-totals",children:[w.jsx(Da,{label:"total cost",val:De(h),accent:!0}),w.jsx(Da,{label:"tokens",val:Yr(m)}),w.jsx(Da,{label:"input+output",val:Yr(v)}),w.jsx(Da,{label:"cache reads",val:Yr(_)})]}),w.jsx("div",{className:"uh-chart",role:"img","aria-label":"Daily cost by model",children:d.map(b=>{const T=p>0?b.totalCost/p*100:0,A=b.period===s;return w.jsxs("button",{className:`uh-bar-col${A?" sel":""}`,onClick:()=>o(A?null:b.period),title:`${b.period} · ${De(b.totalCost)}`,style:{flexBasis:`${100/d.length}%`},children:[w.jsx("div",{className:"uh-bar",style:{height:`${Math.max(T,b.totalCost>0?2:0)}%`},children:b.modelBreakdowns.slice().sort((I,j)=>j.cost-I.cost).map(I=>{const j=b.totalCost>0?I.cost/b.totalCost*100:0;return w.jsx("div",{className:"uh-bar-seg",style:{height:`${j}%`,background:$a(I.modelName)}},I.modelName)})}),w.jsx("span",{className:"uh-bar-label",children:b.period.slice(5)})]},b.period)})}),w.jsx("div",{className:"uh-legend",children:x.map(([b,T])=>w.jsxs("span",{className:"uh-legend-item",children:[w.jsx("span",{className:"uh-legend-dot",style:{background:$a(b)}}),$w(b)," ",w.jsx("span",{className:"uh-legend-cost",children:De(T)})]},b))}),S&&w.jsxs("div",{className:"uh-detail",children:[w.jsxs("div",{className:"uh-detail-head",children:[w.jsx("span",{className:"uh-detail-date",children:S.period}),w.jsx("span",{className:"uh-detail-cost",children:De(S.totalCost)}),(E=(k=S.metadata)==null?void 0:k.agents)!=null&&E.length?w.jsx("span",{className:"uh-detail-agents",children:S.metadata.agents.join(" · ")}):null]}),w.jsxs("div",{className:"uh-detail-mini",children:[w.jsx(Fa,{label:"input",val:Yr(S.inputTokens)}),w.jsx(Fa,{label:"output",val:Yr(S.outputTokens)}),w.jsx(Fa,{label:"cache write",val:Yr(S.cacheCreationTokens)}),w.jsx(Fa,{label:"cache read",val:Yr(S.cacheReadTokens)})]}),w.jsx("div",{className:"uh-detail-models",children:S.modelBreakdowns.slice().sort((b,T)=>T.cost-b.cost).map(b=>{const T=S.totalCost>0?b.cost/S.totalCost*100:0;return w.jsxs("div",{className:"uh-model-row",children:[w.jsxs("span",{className:"uh-model-name",children:[w.jsx("span",{className:"uh-legend-dot",style:{background:$a(b.modelName)}}),$w(b.modelName)]}),w.jsx("span",{className:"uh-model-bar",children:w.jsx("span",{className:"uh-model-bar-fill",style:{width:`${T}%`,background:$a(b.modelName)}})}),w.jsx("span",{className:"uh-model-cost",children:De(b.cost)})]},b.modelName)})})]})]})]})})}function Da({label:e,val:n,accent:i}){return w.jsxs("div",{className:"uh-stat",children:[w.jsx("span",{className:`uh-stat-val${i?" accent":""}`,children:n}),w.jsx("span",{className:"uh-stat-label",children:e})]})}function Fa({label:e,val:n}){return w.jsxs("div",{className:"uh-ministat",children:[w.jsx("span",{className:"uh-ministat-val",children:n}),w.jsx("span",{className:"uh-ministat-label",children:e})]})}function Og(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Rc,Dw;function c3(){if(Dw)return Rc;Dw=1;function e(){this.__data__=[],this.size=0}return Rc=e,Rc}var jc,Fw;function Qi(){if(Fw)return jc;Fw=1;function e(n,i){return n===i||n!==n&&i!==i}return jc=e,jc}var Ac,zw;function fu(){if(zw)return Ac;zw=1;var e=Qi();function n(i,s){for(var o=i.length;o--;)if(e(i[o][0],s))return o;return-1}return Ac=n,Ac}var Ic,Bw;function f3(){if(Bw)return Ic;Bw=1;var e=fu(),n=Array.prototype,i=n.splice;function s(o){var u=this.__data__,l=e(u,o);if(l<0)return!1;var c=u.length-1;return l==c?u.pop():i.call(u,l,1),--this.size,!0}return Ic=s,Ic}var Mc,Uw;function d3(){if(Uw)return Mc;Uw=1;var e=fu();function n(i){var s=this.__data__,o=e(s,i);return o<0?void 0:s[o][1]}return Mc=n,Mc}var Pc,Hw;function h3(){if(Hw)return Pc;Hw=1;var e=fu();function n(i){return e(this.__data__,i)>-1}return Pc=n,Pc}var qc,Vw;function p3(){if(Vw)return qc;Vw=1;var e=fu();function n(i,s){var o=this.__data__,u=e(o,i);return u<0?(++this.size,o.push([i,s])):o[u][1]=s,this}return qc=n,qc}var Oc,Ww;function du(){if(Ww)return Oc;Ww=1;var e=c3(),n=f3(),i=d3(),s=h3(),o=p3();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var p=l[c];this.set(p[0],p[1])}}return u.prototype.clear=e,u.prototype.delete=n,u.prototype.get=i,u.prototype.has=s,u.prototype.set=o,Oc=u,Oc}var Lc,Gw;function m3(){if(Gw)return Lc;Gw=1;var e=du();function n(){this.__data__=new e,this.size=0}return Lc=n,Lc}var $c,Kw;function g3(){if(Kw)return $c;Kw=1;function e(n){var i=this.__data__,s=i.delete(n);return this.size=i.size,s}return $c=e,$c}var Dc,Yw;function v3(){if(Yw)return Dc;Yw=1;function e(n){return this.__data__.get(n)}return Dc=e,Dc}var Fc,Xw;function y3(){if(Xw)return Fc;Xw=1;function e(n){return this.__data__.has(n)}return Fc=e,Fc}var zc,Qw;function WE(){if(Qw)return zc;Qw=1;var e=typeof Na=="object"&&Na&&Na.Object===Object&&Na;return zc=e,zc}var Bc,Zw;function Pn(){if(Zw)return Bc;Zw=1;var e=WE(),n=typeof self=="object"&&self&&self.Object===Object&&self,i=e||n||Function("return this")();return Bc=i,Bc}var Uc,Jw;function Zi(){if(Jw)return Uc;Jw=1;var e=Pn(),n=e.Symbol;return Uc=n,Uc}var Hc,e1;function w3(){if(e1)return Hc;e1=1;var e=Zi(),n=Object.prototype,i=n.hasOwnProperty,s=n.toString,o=e?e.toStringTag:void 0;function u(l){var c=i.call(l,o),d=l[o];try{l[o]=void 0;var p=!0}catch{}var h=s.call(l);return p&&(c?l[o]=d:delete l[o]),h}return Hc=u,Hc}var Vc,t1;function _3(){if(t1)return Vc;t1=1;var e=Object.prototype,n=e.toString;function i(s){return n.call(s)}return Vc=i,Vc}var Wc,n1;function ii(){if(n1)return Wc;n1=1;var e=Zi(),n=w3(),i=_3(),s="[object Null]",o="[object Undefined]",u=e?e.toStringTag:void 0;function l(c){return c==null?c===void 0?o:s:u&&u in Object(c)?n(c):i(c)}return Wc=l,Wc}var Gc,r1;function vn(){if(r1)return Gc;r1=1;function e(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}return Gc=e,Gc}var Kc,i1;function fo(){if(i1)return Kc;i1=1;var e=ii(),n=vn(),i="[object AsyncFunction]",s="[object Function]",o="[object GeneratorFunction]",u="[object Proxy]";function l(c){if(!n(c))return!1;var d=e(c);return d==s||d==o||d==i||d==u}return Kc=l,Kc}var Yc,s1;function x3(){if(s1)return Yc;s1=1;var e=Pn(),n=e["__core-js_shared__"];return Yc=n,Yc}var Xc,o1;function S3(){if(o1)return Xc;o1=1;var e=x3(),n=(function(){var s=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""})();function i(s){return!!n&&n in s}return Xc=i,Xc}var Qc,a1;function GE(){if(a1)return Qc;a1=1;var e=Function.prototype,n=e.toString;function i(s){if(s!=null){try{return n.call(s)}catch{}try{return s+""}catch{}}return""}return Qc=i,Qc}var Zc,u1;function k3(){if(u1)return Zc;u1=1;var e=fo(),n=S3(),i=vn(),s=GE(),o=/[\\^$.*+?()[\]{}|]/g,u=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,d=l.toString,p=c.hasOwnProperty,h=RegExp("^"+d.call(p).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function m(v){if(!i(v)||n(v))return!1;var _=e(v)?h:u;return _.test(s(v))}return Zc=m,Zc}var Jc,l1;function b3(){if(l1)return Jc;l1=1;function e(n,i){return n==null?void 0:n[i]}return Jc=e,Jc}var ef,c1;function si(){if(c1)return ef;c1=1;var e=k3(),n=b3();function i(s,o){var u=n(s,o);return e(u)?u:void 0}return ef=i,ef}var tf,f1;function Lg(){if(f1)return tf;f1=1;var e=si(),n=Pn(),i=e(n,"Map");return tf=i,tf}var nf,d1;function hu(){if(d1)return nf;d1=1;var e=si(),n=e(Object,"create");return nf=n,nf}var rf,h1;function E3(){if(h1)return rf;h1=1;var e=hu();function n(){this.__data__=e?e(null):{},this.size=0}return rf=n,rf}var sf,p1;function N3(){if(p1)return sf;p1=1;function e(n){var i=this.has(n)&&delete this.__data__[n];return this.size-=i?1:0,i}return sf=e,sf}var of,m1;function C3(){if(m1)return of;m1=1;var e=hu(),n="__lodash_hash_undefined__",i=Object.prototype,s=i.hasOwnProperty;function o(u){var l=this.__data__;if(e){var c=l[u];return c===n?void 0:c}return s.call(l,u)?l[u]:void 0}return of=o,of}var af,g1;function T3(){if(g1)return af;g1=1;var e=hu(),n=Object.prototype,i=n.hasOwnProperty;function s(o){var u=this.__data__;return e?u[o]!==void 0:i.call(u,o)}return af=s,af}var uf,v1;function R3(){if(v1)return uf;v1=1;var e=hu(),n="__lodash_hash_undefined__";function i(s,o){var u=this.__data__;return this.size+=this.has(s)?0:1,u[s]=e&&o===void 0?n:o,this}return uf=i,uf}var lf,y1;function j3(){if(y1)return lf;y1=1;var e=E3(),n=N3(),i=C3(),s=T3(),o=R3();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var p=l[c];this.set(p[0],p[1])}}return u.prototype.clear=e,u.prototype.delete=n,u.prototype.get=i,u.prototype.has=s,u.prototype.set=o,lf=u,lf}var cf,w1;function A3(){if(w1)return cf;w1=1;var e=j3(),n=du(),i=Lg();function s(){this.size=0,this.__data__={hash:new e,map:new(i||n),string:new e}}return cf=s,cf}var ff,_1;function I3(){if(_1)return ff;_1=1;function e(n){var i=typeof n;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?n!=="__proto__":n===null}return ff=e,ff}var df,x1;function pu(){if(x1)return df;x1=1;var e=I3();function n(i,s){var o=i.__data__;return e(s)?o[typeof s=="string"?"string":"hash"]:o.map}return df=n,df}var hf,S1;function M3(){if(S1)return hf;S1=1;var e=pu();function n(i){var s=e(this,i).delete(i);return this.size-=s?1:0,s}return hf=n,hf}var pf,k1;function P3(){if(k1)return pf;k1=1;var e=pu();function n(i){return e(this,i).get(i)}return pf=n,pf}var mf,b1;function q3(){if(b1)return mf;b1=1;var e=pu();function n(i){return e(this,i).has(i)}return mf=n,mf}var gf,E1;function O3(){if(E1)return gf;E1=1;var e=pu();function n(i,s){var o=e(this,i),u=o.size;return o.set(i,s),this.size+=o.size==u?0:1,this}return gf=n,gf}var vf,N1;function $g(){if(N1)return vf;N1=1;var e=A3(),n=M3(),i=P3(),s=q3(),o=O3();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var p=l[c];this.set(p[0],p[1])}}return u.prototype.clear=e,u.prototype.delete=n,u.prototype.get=i,u.prototype.has=s,u.prototype.set=o,vf=u,vf}var yf,C1;function L3(){if(C1)return yf;C1=1;var e=du(),n=Lg(),i=$g(),s=200;function o(u,l){var c=this.__data__;if(c instanceof e){var d=c.__data__;if(!n||d.length<s-1)return d.push([u,l]),this.size=++c.size,this;c=this.__data__=new i(d)}return c.set(u,l),this.size=c.size,this}return yf=o,yf}var wf,T1;function mu(){if(T1)return wf;T1=1;var e=du(),n=m3(),i=g3(),s=v3(),o=y3(),u=L3();function l(c){var d=this.__data__=new e(c);this.size=d.size}return l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=s,l.prototype.has=o,l.prototype.set=u,wf=l,wf}var _f,R1;function Dg(){if(R1)return _f;R1=1;function e(n,i){for(var s=-1,o=n==null?0:n.length;++s<o&&i(n[s],s,n)!==!1;);return n}return _f=e,_f}var xf,j1;function KE(){if(j1)return xf;j1=1;var e=si(),n=(function(){try{var i=e(Object,"defineProperty");return i({},"",{}),i}catch{}})();return xf=n,xf}var Sf,A1;function gu(){if(A1)return Sf;A1=1;var e=KE();function n(i,s,o){s=="__proto__"&&e?e(i,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):i[s]=o}return Sf=n,Sf}var kf,I1;function vu(){if(I1)return kf;I1=1;var e=gu(),n=Qi(),i=Object.prototype,s=i.hasOwnProperty;function o(u,l,c){var d=u[l];(!(s.call(u,l)&&n(d,c))||c===void 0&&!(l in u))&&e(u,l,c)}return kf=o,kf}var bf,M1;function ho(){if(M1)return bf;M1=1;var e=vu(),n=gu();function i(s,o,u,l){var c=!u;u||(u={});for(var d=-1,p=o.length;++d<p;){var h=o[d],m=l?l(u[h],s[h],h,u,s):void 0;m===void 0&&(m=s[h]),c?n(u,h,m):e(u,h,m)}return u}return bf=i,bf}var Ef,P1;function $3(){if(P1)return Ef;P1=1;function e(n,i){for(var s=-1,o=Array(n);++s<n;)o[s]=i(s);return o}return Ef=e,Ef}var Nf,q1;function Un(){if(q1)return Nf;q1=1;function e(n){return n!=null&&typeof n=="object"}return Nf=e,Nf}var Cf,O1;function D3(){if(O1)return Cf;O1=1;var e=ii(),n=Un(),i="[object Arguments]";function s(o){return n(o)&&e(o)==i}return Cf=s,Cf}var Tf,L1;function po(){if(L1)return Tf;L1=1;var e=D3(),n=Un(),i=Object.prototype,s=i.hasOwnProperty,o=i.propertyIsEnumerable,u=e((function(){return arguments})())?e:function(l){return n(l)&&s.call(l,"callee")&&!o.call(l,"callee")};return Tf=u,Tf}var Rf,$1;function yt(){if($1)return Rf;$1=1;var e=Array.isArray;return Rf=e,Rf}var Gs={exports:{}},jf,D1;function F3(){if(D1)return jf;D1=1;function e(){return!1}return jf=e,jf}Gs.exports;var F1;function Ji(){return F1||(F1=1,(function(e,n){var i=Pn(),s=F3(),o=n&&!n.nodeType&&n,u=o&&!0&&e&&!e.nodeType&&e,l=u&&u.exports===o,c=l?i.Buffer:void 0,d=c?c.isBuffer:void 0,p=d||s;e.exports=p})(Gs,Gs.exports)),Gs.exports}var Af,z1;function yu(){if(z1)return Af;z1=1;var e=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function i(s,o){var u=typeof s;return o=o??e,!!o&&(u=="number"||u!="symbol"&&n.test(s))&&s>-1&&s%1==0&&s<o}return Af=i,Af}var If,B1;function Fg(){if(B1)return If;B1=1;var e=9007199254740991;function n(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=e}return If=n,If}var Mf,U1;function z3(){if(U1)return Mf;U1=1;var e=ii(),n=Fg(),i=Un(),s="[object Arguments]",o="[object Array]",u="[object Boolean]",l="[object Date]",c="[object Error]",d="[object Function]",p="[object Map]",h="[object Number]",m="[object Object]",v="[object RegExp]",_="[object Set]",N="[object String]",x="[object WeakMap]",S="[object ArrayBuffer]",k="[object DataView]",E="[object Float32Array]",b="[object Float64Array]",T="[object Int8Array]",A="[object Int16Array]",I="[object Int32Array]",j="[object Uint8Array]",D="[object Uint8ClampedArray]",O="[object Uint16Array]",U="[object Uint32Array]",H={};H[E]=H[b]=H[T]=H[A]=H[I]=H[j]=H[D]=H[O]=H[U]=!0,H[s]=H[o]=H[S]=H[u]=H[k]=H[l]=H[c]=H[d]=H[p]=H[h]=H[m]=H[v]=H[_]=H[N]=H[x]=!1;function Q(ee){return i(ee)&&n(ee.length)&&!!H[e(ee)]}return Mf=Q,Mf}var Pf,H1;function wu(){if(H1)return Pf;H1=1;function e(n){return function(i){return n(i)}}return Pf=e,Pf}var Ks={exports:{}};Ks.exports;var V1;function zg(){return V1||(V1=1,(function(e,n){var i=WE(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,u=o&&o.exports===s,l=u&&i.process,c=(function(){try{var d=o&&o.require&&o.require("util").types;return d||l&&l.binding&&l.binding("util")}catch{}})();e.exports=c})(Ks,Ks.exports)),Ks.exports}var qf,W1;function mo(){if(W1)return qf;W1=1;var e=z3(),n=wu(),i=zg(),s=i&&i.isTypedArray,o=s?n(s):e;return qf=o,qf}var Of,G1;function YE(){if(G1)return Of;G1=1;var e=$3(),n=po(),i=yt(),s=Ji(),o=yu(),u=mo(),l=Object.prototype,c=l.hasOwnProperty;function d(p,h){var m=i(p),v=!m&&n(p),_=!m&&!v&&s(p),N=!m&&!v&&!_&&u(p),x=m||v||_||N,S=x?e(p.length,String):[],k=S.length;for(var E in p)(h||c.call(p,E))&&!(x&&(E=="length"||_&&(E=="offset"||E=="parent")||N&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||o(E,k)))&&S.push(E);return S}return Of=d,Of}var Lf,K1;function _u(){if(K1)return Lf;K1=1;var e=Object.prototype;function n(i){var s=i&&i.constructor,o=typeof s=="function"&&s.prototype||e;return i===o}return Lf=n,Lf}var $f,Y1;function XE(){if(Y1)return $f;Y1=1;function e(n,i){return function(s){return n(i(s))}}return $f=e,$f}var Df,X1;function B3(){if(X1)return Df;X1=1;var e=XE(),n=e(Object.keys,Object);return Df=n,Df}var Ff,Q1;function Bg(){if(Q1)return Ff;Q1=1;var e=_u(),n=B3(),i=Object.prototype,s=i.hasOwnProperty;function o(u){if(!e(u))return n(u);var l=[];for(var c in Object(u))s.call(u,c)&&c!="constructor"&&l.push(c);return l}return Ff=o,Ff}var zf,Z1;function sr(){if(Z1)return zf;Z1=1;var e=fo(),n=Fg();function i(s){return s!=null&&n(s.length)&&!e(s)}return zf=i,zf}var Bf,J1;function qr(){if(J1)return Bf;J1=1;var e=YE(),n=Bg(),i=sr();function s(o){return i(o)?e(o):n(o)}return Bf=s,Bf}var Uf,e_;function U3(){if(e_)return Uf;e_=1;var e=ho(),n=qr();function i(s,o){return s&&e(o,n(o),s)}return Uf=i,Uf}var Hf,t_;function H3(){if(t_)return Hf;t_=1;function e(n){var i=[];if(n!=null)for(var s in Object(n))i.push(s);return i}return Hf=e,Hf}var Vf,n_;function V3(){if(n_)return Vf;n_=1;var e=vn(),n=_u(),i=H3(),s=Object.prototype,o=s.hasOwnProperty;function u(l){if(!e(l))return i(l);var c=n(l),d=[];for(var p in l)p=="constructor"&&(c||!o.call(l,p))||d.push(p);return d}return Vf=u,Vf}var Wf,r_;function oi(){if(r_)return Wf;r_=1;var e=YE(),n=V3(),i=sr();function s(o){return i(o)?e(o,!0):n(o)}return Wf=s,Wf}var Gf,i_;function W3(){if(i_)return Gf;i_=1;var e=ho(),n=oi();function i(s,o){return s&&e(o,n(o),s)}return Gf=i,Gf}var Ys={exports:{}};Ys.exports;var s_;function QE(){return s_||(s_=1,(function(e,n){var i=Pn(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,u=o&&o.exports===s,l=u?i.Buffer:void 0,c=l?l.allocUnsafe:void 0;function d(p,h){if(h)return p.slice();var m=p.length,v=c?c(m):new p.constructor(m);return p.copy(v),v}e.exports=d})(Ys,Ys.exports)),Ys.exports}var Kf,o_;function ZE(){if(o_)return Kf;o_=1;function e(n,i){var s=-1,o=n.length;for(i||(i=Array(o));++s<o;)i[s]=n[s];return i}return Kf=e,Kf}var Yf,a_;function JE(){if(a_)return Yf;a_=1;function e(n,i){for(var s=-1,o=n==null?0:n.length,u=0,l=[];++s<o;){var c=n[s];i(c,s,n)&&(l[u++]=c)}return l}return Yf=e,Yf}var Xf,u_;function eN(){if(u_)return Xf;u_=1;function e(){return[]}return Xf=e,Xf}var Qf,l_;function Ug(){if(l_)return Qf;l_=1;var e=JE(),n=eN(),i=Object.prototype,s=i.propertyIsEnumerable,o=Object.getOwnPropertySymbols,u=o?function(l){return l==null?[]:(l=Object(l),e(o(l),function(c){return s.call(l,c)}))}:n;return Qf=u,Qf}var Zf,c_;function G3(){if(c_)return Zf;c_=1;var e=ho(),n=Ug();function i(s,o){return e(s,n(s),o)}return Zf=i,Zf}var Jf,f_;function Hg(){if(f_)return Jf;f_=1;function e(n,i){for(var s=-1,o=i.length,u=n.length;++s<o;)n[u+s]=i[s];return n}return Jf=e,Jf}var ed,d_;function xu(){if(d_)return ed;d_=1;var e=XE(),n=e(Object.getPrototypeOf,Object);return ed=n,ed}var td,h_;function tN(){if(h_)return td;h_=1;var e=Hg(),n=xu(),i=Ug(),s=eN(),o=Object.getOwnPropertySymbols,u=o?function(l){for(var c=[];l;)e(c,i(l)),l=n(l);return c}:s;return td=u,td}var nd,p_;function K3(){if(p_)return nd;p_=1;var e=ho(),n=tN();function i(s,o){return e(s,n(s),o)}return nd=i,nd}var rd,m_;function nN(){if(m_)return rd;m_=1;var e=Hg(),n=yt();function i(s,o,u){var l=o(s);return n(s)?l:e(l,u(s))}return rd=i,rd}var id,g_;function rN(){if(g_)return id;g_=1;var e=nN(),n=Ug(),i=qr();function s(o){return e(o,i,n)}return id=s,id}var sd,v_;function Y3(){if(v_)return sd;v_=1;var e=nN(),n=tN(),i=oi();function s(o){return e(o,i,n)}return sd=s,sd}var od,y_;function X3(){if(y_)return od;y_=1;var e=si(),n=Pn(),i=e(n,"DataView");return od=i,od}var ad,w_;function Q3(){if(w_)return ad;w_=1;var e=si(),n=Pn(),i=e(n,"Promise");return ad=i,ad}var ud,__;function iN(){if(__)return ud;__=1;var e=si(),n=Pn(),i=e(n,"Set");return ud=i,ud}var ld,x_;function Z3(){if(x_)return ld;x_=1;var e=si(),n=Pn(),i=e(n,"WeakMap");return ld=i,ld}var cd,S_;function es(){if(S_)return cd;S_=1;var e=X3(),n=Lg(),i=Q3(),s=iN(),o=Z3(),u=ii(),l=GE(),c="[object Map]",d="[object Object]",p="[object Promise]",h="[object Set]",m="[object WeakMap]",v="[object DataView]",_=l(e),N=l(n),x=l(i),S=l(s),k=l(o),E=u;return(e&&E(new e(new ArrayBuffer(1)))!=v||n&&E(new n)!=c||i&&E(i.resolve())!=p||s&&E(new s)!=h||o&&E(new o)!=m)&&(E=function(b){var T=u(b),A=T==d?b.constructor:void 0,I=A?l(A):"";if(I)switch(I){case _:return v;case N:return c;case x:return p;case S:return h;case k:return m}return T}),cd=E,cd}var fd,k_;function J3(){if(k_)return fd;k_=1;var e=Object.prototype,n=e.hasOwnProperty;function i(s){var o=s.length,u=new s.constructor(o);return o&&typeof s[0]=="string"&&n.call(s,"index")&&(u.index=s.index,u.input=s.input),u}return fd=i,fd}var dd,b_;function sN(){if(b_)return dd;b_=1;var e=Pn(),n=e.Uint8Array;return dd=n,dd}var hd,E_;function Vg(){if(E_)return hd;E_=1;var e=sN();function n(i){var s=new i.constructor(i.byteLength);return new e(s).set(new e(i)),s}return hd=n,hd}var pd,N_;function eq(){if(N_)return pd;N_=1;var e=Vg();function n(i,s){var o=s?e(i.buffer):i.buffer;return new i.constructor(o,i.byteOffset,i.byteLength)}return pd=n,pd}var md,C_;function tq(){if(C_)return md;C_=1;var e=/\w*$/;function n(i){var s=new i.constructor(i.source,e.exec(i));return s.lastIndex=i.lastIndex,s}return md=n,md}var gd,T_;function nq(){if(T_)return gd;T_=1;var e=Zi(),n=e?e.prototype:void 0,i=n?n.valueOf:void 0;function s(o){return i?Object(i.call(o)):{}}return gd=s,gd}var vd,R_;function oN(){if(R_)return vd;R_=1;var e=Vg();function n(i,s){var o=s?e(i.buffer):i.buffer;return new i.constructor(o,i.byteOffset,i.length)}return vd=n,vd}var yd,j_;function rq(){if(j_)return yd;j_=1;var e=Vg(),n=eq(),i=tq(),s=nq(),o=oN(),u="[object Boolean]",l="[object Date]",c="[object Map]",d="[object Number]",p="[object RegExp]",h="[object Set]",m="[object String]",v="[object Symbol]",_="[object ArrayBuffer]",N="[object DataView]",x="[object Float32Array]",S="[object Float64Array]",k="[object Int8Array]",E="[object Int16Array]",b="[object Int32Array]",T="[object Uint8Array]",A="[object Uint8ClampedArray]",I="[object Uint16Array]",j="[object Uint32Array]";function D(O,U,H){var Q=O.constructor;switch(U){case _:return e(O);case u:case l:return new Q(+O);case N:return n(O,H);case x:case S:case k:case E:case b:case T:case A:case I:case j:return o(O,H);case c:return new Q;case d:case m:return new Q(O);case p:return i(O);case h:return new Q;case v:return s(O)}}return yd=D,yd}var wd,A_;function aN(){if(A_)return wd;A_=1;var e=vn(),n=Object.create,i=(function(){function s(){}return function(o){if(!e(o))return{};if(n)return n(o);s.prototype=o;var u=new s;return s.prototype=void 0,u}})();return wd=i,wd}var _d,I_;function uN(){if(I_)return _d;I_=1;var e=aN(),n=xu(),i=_u();function s(o){return typeof o.constructor=="function"&&!i(o)?e(n(o)):{}}return _d=s,_d}var xd,M_;function iq(){if(M_)return xd;M_=1;var e=es(),n=Un(),i="[object Map]";function s(o){return n(o)&&e(o)==i}return xd=s,xd}var Sd,P_;function sq(){if(P_)return Sd;P_=1;var e=iq(),n=wu(),i=zg(),s=i&&i.isMap,o=s?n(s):e;return Sd=o,Sd}var kd,q_;function oq(){if(q_)return kd;q_=1;var e=es(),n=Un(),i="[object Set]";function s(o){return n(o)&&e(o)==i}return kd=s,kd}var bd,O_;function aq(){if(O_)return bd;O_=1;var e=oq(),n=wu(),i=zg(),s=i&&i.isSet,o=s?n(s):e;return bd=o,bd}var Ed,L_;function lN(){if(L_)return Ed;L_=1;var e=mu(),n=Dg(),i=vu(),s=U3(),o=W3(),u=QE(),l=ZE(),c=G3(),d=K3(),p=rN(),h=Y3(),m=es(),v=J3(),_=rq(),N=uN(),x=yt(),S=Ji(),k=sq(),E=vn(),b=aq(),T=qr(),A=oi(),I=1,j=2,D=4,O="[object Arguments]",U="[object Array]",H="[object Boolean]",Q="[object Date]",ee="[object Error]",R="[object Function]",G="[object GeneratorFunction]",B="[object Map]",X="[object Number]",Y="[object Object]",q="[object RegExp]",V="[object Set]",M="[object String]",z="[object Symbol]",ae="[object WeakMap]",$="[object ArrayBuffer]",K="[object DataView]",Z="[object Float32Array]",oe="[object Float64Array]",ce="[object Int8Array]",he="[object Int16Array]",me="[object Int32Array]",Me="[object Uint8Array]",Ie="[object Uint8ClampedArray]",Pe="[object Uint16Array]",Ae="[object Uint32Array]",Ee={};Ee[O]=Ee[U]=Ee[$]=Ee[K]=Ee[H]=Ee[Q]=Ee[Z]=Ee[oe]=Ee[ce]=Ee[he]=Ee[me]=Ee[B]=Ee[X]=Ee[Y]=Ee[q]=Ee[V]=Ee[M]=Ee[z]=Ee[Me]=Ee[Ie]=Ee[Pe]=Ee[Ae]=!0,Ee[ee]=Ee[R]=Ee[ae]=!1;function Ge(we,ye,ze,Xe,ht,ot){var Ke,wt=ye&I,pt=ye&j,Dt=ye&D;if(ze&&(Ke=ht?ze(we,Xe,ht,ot):ze(we)),Ke!==void 0)return Ke;if(!E(we))return we;var It=x(we);if(It){if(Ke=v(we),!wt)return l(we,Ke)}else{var ct=m(we),at=ct==R||ct==G;if(S(we))return u(we,wt);if(ct==Y||ct==O||at&&!ht){if(Ke=pt||at?{}:N(we),!wt)return pt?d(we,o(Ke,we)):c(we,s(Ke,we))}else{if(!Ee[ct])return ht?we:{};Ke=_(we,ct,wt)}}ot||(ot=new e);var Et=ot.get(we);if(Et)return Et;ot.set(we,Ke),b(we)?we.forEach(function(nt){Ke.add(Ge(nt,ye,ze,nt,we,ot))}):k(we)&&we.forEach(function(nt,Ue){Ke.set(Ue,Ge(nt,ye,ze,Ue,we,ot))});var Be=Dt?pt?h:p:pt?A:T,mt=It?void 0:Be(we);return n(mt||we,function(nt,Ue){mt&&(Ue=nt,nt=we[Ue]),i(Ke,Ue,Ge(nt,ye,ze,Ue,we,ot))}),Ke}return Ed=Ge,Ed}var Nd,$_;function uq(){if($_)return Nd;$_=1;var e=lN(),n=4;function i(s){return e(s,n)}return Nd=i,Nd}var Cd,D_;function Wg(){if(D_)return Cd;D_=1;function e(n){return function(){return n}}return Cd=e,Cd}var Td,F_;function lq(){if(F_)return Td;F_=1;function e(n){return function(i,s,o){for(var u=-1,l=Object(i),c=o(i),d=c.length;d--;){var p=c[n?d:++u];if(s(l[p],p,l)===!1)break}return i}}return Td=e,Td}var Rd,z_;function Gg(){if(z_)return Rd;z_=1;var e=lq(),n=e();return Rd=n,Rd}var jd,B_;function Kg(){if(B_)return jd;B_=1;var e=Gg(),n=qr();function i(s,o){return s&&e(s,o,n)}return jd=i,jd}var Ad,U_;function cq(){if(U_)return Ad;U_=1;var e=sr();function n(i,s){return function(o,u){if(o==null)return o;if(!e(o))return i(o,u);for(var l=o.length,c=s?l:-1,d=Object(o);(s?c--:++c<l)&&u(d[c],c,d)!==!1;);return o}}return Ad=n,Ad}var Id,H_;function Su(){if(H_)return Id;H_=1;var e=Kg(),n=cq(),i=n(e);return Id=i,Id}var Md,V_;function ai(){if(V_)return Md;V_=1;function e(n){return n}return Md=e,Md}var Pd,W_;function cN(){if(W_)return Pd;W_=1;var e=ai();function n(i){return typeof i=="function"?i:e}return Pd=n,Pd}var qd,G_;function fN(){if(G_)return qd;G_=1;var e=Dg(),n=Su(),i=cN(),s=yt();function o(u,l){var c=s(u)?e:n;return c(u,i(l))}return qd=o,qd}var Od,K_;function dN(){return K_||(K_=1,Od=fN()),Od}var Ld,Y_;function fq(){if(Y_)return Ld;Y_=1;var e=Su();function n(i,s){var o=[];return e(i,function(u,l,c){s(u,l,c)&&o.push(u)}),o}return Ld=n,Ld}var $d,X_;function dq(){if(X_)return $d;X_=1;var e="__lodash_hash_undefined__";function n(i){return this.__data__.set(i,e),this}return $d=n,$d}var Dd,Q_;function hq(){if(Q_)return Dd;Q_=1;function e(n){return this.__data__.has(n)}return Dd=e,Dd}var Fd,Z_;function hN(){if(Z_)return Fd;Z_=1;var e=$g(),n=dq(),i=hq();function s(o){var u=-1,l=o==null?0:o.length;for(this.__data__=new e;++u<l;)this.add(o[u])}return s.prototype.add=s.prototype.push=n,s.prototype.has=i,Fd=s,Fd}var zd,J_;function pq(){if(J_)return zd;J_=1;function e(n,i){for(var s=-1,o=n==null?0:n.length;++s<o;)if(i(n[s],s,n))return!0;return!1}return zd=e,zd}var Bd,ex;function pN(){if(ex)return Bd;ex=1;function e(n,i){return n.has(i)}return Bd=e,Bd}var Ud,tx;function mN(){if(tx)return Ud;tx=1;var e=hN(),n=pq(),i=pN(),s=1,o=2;function u(l,c,d,p,h,m){var v=d&s,_=l.length,N=c.length;if(_!=N&&!(v&&N>_))return!1;var x=m.get(l),S=m.get(c);if(x&&S)return x==c&&S==l;var k=-1,E=!0,b=d&o?new e:void 0;for(m.set(l,c),m.set(c,l);++k<_;){var T=l[k],A=c[k];if(p)var I=v?p(A,T,k,c,l,m):p(T,A,k,l,c,m);if(I!==void 0){if(I)continue;E=!1;break}if(b){if(!n(c,function(j,D){if(!i(b,D)&&(T===j||h(T,j,d,p,m)))return b.push(D)})){E=!1;break}}else if(!(T===A||h(T,A,d,p,m))){E=!1;break}}return m.delete(l),m.delete(c),E}return Ud=u,Ud}var Hd,nx;function mq(){if(nx)return Hd;nx=1;function e(n){var i=-1,s=Array(n.size);return n.forEach(function(o,u){s[++i]=[u,o]}),s}return Hd=e,Hd}var Vd,rx;function Yg(){if(rx)return Vd;rx=1;function e(n){var i=-1,s=Array(n.size);return n.forEach(function(o){s[++i]=o}),s}return Vd=e,Vd}var Wd,ix;function gq(){if(ix)return Wd;ix=1;var e=Zi(),n=sN(),i=Qi(),s=mN(),o=mq(),u=Yg(),l=1,c=2,d="[object Boolean]",p="[object Date]",h="[object Error]",m="[object Map]",v="[object Number]",_="[object RegExp]",N="[object Set]",x="[object String]",S="[object Symbol]",k="[object ArrayBuffer]",E="[object DataView]",b=e?e.prototype:void 0,T=b?b.valueOf:void 0;function A(I,j,D,O,U,H,Q){switch(D){case E:if(I.byteLength!=j.byteLength||I.byteOffset!=j.byteOffset)return!1;I=I.buffer,j=j.buffer;case k:return!(I.byteLength!=j.byteLength||!H(new n(I),new n(j)));case d:case p:case v:return i(+I,+j);case h:return I.name==j.name&&I.message==j.message;case _:case x:return I==j+"";case m:var ee=o;case N:var R=O&l;if(ee||(ee=u),I.size!=j.size&&!R)return!1;var G=Q.get(I);if(G)return G==j;O|=c,Q.set(I,j);var B=s(ee(I),ee(j),O,U,H,Q);return Q.delete(I),B;case S:if(T)return T.call(I)==T.call(j)}return!1}return Wd=A,Wd}var Gd,sx;function vq(){if(sx)return Gd;sx=1;var e=rN(),n=1,i=Object.prototype,s=i.hasOwnProperty;function o(u,l,c,d,p,h){var m=c&n,v=e(u),_=v.length,N=e(l),x=N.length;if(_!=x&&!m)return!1;for(var S=_;S--;){var k=v[S];if(!(m?k in l:s.call(l,k)))return!1}var E=h.get(u),b=h.get(l);if(E&&b)return E==l&&b==u;var T=!0;h.set(u,l),h.set(l,u);for(var A=m;++S<_;){k=v[S];var I=u[k],j=l[k];if(d)var D=m?d(j,I,k,l,u,h):d(I,j,k,u,l,h);if(!(D===void 0?I===j||p(I,j,c,d,h):D)){T=!1;break}A||(A=k=="constructor")}if(T&&!A){var O=u.constructor,U=l.constructor;O!=U&&"constructor"in u&&"constructor"in l&&!(typeof O=="function"&&O instanceof O&&typeof U=="function"&&U instanceof U)&&(T=!1)}return h.delete(u),h.delete(l),T}return Gd=o,Gd}var Kd,ox;function yq(){if(ox)return Kd;ox=1;var e=mu(),n=mN(),i=gq(),s=vq(),o=es(),u=yt(),l=Ji(),c=mo(),d=1,p="[object Arguments]",h="[object Array]",m="[object Object]",v=Object.prototype,_=v.hasOwnProperty;function N(x,S,k,E,b,T){var A=u(x),I=u(S),j=A?h:o(x),D=I?h:o(S);j=j==p?m:j,D=D==p?m:D;var O=j==m,U=D==m,H=j==D;if(H&&l(x)){if(!l(S))return!1;A=!0,O=!1}if(H&&!O)return T||(T=new e),A||c(x)?n(x,S,k,E,b,T):i(x,S,j,k,E,b,T);if(!(k&d)){var Q=O&&_.call(x,"__wrapped__"),ee=U&&_.call(S,"__wrapped__");if(Q||ee){var R=Q?x.value():x,G=ee?S.value():S;return T||(T=new e),b(R,G,k,E,T)}}return H?(T||(T=new e),s(x,S,k,E,b,T)):!1}return Kd=N,Kd}var Yd,ax;function gN(){if(ax)return Yd;ax=1;var e=yq(),n=Un();function i(s,o,u,l,c){return s===o?!0:s==null||o==null||!n(s)&&!n(o)?s!==s&&o!==o:e(s,o,u,l,i,c)}return Yd=i,Yd}var Xd,ux;function wq(){if(ux)return Xd;ux=1;var e=mu(),n=gN(),i=1,s=2;function o(u,l,c,d){var p=c.length,h=p,m=!d;if(u==null)return!h;for(u=Object(u);p--;){var v=c[p];if(m&&v[2]?v[1]!==u[v[0]]:!(v[0]in u))return!1}for(;++p<h;){v=c[p];var _=v[0],N=u[_],x=v[1];if(m&&v[2]){if(N===void 0&&!(_ in u))return!1}else{var S=new e;if(d)var k=d(N,x,_,u,l,S);if(!(k===void 0?n(x,N,i|s,d,S):k))return!1}}return!0}return Xd=o,Xd}var Qd,lx;function vN(){if(lx)return Qd;lx=1;var e=vn();function n(i){return i===i&&!e(i)}return Qd=n,Qd}var Zd,cx;function _q(){if(cx)return Zd;cx=1;var e=vN(),n=qr();function i(s){for(var o=n(s),u=o.length;u--;){var l=o[u],c=s[l];o[u]=[l,c,e(c)]}return o}return Zd=i,Zd}var Jd,fx;function yN(){if(fx)return Jd;fx=1;function e(n,i){return function(s){return s==null?!1:s[n]===i&&(i!==void 0||n in Object(s))}}return Jd=e,Jd}var eh,dx;function xq(){if(dx)return eh;dx=1;var e=wq(),n=_q(),i=yN();function s(o){var u=n(o);return u.length==1&&u[0][2]?i(u[0][0],u[0][1]):function(l){return l===o||e(l,o,u)}}return eh=s,eh}var th,hx;function ts(){if(hx)return th;hx=1;var e=ii(),n=Un(),i="[object Symbol]";function s(o){return typeof o=="symbol"||n(o)&&e(o)==i}return th=s,th}var nh,px;function Xg(){if(px)return nh;px=1;var e=yt(),n=ts(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;function o(u,l){if(e(u))return!1;var c=typeof u;return c=="number"||c=="symbol"||c=="boolean"||u==null||n(u)?!0:s.test(u)||!i.test(u)||l!=null&&u in Object(l)}return nh=o,nh}var rh,mx;function Sq(){if(mx)return rh;mx=1;var e=$g(),n="Expected a function";function i(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new TypeError(n);var u=function(){var l=arguments,c=o?o.apply(this,l):l[0],d=u.cache;if(d.has(c))return d.get(c);var p=s.apply(this,l);return u.cache=d.set(c,p)||d,p};return u.cache=new(i.Cache||e),u}return i.Cache=e,rh=i,rh}var ih,gx;function kq(){if(gx)return ih;gx=1;var e=Sq(),n=500;function i(s){var o=e(s,function(l){return u.size===n&&u.clear(),l}),u=o.cache;return o}return ih=i,ih}var sh,vx;function bq(){if(vx)return sh;vx=1;var e=kq(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,s=e(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(n,function(l,c,d,p){u.push(d?p.replace(i,"$1"):c||l)}),u});return sh=s,sh}var oh,yx;function ku(){if(yx)return oh;yx=1;function e(n,i){for(var s=-1,o=n==null?0:n.length,u=Array(o);++s<o;)u[s]=i(n[s],s,n);return u}return oh=e,oh}var ah,wx;function Eq(){if(wx)return ah;wx=1;var e=Zi(),n=ku(),i=yt(),s=ts(),o=e?e.prototype:void 0,u=o?o.toString:void 0;function l(c){if(typeof c=="string")return c;if(i(c))return n(c,l)+"";if(s(c))return u?u.call(c):"";var d=c+"";return d=="0"&&1/c==-1/0?"-0":d}return ah=l,ah}var uh,_x;function wN(){if(_x)return uh;_x=1;var e=Eq();function n(i){return i==null?"":e(i)}return uh=n,uh}var lh,xx;function bu(){if(xx)return lh;xx=1;var e=yt(),n=Xg(),i=bq(),s=wN();function o(u,l){return e(u)?u:n(u,l)?[u]:i(s(u))}return lh=o,lh}var ch,Sx;function go(){if(Sx)return ch;Sx=1;var e=ts();function n(i){if(typeof i=="string"||e(i))return i;var s=i+"";return s=="0"&&1/i==-1/0?"-0":s}return ch=n,ch}var fh,kx;function Eu(){if(kx)return fh;kx=1;var e=bu(),n=go();function i(s,o){o=e(o,s);for(var u=0,l=o.length;s!=null&&u<l;)s=s[n(o[u++])];return u&&u==l?s:void 0}return fh=i,fh}var dh,bx;function Nq(){if(bx)return dh;bx=1;var e=Eu();function n(i,s,o){var u=i==null?void 0:e(i,s);return u===void 0?o:u}return dh=n,dh}var hh,Ex;function Cq(){if(Ex)return hh;Ex=1;function e(n,i){return n!=null&&i in Object(n)}return hh=e,hh}var ph,Nx;function _N(){if(Nx)return ph;Nx=1;var e=bu(),n=po(),i=yt(),s=yu(),o=Fg(),u=go();function l(c,d,p){d=e(d,c);for(var h=-1,m=d.length,v=!1;++h<m;){var _=u(d[h]);if(!(v=c!=null&&p(c,_)))break;c=c[_]}return v||++h!=m?v:(m=c==null?0:c.length,!!m&&o(m)&&s(_,m)&&(i(c)||n(c)))}return ph=l,ph}var mh,Cx;function xN(){if(Cx)return mh;Cx=1;var e=Cq(),n=_N();function i(s,o){return s!=null&&n(s,o,e)}return mh=i,mh}var gh,Tx;function Tq(){if(Tx)return gh;Tx=1;var e=gN(),n=Nq(),i=xN(),s=Xg(),o=vN(),u=yN(),l=go(),c=1,d=2;function p(h,m){return s(h)&&o(m)?u(l(h),m):function(v){var _=n(v,h);return _===void 0&&_===m?i(v,h):e(m,_,c|d)}}return gh=p,gh}var vh,Rx;function SN(){if(Rx)return vh;Rx=1;function e(n){return function(i){return i==null?void 0:i[n]}}return vh=e,vh}var yh,jx;function Rq(){if(jx)return yh;jx=1;var e=Eu();function n(i){return function(s){return e(s,i)}}return yh=n,yh}var wh,Ax;function jq(){if(Ax)return wh;Ax=1;var e=SN(),n=Rq(),i=Xg(),s=go();function o(u){return i(u)?e(s(u)):n(u)}return wh=o,wh}var _h,Ix;function or(){if(Ix)return _h;Ix=1;var e=xq(),n=Tq(),i=ai(),s=yt(),o=jq();function u(l){return typeof l=="function"?l:l==null?i:typeof l=="object"?s(l)?n(l[0],l[1]):e(l):o(l)}return _h=u,_h}var xh,Mx;function kN(){if(Mx)return xh;Mx=1;var e=JE(),n=fq(),i=or(),s=yt();function o(u,l){var c=s(u)?e:n;return c(u,i(l,3))}return xh=o,xh}var Sh,Px;function Aq(){if(Px)return Sh;Px=1;var e=Object.prototype,n=e.hasOwnProperty;function i(s,o){return s!=null&&n.call(s,o)}return Sh=i,Sh}var kh,qx;function bN(){if(qx)return kh;qx=1;var e=Aq(),n=_N();function i(s,o){return s!=null&&n(s,o,e)}return kh=i,kh}var bh,Ox;function Iq(){if(Ox)return bh;Ox=1;var e=Bg(),n=es(),i=po(),s=yt(),o=sr(),u=Ji(),l=_u(),c=mo(),d="[object Map]",p="[object Set]",h=Object.prototype,m=h.hasOwnProperty;function v(_){if(_==null)return!0;if(o(_)&&(s(_)||typeof _=="string"||typeof _.splice=="function"||u(_)||c(_)||i(_)))return!_.length;var N=n(_);if(N==d||N==p)return!_.size;if(l(_))return!e(_).length;for(var x in _)if(m.call(_,x))return!1;return!0}return bh=v,bh}var Eh,Lx;function EN(){if(Lx)return Eh;Lx=1;function e(n){return n===void 0}return Eh=e,Eh}var Nh,$x;function NN(){if($x)return Nh;$x=1;var e=Su(),n=sr();function i(s,o){var u=-1,l=n(s)?Array(s.length):[];return e(s,function(c,d,p){l[++u]=o(c,d,p)}),l}return Nh=i,Nh}var Ch,Dx;function CN(){if(Dx)return Ch;Dx=1;var e=ku(),n=or(),i=NN(),s=yt();function o(u,l){var c=s(u)?e:i;return c(u,n(l,3))}return Ch=o,Ch}var Th,Fx;function Mq(){if(Fx)return Th;Fx=1;function e(n,i,s,o){var u=-1,l=n==null?0:n.length;for(o&&l&&(s=n[++u]);++u<l;)s=i(s,n[u],u,n);return s}return Th=e,Th}var Rh,zx;function Pq(){if(zx)return Rh;zx=1;function e(n,i,s,o,u){return u(n,function(l,c,d){s=o?(o=!1,l):i(s,l,c,d)}),s}return Rh=e,Rh}var jh,Bx;function TN(){if(Bx)return jh;Bx=1;var e=Mq(),n=Su(),i=or(),s=Pq(),o=yt();function u(l,c,d){var p=o(l)?e:s,h=arguments.length<3;return p(l,i(c,4),d,h,n)}return jh=u,jh}var Ah,Ux;function qq(){if(Ux)return Ah;Ux=1;var e=ii(),n=yt(),i=Un(),s="[object String]";function o(u){return typeof u=="string"||!n(u)&&i(u)&&e(u)==s}return Ah=o,Ah}var Ih,Hx;function Oq(){if(Hx)return Ih;Hx=1;var e=SN(),n=e("length");return Ih=n,Ih}var Mh,Vx;function Lq(){if(Vx)return Mh;Vx=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+i+s,u="\\ufe0e\\ufe0f",l="\\u200d",c=RegExp("["+l+e+o+u+"]");function d(p){return c.test(p)}return Mh=d,Mh}var Ph,Wx;function $q(){if(Wx)return Ph;Wx=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+i+s,u="\\ufe0e\\ufe0f",l="["+e+"]",c="["+o+"]",d="\\ud83c[\\udffb-\\udfff]",p="(?:"+c+"|"+d+")",h="[^"+e+"]",m="(?:\\ud83c[\\udde6-\\uddff]){2}",v="[\\ud800-\\udbff][\\udc00-\\udfff]",_="\\u200d",N=p+"?",x="["+u+"]?",S="(?:"+_+"(?:"+[h,m,v].join("|")+")"+x+N+")*",k=x+N+S,E="(?:"+[h+c+"?",c,m,v,l].join("|")+")",b=RegExp(d+"(?="+d+")|"+E+k,"g");function T(A){for(var I=b.lastIndex=0;b.test(A);)++I;return I}return Ph=T,Ph}var qh,Gx;function Dq(){if(Gx)return qh;Gx=1;var e=Oq(),n=Lq(),i=$q();function s(o){return n(o)?i(o):e(o)}return qh=s,qh}var Oh,Kx;function Fq(){if(Kx)return Oh;Kx=1;var e=Bg(),n=es(),i=sr(),s=qq(),o=Dq(),u="[object Map]",l="[object Set]";function c(d){if(d==null)return 0;if(i(d))return s(d)?o(d):d.length;var p=n(d);return p==u||p==l?d.size:e(d).length}return Oh=c,Oh}var Lh,Yx;function zq(){if(Yx)return Lh;Yx=1;var e=Dg(),n=aN(),i=Kg(),s=or(),o=xu(),u=yt(),l=Ji(),c=fo(),d=vn(),p=mo();function h(m,v,_){var N=u(m),x=N||l(m)||p(m);if(v=s(v,4),_==null){var S=m&&m.constructor;x?_=N?new S:[]:d(m)?_=c(S)?n(o(m)):{}:_={}}return(x?e:i)(m,function(k,E,b){return v(_,k,E,b)}),_}return Lh=h,Lh}var $h,Xx;function Bq(){if(Xx)return $h;Xx=1;var e=Zi(),n=po(),i=yt(),s=e?e.isConcatSpreadable:void 0;function o(u){return i(u)||n(u)||!!(s&&u&&u[s])}return $h=o,$h}var Dh,Qx;function Qg(){if(Qx)return Dh;Qx=1;var e=Hg(),n=Bq();function i(s,o,u,l,c){var d=-1,p=s.length;for(u||(u=n),c||(c=[]);++d<p;){var h=s[d];o>0&&u(h)?o>1?i(h,o-1,u,l,c):e(c,h):l||(c[c.length]=h)}return c}return Dh=i,Dh}var Fh,Zx;function Uq(){if(Zx)return Fh;Zx=1;function e(n,i,s){switch(s.length){case 0:return n.call(i);case 1:return n.call(i,s[0]);case 2:return n.call(i,s[0],s[1]);case 3:return n.call(i,s[0],s[1],s[2])}return n.apply(i,s)}return Fh=e,Fh}var zh,Jx;function RN(){if(Jx)return zh;Jx=1;var e=Uq(),n=Math.max;function i(s,o,u){return o=n(o===void 0?s.length-1:o,0),function(){for(var l=arguments,c=-1,d=n(l.length-o,0),p=Array(d);++c<d;)p[c]=l[o+c];c=-1;for(var h=Array(o+1);++c<o;)h[c]=l[c];return h[o]=u(p),e(s,this,h)}}return zh=i,zh}var Bh,eS;function Hq(){if(eS)return Bh;eS=1;var e=Wg(),n=KE(),i=ai(),s=n?function(o,u){return n(o,"toString",{configurable:!0,enumerable:!1,value:e(u),writable:!0})}:i;return Bh=s,Bh}var Uh,tS;function Vq(){if(tS)return Uh;tS=1;var e=800,n=16,i=Date.now;function s(o){var u=0,l=0;return function(){var c=i(),d=n-(c-l);if(l=c,d>0){if(++u>=e)return arguments[0]}else u=0;return o.apply(void 0,arguments)}}return Uh=s,Uh}var Hh,nS;function jN(){if(nS)return Hh;nS=1;var e=Hq(),n=Vq(),i=n(e);return Hh=i,Hh}var Vh,rS;function Nu(){if(rS)return Vh;rS=1;var e=ai(),n=RN(),i=jN();function s(o,u){return i(n(o,u,e),o+"")}return Vh=s,Vh}var Wh,iS;function AN(){if(iS)return Wh;iS=1;function e(n,i,s,o){for(var u=n.length,l=s+(o?1:-1);o?l--:++l<u;)if(i(n[l],l,n))return l;return-1}return Wh=e,Wh}var Gh,sS;function Wq(){if(sS)return Gh;sS=1;function e(n){return n!==n}return Gh=e,Gh}var Kh,oS;function Gq(){if(oS)return Kh;oS=1;function e(n,i,s){for(var o=s-1,u=n.length;++o<u;)if(n[o]===i)return o;return-1}return Kh=e,Kh}var Yh,aS;function Kq(){if(aS)return Yh;aS=1;var e=AN(),n=Wq(),i=Gq();function s(o,u,l){return u===u?i(o,u,l):e(o,n,l)}return Yh=s,Yh}var Xh,uS;function Yq(){if(uS)return Xh;uS=1;var e=Kq();function n(i,s){var o=i==null?0:i.length;return!!o&&e(i,s,0)>-1}return Xh=n,Xh}var Qh,lS;function Xq(){if(lS)return Qh;lS=1;function e(n,i,s){for(var o=-1,u=n==null?0:n.length;++o<u;)if(s(i,n[o]))return!0;return!1}return Qh=e,Qh}var Zh,cS;function Qq(){if(cS)return Zh;cS=1;function e(){}return Zh=e,Zh}var Jh,fS;function Zq(){if(fS)return Jh;fS=1;var e=iN(),n=Qq(),i=Yg(),s=1/0,o=e&&1/i(new e([,-0]))[1]==s?function(u){return new e(u)}:n;return Jh=o,Jh}var ep,dS;function Jq(){if(dS)return ep;dS=1;var e=hN(),n=Yq(),i=Xq(),s=pN(),o=Zq(),u=Yg(),l=200;function c(d,p,h){var m=-1,v=n,_=d.length,N=!0,x=[],S=x;if(h)N=!1,v=i;else if(_>=l){var k=p?null:o(d);if(k)return u(k);N=!1,v=s,S=new e}else S=p?[]:x;e:for(;++m<_;){var E=d[m],b=p?p(E):E;if(E=h||E!==0?E:0,N&&b===b){for(var T=S.length;T--;)if(S[T]===b)continue e;p&&S.push(b),x.push(E)}else v(S,b,h)||(S!==x&&S.push(b),x.push(E))}return x}return ep=c,ep}var tp,hS;function IN(){if(hS)return tp;hS=1;var e=sr(),n=Un();function i(s){return n(s)&&e(s)}return tp=i,tp}var np,pS;function eO(){if(pS)return np;pS=1;var e=Qg(),n=Nu(),i=Jq(),s=IN(),o=n(function(u){return i(e(u,1,s,!0))});return np=o,np}var rp,mS;function tO(){if(mS)return rp;mS=1;var e=ku();function n(i,s){return e(s,function(o){return i[o]})}return rp=n,rp}var ip,gS;function MN(){if(gS)return ip;gS=1;var e=tO(),n=qr();function i(s){return s==null?[]:e(s,n(s))}return ip=i,ip}var sp,vS;function yn(){if(vS)return sp;vS=1;var e;if(typeof Og=="function")try{e={clone:uq(),constant:Wg(),each:dN(),filter:kN(),has:bN(),isArray:yt(),isEmpty:Iq(),isFunction:fo(),isUndefined:EN(),keys:qr(),map:CN(),reduce:TN(),size:Fq(),transform:zq(),union:eO(),values:MN()}}catch{}return e||(e=window._),sp=e,sp}var op,yS;function Zg(){if(yS)return op;yS=1;var e=yn();op=o;var n="\0",i="\0",s="";function o(h){this._isDirected=e.has(h,"directed")?h.directed:!0,this._isMultigraph=e.has(h,"multigraph")?h.multigraph:!1,this._isCompound=e.has(h,"compound")?h.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[i]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(h){return this._label=h,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(h){return e.isFunction(h)||(h=e.constant(h)),this._defaultNodeLabelFn=h,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return e.keys(this._nodes)},o.prototype.sources=function(){var h=this;return e.filter(this.nodes(),function(m){return e.isEmpty(h._in[m])})},o.prototype.sinks=function(){var h=this;return e.filter(this.nodes(),function(m){return e.isEmpty(h._out[m])})},o.prototype.setNodes=function(h,m){var v=arguments,_=this;return e.each(h,function(N){v.length>1?_.setNode(N,m):_.setNode(N)}),this},o.prototype.setNode=function(h,m){return e.has(this._nodes,h)?(arguments.length>1&&(this._nodes[h]=m),this):(this._nodes[h]=arguments.length>1?m:this._defaultNodeLabelFn(h),this._isCompound&&(this._parent[h]=i,this._children[h]={},this._children[i][h]=!0),this._in[h]={},this._preds[h]={},this._out[h]={},this._sucs[h]={},++this._nodeCount,this)},o.prototype.node=function(h){return this._nodes[h]},o.prototype.hasNode=function(h){return e.has(this._nodes,h)},o.prototype.removeNode=function(h){var m=this;if(e.has(this._nodes,h)){var v=function(_){m.removeEdge(m._edgeObjs[_])};delete this._nodes[h],this._isCompound&&(this._removeFromParentsChildList(h),delete this._parent[h],e.each(this.children(h),function(_){m.setParent(_)}),delete this._children[h]),e.each(e.keys(this._in[h]),v),delete this._in[h],delete this._preds[h],e.each(e.keys(this._out[h]),v),delete this._out[h],delete this._sucs[h],--this._nodeCount}return this},o.prototype.setParent=function(h,m){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(m))m=i;else{m+="";for(var v=m;!e.isUndefined(v);v=this.parent(v))if(v===h)throw new Error("Setting "+m+" as parent of "+h+" would create a cycle");this.setNode(m)}return this.setNode(h),this._removeFromParentsChildList(h),this._parent[h]=m,this._children[m][h]=!0,this},o.prototype._removeFromParentsChildList=function(h){delete this._children[this._parent[h]][h]},o.prototype.parent=function(h){if(this._isCompound){var m=this._parent[h];if(m!==i)return m}},o.prototype.children=function(h){if(e.isUndefined(h)&&(h=i),this._isCompound){var m=this._children[h];if(m)return e.keys(m)}else{if(h===i)return this.nodes();if(this.hasNode(h))return[]}},o.prototype.predecessors=function(h){var m=this._preds[h];if(m)return e.keys(m)},o.prototype.successors=function(h){var m=this._sucs[h];if(m)return e.keys(m)},o.prototype.neighbors=function(h){var m=this.predecessors(h);if(m)return e.union(m,this.successors(h))},o.prototype.isLeaf=function(h){var m;return this.isDirected()?m=this.successors(h):m=this.neighbors(h),m.length===0},o.prototype.filterNodes=function(h){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var v=this;e.each(this._nodes,function(x,S){h(S)&&m.setNode(S,x)}),e.each(this._edgeObjs,function(x){m.hasNode(x.v)&&m.hasNode(x.w)&&m.setEdge(x,v.edge(x))});var _={};function N(x){var S=v.parent(x);return S===void 0||m.hasNode(S)?(_[x]=S,S):S in _?_[S]:N(S)}return this._isCompound&&e.each(m.nodes(),function(x){m.setParent(x,N(x))}),m},o.prototype.setDefaultEdgeLabel=function(h){return e.isFunction(h)||(h=e.constant(h)),this._defaultEdgeLabelFn=h,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return e.values(this._edgeObjs)},o.prototype.setPath=function(h,m){var v=this,_=arguments;return e.reduce(h,function(N,x){return _.length>1?v.setEdge(N,x,m):v.setEdge(N,x),x}),this},o.prototype.setEdge=function(){var h,m,v,_,N=!1,x=arguments[0];typeof x=="object"&&x!==null&&"v"in x?(h=x.v,m=x.w,v=x.name,arguments.length===2&&(_=arguments[1],N=!0)):(h=x,m=arguments[1],v=arguments[3],arguments.length>2&&(_=arguments[2],N=!0)),h=""+h,m=""+m,e.isUndefined(v)||(v=""+v);var S=c(this._isDirected,h,m,v);if(e.has(this._edgeLabels,S))return N&&(this._edgeLabels[S]=_),this;if(!e.isUndefined(v)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(h),this.setNode(m),this._edgeLabels[S]=N?_:this._defaultEdgeLabelFn(h,m,v);var k=d(this._isDirected,h,m,v);return h=k.v,m=k.w,Object.freeze(k),this._edgeObjs[S]=k,u(this._preds[m],h),u(this._sucs[h],m),this._in[m][S]=k,this._out[h][S]=k,this._edgeCount++,this},o.prototype.edge=function(h,m,v){var _=arguments.length===1?p(this._isDirected,arguments[0]):c(this._isDirected,h,m,v);return this._edgeLabels[_]},o.prototype.hasEdge=function(h,m,v){var _=arguments.length===1?p(this._isDirected,arguments[0]):c(this._isDirected,h,m,v);return e.has(this._edgeLabels,_)},o.prototype.removeEdge=function(h,m,v){var _=arguments.length===1?p(this._isDirected,arguments[0]):c(this._isDirected,h,m,v),N=this._edgeObjs[_];return N&&(h=N.v,m=N.w,delete this._edgeLabels[_],delete this._edgeObjs[_],l(this._preds[m],h),l(this._sucs[h],m),delete this._in[m][_],delete this._out[h][_],this._edgeCount--),this},o.prototype.inEdges=function(h,m){var v=this._in[h];if(v){var _=e.values(v);return m?e.filter(_,function(N){return N.v===m}):_}},o.prototype.outEdges=function(h,m){var v=this._out[h];if(v){var _=e.values(v);return m?e.filter(_,function(N){return N.w===m}):_}},o.prototype.nodeEdges=function(h,m){var v=this.inEdges(h,m);if(v)return v.concat(this.outEdges(h,m))};function u(h,m){h[m]?h[m]++:h[m]=1}function l(h,m){--h[m]||delete h[m]}function c(h,m,v,_){var N=""+m,x=""+v;if(!h&&N>x){var S=N;N=x,x=S}return N+s+x+s+(e.isUndefined(_)?n:_)}function d(h,m,v,_){var N=""+m,x=""+v;if(!h&&N>x){var S=N;N=x,x=S}var k={v:N,w:x};return _&&(k.name=_),k}function p(h,m){return c(h,m.v,m.w,m.name)}return op}var ap,wS;function nO(){return wS||(wS=1,ap="2.1.8"),ap}var up,_S;function rO(){return _S||(_S=1,up={Graph:Zg(),version:nO()}),up}var lp,xS;function iO(){if(xS)return lp;xS=1;var e=yn(),n=Zg();lp={write:i,read:u};function i(l){var c={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:s(l),edges:o(l)};return e.isUndefined(l.graph())||(c.value=e.clone(l.graph())),c}function s(l){return e.map(l.nodes(),function(c){var d=l.node(c),p=l.parent(c),h={v:c};return e.isUndefined(d)||(h.value=d),e.isUndefined(p)||(h.parent=p),h})}function o(l){return e.map(l.edges(),function(c){var d=l.edge(c),p={v:c.v,w:c.w};return e.isUndefined(c.name)||(p.name=c.name),e.isUndefined(d)||(p.value=d),p})}function u(l){var c=new n(l.options).setGraph(l.value);return e.each(l.nodes,function(d){c.setNode(d.v,d.value),d.parent&&c.setParent(d.v,d.parent)}),e.each(l.edges,function(d){c.setEdge({v:d.v,w:d.w,name:d.name},d.value)}),c}return lp}var cp,SS;function sO(){if(SS)return cp;SS=1;var e=yn();cp=n;function n(i){var s={},o=[],u;function l(c){e.has(s,c)||(s[c]=!0,u.push(c),e.each(i.successors(c),l),e.each(i.predecessors(c),l))}return e.each(i.nodes(),function(c){u=[],l(c),u.length&&o.push(u)}),o}return cp}var fp,kS;function PN(){if(kS)return fp;kS=1;var e=yn();fp=n;function n(){this._arr=[],this._keyIndices={}}return n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(i){return i.key})},n.prototype.has=function(i){return e.has(this._keyIndices,i)},n.prototype.priority=function(i){var s=this._keyIndices[i];if(s!==void 0)return this._arr[s].priority},n.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(i,s){var o=this._keyIndices;if(i=String(i),!e.has(o,i)){var u=this._arr,l=u.length;return o[i]=l,u.push({key:i,priority:s}),this._decrease(l),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key},n.prototype.decrease=function(i,s){var o=this._keyIndices[i];if(s>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+s);this._arr[o].priority=s,this._decrease(o)},n.prototype._heapify=function(i){var s=this._arr,o=2*i,u=o+1,l=i;o<s.length&&(l=s[o].priority<s[l].priority?o:l,u<s.length&&(l=s[u].priority<s[l].priority?u:l),l!==i&&(this._swap(i,l),this._heapify(l)))},n.prototype._decrease=function(i){for(var s=this._arr,o=s[i].priority,u;i!==0&&(u=i>>1,!(s[u].priority<o));)this._swap(i,u),i=u},n.prototype._swap=function(i,s){var o=this._arr,u=this._keyIndices,l=o[i],c=o[s];o[i]=c,o[s]=l,u[c.key]=i,u[l.key]=s},fp}var dp,bS;function qN(){if(bS)return dp;bS=1;var e=yn(),n=PN();dp=s;var i=e.constant(1);function s(u,l,c,d){return o(u,String(l),c||i,d||function(p){return u.outEdges(p)})}function o(u,l,c,d){var p={},h=new n,m,v,_=function(N){var x=N.v!==m?N.v:N.w,S=p[x],k=c(N),E=v.distance+k;if(k<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+N+" Weight: "+k);E<S.distance&&(S.distance=E,S.predecessor=m,h.decrease(x,E))};for(u.nodes().forEach(function(N){var x=N===l?0:Number.POSITIVE_INFINITY;p[N]={distance:x},h.add(N,x)});h.size()>0&&(m=h.removeMin(),v=p[m],v.distance!==Number.POSITIVE_INFINITY);)d(m).forEach(_);return p}return dp}var hp,ES;function oO(){if(ES)return hp;ES=1;var e=qN(),n=yn();hp=i;function i(s,o,u){return n.transform(s.nodes(),function(l,c){l[c]=e(s,c,o,u)},{})}return hp}var pp,NS;function ON(){if(NS)return pp;NS=1;var e=yn();pp=n;function n(i){var s=0,o=[],u={},l=[];function c(d){var p=u[d]={onStack:!0,lowlink:s,index:s++};if(o.push(d),i.successors(d).forEach(function(v){e.has(u,v)?u[v].onStack&&(p.lowlink=Math.min(p.lowlink,u[v].index)):(c(v),p.lowlink=Math.min(p.lowlink,u[v].lowlink))}),p.lowlink===p.index){var h=[],m;do m=o.pop(),u[m].onStack=!1,h.push(m);while(d!==m);l.push(h)}}return i.nodes().forEach(function(d){e.has(u,d)||c(d)}),l}return pp}var mp,CS;function aO(){if(CS)return mp;CS=1;var e=yn(),n=ON();mp=i;function i(s){return e.filter(n(s),function(o){return o.length>1||o.length===1&&s.hasEdge(o[0],o[0])})}return mp}var gp,TS;function uO(){if(TS)return gp;TS=1;var e=yn();gp=i;var n=e.constant(1);function i(o,u,l){return s(o,u||n,l||function(c){return o.outEdges(c)})}function s(o,u,l){var c={},d=o.nodes();return d.forEach(function(p){c[p]={},c[p][p]={distance:0},d.forEach(function(h){p!==h&&(c[p][h]={distance:Number.POSITIVE_INFINITY})}),l(p).forEach(function(h){var m=h.v===p?h.w:h.v,v=u(h);c[p][m]={distance:v,predecessor:p}})}),d.forEach(function(p){var h=c[p];d.forEach(function(m){var v=c[m];d.forEach(function(_){var N=v[p],x=h[_],S=v[_],k=N.distance+x.distance;k<S.distance&&(S.distance=k,S.predecessor=x.predecessor)})})}),c}return gp}var vp,RS;function LN(){if(RS)return vp;RS=1;var e=yn();vp=n,n.CycleException=i;function n(s){var o={},u={},l=[];function c(d){if(e.has(u,d))throw new i;e.has(o,d)||(u[d]=!0,o[d]=!0,e.each(s.predecessors(d),c),delete u[d],l.push(d))}if(e.each(s.sinks(),c),e.size(o)!==s.nodeCount())throw new i;return l}function i(){}return i.prototype=new Error,vp}var yp,jS;function lO(){if(jS)return yp;jS=1;var e=LN();yp=n;function n(i){try{e(i)}catch(s){if(s instanceof e.CycleException)return!1;throw s}return!0}return yp}var wp,AS;function $N(){if(AS)return wp;AS=1;var e=yn();wp=n;function n(s,o,u){e.isArray(o)||(o=[o]);var l=(s.isDirected()?s.successors:s.neighbors).bind(s),c=[],d={};return e.each(o,function(p){if(!s.hasNode(p))throw new Error("Graph does not have node: "+p);i(s,p,u==="post",d,l,c)}),c}function i(s,o,u,l,c,d){e.has(l,o)||(l[o]=!0,u||d.push(o),e.each(c(o),function(p){i(s,p,u,l,c,d)}),u&&d.push(o))}return wp}var _p,IS;function cO(){if(IS)return _p;IS=1;var e=$N();_p=n;function n(i,s){return e(i,s,"post")}return _p}var xp,MS;function fO(){if(MS)return xp;MS=1;var e=$N();xp=n;function n(i,s){return e(i,s,"pre")}return xp}var Sp,PS;function dO(){if(PS)return Sp;PS=1;var e=yn(),n=Zg(),i=PN();Sp=s;function s(o,u){var l=new n,c={},d=new i,p;function h(v){var _=v.v===p?v.w:v.v,N=d.priority(_);if(N!==void 0){var x=u(v);x<N&&(c[_]=p,d.decrease(_,x))}}if(o.nodeCount()===0)return l;e.each(o.nodes(),function(v){d.add(v,Number.POSITIVE_INFINITY),l.setNode(v)}),d.decrease(o.nodes()[0],0);for(var m=!1;d.size()>0;){if(p=d.removeMin(),e.has(c,p))l.setEdge(p,c[p]);else{if(m)throw new Error("Input graph is not connected: "+o);m=!0}o.nodeEdges(p).forEach(h)}return l}return Sp}var kp,qS;function hO(){return qS||(qS=1,kp={components:sO(),dijkstra:qN(),dijkstraAll:oO(),findCycles:aO(),floydWarshall:uO(),isAcyclic:lO(),postorder:cO(),preorder:fO(),prim:dO(),tarjan:ON(),topsort:LN()}),kp}var bp,OS;function pO(){if(OS)return bp;OS=1;var e=rO();return bp={Graph:e.Graph,json:iO(),alg:hO(),version:e.version},bp}var Ep,LS;function In(){if(LS)return Ep;LS=1;var e;if(typeof Og=="function")try{e=pO()}catch{}return e||(e=window.graphlib),Ep=e,Ep}var Np,$S;function mO(){if($S)return Np;$S=1;var e=lN(),n=1,i=4;function s(o){return e(o,n|i)}return Np=s,Np}var Cp,DS;function Cu(){if(DS)return Cp;DS=1;var e=Qi(),n=sr(),i=yu(),s=vn();function o(u,l,c){if(!s(c))return!1;var d=typeof l;return(d=="number"?n(c)&&i(l,c.length):d=="string"&&l in c)?e(c[l],u):!1}return Cp=o,Cp}var Tp,FS;function gO(){if(FS)return Tp;FS=1;var e=Nu(),n=Qi(),i=Cu(),s=oi(),o=Object.prototype,u=o.hasOwnProperty,l=e(function(c,d){c=Object(c);var p=-1,h=d.length,m=h>2?d[2]:void 0;for(m&&i(d[0],d[1],m)&&(h=1);++p<h;)for(var v=d[p],_=s(v),N=-1,x=_.length;++N<x;){var S=_[N],k=c[S];(k===void 0||n(k,o[S])&&!u.call(c,S))&&(c[S]=v[S])}return c});return Tp=l,Tp}var Rp,zS;function vO(){if(zS)return Rp;zS=1;var e=or(),n=sr(),i=qr();function s(o){return function(u,l,c){var d=Object(u);if(!n(u)){var p=e(l,3);u=i(u),l=function(m){return p(d[m],m,d)}}var h=o(u,l,c);return h>-1?d[p?u[h]:h]:void 0}}return Rp=s,Rp}var jp,BS;function yO(){if(BS)return jp;BS=1;var e=/\s/;function n(i){for(var s=i.length;s--&&e.test(i.charAt(s)););return s}return jp=n,jp}var Ap,US;function wO(){if(US)return Ap;US=1;var e=yO(),n=/^\s+/;function i(s){return s&&s.slice(0,e(s)+1).replace(n,"")}return Ap=i,Ap}var Ip,HS;function _O(){if(HS)return Ip;HS=1;var e=wO(),n=vn(),i=ts(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;function d(p){if(typeof p=="number")return p;if(i(p))return s;if(n(p)){var h=typeof p.valueOf=="function"?p.valueOf():p;p=n(h)?h+"":h}if(typeof p!="string")return p===0?p:+p;p=e(p);var m=u.test(p);return m||l.test(p)?c(p.slice(2),m?2:8):o.test(p)?s:+p}return Ip=d,Ip}var Mp,VS;function DN(){if(VS)return Mp;VS=1;var e=_O(),n=1/0,i=17976931348623157e292;function s(o){if(!o)return o===0?o:0;if(o=e(o),o===n||o===-n){var u=o<0?-1:1;return u*i}return o===o?o:0}return Mp=s,Mp}var Pp,WS;function xO(){if(WS)return Pp;WS=1;var e=DN();function n(i){var s=e(i),o=s%1;return s===s?o?s-o:s:0}return Pp=n,Pp}var qp,GS;function SO(){if(GS)return qp;GS=1;var e=AN(),n=or(),i=xO(),s=Math.max;function o(u,l,c){var d=u==null?0:u.length;if(!d)return-1;var p=c==null?0:i(c);return p<0&&(p=s(d+p,0)),e(u,n(l,3),p)}return qp=o,qp}var Op,KS;function kO(){if(KS)return Op;KS=1;var e=vO(),n=SO(),i=e(n);return Op=i,Op}var Lp,YS;function FN(){if(YS)return Lp;YS=1;var e=Qg();function n(i){var s=i==null?0:i.length;return s?e(i,1):[]}return Lp=n,Lp}var $p,XS;function bO(){if(XS)return $p;XS=1;var e=Gg(),n=cN(),i=oi();function s(o,u){return o==null?o:e(o,n(u),i)}return $p=s,$p}var Dp,QS;function EO(){if(QS)return Dp;QS=1;function e(n){var i=n==null?0:n.length;return i?n[i-1]:void 0}return Dp=e,Dp}var Fp,ZS;function NO(){if(ZS)return Fp;ZS=1;var e=gu(),n=Kg(),i=or();function s(o,u){var l={};return u=i(u,3),n(o,function(c,d,p){e(l,d,u(c,d,p))}),l}return Fp=s,Fp}var zp,JS;function Jg(){if(JS)return zp;JS=1;var e=ts();function n(i,s,o){for(var u=-1,l=i.length;++u<l;){var c=i[u],d=s(c);if(d!=null&&(p===void 0?d===d&&!e(d):o(d,p)))var p=d,h=c}return h}return zp=n,zp}var Bp,ek;function CO(){if(ek)return Bp;ek=1;function e(n,i){return n>i}return Bp=e,Bp}var Up,tk;function TO(){if(tk)return Up;tk=1;var e=Jg(),n=CO(),i=ai();function s(o){return o&&o.length?e(o,i,n):void 0}return Up=s,Up}var Hp,nk;function zN(){if(nk)return Hp;nk=1;var e=gu(),n=Qi();function i(s,o,u){(u!==void 0&&!n(s[o],u)||u===void 0&&!(o in s))&&e(s,o,u)}return Hp=i,Hp}var Vp,rk;function RO(){if(rk)return Vp;rk=1;var e=ii(),n=xu(),i=Un(),s="[object Object]",o=Function.prototype,u=Object.prototype,l=o.toString,c=u.hasOwnProperty,d=l.call(Object);function p(h){if(!i(h)||e(h)!=s)return!1;var m=n(h);if(m===null)return!0;var v=c.call(m,"constructor")&&m.constructor;return typeof v=="function"&&v instanceof v&&l.call(v)==d}return Vp=p,Vp}var Wp,ik;function BN(){if(ik)return Wp;ik=1;function e(n,i){if(!(i==="constructor"&&typeof n[i]=="function")&&i!="__proto__")return n[i]}return Wp=e,Wp}var Gp,sk;function jO(){if(sk)return Gp;sk=1;var e=ho(),n=oi();function i(s){return e(s,n(s))}return Gp=i,Gp}var Kp,ok;function AO(){if(ok)return Kp;ok=1;var e=zN(),n=QE(),i=oN(),s=ZE(),o=uN(),u=po(),l=yt(),c=IN(),d=Ji(),p=fo(),h=vn(),m=RO(),v=mo(),_=BN(),N=jO();function x(S,k,E,b,T,A,I){var j=_(S,E),D=_(k,E),O=I.get(D);if(O){e(S,E,O);return}var U=A?A(j,D,E+"",S,k,I):void 0,H=U===void 0;if(H){var Q=l(D),ee=!Q&&d(D),R=!Q&&!ee&&v(D);U=D,Q||ee||R?l(j)?U=j:c(j)?U=s(j):ee?(H=!1,U=n(D,!0)):R?(H=!1,U=i(D,!0)):U=[]:m(D)||u(D)?(U=j,u(j)?U=N(j):(!h(j)||p(j))&&(U=o(D))):H=!1}H&&(I.set(D,U),T(U,D,b,A,I),I.delete(D)),e(S,E,U)}return Kp=x,Kp}var Yp,ak;function IO(){if(ak)return Yp;ak=1;var e=mu(),n=zN(),i=Gg(),s=AO(),o=vn(),u=oi(),l=BN();function c(d,p,h,m,v){d!==p&&i(p,function(_,N){if(v||(v=new e),o(_))s(d,p,N,h,c,m,v);else{var x=m?m(l(d,N),_,N+"",d,p,v):void 0;x===void 0&&(x=_),n(d,N,x)}},u)}return Yp=c,Yp}var Xp,uk;function MO(){if(uk)return Xp;uk=1;var e=Nu(),n=Cu();function i(s){return e(function(o,u){var l=-1,c=u.length,d=c>1?u[c-1]:void 0,p=c>2?u[2]:void 0;for(d=s.length>3&&typeof d=="function"?(c--,d):void 0,p&&n(u[0],u[1],p)&&(d=c<3?void 0:d,c=1),o=Object(o);++l<c;){var h=u[l];h&&s(o,h,l,d)}return o})}return Xp=i,Xp}var Qp,lk;function PO(){if(lk)return Qp;lk=1;var e=IO(),n=MO(),i=n(function(s,o,u){e(s,o,u)});return Qp=i,Qp}var Zp,ck;function UN(){if(ck)return Zp;ck=1;function e(n,i){return n<i}return Zp=e,Zp}var Jp,fk;function qO(){if(fk)return Jp;fk=1;var e=Jg(),n=UN(),i=ai();function s(o){return o&&o.length?e(o,i,n):void 0}return Jp=s,Jp}var em,dk;function OO(){if(dk)return em;dk=1;var e=Jg(),n=or(),i=UN();function s(o,u){return o&&o.length?e(o,n(u,2),i):void 0}return em=s,em}var tm,hk;function LO(){if(hk)return tm;hk=1;var e=Pn(),n=function(){return e.Date.now()};return tm=n,tm}var nm,pk;function $O(){if(pk)return nm;pk=1;var e=vu(),n=bu(),i=yu(),s=vn(),o=go();function u(l,c,d,p){if(!s(l))return l;c=n(c,l);for(var h=-1,m=c.length,v=m-1,_=l;_!=null&&++h<m;){var N=o(c[h]),x=d;if(N==="__proto__"||N==="constructor"||N==="prototype")return l;if(h!=v){var S=_[N];x=p?p(S,N,_):void 0,x===void 0&&(x=s(S)?S:i(c[h+1])?[]:{})}e(_,N,x),_=_[N]}return l}return nm=u,nm}var rm,mk;function DO(){if(mk)return rm;mk=1;var e=Eu(),n=$O(),i=bu();function s(o,u,l){for(var c=-1,d=u.length,p={};++c<d;){var h=u[c],m=e(o,h);l(m,h)&&n(p,i(h,o),m)}return p}return rm=s,rm}var im,gk;function FO(){if(gk)return im;gk=1;var e=DO(),n=xN();function i(s,o){return e(s,o,function(u,l){return n(s,l)})}return im=i,im}var sm,vk;function zO(){if(vk)return sm;vk=1;var e=FN(),n=RN(),i=jN();function s(o){return i(n(o,void 0,e),o+"")}return sm=s,sm}var om,yk;function BO(){if(yk)return om;yk=1;var e=FO(),n=zO(),i=n(function(s,o){return s==null?{}:e(s,o)});return om=i,om}var am,wk;function UO(){if(wk)return am;wk=1;var e=Math.ceil,n=Math.max;function i(s,o,u,l){for(var c=-1,d=n(e((o-s)/(u||1)),0),p=Array(d);d--;)p[l?d:++c]=s,s+=u;return p}return am=i,am}var um,_k;function HO(){if(_k)return um;_k=1;var e=UO(),n=Cu(),i=DN();function s(o){return function(u,l,c){return c&&typeof c!="number"&&n(u,l,c)&&(l=c=void 0),u=i(u),l===void 0?(l=u,u=0):l=i(l),c=c===void 0?u<l?1:-1:i(c),e(u,l,c,o)}}return um=s,um}var lm,xk;function VO(){if(xk)return lm;xk=1;var e=HO(),n=e();return lm=n,lm}var cm,Sk;function WO(){if(Sk)return cm;Sk=1;function e(n,i){var s=n.length;for(n.sort(i);s--;)n[s]=n[s].value;return n}return cm=e,cm}var fm,kk;function GO(){if(kk)return fm;kk=1;var e=ts();function n(i,s){if(i!==s){var o=i!==void 0,u=i===null,l=i===i,c=e(i),d=s!==void 0,p=s===null,h=s===s,m=e(s);if(!p&&!m&&!c&&i>s||c&&d&&h&&!p&&!m||u&&d&&h||!o&&h||!l)return 1;if(!u&&!c&&!m&&i<s||m&&o&&l&&!u&&!c||p&&o&&l||!d&&l||!h)return-1}return 0}return fm=n,fm}var dm,bk;function KO(){if(bk)return dm;bk=1;var e=GO();function n(i,s,o){for(var u=-1,l=i.criteria,c=s.criteria,d=l.length,p=o.length;++u<d;){var h=e(l[u],c[u]);if(h){if(u>=p)return h;var m=o[u];return h*(m=="desc"?-1:1)}}return i.index-s.index}return dm=n,dm}var hm,Ek;function YO(){if(Ek)return hm;Ek=1;var e=ku(),n=Eu(),i=or(),s=NN(),o=WO(),u=wu(),l=KO(),c=ai(),d=yt();function p(h,m,v){m.length?m=e(m,function(x){return d(x)?function(S){return n(S,x.length===1?x[0]:x)}:x}):m=[c];var _=-1;m=e(m,u(i));var N=s(h,function(x,S,k){var E=e(m,function(b){return b(x)});return{criteria:E,index:++_,value:x}});return o(N,function(x,S){return l(x,S,v)})}return hm=p,hm}var pm,Nk;function XO(){if(Nk)return pm;Nk=1;var e=Qg(),n=YO(),i=Nu(),s=Cu(),o=i(function(u,l){if(u==null)return[];var c=l.length;return c>1&&s(u,l[0],l[1])?l=[]:c>2&&s(l[0],l[1],l[2])&&(l=[l[0]]),n(u,e(l,1),[])});return pm=o,pm}var mm,Ck;function QO(){if(Ck)return mm;Ck=1;var e=wN(),n=0;function i(s){var o=++n;return e(s)+o}return mm=i,mm}var gm,Tk;function ZO(){if(Tk)return gm;Tk=1;function e(n,i,s){for(var o=-1,u=n.length,l=i.length,c={};++o<u;){var d=o<l?i[o]:void 0;s(c,n[o],d)}return c}return gm=e,gm}var vm,Rk;function JO(){if(Rk)return vm;Rk=1;var e=vu(),n=ZO();function i(s,o){return n(s||[],o||[],e)}return vm=i,vm}var ym,jk;function tt(){if(jk)return ym;jk=1;var e;if(typeof Og=="function")try{e={cloneDeep:mO(),constant:Wg(),defaults:gO(),each:dN(),filter:kN(),find:kO(),flatten:FN(),forEach:fN(),forIn:bO(),has:bN(),isUndefined:EN(),last:EO(),map:CN(),mapValues:NO(),max:TO(),merge:PO(),min:qO(),minBy:OO(),now:LO(),pick:BO(),range:VO(),reduce:TN(),sortBy:XO(),uniqueId:QO(),values:MN(),zipObject:JO()}}catch{}return e||(e=window._),ym=e,ym}var wm,Ak;function eL(){if(Ak)return wm;Ak=1,wm=e;function e(){var s={};s._next=s._prev=s,this._sentinel=s}e.prototype.dequeue=function(){var s=this._sentinel,o=s._prev;if(o!==s)return n(o),o},e.prototype.enqueue=function(s){var o=this._sentinel;s._prev&&s._next&&n(s),s._next=o._next,o._next._prev=s,o._next=s,s._prev=o},e.prototype.toString=function(){for(var s=[],o=this._sentinel,u=o._prev;u!==o;)s.push(JSON.stringify(u,i)),u=u._prev;return"["+s.join(", ")+"]"};function n(s){s._prev._next=s._next,s._next._prev=s._prev,delete s._next,delete s._prev}function i(s,o){if(s!=="_next"&&s!=="_prev")return o}return wm}var _m,Ik;function tL(){if(Ik)return _m;Ik=1;var e=tt(),n=In().Graph,i=eL();_m=o;var s=e.constant(1);function o(p,h){if(p.nodeCount()<=1)return[];var m=c(p,h||s),v=u(m.graph,m.buckets,m.zeroIdx);return e.flatten(e.map(v,function(_){return p.outEdges(_.v,_.w)}),!0)}function u(p,h,m){for(var v=[],_=h[h.length-1],N=h[0],x;p.nodeCount();){for(;x=N.dequeue();)l(p,h,m,x);for(;x=_.dequeue();)l(p,h,m,x);if(p.nodeCount()){for(var S=h.length-2;S>0;--S)if(x=h[S].dequeue(),x){v=v.concat(l(p,h,m,x,!0));break}}}return v}function l(p,h,m,v,_){var N=_?[]:void 0;return e.forEach(p.inEdges(v.v),function(x){var S=p.edge(x),k=p.node(x.v);_&&N.push({v:x.v,w:x.w}),k.out-=S,d(h,m,k)}),e.forEach(p.outEdges(v.v),function(x){var S=p.edge(x),k=x.w,E=p.node(k);E.in-=S,d(h,m,E)}),p.removeNode(v.v),N}function c(p,h){var m=new n,v=0,_=0;e.forEach(p.nodes(),function(S){m.setNode(S,{v:S,in:0,out:0})}),e.forEach(p.edges(),function(S){var k=m.edge(S.v,S.w)||0,E=h(S),b=k+E;m.setEdge(S.v,S.w,b),_=Math.max(_,m.node(S.v).out+=E),v=Math.max(v,m.node(S.w).in+=E)});var N=e.range(_+v+3).map(function(){return new i}),x=v+1;return e.forEach(m.nodes(),function(S){d(N,x,m.node(S))}),{graph:m,buckets:N,zeroIdx:x}}function d(p,h,m){m.out?m.in?p[m.out-m.in+h].enqueue(m):p[p.length-1].enqueue(m):p[0].enqueue(m)}return _m}var xm,Mk;function nL(){if(Mk)return xm;Mk=1;var e=tt(),n=tL();xm={run:i,undo:o};function i(u){var l=u.graph().acyclicer==="greedy"?n(u,c(u)):s(u);e.forEach(l,function(d){var p=u.edge(d);u.removeEdge(d),p.forwardName=d.name,p.reversed=!0,u.setEdge(d.w,d.v,p,e.uniqueId("rev"))});function c(d){return function(p){return d.edge(p).weight}}}function s(u){var l=[],c={},d={};function p(h){e.has(d,h)||(d[h]=!0,c[h]=!0,e.forEach(u.outEdges(h),function(m){e.has(c,m.w)?l.push(m):p(m.w)}),delete c[h])}return e.forEach(u.nodes(),p),l}function o(u){e.forEach(u.edges(),function(l){var c=u.edge(l);if(c.reversed){u.removeEdge(l);var d=c.forwardName;delete c.reversed,delete c.forwardName,u.setEdge(l.w,l.v,c,d)}})}return xm}var Sm,Pk;function Qt(){if(Pk)return Sm;Pk=1;var e=tt(),n=In().Graph;Sm={addDummyNode:i,simplify:s,asNonCompoundGraph:o,successorWeights:u,predecessorWeights:l,intersectRect:c,buildLayerMatrix:d,normalizeRanks:p,removeEmptyRanks:h,addBorderNode:m,maxRank:v,partition:_,time:N,notime:x};function i(S,k,E,b){var T;do T=e.uniqueId(b);while(S.hasNode(T));return E.dummy=k,S.setNode(T,E),T}function s(S){var k=new n().setGraph(S.graph());return e.forEach(S.nodes(),function(E){k.setNode(E,S.node(E))}),e.forEach(S.edges(),function(E){var b=k.edge(E.v,E.w)||{weight:0,minlen:1},T=S.edge(E);k.setEdge(E.v,E.w,{weight:b.weight+T.weight,minlen:Math.max(b.minlen,T.minlen)})}),k}function o(S){var k=new n({multigraph:S.isMultigraph()}).setGraph(S.graph());return e.forEach(S.nodes(),function(E){S.children(E).length||k.setNode(E,S.node(E))}),e.forEach(S.edges(),function(E){k.setEdge(E,S.edge(E))}),k}function u(S){var k=e.map(S.nodes(),function(E){var b={};return e.forEach(S.outEdges(E),function(T){b[T.w]=(b[T.w]||0)+S.edge(T).weight}),b});return e.zipObject(S.nodes(),k)}function l(S){var k=e.map(S.nodes(),function(E){var b={};return e.forEach(S.inEdges(E),function(T){b[T.v]=(b[T.v]||0)+S.edge(T).weight}),b});return e.zipObject(S.nodes(),k)}function c(S,k){var E=S.x,b=S.y,T=k.x-E,A=k.y-b,I=S.width/2,j=S.height/2;if(!T&&!A)throw new Error("Not possible to find intersection inside of the rectangle");var D,O;return Math.abs(A)*I>Math.abs(T)*j?(A<0&&(j=-j),D=j*T/A,O=j):(T<0&&(I=-I),D=I,O=I*A/T),{x:E+D,y:b+O}}function d(S){var k=e.map(e.range(v(S)+1),function(){return[]});return e.forEach(S.nodes(),function(E){var b=S.node(E),T=b.rank;e.isUndefined(T)||(k[T][b.order]=E)}),k}function p(S){var k=e.min(e.map(S.nodes(),function(E){return S.node(E).rank}));e.forEach(S.nodes(),function(E){var b=S.node(E);e.has(b,"rank")&&(b.rank-=k)})}function h(S){var k=e.min(e.map(S.nodes(),function(A){return S.node(A).rank})),E=[];e.forEach(S.nodes(),function(A){var I=S.node(A).rank-k;E[I]||(E[I]=[]),E[I].push(A)});var b=0,T=S.graph().nodeRankFactor;e.forEach(E,function(A,I){e.isUndefined(A)&&I%T!==0?--b:b&&e.forEach(A,function(j){S.node(j).rank+=b})})}function m(S,k,E,b){var T={width:0,height:0};return arguments.length>=4&&(T.rank=E,T.order=b),i(S,"border",T,k)}function v(S){return e.max(e.map(S.nodes(),function(k){var E=S.node(k).rank;if(!e.isUndefined(E))return E}))}function _(S,k){var E={lhs:[],rhs:[]};return e.forEach(S,function(b){k(b)?E.lhs.push(b):E.rhs.push(b)}),E}function N(S,k){var E=e.now();try{return k()}finally{console.log(S+" time: "+(e.now()-E)+"ms")}}function x(S,k){return k()}return Sm}var km,qk;function rL(){if(qk)return km;qk=1;var e=tt(),n=Qt();km={run:i,undo:o};function i(u){u.graph().dummyChains=[],e.forEach(u.edges(),function(l){s(u,l)})}function s(u,l){var c=l.v,d=u.node(c).rank,p=l.w,h=u.node(p).rank,m=l.name,v=u.edge(l),_=v.labelRank;if(h!==d+1){u.removeEdge(l);var N,x,S;for(S=0,++d;d<h;++S,++d)v.points=[],x={width:0,height:0,edgeLabel:v,edgeObj:l,rank:d},N=n.addDummyNode(u,"edge",x,"_d"),d===_&&(x.width=v.width,x.height=v.height,x.dummy="edge-label",x.labelpos=v.labelpos),u.setEdge(c,N,{weight:v.weight},m),S===0&&u.graph().dummyChains.push(N),c=N;u.setEdge(c,p,{weight:v.weight},m)}}function o(u){e.forEach(u.graph().dummyChains,function(l){var c=u.node(l),d=c.edgeLabel,p;for(u.setEdge(c.edgeObj,d);c.dummy;)p=u.successors(l)[0],u.removeNode(l),d.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(d.x=c.x,d.y=c.y,d.width=c.width,d.height=c.height),l=p,c=u.node(l)})}return km}var bm,Ok;function ru(){if(Ok)return bm;Ok=1;var e=tt();bm={longestPath:n,slack:i};function n(s){var o={};function u(l){var c=s.node(l);if(e.has(o,l))return c.rank;o[l]=!0;var d=e.min(e.map(s.outEdges(l),function(p){return u(p.w)-s.edge(p).minlen}));return(d===Number.POSITIVE_INFINITY||d===void 0||d===null)&&(d=0),c.rank=d}e.forEach(s.sources(),u)}function i(s,o){return s.node(o.w).rank-s.node(o.v).rank-s.edge(o).minlen}return bm}var Em,Lk;function HN(){if(Lk)return Em;Lk=1;var e=tt(),n=In().Graph,i=ru().slack;Em=s;function s(c){var d=new n({directed:!1}),p=c.nodes()[0],h=c.nodeCount();d.setNode(p,{});for(var m,v;o(d,c)<h;)m=u(d,c),v=d.hasNode(m.v)?i(c,m):-i(c,m),l(d,c,v);return d}function o(c,d){function p(h){e.forEach(d.nodeEdges(h),function(m){var v=m.v,_=h===v?m.w:v;!c.hasNode(_)&&!i(d,m)&&(c.setNode(_,{}),c.setEdge(h,_,{}),p(_))})}return e.forEach(c.nodes(),p),c.nodeCount()}function u(c,d){return e.minBy(d.edges(),function(p){if(c.hasNode(p.v)!==c.hasNode(p.w))return i(d,p)})}function l(c,d,p){e.forEach(c.nodes(),function(h){d.node(h).rank+=p})}return Em}var Nm,$k;function iL(){if($k)return Nm;$k=1;var e=tt(),n=HN(),i=ru().slack,s=ru().longestPath,o=In().alg.preorder,u=In().alg.postorder,l=Qt().simplify;Nm=c,c.initLowLimValues=m,c.initCutValues=d,c.calcCutValue=h,c.leaveEdge=_,c.enterEdge=N,c.exchangeEdges=x;function c(b){b=l(b),s(b);var T=n(b);m(T),d(T,b);for(var A,I;A=_(T);)I=N(T,b,A),x(T,b,A,I)}function d(b,T){var A=u(b,b.nodes());A=A.slice(0,A.length-1),e.forEach(A,function(I){p(b,T,I)})}function p(b,T,A){var I=b.node(A),j=I.parent;b.edge(A,j).cutvalue=h(b,T,A)}function h(b,T,A){var I=b.node(A),j=I.parent,D=!0,O=T.edge(A,j),U=0;return O||(D=!1,O=T.edge(j,A)),U=O.weight,e.forEach(T.nodeEdges(A),function(H){var Q=H.v===A,ee=Q?H.w:H.v;if(ee!==j){var R=Q===D,G=T.edge(H).weight;if(U+=R?G:-G,k(b,A,ee)){var B=b.edge(A,ee).cutvalue;U+=R?-B:B}}}),U}function m(b,T){arguments.length<2&&(T=b.nodes()[0]),v(b,{},1,T)}function v(b,T,A,I,j){var D=A,O=b.node(I);return T[I]=!0,e.forEach(b.neighbors(I),function(U){e.has(T,U)||(A=v(b,T,A,U,I))}),O.low=D,O.lim=A++,j?O.parent=j:delete O.parent,A}function _(b){return e.find(b.edges(),function(T){return b.edge(T).cutvalue<0})}function N(b,T,A){var I=A.v,j=A.w;T.hasEdge(I,j)||(I=A.w,j=A.v);var D=b.node(I),O=b.node(j),U=D,H=!1;D.lim>O.lim&&(U=O,H=!0);var Q=e.filter(T.edges(),function(ee){return H===E(b,b.node(ee.v),U)&&H!==E(b,b.node(ee.w),U)});return e.minBy(Q,function(ee){return i(T,ee)})}function x(b,T,A,I){var j=A.v,D=A.w;b.removeEdge(j,D),b.setEdge(I.v,I.w,{}),m(b),d(b,T),S(b,T)}function S(b,T){var A=e.find(b.nodes(),function(j){return!T.node(j).parent}),I=o(b,A);I=I.slice(1),e.forEach(I,function(j){var D=b.node(j).parent,O=T.edge(j,D),U=!1;O||(O=T.edge(D,j),U=!0),T.node(j).rank=T.node(D).rank+(U?O.minlen:-O.minlen)})}function k(b,T,A){return b.hasEdge(T,A)}function E(b,T,A){return A.low<=T.lim&&T.lim<=A.lim}return Nm}var Cm,Dk;function sL(){if(Dk)return Cm;Dk=1;var e=ru(),n=e.longestPath,i=HN(),s=iL();Cm=o;function o(d){switch(d.graph().ranker){case"network-simplex":c(d);break;case"tight-tree":l(d);break;case"longest-path":u(d);break;default:c(d)}}var u=n;function l(d){n(d),i(d)}function c(d){s(d)}return Cm}var Tm,Fk;function oL(){if(Fk)return Tm;Fk=1;var e=tt();Tm=n;function n(o){var u=s(o);e.forEach(o.graph().dummyChains,function(l){for(var c=o.node(l),d=c.edgeObj,p=i(o,u,d.v,d.w),h=p.path,m=p.lca,v=0,_=h[v],N=!0;l!==d.w;){if(c=o.node(l),N){for(;(_=h[v])!==m&&o.node(_).maxRank<c.rank;)v++;_===m&&(N=!1)}if(!N){for(;v<h.length-1&&o.node(_=h[v+1]).minRank<=c.rank;)v++;_=h[v]}o.setParent(l,_),l=o.successors(l)[0]}})}function i(o,u,l,c){var d=[],p=[],h=Math.min(u[l].low,u[c].low),m=Math.max(u[l].lim,u[c].lim),v,_;v=l;do v=o.parent(v),d.push(v);while(v&&(u[v].low>h||m>u[v].lim));for(_=v,v=c;(v=o.parent(v))!==_;)p.push(v);return{path:d.concat(p.reverse()),lca:_}}function s(o){var u={},l=0;function c(d){var p=l;e.forEach(o.children(d),c),u[d]={low:p,lim:l++}}return e.forEach(o.children(),c),u}return Tm}var Rm,zk;function aL(){if(zk)return Rm;zk=1;var e=tt(),n=Qt();Rm={run:i,cleanup:l};function i(c){var d=n.addDummyNode(c,"root",{},"_root"),p=o(c),h=e.max(e.values(p))-1,m=2*h+1;c.graph().nestingRoot=d,e.forEach(c.edges(),function(_){c.edge(_).minlen*=m});var v=u(c)+1;e.forEach(c.children(),function(_){s(c,d,m,v,h,p,_)}),c.graph().nodeRankFactor=m}function s(c,d,p,h,m,v,_){var N=c.children(_);if(!N.length){_!==d&&c.setEdge(d,_,{weight:0,minlen:p});return}var x=n.addBorderNode(c,"_bt"),S=n.addBorderNode(c,"_bb"),k=c.node(_);c.setParent(x,_),k.borderTop=x,c.setParent(S,_),k.borderBottom=S,e.forEach(N,function(E){s(c,d,p,h,m,v,E);var b=c.node(E),T=b.borderTop?b.borderTop:E,A=b.borderBottom?b.borderBottom:E,I=b.borderTop?h:2*h,j=T!==A?1:m-v[_]+1;c.setEdge(x,T,{weight:I,minlen:j,nestingEdge:!0}),c.setEdge(A,S,{weight:I,minlen:j,nestingEdge:!0})}),c.parent(_)||c.setEdge(d,x,{weight:0,minlen:m+v[_]})}function o(c){var d={};function p(h,m){var v=c.children(h);v&&v.length&&e.forEach(v,function(_){p(_,m+1)}),d[h]=m}return e.forEach(c.children(),function(h){p(h,1)}),d}function u(c){return e.reduce(c.edges(),function(d,p){return d+c.edge(p).weight},0)}function l(c){var d=c.graph();c.removeNode(d.nestingRoot),delete d.nestingRoot,e.forEach(c.edges(),function(p){var h=c.edge(p);h.nestingEdge&&c.removeEdge(p)})}return Rm}var jm,Bk;function uL(){if(Bk)return jm;Bk=1;var e=tt(),n=Qt();jm=i;function i(o){function u(l){var c=o.children(l),d=o.node(l);if(c.length&&e.forEach(c,u),e.has(d,"minRank")){d.borderLeft=[],d.borderRight=[];for(var p=d.minRank,h=d.maxRank+1;p<h;++p)s(o,"borderLeft","_bl",l,d,p),s(o,"borderRight","_br",l,d,p)}}e.forEach(o.children(),u)}function s(o,u,l,c,d,p){var h={width:0,height:0,rank:p,borderType:u},m=d[u][p-1],v=n.addDummyNode(o,"border",h,l);d[u][p]=v,o.setParent(v,c),m&&o.setEdge(m,v,{weight:1})}return jm}var Am,Uk;function lL(){if(Uk)return Am;Uk=1;var e=tt();Am={adjust:n,undo:i};function n(p){var h=p.graph().rankdir.toLowerCase();(h==="lr"||h==="rl")&&s(p)}function i(p){var h=p.graph().rankdir.toLowerCase();(h==="bt"||h==="rl")&&u(p),(h==="lr"||h==="rl")&&(c(p),s(p))}function s(p){e.forEach(p.nodes(),function(h){o(p.node(h))}),e.forEach(p.edges(),function(h){o(p.edge(h))})}function o(p){var h=p.width;p.width=p.height,p.height=h}function u(p){e.forEach(p.nodes(),function(h){l(p.node(h))}),e.forEach(p.edges(),function(h){var m=p.edge(h);e.forEach(m.points,l),e.has(m,"y")&&l(m)})}function l(p){p.y=-p.y}function c(p){e.forEach(p.nodes(),function(h){d(p.node(h))}),e.forEach(p.edges(),function(h){var m=p.edge(h);e.forEach(m.points,d),e.has(m,"x")&&d(m)})}function d(p){var h=p.x;p.x=p.y,p.y=h}return Am}var Im,Hk;function cL(){if(Hk)return Im;Hk=1;var e=tt();Im=n;function n(i){var s={},o=e.filter(i.nodes(),function(p){return!i.children(p).length}),u=e.max(e.map(o,function(p){return i.node(p).rank})),l=e.map(e.range(u+1),function(){return[]});function c(p){if(!e.has(s,p)){s[p]=!0;var h=i.node(p);l[h.rank].push(p),e.forEach(i.successors(p),c)}}var d=e.sortBy(o,function(p){return i.node(p).rank});return e.forEach(d,c),l}return Im}var Mm,Vk;function fL(){if(Vk)return Mm;Vk=1;var e=tt();Mm=n;function n(s,o){for(var u=0,l=1;l<o.length;++l)u+=i(s,o[l-1],o[l]);return u}function i(s,o,u){for(var l=e.zipObject(u,e.map(u,function(v,_){return _})),c=e.flatten(e.map(o,function(v){return e.sortBy(e.map(s.outEdges(v),function(_){return{pos:l[_.w],weight:s.edge(_).weight}}),"pos")}),!0),d=1;d<u.length;)d<<=1;var p=2*d-1;d-=1;var h=e.map(new Array(p),function(){return 0}),m=0;return e.forEach(c.forEach(function(v){var _=v.pos+d;h[_]+=v.weight;for(var N=0;_>0;)_%2&&(N+=h[_+1]),_=_-1>>1,h[_]+=v.weight;m+=v.weight*N})),m}return Mm}var Pm,Wk;function dL(){if(Wk)return Pm;Wk=1;var e=tt();Pm=n;function n(i,s){return e.map(s,function(o){var u=i.inEdges(o);if(u.length){var l=e.reduce(u,function(c,d){var p=i.edge(d),h=i.node(d.v);return{sum:c.sum+p.weight*h.order,weight:c.weight+p.weight}},{sum:0,weight:0});return{v:o,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:o}})}return Pm}var qm,Gk;function hL(){if(Gk)return qm;Gk=1;var e=tt();qm=n;function n(o,u){var l={};e.forEach(o,function(d,p){var h=l[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:p};e.isUndefined(d.barycenter)||(h.barycenter=d.barycenter,h.weight=d.weight)}),e.forEach(u.edges(),function(d){var p=l[d.v],h=l[d.w];!e.isUndefined(p)&&!e.isUndefined(h)&&(h.indegree++,p.out.push(l[d.w]))});var c=e.filter(l,function(d){return!d.indegree});return i(c)}function i(o){var u=[];function l(p){return function(h){h.merged||(e.isUndefined(h.barycenter)||e.isUndefined(p.barycenter)||h.barycenter>=p.barycenter)&&s(p,h)}}function c(p){return function(h){h.in.push(p),--h.indegree===0&&o.push(h)}}for(;o.length;){var d=o.pop();u.push(d),e.forEach(d.in.reverse(),l(d)),e.forEach(d.out,c(d))}return e.map(e.filter(u,function(p){return!p.merged}),function(p){return e.pick(p,["vs","i","barycenter","weight"])})}function s(o,u){var l=0,c=0;o.weight&&(l+=o.barycenter*o.weight,c+=o.weight),u.weight&&(l+=u.barycenter*u.weight,c+=u.weight),o.vs=u.vs.concat(o.vs),o.barycenter=l/c,o.weight=c,o.i=Math.min(u.i,o.i),u.merged=!0}return qm}var Om,Kk;function pL(){if(Kk)return Om;Kk=1;var e=tt(),n=Qt();Om=i;function i(u,l){var c=n.partition(u,function(x){return e.has(x,"barycenter")}),d=c.lhs,p=e.sortBy(c.rhs,function(x){return-x.i}),h=[],m=0,v=0,_=0;d.sort(o(!!l)),_=s(h,p,_),e.forEach(d,function(x){_+=x.vs.length,h.push(x.vs),m+=x.barycenter*x.weight,v+=x.weight,_=s(h,p,_)});var N={vs:e.flatten(h,!0)};return v&&(N.barycenter=m/v,N.weight=v),N}function s(u,l,c){for(var d;l.length&&(d=e.last(l)).i<=c;)l.pop(),u.push(d.vs),c++;return c}function o(u){return function(l,c){return l.barycenter<c.barycenter?-1:l.barycenter>c.barycenter?1:u?c.i-l.i:l.i-c.i}}return Om}var Lm,Yk;function mL(){if(Yk)return Lm;Yk=1;var e=tt(),n=dL(),i=hL(),s=pL();Lm=o;function o(c,d,p,h){var m=c.children(d),v=c.node(d),_=v?v.borderLeft:void 0,N=v?v.borderRight:void 0,x={};_&&(m=e.filter(m,function(A){return A!==_&&A!==N}));var S=n(c,m);e.forEach(S,function(A){if(c.children(A.v).length){var I=o(c,A.v,p,h);x[A.v]=I,e.has(I,"barycenter")&&l(A,I)}});var k=i(S,p);u(k,x);var E=s(k,h);if(_&&(E.vs=e.flatten([_,E.vs,N],!0),c.predecessors(_).length)){var b=c.node(c.predecessors(_)[0]),T=c.node(c.predecessors(N)[0]);e.has(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+b.order+T.order)/(E.weight+2),E.weight+=2}return E}function u(c,d){e.forEach(c,function(p){p.vs=e.flatten(p.vs.map(function(h){return d[h]?d[h].vs:h}),!0)})}function l(c,d){e.isUndefined(c.barycenter)?(c.barycenter=d.barycenter,c.weight=d.weight):(c.barycenter=(c.barycenter*c.weight+d.barycenter*d.weight)/(c.weight+d.weight),c.weight+=d.weight)}return Lm}var $m,Xk;function gL(){if(Xk)return $m;Xk=1;var e=tt(),n=In().Graph;$m=i;function i(o,u,l){var c=s(o),d=new n({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(p){return o.node(p)});return e.forEach(o.nodes(),function(p){var h=o.node(p),m=o.parent(p);(h.rank===u||h.minRank<=u&&u<=h.maxRank)&&(d.setNode(p),d.setParent(p,m||c),e.forEach(o[l](p),function(v){var _=v.v===p?v.w:v.v,N=d.edge(_,p),x=e.isUndefined(N)?0:N.weight;d.setEdge(_,p,{weight:o.edge(v).weight+x})}),e.has(h,"minRank")&&d.setNode(p,{borderLeft:h.borderLeft[u],borderRight:h.borderRight[u]}))}),d}function s(o){for(var u;o.hasNode(u=e.uniqueId("_root")););return u}return $m}var Dm,Qk;function vL(){if(Qk)return Dm;Qk=1;var e=tt();Dm=n;function n(i,s,o){var u={},l;e.forEach(o,function(c){for(var d=i.parent(c),p,h;d;){if(p=i.parent(d),p?(h=u[p],u[p]=d):(h=l,l=d),h&&h!==d){s.setEdge(h,d);return}d=p}})}return Dm}var Fm,Zk;function yL(){if(Zk)return Fm;Zk=1;var e=tt(),n=cL(),i=fL(),s=mL(),o=gL(),u=vL(),l=In().Graph,c=Qt();Fm=d;function d(v){var _=c.maxRank(v),N=p(v,e.range(1,_+1),"inEdges"),x=p(v,e.range(_-1,-1,-1),"outEdges"),S=n(v);m(v,S);for(var k=Number.POSITIVE_INFINITY,E,b=0,T=0;T<4;++b,++T){h(b%2?N:x,b%4>=2),S=c.buildLayerMatrix(v);var A=i(v,S);A<k&&(T=0,E=e.cloneDeep(S),k=A)}m(v,E)}function p(v,_,N){return e.map(_,function(x){return o(v,x,N)})}function h(v,_){var N=new l;e.forEach(v,function(x){var S=x.graph().root,k=s(x,S,N,_);e.forEach(k.vs,function(E,b){x.node(E).order=b}),u(x,N,k.vs)})}function m(v,_){e.forEach(_,function(N){e.forEach(N,function(x,S){v.node(x).order=S})})}return Fm}var zm,Jk;function wL(){if(Jk)return zm;Jk=1;var e=tt(),n=In().Graph,i=Qt();zm={positionX:N,findType1Conflicts:s,findType2Conflicts:o,addConflict:l,hasConflict:c,verticalAlignment:d,horizontalCompaction:p,alignCoordinates:v,findSmallestWidthAlignment:m,balance:_};function s(k,E){var b={};function T(A,I){var j=0,D=0,O=A.length,U=e.last(I);return e.forEach(I,function(H,Q){var ee=u(k,H),R=ee?k.node(ee).order:O;(ee||H===U)&&(e.forEach(I.slice(D,Q+1),function(G){e.forEach(k.predecessors(G),function(B){var X=k.node(B),Y=X.order;(Y<j||R<Y)&&!(X.dummy&&k.node(G).dummy)&&l(b,B,G)})}),D=Q+1,j=R)}),I}return e.reduce(E,T),b}function o(k,E){var b={};function T(I,j,D,O,U){var H;e.forEach(e.range(j,D),function(Q){H=I[Q],k.node(H).dummy&&e.forEach(k.predecessors(H),function(ee){var R=k.node(ee);R.dummy&&(R.order<O||R.order>U)&&l(b,ee,H)})})}function A(I,j){var D=-1,O,U=0;return e.forEach(j,function(H,Q){if(k.node(H).dummy==="border"){var ee=k.predecessors(H);ee.length&&(O=k.node(ee[0]).order,T(j,U,Q,D,O),U=Q,D=O)}T(j,U,j.length,O,I.length)}),j}return e.reduce(E,A),b}function u(k,E){if(k.node(E).dummy)return e.find(k.predecessors(E),function(b){return k.node(b).dummy})}function l(k,E,b){if(E>b){var T=E;E=b,b=T}var A=k[E];A||(k[E]=A={}),A[b]=!0}function c(k,E,b){if(E>b){var T=E;E=b,b=T}return e.has(k[E],b)}function d(k,E,b,T){var A={},I={},j={};return e.forEach(E,function(D){e.forEach(D,function(O,U){A[O]=O,I[O]=O,j[O]=U})}),e.forEach(E,function(D){var O=-1;e.forEach(D,function(U){var H=T(U);if(H.length){H=e.sortBy(H,function(B){return j[B]});for(var Q=(H.length-1)/2,ee=Math.floor(Q),R=Math.ceil(Q);ee<=R;++ee){var G=H[ee];I[U]===U&&O<j[G]&&!c(b,U,G)&&(I[G]=U,I[U]=A[U]=A[G],O=j[G])}}})}),{root:A,align:I}}function p(k,E,b,T,A){var I={},j=h(k,E,b,A),D=A?"borderLeft":"borderRight";function O(Q,ee){for(var R=j.nodes(),G=R.pop(),B={};G;)B[G]?Q(G):(B[G]=!0,R.push(G),R=R.concat(ee(G))),G=R.pop()}function U(Q){I[Q]=j.inEdges(Q).reduce(function(ee,R){return Math.max(ee,I[R.v]+j.edge(R))},0)}function H(Q){var ee=j.outEdges(Q).reduce(function(G,B){return Math.min(G,I[B.w]-j.edge(B))},Number.POSITIVE_INFINITY),R=k.node(Q);ee!==Number.POSITIVE_INFINITY&&R.borderType!==D&&(I[Q]=Math.max(I[Q],ee))}return O(U,j.predecessors.bind(j)),O(H,j.successors.bind(j)),e.forEach(T,function(Q){I[Q]=I[b[Q]]}),I}function h(k,E,b,T){var A=new n,I=k.graph(),j=x(I.nodesep,I.edgesep,T);return e.forEach(E,function(D){var O;e.forEach(D,function(U){var H=b[U];if(A.setNode(H),O){var Q=b[O],ee=A.edge(Q,H);A.setEdge(Q,H,Math.max(j(k,U,O),ee||0))}O=U})}),A}function m(k,E){return e.minBy(e.values(E),function(b){var T=Number.NEGATIVE_INFINITY,A=Number.POSITIVE_INFINITY;return e.forIn(b,function(I,j){var D=S(k,j)/2;T=Math.max(I+D,T),A=Math.min(I-D,A)}),T-A})}function v(k,E){var b=e.values(E),T=e.min(b),A=e.max(b);e.forEach(["u","d"],function(I){e.forEach(["l","r"],function(j){var D=I+j,O=k[D],U;if(O!==E){var H=e.values(O);U=j==="l"?T-e.min(H):A-e.max(H),U&&(k[D]=e.mapValues(O,function(Q){return Q+U}))}})})}function _(k,E){return e.mapValues(k.ul,function(b,T){if(E)return k[E.toLowerCase()][T];var A=e.sortBy(e.map(k,T));return(A[1]+A[2])/2})}function N(k){var E=i.buildLayerMatrix(k),b=e.merge(s(k,E),o(k,E)),T={},A;e.forEach(["u","d"],function(j){A=j==="u"?E:e.values(E).reverse(),e.forEach(["l","r"],function(D){D==="r"&&(A=e.map(A,function(Q){return e.values(Q).reverse()}));var O=(j==="u"?k.predecessors:k.successors).bind(k),U=d(k,A,b,O),H=p(k,A,U.root,U.align,D==="r");D==="r"&&(H=e.mapValues(H,function(Q){return-Q})),T[j+D]=H})});var I=m(k,T);return v(T,I),_(T,k.graph().align)}function x(k,E,b){return function(T,A,I){var j=T.node(A),D=T.node(I),O=0,U;if(O+=j.width/2,e.has(j,"labelpos"))switch(j.labelpos.toLowerCase()){case"l":U=-j.width/2;break;case"r":U=j.width/2;break}if(U&&(O+=b?U:-U),U=0,O+=(j.dummy?E:k)/2,O+=(D.dummy?E:k)/2,O+=D.width/2,e.has(D,"labelpos"))switch(D.labelpos.toLowerCase()){case"l":U=D.width/2;break;case"r":U=-D.width/2;break}return U&&(O+=b?U:-U),U=0,O}}function S(k,E){return k.node(E).width}return zm}var Bm,eb;function _L(){if(eb)return Bm;eb=1;var e=tt(),n=Qt(),i=wL().positionX;Bm=s;function s(u){u=n.asNonCompoundGraph(u),o(u),e.forEach(i(u),function(l,c){u.node(c).x=l})}function o(u){var l=n.buildLayerMatrix(u),c=u.graph().ranksep,d=0;e.forEach(l,function(p){var h=e.max(e.map(p,function(m){return u.node(m).height}));e.forEach(p,function(m){u.node(m).y=d+h/2}),d+=h+c})}return Bm}var Um,tb;function xL(){if(tb)return Um;tb=1;var e=tt(),n=nL(),i=rL(),s=sL(),o=Qt().normalizeRanks,u=oL(),l=Qt().removeEmptyRanks,c=aL(),d=uL(),p=lL(),h=yL(),m=_L(),v=Qt(),_=In().Graph;Um=N;function N($,K){var Z=K&&K.debugTiming?v.time:v.notime;Z("layout",function(){var oe=Z(" buildLayoutGraph",function(){return O($)});Z(" runLayout",function(){x(oe,Z)}),Z(" updateInputGraph",function(){S($,oe)})})}function x($,K){K(" makeSpaceForEdgeLabels",function(){U($)}),K(" removeSelfEdges",function(){q($)}),K(" acyclic",function(){n.run($)}),K(" nestingGraph.run",function(){c.run($)}),K(" rank",function(){s(v.asNonCompoundGraph($))}),K(" injectEdgeLabelProxies",function(){H($)}),K(" removeEmptyRanks",function(){l($)}),K(" nestingGraph.cleanup",function(){c.cleanup($)}),K(" normalizeRanks",function(){o($)}),K(" assignRankMinMax",function(){Q($)}),K(" removeEdgeLabelProxies",function(){ee($)}),K(" normalize.run",function(){i.run($)}),K(" parentDummyChains",function(){u($)}),K(" addBorderSegments",function(){d($)}),K(" order",function(){h($)}),K(" insertSelfEdges",function(){V($)}),K(" adjustCoordinateSystem",function(){p.adjust($)}),K(" position",function(){m($)}),K(" positionSelfEdges",function(){M($)}),K(" removeBorderNodes",function(){Y($)}),K(" normalize.undo",function(){i.undo($)}),K(" fixupEdgeLabelCoords",function(){B($)}),K(" undoCoordinateSystem",function(){p.undo($)}),K(" translateGraph",function(){R($)}),K(" assignNodeIntersects",function(){G($)}),K(" reversePoints",function(){X($)}),K(" acyclic.undo",function(){n.undo($)})}function S($,K){e.forEach($.nodes(),function(Z){var oe=$.node(Z),ce=K.node(Z);oe&&(oe.x=ce.x,oe.y=ce.y,K.children(Z).length&&(oe.width=ce.width,oe.height=ce.height))}),e.forEach($.edges(),function(Z){var oe=$.edge(Z),ce=K.edge(Z);oe.points=ce.points,e.has(ce,"x")&&(oe.x=ce.x,oe.y=ce.y)}),$.graph().width=K.graph().width,$.graph().height=K.graph().height}var k=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},b=["acyclicer","ranker","rankdir","align"],T=["width","height"],A={width:0,height:0},I=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},D=["labelpos"];function O($){var K=new _({multigraph:!0,compound:!0}),Z=ae($.graph());return K.setGraph(e.merge({},E,z(Z,k),e.pick(Z,b))),e.forEach($.nodes(),function(oe){var ce=ae($.node(oe));K.setNode(oe,e.defaults(z(ce,T),A)),K.setParent(oe,$.parent(oe))}),e.forEach($.edges(),function(oe){var ce=ae($.edge(oe));K.setEdge(oe,e.merge({},j,z(ce,I),e.pick(ce,D)))}),K}function U($){var K=$.graph();K.ranksep/=2,e.forEach($.edges(),function(Z){var oe=$.edge(Z);oe.minlen*=2,oe.labelpos.toLowerCase()!=="c"&&(K.rankdir==="TB"||K.rankdir==="BT"?oe.width+=oe.labeloffset:oe.height+=oe.labeloffset)})}function H($){e.forEach($.edges(),function(K){var Z=$.edge(K);if(Z.width&&Z.height){var oe=$.node(K.v),ce=$.node(K.w),he={rank:(ce.rank-oe.rank)/2+oe.rank,e:K};v.addDummyNode($,"edge-proxy",he,"_ep")}})}function Q($){var K=0;e.forEach($.nodes(),function(Z){var oe=$.node(Z);oe.borderTop&&(oe.minRank=$.node(oe.borderTop).rank,oe.maxRank=$.node(oe.borderBottom).rank,K=e.max(K,oe.maxRank))}),$.graph().maxRank=K}function ee($){e.forEach($.nodes(),function(K){var Z=$.node(K);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(K))})}function R($){var K=Number.POSITIVE_INFINITY,Z=0,oe=Number.POSITIVE_INFINITY,ce=0,he=$.graph(),me=he.marginx||0,Me=he.marginy||0;function Ie(Pe){var Ae=Pe.x,Ee=Pe.y,Ge=Pe.width,we=Pe.height;K=Math.min(K,Ae-Ge/2),Z=Math.max(Z,Ae+Ge/2),oe=Math.min(oe,Ee-we/2),ce=Math.max(ce,Ee+we/2)}e.forEach($.nodes(),function(Pe){Ie($.node(Pe))}),e.forEach($.edges(),function(Pe){var Ae=$.edge(Pe);e.has(Ae,"x")&&Ie(Ae)}),K-=me,oe-=Me,e.forEach($.nodes(),function(Pe){var Ae=$.node(Pe);Ae.x-=K,Ae.y-=oe}),e.forEach($.edges(),function(Pe){var Ae=$.edge(Pe);e.forEach(Ae.points,function(Ee){Ee.x-=K,Ee.y-=oe}),e.has(Ae,"x")&&(Ae.x-=K),e.has(Ae,"y")&&(Ae.y-=oe)}),he.width=Z-K+me,he.height=ce-oe+Me}function G($){e.forEach($.edges(),function(K){var Z=$.edge(K),oe=$.node(K.v),ce=$.node(K.w),he,me;Z.points?(he=Z.points[0],me=Z.points[Z.points.length-1]):(Z.points=[],he=ce,me=oe),Z.points.unshift(v.intersectRect(oe,he)),Z.points.push(v.intersectRect(ce,me))})}function B($){e.forEach($.edges(),function(K){var Z=$.edge(K);if(e.has(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function X($){e.forEach($.edges(),function(K){var Z=$.edge(K);Z.reversed&&Z.points.reverse()})}function Y($){e.forEach($.nodes(),function(K){if($.children(K).length){var Z=$.node(K),oe=$.node(Z.borderTop),ce=$.node(Z.borderBottom),he=$.node(e.last(Z.borderLeft)),me=$.node(e.last(Z.borderRight));Z.width=Math.abs(me.x-he.x),Z.height=Math.abs(ce.y-oe.y),Z.x=he.x+Z.width/2,Z.y=oe.y+Z.height/2}}),e.forEach($.nodes(),function(K){$.node(K).dummy==="border"&&$.removeNode(K)})}function q($){e.forEach($.edges(),function(K){if(K.v===K.w){var Z=$.node(K.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:K,label:$.edge(K)}),$.removeEdge(K)}})}function V($){var K=v.buildLayerMatrix($);e.forEach(K,function(Z){var oe=0;e.forEach(Z,function(ce,he){var me=$.node(ce);me.order=he+oe,e.forEach(me.selfEdges,function(Me){v.addDummyNode($,"selfedge",{width:Me.label.width,height:Me.label.height,rank:me.rank,order:he+ ++oe,e:Me.e,label:Me.label},"_se")}),delete me.selfEdges})})}function M($){e.forEach($.nodes(),function(K){var Z=$.node(K);if(Z.dummy==="selfedge"){var oe=$.node(Z.e.v),ce=oe.x+oe.width/2,he=oe.y,me=Z.x-ce,Me=oe.height/2;$.setEdge(Z.e,Z.label),$.removeNode(K),Z.label.points=[{x:ce+2*me/3,y:he-Me},{x:ce+5*me/6,y:he-Me},{x:ce+me,y:he},{x:ce+5*me/6,y:he+Me},{x:ce+2*me/3,y:he+Me}],Z.label.x=Z.x,Z.label.y=Z.y}})}function z($,K){return e.mapValues(e.pick($,K),Number)}function ae($){var K={};return e.forEach($,function(Z,oe){K[oe.toLowerCase()]=Z}),K}return Um}var Hm,nb;function SL(){if(nb)return Hm;nb=1;var e=tt(),n=Qt(),i=In().Graph;Hm={debugOrdering:s};function s(o){var u=n.buildLayerMatrix(o),l=new i({compound:!0,multigraph:!0}).setGraph({});return e.forEach(o.nodes(),function(c){l.setNode(c,{label:c}),l.setParent(c,"layer"+o.node(c).rank)}),e.forEach(o.edges(),function(c){l.setEdge(c.v,c.w,{},c.name)}),e.forEach(u,function(c,d){var p="layer"+d;l.setNode(p,{rank:"same"}),e.reduce(c,function(h,m){return l.setEdge(h,m,{style:"invis"}),m})}),l}return Hm}var Vm,rb;function kL(){return rb||(rb=1,Vm="0.8.5"),Vm}var Wm,ib;function bL(){return ib||(ib=1,Wm={graphlib:In(),layout:xL(),debug:SL(),util:{time:Qt().time,notime:Qt().notime},version:kL()}),Wm}var EL=bL();const sb=mg(EL),ob=240,ab=130,NL=110;function CL(e){var i;return((i=e.data)==null?void 0:i.sessionId)??"_default"}function TL(e,n,i,s){const o=new sb.graphlib.Graph;o.setDefaultEdgeLabel(()=>({})),o.setGraph({rankdir:i,marginx:0,marginy:0,nodesep:70,ranksep:160,edgesep:30});const u=new Set(e);for(const _ of e){const N=s.get(_);o.setNode(_,{width:(N==null?void 0:N.width)??ob,height:(N==null?void 0:N.height)??ab})}for(const _ of n)u.has(_.source)&&u.has(_.target)&&o.setEdge(_.source,_.target);sb.layout(o);const l=new Map;let c=1/0,d=1/0,p=-1/0,h=-1/0;for(const _ of e){const N=o.node(_);if(!N)continue;const x=s.get(_),S=(x==null?void 0:x.width)??ob,k=(x==null?void 0:x.height)??ab,E=N.x-S/2,b=N.y-k/2;l.set(_,{x:E,y:b}),E<c&&(c=E),b<d&&(d=b),E+S>p&&(p=E+S),b+k>h&&(h=b+k)}if(Number.isFinite(c)&&Number.isFinite(d))for(const[_,N]of l)l.set(_,{x:N.x-c,y:N.y-d});const m=Number.isFinite(p)?p-c:0,v=Number.isFinite(h)?h-d:0;return{positions:l,width:m,height:v}}function ub(e,n,i={}){const s=i.direction??"LR",o=i.pinned??new Map,u=i.measured??new Map,l=new Map;for(const h of e){const m=CL(h),v=l.get(m);v?v.push(h.id):l.set(m,[h.id])}const c=Array.from(l.keys()).sort(),d=new Map;let p=0;for(const h of c){const m=l.get(h),{positions:v,height:_}=TL(m,n,s,u);for(const[N,x]of v)d.set(N,{x:x.x,y:x.y+p});p+=_+NL}return e.map(h=>{const m=o.get(h.id);if(m)return{...h,position:m};const v=d.get(h.id);return v?{...h,position:v}:h})}const RL=600;function dg(e,n){return!(e.exitAt!=null&&n-e.exitAt>RL||e.kind==="root"&&e.state==="done"&&e.tools.length===0&&e.endedAt!=null&&e.endedAt-e.startedAt<3e3)}function jL(e,n){const i=new Set;for(const s of e.agents.values())dg(s,n)&&i.add(s.id);return i}function Xr(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}function AL(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}const IL={agent:aP,sessionGroup:yP},za=18,ML=9e4,PL=200,qL=5*6e4,ev="agent-dag.layout",tv="agent-dag.viewport",VN="agent-dag.summariesDismissed",WN="agent-dag.sessionListOpen",GN="agent-dag.detailOpen",KN="agent-dag.usagePanelOpen";function OL(){if(typeof window>"u")return!0;try{return window.localStorage.getItem(WN)!=="0"}catch{return!0}}function LL(e){if(!(typeof window>"u"))try{window.localStorage.setItem(WN,e?"1":"0")}catch{}}function $L(){if(typeof window>"u")return!0;try{return window.localStorage.getItem(GN)!=="0"}catch{return!0}}function DL(e){if(!(typeof window>"u"))try{window.localStorage.setItem(GN,e?"1":"0")}catch{}}function FL(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(KN);try{return e===null?!0:e==="1"}catch{return!0}}function zL(e){if(!(typeof window>"u"))try{window.localStorage.setItem(KN,e?"1":"0")}catch{}}function BL(){if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(VN);if(!e)return new Set;const n=JSON.parse(e);return new Set(Array.isArray(n)?n.filter(i=>typeof i=="string"):[])}catch{return new Set}}function lb(e){if(!(typeof window>"u"))try{const n=Array.from(e),i=n.length>200?n.slice(-200):n;window.localStorage.setItem(VN,JSON.stringify(i))}catch{}}function UL(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(ev);if(!e)return[];const n=JSON.parse(e);return Object.entries(n).filter(([,i])=>i&&typeof i.x=="number"&&typeof i.y=="number")}catch{return[]}}function cb(e){if(!(typeof window>"u"))try{const n={};for(const[i,s]of e)n[i]=s;window.localStorage.setItem(ev,JSON.stringify(n))}catch{}}function HL(){if(typeof window>"u")return null;try{const e=window.localStorage.getItem(tv);if(!e)return null;const n=JSON.parse(e);return typeof(n==null?void 0:n.x)!="number"||typeof(n==null?void 0:n.y)!="number"||typeof(n==null?void 0:n.zoom)!="number"?null:n}catch{return null}}function VL(e){if(!(typeof window>"u"))try{window.localStorage.setItem(tv,JSON.stringify(e))}catch{}}function fb(){if(!(typeof window>"u")){try{window.localStorage.removeItem(ev)}catch{}try{window.localStorage.removeItem(tv)}catch{}}}function WL(e,n){const i=e.agents.get(n);if(!i)return;const s=[];for(const h of e.agents.values())h.sessionId===n&&s.push(h);const o={schemaVersion:1,exportedAt:new Date().toISOString(),sessionId:n,label:i.label,cwd:i.cwd,startedAt:i.startedAt,endedAt:i.endedAt,model:i.model,agents:s.map(h=>({id:h.id,kind:h.kind,label:h.label,parentId:h.parentId,state:h.state,startedAt:h.startedAt,endedAt:h.endedAt,model:h.model,cwd:h.cwd,usage:h.usage,prompts:h.prompts,tools:h.tools.map(m=>({id:m.id,name:m.name,inputPreview:m.inputPreview,startedAt:m.startedAt,endedAt:m.endedAt,ok:m.ok,errorPreview:m.errorPreview,usage:m.usage}))}))},u=JSON.stringify(o,null,2),l=new Blob([u],{type:"application/json"}),c=URL.createObjectURL(l),d=document.createElement("a"),p=(i.label||"session").replace(/[^a-z0-9._-]/gi,"_");d.href=c,d.download=`agents-deck-${p}-${n.slice(0,8)}.json`,document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(c),1e3)}const hg={file:"📁",shell:"⚡",web:"🌐",agent:"🤖",task:"📋",plan:"🧭",mcp:"🔌",other:"✨"},pg={file:"file",shell:"shell",web:"web",agent:"agent",task:"task",plan:"plan",mcp:"mcp",other:"other"},GL={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan"};function YN(e){return e.startsWith("mcp__")?"mcp":GL[e]??"other"}function XN(e,n){var s,o,u;if(!n)return!0;const i=n.toLowerCase();if(e.label.toLowerCase().includes(i)||(s=e.cwd)!=null&&s.toLowerCase().includes(i)||(o=e.cwdBasename)!=null&&o.toLowerCase().includes(i)||e.sessionId.toLowerCase().includes(i)||(u=e.firstPrompt)!=null&&u.toLowerCase().includes(i))return!0;for(const l of e.tools)if(l.name.toLowerCase().includes(i))return!0;return!1}function KL(e,n){if(!n)return null;const i=new Set([n]);let s=n;for(;s;){const u=e.agents.get(s);if(!(u!=null&&u.parentId)||i.has(u.parentId))break;i.add(u.parentId),s=u.parentId}let o=!0;for(;o;){o=!1;for(const u of e.agents.values())u.parentId&&i.has(u.parentId)&&!i.has(u.id)&&(i.add(u.id),o=!0)}return i}function YL(e,n,i,s,o,u,l,c,d,p,h,m){const v=[],_=[],N=new Set;if(s)for(const k of e.agents.values())XN(k,s)&&N.add(k.id);for(const k of e.agents.values()){if(!h.has(k.id))continue;const E=s?!N.has(k.id):!1,b=k.exitAt!=null,T=p!=null&&!p.has(k.id),A=[E?"rf-dim":"",b?"rf-exiting":"",T?"rf-spotlit-out":""].filter(Boolean).join(" ")||void 0,I=o.get(k.id);if(v.push({id:k.id,type:"agent",position:{x:0,y:0},data:{...k,now:n,dim:E,onOpenContext:m},className:A,...I?{width:I.width,height:I.height}:null}),k.parentId&&h.has(k.parentId)){const j=Pg(k.sessionId),D=k.state==="active"?`hsl(${j} 80% 72%)`:`hsl(${j} 50% 55%)`,O=s&&!N.has(k.id)&&!N.has(k.parentId),U=b,H=d.size>0&&(d.has(k.id)||d.has(k.parentId)),Q=p!=null&&!p.has(k.id)&&!p.has(k.parentId),ee=k.state==="active"?2:1.5,R=H?ee+1.5:ee,G=O||U?.2:Q?.12:1,B=[U?"rf-edge-exiting":"",H?"rf-edge-selected":""].filter(Boolean).join(" ")||void 0;_.push({id:`e:${k.parentId}->${k.id}`,source:k.parentId,target:k.id,animated:(k.state==="active"||H)&&!O&&!U,type:"smoothstep",style:{stroke:D,strokeWidth:R,opacity:G,transition:"opacity 500ms ease, stroke-width 200ms ease"},className:B})}}if(l!==c.current){const k=ub(v,_,{direction:"LR",pinned:i,measured:o});for(const E of k)u.set(E.id,E.position);c.current=l}else if(v.filter(E=>!i.has(E.id)&&!u.has(E.id)).length>0){const E=ub(v,_,{direction:"LR",pinned:i,measured:o});for(const b of E)u.has(b.id)||u.set(b.id,b.position)}for(const k of Array.from(u.keys()))e.agents.has(k)||u.delete(k);const x=[];let S=!1;for(const k of v){let E=i.get(k.id)??u.get(k.id);E||(E={x:0,y:0},u.set(k.id,E),S=!0),x.push({...k,position:E})}return S&&(c.current=""),{nodes:x,edges:_}}function XL(){return w.jsx(Ig,{children:w.jsx(QL,{})})}function QL(){const e=lo(),n=L.useRef(lg()),[,i]=L.useState(0),s=L.useCallback(()=>i(se=>se+1),[]),[o,u]=L.useState(()=>new Set),[l,c]=L.useState(null),[d,p]=L.useState(null),h=L.useCallback((se,re)=>{u(pe=>{if(!re)return new Set([se]);const ge=new Set(pe);return ge.has(se)?ge.delete(se):ge.add(se),ge}),c(pe=>re&&pe===se?pe:se)},[]),m=L.useCallback(()=>{u(new Set),c(null)},[]),[v,_]=L.useState(null),[N,x]=L.useState(null),S=L.useCallback(se=>x(se),[]),k=L.useRef(BL()),[E,b]=L.useState(OL);L.useEffect(()=>{LL(E)},[E]);const[T,A]=L.useState($L);L.useEffect(()=>{DL(T)},[T]);const[I,j]=L.useState(FL);L.useEffect(()=>{zL(I)},[I]);const[D,O]=L.useState(!1),[U,H]=L.useState(0),[Q,ee]=L.useState(!1),[R,G]=L.useState(!1),B=L.useRef([]),[X,Y]=L.useState(Date.now()),q=L.useRef(new Map(UL())),V=L.useRef(null),M=L.useState(()=>HL())[0],[z,ae]=L.useState(""),[$,K]=L.useState(()=>new Set),[Z,oe]=L.useState(()=>typeof window>"u"?"dark":window.localStorage.getItem("agent-dag.theme")??"dark"),[ce,he]=L.useState(!1),me=L.useRef(null);L.useEffect(()=>{document.documentElement.dataset.theme=Z;try{window.localStorage.setItem("agent-dag.theme",Z)}catch{}},[Z]),L.useEffect(()=>{if(!M)return;const se=window.setTimeout(()=>{try{e.setViewport(M,{duration:0})}catch{}},60);return()=>window.clearTimeout(se)},[e,M]);const Me=L.useRef(!0),Ie=L.useRef(null);L.useEffect(()=>{const se=new EventSource("/events");return se.addEventListener("open",()=>{ee(!0),he(!0)}),se.addEventListener("error",()=>ee(!1)),se.addEventListener("replay-end",()=>{Me.current=!1,Ie.current!=null&&(window.clearTimeout(Ie.current),Ie.current=null),s()}),se.addEventListener("hook",re=>{try{const pe=JSON.parse(re.data);if(R){B.current.push(pe);return}n.current=Tw(n.current,pe),pe.replay===!0||Me.current||Date.now()-pe.receivedAt>3e4?(Ie.current!=null&&window.clearTimeout(Ie.current),Ie.current=window.setTimeout(()=>{Ie.current=null,s()},120)):(Ie.current!=null&&(window.clearTimeout(Ie.current),Ie.current=null),s())}catch{}}),()=>{se.close(),Ie.current!=null&&(window.clearTimeout(Ie.current),Ie.current=null)}},[R,s]),L.useEffect(()=>{if(!R&&B.current.length!==0){for(const se of B.current)n.current=Tw(n.current,se);B.current.length=0,s()}},[R,s]),L.useEffect(()=>{const se=setInterval(()=>{const re=Date.now();Y(re);let pe=XM(n.current,re,ML);YM(n.current,re,PL,qL)&&(pe=!0),pe&&s()},250);return()=>clearInterval(se)},[s]);const Pe=L.useRef(null),Ae=L.useRef(0),Ee=L.useRef(""),Ge=L.useRef(null),we=L.useRef(0),ye=L.useCallback(()=>{we.current=Date.now()},[]),ze="agent-dag.autoFitDisabled",Xe=L.useRef((()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(ze)==="1"}catch{return!1}})()),[ht,ot]=L.useState(Xe.current),Ke=L.useCallback(()=>{if(!Xe.current){Xe.current=!0,ot(!0);try{window.localStorage.setItem(ze,"1")}catch{}}},[]),wt=L.useCallback(()=>{Xe.current=!1,ot(!1);try{window.localStorage.removeItem(ze)}catch{}try{e.fitView({padding:.25,duration:400})}catch{}},[e]);L.useEffect(()=>{const se=setInterval(()=>{if(Xe.current||Date.now()-we.current<800)return;const re=n.current,pe=Date.now(),ge=[];for(const ft of re.agents.values())dg(ft,pe)&&ge.push({id:ft.id});if(ge.length===0)return;const xe=e.getViewport(),ke=window.innerWidth-360,Le=window.innerHeight-52;let _t=!1,on=!1;for(const{id:ft}of ge){const He=pt.current.get(ft),On=q.current.get(ft)??at.current.get(ft);if(!He||!On)continue;on=!0;const li=On.x*xe.zoom+xe.x,ns=On.y*xe.zoom+xe.y,ci=(On.x+He.width)*xe.zoom+xe.x,fi=(On.y+He.height)*xe.zoom+xe.y;if(ci>0&&li<ke&&fi>0&&ns<Le){_t=!0;break}}if(on&&!_t)try{e.fitView({padding:.25,duration:600})}catch{}},1500);return()=>clearInterval(se)},[e]);const pt=L.useRef(new Map),Dt=L.useRef(0),It=L.useCallback(se=>{const re=pt.current;let pe=!1;for(const ge of se.nodeInternals.values()){const xe=ge.width,ke=ge.height;if(xe==null||ke==null)continue;const Le=re.get(ge.id);Le?(Math.abs(Le.height-ke)>4||Math.abs(Le.width-xe)>4)&&(re.set(ge.id,{width:xe,height:ke}),pe=!0):(re.set(ge.id,{width:xe,height:ke}),pe=!0)}return pe&&(Dt.current+=1),Dt.current},[]),ct=We(It),at=L.useRef(new Map),Et=L.useRef(""),Be=L.useMemo(()=>{const se=[];for(const re of n.current.agents.values())dg(re,X)&&se.push(re.id+(re.parentId?`>${re.parentId}`:""));return se.sort(),`${se.join("|")}#sv${ct}`},[n.current,n.current.lastSeq,X,ct]);L.useEffect(()=>{if(Ee.current===Be)return;const se=Ee.current;if(Ee.current=Be,!se||Xe.current)return;const re=Date.now();if(re-Ae.current>1200){try{e.fitView({padding:.25,duration:400})}catch{}Ae.current=re}Pe.current&&window.clearTimeout(Pe.current),Pe.current=window.setTimeout(()=>{if(!Xe.current){try{e.fitView({padding:.25,duration:500})}catch{}Ae.current=Date.now()}},280)},[Be,e]);const mt=L.useMemo(()=>{if(o.size===0)return null;const se=new Set;for(const re of o){const pe=KL(n.current,re);if(pe)for(const ge of pe)se.add(ge)}return se.size>0?se:null},[n.current,n.current.lastSeq,o]),nt=L.useMemo(()=>jL(n.current,X),[n.current,n.current.lastSeq,X]),{nodes:Ue,edges:wn}=L.useMemo(()=>YL(n.current,X,q.current,z,pt.current,at.current,Be,Et,o,mt,nt,S),[n.current,n.current.lastSeq,X,z,Be,o,mt,nt,S,U]),Mt=L.useMemo(()=>{const se=new Map;for(const pe of Ue){const ge=pe.data;if(!(ge!=null&&ge.sessionId)||ge.exitAt!=null)continue;const xe=pe.width,ke=pe.height;if(xe==null||ke==null)continue;const Le=pe.position.x,_t=pe.position.y,on=Le+xe,ft=_t+ke,He=se.get(ge.sessionId);He?(He.minX=Math.min(He.minX,Le),He.minY=Math.min(He.minY,_t),He.maxX=Math.max(He.maxX,on),He.maxY=Math.max(He.maxY,ft)):se.set(ge.sessionId,{minX:Le,minY:_t,maxX:on,maxY:ft})}const re=[];for(const[pe,ge]of se){const xe=ge.maxX-ge.minX+za*2,ke=ge.maxY-ge.minY+za*2;re.push({id:`group:${pe}`,type:"sessionGroup",position:{x:ge.minX-za,y:ge.minY-za},data:{sessionId:pe,w:xe,h:ke},width:xe,height:ke,style:{width:xe,height:ke},zIndex:-1,draggable:!0,selectable:!1,focusable:!1,deletable:!1,connectable:!1})}return re},[Ue,X]),Pt=L.useMemo(()=>[...Mt,...Ue],[Mt,Ue]),_n=L.useMemo(()=>{if(!z)return null;const se=new Set;for(const re of n.current.agents.values())XN(re,z)&&se.add(re.id);return se},[n.current,n.current.lastSeq,z]),qn=L.useMemo(()=>{const se=new Set;for(const re of n.current.agents.values())for(const pe of re.tools)se.add(YN(pe.name));return Object.keys(hg).filter(re=>se.has(re))},[n.current,n.current.lastSeq]),Ft=L.useMemo(()=>{const se=new Map;for(const pe of n.current.agents.values())for(const ge of pe.tools){if(!ge.name.startsWith("mcp__"))continue;const xe=ge.name.slice(5),ke=xe.indexOf("__"),Le=ke>0?xe.slice(0,ke):xe;se.set(Le,(se.get(Le)??0)+1)}const re=[];for(const[pe,ge]of se){let xe=5381;for(let ke=0;ke<pe.length;ke++)xe=(xe<<5)+xe^pe.charCodeAt(ke);re.push({server:pe,count:ge,hue:Math.abs(xe)%360})}return re.sort((pe,ge)=>ge.count-pe.count),re},[n.current,n.current.lastSeq]),sn=L.useCallback(se=>{K(re=>{const pe=new Set(re);return pe.has(se)?pe.delete(se):pe.add(se),pe})},[]),Je=l?n.current.agents.get(l):null,Zt=d?Array.from(n.current.agents.values()).flatMap(se=>se.tools).find(se=>se.id===d)??null:null,ar=L.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}n.current=lg(),q.current.clear(),pt.current.clear(),at.current.clear(),Et.current="",fb(),m(),s()},[s,m]),ur=L.useCallback(()=>{q.current.clear(),at.current.clear(),Et.current="",fb(),s(),window.setTimeout(()=>{try{e.fitView({padding:.25,duration:500})}catch{}Ae.current=Date.now()},80)},[s,e]),Or=L.useCallback(()=>{try{e.fitView({padding:.25,duration:500})}catch{}Ae.current=Date.now()},[e]),lr=L.useCallback(se=>{if(Ue.length===0)return;const re=Ue.slice().sort((ke,Le)=>ke.position.y-Le.position.y||ke.position.x-Le.position.x),pe=l?re.findIndex(ke=>ke.id===l):-1;let ge;pe===-1?ge=se===1?0:re.length-1:ge=(pe+se+re.length)%re.length;const xe=re[ge];xe&&(h(xe.id,!1),window.setTimeout(()=>{try{e.fitView({padding:.35,duration:350,nodes:[xe]})}catch{}Ae.current=Date.now()},30))},[Ue,l,h,e]);L.useEffect(()=>{const se=re=>{var ge,xe;const pe=((ge=re.target)==null?void 0:ge.tagName)==="INPUT";if(re.key==="Escape"){pe?re.target.blur():m();return}if(!pe){if(re.key==="/"){re.preventDefault(),(xe=me.current)==null||xe.focus();return}re.key===" "&&(re.preventDefault(),G(ke=>!ke)),(re.key==="c"||re.key==="C")&&ar(),(re.key==="r"||re.key==="R")&&ur(),(re.key==="f"||re.key==="F")&&Or(),(re.key==="l"||re.key==="L")&&b(ke=>!ke),(re.key==="h"||re.key==="H")&&O(ke=>!ke),(re.key==="u"||re.key==="U")&&j(ke=>!ke),(re.key==="j"||re.key==="J")&&lr(1),(re.key==="k"||re.key==="K")&&lr(-1),(re.key==="t"||re.key==="T")&&oe(ke=>ke==="dark"?"light":"dark")}};return window.addEventListener("keydown",se),()=>window.removeEventListener("keydown",se)},[ar,ur,Or,m,lr]);const Hn=n.current.agents.size,ui=new Set(Array.from(n.current.agents.values()).map(se=>se.sessionId)).size,gt=L.useMemo(()=>{let se=0,re=0,pe=0,ge=0,xe=0,ke=0,Le=0,_t=0,on=0;for(const ft of n.current.agents.values()){se+=ft.usage.inputTokens,re+=ft.usage.outputTokens,pe+=ft.usage.cacheReadTokens,ge+=ft.usage.cacheCreateTokens;const He=Xt(ft.usage,ft.model);xe+=He.total,ke+=He.input,Le+=He.output,_t+=He.cacheRead,on+=He.cacheWrite}return{inT:se,outT:re,cacheR:pe,cacheC:ge,sum:se+re,cost:{total:xe,input:ke,output:Le,cacheRead:_t,cacheWrite:on}}},[n.current,n.current.lastSeq]);return w.jsxs("div",{className:"app",children:[w.jsxs("header",{className:"topbar",children:[w.jsxs("div",{className:"brand",children:[w.jsx("span",{className:"logo"}),"agents-deck ",w.jsxs("span",{className:"v",children:["v","1.23.0"]})]}),Je&&(()=>{const se=Xt(Je.usage,Je.model),re=Math.max(0,((Je.endedAt??X)-Je.startedAt)/1e3),pe=Je.state==="active"?nu(se.total,re):null,ge=o.size-1;return w.jsxs("button",{type:"button",className:"selected-ribbon",title:`Fit view to ${Je.label}`,onClick:()=>{try{const xe=Ue.find(ke=>ke.id===Je.id);xe&&e.fitView({padding:.35,duration:500,nodes:[xe]}),Ae.current=Date.now()}catch{}},children:[w.jsx("span",{className:`state-pill state-${Je.state}`,children:Je.state==="active"?"live":Je.state}),w.jsx("span",{className:"selected-label",children:Je.label}),se.total>0&&w.jsxs("span",{className:"selected-cost",children:[De(se.total),pe?w.jsxs("span",{className:"selected-rate",children:[" · ",pe]}):null]}),ge>0&&w.jsxs("span",{className:"selected-extra",children:["+",ge]}),w.jsx("span",{role:"button","aria-label":"Deselect",className:"selected-close",onClick:xe=>{xe.stopPropagation(),m()},children:"×"})]})})(),w.jsxs("div",{className:"actions",children:[w.jsxs("div",{className:"search",children:[w.jsx("span",{className:"search-icon","aria-hidden":!0,children:"⌕"}),w.jsx("input",{ref:me,type:"text",placeholder:"Search agents, cwd, tools…",value:z,onChange:se=>ae(se.target.value),spellCheck:!1,"aria-label":"Filter the graph"}),z?w.jsx("button",{className:"search-clear","aria-label":"Clear search",onClick:()=>ae(""),children:"×"}):w.jsx("kbd",{className:"search-kbd","aria-hidden":!0,children:"/"})]}),w.jsxs("span",{className:"status",role:"status",children:[w.jsx("span",{className:`pill ${Q?"live":"dead"}`,title:Q?"Receiving events":"SSE disconnected",children:Q?"live":"offline"}),w.jsxs("span",{className:"stat",title:"Distinct CC sessions",children:[w.jsx("span",{className:"count",children:ui}),w.jsx("span",{className:"lbl",children:"sessions"})]}),w.jsxs("span",{className:"stat",title:"Total agents (root + subagents)",children:[w.jsx("span",{className:"count",children:Hn}),w.jsx("span",{className:"lbl",children:"agents"})]}),w.jsxs("span",{className:"stat",title:"Total hook events received",children:[w.jsx("span",{className:"count",children:n.current.totalEvents}),w.jsx("span",{className:"lbl",children:"events"})]}),gt.sum>0&&w.jsxs("span",{className:"stat",title:`in:${gt.inT.toLocaleString()} out:${gt.outT.toLocaleString()} cache-r:${gt.cacheR.toLocaleString()} cache-c:${gt.cacheC.toLocaleString()}`,children:[w.jsx("span",{className:"count",children:AL(gt.sum)}),w.jsx("span",{className:"lbl",children:"tokens"})]}),Ft.length>0&&w.jsxs("span",{className:"stat mcp-legend",title:`MCP servers seen this session:
59
+ burn: ${v}`:"");return w.jsxs("span",{className:"cost-meta",title:_,children:[w.jsx("b",{children:De(h.total)}),v&&w.jsx("span",{className:"cost-rate",children:v})]})})()]}),w.jsx(Xi,{type:"source",position:Ce.Right,style:{background:"transparent",border:"none"}})]})}function uP({state:e}){const n=e==="active"?"live":e==="done"?"done":"err";return w.jsx("span",{className:`state-pill state-${e}`,children:n})}function lP(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function cP({tools:e,now:n}){const u=new Array(24).fill(0);let l=0;for(const v of e){const _=n-v.startedAt;if(_<0||_>=6e4)continue;const N=23-Math.floor(_/2500);N>=0&&N<24&&(u[N]+=1,l+=1)}const c=Math.max(1,...u),d=132,p=14,h=d/24,m=c/(2500/1e3);return w.jsxs("div",{className:"tool-spark-row",title:`${l} tool calls in last 60s · peak ${m.toFixed(1)}/s`,children:[w.jsx("svg",{className:"tool-spark",width:d,height:p,viewBox:`0 0 ${d} ${p}`,"aria-hidden":!0,children:u.map((v,_)=>{const N=v===0?1.5:Math.max(1.5,v/c*p),x=_===23&&v>0,k=`tool-spark-bar${v>0?" active":""}${x?" latest":""}`;return w.jsx("rect",{x:_*h+.4,y:p-N,width:Math.max(.5,h-1),height:N,rx:.8,className:k},_)})}),w.jsx("span",{className:"tool-spark-label",children:"60s"})]})}function co(e){const n=e.match(/^claude[-_](opus|sonnet|haiku|fable|mythos)[-_](\d+(?:[-_.]\d+)*)/i);if(n){const o=n[1][0].toUpperCase()+n[1].slice(1).toLowerCase(),u=n[2].replace(/[-_]/g,".");return`${o} ${u}`}const i=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)[-_]codex\b/i);if(i)return`GPT-${i[1].replace(/[-_]/g,".")} Codex`;const s=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)/i);return s?`GPT-${s[1].replace(/[-_]/g,".")}`:e}function jw(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function fP(e){if(e.endedAt==null)return"in-flight…";const n=e.endedAt-e.startedAt;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(2)}s`}function dP({tool:e,onClose:n}){L.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]);const i=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return w.jsx("div",{className:"modal-backdrop",onClick:n,role:"dialog","aria-modal":"true",children:w.jsxs("div",{className:"modal",onClick:s=>s.stopPropagation(),children:[w.jsxs("header",{className:"modal-head",children:[w.jsxs("div",{className:"modal-title",children:[w.jsx("span",{className:`status-dot ${i}`}),w.jsx("span",{className:"modal-tool-name",children:e.name}),w.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),w.jsxs("div",{className:"modal-actions",children:[w.jsx("span",{className:"modal-dur",children:fP(e)}),w.jsx("button",{className:"btn icon-btn",onClick:n,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),w.jsxs("section",{className:"modal-body",children:[w.jsxs("div",{className:"modal-section",children:[w.jsx("h4",{children:"Input"}),w.jsx("pre",{children:jw(e.input??e.inputPreview)})]}),w.jsxs("div",{className:"modal-section",children:[w.jsxs("h4",{children:["Response ",i==="err"&&w.jsx("span",{className:"err-tag",children:"error"})]}),w.jsx("pre",{children:e.endedAt==null?"(waiting…)":jw(e.response??e.errorPreview)})]})]})]})})}const La=18,Aw=26,hP=12;function pP(e){const n=new Map;for(const o of e.nodeInternals.values()){const u=o.data;if(!(u!=null&&u.sessionId)||u.exitAt!=null||o.width==null||o.height==null)continue;const l=o.position.x,c=o.position.y,d=l+o.width,p=c+o.height,h=n.get(u.sessionId);h?(h.minX=Math.min(h.minX,l),h.minY=Math.min(h.minY,c),h.maxX=Math.max(h.maxX,d),h.maxY=Math.max(h.maxY,p),u.kind==="root"&&(h.label=Iw(u)??h.label)):n.set(u.sessionId,{minX:l,minY:c,maxX:d,maxY:p,label:Iw(u)??u.sessionId})}const i=new Map;for(const o of n.values())i.set(o.label,(i.get(o.label)??0)+1);const s=[];for(const[o,u]of n){const c=(i.get(u.label)??0)>1?`${u.label} · ${mP(o)}`:u.label;s.push({sessionId:o,label:c,x:u.minX-La,y:u.minY-La-Aw,w:u.maxX-u.minX+La*2,h:u.maxY-u.minY+La*2+Aw})}return s}function mP(e){const n=e.match(/[a-zA-Z0-9]{4}/);return n?n[0]:e.slice(0,4)}function Iw(e){if(e.kind==="root")return e.label}function gP(){const{x:e,y:n,zoom:i}=AE(),s=lo(),o=We(pP,vP);if(o.length<=1)return null;const u=l=>{try{const c=s.getNodes().filter(d=>{const p=d.data;return(p==null?void 0:p.sessionId)===l});if(c.length===0)return;s.fitView({padding:.3,duration:500,nodes:c})}catch{}};return w.jsx("div",{className:"session-clusters",children:o.map(l=>{const c=Pg(l.sessionId),d={position:"absolute",left:l.x*i+e,top:l.y*i+n,width:l.w*i,height:l.h*i,borderColor:`hsl(${c} 65% 55% / 0.32)`,background:`hsl(${c} 70% 50% / 0.04)`},p={position:"absolute",left:l.x*i+e+16*i,top:(l.y-hP)*i+n,color:`hsl(${c} 70% 78%)`,borderColor:`hsl(${c} 65% 55% / 0.5)`,transform:`scale(${Math.min(1,i)})`,transformOrigin:"left top"};return w.jsxs(ie.Fragment,{children:[w.jsx("div",{className:"cluster-card",style:d,"aria-hidden":!0}),w.jsx("button",{type:"button",className:"cluster-label",style:p,title:`Fit view to ${l.label} · drag the wrapper to move the whole session`,onClick:()=>u(l.sessionId),children:l.label})]},l.sessionId)})})}function vP(e,n){if(e.length!==n.length)return!1;for(let i=0;i<e.length;i++){const s=e[i],o=n[i];if(s.sessionId!==o.sessionId||s.label!==o.label||s.x!==o.x||s.y!==o.y||s.w!==o.w||s.h!==o.h)return!1}return!0}function yP({data:e}){return w.jsx("div",{className:"session-group-handle",style:{width:(e==null?void 0:e.w)??0,height:(e==null?void 0:e.h)??0}})}const zE=600,wP=36,fg=16,_P=60,xP=6,Mw=220,Pw=96,SP=28,kP={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan",ScheduleWakeup:"other",CronCreate:"other",CronList:"other",CronDelete:"other",Monitor:"other",PushNotification:"other",RemoteTrigger:"other",ToolSearch:"other"};function bP(e){return e.startsWith("mcp__")?"mcp":kP[e]??"other"}const EP={Read:"📖",Write:"💾",Edit:"✏️",MultiEdit:"🔧",Glob:"🗺️",Grep:"🔎",Bash:"⚡",PowerShell:"💻",shell:"⚡",exec_command:"⚡",shell_command:"⚡",write_stdin:"💻",wait:"⏳",apply_patch:"🩹",update_plan:"📋",LS:"📂",Task:"🤖",Agent:"🤖",TodoWrite:"📋",TaskCreate:"📋",TaskUpdate:"📝",TaskList:"🗂️",TaskGet:"🗂️",TaskOutput:"📤",TaskStop:"🛑",WebFetch:"🌐",WebSearch:"🔭",ToolSearch:"🧰",NotebookEdit:"📓",EnterPlanMode:"🧭",ExitPlanMode:"🏁",AskUserQuestion:"❓",ScheduleWakeup:"⏰",CronCreate:"⏰",CronList:"📅",CronDelete:"🗑️",Skill:"🎯",Workflow:"🎬",Monitor:"📡",PushNotification:"🔔",RemoteTrigger:"📡"};function qw(e){return e.startsWith("mcp__")?"🔌":EP[e]??"✨"}const NP={git:"🐙",gh:"🐙",glab:"🐙",npm:"📦",pnpm:"📦",yarn:"📦",bun:"📦",brew:"🍺",node:"🟢",deno:"🟢",python:"🐍",python3:"🐍",py:"🐍",pip:"🐍",pip3:"🐍",uv:"🐍",ruby:"💎",bundle:"💎",gem:"💎",cargo:"🦀",rustc:"🦀",rustup:"🦀",go:"🐹",docker:"🐳","docker-compose":"🐳",podman:"🐳",kubectl:"☸️",helm:"☸️",k9s:"☸️",grep:"🔎",rg:"🔎",ag:"🔎",ack:"🔎",find:"🔍",fd:"🔍",locate:"🔍",which:"🔍",ls:"📂",dir:"📂",tree:"📂",cat:"📄",head:"📄",tail:"📄",less:"📄",more:"📄",bat:"📄",cp:"📋",mv:"✂️",rm:"🗑️",rmdir:"🗑️",mkdir:"📁",touch:"📁",sed:"✏️",awk:"✏️",tr:"✏️",curl:"🌐",wget:"🌐",http:"🌐",httpie:"🌐",ssh:"🔐",scp:"🔐",rsync:"🔐",ping:"📡",make:"🔨",cmake:"🔨",ninja:"🔨",bazel:"🔨",just:"🔨",terraform:"🏗️",ansible:"📕",pulumi:"🏗️",ps:"📊",top:"📊",htop:"📊",btm:"📊",kill:"💀",pkill:"💀",systemctl:"⚙️",service:"⚙️",tar:"🗜️",zip:"🗜️",unzip:"🗜️",gzip:"🗜️","7z":"🗜️",vim:"📝",nvim:"📝",nano:"📝",emacs:"📝",code:"📝",jq:"🪺",yq:"🪺",echo:"💬",printf:"💬",ffmpeg:"🎞️",ffprobe:"🎞️",imagemagick:"🖼️",convert:"🖼️","Get-ChildItem":"📂","Get-Content":"📄","Set-Content":"💾","Out-File":"💾","Add-Content":"💾","Set-Location":"📍","Get-Location":"📍","Get-Process":"📊","Start-Process":"▶️","Stop-Process":"💀","Invoke-WebRequest":"🌐","Invoke-RestMethod":"🌐","New-Item":"📁","Remove-Item":"🗑️","Copy-Item":"📋","Move-Item":"✂️","Test-Path":"🔍","Where-Object":"🔎","ForEach-Object":"🔁","Select-Object":"🎯","Measure-Object":"📊","Get-Service":"⚙️","Restart-Service":"⚙️","ConvertTo-Json":"🪺","ConvertFrom-Json":"🪺"};function BE(e){if(!e)return null;let n=e.trim();if(!n)return null;const i=n.match(/^(?:bash|sh|zsh|fish|powershell|pwsh)(?:\.exe)?\s+(?:-c|-Command|-NoProfile|-NonInteractive|\s)+["']([^"']+)["']/i);if(i)return BE(i[1]);for(;;){const u=n.match(/^([A-Z_][A-Z0-9_]*=\S*)\s+/);if(!u)break;n=n.slice(u[0].length)}n=n.replace(/^sudo(?:\s+-\S+)*\s+/,""),n=n.replace(/^(?:time|nohup|xargs)\s+/,"");const s=n.match(/^([^\s|;&<>(]+)/);if(!s)return null;let o=s[1];return o=o.replace(/^.*[/\\]/,""),o=o.replace(/\.(exe|cmd|bat|ps1)$/i,""),o||null}function CP(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return null;const n=e;if(typeof n.cmd=="string")return n.cmd;if(typeof n.command=="string")return n.command;if(Array.isArray(n.command)&&n.command.every(i=>typeof i=="string")){const i=n.command;if(/powershell|cmd|bash|sh(\.exe)?$/i.test(i[0]??"")){const s=i.findIndex(o=>/^(-Command|-c)$/i.test(o));if(s>=0&&s+1<i.length)return i[s+1]}return i.join(" ")}return typeof n.script=="string"?n.script:null}const TP=new Set(["Bash","PowerShell","shell","exec_command","shell_command","write_stdin","wait"]),RP=new Set(["shell","exec_command","shell_command","write_stdin","wait","apply_patch","update_plan"]);function jP(e,n){return RP.has(e)?Math.max(Pw,34+n.length*7.5):Pw}function AP(e,n){if(!TP.has(e))return null;const i=CP(n);if(!i)return null;const s=BE(i);return s?{emoji:NP[s]??"⚙️",label:s,category:"shell",detail:i}:null}const IP=new Set(["Read","Write","Edit","MultiEdit","NotebookEdit","LS","Glob","apply_patch"]),Ow={ts:"🟦",tsx:"🟦",d:"🟦",js:"🟨",jsx:"🟨",mjs:"🟨",cjs:"🟨",py:"🐍",pyi:"🐍",ipynb:"📓",rs:"🦀",go:"🐹",rb:"💎",erb:"💎",java:"☕",kt:"☕",scala:"☕",gradle:"☕",cs:"🔷",fs:"🔷",php:"🐘",swift:"🦅",c:"🇨",cpp:"🇨",cc:"🇨",h:"🇨",hpp:"🇨",md:"📝",mdx:"📝",rst:"📝",json:"🪺",json5:"🪺",jsonl:"🪺",yaml:"⚙️",yml:"⚙️",toml:"⚙️",ini:"⚙️",conf:"⚙️",cfg:"⚙️",xml:"📰",html:"🌐",htm:"🌐",vue:"🌐",svelte:"🌐",css:"🎨",scss:"🎨",sass:"🎨",less:"🎨",sh:"⚡",bash:"⚡",zsh:"⚡",fish:"⚡",ps1:"⚡",txt:"📄",log:"📄",out:"📄",csv:"📊",tsv:"📊",xlsx:"📊",xls:"📊",pdf:"📕",png:"🖼️",jpg:"🖼️",jpeg:"🖼️",gif:"🖼️",webp:"🖼️",svg:"🖼️",ico:"🖼️",mp4:"🎬",mov:"🎬",avi:"🎬",mkv:"🎬",webm:"🎬",mp3:"🎵",wav:"🎵",ogg:"🎵",flac:"🎵",zip:"🗜️",tar:"🗜️",gz:"🗜️",bz2:"🗜️","7z":"🗜️",xz:"🗜️",rar:"🗜️",env:"🔐",lock:"🔐",pem:"🔐",key:"🔐",crt:"🔐",sql:"🗄️",db:"🗄️",sqlite:"🗄️",parquet:"🗄️"},Lw={dockerfile:"🐳",makefile:"🔨",rakefile:"💎","package.json":"📦","pnpm-lock.yaml":"📦","yarn.lock":"📦","cargo.toml":"🦀","cargo.lock":"🦀","go.mod":"🐹","go.sum":"🐹","pyproject.toml":"🐍","requirements.txt":"🐍","readme.md":"📖",readme:"📖",license:"📜",".gitignore":"🐙",".gitattributes":"🐙",".env":"🔐",".dockerignore":"🐳"};function MP(e){const i=e.replace(/\\/g,"/").replace(/\/+$/,""),s=i.lastIndexOf("/");return s>=0?i.slice(s+1):i}function PP(e){const n=e.toLowerCase();if(Lw[n])return Lw[n];if(n.startsWith("dockerfile."))return"🐳";if(/\.(test|spec)\.[a-z]+$/.test(n))return"🧪";const i=n.lastIndexOf(".");if(i>0&&i<n.length-1){const s=n.slice(i+1);if(Ow[s])return Ow[s]}return"📄"}function qP(e,n){if(!n||typeof n!="object")return null;const i=n;if(e==="apply_patch"&&typeof i.patch=="string"){const s=i.patch.match(/^\*\*\* (?:Update|Add|Delete) File: (.+)$/m);return s?s[1].trim():null}return typeof i.file_path=="string"?i.file_path:typeof i.notebook_path=="string"?i.notebook_path:typeof i.path=="string"?i.path:e==="Glob"&&typeof i.pattern=="string"?i.pattern:null}function OP(e,n){if(!IP.has(e))return null;const i=qP(e,n);if(!i)return null;const s=MP(i);return s?{emoji:e==="LS"?"📂":PP(s),label:s,category:"file",detail:i}:null}const UE={github:{emoji:"🐙",name:"GitHub"},git:{emoji:"🐙",name:"Git"},gitlab:{emoji:"🦊",name:"GitLab"},slack:{emoji:"💬",name:"Slack"},discord:{emoji:"💬",name:"Discord"},linear:{emoji:"📐",name:"Linear"},jira:{emoji:"🅹",name:"Jira"},atlassian:{emoji:"🅰️",name:"Atlassian"},notion:{emoji:"📓",name:"Notion"},asana:{emoji:"📋",name:"Asana"},intercom:{emoji:"💬",name:"Intercom"},figma:{emoji:"🎨",name:"Figma"},gmail:{emoji:"📧",name:"Gmail"},calendar:{emoji:"📅",name:"Calendar"},drive:{emoji:"☁️",name:"Drive"},zoom:{emoji:"📹",name:"Zoom"},spotify:{emoji:"🎵",name:"Spotify"},youtube:{emoji:"📺",name:"YouTube"},ccd_session:{emoji:"📡",name:"Session"},ccd_directory:{emoji:"📂",name:"Directory"},ccd_session_mgmt:{emoji:"📡",name:"Sessions"},mcp_registry:{emoji:"🧰",name:"Registry"},"computer-use":{emoji:"🖱️",name:"Computer"},"claude-in-chrome":{emoji:"🌐",name:"Chrome"},"claude-preview":{emoji:"👀",name:"Preview"},"scheduled-tasks":{emoji:"⏰",name:"Scheduler"},visualize:{emoji:"🎨",name:"Visualize"},"plugin-design-asana":{emoji:"📋",name:"Asana"},"plugin-design-atlassian":{emoji:"🅰️",name:"Atlassian"},"plugin-design-figma":{emoji:"🎨",name:"Figma"},"plugin-design-intercom":{emoji:"💬",name:"Intercom"},"plugin-design-linear":{emoji:"📐",name:"Linear"},"plugin-design-notion":{emoji:"📓",name:"Notion"},"plugin-design-slack":{emoji:"💬",name:"Slack"}};function HE(e){if(!e.startsWith("mcp__"))return null;const n=e.slice(5),i=n.indexOf("__");return i<=0?{server:n,method:""}:{server:n.slice(0,i),method:n.slice(i+2)}}function LP(e){let n=5381;for(let i=0;i<e.length;i++)n=(n<<5)+n^e.charCodeAt(i);return Math.abs(n)%360}function $P(e,n){const i=HE(e);if(!i)return null;const{server:s,method:o}=i;if(!o)return null;const u=UE[s.toLowerCase()];return{emoji:(u==null?void 0:u.emoji)??"🔌",label:o,category:"mcp",detail:u?`${u.name} · ${o}`:`${s} · ${o}`}}function DP(e,n){return AP(e,n)??OP(e,n)??$P(e)}const FP={shell:"Shell",exec_command:"Shell",shell_command:"Shell",write_stdin:"stdin",wait:"wait",apply_patch:"Edit",update_plan:"Plan"};function zP(e){const n=HE(e);if(n){const s=UE[n.server.toLowerCase()];return s?{emoji:s.emoji,label:s.name}:{emoji:"🔌",label:n.server,hue:LP(n.server)}}const i=FP[e];return i?{emoji:qw(e),label:i}:{emoji:qw(e),label:e}}function BP(e){return e.endedAt==null?"inflight":e.ok===!1?"err":"done"}function UP(e,n,i){if(i==null)return 1;const s=n-i;return s<0?1:Math.max(0,1-s/zE)}function HP(e,n,i,s,o,u){const l=[];for(const c of e.values()){if(!n.has(c.id)||c.exitAt!=null&&u-c.exitAt>zE)continue;const d=s.get(c.id)??i.get(c.id);if(!d)continue;const p=c.tools.slice(-4);if(p.length===0)continue;const h=c.exitAt??null,m=o.get(c.id),v=Math.max((m==null?void 0:m.width)??Mw,Mw),_=(m==null?void 0:m.height)??130,N=d.x,x=d.y,S=N+v,k=x+_/2;p.forEach((E,b)=>{const T=b*wP,A=N+v+_P,I=x+xP+T,j=UP(E,u,h),D=E.inputPreview??"",O=BP(E),U=j<.999,H=zP(E.name);l.push({id:E.id,toolId:E.id,agentId:c.id,toolName:E.name,name:H.label,emoji:H.emoji,status:O,category:bP(E.name),mcpHue:H.hue,inputPreview:D,fade:j,fading:U,worldX:A,worldY:I,anchorX:S,anchorY:k,spawnDx:S-A,spawnDy:k-(I+fg)});const Q=DP(E.name,E.input);if(Q){const ee=jP(E.name,H.label),R=A+ee+SP,G=I,B=A+ee,X=I+fg;l.push({id:`sub:${E.id}`,toolId:E.id,agentId:c.id,toolName:E.name,name:Q.label,emoji:Q.emoji,isSub:!0,status:O,category:Q.category,inputPreview:Q.detail??D,fade:j,fading:U,worldX:R,worldY:G,anchorX:B,anchorY:X,spawnDx:B-R,spawnDy:0})}})}return l}function VP({agents:e,visibleAgentIds:n,positions:i,pinned:s,measured:o,dimUnmatched:u,spotlight:l,hiddenCategories:c,now:d,onOpenTool:p}){const{x:h,y:m,zoom:v}=AE(),_=HP(e,n,i,s,o,d),N=c&&c.size>0?_.filter(x=>!c.has(x.category)):_;return w.jsxs("div",{className:"tool-bursts-layer","aria-hidden":!0,children:[w.jsx("svg",{className:"tool-bursts-svg",children:N.map(x=>{const S=x.anchorX*v+h,k=x.anchorY*v+m,E=(x.worldX+6)*v+h,b=(x.worldY+fg)*v+m,T=S+(E-S)*.55,A=u!=null&&!u.has(x.agentId),I=l!=null&&!l.has(x.agentId),j=x.fade*(A||I?.14:1);return w.jsx("path",{d:`M ${S} ${k} Q ${T} ${k}, ${E} ${b}`,className:`tool-conn status-${x.status}${x.fading?" fading":""}`,opacity:j},`l:${x.id}`)})}),N.map(x=>{const S=x.worldX*v+h,k=x.worldY*v+m,E={left:`${S}px`,top:`${k}px`,transform:`scale(${v})`,transformOrigin:"left top","--spawn-dx":`${x.spawnDx}px`,"--spawn-dy":`${x.spawnDy}px`},b=x.isSub?`${x.toolName} · ${x.name}`:x.toolName,T=x.inputPreview?`${b} · ${x.inputPreview}`:b,A=p!=null,I=x.mcpHue!=null?{"--cat-accent":`hsl(${x.mcpHue} 65% 65%)`}:{},j=u!=null&&!u.has(x.agentId),D=l!=null&&!l.has(x.agentId),O=j||D?" dim":"";return w.jsx("div",{className:"tool-burst-wrap",style:E,children:w.jsxs("div",{className:`tool-burst cat-${x.category} status-${x.status}${x.fading?" fading":""}${A?" clickable":""}${x.isSub?" sub":""}${O}`,style:I,title:T,role:A?"button":void 0,tabIndex:A?0:void 0,"aria-label":A?`Open ${x.toolName} ${x.status==="inflight"?"in flight":x.status} — click for details`:void 0,onClick:A?()=>p(x.toolId):void 0,onKeyDown:A?U=>{(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),p(x.toolId))}:void 0,children:[w.jsx("span",{className:"tb-emoji",children:x.emoji}),w.jsx("span",{className:"tb-name",children:x.name}),x.status==="inflight"&&w.jsx("span",{className:"tb-spin"}),x.status==="done"&&w.jsx("span",{className:"tb-mark done",children:"✓"}),x.status==="err"&&w.jsx("span",{className:"tb-mark err",children:"×"})]})},x.id)})]})}function WP({state:e,sessionId:n,onClose:i}){const s=L.useMemo(()=>KP(e,n),[e,n]);return s?w.jsx("div",{className:"modal-backdrop",onClick:i,role:"presentation",children:w.jsxs("div",{className:"modal session-summary",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"ss-title",children:[w.jsxs("div",{className:"modal-head",children:[w.jsxs("div",{className:"modal-title",children:[w.jsx("span",{className:"state-pill state-done","aria-hidden":!0,children:"done"}),w.jsx("span",{id:"ss-title",className:"modal-tool-name",title:s.cwd??s.sessionId,children:s.label}),w.jsxs("span",{className:"modal-tool-id",children:["· ",s.sessionId.slice(0,8)]})]}),w.jsxs("div",{className:"modal-actions",children:[w.jsx("span",{className:"modal-dur",title:"Total wall time",children:s.durationLabel}),w.jsx("button",{className:"btn",onClick:i,"aria-label":"Close",children:"×"})]})]}),w.jsxs("div",{className:"modal-body",children:[w.jsxs("section",{className:"ss-hero",children:[w.jsxs("div",{className:"ss-hero-left",children:[w.jsx("div",{className:"ss-cost-label",children:"total spend"}),w.jsx("div",{className:"ss-cost",children:De(s.cost.total)}),s.modelChips.length>0&&w.jsx("div",{className:"ss-models",children:s.modelChips.map(o=>w.jsx("span",{className:"model-chip",title:o,children:co(o)},o))})]}),w.jsx("div",{className:"ss-hero-right",children:s.cost.total>0&&w.jsxs(w.Fragment,{children:[w.jsx(GP,{cost:s.cost}),w.jsxs("div",{className:"ss-cost-legend",children:[w.jsxs("span",{className:"ssl ssl-in",children:["input ",w.jsx("b",{children:De(s.cost.input)})]}),w.jsxs("span",{className:"ssl ssl-out",children:["output ",w.jsx("b",{children:De(s.cost.output)})]}),w.jsxs("span",{className:"ssl ssl-cr",children:["cache r ",w.jsx("b",{children:De(s.cost.cacheRead)})]}),w.jsxs("span",{className:"ssl ssl-cw",children:["cache w ",w.jsx("b",{children:De(s.cost.cacheWrite)})]})]})]})})]}),w.jsxs("section",{className:"ss-stats",children:[w.jsx(Fi,{label:"agents",value:s.agentCount}),w.jsx(Fi,{label:"subagents",value:s.subagentCount}),w.jsx(Fi,{label:"tool calls",value:s.toolCount}),w.jsx(Fi,{label:"prompts",value:s.promptCount}),w.jsx(Fi,{label:"tokens",value:s.tokensSum.toLocaleString()}),s.errCount>0&&w.jsx(Fi,{label:"errors",value:s.errCount,tone:"err"})]}),s.topTools.length>0&&w.jsxs("section",{className:"modal-section",children:[w.jsx("h4",{children:"Most-used tools"}),w.jsx("div",{className:"ss-top-tools",children:s.topTools.map(([o,u])=>w.jsxs("div",{className:"ss-tt",children:[w.jsx("span",{className:"ss-tt-name",children:o}),w.jsx("span",{className:"ss-tt-bar",children:w.jsx("span",{className:"ss-tt-bar-fill",style:{width:`${u/s.topTools[0][1]*100}%`}})}),w.jsx("span",{className:"ss-tt-count",children:u})]},o))})]}),s.firstPrompt&&w.jsxs("section",{className:"modal-section",children:[w.jsx("h4",{children:"Opening prompt"}),w.jsx("div",{className:"ss-prompt",children:s.firstPrompt})]})]})]})}):null}function Fi({label:e,value:n,tone:i}){return w.jsxs("div",{className:`ss-stat${i?` tone-${i}`:""}`,children:[w.jsx("div",{className:"ss-stat-value",children:n}),w.jsx("div",{className:"ss-stat-label",children:e})]})}function GP({cost:e}){const n=e.total;if(n<=0)return null;const i=(s,o,u)=>{if(s<=0)return null;const l=s/n*100;return w.jsx("span",{className:`cb-seg ${o}`,style:{width:`${l}%`},title:`${u}: ${De(s)} (${l.toFixed(0)}%)`},o)};return w.jsxs("div",{className:"cost-bar cost-bar-lg","aria-label":"Cost breakdown",children:[i(e.input,"cb-input","input"),i(e.output,"cb-output","output"),i(e.cacheRead,"cb-cache-r","cache read"),i(e.cacheWrite,"cb-cache-w","cache write")]})}function KP(e,n){const i=e.agents.get(n);if(!i)return null;const s=[];for(const b of e.agents.values())b.sessionId===n&&s.push(b);if(s.length===0)return null;const o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},u=new Set,l=new Map;let c=0,d=0,p=0,h=0,m=0,v,_=1/0,N=0;for(const b of s){const T=Xt(b.usage,b.model);o.input+=T.input,o.output+=T.output,o.cacheRead+=T.cacheRead,o.cacheWrite+=T.cacheWrite,o.total+=T.total,b.model&&u.add(b.model),b.kind==="subagent"&&m++,d+=b.prompts.length,!v&&b.prompts.length>0&&(v=b.prompts[0].text),p+=b.usage.inputTokens+b.usage.outputTokens,c+=b.tools.length,_=Math.min(_,b.startedAt),N=Math.max(N,b.endedAt??Date.now());for(const A of b.tools)l.set(A.name,(l.get(A.name)??0)+1),A.ok===!1&&h++}const x=Math.max(0,N-_),S=Math.floor(x/1e3),k=S<60?`${S}s`:S<3600?`${Math.floor(S/60)}m ${String(S%60).padStart(2,"0")}s`:`${Math.floor(S/3600)}h ${Math.floor(S%3600/60)}m`,E=Array.from(l.entries()).sort((b,T)=>T[1]-b[1]).slice(0,5);return{sessionId:n,label:i.label||i.cwdBasename||"session",cwd:i.cwd,durationLabel:k,cost:o,modelChips:Array.from(u),agentCount:s.length,subagentCount:m,toolCount:c,promptCount:d,tokensSum:p,errCount:h,topTools:E,firstPrompt:v}}function YP(e,n){const i=[];for(const s of e.agents.values()){if(s.kind!=="root")continue;let o=s.tools.length,u=Xt(s.usage,s.model).total,l=s.endedAt??s.startedAt;for(const c of e.agents.values()){if(c.sessionId!==s.sessionId||c.kind==="root")continue;o+=c.tools.length,u+=Xt(c.usage,c.model).total;const d=c.endedAt??c.startedAt;d>l&&(l=d)}i.push({sessionId:s.sessionId,label:s.label||s.cwdBasename||"session",cwdBasename:s.cwdBasename,state:s.state,modelId:s.model,toolCount:o,cost:u,startedAt:s.startedAt,lastActivity:l})}return i.sort((s,o)=>{if(s.state!==o.state){if(s.state==="active")return-1;if(o.state==="active")return 1}return o.lastActivity-s.lastActivity}),i}function XP(e,n,i){const s=(n??i)-e;if(s<1e3)return"<1s";const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const u=Math.floor(o/60);return u<60?`${u}m`:`${Math.floor(u/60)}h ${u%60}m`}function QP({state:e,now:n,selectedIds:i,onSelect:s,onClose:o}){const u=L.useMemo(()=>YP(e),[e,e.lastSeq,n]),l=u.filter(c=>c.state==="active").length;return w.jsxs("aside",{className:"session-list","aria-label":"Sessions",children:[w.jsxs("div",{className:"sl-header",children:[w.jsxs("h3",{children:["Sessions ",w.jsx("span",{className:"sl-count",children:u.length})]}),l>0&&w.jsxs("span",{className:"sl-live-count",children:[l," live"]}),w.jsx("button",{className:"btn icon-btn sl-close",onClick:o,title:"Hide sidebar (L)","aria-label":"Hide session list",children:"‹"})]}),w.jsxs("div",{className:"sl-rows",children:[u.length===0&&w.jsx("div",{className:"sl-empty",children:"No sessions yet."}),u.map(c=>{const d=i.has(c.sessionId);return w.jsxs("button",{type:"button",className:`sl-row state-${c.state}${d?" selected":""}`,onClick:()=>s(c.sessionId),title:`Focus ${c.label}`,children:[w.jsx("span",{className:`sl-dot state-${c.state}`,"aria-hidden":!0}),w.jsxs("div",{className:"sl-row-body",children:[w.jsxs("div",{className:"sl-row-head",children:[w.jsx("span",{className:"sl-label",children:c.label}),c.modelId&&w.jsx("span",{className:"model-chip",title:c.modelId,children:co(c.modelId)})]}),w.jsxs("div",{className:"sl-row-meta",children:[w.jsxs("span",{title:"tool calls",children:[w.jsx("b",{children:c.toolCount})," tools"]}),c.cost>0&&w.jsx("span",{className:"sl-cost",title:"total spend",children:w.jsx("b",{children:De(c.cost)})}),w.jsx("span",{className:"sl-elapsed",title:`Started ${new Date(c.startedAt).toLocaleString()}`,children:XP(c.startedAt,c.state==="active"?void 0:c.lastActivity,n)})]})]})]},c.sessionId)})]})]})}function er(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function ZP({cost:e}){const n=e.total;if(n<=0)return null;const i=(s,o,u)=>{if(s<=0)return null;const l=s/n*100;return w.jsx("span",{className:`cb-seg ${o}`,style:{width:`${l}%`},title:`${u}: ${De(s)} (${l.toFixed(0)}%)`},o)};return w.jsxs("div",{className:"cost-bar","aria-label":"Cost breakdown",children:[i(e.input,"cb-input","input"),i(e.output,"cb-output","output"),i(e.cacheRead,"cb-cache-r","cache read"),i(e.cacheWrite,"cb-cache-w","cache write")]})}function JP(e,n){const i=e-n;if(i<=0)return null;const s=Math.floor(i/3600),o=Math.floor(i%3600/60);if(s>23){const u=Math.floor(i/86400),l=Math.floor(i%86400/3600);return`${u}d ${l}h`}return s>0?`${s}h ${o}m`:`${o}m`}function e3(e,n,i,s){const o=Math.max(0,n-s),u=Math.max(0,i-o);if(u<120)return null;const l=Math.min(100,u/i*100),c=e-l;if(Math.abs(c)<3)return{label:"on pace",color:"var(--ok)",expectedPct:l,isDeficit:!1};if(c>0){const d=100-e,p=u>0?e/u:0,h=p>0?d/p:1/0,m={label:`${Math.round(c)}% ahead`,color:"var(--warn)",expectedPct:l,isDeficit:!0};if(h<o&&h<86400){const v=Math.floor(h/3600),_=Math.floor(h%3600/60);m.runsOutIn=v>0?`${v}h ${_}m`:`${_}m`}return m}return{label:`${Math.round(-c)}% reserve`,color:"var(--ok)",expectedPct:l,isDeficit:!1}}function zi({pct:e,label:n,reset:i,resetAt:s,windowSec:o,limitReached:u,nowSec:l}){const c=Math.min(100,Math.max(0,e)),p=u||c>=90?"var(--err)":c>=70?"var(--warn)":"var(--accent)",h=c===0?"< 1%":`${c}%`,m=c===0?2:c,v=s?JP(s,l):null,_=s&&o?e3(c,s,o,l):null;return w.jsxs("div",{className:"qb-row",children:[w.jsxs("div",{className:"qb-meta",children:[w.jsxs("span",{className:"qb-label",children:[n,u&&w.jsx("span",{className:"qb-limit-badge",title:"Rate limit reached",children:"⛔"})]}),w.jsx("span",{className:"qb-pct",style:{color:p},children:h})]}),w.jsxs("div",{className:"qb-track",children:[w.jsx("div",{className:"qb-fill",style:{width:`${m}%`,background:p,opacity:c===0?.4:1}}),_&&w.jsx("div",{className:"qb-pace-marker",style:{left:`${_.expectedPct}%`,background:_.isDeficit?"var(--err)":"var(--ok)"},title:`To last until reset, stay near ${Math.round(_.expectedPct)}% by now`})]}),w.jsxs("div",{className:"qb-reset-row",children:[v?w.jsxs("span",{className:"qb-reset",children:["resets in ",v]}):i?w.jsxs("span",{className:"qb-reset",children:["resets ",i]}):null,_&&w.jsx("span",{className:"qb-pace",style:{color:_.color},children:_.runsOutIn?`runs out in ${_.runsOutIn}`:_.label})]})]})}const t3=6e4;function n3(){const[e,n]=L.useState(null),[i,s]=L.useState(!1),o=L.useRef(null),u=async(c=!1)=>{c&&s(!0);try{const p=await fetch(c?"/api/quota?refresh=1":"/api/quota");p.ok&&n(await p.json())}catch{}finally{c&&s(!1)}};return L.useEffect(()=>(u(!0),o.current=window.setInterval(()=>u(!1),t3),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{quota:e,loading:i,refresh:()=>u(!0)}}const VE=6e4;function r3(){const[e,n]=L.useState(null),[i,s]=L.useState(!1),o=L.useRef(null),u=async(c=!1)=>{c&&s(!0);try{const p=await fetch(c?"/api/codex-quota?refresh=1":"/api/codex-quota");p.ok&&n(await p.json())}catch{}finally{c&&s(!1)}};return L.useEffect(()=>(u(!0),o.current=window.setInterval(()=>u(!1),VE),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{data:e,loading:i,refresh:()=>u(!0)}}function i3(){const[e,n]=L.useState(null),i=L.useRef(null),s=async()=>{try{const o=await fetch("/api/codex-usage");o.ok&&n(await o.json())}catch{}};return L.useEffect(()=>(s(),i.current=window.setInterval(s,VE),()=>{i.current!=null&&window.clearInterval(i.current)}),[]),{data:e}}function s3({state:e,now:n,onClose:i}){const{quota:s,loading:o,refresh:u}=n3(),{data:l,loading:c,refresh:d}=r3(),{data:p}=i3(),[h,m]=L.useState(()=>Math.floor(Date.now()/1e3));L.useEffect(()=>{const j=window.setInterval(()=>m(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(j)},[]);const{byModel:v,totalCost:_,totalTokens:N,burnRate:x}=L.useMemo(()=>{const j=new Map,D={total:0,input:0,output:0,cacheRead:0,cacheWrite:0};let O=0,U=0,H=0,Q=0;for(const X of e.agents.values()){const Y=X.model??"__unknown__",q=Xt(X.usage,X.model),V=j.get(Y);V?(V.inputTokens+=X.usage.inputTokens,V.outputTokens+=X.usage.outputTokens,V.cacheReadTokens+=X.usage.cacheReadTokens,V.cacheCreateTokens+=X.usage.cacheCreateTokens,V.cost.total+=q.total,V.cost.input+=q.input,V.cost.output+=q.output,V.cost.cacheRead+=q.cacheRead,V.cost.cacheWrite+=q.cacheWrite,V.agentCount++):j.set(Y,{model:Y,inputTokens:X.usage.inputTokens,outputTokens:X.usage.outputTokens,cacheReadTokens:X.usage.cacheReadTokens,cacheCreateTokens:X.usage.cacheCreateTokens,cost:{...q},agentCount:1}),D.total+=q.total,D.input+=q.input,D.output+=q.output,D.cacheRead+=q.cacheRead,D.cacheWrite+=q.cacheWrite,O+=X.usage.inputTokens,U+=X.usage.outputTokens,H+=X.usage.cacheReadTokens,Q+=X.usage.cacheCreateTokens}const ee=Array.from(j.values()).sort((X,Y)=>Y.cost.total-X.cost.total);let R=0,G=0;for(const X of e.agents.values()){if(X.state!=="active")continue;const Y=Xt(X.usage,X.model);R+=Y.total,G=Math.max(G,((X.endedAt??n)-X.startedAt)/1e3)}const B=G>0?nu(R,G):null;return{byModel:ee,totalCost:D,totalTokens:{in:O,out:U,cacheR:H,cacheC:Q},burnRate:B}},[e,e.lastSeq,n]),S=L.useMemo(()=>{const j=[];for(const D of e.agents.values()){if(D.kind!=="root")continue;let O=Xt(D.usage,D.model).total,U=D.usage.inputTokens,H=D.usage.outputTokens;for(const Q of e.agents.values())Q.sessionId!==D.sessionId||Q.kind==="root"||(O+=Xt(Q.usage,Q.model).total,U+=Q.usage.inputTokens,H+=Q.usage.outputTokens);j.push({sessionId:D.sessionId,label:D.label||D.cwdBasename||"session",state:D.state,cost:O,inputTokens:U,outputTokens:H})}return j.sort((D,O)=>O.cost-D.cost).slice(0,12)},[e,e.lastSeq]),k=_.total>0,E=N.in+N.out,b=o||c,T=Math.max((s==null?void 0:s.fetchedAt)??0,(l==null?void 0:l.fetchedAt)??0),A=T>0?(()=>{const j=h-Math.floor(T/1e3);return j<10?"just now":j<60?`${j}s ago`:j<3600?`${Math.floor(j/60)}m ago`:`${Math.floor(j/3600)}h ago`})():null,I=()=>{u(),d()};return w.jsxs("div",{className:"usage-panel","aria-label":"Usage",children:[w.jsxs("div",{className:"up-header",children:[w.jsx("h3",{children:"Usage"}),x&&w.jsx("span",{className:"up-rate",children:x}),w.jsxs("div",{className:"up-header-right",children:[A&&!b&&w.jsx("span",{className:"up-last-updated",children:A}),w.jsx("button",{type:"button",className:"btn up-refresh-btn",onClick:I,disabled:b,title:"Refresh Claude + Codex quota",children:b?"…":"↻"}),w.jsx("button",{type:"button",className:"btn icon-btn up-close",onClick:i,"aria-label":"Close usage panel",title:"Close (U)",children:"×"})]})]}),w.jsxs("section",{className:"up-section up-quota-section",children:[w.jsx("h4",{className:"up-section-title",children:"Claude quota"}),s!=null&&s.ok?w.jsxs("div",{className:"up-quota-bars",children:[s.session5hPct!=null&&w.jsx(zi,{label:"5-hour window",pct:s.session5hPct,reset:s.session5hReset,resetAt:s.session5hResetAt,windowSec:s.session5hWindowSec,nowSec:h}),s.week7dPct!=null&&w.jsx(zi,{label:"7-day window",pct:s.week7dPct,reset:s.week7dReset,resetAt:s.week7dResetAt,windowSec:s.week7dWindowSec,nowSec:h}),s.weekSonnetPct!=null&&w.jsx(zi,{label:"Sonnet (7d)",pct:s.weekSonnetPct,nowSec:h}),s.weekOpusPct!=null&&w.jsx(zi,{label:"Opus (7d)",pct:s.weekOpusPct,nowSec:h})]}):(s==null?void 0:s.ok)===!1?w.jsxs("div",{className:"up-quota-na",children:[w.jsx("span",{children:"Quota unavailable."}),w.jsxs("span",{className:"up-quota-hint",children:["Run ",w.jsx("code",{children:"/usage"})," in a claude session, then click ↻"]})]}):w.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),w.jsxs("section",{className:"up-section up-quota-section",children:[w.jsx("h4",{className:"up-section-title",children:"Codex quota"}),l!=null&&l.ok?w.jsxs("div",{className:"up-quota-bars",children:[l.session5hPct!=null&&w.jsx(zi,{label:"5-hour window",pct:l.session5hPct,reset:l.session5hReset,resetAt:l.session5hResetAt,windowSec:l.session5hWindowSec,limitReached:l.limitReached&&l.session5hPct>=100,nowSec:h}),l.week7dPct!=null&&w.jsx(zi,{label:"7-day window",pct:l.week7dPct,reset:l.week7dReset,resetAt:l.week7dResetAt,windowSec:l.week7dWindowSec,nowSec:h}),(p==null?void 0:p.ok)&&p.window7d&&p.window7d.sessionCount>0&&w.jsxs("div",{className:"up-quota-sub",children:[er(p.window7d.totalTokens)," tokens · ",p.window7d.sessionCount," sessions (7d)"]}),l.creditsBalance&&!l.creditsUnlimited&&w.jsxs("div",{className:"up-quota-sub up-credits",children:["credits: $",l.creditsBalance]}),l.creditsUnlimited&&w.jsx("div",{className:"up-quota-sub up-credits",children:"credits: unlimited"})]}):(l==null?void 0:l.ok)===!1?w.jsxs("div",{className:"up-quota-na",children:[w.jsx("span",{children:"Quota unavailable."}),w.jsx("span",{className:"up-quota-hint",children:l.reason==="no_token"?"Run codex login to authenticate.":"ChatGPT API unreachable — click ↻ to retry."})]}):w.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),k?w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"up-total",children:[w.jsx("span",{className:"up-total-value",children:De(_.total)}),w.jsx("span",{className:"up-total-label",children:"total spend"})]}),w.jsx(ZP,{cost:_}),E>0&&w.jsxs("div",{className:"up-tokens-row",children:[w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"in"}),er(N.in)]}),w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"out"}),er(N.out)]}),N.cacheR>0&&w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"cache r"}),er(N.cacheR)]}),N.cacheC>0&&w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"cache c"}),er(N.cacheC)]})]}),v.filter(j=>j.cost.total>0).length>0&&w.jsxs("section",{className:"up-section",children:[w.jsx("h4",{className:"up-section-title",children:"By model"}),w.jsxs("table",{className:"up-table",children:[w.jsx("thead",{children:w.jsxs("tr",{children:[w.jsx("th",{children:"Model"}),w.jsx("th",{children:"Tokens"}),w.jsx("th",{children:"Cost"})]})}),w.jsx("tbody",{children:v.filter(j=>j.cost.total>0).map(j=>w.jsxs("tr",{children:[w.jsx("td",{className:"up-model-name",title:j.model,children:co(j.model)}),w.jsx("td",{className:"up-num",children:er(j.inputTokens+j.outputTokens)}),w.jsx("td",{className:"up-num up-cost-val",children:De(j.cost.total)})]},j.model))})]})]}),S.filter(j=>j.cost>0).length>0&&w.jsxs("section",{className:"up-section",children:[w.jsx("h4",{className:"up-section-title",children:"By session"}),w.jsx("div",{className:"up-sessions",children:S.filter(j=>j.cost>0).map(j=>w.jsxs("div",{className:"up-session-row",children:[w.jsx("span",{className:`sl-dot state-${j.state}`,"aria-hidden":!0}),w.jsx("span",{className:"up-session-label",children:j.label}),w.jsx("span",{className:"up-session-tokens",children:er(j.inputTokens+j.outputTokens)}),w.jsx("span",{className:"up-session-cost",children:De(j.cost)})]},j.sessionId))})]})]}):E>0?w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"up-tokens-row",children:[w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"in"}),er(N.in)]}),w.jsxs("span",{className:"up-tok",children:[w.jsx("span",{className:"up-k",children:"out"}),er(N.out)]})]}),w.jsx("div",{className:"up-hint",children:"Cost appears once a known model is detected."})]}):w.jsxs("div",{className:"up-empty",children:["No usage data yet.",w.jsx("br",{}),"Start a Claude Code or Codex session."]})]})}function Yr(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:e<1e9?`${(e/1e6).toFixed(2)}M`:`${(e/1e9).toFixed(2)}B`}function $w(e){return e.replace(/^anthropic\./,"").replace(/^claude-/,"").replace(/-\d{8}$/,"")}function $a(e){const n=e.toLowerCase();return n.includes("opus")?"#c4b5fd":n.includes("sonnet")?"#7dd3fc":n.includes("haiku")?"#86efac":n.includes("gpt-5")||n.includes("gpt5")?"#fcd34d":n.includes("gpt")?"#fca5a5":n.includes("gemini")?"#a5b4fc":n.includes("codex")?"#fdba74":"#94a3b8"}function o3(e){return new Date(Date.now()-(e-1)*864e5).toISOString().slice(0,10).replace(/-/g,"")}const a3=[7,14,30,90];function u3(e){const[n,i]=L.useState(null),[s,o]=L.useState(!1),u=(l=!1)=>{o(!0);const d=`/api/ccusage?since=${o3(e)}${l?"&refresh=1":""}`;fetch(d).then(p=>p.json()).then(i).catch(()=>i({ok:!1,error:"request failed"})).finally(()=>o(!1))};return L.useEffect(()=>{u(!1)},[e]),{data:n,loading:s,reload:()=>u(!0)}}function l3({onClose:e}){var k,E;const[n,i]=L.useState(30),[s,o]=L.useState(null),{data:u,loading:l,reload:c}=u3(n);L.useEffect(()=>{const b=T=>{T.key==="Escape"&&e()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[e]);const d=u!=null&&u.ok?u.days??[]:[],p=L.useMemo(()=>d.reduce((b,T)=>Math.max(b,T.totalCost),0),[d]),{totalCost:h,totalTok:m,inOut:v,cacheRead:_,modelCosts:N}=L.useMemo(()=>{let b=0,T=0,A=0,I=0;const j=new Map;for(const D of d){b+=D.totalCost,T+=D.totalTokens,A+=D.inputTokens+D.outputTokens,I+=D.cacheReadTokens;for(const O of D.modelBreakdowns)j.set(O.modelName,(j.get(O.modelName)??0)+O.cost)}return{totalCost:b,totalTok:T,inOut:A,cacheRead:I,modelCosts:j}},[d]),x=L.useMemo(()=>Array.from(N.entries()).sort((b,T)=>T[1]-b[1]),[N]),S=s?d.find(b=>b.period===s)??null:null;return w.jsx("div",{className:"uh-backdrop",onClick:e,role:"presentation",children:w.jsxs("div",{className:"uh-modal",onClick:b=>b.stopPropagation(),role:"dialog","aria-label":"Usage history",children:[w.jsxs("header",{className:"uh-head",children:[w.jsxs("div",{className:"uh-titlewrap",children:[w.jsx("div",{className:"uh-title",children:"Usage history"}),w.jsx("div",{className:"uh-sub",children:"via ccusage · local Claude / Codex logs"})]}),w.jsx("div",{className:"uh-range",role:"tablist","aria-label":"Range",children:a3.map(b=>w.jsxs("button",{role:"tab","aria-selected":n===b,className:`uh-range-btn${n===b?" on":""}`,onClick:()=>{i(b),o(null)},children:[b,"d"]},b))}),w.jsx("button",{className:"btn icon-btn uh-reload",onClick:c,title:"Re-run ccusage","aria-label":"Reload",children:"↻"}),w.jsx("button",{className:"uh-close",onClick:e,"aria-label":"Close",children:"×"})]}),l&&d.length===0?w.jsx("div",{className:"uh-status",children:"running ccusage… (first run downloads the package)"}):u&&!u.ok?w.jsxs("div",{className:"uh-status uh-err",children:["ccusage failed: ",u.error]}):d.length===0?w.jsx("div",{className:"uh-status",children:"no usage in this range"}):w.jsxs(w.Fragment,{children:[w.jsxs("div",{className:"uh-totals",children:[w.jsx(Da,{label:"total cost",val:De(h),accent:!0}),w.jsx(Da,{label:"tokens",val:Yr(m)}),w.jsx(Da,{label:"input+output",val:Yr(v)}),w.jsx(Da,{label:"cache reads",val:Yr(_)})]}),w.jsx("div",{className:"uh-chart",role:"img","aria-label":"Daily cost by model",children:d.map(b=>{const T=p>0?b.totalCost/p*100:0,A=b.period===s;return w.jsxs("button",{className:`uh-bar-col${A?" sel":""}`,onClick:()=>o(A?null:b.period),title:`${b.period} · ${De(b.totalCost)}`,style:{flexBasis:`${100/d.length}%`},children:[w.jsx("div",{className:"uh-bar",style:{height:`${Math.max(T,b.totalCost>0?2:0)}%`},children:b.modelBreakdowns.slice().sort((I,j)=>j.cost-I.cost).map(I=>{const j=b.totalCost>0?I.cost/b.totalCost*100:0;return w.jsx("div",{className:"uh-bar-seg",style:{height:`${j}%`,background:$a(I.modelName)}},I.modelName)})}),w.jsx("span",{className:"uh-bar-label",children:b.period.slice(5)})]},b.period)})}),w.jsx("div",{className:"uh-legend",children:x.map(([b,T])=>w.jsxs("span",{className:"uh-legend-item",children:[w.jsx("span",{className:"uh-legend-dot",style:{background:$a(b)}}),$w(b)," ",w.jsx("span",{className:"uh-legend-cost",children:De(T)})]},b))}),S&&w.jsxs("div",{className:"uh-detail",children:[w.jsxs("div",{className:"uh-detail-head",children:[w.jsx("span",{className:"uh-detail-date",children:S.period}),w.jsx("span",{className:"uh-detail-cost",children:De(S.totalCost)}),(E=(k=S.metadata)==null?void 0:k.agents)!=null&&E.length?w.jsx("span",{className:"uh-detail-agents",children:S.metadata.agents.join(" · ")}):null]}),w.jsxs("div",{className:"uh-detail-mini",children:[w.jsx(Fa,{label:"input",val:Yr(S.inputTokens)}),w.jsx(Fa,{label:"output",val:Yr(S.outputTokens)}),w.jsx(Fa,{label:"cache write",val:Yr(S.cacheCreationTokens)}),w.jsx(Fa,{label:"cache read",val:Yr(S.cacheReadTokens)})]}),w.jsx("div",{className:"uh-detail-models",children:S.modelBreakdowns.slice().sort((b,T)=>T.cost-b.cost).map(b=>{const T=S.totalCost>0?b.cost/S.totalCost*100:0;return w.jsxs("div",{className:"uh-model-row",children:[w.jsxs("span",{className:"uh-model-name",children:[w.jsx("span",{className:"uh-legend-dot",style:{background:$a(b.modelName)}}),$w(b.modelName)]}),w.jsx("span",{className:"uh-model-bar",children:w.jsx("span",{className:"uh-model-bar-fill",style:{width:`${T}%`,background:$a(b.modelName)}})}),w.jsx("span",{className:"uh-model-cost",children:De(b.cost)})]},b.modelName)})})]})]})]})})}function Da({label:e,val:n,accent:i}){return w.jsxs("div",{className:"uh-stat",children:[w.jsx("span",{className:`uh-stat-val${i?" accent":""}`,children:n}),w.jsx("span",{className:"uh-stat-label",children:e})]})}function Fa({label:e,val:n}){return w.jsxs("div",{className:"uh-ministat",children:[w.jsx("span",{className:"uh-ministat-val",children:n}),w.jsx("span",{className:"uh-ministat-label",children:e})]})}function Og(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Rc,Dw;function c3(){if(Dw)return Rc;Dw=1;function e(){this.__data__=[],this.size=0}return Rc=e,Rc}var jc,Fw;function Qi(){if(Fw)return jc;Fw=1;function e(n,i){return n===i||n!==n&&i!==i}return jc=e,jc}var Ac,zw;function fu(){if(zw)return Ac;zw=1;var e=Qi();function n(i,s){for(var o=i.length;o--;)if(e(i[o][0],s))return o;return-1}return Ac=n,Ac}var Ic,Bw;function f3(){if(Bw)return Ic;Bw=1;var e=fu(),n=Array.prototype,i=n.splice;function s(o){var u=this.__data__,l=e(u,o);if(l<0)return!1;var c=u.length-1;return l==c?u.pop():i.call(u,l,1),--this.size,!0}return Ic=s,Ic}var Mc,Uw;function d3(){if(Uw)return Mc;Uw=1;var e=fu();function n(i){var s=this.__data__,o=e(s,i);return o<0?void 0:s[o][1]}return Mc=n,Mc}var Pc,Hw;function h3(){if(Hw)return Pc;Hw=1;var e=fu();function n(i){return e(this.__data__,i)>-1}return Pc=n,Pc}var qc,Vw;function p3(){if(Vw)return qc;Vw=1;var e=fu();function n(i,s){var o=this.__data__,u=e(o,i);return u<0?(++this.size,o.push([i,s])):o[u][1]=s,this}return qc=n,qc}var Oc,Ww;function du(){if(Ww)return Oc;Ww=1;var e=c3(),n=f3(),i=d3(),s=h3(),o=p3();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var p=l[c];this.set(p[0],p[1])}}return u.prototype.clear=e,u.prototype.delete=n,u.prototype.get=i,u.prototype.has=s,u.prototype.set=o,Oc=u,Oc}var Lc,Gw;function m3(){if(Gw)return Lc;Gw=1;var e=du();function n(){this.__data__=new e,this.size=0}return Lc=n,Lc}var $c,Kw;function g3(){if(Kw)return $c;Kw=1;function e(n){var i=this.__data__,s=i.delete(n);return this.size=i.size,s}return $c=e,$c}var Dc,Yw;function v3(){if(Yw)return Dc;Yw=1;function e(n){return this.__data__.get(n)}return Dc=e,Dc}var Fc,Xw;function y3(){if(Xw)return Fc;Xw=1;function e(n){return this.__data__.has(n)}return Fc=e,Fc}var zc,Qw;function WE(){if(Qw)return zc;Qw=1;var e=typeof Na=="object"&&Na&&Na.Object===Object&&Na;return zc=e,zc}var Bc,Zw;function Pn(){if(Zw)return Bc;Zw=1;var e=WE(),n=typeof self=="object"&&self&&self.Object===Object&&self,i=e||n||Function("return this")();return Bc=i,Bc}var Uc,Jw;function Zi(){if(Jw)return Uc;Jw=1;var e=Pn(),n=e.Symbol;return Uc=n,Uc}var Hc,e1;function w3(){if(e1)return Hc;e1=1;var e=Zi(),n=Object.prototype,i=n.hasOwnProperty,s=n.toString,o=e?e.toStringTag:void 0;function u(l){var c=i.call(l,o),d=l[o];try{l[o]=void 0;var p=!0}catch{}var h=s.call(l);return p&&(c?l[o]=d:delete l[o]),h}return Hc=u,Hc}var Vc,t1;function _3(){if(t1)return Vc;t1=1;var e=Object.prototype,n=e.toString;function i(s){return n.call(s)}return Vc=i,Vc}var Wc,n1;function ii(){if(n1)return Wc;n1=1;var e=Zi(),n=w3(),i=_3(),s="[object Null]",o="[object Undefined]",u=e?e.toStringTag:void 0;function l(c){return c==null?c===void 0?o:s:u&&u in Object(c)?n(c):i(c)}return Wc=l,Wc}var Gc,r1;function vn(){if(r1)return Gc;r1=1;function e(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}return Gc=e,Gc}var Kc,i1;function fo(){if(i1)return Kc;i1=1;var e=ii(),n=vn(),i="[object AsyncFunction]",s="[object Function]",o="[object GeneratorFunction]",u="[object Proxy]";function l(c){if(!n(c))return!1;var d=e(c);return d==s||d==o||d==i||d==u}return Kc=l,Kc}var Yc,s1;function x3(){if(s1)return Yc;s1=1;var e=Pn(),n=e["__core-js_shared__"];return Yc=n,Yc}var Xc,o1;function S3(){if(o1)return Xc;o1=1;var e=x3(),n=(function(){var s=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""})();function i(s){return!!n&&n in s}return Xc=i,Xc}var Qc,a1;function GE(){if(a1)return Qc;a1=1;var e=Function.prototype,n=e.toString;function i(s){if(s!=null){try{return n.call(s)}catch{}try{return s+""}catch{}}return""}return Qc=i,Qc}var Zc,u1;function k3(){if(u1)return Zc;u1=1;var e=fo(),n=S3(),i=vn(),s=GE(),o=/[\\^$.*+?()[\]{}|]/g,u=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,d=l.toString,p=c.hasOwnProperty,h=RegExp("^"+d.call(p).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function m(v){if(!i(v)||n(v))return!1;var _=e(v)?h:u;return _.test(s(v))}return Zc=m,Zc}var Jc,l1;function b3(){if(l1)return Jc;l1=1;function e(n,i){return n==null?void 0:n[i]}return Jc=e,Jc}var ef,c1;function si(){if(c1)return ef;c1=1;var e=k3(),n=b3();function i(s,o){var u=n(s,o);return e(u)?u:void 0}return ef=i,ef}var tf,f1;function Lg(){if(f1)return tf;f1=1;var e=si(),n=Pn(),i=e(n,"Map");return tf=i,tf}var nf,d1;function hu(){if(d1)return nf;d1=1;var e=si(),n=e(Object,"create");return nf=n,nf}var rf,h1;function E3(){if(h1)return rf;h1=1;var e=hu();function n(){this.__data__=e?e(null):{},this.size=0}return rf=n,rf}var sf,p1;function N3(){if(p1)return sf;p1=1;function e(n){var i=this.has(n)&&delete this.__data__[n];return this.size-=i?1:0,i}return sf=e,sf}var of,m1;function C3(){if(m1)return of;m1=1;var e=hu(),n="__lodash_hash_undefined__",i=Object.prototype,s=i.hasOwnProperty;function o(u){var l=this.__data__;if(e){var c=l[u];return c===n?void 0:c}return s.call(l,u)?l[u]:void 0}return of=o,of}var af,g1;function T3(){if(g1)return af;g1=1;var e=hu(),n=Object.prototype,i=n.hasOwnProperty;function s(o){var u=this.__data__;return e?u[o]!==void 0:i.call(u,o)}return af=s,af}var uf,v1;function R3(){if(v1)return uf;v1=1;var e=hu(),n="__lodash_hash_undefined__";function i(s,o){var u=this.__data__;return this.size+=this.has(s)?0:1,u[s]=e&&o===void 0?n:o,this}return uf=i,uf}var lf,y1;function j3(){if(y1)return lf;y1=1;var e=E3(),n=N3(),i=C3(),s=T3(),o=R3();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var p=l[c];this.set(p[0],p[1])}}return u.prototype.clear=e,u.prototype.delete=n,u.prototype.get=i,u.prototype.has=s,u.prototype.set=o,lf=u,lf}var cf,w1;function A3(){if(w1)return cf;w1=1;var e=j3(),n=du(),i=Lg();function s(){this.size=0,this.__data__={hash:new e,map:new(i||n),string:new e}}return cf=s,cf}var ff,_1;function I3(){if(_1)return ff;_1=1;function e(n){var i=typeof n;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?n!=="__proto__":n===null}return ff=e,ff}var df,x1;function pu(){if(x1)return df;x1=1;var e=I3();function n(i,s){var o=i.__data__;return e(s)?o[typeof s=="string"?"string":"hash"]:o.map}return df=n,df}var hf,S1;function M3(){if(S1)return hf;S1=1;var e=pu();function n(i){var s=e(this,i).delete(i);return this.size-=s?1:0,s}return hf=n,hf}var pf,k1;function P3(){if(k1)return pf;k1=1;var e=pu();function n(i){return e(this,i).get(i)}return pf=n,pf}var mf,b1;function q3(){if(b1)return mf;b1=1;var e=pu();function n(i){return e(this,i).has(i)}return mf=n,mf}var gf,E1;function O3(){if(E1)return gf;E1=1;var e=pu();function n(i,s){var o=e(this,i),u=o.size;return o.set(i,s),this.size+=o.size==u?0:1,this}return gf=n,gf}var vf,N1;function $g(){if(N1)return vf;N1=1;var e=A3(),n=M3(),i=P3(),s=q3(),o=O3();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var p=l[c];this.set(p[0],p[1])}}return u.prototype.clear=e,u.prototype.delete=n,u.prototype.get=i,u.prototype.has=s,u.prototype.set=o,vf=u,vf}var yf,C1;function L3(){if(C1)return yf;C1=1;var e=du(),n=Lg(),i=$g(),s=200;function o(u,l){var c=this.__data__;if(c instanceof e){var d=c.__data__;if(!n||d.length<s-1)return d.push([u,l]),this.size=++c.size,this;c=this.__data__=new i(d)}return c.set(u,l),this.size=c.size,this}return yf=o,yf}var wf,T1;function mu(){if(T1)return wf;T1=1;var e=du(),n=m3(),i=g3(),s=v3(),o=y3(),u=L3();function l(c){var d=this.__data__=new e(c);this.size=d.size}return l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=s,l.prototype.has=o,l.prototype.set=u,wf=l,wf}var _f,R1;function Dg(){if(R1)return _f;R1=1;function e(n,i){for(var s=-1,o=n==null?0:n.length;++s<o&&i(n[s],s,n)!==!1;);return n}return _f=e,_f}var xf,j1;function KE(){if(j1)return xf;j1=1;var e=si(),n=(function(){try{var i=e(Object,"defineProperty");return i({},"",{}),i}catch{}})();return xf=n,xf}var Sf,A1;function gu(){if(A1)return Sf;A1=1;var e=KE();function n(i,s,o){s=="__proto__"&&e?e(i,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):i[s]=o}return Sf=n,Sf}var kf,I1;function vu(){if(I1)return kf;I1=1;var e=gu(),n=Qi(),i=Object.prototype,s=i.hasOwnProperty;function o(u,l,c){var d=u[l];(!(s.call(u,l)&&n(d,c))||c===void 0&&!(l in u))&&e(u,l,c)}return kf=o,kf}var bf,M1;function ho(){if(M1)return bf;M1=1;var e=vu(),n=gu();function i(s,o,u,l){var c=!u;u||(u={});for(var d=-1,p=o.length;++d<p;){var h=o[d],m=l?l(u[h],s[h],h,u,s):void 0;m===void 0&&(m=s[h]),c?n(u,h,m):e(u,h,m)}return u}return bf=i,bf}var Ef,P1;function $3(){if(P1)return Ef;P1=1;function e(n,i){for(var s=-1,o=Array(n);++s<n;)o[s]=i(s);return o}return Ef=e,Ef}var Nf,q1;function Un(){if(q1)return Nf;q1=1;function e(n){return n!=null&&typeof n=="object"}return Nf=e,Nf}var Cf,O1;function D3(){if(O1)return Cf;O1=1;var e=ii(),n=Un(),i="[object Arguments]";function s(o){return n(o)&&e(o)==i}return Cf=s,Cf}var Tf,L1;function po(){if(L1)return Tf;L1=1;var e=D3(),n=Un(),i=Object.prototype,s=i.hasOwnProperty,o=i.propertyIsEnumerable,u=e((function(){return arguments})())?e:function(l){return n(l)&&s.call(l,"callee")&&!o.call(l,"callee")};return Tf=u,Tf}var Rf,$1;function yt(){if($1)return Rf;$1=1;var e=Array.isArray;return Rf=e,Rf}var Gs={exports:{}},jf,D1;function F3(){if(D1)return jf;D1=1;function e(){return!1}return jf=e,jf}Gs.exports;var F1;function Ji(){return F1||(F1=1,(function(e,n){var i=Pn(),s=F3(),o=n&&!n.nodeType&&n,u=o&&!0&&e&&!e.nodeType&&e,l=u&&u.exports===o,c=l?i.Buffer:void 0,d=c?c.isBuffer:void 0,p=d||s;e.exports=p})(Gs,Gs.exports)),Gs.exports}var Af,z1;function yu(){if(z1)return Af;z1=1;var e=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function i(s,o){var u=typeof s;return o=o??e,!!o&&(u=="number"||u!="symbol"&&n.test(s))&&s>-1&&s%1==0&&s<o}return Af=i,Af}var If,B1;function Fg(){if(B1)return If;B1=1;var e=9007199254740991;function n(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=e}return If=n,If}var Mf,U1;function z3(){if(U1)return Mf;U1=1;var e=ii(),n=Fg(),i=Un(),s="[object Arguments]",o="[object Array]",u="[object Boolean]",l="[object Date]",c="[object Error]",d="[object Function]",p="[object Map]",h="[object Number]",m="[object Object]",v="[object RegExp]",_="[object Set]",N="[object String]",x="[object WeakMap]",S="[object ArrayBuffer]",k="[object DataView]",E="[object Float32Array]",b="[object Float64Array]",T="[object Int8Array]",A="[object Int16Array]",I="[object Int32Array]",j="[object Uint8Array]",D="[object Uint8ClampedArray]",O="[object Uint16Array]",U="[object Uint32Array]",H={};H[E]=H[b]=H[T]=H[A]=H[I]=H[j]=H[D]=H[O]=H[U]=!0,H[s]=H[o]=H[S]=H[u]=H[k]=H[l]=H[c]=H[d]=H[p]=H[h]=H[m]=H[v]=H[_]=H[N]=H[x]=!1;function Q(ee){return i(ee)&&n(ee.length)&&!!H[e(ee)]}return Mf=Q,Mf}var Pf,H1;function wu(){if(H1)return Pf;H1=1;function e(n){return function(i){return n(i)}}return Pf=e,Pf}var Ks={exports:{}};Ks.exports;var V1;function zg(){return V1||(V1=1,(function(e,n){var i=WE(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,u=o&&o.exports===s,l=u&&i.process,c=(function(){try{var d=o&&o.require&&o.require("util").types;return d||l&&l.binding&&l.binding("util")}catch{}})();e.exports=c})(Ks,Ks.exports)),Ks.exports}var qf,W1;function mo(){if(W1)return qf;W1=1;var e=z3(),n=wu(),i=zg(),s=i&&i.isTypedArray,o=s?n(s):e;return qf=o,qf}var Of,G1;function YE(){if(G1)return Of;G1=1;var e=$3(),n=po(),i=yt(),s=Ji(),o=yu(),u=mo(),l=Object.prototype,c=l.hasOwnProperty;function d(p,h){var m=i(p),v=!m&&n(p),_=!m&&!v&&s(p),N=!m&&!v&&!_&&u(p),x=m||v||_||N,S=x?e(p.length,String):[],k=S.length;for(var E in p)(h||c.call(p,E))&&!(x&&(E=="length"||_&&(E=="offset"||E=="parent")||N&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||o(E,k)))&&S.push(E);return S}return Of=d,Of}var Lf,K1;function _u(){if(K1)return Lf;K1=1;var e=Object.prototype;function n(i){var s=i&&i.constructor,o=typeof s=="function"&&s.prototype||e;return i===o}return Lf=n,Lf}var $f,Y1;function XE(){if(Y1)return $f;Y1=1;function e(n,i){return function(s){return n(i(s))}}return $f=e,$f}var Df,X1;function B3(){if(X1)return Df;X1=1;var e=XE(),n=e(Object.keys,Object);return Df=n,Df}var Ff,Q1;function Bg(){if(Q1)return Ff;Q1=1;var e=_u(),n=B3(),i=Object.prototype,s=i.hasOwnProperty;function o(u){if(!e(u))return n(u);var l=[];for(var c in Object(u))s.call(u,c)&&c!="constructor"&&l.push(c);return l}return Ff=o,Ff}var zf,Z1;function sr(){if(Z1)return zf;Z1=1;var e=fo(),n=Fg();function i(s){return s!=null&&n(s.length)&&!e(s)}return zf=i,zf}var Bf,J1;function qr(){if(J1)return Bf;J1=1;var e=YE(),n=Bg(),i=sr();function s(o){return i(o)?e(o):n(o)}return Bf=s,Bf}var Uf,e_;function U3(){if(e_)return Uf;e_=1;var e=ho(),n=qr();function i(s,o){return s&&e(o,n(o),s)}return Uf=i,Uf}var Hf,t_;function H3(){if(t_)return Hf;t_=1;function e(n){var i=[];if(n!=null)for(var s in Object(n))i.push(s);return i}return Hf=e,Hf}var Vf,n_;function V3(){if(n_)return Vf;n_=1;var e=vn(),n=_u(),i=H3(),s=Object.prototype,o=s.hasOwnProperty;function u(l){if(!e(l))return i(l);var c=n(l),d=[];for(var p in l)p=="constructor"&&(c||!o.call(l,p))||d.push(p);return d}return Vf=u,Vf}var Wf,r_;function oi(){if(r_)return Wf;r_=1;var e=YE(),n=V3(),i=sr();function s(o){return i(o)?e(o,!0):n(o)}return Wf=s,Wf}var Gf,i_;function W3(){if(i_)return Gf;i_=1;var e=ho(),n=oi();function i(s,o){return s&&e(o,n(o),s)}return Gf=i,Gf}var Ys={exports:{}};Ys.exports;var s_;function QE(){return s_||(s_=1,(function(e,n){var i=Pn(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,u=o&&o.exports===s,l=u?i.Buffer:void 0,c=l?l.allocUnsafe:void 0;function d(p,h){if(h)return p.slice();var m=p.length,v=c?c(m):new p.constructor(m);return p.copy(v),v}e.exports=d})(Ys,Ys.exports)),Ys.exports}var Kf,o_;function ZE(){if(o_)return Kf;o_=1;function e(n,i){var s=-1,o=n.length;for(i||(i=Array(o));++s<o;)i[s]=n[s];return i}return Kf=e,Kf}var Yf,a_;function JE(){if(a_)return Yf;a_=1;function e(n,i){for(var s=-1,o=n==null?0:n.length,u=0,l=[];++s<o;){var c=n[s];i(c,s,n)&&(l[u++]=c)}return l}return Yf=e,Yf}var Xf,u_;function eN(){if(u_)return Xf;u_=1;function e(){return[]}return Xf=e,Xf}var Qf,l_;function Ug(){if(l_)return Qf;l_=1;var e=JE(),n=eN(),i=Object.prototype,s=i.propertyIsEnumerable,o=Object.getOwnPropertySymbols,u=o?function(l){return l==null?[]:(l=Object(l),e(o(l),function(c){return s.call(l,c)}))}:n;return Qf=u,Qf}var Zf,c_;function G3(){if(c_)return Zf;c_=1;var e=ho(),n=Ug();function i(s,o){return e(s,n(s),o)}return Zf=i,Zf}var Jf,f_;function Hg(){if(f_)return Jf;f_=1;function e(n,i){for(var s=-1,o=i.length,u=n.length;++s<o;)n[u+s]=i[s];return n}return Jf=e,Jf}var ed,d_;function xu(){if(d_)return ed;d_=1;var e=XE(),n=e(Object.getPrototypeOf,Object);return ed=n,ed}var td,h_;function tN(){if(h_)return td;h_=1;var e=Hg(),n=xu(),i=Ug(),s=eN(),o=Object.getOwnPropertySymbols,u=o?function(l){for(var c=[];l;)e(c,i(l)),l=n(l);return c}:s;return td=u,td}var nd,p_;function K3(){if(p_)return nd;p_=1;var e=ho(),n=tN();function i(s,o){return e(s,n(s),o)}return nd=i,nd}var rd,m_;function nN(){if(m_)return rd;m_=1;var e=Hg(),n=yt();function i(s,o,u){var l=o(s);return n(s)?l:e(l,u(s))}return rd=i,rd}var id,g_;function rN(){if(g_)return id;g_=1;var e=nN(),n=Ug(),i=qr();function s(o){return e(o,i,n)}return id=s,id}var sd,v_;function Y3(){if(v_)return sd;v_=1;var e=nN(),n=tN(),i=oi();function s(o){return e(o,i,n)}return sd=s,sd}var od,y_;function X3(){if(y_)return od;y_=1;var e=si(),n=Pn(),i=e(n,"DataView");return od=i,od}var ad,w_;function Q3(){if(w_)return ad;w_=1;var e=si(),n=Pn(),i=e(n,"Promise");return ad=i,ad}var ud,__;function iN(){if(__)return ud;__=1;var e=si(),n=Pn(),i=e(n,"Set");return ud=i,ud}var ld,x_;function Z3(){if(x_)return ld;x_=1;var e=si(),n=Pn(),i=e(n,"WeakMap");return ld=i,ld}var cd,S_;function es(){if(S_)return cd;S_=1;var e=X3(),n=Lg(),i=Q3(),s=iN(),o=Z3(),u=ii(),l=GE(),c="[object Map]",d="[object Object]",p="[object Promise]",h="[object Set]",m="[object WeakMap]",v="[object DataView]",_=l(e),N=l(n),x=l(i),S=l(s),k=l(o),E=u;return(e&&E(new e(new ArrayBuffer(1)))!=v||n&&E(new n)!=c||i&&E(i.resolve())!=p||s&&E(new s)!=h||o&&E(new o)!=m)&&(E=function(b){var T=u(b),A=T==d?b.constructor:void 0,I=A?l(A):"";if(I)switch(I){case _:return v;case N:return c;case x:return p;case S:return h;case k:return m}return T}),cd=E,cd}var fd,k_;function J3(){if(k_)return fd;k_=1;var e=Object.prototype,n=e.hasOwnProperty;function i(s){var o=s.length,u=new s.constructor(o);return o&&typeof s[0]=="string"&&n.call(s,"index")&&(u.index=s.index,u.input=s.input),u}return fd=i,fd}var dd,b_;function sN(){if(b_)return dd;b_=1;var e=Pn(),n=e.Uint8Array;return dd=n,dd}var hd,E_;function Vg(){if(E_)return hd;E_=1;var e=sN();function n(i){var s=new i.constructor(i.byteLength);return new e(s).set(new e(i)),s}return hd=n,hd}var pd,N_;function eq(){if(N_)return pd;N_=1;var e=Vg();function n(i,s){var o=s?e(i.buffer):i.buffer;return new i.constructor(o,i.byteOffset,i.byteLength)}return pd=n,pd}var md,C_;function tq(){if(C_)return md;C_=1;var e=/\w*$/;function n(i){var s=new i.constructor(i.source,e.exec(i));return s.lastIndex=i.lastIndex,s}return md=n,md}var gd,T_;function nq(){if(T_)return gd;T_=1;var e=Zi(),n=e?e.prototype:void 0,i=n?n.valueOf:void 0;function s(o){return i?Object(i.call(o)):{}}return gd=s,gd}var vd,R_;function oN(){if(R_)return vd;R_=1;var e=Vg();function n(i,s){var o=s?e(i.buffer):i.buffer;return new i.constructor(o,i.byteOffset,i.length)}return vd=n,vd}var yd,j_;function rq(){if(j_)return yd;j_=1;var e=Vg(),n=eq(),i=tq(),s=nq(),o=oN(),u="[object Boolean]",l="[object Date]",c="[object Map]",d="[object Number]",p="[object RegExp]",h="[object Set]",m="[object String]",v="[object Symbol]",_="[object ArrayBuffer]",N="[object DataView]",x="[object Float32Array]",S="[object Float64Array]",k="[object Int8Array]",E="[object Int16Array]",b="[object Int32Array]",T="[object Uint8Array]",A="[object Uint8ClampedArray]",I="[object Uint16Array]",j="[object Uint32Array]";function D(O,U,H){var Q=O.constructor;switch(U){case _:return e(O);case u:case l:return new Q(+O);case N:return n(O,H);case x:case S:case k:case E:case b:case T:case A:case I:case j:return o(O,H);case c:return new Q;case d:case m:return new Q(O);case p:return i(O);case h:return new Q;case v:return s(O)}}return yd=D,yd}var wd,A_;function aN(){if(A_)return wd;A_=1;var e=vn(),n=Object.create,i=(function(){function s(){}return function(o){if(!e(o))return{};if(n)return n(o);s.prototype=o;var u=new s;return s.prototype=void 0,u}})();return wd=i,wd}var _d,I_;function uN(){if(I_)return _d;I_=1;var e=aN(),n=xu(),i=_u();function s(o){return typeof o.constructor=="function"&&!i(o)?e(n(o)):{}}return _d=s,_d}var xd,M_;function iq(){if(M_)return xd;M_=1;var e=es(),n=Un(),i="[object Map]";function s(o){return n(o)&&e(o)==i}return xd=s,xd}var Sd,P_;function sq(){if(P_)return Sd;P_=1;var e=iq(),n=wu(),i=zg(),s=i&&i.isMap,o=s?n(s):e;return Sd=o,Sd}var kd,q_;function oq(){if(q_)return kd;q_=1;var e=es(),n=Un(),i="[object Set]";function s(o){return n(o)&&e(o)==i}return kd=s,kd}var bd,O_;function aq(){if(O_)return bd;O_=1;var e=oq(),n=wu(),i=zg(),s=i&&i.isSet,o=s?n(s):e;return bd=o,bd}var Ed,L_;function lN(){if(L_)return Ed;L_=1;var e=mu(),n=Dg(),i=vu(),s=U3(),o=W3(),u=QE(),l=ZE(),c=G3(),d=K3(),p=rN(),h=Y3(),m=es(),v=J3(),_=rq(),N=uN(),x=yt(),S=Ji(),k=sq(),E=vn(),b=aq(),T=qr(),A=oi(),I=1,j=2,D=4,O="[object Arguments]",U="[object Array]",H="[object Boolean]",Q="[object Date]",ee="[object Error]",R="[object Function]",G="[object GeneratorFunction]",B="[object Map]",X="[object Number]",Y="[object Object]",q="[object RegExp]",V="[object Set]",M="[object String]",z="[object Symbol]",ae="[object WeakMap]",$="[object ArrayBuffer]",K="[object DataView]",Z="[object Float32Array]",oe="[object Float64Array]",ce="[object Int8Array]",he="[object Int16Array]",me="[object Int32Array]",Me="[object Uint8Array]",Ie="[object Uint8ClampedArray]",Pe="[object Uint16Array]",Ae="[object Uint32Array]",Ee={};Ee[O]=Ee[U]=Ee[$]=Ee[K]=Ee[H]=Ee[Q]=Ee[Z]=Ee[oe]=Ee[ce]=Ee[he]=Ee[me]=Ee[B]=Ee[X]=Ee[Y]=Ee[q]=Ee[V]=Ee[M]=Ee[z]=Ee[Me]=Ee[Ie]=Ee[Pe]=Ee[Ae]=!0,Ee[ee]=Ee[R]=Ee[ae]=!1;function Ge(we,ye,ze,Xe,ht,ot){var Ke,wt=ye&I,pt=ye&j,Dt=ye&D;if(ze&&(Ke=ht?ze(we,Xe,ht,ot):ze(we)),Ke!==void 0)return Ke;if(!E(we))return we;var It=x(we);if(It){if(Ke=v(we),!wt)return l(we,Ke)}else{var ct=m(we),at=ct==R||ct==G;if(S(we))return u(we,wt);if(ct==Y||ct==O||at&&!ht){if(Ke=pt||at?{}:N(we),!wt)return pt?d(we,o(Ke,we)):c(we,s(Ke,we))}else{if(!Ee[ct])return ht?we:{};Ke=_(we,ct,wt)}}ot||(ot=new e);var Et=ot.get(we);if(Et)return Et;ot.set(we,Ke),b(we)?we.forEach(function(nt){Ke.add(Ge(nt,ye,ze,nt,we,ot))}):k(we)&&we.forEach(function(nt,Ue){Ke.set(Ue,Ge(nt,ye,ze,Ue,we,ot))});var Be=Dt?pt?h:p:pt?A:T,mt=It?void 0:Be(we);return n(mt||we,function(nt,Ue){mt&&(Ue=nt,nt=we[Ue]),i(Ke,Ue,Ge(nt,ye,ze,Ue,we,ot))}),Ke}return Ed=Ge,Ed}var Nd,$_;function uq(){if($_)return Nd;$_=1;var e=lN(),n=4;function i(s){return e(s,n)}return Nd=i,Nd}var Cd,D_;function Wg(){if(D_)return Cd;D_=1;function e(n){return function(){return n}}return Cd=e,Cd}var Td,F_;function lq(){if(F_)return Td;F_=1;function e(n){return function(i,s,o){for(var u=-1,l=Object(i),c=o(i),d=c.length;d--;){var p=c[n?d:++u];if(s(l[p],p,l)===!1)break}return i}}return Td=e,Td}var Rd,z_;function Gg(){if(z_)return Rd;z_=1;var e=lq(),n=e();return Rd=n,Rd}var jd,B_;function Kg(){if(B_)return jd;B_=1;var e=Gg(),n=qr();function i(s,o){return s&&e(s,o,n)}return jd=i,jd}var Ad,U_;function cq(){if(U_)return Ad;U_=1;var e=sr();function n(i,s){return function(o,u){if(o==null)return o;if(!e(o))return i(o,u);for(var l=o.length,c=s?l:-1,d=Object(o);(s?c--:++c<l)&&u(d[c],c,d)!==!1;);return o}}return Ad=n,Ad}var Id,H_;function Su(){if(H_)return Id;H_=1;var e=Kg(),n=cq(),i=n(e);return Id=i,Id}var Md,V_;function ai(){if(V_)return Md;V_=1;function e(n){return n}return Md=e,Md}var Pd,W_;function cN(){if(W_)return Pd;W_=1;var e=ai();function n(i){return typeof i=="function"?i:e}return Pd=n,Pd}var qd,G_;function fN(){if(G_)return qd;G_=1;var e=Dg(),n=Su(),i=cN(),s=yt();function o(u,l){var c=s(u)?e:n;return c(u,i(l))}return qd=o,qd}var Od,K_;function dN(){return K_||(K_=1,Od=fN()),Od}var Ld,Y_;function fq(){if(Y_)return Ld;Y_=1;var e=Su();function n(i,s){var o=[];return e(i,function(u,l,c){s(u,l,c)&&o.push(u)}),o}return Ld=n,Ld}var $d,X_;function dq(){if(X_)return $d;X_=1;var e="__lodash_hash_undefined__";function n(i){return this.__data__.set(i,e),this}return $d=n,$d}var Dd,Q_;function hq(){if(Q_)return Dd;Q_=1;function e(n){return this.__data__.has(n)}return Dd=e,Dd}var Fd,Z_;function hN(){if(Z_)return Fd;Z_=1;var e=$g(),n=dq(),i=hq();function s(o){var u=-1,l=o==null?0:o.length;for(this.__data__=new e;++u<l;)this.add(o[u])}return s.prototype.add=s.prototype.push=n,s.prototype.has=i,Fd=s,Fd}var zd,J_;function pq(){if(J_)return zd;J_=1;function e(n,i){for(var s=-1,o=n==null?0:n.length;++s<o;)if(i(n[s],s,n))return!0;return!1}return zd=e,zd}var Bd,ex;function pN(){if(ex)return Bd;ex=1;function e(n,i){return n.has(i)}return Bd=e,Bd}var Ud,tx;function mN(){if(tx)return Ud;tx=1;var e=hN(),n=pq(),i=pN(),s=1,o=2;function u(l,c,d,p,h,m){var v=d&s,_=l.length,N=c.length;if(_!=N&&!(v&&N>_))return!1;var x=m.get(l),S=m.get(c);if(x&&S)return x==c&&S==l;var k=-1,E=!0,b=d&o?new e:void 0;for(m.set(l,c),m.set(c,l);++k<_;){var T=l[k],A=c[k];if(p)var I=v?p(A,T,k,c,l,m):p(T,A,k,l,c,m);if(I!==void 0){if(I)continue;E=!1;break}if(b){if(!n(c,function(j,D){if(!i(b,D)&&(T===j||h(T,j,d,p,m)))return b.push(D)})){E=!1;break}}else if(!(T===A||h(T,A,d,p,m))){E=!1;break}}return m.delete(l),m.delete(c),E}return Ud=u,Ud}var Hd,nx;function mq(){if(nx)return Hd;nx=1;function e(n){var i=-1,s=Array(n.size);return n.forEach(function(o,u){s[++i]=[u,o]}),s}return Hd=e,Hd}var Vd,rx;function Yg(){if(rx)return Vd;rx=1;function e(n){var i=-1,s=Array(n.size);return n.forEach(function(o){s[++i]=o}),s}return Vd=e,Vd}var Wd,ix;function gq(){if(ix)return Wd;ix=1;var e=Zi(),n=sN(),i=Qi(),s=mN(),o=mq(),u=Yg(),l=1,c=2,d="[object Boolean]",p="[object Date]",h="[object Error]",m="[object Map]",v="[object Number]",_="[object RegExp]",N="[object Set]",x="[object String]",S="[object Symbol]",k="[object ArrayBuffer]",E="[object DataView]",b=e?e.prototype:void 0,T=b?b.valueOf:void 0;function A(I,j,D,O,U,H,Q){switch(D){case E:if(I.byteLength!=j.byteLength||I.byteOffset!=j.byteOffset)return!1;I=I.buffer,j=j.buffer;case k:return!(I.byteLength!=j.byteLength||!H(new n(I),new n(j)));case d:case p:case v:return i(+I,+j);case h:return I.name==j.name&&I.message==j.message;case _:case x:return I==j+"";case m:var ee=o;case N:var R=O&l;if(ee||(ee=u),I.size!=j.size&&!R)return!1;var G=Q.get(I);if(G)return G==j;O|=c,Q.set(I,j);var B=s(ee(I),ee(j),O,U,H,Q);return Q.delete(I),B;case S:if(T)return T.call(I)==T.call(j)}return!1}return Wd=A,Wd}var Gd,sx;function vq(){if(sx)return Gd;sx=1;var e=rN(),n=1,i=Object.prototype,s=i.hasOwnProperty;function o(u,l,c,d,p,h){var m=c&n,v=e(u),_=v.length,N=e(l),x=N.length;if(_!=x&&!m)return!1;for(var S=_;S--;){var k=v[S];if(!(m?k in l:s.call(l,k)))return!1}var E=h.get(u),b=h.get(l);if(E&&b)return E==l&&b==u;var T=!0;h.set(u,l),h.set(l,u);for(var A=m;++S<_;){k=v[S];var I=u[k],j=l[k];if(d)var D=m?d(j,I,k,l,u,h):d(I,j,k,u,l,h);if(!(D===void 0?I===j||p(I,j,c,d,h):D)){T=!1;break}A||(A=k=="constructor")}if(T&&!A){var O=u.constructor,U=l.constructor;O!=U&&"constructor"in u&&"constructor"in l&&!(typeof O=="function"&&O instanceof O&&typeof U=="function"&&U instanceof U)&&(T=!1)}return h.delete(u),h.delete(l),T}return Gd=o,Gd}var Kd,ox;function yq(){if(ox)return Kd;ox=1;var e=mu(),n=mN(),i=gq(),s=vq(),o=es(),u=yt(),l=Ji(),c=mo(),d=1,p="[object Arguments]",h="[object Array]",m="[object Object]",v=Object.prototype,_=v.hasOwnProperty;function N(x,S,k,E,b,T){var A=u(x),I=u(S),j=A?h:o(x),D=I?h:o(S);j=j==p?m:j,D=D==p?m:D;var O=j==m,U=D==m,H=j==D;if(H&&l(x)){if(!l(S))return!1;A=!0,O=!1}if(H&&!O)return T||(T=new e),A||c(x)?n(x,S,k,E,b,T):i(x,S,j,k,E,b,T);if(!(k&d)){var Q=O&&_.call(x,"__wrapped__"),ee=U&&_.call(S,"__wrapped__");if(Q||ee){var R=Q?x.value():x,G=ee?S.value():S;return T||(T=new e),b(R,G,k,E,T)}}return H?(T||(T=new e),s(x,S,k,E,b,T)):!1}return Kd=N,Kd}var Yd,ax;function gN(){if(ax)return Yd;ax=1;var e=yq(),n=Un();function i(s,o,u,l,c){return s===o?!0:s==null||o==null||!n(s)&&!n(o)?s!==s&&o!==o:e(s,o,u,l,i,c)}return Yd=i,Yd}var Xd,ux;function wq(){if(ux)return Xd;ux=1;var e=mu(),n=gN(),i=1,s=2;function o(u,l,c,d){var p=c.length,h=p,m=!d;if(u==null)return!h;for(u=Object(u);p--;){var v=c[p];if(m&&v[2]?v[1]!==u[v[0]]:!(v[0]in u))return!1}for(;++p<h;){v=c[p];var _=v[0],N=u[_],x=v[1];if(m&&v[2]){if(N===void 0&&!(_ in u))return!1}else{var S=new e;if(d)var k=d(N,x,_,u,l,S);if(!(k===void 0?n(x,N,i|s,d,S):k))return!1}}return!0}return Xd=o,Xd}var Qd,lx;function vN(){if(lx)return Qd;lx=1;var e=vn();function n(i){return i===i&&!e(i)}return Qd=n,Qd}var Zd,cx;function _q(){if(cx)return Zd;cx=1;var e=vN(),n=qr();function i(s){for(var o=n(s),u=o.length;u--;){var l=o[u],c=s[l];o[u]=[l,c,e(c)]}return o}return Zd=i,Zd}var Jd,fx;function yN(){if(fx)return Jd;fx=1;function e(n,i){return function(s){return s==null?!1:s[n]===i&&(i!==void 0||n in Object(s))}}return Jd=e,Jd}var eh,dx;function xq(){if(dx)return eh;dx=1;var e=wq(),n=_q(),i=yN();function s(o){var u=n(o);return u.length==1&&u[0][2]?i(u[0][0],u[0][1]):function(l){return l===o||e(l,o,u)}}return eh=s,eh}var th,hx;function ts(){if(hx)return th;hx=1;var e=ii(),n=Un(),i="[object Symbol]";function s(o){return typeof o=="symbol"||n(o)&&e(o)==i}return th=s,th}var nh,px;function Xg(){if(px)return nh;px=1;var e=yt(),n=ts(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;function o(u,l){if(e(u))return!1;var c=typeof u;return c=="number"||c=="symbol"||c=="boolean"||u==null||n(u)?!0:s.test(u)||!i.test(u)||l!=null&&u in Object(l)}return nh=o,nh}var rh,mx;function Sq(){if(mx)return rh;mx=1;var e=$g(),n="Expected a function";function i(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new TypeError(n);var u=function(){var l=arguments,c=o?o.apply(this,l):l[0],d=u.cache;if(d.has(c))return d.get(c);var p=s.apply(this,l);return u.cache=d.set(c,p)||d,p};return u.cache=new(i.Cache||e),u}return i.Cache=e,rh=i,rh}var ih,gx;function kq(){if(gx)return ih;gx=1;var e=Sq(),n=500;function i(s){var o=e(s,function(l){return u.size===n&&u.clear(),l}),u=o.cache;return o}return ih=i,ih}var sh,vx;function bq(){if(vx)return sh;vx=1;var e=kq(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,s=e(function(o){var u=[];return o.charCodeAt(0)===46&&u.push(""),o.replace(n,function(l,c,d,p){u.push(d?p.replace(i,"$1"):c||l)}),u});return sh=s,sh}var oh,yx;function ku(){if(yx)return oh;yx=1;function e(n,i){for(var s=-1,o=n==null?0:n.length,u=Array(o);++s<o;)u[s]=i(n[s],s,n);return u}return oh=e,oh}var ah,wx;function Eq(){if(wx)return ah;wx=1;var e=Zi(),n=ku(),i=yt(),s=ts(),o=e?e.prototype:void 0,u=o?o.toString:void 0;function l(c){if(typeof c=="string")return c;if(i(c))return n(c,l)+"";if(s(c))return u?u.call(c):"";var d=c+"";return d=="0"&&1/c==-1/0?"-0":d}return ah=l,ah}var uh,_x;function wN(){if(_x)return uh;_x=1;var e=Eq();function n(i){return i==null?"":e(i)}return uh=n,uh}var lh,xx;function bu(){if(xx)return lh;xx=1;var e=yt(),n=Xg(),i=bq(),s=wN();function o(u,l){return e(u)?u:n(u,l)?[u]:i(s(u))}return lh=o,lh}var ch,Sx;function go(){if(Sx)return ch;Sx=1;var e=ts();function n(i){if(typeof i=="string"||e(i))return i;var s=i+"";return s=="0"&&1/i==-1/0?"-0":s}return ch=n,ch}var fh,kx;function Eu(){if(kx)return fh;kx=1;var e=bu(),n=go();function i(s,o){o=e(o,s);for(var u=0,l=o.length;s!=null&&u<l;)s=s[n(o[u++])];return u&&u==l?s:void 0}return fh=i,fh}var dh,bx;function Nq(){if(bx)return dh;bx=1;var e=Eu();function n(i,s,o){var u=i==null?void 0:e(i,s);return u===void 0?o:u}return dh=n,dh}var hh,Ex;function Cq(){if(Ex)return hh;Ex=1;function e(n,i){return n!=null&&i in Object(n)}return hh=e,hh}var ph,Nx;function _N(){if(Nx)return ph;Nx=1;var e=bu(),n=po(),i=yt(),s=yu(),o=Fg(),u=go();function l(c,d,p){d=e(d,c);for(var h=-1,m=d.length,v=!1;++h<m;){var _=u(d[h]);if(!(v=c!=null&&p(c,_)))break;c=c[_]}return v||++h!=m?v:(m=c==null?0:c.length,!!m&&o(m)&&s(_,m)&&(i(c)||n(c)))}return ph=l,ph}var mh,Cx;function xN(){if(Cx)return mh;Cx=1;var e=Cq(),n=_N();function i(s,o){return s!=null&&n(s,o,e)}return mh=i,mh}var gh,Tx;function Tq(){if(Tx)return gh;Tx=1;var e=gN(),n=Nq(),i=xN(),s=Xg(),o=vN(),u=yN(),l=go(),c=1,d=2;function p(h,m){return s(h)&&o(m)?u(l(h),m):function(v){var _=n(v,h);return _===void 0&&_===m?i(v,h):e(m,_,c|d)}}return gh=p,gh}var vh,Rx;function SN(){if(Rx)return vh;Rx=1;function e(n){return function(i){return i==null?void 0:i[n]}}return vh=e,vh}var yh,jx;function Rq(){if(jx)return yh;jx=1;var e=Eu();function n(i){return function(s){return e(s,i)}}return yh=n,yh}var wh,Ax;function jq(){if(Ax)return wh;Ax=1;var e=SN(),n=Rq(),i=Xg(),s=go();function o(u){return i(u)?e(s(u)):n(u)}return wh=o,wh}var _h,Ix;function or(){if(Ix)return _h;Ix=1;var e=xq(),n=Tq(),i=ai(),s=yt(),o=jq();function u(l){return typeof l=="function"?l:l==null?i:typeof l=="object"?s(l)?n(l[0],l[1]):e(l):o(l)}return _h=u,_h}var xh,Mx;function kN(){if(Mx)return xh;Mx=1;var e=JE(),n=fq(),i=or(),s=yt();function o(u,l){var c=s(u)?e:n;return c(u,i(l,3))}return xh=o,xh}var Sh,Px;function Aq(){if(Px)return Sh;Px=1;var e=Object.prototype,n=e.hasOwnProperty;function i(s,o){return s!=null&&n.call(s,o)}return Sh=i,Sh}var kh,qx;function bN(){if(qx)return kh;qx=1;var e=Aq(),n=_N();function i(s,o){return s!=null&&n(s,o,e)}return kh=i,kh}var bh,Ox;function Iq(){if(Ox)return bh;Ox=1;var e=Bg(),n=es(),i=po(),s=yt(),o=sr(),u=Ji(),l=_u(),c=mo(),d="[object Map]",p="[object Set]",h=Object.prototype,m=h.hasOwnProperty;function v(_){if(_==null)return!0;if(o(_)&&(s(_)||typeof _=="string"||typeof _.splice=="function"||u(_)||c(_)||i(_)))return!_.length;var N=n(_);if(N==d||N==p)return!_.size;if(l(_))return!e(_).length;for(var x in _)if(m.call(_,x))return!1;return!0}return bh=v,bh}var Eh,Lx;function EN(){if(Lx)return Eh;Lx=1;function e(n){return n===void 0}return Eh=e,Eh}var Nh,$x;function NN(){if($x)return Nh;$x=1;var e=Su(),n=sr();function i(s,o){var u=-1,l=n(s)?Array(s.length):[];return e(s,function(c,d,p){l[++u]=o(c,d,p)}),l}return Nh=i,Nh}var Ch,Dx;function CN(){if(Dx)return Ch;Dx=1;var e=ku(),n=or(),i=NN(),s=yt();function o(u,l){var c=s(u)?e:i;return c(u,n(l,3))}return Ch=o,Ch}var Th,Fx;function Mq(){if(Fx)return Th;Fx=1;function e(n,i,s,o){var u=-1,l=n==null?0:n.length;for(o&&l&&(s=n[++u]);++u<l;)s=i(s,n[u],u,n);return s}return Th=e,Th}var Rh,zx;function Pq(){if(zx)return Rh;zx=1;function e(n,i,s,o,u){return u(n,function(l,c,d){s=o?(o=!1,l):i(s,l,c,d)}),s}return Rh=e,Rh}var jh,Bx;function TN(){if(Bx)return jh;Bx=1;var e=Mq(),n=Su(),i=or(),s=Pq(),o=yt();function u(l,c,d){var p=o(l)?e:s,h=arguments.length<3;return p(l,i(c,4),d,h,n)}return jh=u,jh}var Ah,Ux;function qq(){if(Ux)return Ah;Ux=1;var e=ii(),n=yt(),i=Un(),s="[object String]";function o(u){return typeof u=="string"||!n(u)&&i(u)&&e(u)==s}return Ah=o,Ah}var Ih,Hx;function Oq(){if(Hx)return Ih;Hx=1;var e=SN(),n=e("length");return Ih=n,Ih}var Mh,Vx;function Lq(){if(Vx)return Mh;Vx=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+i+s,u="\\ufe0e\\ufe0f",l="\\u200d",c=RegExp("["+l+e+o+u+"]");function d(p){return c.test(p)}return Mh=d,Mh}var Ph,Wx;function $q(){if(Wx)return Ph;Wx=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+i+s,u="\\ufe0e\\ufe0f",l="["+e+"]",c="["+o+"]",d="\\ud83c[\\udffb-\\udfff]",p="(?:"+c+"|"+d+")",h="[^"+e+"]",m="(?:\\ud83c[\\udde6-\\uddff]){2}",v="[\\ud800-\\udbff][\\udc00-\\udfff]",_="\\u200d",N=p+"?",x="["+u+"]?",S="(?:"+_+"(?:"+[h,m,v].join("|")+")"+x+N+")*",k=x+N+S,E="(?:"+[h+c+"?",c,m,v,l].join("|")+")",b=RegExp(d+"(?="+d+")|"+E+k,"g");function T(A){for(var I=b.lastIndex=0;b.test(A);)++I;return I}return Ph=T,Ph}var qh,Gx;function Dq(){if(Gx)return qh;Gx=1;var e=Oq(),n=Lq(),i=$q();function s(o){return n(o)?i(o):e(o)}return qh=s,qh}var Oh,Kx;function Fq(){if(Kx)return Oh;Kx=1;var e=Bg(),n=es(),i=sr(),s=qq(),o=Dq(),u="[object Map]",l="[object Set]";function c(d){if(d==null)return 0;if(i(d))return s(d)?o(d):d.length;var p=n(d);return p==u||p==l?d.size:e(d).length}return Oh=c,Oh}var Lh,Yx;function zq(){if(Yx)return Lh;Yx=1;var e=Dg(),n=aN(),i=Kg(),s=or(),o=xu(),u=yt(),l=Ji(),c=fo(),d=vn(),p=mo();function h(m,v,_){var N=u(m),x=N||l(m)||p(m);if(v=s(v,4),_==null){var S=m&&m.constructor;x?_=N?new S:[]:d(m)?_=c(S)?n(o(m)):{}:_={}}return(x?e:i)(m,function(k,E,b){return v(_,k,E,b)}),_}return Lh=h,Lh}var $h,Xx;function Bq(){if(Xx)return $h;Xx=1;var e=Zi(),n=po(),i=yt(),s=e?e.isConcatSpreadable:void 0;function o(u){return i(u)||n(u)||!!(s&&u&&u[s])}return $h=o,$h}var Dh,Qx;function Qg(){if(Qx)return Dh;Qx=1;var e=Hg(),n=Bq();function i(s,o,u,l,c){var d=-1,p=s.length;for(u||(u=n),c||(c=[]);++d<p;){var h=s[d];o>0&&u(h)?o>1?i(h,o-1,u,l,c):e(c,h):l||(c[c.length]=h)}return c}return Dh=i,Dh}var Fh,Zx;function Uq(){if(Zx)return Fh;Zx=1;function e(n,i,s){switch(s.length){case 0:return n.call(i);case 1:return n.call(i,s[0]);case 2:return n.call(i,s[0],s[1]);case 3:return n.call(i,s[0],s[1],s[2])}return n.apply(i,s)}return Fh=e,Fh}var zh,Jx;function RN(){if(Jx)return zh;Jx=1;var e=Uq(),n=Math.max;function i(s,o,u){return o=n(o===void 0?s.length-1:o,0),function(){for(var l=arguments,c=-1,d=n(l.length-o,0),p=Array(d);++c<d;)p[c]=l[o+c];c=-1;for(var h=Array(o+1);++c<o;)h[c]=l[c];return h[o]=u(p),e(s,this,h)}}return zh=i,zh}var Bh,eS;function Hq(){if(eS)return Bh;eS=1;var e=Wg(),n=KE(),i=ai(),s=n?function(o,u){return n(o,"toString",{configurable:!0,enumerable:!1,value:e(u),writable:!0})}:i;return Bh=s,Bh}var Uh,tS;function Vq(){if(tS)return Uh;tS=1;var e=800,n=16,i=Date.now;function s(o){var u=0,l=0;return function(){var c=i(),d=n-(c-l);if(l=c,d>0){if(++u>=e)return arguments[0]}else u=0;return o.apply(void 0,arguments)}}return Uh=s,Uh}var Hh,nS;function jN(){if(nS)return Hh;nS=1;var e=Hq(),n=Vq(),i=n(e);return Hh=i,Hh}var Vh,rS;function Nu(){if(rS)return Vh;rS=1;var e=ai(),n=RN(),i=jN();function s(o,u){return i(n(o,u,e),o+"")}return Vh=s,Vh}var Wh,iS;function AN(){if(iS)return Wh;iS=1;function e(n,i,s,o){for(var u=n.length,l=s+(o?1:-1);o?l--:++l<u;)if(i(n[l],l,n))return l;return-1}return Wh=e,Wh}var Gh,sS;function Wq(){if(sS)return Gh;sS=1;function e(n){return n!==n}return Gh=e,Gh}var Kh,oS;function Gq(){if(oS)return Kh;oS=1;function e(n,i,s){for(var o=s-1,u=n.length;++o<u;)if(n[o]===i)return o;return-1}return Kh=e,Kh}var Yh,aS;function Kq(){if(aS)return Yh;aS=1;var e=AN(),n=Wq(),i=Gq();function s(o,u,l){return u===u?i(o,u,l):e(o,n,l)}return Yh=s,Yh}var Xh,uS;function Yq(){if(uS)return Xh;uS=1;var e=Kq();function n(i,s){var o=i==null?0:i.length;return!!o&&e(i,s,0)>-1}return Xh=n,Xh}var Qh,lS;function Xq(){if(lS)return Qh;lS=1;function e(n,i,s){for(var o=-1,u=n==null?0:n.length;++o<u;)if(s(i,n[o]))return!0;return!1}return Qh=e,Qh}var Zh,cS;function Qq(){if(cS)return Zh;cS=1;function e(){}return Zh=e,Zh}var Jh,fS;function Zq(){if(fS)return Jh;fS=1;var e=iN(),n=Qq(),i=Yg(),s=1/0,o=e&&1/i(new e([,-0]))[1]==s?function(u){return new e(u)}:n;return Jh=o,Jh}var ep,dS;function Jq(){if(dS)return ep;dS=1;var e=hN(),n=Yq(),i=Xq(),s=pN(),o=Zq(),u=Yg(),l=200;function c(d,p,h){var m=-1,v=n,_=d.length,N=!0,x=[],S=x;if(h)N=!1,v=i;else if(_>=l){var k=p?null:o(d);if(k)return u(k);N=!1,v=s,S=new e}else S=p?[]:x;e:for(;++m<_;){var E=d[m],b=p?p(E):E;if(E=h||E!==0?E:0,N&&b===b){for(var T=S.length;T--;)if(S[T]===b)continue e;p&&S.push(b),x.push(E)}else v(S,b,h)||(S!==x&&S.push(b),x.push(E))}return x}return ep=c,ep}var tp,hS;function IN(){if(hS)return tp;hS=1;var e=sr(),n=Un();function i(s){return n(s)&&e(s)}return tp=i,tp}var np,pS;function eO(){if(pS)return np;pS=1;var e=Qg(),n=Nu(),i=Jq(),s=IN(),o=n(function(u){return i(e(u,1,s,!0))});return np=o,np}var rp,mS;function tO(){if(mS)return rp;mS=1;var e=ku();function n(i,s){return e(s,function(o){return i[o]})}return rp=n,rp}var ip,gS;function MN(){if(gS)return ip;gS=1;var e=tO(),n=qr();function i(s){return s==null?[]:e(s,n(s))}return ip=i,ip}var sp,vS;function yn(){if(vS)return sp;vS=1;var e;if(typeof Og=="function")try{e={clone:uq(),constant:Wg(),each:dN(),filter:kN(),has:bN(),isArray:yt(),isEmpty:Iq(),isFunction:fo(),isUndefined:EN(),keys:qr(),map:CN(),reduce:TN(),size:Fq(),transform:zq(),union:eO(),values:MN()}}catch{}return e||(e=window._),sp=e,sp}var op,yS;function Zg(){if(yS)return op;yS=1;var e=yn();op=o;var n="\0",i="\0",s="";function o(h){this._isDirected=e.has(h,"directed")?h.directed:!0,this._isMultigraph=e.has(h,"multigraph")?h.multigraph:!1,this._isCompound=e.has(h,"compound")?h.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[i]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(h){return this._label=h,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(h){return e.isFunction(h)||(h=e.constant(h)),this._defaultNodeLabelFn=h,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return e.keys(this._nodes)},o.prototype.sources=function(){var h=this;return e.filter(this.nodes(),function(m){return e.isEmpty(h._in[m])})},o.prototype.sinks=function(){var h=this;return e.filter(this.nodes(),function(m){return e.isEmpty(h._out[m])})},o.prototype.setNodes=function(h,m){var v=arguments,_=this;return e.each(h,function(N){v.length>1?_.setNode(N,m):_.setNode(N)}),this},o.prototype.setNode=function(h,m){return e.has(this._nodes,h)?(arguments.length>1&&(this._nodes[h]=m),this):(this._nodes[h]=arguments.length>1?m:this._defaultNodeLabelFn(h),this._isCompound&&(this._parent[h]=i,this._children[h]={},this._children[i][h]=!0),this._in[h]={},this._preds[h]={},this._out[h]={},this._sucs[h]={},++this._nodeCount,this)},o.prototype.node=function(h){return this._nodes[h]},o.prototype.hasNode=function(h){return e.has(this._nodes,h)},o.prototype.removeNode=function(h){var m=this;if(e.has(this._nodes,h)){var v=function(_){m.removeEdge(m._edgeObjs[_])};delete this._nodes[h],this._isCompound&&(this._removeFromParentsChildList(h),delete this._parent[h],e.each(this.children(h),function(_){m.setParent(_)}),delete this._children[h]),e.each(e.keys(this._in[h]),v),delete this._in[h],delete this._preds[h],e.each(e.keys(this._out[h]),v),delete this._out[h],delete this._sucs[h],--this._nodeCount}return this},o.prototype.setParent=function(h,m){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(m))m=i;else{m+="";for(var v=m;!e.isUndefined(v);v=this.parent(v))if(v===h)throw new Error("Setting "+m+" as parent of "+h+" would create a cycle");this.setNode(m)}return this.setNode(h),this._removeFromParentsChildList(h),this._parent[h]=m,this._children[m][h]=!0,this},o.prototype._removeFromParentsChildList=function(h){delete this._children[this._parent[h]][h]},o.prototype.parent=function(h){if(this._isCompound){var m=this._parent[h];if(m!==i)return m}},o.prototype.children=function(h){if(e.isUndefined(h)&&(h=i),this._isCompound){var m=this._children[h];if(m)return e.keys(m)}else{if(h===i)return this.nodes();if(this.hasNode(h))return[]}},o.prototype.predecessors=function(h){var m=this._preds[h];if(m)return e.keys(m)},o.prototype.successors=function(h){var m=this._sucs[h];if(m)return e.keys(m)},o.prototype.neighbors=function(h){var m=this.predecessors(h);if(m)return e.union(m,this.successors(h))},o.prototype.isLeaf=function(h){var m;return this.isDirected()?m=this.successors(h):m=this.neighbors(h),m.length===0},o.prototype.filterNodes=function(h){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var v=this;e.each(this._nodes,function(x,S){h(S)&&m.setNode(S,x)}),e.each(this._edgeObjs,function(x){m.hasNode(x.v)&&m.hasNode(x.w)&&m.setEdge(x,v.edge(x))});var _={};function N(x){var S=v.parent(x);return S===void 0||m.hasNode(S)?(_[x]=S,S):S in _?_[S]:N(S)}return this._isCompound&&e.each(m.nodes(),function(x){m.setParent(x,N(x))}),m},o.prototype.setDefaultEdgeLabel=function(h){return e.isFunction(h)||(h=e.constant(h)),this._defaultEdgeLabelFn=h,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return e.values(this._edgeObjs)},o.prototype.setPath=function(h,m){var v=this,_=arguments;return e.reduce(h,function(N,x){return _.length>1?v.setEdge(N,x,m):v.setEdge(N,x),x}),this},o.prototype.setEdge=function(){var h,m,v,_,N=!1,x=arguments[0];typeof x=="object"&&x!==null&&"v"in x?(h=x.v,m=x.w,v=x.name,arguments.length===2&&(_=arguments[1],N=!0)):(h=x,m=arguments[1],v=arguments[3],arguments.length>2&&(_=arguments[2],N=!0)),h=""+h,m=""+m,e.isUndefined(v)||(v=""+v);var S=c(this._isDirected,h,m,v);if(e.has(this._edgeLabels,S))return N&&(this._edgeLabels[S]=_),this;if(!e.isUndefined(v)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(h),this.setNode(m),this._edgeLabels[S]=N?_:this._defaultEdgeLabelFn(h,m,v);var k=d(this._isDirected,h,m,v);return h=k.v,m=k.w,Object.freeze(k),this._edgeObjs[S]=k,u(this._preds[m],h),u(this._sucs[h],m),this._in[m][S]=k,this._out[h][S]=k,this._edgeCount++,this},o.prototype.edge=function(h,m,v){var _=arguments.length===1?p(this._isDirected,arguments[0]):c(this._isDirected,h,m,v);return this._edgeLabels[_]},o.prototype.hasEdge=function(h,m,v){var _=arguments.length===1?p(this._isDirected,arguments[0]):c(this._isDirected,h,m,v);return e.has(this._edgeLabels,_)},o.prototype.removeEdge=function(h,m,v){var _=arguments.length===1?p(this._isDirected,arguments[0]):c(this._isDirected,h,m,v),N=this._edgeObjs[_];return N&&(h=N.v,m=N.w,delete this._edgeLabels[_],delete this._edgeObjs[_],l(this._preds[m],h),l(this._sucs[h],m),delete this._in[m][_],delete this._out[h][_],this._edgeCount--),this},o.prototype.inEdges=function(h,m){var v=this._in[h];if(v){var _=e.values(v);return m?e.filter(_,function(N){return N.v===m}):_}},o.prototype.outEdges=function(h,m){var v=this._out[h];if(v){var _=e.values(v);return m?e.filter(_,function(N){return N.w===m}):_}},o.prototype.nodeEdges=function(h,m){var v=this.inEdges(h,m);if(v)return v.concat(this.outEdges(h,m))};function u(h,m){h[m]?h[m]++:h[m]=1}function l(h,m){--h[m]||delete h[m]}function c(h,m,v,_){var N=""+m,x=""+v;if(!h&&N>x){var S=N;N=x,x=S}return N+s+x+s+(e.isUndefined(_)?n:_)}function d(h,m,v,_){var N=""+m,x=""+v;if(!h&&N>x){var S=N;N=x,x=S}var k={v:N,w:x};return _&&(k.name=_),k}function p(h,m){return c(h,m.v,m.w,m.name)}return op}var ap,wS;function nO(){return wS||(wS=1,ap="2.1.8"),ap}var up,_S;function rO(){return _S||(_S=1,up={Graph:Zg(),version:nO()}),up}var lp,xS;function iO(){if(xS)return lp;xS=1;var e=yn(),n=Zg();lp={write:i,read:u};function i(l){var c={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:s(l),edges:o(l)};return e.isUndefined(l.graph())||(c.value=e.clone(l.graph())),c}function s(l){return e.map(l.nodes(),function(c){var d=l.node(c),p=l.parent(c),h={v:c};return e.isUndefined(d)||(h.value=d),e.isUndefined(p)||(h.parent=p),h})}function o(l){return e.map(l.edges(),function(c){var d=l.edge(c),p={v:c.v,w:c.w};return e.isUndefined(c.name)||(p.name=c.name),e.isUndefined(d)||(p.value=d),p})}function u(l){var c=new n(l.options).setGraph(l.value);return e.each(l.nodes,function(d){c.setNode(d.v,d.value),d.parent&&c.setParent(d.v,d.parent)}),e.each(l.edges,function(d){c.setEdge({v:d.v,w:d.w,name:d.name},d.value)}),c}return lp}var cp,SS;function sO(){if(SS)return cp;SS=1;var e=yn();cp=n;function n(i){var s={},o=[],u;function l(c){e.has(s,c)||(s[c]=!0,u.push(c),e.each(i.successors(c),l),e.each(i.predecessors(c),l))}return e.each(i.nodes(),function(c){u=[],l(c),u.length&&o.push(u)}),o}return cp}var fp,kS;function PN(){if(kS)return fp;kS=1;var e=yn();fp=n;function n(){this._arr=[],this._keyIndices={}}return n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(i){return i.key})},n.prototype.has=function(i){return e.has(this._keyIndices,i)},n.prototype.priority=function(i){var s=this._keyIndices[i];if(s!==void 0)return this._arr[s].priority},n.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(i,s){var o=this._keyIndices;if(i=String(i),!e.has(o,i)){var u=this._arr,l=u.length;return o[i]=l,u.push({key:i,priority:s}),this._decrease(l),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key},n.prototype.decrease=function(i,s){var o=this._keyIndices[i];if(s>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[o].priority+" New: "+s);this._arr[o].priority=s,this._decrease(o)},n.prototype._heapify=function(i){var s=this._arr,o=2*i,u=o+1,l=i;o<s.length&&(l=s[o].priority<s[l].priority?o:l,u<s.length&&(l=s[u].priority<s[l].priority?u:l),l!==i&&(this._swap(i,l),this._heapify(l)))},n.prototype._decrease=function(i){for(var s=this._arr,o=s[i].priority,u;i!==0&&(u=i>>1,!(s[u].priority<o));)this._swap(i,u),i=u},n.prototype._swap=function(i,s){var o=this._arr,u=this._keyIndices,l=o[i],c=o[s];o[i]=c,o[s]=l,u[c.key]=i,u[l.key]=s},fp}var dp,bS;function qN(){if(bS)return dp;bS=1;var e=yn(),n=PN();dp=s;var i=e.constant(1);function s(u,l,c,d){return o(u,String(l),c||i,d||function(p){return u.outEdges(p)})}function o(u,l,c,d){var p={},h=new n,m,v,_=function(N){var x=N.v!==m?N.v:N.w,S=p[x],k=c(N),E=v.distance+k;if(k<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+N+" Weight: "+k);E<S.distance&&(S.distance=E,S.predecessor=m,h.decrease(x,E))};for(u.nodes().forEach(function(N){var x=N===l?0:Number.POSITIVE_INFINITY;p[N]={distance:x},h.add(N,x)});h.size()>0&&(m=h.removeMin(),v=p[m],v.distance!==Number.POSITIVE_INFINITY);)d(m).forEach(_);return p}return dp}var hp,ES;function oO(){if(ES)return hp;ES=1;var e=qN(),n=yn();hp=i;function i(s,o,u){return n.transform(s.nodes(),function(l,c){l[c]=e(s,c,o,u)},{})}return hp}var pp,NS;function ON(){if(NS)return pp;NS=1;var e=yn();pp=n;function n(i){var s=0,o=[],u={},l=[];function c(d){var p=u[d]={onStack:!0,lowlink:s,index:s++};if(o.push(d),i.successors(d).forEach(function(v){e.has(u,v)?u[v].onStack&&(p.lowlink=Math.min(p.lowlink,u[v].index)):(c(v),p.lowlink=Math.min(p.lowlink,u[v].lowlink))}),p.lowlink===p.index){var h=[],m;do m=o.pop(),u[m].onStack=!1,h.push(m);while(d!==m);l.push(h)}}return i.nodes().forEach(function(d){e.has(u,d)||c(d)}),l}return pp}var mp,CS;function aO(){if(CS)return mp;CS=1;var e=yn(),n=ON();mp=i;function i(s){return e.filter(n(s),function(o){return o.length>1||o.length===1&&s.hasEdge(o[0],o[0])})}return mp}var gp,TS;function uO(){if(TS)return gp;TS=1;var e=yn();gp=i;var n=e.constant(1);function i(o,u,l){return s(o,u||n,l||function(c){return o.outEdges(c)})}function s(o,u,l){var c={},d=o.nodes();return d.forEach(function(p){c[p]={},c[p][p]={distance:0},d.forEach(function(h){p!==h&&(c[p][h]={distance:Number.POSITIVE_INFINITY})}),l(p).forEach(function(h){var m=h.v===p?h.w:h.v,v=u(h);c[p][m]={distance:v,predecessor:p}})}),d.forEach(function(p){var h=c[p];d.forEach(function(m){var v=c[m];d.forEach(function(_){var N=v[p],x=h[_],S=v[_],k=N.distance+x.distance;k<S.distance&&(S.distance=k,S.predecessor=x.predecessor)})})}),c}return gp}var vp,RS;function LN(){if(RS)return vp;RS=1;var e=yn();vp=n,n.CycleException=i;function n(s){var o={},u={},l=[];function c(d){if(e.has(u,d))throw new i;e.has(o,d)||(u[d]=!0,o[d]=!0,e.each(s.predecessors(d),c),delete u[d],l.push(d))}if(e.each(s.sinks(),c),e.size(o)!==s.nodeCount())throw new i;return l}function i(){}return i.prototype=new Error,vp}var yp,jS;function lO(){if(jS)return yp;jS=1;var e=LN();yp=n;function n(i){try{e(i)}catch(s){if(s instanceof e.CycleException)return!1;throw s}return!0}return yp}var wp,AS;function $N(){if(AS)return wp;AS=1;var e=yn();wp=n;function n(s,o,u){e.isArray(o)||(o=[o]);var l=(s.isDirected()?s.successors:s.neighbors).bind(s),c=[],d={};return e.each(o,function(p){if(!s.hasNode(p))throw new Error("Graph does not have node: "+p);i(s,p,u==="post",d,l,c)}),c}function i(s,o,u,l,c,d){e.has(l,o)||(l[o]=!0,u||d.push(o),e.each(c(o),function(p){i(s,p,u,l,c,d)}),u&&d.push(o))}return wp}var _p,IS;function cO(){if(IS)return _p;IS=1;var e=$N();_p=n;function n(i,s){return e(i,s,"post")}return _p}var xp,MS;function fO(){if(MS)return xp;MS=1;var e=$N();xp=n;function n(i,s){return e(i,s,"pre")}return xp}var Sp,PS;function dO(){if(PS)return Sp;PS=1;var e=yn(),n=Zg(),i=PN();Sp=s;function s(o,u){var l=new n,c={},d=new i,p;function h(v){var _=v.v===p?v.w:v.v,N=d.priority(_);if(N!==void 0){var x=u(v);x<N&&(c[_]=p,d.decrease(_,x))}}if(o.nodeCount()===0)return l;e.each(o.nodes(),function(v){d.add(v,Number.POSITIVE_INFINITY),l.setNode(v)}),d.decrease(o.nodes()[0],0);for(var m=!1;d.size()>0;){if(p=d.removeMin(),e.has(c,p))l.setEdge(p,c[p]);else{if(m)throw new Error("Input graph is not connected: "+o);m=!0}o.nodeEdges(p).forEach(h)}return l}return Sp}var kp,qS;function hO(){return qS||(qS=1,kp={components:sO(),dijkstra:qN(),dijkstraAll:oO(),findCycles:aO(),floydWarshall:uO(),isAcyclic:lO(),postorder:cO(),preorder:fO(),prim:dO(),tarjan:ON(),topsort:LN()}),kp}var bp,OS;function pO(){if(OS)return bp;OS=1;var e=rO();return bp={Graph:e.Graph,json:iO(),alg:hO(),version:e.version},bp}var Ep,LS;function In(){if(LS)return Ep;LS=1;var e;if(typeof Og=="function")try{e=pO()}catch{}return e||(e=window.graphlib),Ep=e,Ep}var Np,$S;function mO(){if($S)return Np;$S=1;var e=lN(),n=1,i=4;function s(o){return e(o,n|i)}return Np=s,Np}var Cp,DS;function Cu(){if(DS)return Cp;DS=1;var e=Qi(),n=sr(),i=yu(),s=vn();function o(u,l,c){if(!s(c))return!1;var d=typeof l;return(d=="number"?n(c)&&i(l,c.length):d=="string"&&l in c)?e(c[l],u):!1}return Cp=o,Cp}var Tp,FS;function gO(){if(FS)return Tp;FS=1;var e=Nu(),n=Qi(),i=Cu(),s=oi(),o=Object.prototype,u=o.hasOwnProperty,l=e(function(c,d){c=Object(c);var p=-1,h=d.length,m=h>2?d[2]:void 0;for(m&&i(d[0],d[1],m)&&(h=1);++p<h;)for(var v=d[p],_=s(v),N=-1,x=_.length;++N<x;){var S=_[N],k=c[S];(k===void 0||n(k,o[S])&&!u.call(c,S))&&(c[S]=v[S])}return c});return Tp=l,Tp}var Rp,zS;function vO(){if(zS)return Rp;zS=1;var e=or(),n=sr(),i=qr();function s(o){return function(u,l,c){var d=Object(u);if(!n(u)){var p=e(l,3);u=i(u),l=function(m){return p(d[m],m,d)}}var h=o(u,l,c);return h>-1?d[p?u[h]:h]:void 0}}return Rp=s,Rp}var jp,BS;function yO(){if(BS)return jp;BS=1;var e=/\s/;function n(i){for(var s=i.length;s--&&e.test(i.charAt(s)););return s}return jp=n,jp}var Ap,US;function wO(){if(US)return Ap;US=1;var e=yO(),n=/^\s+/;function i(s){return s&&s.slice(0,e(s)+1).replace(n,"")}return Ap=i,Ap}var Ip,HS;function _O(){if(HS)return Ip;HS=1;var e=wO(),n=vn(),i=ts(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;function d(p){if(typeof p=="number")return p;if(i(p))return s;if(n(p)){var h=typeof p.valueOf=="function"?p.valueOf():p;p=n(h)?h+"":h}if(typeof p!="string")return p===0?p:+p;p=e(p);var m=u.test(p);return m||l.test(p)?c(p.slice(2),m?2:8):o.test(p)?s:+p}return Ip=d,Ip}var Mp,VS;function DN(){if(VS)return Mp;VS=1;var e=_O(),n=1/0,i=17976931348623157e292;function s(o){if(!o)return o===0?o:0;if(o=e(o),o===n||o===-n){var u=o<0?-1:1;return u*i}return o===o?o:0}return Mp=s,Mp}var Pp,WS;function xO(){if(WS)return Pp;WS=1;var e=DN();function n(i){var s=e(i),o=s%1;return s===s?o?s-o:s:0}return Pp=n,Pp}var qp,GS;function SO(){if(GS)return qp;GS=1;var e=AN(),n=or(),i=xO(),s=Math.max;function o(u,l,c){var d=u==null?0:u.length;if(!d)return-1;var p=c==null?0:i(c);return p<0&&(p=s(d+p,0)),e(u,n(l,3),p)}return qp=o,qp}var Op,KS;function kO(){if(KS)return Op;KS=1;var e=vO(),n=SO(),i=e(n);return Op=i,Op}var Lp,YS;function FN(){if(YS)return Lp;YS=1;var e=Qg();function n(i){var s=i==null?0:i.length;return s?e(i,1):[]}return Lp=n,Lp}var $p,XS;function bO(){if(XS)return $p;XS=1;var e=Gg(),n=cN(),i=oi();function s(o,u){return o==null?o:e(o,n(u),i)}return $p=s,$p}var Dp,QS;function EO(){if(QS)return Dp;QS=1;function e(n){var i=n==null?0:n.length;return i?n[i-1]:void 0}return Dp=e,Dp}var Fp,ZS;function NO(){if(ZS)return Fp;ZS=1;var e=gu(),n=Kg(),i=or();function s(o,u){var l={};return u=i(u,3),n(o,function(c,d,p){e(l,d,u(c,d,p))}),l}return Fp=s,Fp}var zp,JS;function Jg(){if(JS)return zp;JS=1;var e=ts();function n(i,s,o){for(var u=-1,l=i.length;++u<l;){var c=i[u],d=s(c);if(d!=null&&(p===void 0?d===d&&!e(d):o(d,p)))var p=d,h=c}return h}return zp=n,zp}var Bp,ek;function CO(){if(ek)return Bp;ek=1;function e(n,i){return n>i}return Bp=e,Bp}var Up,tk;function TO(){if(tk)return Up;tk=1;var e=Jg(),n=CO(),i=ai();function s(o){return o&&o.length?e(o,i,n):void 0}return Up=s,Up}var Hp,nk;function zN(){if(nk)return Hp;nk=1;var e=gu(),n=Qi();function i(s,o,u){(u!==void 0&&!n(s[o],u)||u===void 0&&!(o in s))&&e(s,o,u)}return Hp=i,Hp}var Vp,rk;function RO(){if(rk)return Vp;rk=1;var e=ii(),n=xu(),i=Un(),s="[object Object]",o=Function.prototype,u=Object.prototype,l=o.toString,c=u.hasOwnProperty,d=l.call(Object);function p(h){if(!i(h)||e(h)!=s)return!1;var m=n(h);if(m===null)return!0;var v=c.call(m,"constructor")&&m.constructor;return typeof v=="function"&&v instanceof v&&l.call(v)==d}return Vp=p,Vp}var Wp,ik;function BN(){if(ik)return Wp;ik=1;function e(n,i){if(!(i==="constructor"&&typeof n[i]=="function")&&i!="__proto__")return n[i]}return Wp=e,Wp}var Gp,sk;function jO(){if(sk)return Gp;sk=1;var e=ho(),n=oi();function i(s){return e(s,n(s))}return Gp=i,Gp}var Kp,ok;function AO(){if(ok)return Kp;ok=1;var e=zN(),n=QE(),i=oN(),s=ZE(),o=uN(),u=po(),l=yt(),c=IN(),d=Ji(),p=fo(),h=vn(),m=RO(),v=mo(),_=BN(),N=jO();function x(S,k,E,b,T,A,I){var j=_(S,E),D=_(k,E),O=I.get(D);if(O){e(S,E,O);return}var U=A?A(j,D,E+"",S,k,I):void 0,H=U===void 0;if(H){var Q=l(D),ee=!Q&&d(D),R=!Q&&!ee&&v(D);U=D,Q||ee||R?l(j)?U=j:c(j)?U=s(j):ee?(H=!1,U=n(D,!0)):R?(H=!1,U=i(D,!0)):U=[]:m(D)||u(D)?(U=j,u(j)?U=N(j):(!h(j)||p(j))&&(U=o(D))):H=!1}H&&(I.set(D,U),T(U,D,b,A,I),I.delete(D)),e(S,E,U)}return Kp=x,Kp}var Yp,ak;function IO(){if(ak)return Yp;ak=1;var e=mu(),n=zN(),i=Gg(),s=AO(),o=vn(),u=oi(),l=BN();function c(d,p,h,m,v){d!==p&&i(p,function(_,N){if(v||(v=new e),o(_))s(d,p,N,h,c,m,v);else{var x=m?m(l(d,N),_,N+"",d,p,v):void 0;x===void 0&&(x=_),n(d,N,x)}},u)}return Yp=c,Yp}var Xp,uk;function MO(){if(uk)return Xp;uk=1;var e=Nu(),n=Cu();function i(s){return e(function(o,u){var l=-1,c=u.length,d=c>1?u[c-1]:void 0,p=c>2?u[2]:void 0;for(d=s.length>3&&typeof d=="function"?(c--,d):void 0,p&&n(u[0],u[1],p)&&(d=c<3?void 0:d,c=1),o=Object(o);++l<c;){var h=u[l];h&&s(o,h,l,d)}return o})}return Xp=i,Xp}var Qp,lk;function PO(){if(lk)return Qp;lk=1;var e=IO(),n=MO(),i=n(function(s,o,u){e(s,o,u)});return Qp=i,Qp}var Zp,ck;function UN(){if(ck)return Zp;ck=1;function e(n,i){return n<i}return Zp=e,Zp}var Jp,fk;function qO(){if(fk)return Jp;fk=1;var e=Jg(),n=UN(),i=ai();function s(o){return o&&o.length?e(o,i,n):void 0}return Jp=s,Jp}var em,dk;function OO(){if(dk)return em;dk=1;var e=Jg(),n=or(),i=UN();function s(o,u){return o&&o.length?e(o,n(u,2),i):void 0}return em=s,em}var tm,hk;function LO(){if(hk)return tm;hk=1;var e=Pn(),n=function(){return e.Date.now()};return tm=n,tm}var nm,pk;function $O(){if(pk)return nm;pk=1;var e=vu(),n=bu(),i=yu(),s=vn(),o=go();function u(l,c,d,p){if(!s(l))return l;c=n(c,l);for(var h=-1,m=c.length,v=m-1,_=l;_!=null&&++h<m;){var N=o(c[h]),x=d;if(N==="__proto__"||N==="constructor"||N==="prototype")return l;if(h!=v){var S=_[N];x=p?p(S,N,_):void 0,x===void 0&&(x=s(S)?S:i(c[h+1])?[]:{})}e(_,N,x),_=_[N]}return l}return nm=u,nm}var rm,mk;function DO(){if(mk)return rm;mk=1;var e=Eu(),n=$O(),i=bu();function s(o,u,l){for(var c=-1,d=u.length,p={};++c<d;){var h=u[c],m=e(o,h);l(m,h)&&n(p,i(h,o),m)}return p}return rm=s,rm}var im,gk;function FO(){if(gk)return im;gk=1;var e=DO(),n=xN();function i(s,o){return e(s,o,function(u,l){return n(s,l)})}return im=i,im}var sm,vk;function zO(){if(vk)return sm;vk=1;var e=FN(),n=RN(),i=jN();function s(o){return i(n(o,void 0,e),o+"")}return sm=s,sm}var om,yk;function BO(){if(yk)return om;yk=1;var e=FO(),n=zO(),i=n(function(s,o){return s==null?{}:e(s,o)});return om=i,om}var am,wk;function UO(){if(wk)return am;wk=1;var e=Math.ceil,n=Math.max;function i(s,o,u,l){for(var c=-1,d=n(e((o-s)/(u||1)),0),p=Array(d);d--;)p[l?d:++c]=s,s+=u;return p}return am=i,am}var um,_k;function HO(){if(_k)return um;_k=1;var e=UO(),n=Cu(),i=DN();function s(o){return function(u,l,c){return c&&typeof c!="number"&&n(u,l,c)&&(l=c=void 0),u=i(u),l===void 0?(l=u,u=0):l=i(l),c=c===void 0?u<l?1:-1:i(c),e(u,l,c,o)}}return um=s,um}var lm,xk;function VO(){if(xk)return lm;xk=1;var e=HO(),n=e();return lm=n,lm}var cm,Sk;function WO(){if(Sk)return cm;Sk=1;function e(n,i){var s=n.length;for(n.sort(i);s--;)n[s]=n[s].value;return n}return cm=e,cm}var fm,kk;function GO(){if(kk)return fm;kk=1;var e=ts();function n(i,s){if(i!==s){var o=i!==void 0,u=i===null,l=i===i,c=e(i),d=s!==void 0,p=s===null,h=s===s,m=e(s);if(!p&&!m&&!c&&i>s||c&&d&&h&&!p&&!m||u&&d&&h||!o&&h||!l)return 1;if(!u&&!c&&!m&&i<s||m&&o&&l&&!u&&!c||p&&o&&l||!d&&l||!h)return-1}return 0}return fm=n,fm}var dm,bk;function KO(){if(bk)return dm;bk=1;var e=GO();function n(i,s,o){for(var u=-1,l=i.criteria,c=s.criteria,d=l.length,p=o.length;++u<d;){var h=e(l[u],c[u]);if(h){if(u>=p)return h;var m=o[u];return h*(m=="desc"?-1:1)}}return i.index-s.index}return dm=n,dm}var hm,Ek;function YO(){if(Ek)return hm;Ek=1;var e=ku(),n=Eu(),i=or(),s=NN(),o=WO(),u=wu(),l=KO(),c=ai(),d=yt();function p(h,m,v){m.length?m=e(m,function(x){return d(x)?function(S){return n(S,x.length===1?x[0]:x)}:x}):m=[c];var _=-1;m=e(m,u(i));var N=s(h,function(x,S,k){var E=e(m,function(b){return b(x)});return{criteria:E,index:++_,value:x}});return o(N,function(x,S){return l(x,S,v)})}return hm=p,hm}var pm,Nk;function XO(){if(Nk)return pm;Nk=1;var e=Qg(),n=YO(),i=Nu(),s=Cu(),o=i(function(u,l){if(u==null)return[];var c=l.length;return c>1&&s(u,l[0],l[1])?l=[]:c>2&&s(l[0],l[1],l[2])&&(l=[l[0]]),n(u,e(l,1),[])});return pm=o,pm}var mm,Ck;function QO(){if(Ck)return mm;Ck=1;var e=wN(),n=0;function i(s){var o=++n;return e(s)+o}return mm=i,mm}var gm,Tk;function ZO(){if(Tk)return gm;Tk=1;function e(n,i,s){for(var o=-1,u=n.length,l=i.length,c={};++o<u;){var d=o<l?i[o]:void 0;s(c,n[o],d)}return c}return gm=e,gm}var vm,Rk;function JO(){if(Rk)return vm;Rk=1;var e=vu(),n=ZO();function i(s,o){return n(s||[],o||[],e)}return vm=i,vm}var ym,jk;function tt(){if(jk)return ym;jk=1;var e;if(typeof Og=="function")try{e={cloneDeep:mO(),constant:Wg(),defaults:gO(),each:dN(),filter:kN(),find:kO(),flatten:FN(),forEach:fN(),forIn:bO(),has:bN(),isUndefined:EN(),last:EO(),map:CN(),mapValues:NO(),max:TO(),merge:PO(),min:qO(),minBy:OO(),now:LO(),pick:BO(),range:VO(),reduce:TN(),sortBy:XO(),uniqueId:QO(),values:MN(),zipObject:JO()}}catch{}return e||(e=window._),ym=e,ym}var wm,Ak;function eL(){if(Ak)return wm;Ak=1,wm=e;function e(){var s={};s._next=s._prev=s,this._sentinel=s}e.prototype.dequeue=function(){var s=this._sentinel,o=s._prev;if(o!==s)return n(o),o},e.prototype.enqueue=function(s){var o=this._sentinel;s._prev&&s._next&&n(s),s._next=o._next,o._next._prev=s,o._next=s,s._prev=o},e.prototype.toString=function(){for(var s=[],o=this._sentinel,u=o._prev;u!==o;)s.push(JSON.stringify(u,i)),u=u._prev;return"["+s.join(", ")+"]"};function n(s){s._prev._next=s._next,s._next._prev=s._prev,delete s._next,delete s._prev}function i(s,o){if(s!=="_next"&&s!=="_prev")return o}return wm}var _m,Ik;function tL(){if(Ik)return _m;Ik=1;var e=tt(),n=In().Graph,i=eL();_m=o;var s=e.constant(1);function o(p,h){if(p.nodeCount()<=1)return[];var m=c(p,h||s),v=u(m.graph,m.buckets,m.zeroIdx);return e.flatten(e.map(v,function(_){return p.outEdges(_.v,_.w)}),!0)}function u(p,h,m){for(var v=[],_=h[h.length-1],N=h[0],x;p.nodeCount();){for(;x=N.dequeue();)l(p,h,m,x);for(;x=_.dequeue();)l(p,h,m,x);if(p.nodeCount()){for(var S=h.length-2;S>0;--S)if(x=h[S].dequeue(),x){v=v.concat(l(p,h,m,x,!0));break}}}return v}function l(p,h,m,v,_){var N=_?[]:void 0;return e.forEach(p.inEdges(v.v),function(x){var S=p.edge(x),k=p.node(x.v);_&&N.push({v:x.v,w:x.w}),k.out-=S,d(h,m,k)}),e.forEach(p.outEdges(v.v),function(x){var S=p.edge(x),k=x.w,E=p.node(k);E.in-=S,d(h,m,E)}),p.removeNode(v.v),N}function c(p,h){var m=new n,v=0,_=0;e.forEach(p.nodes(),function(S){m.setNode(S,{v:S,in:0,out:0})}),e.forEach(p.edges(),function(S){var k=m.edge(S.v,S.w)||0,E=h(S),b=k+E;m.setEdge(S.v,S.w,b),_=Math.max(_,m.node(S.v).out+=E),v=Math.max(v,m.node(S.w).in+=E)});var N=e.range(_+v+3).map(function(){return new i}),x=v+1;return e.forEach(m.nodes(),function(S){d(N,x,m.node(S))}),{graph:m,buckets:N,zeroIdx:x}}function d(p,h,m){m.out?m.in?p[m.out-m.in+h].enqueue(m):p[p.length-1].enqueue(m):p[0].enqueue(m)}return _m}var xm,Mk;function nL(){if(Mk)return xm;Mk=1;var e=tt(),n=tL();xm={run:i,undo:o};function i(u){var l=u.graph().acyclicer==="greedy"?n(u,c(u)):s(u);e.forEach(l,function(d){var p=u.edge(d);u.removeEdge(d),p.forwardName=d.name,p.reversed=!0,u.setEdge(d.w,d.v,p,e.uniqueId("rev"))});function c(d){return function(p){return d.edge(p).weight}}}function s(u){var l=[],c={},d={};function p(h){e.has(d,h)||(d[h]=!0,c[h]=!0,e.forEach(u.outEdges(h),function(m){e.has(c,m.w)?l.push(m):p(m.w)}),delete c[h])}return e.forEach(u.nodes(),p),l}function o(u){e.forEach(u.edges(),function(l){var c=u.edge(l);if(c.reversed){u.removeEdge(l);var d=c.forwardName;delete c.reversed,delete c.forwardName,u.setEdge(l.w,l.v,c,d)}})}return xm}var Sm,Pk;function Qt(){if(Pk)return Sm;Pk=1;var e=tt(),n=In().Graph;Sm={addDummyNode:i,simplify:s,asNonCompoundGraph:o,successorWeights:u,predecessorWeights:l,intersectRect:c,buildLayerMatrix:d,normalizeRanks:p,removeEmptyRanks:h,addBorderNode:m,maxRank:v,partition:_,time:N,notime:x};function i(S,k,E,b){var T;do T=e.uniqueId(b);while(S.hasNode(T));return E.dummy=k,S.setNode(T,E),T}function s(S){var k=new n().setGraph(S.graph());return e.forEach(S.nodes(),function(E){k.setNode(E,S.node(E))}),e.forEach(S.edges(),function(E){var b=k.edge(E.v,E.w)||{weight:0,minlen:1},T=S.edge(E);k.setEdge(E.v,E.w,{weight:b.weight+T.weight,minlen:Math.max(b.minlen,T.minlen)})}),k}function o(S){var k=new n({multigraph:S.isMultigraph()}).setGraph(S.graph());return e.forEach(S.nodes(),function(E){S.children(E).length||k.setNode(E,S.node(E))}),e.forEach(S.edges(),function(E){k.setEdge(E,S.edge(E))}),k}function u(S){var k=e.map(S.nodes(),function(E){var b={};return e.forEach(S.outEdges(E),function(T){b[T.w]=(b[T.w]||0)+S.edge(T).weight}),b});return e.zipObject(S.nodes(),k)}function l(S){var k=e.map(S.nodes(),function(E){var b={};return e.forEach(S.inEdges(E),function(T){b[T.v]=(b[T.v]||0)+S.edge(T).weight}),b});return e.zipObject(S.nodes(),k)}function c(S,k){var E=S.x,b=S.y,T=k.x-E,A=k.y-b,I=S.width/2,j=S.height/2;if(!T&&!A)throw new Error("Not possible to find intersection inside of the rectangle");var D,O;return Math.abs(A)*I>Math.abs(T)*j?(A<0&&(j=-j),D=j*T/A,O=j):(T<0&&(I=-I),D=I,O=I*A/T),{x:E+D,y:b+O}}function d(S){var k=e.map(e.range(v(S)+1),function(){return[]});return e.forEach(S.nodes(),function(E){var b=S.node(E),T=b.rank;e.isUndefined(T)||(k[T][b.order]=E)}),k}function p(S){var k=e.min(e.map(S.nodes(),function(E){return S.node(E).rank}));e.forEach(S.nodes(),function(E){var b=S.node(E);e.has(b,"rank")&&(b.rank-=k)})}function h(S){var k=e.min(e.map(S.nodes(),function(A){return S.node(A).rank})),E=[];e.forEach(S.nodes(),function(A){var I=S.node(A).rank-k;E[I]||(E[I]=[]),E[I].push(A)});var b=0,T=S.graph().nodeRankFactor;e.forEach(E,function(A,I){e.isUndefined(A)&&I%T!==0?--b:b&&e.forEach(A,function(j){S.node(j).rank+=b})})}function m(S,k,E,b){var T={width:0,height:0};return arguments.length>=4&&(T.rank=E,T.order=b),i(S,"border",T,k)}function v(S){return e.max(e.map(S.nodes(),function(k){var E=S.node(k).rank;if(!e.isUndefined(E))return E}))}function _(S,k){var E={lhs:[],rhs:[]};return e.forEach(S,function(b){k(b)?E.lhs.push(b):E.rhs.push(b)}),E}function N(S,k){var E=e.now();try{return k()}finally{console.log(S+" time: "+(e.now()-E)+"ms")}}function x(S,k){return k()}return Sm}var km,qk;function rL(){if(qk)return km;qk=1;var e=tt(),n=Qt();km={run:i,undo:o};function i(u){u.graph().dummyChains=[],e.forEach(u.edges(),function(l){s(u,l)})}function s(u,l){var c=l.v,d=u.node(c).rank,p=l.w,h=u.node(p).rank,m=l.name,v=u.edge(l),_=v.labelRank;if(h!==d+1){u.removeEdge(l);var N,x,S;for(S=0,++d;d<h;++S,++d)v.points=[],x={width:0,height:0,edgeLabel:v,edgeObj:l,rank:d},N=n.addDummyNode(u,"edge",x,"_d"),d===_&&(x.width=v.width,x.height=v.height,x.dummy="edge-label",x.labelpos=v.labelpos),u.setEdge(c,N,{weight:v.weight},m),S===0&&u.graph().dummyChains.push(N),c=N;u.setEdge(c,p,{weight:v.weight},m)}}function o(u){e.forEach(u.graph().dummyChains,function(l){var c=u.node(l),d=c.edgeLabel,p;for(u.setEdge(c.edgeObj,d);c.dummy;)p=u.successors(l)[0],u.removeNode(l),d.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(d.x=c.x,d.y=c.y,d.width=c.width,d.height=c.height),l=p,c=u.node(l)})}return km}var bm,Ok;function ru(){if(Ok)return bm;Ok=1;var e=tt();bm={longestPath:n,slack:i};function n(s){var o={};function u(l){var c=s.node(l);if(e.has(o,l))return c.rank;o[l]=!0;var d=e.min(e.map(s.outEdges(l),function(p){return u(p.w)-s.edge(p).minlen}));return(d===Number.POSITIVE_INFINITY||d===void 0||d===null)&&(d=0),c.rank=d}e.forEach(s.sources(),u)}function i(s,o){return s.node(o.w).rank-s.node(o.v).rank-s.edge(o).minlen}return bm}var Em,Lk;function HN(){if(Lk)return Em;Lk=1;var e=tt(),n=In().Graph,i=ru().slack;Em=s;function s(c){var d=new n({directed:!1}),p=c.nodes()[0],h=c.nodeCount();d.setNode(p,{});for(var m,v;o(d,c)<h;)m=u(d,c),v=d.hasNode(m.v)?i(c,m):-i(c,m),l(d,c,v);return d}function o(c,d){function p(h){e.forEach(d.nodeEdges(h),function(m){var v=m.v,_=h===v?m.w:v;!c.hasNode(_)&&!i(d,m)&&(c.setNode(_,{}),c.setEdge(h,_,{}),p(_))})}return e.forEach(c.nodes(),p),c.nodeCount()}function u(c,d){return e.minBy(d.edges(),function(p){if(c.hasNode(p.v)!==c.hasNode(p.w))return i(d,p)})}function l(c,d,p){e.forEach(c.nodes(),function(h){d.node(h).rank+=p})}return Em}var Nm,$k;function iL(){if($k)return Nm;$k=1;var e=tt(),n=HN(),i=ru().slack,s=ru().longestPath,o=In().alg.preorder,u=In().alg.postorder,l=Qt().simplify;Nm=c,c.initLowLimValues=m,c.initCutValues=d,c.calcCutValue=h,c.leaveEdge=_,c.enterEdge=N,c.exchangeEdges=x;function c(b){b=l(b),s(b);var T=n(b);m(T),d(T,b);for(var A,I;A=_(T);)I=N(T,b,A),x(T,b,A,I)}function d(b,T){var A=u(b,b.nodes());A=A.slice(0,A.length-1),e.forEach(A,function(I){p(b,T,I)})}function p(b,T,A){var I=b.node(A),j=I.parent;b.edge(A,j).cutvalue=h(b,T,A)}function h(b,T,A){var I=b.node(A),j=I.parent,D=!0,O=T.edge(A,j),U=0;return O||(D=!1,O=T.edge(j,A)),U=O.weight,e.forEach(T.nodeEdges(A),function(H){var Q=H.v===A,ee=Q?H.w:H.v;if(ee!==j){var R=Q===D,G=T.edge(H).weight;if(U+=R?G:-G,k(b,A,ee)){var B=b.edge(A,ee).cutvalue;U+=R?-B:B}}}),U}function m(b,T){arguments.length<2&&(T=b.nodes()[0]),v(b,{},1,T)}function v(b,T,A,I,j){var D=A,O=b.node(I);return T[I]=!0,e.forEach(b.neighbors(I),function(U){e.has(T,U)||(A=v(b,T,A,U,I))}),O.low=D,O.lim=A++,j?O.parent=j:delete O.parent,A}function _(b){return e.find(b.edges(),function(T){return b.edge(T).cutvalue<0})}function N(b,T,A){var I=A.v,j=A.w;T.hasEdge(I,j)||(I=A.w,j=A.v);var D=b.node(I),O=b.node(j),U=D,H=!1;D.lim>O.lim&&(U=O,H=!0);var Q=e.filter(T.edges(),function(ee){return H===E(b,b.node(ee.v),U)&&H!==E(b,b.node(ee.w),U)});return e.minBy(Q,function(ee){return i(T,ee)})}function x(b,T,A,I){var j=A.v,D=A.w;b.removeEdge(j,D),b.setEdge(I.v,I.w,{}),m(b),d(b,T),S(b,T)}function S(b,T){var A=e.find(b.nodes(),function(j){return!T.node(j).parent}),I=o(b,A);I=I.slice(1),e.forEach(I,function(j){var D=b.node(j).parent,O=T.edge(j,D),U=!1;O||(O=T.edge(D,j),U=!0),T.node(j).rank=T.node(D).rank+(U?O.minlen:-O.minlen)})}function k(b,T,A){return b.hasEdge(T,A)}function E(b,T,A){return A.low<=T.lim&&T.lim<=A.lim}return Nm}var Cm,Dk;function sL(){if(Dk)return Cm;Dk=1;var e=ru(),n=e.longestPath,i=HN(),s=iL();Cm=o;function o(d){switch(d.graph().ranker){case"network-simplex":c(d);break;case"tight-tree":l(d);break;case"longest-path":u(d);break;default:c(d)}}var u=n;function l(d){n(d),i(d)}function c(d){s(d)}return Cm}var Tm,Fk;function oL(){if(Fk)return Tm;Fk=1;var e=tt();Tm=n;function n(o){var u=s(o);e.forEach(o.graph().dummyChains,function(l){for(var c=o.node(l),d=c.edgeObj,p=i(o,u,d.v,d.w),h=p.path,m=p.lca,v=0,_=h[v],N=!0;l!==d.w;){if(c=o.node(l),N){for(;(_=h[v])!==m&&o.node(_).maxRank<c.rank;)v++;_===m&&(N=!1)}if(!N){for(;v<h.length-1&&o.node(_=h[v+1]).minRank<=c.rank;)v++;_=h[v]}o.setParent(l,_),l=o.successors(l)[0]}})}function i(o,u,l,c){var d=[],p=[],h=Math.min(u[l].low,u[c].low),m=Math.max(u[l].lim,u[c].lim),v,_;v=l;do v=o.parent(v),d.push(v);while(v&&(u[v].low>h||m>u[v].lim));for(_=v,v=c;(v=o.parent(v))!==_;)p.push(v);return{path:d.concat(p.reverse()),lca:_}}function s(o){var u={},l=0;function c(d){var p=l;e.forEach(o.children(d),c),u[d]={low:p,lim:l++}}return e.forEach(o.children(),c),u}return Tm}var Rm,zk;function aL(){if(zk)return Rm;zk=1;var e=tt(),n=Qt();Rm={run:i,cleanup:l};function i(c){var d=n.addDummyNode(c,"root",{},"_root"),p=o(c),h=e.max(e.values(p))-1,m=2*h+1;c.graph().nestingRoot=d,e.forEach(c.edges(),function(_){c.edge(_).minlen*=m});var v=u(c)+1;e.forEach(c.children(),function(_){s(c,d,m,v,h,p,_)}),c.graph().nodeRankFactor=m}function s(c,d,p,h,m,v,_){var N=c.children(_);if(!N.length){_!==d&&c.setEdge(d,_,{weight:0,minlen:p});return}var x=n.addBorderNode(c,"_bt"),S=n.addBorderNode(c,"_bb"),k=c.node(_);c.setParent(x,_),k.borderTop=x,c.setParent(S,_),k.borderBottom=S,e.forEach(N,function(E){s(c,d,p,h,m,v,E);var b=c.node(E),T=b.borderTop?b.borderTop:E,A=b.borderBottom?b.borderBottom:E,I=b.borderTop?h:2*h,j=T!==A?1:m-v[_]+1;c.setEdge(x,T,{weight:I,minlen:j,nestingEdge:!0}),c.setEdge(A,S,{weight:I,minlen:j,nestingEdge:!0})}),c.parent(_)||c.setEdge(d,x,{weight:0,minlen:m+v[_]})}function o(c){var d={};function p(h,m){var v=c.children(h);v&&v.length&&e.forEach(v,function(_){p(_,m+1)}),d[h]=m}return e.forEach(c.children(),function(h){p(h,1)}),d}function u(c){return e.reduce(c.edges(),function(d,p){return d+c.edge(p).weight},0)}function l(c){var d=c.graph();c.removeNode(d.nestingRoot),delete d.nestingRoot,e.forEach(c.edges(),function(p){var h=c.edge(p);h.nestingEdge&&c.removeEdge(p)})}return Rm}var jm,Bk;function uL(){if(Bk)return jm;Bk=1;var e=tt(),n=Qt();jm=i;function i(o){function u(l){var c=o.children(l),d=o.node(l);if(c.length&&e.forEach(c,u),e.has(d,"minRank")){d.borderLeft=[],d.borderRight=[];for(var p=d.minRank,h=d.maxRank+1;p<h;++p)s(o,"borderLeft","_bl",l,d,p),s(o,"borderRight","_br",l,d,p)}}e.forEach(o.children(),u)}function s(o,u,l,c,d,p){var h={width:0,height:0,rank:p,borderType:u},m=d[u][p-1],v=n.addDummyNode(o,"border",h,l);d[u][p]=v,o.setParent(v,c),m&&o.setEdge(m,v,{weight:1})}return jm}var Am,Uk;function lL(){if(Uk)return Am;Uk=1;var e=tt();Am={adjust:n,undo:i};function n(p){var h=p.graph().rankdir.toLowerCase();(h==="lr"||h==="rl")&&s(p)}function i(p){var h=p.graph().rankdir.toLowerCase();(h==="bt"||h==="rl")&&u(p),(h==="lr"||h==="rl")&&(c(p),s(p))}function s(p){e.forEach(p.nodes(),function(h){o(p.node(h))}),e.forEach(p.edges(),function(h){o(p.edge(h))})}function o(p){var h=p.width;p.width=p.height,p.height=h}function u(p){e.forEach(p.nodes(),function(h){l(p.node(h))}),e.forEach(p.edges(),function(h){var m=p.edge(h);e.forEach(m.points,l),e.has(m,"y")&&l(m)})}function l(p){p.y=-p.y}function c(p){e.forEach(p.nodes(),function(h){d(p.node(h))}),e.forEach(p.edges(),function(h){var m=p.edge(h);e.forEach(m.points,d),e.has(m,"x")&&d(m)})}function d(p){var h=p.x;p.x=p.y,p.y=h}return Am}var Im,Hk;function cL(){if(Hk)return Im;Hk=1;var e=tt();Im=n;function n(i){var s={},o=e.filter(i.nodes(),function(p){return!i.children(p).length}),u=e.max(e.map(o,function(p){return i.node(p).rank})),l=e.map(e.range(u+1),function(){return[]});function c(p){if(!e.has(s,p)){s[p]=!0;var h=i.node(p);l[h.rank].push(p),e.forEach(i.successors(p),c)}}var d=e.sortBy(o,function(p){return i.node(p).rank});return e.forEach(d,c),l}return Im}var Mm,Vk;function fL(){if(Vk)return Mm;Vk=1;var e=tt();Mm=n;function n(s,o){for(var u=0,l=1;l<o.length;++l)u+=i(s,o[l-1],o[l]);return u}function i(s,o,u){for(var l=e.zipObject(u,e.map(u,function(v,_){return _})),c=e.flatten(e.map(o,function(v){return e.sortBy(e.map(s.outEdges(v),function(_){return{pos:l[_.w],weight:s.edge(_).weight}}),"pos")}),!0),d=1;d<u.length;)d<<=1;var p=2*d-1;d-=1;var h=e.map(new Array(p),function(){return 0}),m=0;return e.forEach(c.forEach(function(v){var _=v.pos+d;h[_]+=v.weight;for(var N=0;_>0;)_%2&&(N+=h[_+1]),_=_-1>>1,h[_]+=v.weight;m+=v.weight*N})),m}return Mm}var Pm,Wk;function dL(){if(Wk)return Pm;Wk=1;var e=tt();Pm=n;function n(i,s){return e.map(s,function(o){var u=i.inEdges(o);if(u.length){var l=e.reduce(u,function(c,d){var p=i.edge(d),h=i.node(d.v);return{sum:c.sum+p.weight*h.order,weight:c.weight+p.weight}},{sum:0,weight:0});return{v:o,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:o}})}return Pm}var qm,Gk;function hL(){if(Gk)return qm;Gk=1;var e=tt();qm=n;function n(o,u){var l={};e.forEach(o,function(d,p){var h=l[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:p};e.isUndefined(d.barycenter)||(h.barycenter=d.barycenter,h.weight=d.weight)}),e.forEach(u.edges(),function(d){var p=l[d.v],h=l[d.w];!e.isUndefined(p)&&!e.isUndefined(h)&&(h.indegree++,p.out.push(l[d.w]))});var c=e.filter(l,function(d){return!d.indegree});return i(c)}function i(o){var u=[];function l(p){return function(h){h.merged||(e.isUndefined(h.barycenter)||e.isUndefined(p.barycenter)||h.barycenter>=p.barycenter)&&s(p,h)}}function c(p){return function(h){h.in.push(p),--h.indegree===0&&o.push(h)}}for(;o.length;){var d=o.pop();u.push(d),e.forEach(d.in.reverse(),l(d)),e.forEach(d.out,c(d))}return e.map(e.filter(u,function(p){return!p.merged}),function(p){return e.pick(p,["vs","i","barycenter","weight"])})}function s(o,u){var l=0,c=0;o.weight&&(l+=o.barycenter*o.weight,c+=o.weight),u.weight&&(l+=u.barycenter*u.weight,c+=u.weight),o.vs=u.vs.concat(o.vs),o.barycenter=l/c,o.weight=c,o.i=Math.min(u.i,o.i),u.merged=!0}return qm}var Om,Kk;function pL(){if(Kk)return Om;Kk=1;var e=tt(),n=Qt();Om=i;function i(u,l){var c=n.partition(u,function(x){return e.has(x,"barycenter")}),d=c.lhs,p=e.sortBy(c.rhs,function(x){return-x.i}),h=[],m=0,v=0,_=0;d.sort(o(!!l)),_=s(h,p,_),e.forEach(d,function(x){_+=x.vs.length,h.push(x.vs),m+=x.barycenter*x.weight,v+=x.weight,_=s(h,p,_)});var N={vs:e.flatten(h,!0)};return v&&(N.barycenter=m/v,N.weight=v),N}function s(u,l,c){for(var d;l.length&&(d=e.last(l)).i<=c;)l.pop(),u.push(d.vs),c++;return c}function o(u){return function(l,c){return l.barycenter<c.barycenter?-1:l.barycenter>c.barycenter?1:u?c.i-l.i:l.i-c.i}}return Om}var Lm,Yk;function mL(){if(Yk)return Lm;Yk=1;var e=tt(),n=dL(),i=hL(),s=pL();Lm=o;function o(c,d,p,h){var m=c.children(d),v=c.node(d),_=v?v.borderLeft:void 0,N=v?v.borderRight:void 0,x={};_&&(m=e.filter(m,function(A){return A!==_&&A!==N}));var S=n(c,m);e.forEach(S,function(A){if(c.children(A.v).length){var I=o(c,A.v,p,h);x[A.v]=I,e.has(I,"barycenter")&&l(A,I)}});var k=i(S,p);u(k,x);var E=s(k,h);if(_&&(E.vs=e.flatten([_,E.vs,N],!0),c.predecessors(_).length)){var b=c.node(c.predecessors(_)[0]),T=c.node(c.predecessors(N)[0]);e.has(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+b.order+T.order)/(E.weight+2),E.weight+=2}return E}function u(c,d){e.forEach(c,function(p){p.vs=e.flatten(p.vs.map(function(h){return d[h]?d[h].vs:h}),!0)})}function l(c,d){e.isUndefined(c.barycenter)?(c.barycenter=d.barycenter,c.weight=d.weight):(c.barycenter=(c.barycenter*c.weight+d.barycenter*d.weight)/(c.weight+d.weight),c.weight+=d.weight)}return Lm}var $m,Xk;function gL(){if(Xk)return $m;Xk=1;var e=tt(),n=In().Graph;$m=i;function i(o,u,l){var c=s(o),d=new n({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(p){return o.node(p)});return e.forEach(o.nodes(),function(p){var h=o.node(p),m=o.parent(p);(h.rank===u||h.minRank<=u&&u<=h.maxRank)&&(d.setNode(p),d.setParent(p,m||c),e.forEach(o[l](p),function(v){var _=v.v===p?v.w:v.v,N=d.edge(_,p),x=e.isUndefined(N)?0:N.weight;d.setEdge(_,p,{weight:o.edge(v).weight+x})}),e.has(h,"minRank")&&d.setNode(p,{borderLeft:h.borderLeft[u],borderRight:h.borderRight[u]}))}),d}function s(o){for(var u;o.hasNode(u=e.uniqueId("_root")););return u}return $m}var Dm,Qk;function vL(){if(Qk)return Dm;Qk=1;var e=tt();Dm=n;function n(i,s,o){var u={},l;e.forEach(o,function(c){for(var d=i.parent(c),p,h;d;){if(p=i.parent(d),p?(h=u[p],u[p]=d):(h=l,l=d),h&&h!==d){s.setEdge(h,d);return}d=p}})}return Dm}var Fm,Zk;function yL(){if(Zk)return Fm;Zk=1;var e=tt(),n=cL(),i=fL(),s=mL(),o=gL(),u=vL(),l=In().Graph,c=Qt();Fm=d;function d(v){var _=c.maxRank(v),N=p(v,e.range(1,_+1),"inEdges"),x=p(v,e.range(_-1,-1,-1),"outEdges"),S=n(v);m(v,S);for(var k=Number.POSITIVE_INFINITY,E,b=0,T=0;T<4;++b,++T){h(b%2?N:x,b%4>=2),S=c.buildLayerMatrix(v);var A=i(v,S);A<k&&(T=0,E=e.cloneDeep(S),k=A)}m(v,E)}function p(v,_,N){return e.map(_,function(x){return o(v,x,N)})}function h(v,_){var N=new l;e.forEach(v,function(x){var S=x.graph().root,k=s(x,S,N,_);e.forEach(k.vs,function(E,b){x.node(E).order=b}),u(x,N,k.vs)})}function m(v,_){e.forEach(_,function(N){e.forEach(N,function(x,S){v.node(x).order=S})})}return Fm}var zm,Jk;function wL(){if(Jk)return zm;Jk=1;var e=tt(),n=In().Graph,i=Qt();zm={positionX:N,findType1Conflicts:s,findType2Conflicts:o,addConflict:l,hasConflict:c,verticalAlignment:d,horizontalCompaction:p,alignCoordinates:v,findSmallestWidthAlignment:m,balance:_};function s(k,E){var b={};function T(A,I){var j=0,D=0,O=A.length,U=e.last(I);return e.forEach(I,function(H,Q){var ee=u(k,H),R=ee?k.node(ee).order:O;(ee||H===U)&&(e.forEach(I.slice(D,Q+1),function(G){e.forEach(k.predecessors(G),function(B){var X=k.node(B),Y=X.order;(Y<j||R<Y)&&!(X.dummy&&k.node(G).dummy)&&l(b,B,G)})}),D=Q+1,j=R)}),I}return e.reduce(E,T),b}function o(k,E){var b={};function T(I,j,D,O,U){var H;e.forEach(e.range(j,D),function(Q){H=I[Q],k.node(H).dummy&&e.forEach(k.predecessors(H),function(ee){var R=k.node(ee);R.dummy&&(R.order<O||R.order>U)&&l(b,ee,H)})})}function A(I,j){var D=-1,O,U=0;return e.forEach(j,function(H,Q){if(k.node(H).dummy==="border"){var ee=k.predecessors(H);ee.length&&(O=k.node(ee[0]).order,T(j,U,Q,D,O),U=Q,D=O)}T(j,U,j.length,O,I.length)}),j}return e.reduce(E,A),b}function u(k,E){if(k.node(E).dummy)return e.find(k.predecessors(E),function(b){return k.node(b).dummy})}function l(k,E,b){if(E>b){var T=E;E=b,b=T}var A=k[E];A||(k[E]=A={}),A[b]=!0}function c(k,E,b){if(E>b){var T=E;E=b,b=T}return e.has(k[E],b)}function d(k,E,b,T){var A={},I={},j={};return e.forEach(E,function(D){e.forEach(D,function(O,U){A[O]=O,I[O]=O,j[O]=U})}),e.forEach(E,function(D){var O=-1;e.forEach(D,function(U){var H=T(U);if(H.length){H=e.sortBy(H,function(B){return j[B]});for(var Q=(H.length-1)/2,ee=Math.floor(Q),R=Math.ceil(Q);ee<=R;++ee){var G=H[ee];I[U]===U&&O<j[G]&&!c(b,U,G)&&(I[G]=U,I[U]=A[U]=A[G],O=j[G])}}})}),{root:A,align:I}}function p(k,E,b,T,A){var I={},j=h(k,E,b,A),D=A?"borderLeft":"borderRight";function O(Q,ee){for(var R=j.nodes(),G=R.pop(),B={};G;)B[G]?Q(G):(B[G]=!0,R.push(G),R=R.concat(ee(G))),G=R.pop()}function U(Q){I[Q]=j.inEdges(Q).reduce(function(ee,R){return Math.max(ee,I[R.v]+j.edge(R))},0)}function H(Q){var ee=j.outEdges(Q).reduce(function(G,B){return Math.min(G,I[B.w]-j.edge(B))},Number.POSITIVE_INFINITY),R=k.node(Q);ee!==Number.POSITIVE_INFINITY&&R.borderType!==D&&(I[Q]=Math.max(I[Q],ee))}return O(U,j.predecessors.bind(j)),O(H,j.successors.bind(j)),e.forEach(T,function(Q){I[Q]=I[b[Q]]}),I}function h(k,E,b,T){var A=new n,I=k.graph(),j=x(I.nodesep,I.edgesep,T);return e.forEach(E,function(D){var O;e.forEach(D,function(U){var H=b[U];if(A.setNode(H),O){var Q=b[O],ee=A.edge(Q,H);A.setEdge(Q,H,Math.max(j(k,U,O),ee||0))}O=U})}),A}function m(k,E){return e.minBy(e.values(E),function(b){var T=Number.NEGATIVE_INFINITY,A=Number.POSITIVE_INFINITY;return e.forIn(b,function(I,j){var D=S(k,j)/2;T=Math.max(I+D,T),A=Math.min(I-D,A)}),T-A})}function v(k,E){var b=e.values(E),T=e.min(b),A=e.max(b);e.forEach(["u","d"],function(I){e.forEach(["l","r"],function(j){var D=I+j,O=k[D],U;if(O!==E){var H=e.values(O);U=j==="l"?T-e.min(H):A-e.max(H),U&&(k[D]=e.mapValues(O,function(Q){return Q+U}))}})})}function _(k,E){return e.mapValues(k.ul,function(b,T){if(E)return k[E.toLowerCase()][T];var A=e.sortBy(e.map(k,T));return(A[1]+A[2])/2})}function N(k){var E=i.buildLayerMatrix(k),b=e.merge(s(k,E),o(k,E)),T={},A;e.forEach(["u","d"],function(j){A=j==="u"?E:e.values(E).reverse(),e.forEach(["l","r"],function(D){D==="r"&&(A=e.map(A,function(Q){return e.values(Q).reverse()}));var O=(j==="u"?k.predecessors:k.successors).bind(k),U=d(k,A,b,O),H=p(k,A,U.root,U.align,D==="r");D==="r"&&(H=e.mapValues(H,function(Q){return-Q})),T[j+D]=H})});var I=m(k,T);return v(T,I),_(T,k.graph().align)}function x(k,E,b){return function(T,A,I){var j=T.node(A),D=T.node(I),O=0,U;if(O+=j.width/2,e.has(j,"labelpos"))switch(j.labelpos.toLowerCase()){case"l":U=-j.width/2;break;case"r":U=j.width/2;break}if(U&&(O+=b?U:-U),U=0,O+=(j.dummy?E:k)/2,O+=(D.dummy?E:k)/2,O+=D.width/2,e.has(D,"labelpos"))switch(D.labelpos.toLowerCase()){case"l":U=D.width/2;break;case"r":U=-D.width/2;break}return U&&(O+=b?U:-U),U=0,O}}function S(k,E){return k.node(E).width}return zm}var Bm,eb;function _L(){if(eb)return Bm;eb=1;var e=tt(),n=Qt(),i=wL().positionX;Bm=s;function s(u){u=n.asNonCompoundGraph(u),o(u),e.forEach(i(u),function(l,c){u.node(c).x=l})}function o(u){var l=n.buildLayerMatrix(u),c=u.graph().ranksep,d=0;e.forEach(l,function(p){var h=e.max(e.map(p,function(m){return u.node(m).height}));e.forEach(p,function(m){u.node(m).y=d+h/2}),d+=h+c})}return Bm}var Um,tb;function xL(){if(tb)return Um;tb=1;var e=tt(),n=nL(),i=rL(),s=sL(),o=Qt().normalizeRanks,u=oL(),l=Qt().removeEmptyRanks,c=aL(),d=uL(),p=lL(),h=yL(),m=_L(),v=Qt(),_=In().Graph;Um=N;function N($,K){var Z=K&&K.debugTiming?v.time:v.notime;Z("layout",function(){var oe=Z(" buildLayoutGraph",function(){return O($)});Z(" runLayout",function(){x(oe,Z)}),Z(" updateInputGraph",function(){S($,oe)})})}function x($,K){K(" makeSpaceForEdgeLabels",function(){U($)}),K(" removeSelfEdges",function(){q($)}),K(" acyclic",function(){n.run($)}),K(" nestingGraph.run",function(){c.run($)}),K(" rank",function(){s(v.asNonCompoundGraph($))}),K(" injectEdgeLabelProxies",function(){H($)}),K(" removeEmptyRanks",function(){l($)}),K(" nestingGraph.cleanup",function(){c.cleanup($)}),K(" normalizeRanks",function(){o($)}),K(" assignRankMinMax",function(){Q($)}),K(" removeEdgeLabelProxies",function(){ee($)}),K(" normalize.run",function(){i.run($)}),K(" parentDummyChains",function(){u($)}),K(" addBorderSegments",function(){d($)}),K(" order",function(){h($)}),K(" insertSelfEdges",function(){V($)}),K(" adjustCoordinateSystem",function(){p.adjust($)}),K(" position",function(){m($)}),K(" positionSelfEdges",function(){M($)}),K(" removeBorderNodes",function(){Y($)}),K(" normalize.undo",function(){i.undo($)}),K(" fixupEdgeLabelCoords",function(){B($)}),K(" undoCoordinateSystem",function(){p.undo($)}),K(" translateGraph",function(){R($)}),K(" assignNodeIntersects",function(){G($)}),K(" reversePoints",function(){X($)}),K(" acyclic.undo",function(){n.undo($)})}function S($,K){e.forEach($.nodes(),function(Z){var oe=$.node(Z),ce=K.node(Z);oe&&(oe.x=ce.x,oe.y=ce.y,K.children(Z).length&&(oe.width=ce.width,oe.height=ce.height))}),e.forEach($.edges(),function(Z){var oe=$.edge(Z),ce=K.edge(Z);oe.points=ce.points,e.has(ce,"x")&&(oe.x=ce.x,oe.y=ce.y)}),$.graph().width=K.graph().width,$.graph().height=K.graph().height}var k=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},b=["acyclicer","ranker","rankdir","align"],T=["width","height"],A={width:0,height:0},I=["minlen","weight","width","height","labeloffset"],j={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},D=["labelpos"];function O($){var K=new _({multigraph:!0,compound:!0}),Z=ae($.graph());return K.setGraph(e.merge({},E,z(Z,k),e.pick(Z,b))),e.forEach($.nodes(),function(oe){var ce=ae($.node(oe));K.setNode(oe,e.defaults(z(ce,T),A)),K.setParent(oe,$.parent(oe))}),e.forEach($.edges(),function(oe){var ce=ae($.edge(oe));K.setEdge(oe,e.merge({},j,z(ce,I),e.pick(ce,D)))}),K}function U($){var K=$.graph();K.ranksep/=2,e.forEach($.edges(),function(Z){var oe=$.edge(Z);oe.minlen*=2,oe.labelpos.toLowerCase()!=="c"&&(K.rankdir==="TB"||K.rankdir==="BT"?oe.width+=oe.labeloffset:oe.height+=oe.labeloffset)})}function H($){e.forEach($.edges(),function(K){var Z=$.edge(K);if(Z.width&&Z.height){var oe=$.node(K.v),ce=$.node(K.w),he={rank:(ce.rank-oe.rank)/2+oe.rank,e:K};v.addDummyNode($,"edge-proxy",he,"_ep")}})}function Q($){var K=0;e.forEach($.nodes(),function(Z){var oe=$.node(Z);oe.borderTop&&(oe.minRank=$.node(oe.borderTop).rank,oe.maxRank=$.node(oe.borderBottom).rank,K=e.max(K,oe.maxRank))}),$.graph().maxRank=K}function ee($){e.forEach($.nodes(),function(K){var Z=$.node(K);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(K))})}function R($){var K=Number.POSITIVE_INFINITY,Z=0,oe=Number.POSITIVE_INFINITY,ce=0,he=$.graph(),me=he.marginx||0,Me=he.marginy||0;function Ie(Pe){var Ae=Pe.x,Ee=Pe.y,Ge=Pe.width,we=Pe.height;K=Math.min(K,Ae-Ge/2),Z=Math.max(Z,Ae+Ge/2),oe=Math.min(oe,Ee-we/2),ce=Math.max(ce,Ee+we/2)}e.forEach($.nodes(),function(Pe){Ie($.node(Pe))}),e.forEach($.edges(),function(Pe){var Ae=$.edge(Pe);e.has(Ae,"x")&&Ie(Ae)}),K-=me,oe-=Me,e.forEach($.nodes(),function(Pe){var Ae=$.node(Pe);Ae.x-=K,Ae.y-=oe}),e.forEach($.edges(),function(Pe){var Ae=$.edge(Pe);e.forEach(Ae.points,function(Ee){Ee.x-=K,Ee.y-=oe}),e.has(Ae,"x")&&(Ae.x-=K),e.has(Ae,"y")&&(Ae.y-=oe)}),he.width=Z-K+me,he.height=ce-oe+Me}function G($){e.forEach($.edges(),function(K){var Z=$.edge(K),oe=$.node(K.v),ce=$.node(K.w),he,me;Z.points?(he=Z.points[0],me=Z.points[Z.points.length-1]):(Z.points=[],he=ce,me=oe),Z.points.unshift(v.intersectRect(oe,he)),Z.points.push(v.intersectRect(ce,me))})}function B($){e.forEach($.edges(),function(K){var Z=$.edge(K);if(e.has(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function X($){e.forEach($.edges(),function(K){var Z=$.edge(K);Z.reversed&&Z.points.reverse()})}function Y($){e.forEach($.nodes(),function(K){if($.children(K).length){var Z=$.node(K),oe=$.node(Z.borderTop),ce=$.node(Z.borderBottom),he=$.node(e.last(Z.borderLeft)),me=$.node(e.last(Z.borderRight));Z.width=Math.abs(me.x-he.x),Z.height=Math.abs(ce.y-oe.y),Z.x=he.x+Z.width/2,Z.y=oe.y+Z.height/2}}),e.forEach($.nodes(),function(K){$.node(K).dummy==="border"&&$.removeNode(K)})}function q($){e.forEach($.edges(),function(K){if(K.v===K.w){var Z=$.node(K.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:K,label:$.edge(K)}),$.removeEdge(K)}})}function V($){var K=v.buildLayerMatrix($);e.forEach(K,function(Z){var oe=0;e.forEach(Z,function(ce,he){var me=$.node(ce);me.order=he+oe,e.forEach(me.selfEdges,function(Me){v.addDummyNode($,"selfedge",{width:Me.label.width,height:Me.label.height,rank:me.rank,order:he+ ++oe,e:Me.e,label:Me.label},"_se")}),delete me.selfEdges})})}function M($){e.forEach($.nodes(),function(K){var Z=$.node(K);if(Z.dummy==="selfedge"){var oe=$.node(Z.e.v),ce=oe.x+oe.width/2,he=oe.y,me=Z.x-ce,Me=oe.height/2;$.setEdge(Z.e,Z.label),$.removeNode(K),Z.label.points=[{x:ce+2*me/3,y:he-Me},{x:ce+5*me/6,y:he-Me},{x:ce+me,y:he},{x:ce+5*me/6,y:he+Me},{x:ce+2*me/3,y:he+Me}],Z.label.x=Z.x,Z.label.y=Z.y}})}function z($,K){return e.mapValues(e.pick($,K),Number)}function ae($){var K={};return e.forEach($,function(Z,oe){K[oe.toLowerCase()]=Z}),K}return Um}var Hm,nb;function SL(){if(nb)return Hm;nb=1;var e=tt(),n=Qt(),i=In().Graph;Hm={debugOrdering:s};function s(o){var u=n.buildLayerMatrix(o),l=new i({compound:!0,multigraph:!0}).setGraph({});return e.forEach(o.nodes(),function(c){l.setNode(c,{label:c}),l.setParent(c,"layer"+o.node(c).rank)}),e.forEach(o.edges(),function(c){l.setEdge(c.v,c.w,{},c.name)}),e.forEach(u,function(c,d){var p="layer"+d;l.setNode(p,{rank:"same"}),e.reduce(c,function(h,m){return l.setEdge(h,m,{style:"invis"}),m})}),l}return Hm}var Vm,rb;function kL(){return rb||(rb=1,Vm="0.8.5"),Vm}var Wm,ib;function bL(){return ib||(ib=1,Wm={graphlib:In(),layout:xL(),debug:SL(),util:{time:Qt().time,notime:Qt().notime},version:kL()}),Wm}var EL=bL();const sb=mg(EL),ob=240,ab=130,NL=110;function CL(e){var i;return((i=e.data)==null?void 0:i.sessionId)??"_default"}function TL(e,n,i,s){const o=new sb.graphlib.Graph;o.setDefaultEdgeLabel(()=>({})),o.setGraph({rankdir:i,marginx:0,marginy:0,nodesep:70,ranksep:160,edgesep:30});const u=new Set(e);for(const _ of e){const N=s.get(_);o.setNode(_,{width:(N==null?void 0:N.width)??ob,height:(N==null?void 0:N.height)??ab})}for(const _ of n)u.has(_.source)&&u.has(_.target)&&o.setEdge(_.source,_.target);sb.layout(o);const l=new Map;let c=1/0,d=1/0,p=-1/0,h=-1/0;for(const _ of e){const N=o.node(_);if(!N)continue;const x=s.get(_),S=(x==null?void 0:x.width)??ob,k=(x==null?void 0:x.height)??ab,E=N.x-S/2,b=N.y-k/2;l.set(_,{x:E,y:b}),E<c&&(c=E),b<d&&(d=b),E+S>p&&(p=E+S),b+k>h&&(h=b+k)}if(Number.isFinite(c)&&Number.isFinite(d))for(const[_,N]of l)l.set(_,{x:N.x-c,y:N.y-d});const m=Number.isFinite(p)?p-c:0,v=Number.isFinite(h)?h-d:0;return{positions:l,width:m,height:v}}function ub(e,n,i={}){const s=i.direction??"LR",o=i.pinned??new Map,u=i.measured??new Map,l=new Map;for(const h of e){const m=CL(h),v=l.get(m);v?v.push(h.id):l.set(m,[h.id])}const c=Array.from(l.keys()).sort(),d=new Map;let p=0;for(const h of c){const m=l.get(h),{positions:v,height:_}=TL(m,n,s,u);for(const[N,x]of v)d.set(N,{x:x.x,y:x.y+p});p+=_+NL}return e.map(h=>{const m=o.get(h.id);if(m)return{...h,position:m};const v=d.get(h.id);return v?{...h,position:v}:h})}const RL=600;function dg(e,n){return!(e.exitAt!=null&&n-e.exitAt>RL||e.kind==="root"&&e.state==="done"&&e.tools.length===0&&e.endedAt!=null&&e.endedAt-e.startedAt<3e3)}function jL(e,n){const i=new Set;for(const s of e.agents.values())dg(s,n)&&i.add(s.id);return i}function Xr(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}function AL(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}const IL={agent:aP,sessionGroup:yP},za=18,ML=9e4,PL=200,qL=5*6e4,ev="agent-dag.layout",tv="agent-dag.viewport",VN="agent-dag.summariesDismissed",WN="agent-dag.sessionListOpen",GN="agent-dag.detailOpen",KN="agent-dag.usagePanelOpen";function OL(){if(typeof window>"u")return!0;try{return window.localStorage.getItem(WN)!=="0"}catch{return!0}}function LL(e){if(!(typeof window>"u"))try{window.localStorage.setItem(WN,e?"1":"0")}catch{}}function $L(){if(typeof window>"u")return!0;try{return window.localStorage.getItem(GN)!=="0"}catch{return!0}}function DL(e){if(!(typeof window>"u"))try{window.localStorage.setItem(GN,e?"1":"0")}catch{}}function FL(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(KN);try{return e===null?!0:e==="1"}catch{return!0}}function zL(e){if(!(typeof window>"u"))try{window.localStorage.setItem(KN,e?"1":"0")}catch{}}function BL(){if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(VN);if(!e)return new Set;const n=JSON.parse(e);return new Set(Array.isArray(n)?n.filter(i=>typeof i=="string"):[])}catch{return new Set}}function lb(e){if(!(typeof window>"u"))try{const n=Array.from(e),i=n.length>200?n.slice(-200):n;window.localStorage.setItem(VN,JSON.stringify(i))}catch{}}function UL(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(ev);if(!e)return[];const n=JSON.parse(e);return Object.entries(n).filter(([,i])=>i&&typeof i.x=="number"&&typeof i.y=="number")}catch{return[]}}function cb(e){if(!(typeof window>"u"))try{const n={};for(const[i,s]of e)n[i]=s;window.localStorage.setItem(ev,JSON.stringify(n))}catch{}}function HL(){if(typeof window>"u")return null;try{const e=window.localStorage.getItem(tv);if(!e)return null;const n=JSON.parse(e);return typeof(n==null?void 0:n.x)!="number"||typeof(n==null?void 0:n.y)!="number"||typeof(n==null?void 0:n.zoom)!="number"?null:n}catch{return null}}function VL(e){if(!(typeof window>"u"))try{window.localStorage.setItem(tv,JSON.stringify(e))}catch{}}function fb(){if(!(typeof window>"u")){try{window.localStorage.removeItem(ev)}catch{}try{window.localStorage.removeItem(tv)}catch{}}}function WL(e,n){const i=e.agents.get(n);if(!i)return;const s=[];for(const h of e.agents.values())h.sessionId===n&&s.push(h);const o={schemaVersion:1,exportedAt:new Date().toISOString(),sessionId:n,label:i.label,cwd:i.cwd,startedAt:i.startedAt,endedAt:i.endedAt,model:i.model,agents:s.map(h=>({id:h.id,kind:h.kind,label:h.label,parentId:h.parentId,state:h.state,startedAt:h.startedAt,endedAt:h.endedAt,model:h.model,cwd:h.cwd,usage:h.usage,prompts:h.prompts,tools:h.tools.map(m=>({id:m.id,name:m.name,inputPreview:m.inputPreview,startedAt:m.startedAt,endedAt:m.endedAt,ok:m.ok,errorPreview:m.errorPreview,usage:m.usage}))}))},u=JSON.stringify(o,null,2),l=new Blob([u],{type:"application/json"}),c=URL.createObjectURL(l),d=document.createElement("a"),p=(i.label||"session").replace(/[^a-z0-9._-]/gi,"_");d.href=c,d.download=`agents-deck-${p}-${n.slice(0,8)}.json`,document.body.appendChild(d),d.click(),document.body.removeChild(d),setTimeout(()=>URL.revokeObjectURL(c),1e3)}const hg={file:"📁",shell:"⚡",web:"🌐",agent:"🤖",task:"📋",plan:"🧭",mcp:"🔌",other:"✨"},pg={file:"file",shell:"shell",web:"web",agent:"agent",task:"task",plan:"plan",mcp:"mcp",other:"other"},GL={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan"};function YN(e){return e.startsWith("mcp__")?"mcp":GL[e]??"other"}function XN(e,n){var s,o,u;if(!n)return!0;const i=n.toLowerCase();if(e.label.toLowerCase().includes(i)||(s=e.cwd)!=null&&s.toLowerCase().includes(i)||(o=e.cwdBasename)!=null&&o.toLowerCase().includes(i)||e.sessionId.toLowerCase().includes(i)||(u=e.firstPrompt)!=null&&u.toLowerCase().includes(i))return!0;for(const l of e.tools)if(l.name.toLowerCase().includes(i))return!0;return!1}function KL(e,n){if(!n)return null;const i=new Set([n]);let s=n;for(;s;){const u=e.agents.get(s);if(!(u!=null&&u.parentId)||i.has(u.parentId))break;i.add(u.parentId),s=u.parentId}let o=!0;for(;o;){o=!1;for(const u of e.agents.values())u.parentId&&i.has(u.parentId)&&!i.has(u.id)&&(i.add(u.id),o=!0)}return i}function YL(e,n,i,s,o,u,l,c,d,p,h,m){const v=[],_=[],N=new Set;if(s)for(const k of e.agents.values())XN(k,s)&&N.add(k.id);for(const k of e.agents.values()){if(!h.has(k.id))continue;const E=s?!N.has(k.id):!1,b=k.exitAt!=null,T=p!=null&&!p.has(k.id),A=[E?"rf-dim":"",b?"rf-exiting":"",T?"rf-spotlit-out":""].filter(Boolean).join(" ")||void 0,I=o.get(k.id);if(v.push({id:k.id,type:"agent",position:{x:0,y:0},data:{...k,now:n,dim:E,onOpenContext:m},className:A,...I?{width:I.width,height:I.height}:null}),k.parentId&&h.has(k.parentId)){const j=Pg(k.sessionId),D=k.state==="active"?`hsl(${j} 80% 72%)`:`hsl(${j} 50% 55%)`,O=s&&!N.has(k.id)&&!N.has(k.parentId),U=b,H=d.size>0&&(d.has(k.id)||d.has(k.parentId)),Q=p!=null&&!p.has(k.id)&&!p.has(k.parentId),ee=k.state==="active"?2:1.5,R=H?ee+1.5:ee,G=O||U?.2:Q?.12:1,B=[U?"rf-edge-exiting":"",H?"rf-edge-selected":""].filter(Boolean).join(" ")||void 0;_.push({id:`e:${k.parentId}->${k.id}`,source:k.parentId,target:k.id,animated:(k.state==="active"||H)&&!O&&!U,type:"smoothstep",style:{stroke:D,strokeWidth:R,opacity:G,transition:"opacity 500ms ease, stroke-width 200ms ease"},className:B})}}if(l!==c.current){const k=ub(v,_,{direction:"LR",pinned:i,measured:o});for(const E of k)u.set(E.id,E.position);c.current=l}else if(v.filter(E=>!i.has(E.id)&&!u.has(E.id)).length>0){const E=ub(v,_,{direction:"LR",pinned:i,measured:o});for(const b of E)u.has(b.id)||u.set(b.id,b.position)}for(const k of Array.from(u.keys()))e.agents.has(k)||u.delete(k);const x=[];let S=!1;for(const k of v){let E=i.get(k.id)??u.get(k.id);E||(E={x:0,y:0},u.set(k.id,E),S=!0),x.push({...k,position:E})}return S&&(c.current=""),{nodes:x,edges:_}}function XL(){return w.jsx(Ig,{children:w.jsx(QL,{})})}function QL(){const e=lo(),n=L.useRef(lg()),[,i]=L.useState(0),s=L.useCallback(()=>i(se=>se+1),[]),[o,u]=L.useState(()=>new Set),[l,c]=L.useState(null),[d,p]=L.useState(null),h=L.useCallback((se,re)=>{u(pe=>{if(!re)return new Set([se]);const ge=new Set(pe);return ge.has(se)?ge.delete(se):ge.add(se),ge}),c(pe=>re&&pe===se?pe:se)},[]),m=L.useCallback(()=>{u(new Set),c(null)},[]),[v,_]=L.useState(null),[N,x]=L.useState(null),S=L.useCallback(se=>x(se),[]),k=L.useRef(BL()),[E,b]=L.useState(OL);L.useEffect(()=>{LL(E)},[E]);const[T,A]=L.useState($L);L.useEffect(()=>{DL(T)},[T]);const[I,j]=L.useState(FL);L.useEffect(()=>{zL(I)},[I]);const[D,O]=L.useState(!1),[U,H]=L.useState(0),[Q,ee]=L.useState(!1),[R,G]=L.useState(!1),B=L.useRef([]),[X,Y]=L.useState(Date.now()),q=L.useRef(new Map(UL())),V=L.useRef(null),M=L.useState(()=>HL())[0],[z,ae]=L.useState(""),[$,K]=L.useState(()=>new Set),[Z,oe]=L.useState(()=>typeof window>"u"?"dark":window.localStorage.getItem("agent-dag.theme")??"dark"),[ce,he]=L.useState(!1),me=L.useRef(null);L.useEffect(()=>{document.documentElement.dataset.theme=Z;try{window.localStorage.setItem("agent-dag.theme",Z)}catch{}},[Z]),L.useEffect(()=>{if(!M)return;const se=window.setTimeout(()=>{try{e.setViewport(M,{duration:0})}catch{}},60);return()=>window.clearTimeout(se)},[e,M]);const Me=L.useRef(!0),Ie=L.useRef(null);L.useEffect(()=>{const se=new EventSource("/events");return se.addEventListener("open",()=>{ee(!0),he(!0)}),se.addEventListener("error",()=>ee(!1)),se.addEventListener("replay-end",()=>{Me.current=!1,Ie.current!=null&&(window.clearTimeout(Ie.current),Ie.current=null),s()}),se.addEventListener("hook",re=>{try{const pe=JSON.parse(re.data);if(R){B.current.push(pe);return}n.current=Tw(n.current,pe),pe.replay===!0||Me.current||Date.now()-pe.receivedAt>3e4?(Ie.current!=null&&window.clearTimeout(Ie.current),Ie.current=window.setTimeout(()=>{Ie.current=null,s()},120)):(Ie.current!=null&&(window.clearTimeout(Ie.current),Ie.current=null),s())}catch{}}),()=>{se.close(),Ie.current!=null&&(window.clearTimeout(Ie.current),Ie.current=null)}},[R,s]),L.useEffect(()=>{if(!R&&B.current.length!==0){for(const se of B.current)n.current=Tw(n.current,se);B.current.length=0,s()}},[R,s]),L.useEffect(()=>{const se=setInterval(()=>{const re=Date.now();Y(re);let pe=XM(n.current,re,ML);YM(n.current,re,PL,qL)&&(pe=!0),pe&&s()},250);return()=>clearInterval(se)},[s]);const Pe=L.useRef(null),Ae=L.useRef(0),Ee=L.useRef(""),Ge=L.useRef(null),we=L.useRef(0),ye=L.useCallback(()=>{we.current=Date.now()},[]),ze="agent-dag.autoFitDisabled",Xe=L.useRef((()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(ze)==="1"}catch{return!1}})()),[ht,ot]=L.useState(Xe.current),Ke=L.useCallback(()=>{if(!Xe.current){Xe.current=!0,ot(!0);try{window.localStorage.setItem(ze,"1")}catch{}}},[]),wt=L.useCallback(()=>{Xe.current=!1,ot(!1);try{window.localStorage.removeItem(ze)}catch{}try{e.fitView({padding:.25,duration:400})}catch{}},[e]);L.useEffect(()=>{const se=setInterval(()=>{if(Xe.current||Date.now()-we.current<800)return;const re=n.current,pe=Date.now(),ge=[];for(const ft of re.agents.values())dg(ft,pe)&&ge.push({id:ft.id});if(ge.length===0)return;const xe=e.getViewport(),ke=window.innerWidth-360,Le=window.innerHeight-52;let _t=!1,on=!1;for(const{id:ft}of ge){const He=pt.current.get(ft),On=q.current.get(ft)??at.current.get(ft);if(!He||!On)continue;on=!0;const li=On.x*xe.zoom+xe.x,ns=On.y*xe.zoom+xe.y,ci=(On.x+He.width)*xe.zoom+xe.x,fi=(On.y+He.height)*xe.zoom+xe.y;if(ci>0&&li<ke&&fi>0&&ns<Le){_t=!0;break}}if(on&&!_t)try{e.fitView({padding:.25,duration:600})}catch{}},1500);return()=>clearInterval(se)},[e]);const pt=L.useRef(new Map),Dt=L.useRef(0),It=L.useCallback(se=>{const re=pt.current;let pe=!1;for(const ge of se.nodeInternals.values()){const xe=ge.width,ke=ge.height;if(xe==null||ke==null)continue;const Le=re.get(ge.id);Le?(Math.abs(Le.height-ke)>4||Math.abs(Le.width-xe)>4)&&(re.set(ge.id,{width:xe,height:ke}),pe=!0):(re.set(ge.id,{width:xe,height:ke}),pe=!0)}return pe&&(Dt.current+=1),Dt.current},[]),ct=We(It),at=L.useRef(new Map),Et=L.useRef(""),Be=L.useMemo(()=>{const se=[];for(const re of n.current.agents.values())dg(re,X)&&se.push(re.id+(re.parentId?`>${re.parentId}`:""));return se.sort(),`${se.join("|")}#sv${ct}`},[n.current,n.current.lastSeq,X,ct]);L.useEffect(()=>{if(Ee.current===Be)return;const se=Ee.current;if(Ee.current=Be,!se||Xe.current)return;const re=Date.now();if(re-Ae.current>1200){try{e.fitView({padding:.25,duration:400})}catch{}Ae.current=re}Pe.current&&window.clearTimeout(Pe.current),Pe.current=window.setTimeout(()=>{if(!Xe.current){try{e.fitView({padding:.25,duration:500})}catch{}Ae.current=Date.now()}},280)},[Be,e]);const mt=L.useMemo(()=>{if(o.size===0)return null;const se=new Set;for(const re of o){const pe=KL(n.current,re);if(pe)for(const ge of pe)se.add(ge)}return se.size>0?se:null},[n.current,n.current.lastSeq,o]),nt=L.useMemo(()=>jL(n.current,X),[n.current,n.current.lastSeq,X]),{nodes:Ue,edges:wn}=L.useMemo(()=>YL(n.current,X,q.current,z,pt.current,at.current,Be,Et,o,mt,nt,S),[n.current,n.current.lastSeq,X,z,Be,o,mt,nt,S,U]),Mt=L.useMemo(()=>{const se=new Map;for(const pe of Ue){const ge=pe.data;if(!(ge!=null&&ge.sessionId)||ge.exitAt!=null)continue;const xe=pe.width,ke=pe.height;if(xe==null||ke==null)continue;const Le=pe.position.x,_t=pe.position.y,on=Le+xe,ft=_t+ke,He=se.get(ge.sessionId);He?(He.minX=Math.min(He.minX,Le),He.minY=Math.min(He.minY,_t),He.maxX=Math.max(He.maxX,on),He.maxY=Math.max(He.maxY,ft)):se.set(ge.sessionId,{minX:Le,minY:_t,maxX:on,maxY:ft})}const re=[];for(const[pe,ge]of se){const xe=ge.maxX-ge.minX+za*2,ke=ge.maxY-ge.minY+za*2;re.push({id:`group:${pe}`,type:"sessionGroup",position:{x:ge.minX-za,y:ge.minY-za},data:{sessionId:pe,w:xe,h:ke},width:xe,height:ke,style:{width:xe,height:ke},zIndex:-1,draggable:!0,selectable:!1,focusable:!1,deletable:!1,connectable:!1})}return re},[Ue,X]),Pt=L.useMemo(()=>[...Mt,...Ue],[Mt,Ue]),_n=L.useMemo(()=>{if(!z)return null;const se=new Set;for(const re of n.current.agents.values())XN(re,z)&&se.add(re.id);return se},[n.current,n.current.lastSeq,z]),qn=L.useMemo(()=>{const se=new Set;for(const re of n.current.agents.values())for(const pe of re.tools)se.add(YN(pe.name));return Object.keys(hg).filter(re=>se.has(re))},[n.current,n.current.lastSeq]),Ft=L.useMemo(()=>{const se=new Map;for(const pe of n.current.agents.values())for(const ge of pe.tools){if(!ge.name.startsWith("mcp__"))continue;const xe=ge.name.slice(5),ke=xe.indexOf("__"),Le=ke>0?xe.slice(0,ke):xe;se.set(Le,(se.get(Le)??0)+1)}const re=[];for(const[pe,ge]of se){let xe=5381;for(let ke=0;ke<pe.length;ke++)xe=(xe<<5)+xe^pe.charCodeAt(ke);re.push({server:pe,count:ge,hue:Math.abs(xe)%360})}return re.sort((pe,ge)=>ge.count-pe.count),re},[n.current,n.current.lastSeq]),sn=L.useCallback(se=>{K(re=>{const pe=new Set(re);return pe.has(se)?pe.delete(se):pe.add(se),pe})},[]),Je=l?n.current.agents.get(l):null,Zt=d?Array.from(n.current.agents.values()).flatMap(se=>se.tools).find(se=>se.id===d)??null:null,ar=L.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}n.current=lg(),q.current.clear(),pt.current.clear(),at.current.clear(),Et.current="",fb(),m(),s()},[s,m]),ur=L.useCallback(()=>{q.current.clear(),at.current.clear(),Et.current="",fb(),s(),window.setTimeout(()=>{try{e.fitView({padding:.25,duration:500})}catch{}Ae.current=Date.now()},80)},[s,e]),Or=L.useCallback(()=>{try{e.fitView({padding:.25,duration:500})}catch{}Ae.current=Date.now()},[e]),lr=L.useCallback(se=>{if(Ue.length===0)return;const re=Ue.slice().sort((ke,Le)=>ke.position.y-Le.position.y||ke.position.x-Le.position.x),pe=l?re.findIndex(ke=>ke.id===l):-1;let ge;pe===-1?ge=se===1?0:re.length-1:ge=(pe+se+re.length)%re.length;const xe=re[ge];xe&&(h(xe.id,!1),window.setTimeout(()=>{try{e.fitView({padding:.35,duration:350,nodes:[xe]})}catch{}Ae.current=Date.now()},30))},[Ue,l,h,e]);L.useEffect(()=>{const se=re=>{var ge,xe;const pe=((ge=re.target)==null?void 0:ge.tagName)==="INPUT";if(re.key==="Escape"){pe?re.target.blur():m();return}if(!pe){if(re.key==="/"){re.preventDefault(),(xe=me.current)==null||xe.focus();return}re.key===" "&&(re.preventDefault(),G(ke=>!ke)),(re.key==="c"||re.key==="C")&&ar(),(re.key==="r"||re.key==="R")&&ur(),(re.key==="f"||re.key==="F")&&Or(),(re.key==="l"||re.key==="L")&&b(ke=>!ke),(re.key==="h"||re.key==="H")&&O(ke=>!ke),(re.key==="u"||re.key==="U")&&j(ke=>!ke),(re.key==="j"||re.key==="J")&&lr(1),(re.key==="k"||re.key==="K")&&lr(-1),(re.key==="t"||re.key==="T")&&oe(ke=>ke==="dark"?"light":"dark")}};return window.addEventListener("keydown",se),()=>window.removeEventListener("keydown",se)},[ar,ur,Or,m,lr]);const Hn=n.current.agents.size,ui=new Set(Array.from(n.current.agents.values()).map(se=>se.sessionId)).size,gt=L.useMemo(()=>{let se=0,re=0,pe=0,ge=0,xe=0,ke=0,Le=0,_t=0,on=0;for(const ft of n.current.agents.values()){se+=ft.usage.inputTokens,re+=ft.usage.outputTokens,pe+=ft.usage.cacheReadTokens,ge+=ft.usage.cacheCreateTokens;const He=Xt(ft.usage,ft.model);xe+=He.total,ke+=He.input,Le+=He.output,_t+=He.cacheRead,on+=He.cacheWrite}return{inT:se,outT:re,cacheR:pe,cacheC:ge,sum:se+re,cost:{total:xe,input:ke,output:Le,cacheRead:_t,cacheWrite:on}}},[n.current,n.current.lastSeq]);return w.jsxs("div",{className:"app",children:[w.jsxs("header",{className:"topbar",children:[w.jsxs("div",{className:"brand",children:[w.jsx("span",{className:"logo"}),"agents-deck ",w.jsxs("span",{className:"v",children:["v","1.23.1"]})]}),Je&&(()=>{const se=Xt(Je.usage,Je.model),re=Math.max(0,((Je.endedAt??X)-Je.startedAt)/1e3),pe=Je.state==="active"?nu(se.total,re):null,ge=o.size-1;return w.jsxs("button",{type:"button",className:"selected-ribbon",title:`Fit view to ${Je.label}`,onClick:()=>{try{const xe=Ue.find(ke=>ke.id===Je.id);xe&&e.fitView({padding:.35,duration:500,nodes:[xe]}),Ae.current=Date.now()}catch{}},children:[w.jsx("span",{className:`state-pill state-${Je.state}`,children:Je.state==="active"?"live":Je.state}),w.jsx("span",{className:"selected-label",children:Je.label}),se.total>0&&w.jsxs("span",{className:"selected-cost",children:[De(se.total),pe?w.jsxs("span",{className:"selected-rate",children:[" · ",pe]}):null]}),ge>0&&w.jsxs("span",{className:"selected-extra",children:["+",ge]}),w.jsx("span",{role:"button","aria-label":"Deselect",className:"selected-close",onClick:xe=>{xe.stopPropagation(),m()},children:"×"})]})})(),w.jsxs("div",{className:"actions",children:[w.jsxs("div",{className:"search",children:[w.jsx("span",{className:"search-icon","aria-hidden":!0,children:"⌕"}),w.jsx("input",{ref:me,type:"text",placeholder:"Search agents, cwd, tools…",value:z,onChange:se=>ae(se.target.value),spellCheck:!1,"aria-label":"Filter the graph"}),z?w.jsx("button",{className:"search-clear","aria-label":"Clear search",onClick:()=>ae(""),children:"×"}):w.jsx("kbd",{className:"search-kbd","aria-hidden":!0,children:"/"})]}),w.jsxs("span",{className:"status",role:"status",children:[w.jsx("span",{className:`pill ${Q?"live":"dead"}`,title:Q?"Receiving events":"SSE disconnected",children:Q?"live":"offline"}),w.jsxs("span",{className:"stat",title:"Distinct CC sessions",children:[w.jsx("span",{className:"count",children:ui}),w.jsx("span",{className:"lbl",children:"sessions"})]}),w.jsxs("span",{className:"stat",title:"Total agents (root + subagents)",children:[w.jsx("span",{className:"count",children:Hn}),w.jsx("span",{className:"lbl",children:"agents"})]}),w.jsxs("span",{className:"stat",title:"Total hook events received",children:[w.jsx("span",{className:"count",children:n.current.totalEvents}),w.jsx("span",{className:"lbl",children:"events"})]}),gt.sum>0&&w.jsxs("span",{className:"stat",title:`in:${gt.inT.toLocaleString()} out:${gt.outT.toLocaleString()} cache-r:${gt.cacheR.toLocaleString()} cache-c:${gt.cacheC.toLocaleString()}`,children:[w.jsx("span",{className:"count",children:AL(gt.sum)}),w.jsx("span",{className:"lbl",children:"tokens"})]}),Ft.length>0&&w.jsxs("span",{className:"stat mcp-legend",title:`MCP servers seen this session:
60
60
  ${Ft.map(se=>` ${se.server}: ${se.count} call${se.count===1?"":"s"}`).join(`
61
61
  `)}`,children:[Ft.slice(0,6).map(se=>w.jsx("span",{className:"mcp-dot",style:{background:`hsl(${se.hue} 65% 65%)`}},se.server)),Ft.length>6&&w.jsxs("span",{className:"mcp-more",children:["+",Ft.length-6]}),w.jsx("span",{className:"lbl",children:"mcp"})]}),gt.cost.total>0&&(()=>{let se=0,re=0;for(const xe of n.current.agents.values()){if(xe.state!=="active")continue;const ke=Xt(xe.usage,xe.model);se+=ke.total,re=Math.max(re,((xe.endedAt??X)-xe.startedAt)/1e3)}const pe=re>0?nu(se,re):null,ge=`input ${De(gt.cost.input)} + output ${De(gt.cost.output)} + cache r ${De(gt.cost.cacheRead)} + cache w ${De(gt.cost.cacheWrite)}${pe?`
62
62
  active burn: ${pe}`:""}`;return w.jsxs("span",{className:"stat",title:ge,children:[w.jsx("span",{className:"count",children:De(gt.cost.total)}),w.jsxs("span",{className:"lbl",children:["cost",pe?` · ${pe}`:""]})]})})()]}),w.jsx("button",{className:`btn ${R?"warn":""}`,onClick:()=>G(se=>!se),title:"Pause/resume live updates (Space)",children:R?`Resume${B.current.length?` · ${B.current.length}`:""}`:"Pause"}),w.jsx("button",{className:`btn icon-btn ${I?"primary":""}`,onClick:()=>j(se=>!se),title:`${I?"Hide":"Show"} usage panel (U)`,"aria-label":"Toggle usage panel",children:"$"}),w.jsx("button",{className:`btn icon-btn ${E?"primary":""}`,onClick:()=>b(se=>!se),title:`${E?"Hide":"Show"} session list (L)`,"aria-label":"Toggle session list",children:"☰"}),w.jsx("button",{className:`btn icon-btn ${D?"primary":""}`,onClick:()=>O(se=>!se),title:"Usage history — ccusage (H)","aria-label":"Open usage history",children:w.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round","aria-hidden":!0,children:[w.jsx("line",{x1:"3",y1:"11.5",x2:"3",y2:"7"}),w.jsx("line",{x1:"7",y1:"11.5",x2:"7",y2:"3"}),w.jsx("line",{x1:"11",y1:"11.5",x2:"11",y2:"8.5"})]})}),w.jsx("button",{className:"btn",onClick:ur,title:"Auto-arrange — clear pins (R)",children:"Re-layout"}),w.jsx("button",{className:"btn",onClick:ar,title:"Clear canvas (C)",children:"Clear"}),w.jsx("button",{className:"btn icon-btn",onClick:()=>oe(se=>se==="dark"?"light":"dark"),title:`Switch to ${Z==="dark"?"light":"dark"} mode (T)`,"aria-label":"Toggle theme",children:Z==="dark"?"☀":"☾"})]})]}),ce&&!Q&&w.jsxs("div",{className:"conn-banner",role:"alert",children:[w.jsx("span",{className:"conn-dot"}),"Lost connection to agents-deck server. Reconnecting…"]}),I&&w.jsx(s3,{state:n.current,now:X,onClose:()=>j(!1)}),E&&w.jsx(QP,{state:n.current,now:X,selectedIds:o,onSelect:se=>{h(se,!1),window.setTimeout(()=>{try{const re=Ue.find(pe=>pe.id===se);re&&e.fitView({padding:.3,duration:500,nodes:[re]}),Ae.current=Date.now()}catch{}},60)},onClose:()=>b(!1)}),w.jsxs("div",{className:"canvas-wrap",children:[Hn===0&&w.jsx(ZL,{live:Q,everConnected:ce}),qn.length>1&&w.jsx("div",{className:"cat-filter-bar",role:"toolbar","aria-label":"Filter tools by category",children:qn.map(se=>{const re=$.has(se);return w.jsxs("button",{type:"button",className:`cat-filter${re?" off":""}`,onClick:()=>sn(se),title:`${re?"Show":"Hide"} ${pg[se]} tools`,children:[w.jsx("span",{className:"cat-emoji",children:hg[se]}),w.jsx("span",{className:"cat-name",children:pg[se]})]},se)})}),w.jsxs(jE,{nodes:Pt,edges:wn,nodeTypes:IL,fitView:!M,fitViewOptions:{padding:.25,duration:400},minZoom:.2,maxZoom:1.6,panOnScroll:!0,nodesDraggable:!0,nodesConnectable:!1,selectionOnDrag:!1,onNodeClick:(se,re)=>{if(re.type==="sessionGroup"){m();return}h(re.id,se.shiftKey)},onPaneClick:()=>m(),onMoveStart:()=>{Ke()},onMove:(se,re)=>{ye(),Ge.current&&window.clearTimeout(Ge.current),Ge.current=window.setTimeout(()=>VL(re),250)},onNodeDragStart:(se,re)=>{var pe;if(ye(),Ke(),re.type==="sessionGroup"){const ge=(pe=re.data)==null?void 0:pe.sessionId,xe=new Map;if(ge)for(const ke of Ue){const Le=ke.data;(Le==null?void 0:Le.sessionId)===ge&&xe.set(ke.id,{x:ke.position.x,y:ke.position.y})}V.current={start:{x:re.position.x,y:re.position.y},members:xe};return}q.current.set(re.id,{x:re.position.x,y:re.position.y})},onNodeDrag:(se,re)=>{if(ye(),re.type==="sessionGroup"){const pe=V.current;if(!pe)return;const ge=re.position.x-pe.start.x,xe=re.position.y-pe.start.y;for(const[ke,Le]of pe.members){const _t={x:Le.x+ge,y:Le.y+xe};q.current.set(ke,_t),at.current.set(ke,_t)}H(ke=>ke+1);return}q.current.set(re.id,{x:re.position.x,y:re.position.y}),at.current.set(re.id,{x:re.position.x,y:re.position.y})},onNodeDragStop:(se,re)=>{if(ye(),re.type==="sessionGroup"){const pe=V.current;if(pe){const ge=re.position.x-pe.start.x,xe=re.position.y-pe.start.y;for(const[ke,Le]of pe.members){const _t={x:Le.x+ge,y:Le.y+xe};q.current.set(ke,_t),at.current.set(ke,_t)}}V.current=null,cb(q.current),H(ge=>ge+1);return}q.current.set(re.id,{x:re.position.x,y:re.position.y}),at.current.set(re.id,{x:re.position.x,y:re.position.y}),cb(q.current)},children:[w.jsx(UM,{gap:28,size:1,color:Xr("--grid-line")}),w.jsx(gP,{}),w.jsx(VP,{agents:n.current.agents,visibleAgentIds:nt,positions:at.current,pinned:q.current,measured:pt.current,dimUnmatched:_n,spotlight:mt,hiddenCategories:$,now:X,onOpenTool:p}),w.jsx(LM,{showInteractive:!1,children:w.jsx(Ui,{onClick:wt,title:ht?"Recenter view + re-enable autofit":"Recenter view (autofit already on)","aria-label":"Recenter view",style:ht?{color:"var(--accent)"}:void 0,children:w.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24","aria-hidden":!0,children:[w.jsx("circle",{cx:"12",cy:"12",r:"3.5",fill:"none",stroke:"currentColor",strokeWidth:"2"}),w.jsx("path",{d:"M12 2v4M12 18v4M2 12h4M18 12h4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]})})}),w.jsx(jM,{zoomable:!0,pannable:!0,nodeColor:se=>{const re=se.data;return re.state==="err"?Xr("--err"):re.state==="active"?Xr("--inflight"):Xr("--ok")},nodeStrokeWidth:2,maskColor:Xr("--minimap-mask"),style:{background:Xr("--panel"),border:`1px solid ${Xr("--line")}`,borderRadius:8}})]})]}),T?w.jsxs("aside",{className:"detail",children:[w.jsx("button",{type:"button",className:"detail-close",title:"Close panel","aria-label":"Close detail panel",onClick:()=>A(!1),children:"×"}),Je?w.jsx(t$,{agent:Je,now:X,onOpenTool:p,onShowSummary:se=>{k.current.has(se)&&(k.current.delete(se),lb(k.current)),_(se)},onExportSession:se=>WL(n.current,se)}):w.jsx(e$,{count:Hn})]}):w.jsx("button",{type:"button",className:"detail-reopen",title:"Show detail panel","aria-label":"Show detail panel",onClick:()=>A(!0),children:"‹"}),Zt&&w.jsx(dP,{tool:Zt,onClose:()=>p(null)}),D&&w.jsx(l3,{onClose:()=>O(!1)}),N&&(()=>{const se=n.current.agents.get(N);return se?w.jsx(rP,{agent:se,onClose:()=>x(null)}):null})(),v&&w.jsx(WP,{state:n.current,sessionId:v,onClose:()=>{k.current.add(v),lb(k.current),_(null)}})]})}function ZL({live:e,everConnected:n}){const i=!e;return w.jsxs("div",{className:"empty-hero",children:[w.jsxs("div",{className:"orbit-stack","aria-hidden":!0,children:[w.jsx("div",{className:"core"}),w.jsxs("div",{className:"orbit r1",children:[w.jsx("span",{className:"dot"}),w.jsx("span",{className:"dot b"})]}),w.jsxs("div",{className:"orbit r2",children:[w.jsx("span",{className:"dot"}),w.jsx("span",{className:"dot b"})]}),w.jsxs("div",{className:"orbit r3",children:[w.jsx("span",{className:"dot"}),w.jsx("span",{className:"dot b"})]})]}),i?w.jsxs(w.Fragment,{children:[w.jsx("h2",{children:n?"Disconnected from server":"Server unreachable"}),w.jsxs("p",{children:["The browser cannot reach ",w.jsx("code",{children:"/events"}),". Check that",w.jsx("code",{children:"agents-deck"})," is still running in your terminal, then this page will resume automatically."]})]}):JL()]})}function JL(){return w.jsxs(w.Fragment,{children:[w.jsx("h2",{children:"Waiting for Claude Code or Codex"}),w.jsxs("p",{children:["Run ",w.jsx("code",{children:"claude"})," or ",w.jsx("code",{children:"codex"})," in any folder. As soon as a session sends an event, a node appears here and grows as subagents fork and tools are called."]}),w.jsxs("p",{className:"hint-row",children:["Not seeing anything? Make sure ",w.jsx("code",{children:"agents-deck"})," is running and that hooks are installed in ",w.jsx("code",{children:"~/.claude/settings.json"})," and"," ",w.jsx("code",{children:"~/.codex/hooks.json"}),". (Codex requires"," ",w.jsx("code",{children:"/hooks"})," trust on first run.)"]})]})}function e$({count:e}){return w.jsxs(w.Fragment,{children:[w.jsx("h3",{children:"Detail"}),e===0?w.jsxs("div",{className:"hint",children:["No data yet. Start a Claude Code or Codex session anywhere on this machine — agents-deck is in ",w.jsx("code",{children:"--all"})," mode and listens to every workspace."]}):w.jsx("div",{className:"empty",children:"Click an agent to see its tools."}),w.jsx("h3",{style:{marginTop:4},children:"Shortcuts"}),w.jsxs("div",{className:"shortcuts",children:[w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"drag"}),w.jsx("span",{children:"move a node"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"/"}),w.jsx("span",{children:"focus search"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"space"}),w.jsx("span",{children:"pause / resume"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"J"}),w.jsx("span",{children:"next agent"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"K"}),w.jsx("span",{children:"previous agent"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"R"}),w.jsx("span",{children:"re-arrange"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"F"}),w.jsx("span",{children:"fit view"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"L"}),w.jsx("span",{children:"session list"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"H"}),w.jsx("span",{children:"usage history"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"U"}),w.jsx("span",{children:"usage panel"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"C"}),w.jsx("span",{children:"clear canvas"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"T"}),w.jsx("span",{children:"toggle theme"})]}),w.jsxs("div",{className:"sc",children:[w.jsx("kbd",{children:"Esc"}),w.jsx("span",{children:"deselect"})]})]})]})}function t$({agent:e,now:n,onOpenTool:i,onShowSummary:s,onExportSession:o}){const u=(e.endedAt??n)-e.startedAt,l=Math.max(0,Math.floor(u/1e3)),c=l<60?`${l}s`:`${Math.floor(l/60)}m ${String(l%60).padStart(2,"0")}s`,d=Xt(e.usage,e.model),p=d.total>0,h=e.usage.inputTokens+e.usage.outputTokens,m=new Map;for(const x of e.tools){const S=YN(x.name);m.set(S,(m.get(S)??0)+1)}const v=e.tools.filter(x=>x.ok===!1).length,_=e.tools.filter(x=>!x.endedAt).length,N=Array.from(m.entries()).sort((x,S)=>S[1]-x[1]);return w.jsxs(w.Fragment,{children:[w.jsxs("header",{className:"detail-hero",children:[w.jsxs("div",{className:"hero-line",children:[w.jsx("span",{className:`state-pill state-${e.state}`,children:e.state==="active"?"live":e.state}),w.jsx("h2",{className:"hero-title",title:e.cwd??e.label,children:e.label})]}),w.jsxs("div",{className:"hero-meta",children:[w.jsx("span",{className:"hero-meta-item",children:e.kind}),w.jsx("span",{className:"hero-sep",children:"·"}),w.jsx("span",{className:"hero-meta-item",title:`started ${new Date(e.startedAt).toLocaleString()}`,children:c}),e.model&&w.jsxs(w.Fragment,{children:[w.jsx("span",{className:"hero-sep",children:"·"}),w.jsx("span",{className:"model-chip",title:e.model,children:co(e.model)})]})]}),p&&w.jsxs("div",{className:"hero-cost",children:[w.jsxs("div",{className:"hero-cost-headline",children:[w.jsx("span",{className:"hero-cost-value",children:De(d.total)}),w.jsx("span",{className:"hero-cost-label",children:"spend"})]}),w.jsx(n$,{cost:d})]}),w.jsxs("div",{className:"hero-actions",children:[e.kind==="root"&&e.state==="done"&&s&&w.jsx("button",{type:"button",className:"btn hero-action-btn",onClick:()=>s(e.sessionId),title:"Reopen the end-of-session recap modal",children:"Show recap"}),o&&w.jsx("button",{type:"button",className:"btn hero-action-btn",onClick:()=>o(e.sessionId),title:"Download this session as JSON",children:"Export JSON"})]})]}),e.tools.length>0&&w.jsxs("section",{className:"detail-section",children:[w.jsx("h3",{children:"Activity"}),w.jsxs("div",{className:"activity-row",children:[w.jsxs("div",{className:"activity-counters",children:[w.jsxs("span",{className:"ac-item",children:[w.jsx("b",{children:e.toolCount})," calls"]}),_>0&&w.jsxs("span",{className:"ac-item ac-live",children:[w.jsx("b",{children:_})," live"]}),v>0&&w.jsxs("span",{className:"ac-item ac-err",children:[w.jsx("b",{children:v})," err"]})]}),w.jsx("div",{className:"cat-strip",children:N.map(([x,S])=>w.jsxs("span",{className:`cat-chip cat-${x}`,title:`${S} ${pg[x]} call${S===1?"":"s"}`,children:[w.jsx("span",{className:"cat-emoji",children:hg[x]}),w.jsx("span",{className:"cat-count",children:S})]},x))})]})]}),h>0&&w.jsxs("section",{className:"detail-section",children:[w.jsx("h3",{children:"Tokens"}),w.jsxs("div",{className:"tokens-grid",children:[w.jsxs("div",{children:[w.jsx("span",{className:"k",children:"in"}),w.jsx("b",{children:e.usage.inputTokens.toLocaleString()})]}),w.jsxs("div",{children:[w.jsx("span",{className:"k",children:"out"}),w.jsx("b",{children:e.usage.outputTokens.toLocaleString()})]}),w.jsxs("div",{children:[w.jsx("span",{className:"k",children:"cache r"}),w.jsx("b",{children:e.usage.cacheReadTokens.toLocaleString()})]}),w.jsxs("div",{children:[w.jsx("span",{className:"k",children:"cache c"}),w.jsx("b",{children:e.usage.cacheCreateTokens.toLocaleString()})]})]})]}),w.jsxs("section",{className:"detail-section",children:[w.jsx("h3",{children:"Identity"}),w.jsxs("div",{children:[e.cwd&&w.jsxs("div",{className:"row",children:[w.jsx("span",{className:"k",children:"cwd"}),w.jsx("span",{className:"v",title:e.cwd,children:e.cwd})]}),w.jsxs("div",{className:"row",children:[w.jsx("span",{className:"k",children:"session"}),w.jsxs("span",{className:"v",children:[e.sessionId.slice(0,12),"…"]})]}),e.parentId&&w.jsxs("div",{className:"row",children:[w.jsx("span",{className:"k",children:"parent"}),w.jsxs("span",{className:"v",children:[e.parentId.slice(0,12),"…"]})]})]})]}),e.prompts.length>0&&w.jsxs("section",{className:"detail-section",children:[w.jsxs("h3",{children:["Prompts ",w.jsx("span",{className:"section-count",children:e.prompts.length})]}),w.jsx("div",{className:"prompts",children:e.prompts.slice().reverse().map((x,S)=>w.jsxs("div",{className:"prompt-entry",children:[w.jsx("div",{className:"prompt-time",children:new Date(x.at).toLocaleTimeString()}),w.jsx("div",{className:"prompt-text",children:x.text})]},S))})]}),w.jsxs("section",{className:"detail-section",children:[w.jsxs("h3",{children:["Tool calls ",w.jsx("span",{className:"section-count",children:e.tools.length})]}),e.tools.length===0&&w.jsx("div",{className:"empty",children:"No tool calls yet."}),w.jsx("div",{children:e.tools.slice().reverse().map(x=>w.jsx(r$,{t:x,now:n,onClick:()=>i(x.id)},x.id))})]})]})}function n$({cost:e}){const n=e.total;if(n<=0)return null;const i=(s,o,u)=>{if(s<=0)return null;const l=s/n*100;return w.jsx("span",{className:`cb-seg ${o}`,style:{width:`${l}%`},title:`${u}: ${De(s)} (${l.toFixed(0)}%)`},o)};return w.jsxs("div",{className:"cost-bar","aria-label":"Cost breakdown",children:[i(e.input,"cb-input","input"),i(e.output,"cb-output","output"),i(e.cacheRead,"cb-cache-r","cache read"),i(e.cacheWrite,"cb-cache-w","cache write")]})}function r$({t:e,now:n,onClick:i}){const s=e.endedAt==null?"inflight":e.ok===!1?"err":"done",o=(e.endedAt??n)-e.startedAt,u=e.endedAt==null?"…":o<1e3?`${o}ms`:`${(o/1e3).toFixed(1)}s`;return w.jsxs("button",{className:"tool clickable",title:e.inputPreview||e.name,onClick:i,children:[w.jsxs("span",{className:"name",children:[w.jsx("span",{className:`status-dot ${s}`}),e.name]}),w.jsx("span",{style:{color:"var(--muted)"},children:u})]})}const i$=BT.createRoot(document.getElementById("root"));i$.render(w.jsx(XL,{}));