agent-dag 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/{ccgraph.js → agent-dag.js} +15 -11
- package/dist/web/assets/index-oVfhlSKU.css +1 -0
- package/dist/web/assets/{index-ChObhKsa.js → index-tk_6Nfei.js} +1 -1
- package/dist/web/index.html +3 -3
- package/hook/hook.js +5 -5
- package/package.json +3 -3
- package/src/server/index.mjs +5 -5
- package/src/server/installer.mjs +8 -8
- package/dist/web/assets/index-CbRJ5PCq.css +0 -1
|
@@ -54,4 +54,4 @@ Error generating stack: `+g.message+`
|
|
|
54
54
|
* This source code is licensed under the MIT license found in the
|
|
55
55
|
* LICENSE file in the root directory of this source tree.
|
|
56
56
|
*/var m0;function e2(){if(m0)return ec;m0=1;var e=zo(),r=JN();function i(h,p){return h===p&&(h!==0||1/h===1/p)||h!==h&&p!==p}var o=typeof Object.is=="function"?Object.is:i,a=r.useSyncExternalStore,u=e.useRef,l=e.useEffect,c=e.useMemo,d=e.useDebugValue;return ec.useSyncExternalStoreWithSelector=function(h,p,m,y,_){var C=u(null);if(C.current===null){var w={hasValue:!1,value:null};C.current=w}else w=C.current;C=c(function(){function E(A){if(!k){if(k=!0,N=A,A=y(A),_!==void 0&&w.hasValue){var P=w.value;if(_(P,A))return b=P}return b=A}if(P=b,o(N,A))return P;var H=y(A);return _!==void 0&&_(P,H)?(N=A,P):(N=A,b=H)}var k=!1,N,b,I=m===void 0?null:m;return[function(){return E(p())},I===null?void 0:function(){return E(I())}]},[p,m,y,_]);var x=a(h,C[0],C[1]);return l(function(){w.hasValue=!0,w.value=x},[x]),d(x),x},ec}var g0;function t2(){return g0||(g0=1,Jl.exports=e2()),Jl.exports}var n2=t2();const r2=Jv(n2),i2={},y0=e=>{let r;const i=new Set,o=(p,m)=>{const y=typeof p=="function"?p(r):p;if(!Object.is(y,r)){const _=r;r=m??(typeof y!="object"||y===null)?y:Object.assign({},r,y),i.forEach(C=>C(r,_))}},a=()=>r,d={setState:o,getState:a,getInitialState:()=>h,subscribe:p=>(i.add(p),()=>i.delete(p)),destroy:()=>{(i2?"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()}},h=r=e(o,a,d);return d},o2=e=>e?y0(e):y0,{useDebugValue:a2}=oe,{useSyncExternalStoreWithSelector:s2}=r2,u2=e=>e;function LE(e,r=u2,i){const o=s2(e.subscribe,e.getState,e.getServerState||e.getInitialState,r,i);return a2(o),o}const _0=(e,r)=>{const i=o2(e),o=(a,u=r)=>LE(i,a,u);return Object.assign(o,i),o},l2=(e,r)=>e?_0(e,r):_0;function nt(e,r){if(Object.is(e,r))return!0;if(typeof e!="object"||e===null||typeof r!="object"||r===null)return!1;if(e instanceof Map&&r instanceof Map){if(e.size!==r.size)return!1;for(const[o,a]of e)if(!Object.is(a,r.get(o)))return!1;return!0}if(e instanceof Set&&r instanceof Set){if(e.size!==r.size)return!1;for(const o of e)if(!r.has(o))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(r).length)return!1;for(const o of i)if(!Object.prototype.hasOwnProperty.call(r,o)||!Object.is(e[o],r[o]))return!1;return!0}var c2={value:()=>{}};function js(){for(var e=0,r=arguments.length,i={},o;e<r;++e){if(!(o=arguments[e]+"")||o in i||/[\s.]/.test(o))throw new Error("illegal type: "+o);i[o]=[]}return new ks(i)}function ks(e){this._=e}function f2(e,r){return e.trim().split(/^|\s+/).map(function(i){var o="",a=i.indexOf(".");if(a>=0&&(o=i.slice(a+1),i=i.slice(0,a)),i&&!r.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}ks.prototype=js.prototype={constructor:ks,on:function(e,r){var i=this._,o=f2(e+"",i),a,u=-1,l=o.length;if(arguments.length<2){for(;++u<l;)if((a=(e=o[u]).type)&&(a=d2(i[a],e.name)))return a;return}if(r!=null&&typeof r!="function")throw new Error("invalid callback: "+r);for(;++u<l;)if(a=(e=o[u]).type)i[a]=w0(i[a],e.name,r);else if(r==null)for(a in i)i[a]=w0(i[a],e.name,null);return this},copy:function(){var e={},r=this._;for(var i in r)e[i]=r[i].slice();return new ks(e)},call:function(e,r){if((a=arguments.length-2)>0)for(var i=new Array(a),o=0,a,u;o<a;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(u=this._[e],o=0,a=u.length;o<a;++o)u[o].value.apply(r,i)},apply:function(e,r,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],a=0,u=o.length;a<u;++a)o[a].value.apply(r,i)}};function d2(e,r){for(var i=0,o=e.length,a;i<o;++i)if((a=e[i]).name===r)return a.value}function w0(e,r,i){for(var o=0,a=e.length;o<a;++o)if(e[o].name===r){e[o]=c2,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:r,value:i}),e}var Pv="http://www.w3.org/1999/xhtml";const x0={svg:"http://www.w3.org/2000/svg",xhtml:Pv,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ds(e){var r=e+="",i=r.indexOf(":");return i>=0&&(r=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),x0.hasOwnProperty(r)?{space:x0[r],local:e}:e}function h2(e){return function(){var r=this.ownerDocument,i=this.namespaceURI;return i===Pv&&r.documentElement.namespaceURI===Pv?r.createElement(e):r.createElementNS(i,e)}}function p2(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function zE(e){var r=Ds(e);return(r.local?p2:h2)(r)}function v2(){}function em(e){return e==null?v2:function(){return this.querySelector(e)}}function m2(e){typeof e!="function"&&(e=em(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var u=r[a],l=u.length,c=o[a]=new Array(l),d,h,p=0;p<l;++p)(d=u[p])&&(h=e.call(d,d.__data__,p,u))&&("__data__"in d&&(h.__data__=d.__data__),c[p]=h);return new Dt(o,this._parents)}function g2(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function y2(){return[]}function jE(e){return e==null?y2:function(){return this.querySelectorAll(e)}}function _2(e){return function(){return g2(e.apply(this,arguments))}}function w2(e){typeof e=="function"?e=_2(e):e=jE(e);for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var l=r[u],c=l.length,d,h=0;h<c;++h)(d=l[h])&&(o.push(e.call(d,d.__data__,h,l)),a.push(d));return new Dt(o,a)}function DE(e){return function(){return this.matches(e)}}function FE(e){return function(r){return r.matches(e)}}var x2=Array.prototype.find;function S2(e){return function(){return x2.call(this.children,e)}}function E2(){return this.firstElementChild}function k2(e){return this.select(e==null?E2:S2(typeof e=="function"?e:FE(e)))}var b2=Array.prototype.filter;function C2(){return Array.from(this.children)}function N2(e){return function(){return b2.call(this.children,e)}}function R2(e){return this.selectAll(e==null?C2:N2(typeof e=="function"?e:FE(e)))}function T2(e){typeof e!="function"&&(e=DE(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var u=r[a],l=u.length,c=o[a]=[],d,h=0;h<l;++h)(d=u[h])&&e.call(d,d.__data__,h,u)&&c.push(d);return new Dt(o,this._parents)}function $E(e){return new Array(e.length)}function I2(){return new Dt(this._enter||this._groups.map($E),this._parents)}function Rs(e,r){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=r}Rs.prototype={constructor:Rs,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,r){return this._parent.insertBefore(e,r)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function A2(e){return function(){return e}}function q2(e,r,i,o,a,u){for(var l=0,c,d=r.length,h=u.length;l<h;++l)(c=r[l])?(c.__data__=u[l],o[l]=c):i[l]=new Rs(e,u[l]);for(;l<d;++l)(c=r[l])&&(a[l]=c)}function P2(e,r,i,o,a,u,l){var c,d,h=new Map,p=r.length,m=u.length,y=new Array(p),_;for(c=0;c<p;++c)(d=r[c])&&(y[c]=_=l.call(d,d.__data__,c,r)+"",h.has(_)?a[c]=d:h.set(_,d));for(c=0;c<m;++c)_=l.call(e,u[c],c,u)+"",(d=h.get(_))?(o[c]=d,d.__data__=u[c],h.delete(_)):i[c]=new Rs(e,u[c]);for(c=0;c<p;++c)(d=r[c])&&h.get(y[c])===d&&(a[c]=d)}function M2(e){return e.__data__}function O2(e,r){if(!arguments.length)return Array.from(this,M2);var i=r?P2:q2,o=this._parents,a=this._groups;typeof e!="function"&&(e=A2(e));for(var u=a.length,l=new Array(u),c=new Array(u),d=new Array(u),h=0;h<u;++h){var p=o[h],m=a[h],y=m.length,_=L2(e.call(p,p&&p.__data__,h,o)),C=_.length,w=c[h]=new Array(C),x=l[h]=new Array(C),E=d[h]=new Array(y);i(p,m,w,x,E,_,r);for(var k=0,N=0,b,I;k<C;++k)if(b=w[k]){for(k>=N&&(N=k+1);!(I=x[N])&&++N<C;);b._next=I||null}}return l=new Dt(l,o),l._enter=c,l._exit=d,l}function L2(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function z2(){return new Dt(this._exit||this._groups.map($E),this._parents)}function j2(e,r,i){var o=this.enter(),a=this,u=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),r!=null&&(a=r(a),a&&(a=a.selection())),i==null?u.remove():i(u),o&&a?o.merge(a).order():a}function D2(e){for(var r=e.selection?e.selection():e,i=this._groups,o=r._groups,a=i.length,u=o.length,l=Math.min(a,u),c=new Array(a),d=0;d<l;++d)for(var h=i[d],p=o[d],m=h.length,y=c[d]=new Array(m),_,C=0;C<m;++C)(_=h[C]||p[C])&&(y[C]=_);for(;d<a;++d)c[d]=i[d];return new Dt(c,this._parents)}function F2(){for(var e=this._groups,r=-1,i=e.length;++r<i;)for(var o=e[r],a=o.length-1,u=o[a],l;--a>=0;)(l=o[a])&&(u&&l.compareDocumentPosition(u)^4&&u.parentNode.insertBefore(l,u),u=l);return this}function $2(e){e||(e=B2);function r(m,y){return m&&y?e(m.__data__,y.__data__):!m-!y}for(var i=this._groups,o=i.length,a=new Array(o),u=0;u<o;++u){for(var l=i[u],c=l.length,d=a[u]=new Array(c),h,p=0;p<c;++p)(h=l[p])&&(d[p]=h);d.sort(r)}return new Dt(a,this._parents).order()}function B2(e,r){return e<r?-1:e>r?1:e>=r?0:NaN}function H2(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function U2(){return Array.from(this)}function V2(){for(var e=this._groups,r=0,i=e.length;r<i;++r)for(var o=e[r],a=0,u=o.length;a<u;++a){var l=o[a];if(l)return l}return null}function G2(){let e=0;for(const r of this)++e;return e}function W2(){return!this.node()}function K2(e){for(var r=this._groups,i=0,o=r.length;i<o;++i)for(var a=r[i],u=0,l=a.length,c;u<l;++u)(c=a[u])&&e.call(c,c.__data__,u,a);return this}function Y2(e){return function(){this.removeAttribute(e)}}function X2(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Q2(e,r){return function(){this.setAttribute(e,r)}}function Z2(e,r){return function(){this.setAttributeNS(e.space,e.local,r)}}function J2(e,r){return function(){var i=r.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function eR(e,r){return function(){var i=r.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function tR(e,r){var i=Ds(e);if(arguments.length<2){var o=this.node();return i.local?o.getAttributeNS(i.space,i.local):o.getAttribute(i)}return this.each((r==null?i.local?X2:Y2:typeof r=="function"?i.local?eR:J2:i.local?Z2:Q2)(i,r))}function BE(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function nR(e){return function(){this.style.removeProperty(e)}}function rR(e,r,i){return function(){this.style.setProperty(e,r,i)}}function iR(e,r,i){return function(){var o=r.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function oR(e,r,i){return arguments.length>1?this.each((r==null?nR:typeof r=="function"?iR:rR)(e,r,i??"")):Si(this.node(),e)}function Si(e,r){return e.style.getPropertyValue(r)||BE(e).getComputedStyle(e,null).getPropertyValue(r)}function aR(e){return function(){delete this[e]}}function sR(e,r){return function(){this[e]=r}}function uR(e,r){return function(){var i=r.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function lR(e,r){return arguments.length>1?this.each((r==null?aR:typeof r=="function"?uR:sR)(e,r)):this.node()[e]}function HE(e){return e.trim().split(/^|\s+/)}function tm(e){return e.classList||new UE(e)}function UE(e){this._node=e,this._names=HE(e.getAttribute("class")||"")}UE.prototype={add:function(e){var r=this._names.indexOf(e);r<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var r=this._names.indexOf(e);r>=0&&(this._names.splice(r,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function VE(e,r){for(var i=tm(e),o=-1,a=r.length;++o<a;)i.add(r[o])}function GE(e,r){for(var i=tm(e),o=-1,a=r.length;++o<a;)i.remove(r[o])}function cR(e){return function(){VE(this,e)}}function fR(e){return function(){GE(this,e)}}function dR(e,r){return function(){(r.apply(this,arguments)?VE:GE)(this,e)}}function hR(e,r){var i=HE(e+"");if(arguments.length<2){for(var o=tm(this.node()),a=-1,u=i.length;++a<u;)if(!o.contains(i[a]))return!1;return!0}return this.each((typeof r=="function"?dR:r?cR:fR)(i,r))}function pR(){this.textContent=""}function vR(e){return function(){this.textContent=e}}function mR(e){return function(){var r=e.apply(this,arguments);this.textContent=r??""}}function gR(e){return arguments.length?this.each(e==null?pR:(typeof e=="function"?mR:vR)(e)):this.node().textContent}function yR(){this.innerHTML=""}function _R(e){return function(){this.innerHTML=e}}function wR(e){return function(){var r=e.apply(this,arguments);this.innerHTML=r??""}}function xR(e){return arguments.length?this.each(e==null?yR:(typeof e=="function"?wR:_R)(e)):this.node().innerHTML}function SR(){this.nextSibling&&this.parentNode.appendChild(this)}function ER(){return this.each(SR)}function kR(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function bR(){return this.each(kR)}function CR(e){var r=typeof e=="function"?e:zE(e);return this.select(function(){return this.appendChild(r.apply(this,arguments))})}function NR(){return null}function RR(e,r){var i=typeof e=="function"?e:zE(e),o=r==null?NR:typeof r=="function"?r:em(r);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function TR(){var e=this.parentNode;e&&e.removeChild(this)}function IR(){return this.each(TR)}function AR(){var e=this.cloneNode(!1),r=this.parentNode;return r?r.insertBefore(e,this.nextSibling):e}function qR(){var e=this.cloneNode(!0),r=this.parentNode;return r?r.insertBefore(e,this.nextSibling):e}function PR(e){return this.select(e?qR:AR)}function MR(e){return arguments.length?this.property("__data__",e):this.node().__data__}function OR(e){return function(r){e.call(this,r,this.__data__)}}function LR(e){return e.trim().split(/^|\s+/).map(function(r){var i="",o=r.indexOf(".");return o>=0&&(i=r.slice(o+1),r=r.slice(0,o)),{type:r,name:i}})}function zR(e){return function(){var r=this.__on;if(r){for(var i=0,o=-1,a=r.length,u;i<a;++i)u=r[i],(!e.type||u.type===e.type)&&u.name===e.name?this.removeEventListener(u.type,u.listener,u.options):r[++o]=u;++o?r.length=o:delete this.__on}}}function jR(e,r,i){return function(){var o=this.__on,a,u=OR(r);if(o){for(var l=0,c=o.length;l<c;++l)if((a=o[l]).type===e.type&&a.name===e.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=u,a.options=i),a.value=r;return}}this.addEventListener(e.type,u,i),a={type:e.type,name:e.name,value:r,listener:u,options:i},o?o.push(a):this.__on=[a]}}function DR(e,r,i){var o=LR(e+""),a,u=o.length,l;if(arguments.length<2){var c=this.node().__on;if(c){for(var d=0,h=c.length,p;d<h;++d)for(a=0,p=c[d];a<u;++a)if((l=o[a]).type===p.type&&l.name===p.name)return p.value}return}for(c=r?jR:zR,a=0;a<u;++a)this.each(c(o[a],r,i));return this}function WE(e,r,i){var o=BE(e),a=o.CustomEvent;typeof a=="function"?a=new a(r,i):(a=o.document.createEvent("Event"),i?(a.initEvent(r,i.bubbles,i.cancelable),a.detail=i.detail):a.initEvent(r,!1,!1)),e.dispatchEvent(a)}function FR(e,r){return function(){return WE(this,e,r)}}function $R(e,r){return function(){return WE(this,e,r.apply(this,arguments))}}function BR(e,r){return this.each((typeof r=="function"?$R:FR)(e,r))}function*HR(){for(var e=this._groups,r=0,i=e.length;r<i;++r)for(var o=e[r],a=0,u=o.length,l;a<u;++a)(l=o[a])&&(yield l)}var KE=[null];function Dt(e,r){this._groups=e,this._parents=r}function jo(){return new Dt([[document.documentElement]],KE)}function UR(){return this}Dt.prototype=jo.prototype={constructor:Dt,select:m2,selectAll:w2,selectChild:k2,selectChildren:R2,filter:T2,data:O2,enter:I2,exit:z2,join:j2,merge:D2,selection:UR,order:F2,sort:$2,call:H2,nodes:U2,node:V2,size:G2,empty:W2,each:K2,attr:tR,style:oR,property:lR,classed:hR,text:gR,html:xR,raise:ER,lower:bR,append:CR,insert:RR,remove:IR,clone:PR,datum:MR,on:DR,dispatch:BR,[Symbol.iterator]:HR};function Yt(e){return typeof e=="string"?new Dt([[document.querySelector(e)]],[document.documentElement]):new Dt([[e]],KE)}function VR(e){let r;for(;r=e.sourceEvent;)e=r;return e}function sn(e,r){if(e=VR(e),r===void 0&&(r=e.currentTarget),r){var i=r.ownerSVGElement||r;if(i.createSVGPoint){var o=i.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(r.getScreenCTM().inverse()),[o.x,o.y]}if(r.getBoundingClientRect){var a=r.getBoundingClientRect();return[e.clientX-a.left-r.clientLeft,e.clientY-a.top-r.clientTop]}}return[e.pageX,e.pageY]}const GR={passive:!1},To={capture:!0,passive:!1};function rc(e){e.stopImmediatePropagation()}function _i(e){e.preventDefault(),e.stopImmediatePropagation()}function YE(e){var r=e.document.documentElement,i=Yt(e).on("dragstart.drag",_i,To);"onselectstart"in r?i.on("selectstart.drag",_i,To):(r.__noselect=r.style.MozUserSelect,r.style.MozUserSelect="none")}function XE(e,r){var i=e.document.documentElement,o=Yt(e).on("dragstart.drag",null);r&&(o.on("click.drag",_i,To),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in i?o.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const hs=e=>()=>e;function Mv(e,{sourceEvent:r,subject:i,target:o,identifier:a,active:u,x:l,y:c,dx:d,dy:h,dispatch:p}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:a,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:h,enumerable:!0,configurable:!0},_:{value:p}})}Mv.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function WR(e){return!e.ctrlKey&&!e.button}function KR(){return this.parentNode}function YR(e,r){return r??{x:e.x,y:e.y}}function XR(){return navigator.maxTouchPoints||"ontouchstart"in this}function QR(){var e=WR,r=KR,i=YR,o=XR,a={},u=js("start","drag","end"),l=0,c,d,h,p,m=0;function y(b){b.on("mousedown.drag",_).filter(o).on("touchstart.drag",x).on("touchmove.drag",E,GR).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function _(b,I){if(!(p||!e.call(this,b,I))){var A=N(this,r.call(this,b,I),b,I,"mouse");A&&(Yt(b.view).on("mousemove.drag",C,To).on("mouseup.drag",w,To),YE(b.view),rc(b),h=!1,c=b.clientX,d=b.clientY,A("start",b))}}function C(b){if(_i(b),!h){var I=b.clientX-c,A=b.clientY-d;h=I*I+A*A>m}a.mouse("drag",b)}function w(b){Yt(b.view).on("mousemove.drag mouseup.drag",null),XE(b.view,h),_i(b),a.mouse("end",b)}function x(b,I){if(e.call(this,b,I)){var A=b.changedTouches,P=r.call(this,b,I),H=A.length,z,U;for(z=0;z<H;++z)(U=N(this,P,b,I,A[z].identifier,A[z]))&&(rc(b),U("start",b,A[z]))}}function E(b){var I=b.changedTouches,A=I.length,P,H;for(P=0;P<A;++P)(H=a[I[P].identifier])&&(_i(b),H("drag",b,I[P]))}function k(b){var I=b.changedTouches,A=I.length,P,H;for(p&&clearTimeout(p),p=setTimeout(function(){p=null},500),P=0;P<A;++P)(H=a[I[P].identifier])&&(rc(b),H("end",b,I[P]))}function N(b,I,A,P,H,z){var U=u.copy(),V=sn(z||A,I),ee,J,R;if((R=i.call(b,new Mv("beforestart",{sourceEvent:A,target:y,identifier:H,active:l,x:V[0],y:V[1],dx:0,dy:0,dispatch:U}),P))!=null)return ee=R.x-V[0]||0,J=R.y-V[1]||0,function G($,re,K){var L=V,W;switch($){case"start":a[H]=G,W=l++;break;case"end":delete a[H],--l;case"drag":V=sn(K||re,I),W=l;break}U.call($,b,new Mv($,{sourceEvent:re,subject:R,target:y,identifier:H,active:W,x:V[0]+ee,y:V[1]+J,dx:V[0]-L[0],dy:V[1]-L[1],dispatch:U}),P)}}return y.filter=function(b){return arguments.length?(e=typeof b=="function"?b:hs(!!b),y):e},y.container=function(b){return arguments.length?(r=typeof b=="function"?b:hs(b),y):r},y.subject=function(b){return arguments.length?(i=typeof b=="function"?b:hs(b),y):i},y.touchable=function(b){return arguments.length?(o=typeof b=="function"?b:hs(!!b),y):o},y.on=function(){var b=u.on.apply(u,arguments);return b===u?y:b},y.clickDistance=function(b){return arguments.length?(m=(b=+b)*b,y):Math.sqrt(m)},y}function nm(e,r,i){e.prototype=r.prototype=i,i.constructor=e}function QE(e,r){var i=Object.create(e.prototype);for(var o in r)i[o]=r[o];return i}function Do(){}var Io=.7,Ts=1/Io,wi="\\s*([+-]?\\d+)\\s*",Ao="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",_n="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ZR=/^#([0-9a-f]{3,8})$/,JR=new RegExp(`^rgb\\(${wi},${wi},${wi}\\)$`),eT=new RegExp(`^rgb\\(${_n},${_n},${_n}\\)$`),tT=new RegExp(`^rgba\\(${wi},${wi},${wi},${Ao}\\)$`),nT=new RegExp(`^rgba\\(${_n},${_n},${_n},${Ao}\\)$`),rT=new RegExp(`^hsl\\(${Ao},${_n},${_n}\\)$`),iT=new RegExp(`^hsla\\(${Ao},${_n},${_n},${Ao}\\)$`),S0={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};nm(Do,qo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:E0,formatHex:E0,formatHex8:oT,formatHsl:aT,formatRgb:k0,toString:k0});function E0(){return this.rgb().formatHex()}function oT(){return this.rgb().formatHex8()}function aT(){return ZE(this).formatHsl()}function k0(){return this.rgb().formatRgb()}function qo(e){var r,i;return e=(e+"").trim().toLowerCase(),(r=ZR.exec(e))?(i=r[1].length,r=parseInt(r[1],16),i===6?b0(r):i===3?new qt(r>>8&15|r>>4&240,r>>4&15|r&240,(r&15)<<4|r&15,1):i===8?ps(r>>24&255,r>>16&255,r>>8&255,(r&255)/255):i===4?ps(r>>12&15|r>>8&240,r>>8&15|r>>4&240,r>>4&15|r&240,((r&15)<<4|r&15)/255):null):(r=JR.exec(e))?new qt(r[1],r[2],r[3],1):(r=eT.exec(e))?new qt(r[1]*255/100,r[2]*255/100,r[3]*255/100,1):(r=tT.exec(e))?ps(r[1],r[2],r[3],r[4]):(r=nT.exec(e))?ps(r[1]*255/100,r[2]*255/100,r[3]*255/100,r[4]):(r=rT.exec(e))?R0(r[1],r[2]/100,r[3]/100,1):(r=iT.exec(e))?R0(r[1],r[2]/100,r[3]/100,r[4]):S0.hasOwnProperty(e)?b0(S0[e]):e==="transparent"?new qt(NaN,NaN,NaN,0):null}function b0(e){return new qt(e>>16&255,e>>8&255,e&255,1)}function ps(e,r,i,o){return o<=0&&(e=r=i=NaN),new qt(e,r,i,o)}function sT(e){return e instanceof Do||(e=qo(e)),e?(e=e.rgb(),new qt(e.r,e.g,e.b,e.opacity)):new qt}function Ov(e,r,i,o){return arguments.length===1?sT(e):new qt(e,r,i,o??1)}function qt(e,r,i,o){this.r=+e,this.g=+r,this.b=+i,this.opacity=+o}nm(qt,Ov,QE(Do,{brighter(e){return e=e==null?Ts:Math.pow(Ts,e),new qt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Io:Math.pow(Io,e),new qt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new qt(Pr(this.r),Pr(this.g),Pr(this.b),Is(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:C0,formatHex:C0,formatHex8:uT,formatRgb:N0,toString:N0}));function C0(){return`#${Ar(this.r)}${Ar(this.g)}${Ar(this.b)}`}function uT(){return`#${Ar(this.r)}${Ar(this.g)}${Ar(this.b)}${Ar((isNaN(this.opacity)?1:this.opacity)*255)}`}function N0(){const e=Is(this.opacity);return`${e===1?"rgb(":"rgba("}${Pr(this.r)}, ${Pr(this.g)}, ${Pr(this.b)}${e===1?")":`, ${e})`}`}function Is(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Pr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ar(e){return e=Pr(e),(e<16?"0":"")+e.toString(16)}function R0(e,r,i,o){return o<=0?e=r=i=NaN:i<=0||i>=1?e=r=NaN:r<=0&&(e=NaN),new un(e,r,i,o)}function ZE(e){if(e instanceof un)return new un(e.h,e.s,e.l,e.opacity);if(e instanceof Do||(e=qo(e)),!e)return new un;if(e instanceof un)return e;e=e.rgb();var r=e.r/255,i=e.g/255,o=e.b/255,a=Math.min(r,i,o),u=Math.max(r,i,o),l=NaN,c=u-a,d=(u+a)/2;return c?(r===u?l=(i-o)/c+(i<o)*6:i===u?l=(o-r)/c+2:l=(r-i)/c+4,c/=d<.5?u+a:2-u-a,l*=60):c=d>0&&d<1?0:l,new un(l,c,d,e.opacity)}function lT(e,r,i,o){return arguments.length===1?ZE(e):new un(e,r,i,o??1)}function un(e,r,i,o){this.h=+e,this.s=+r,this.l=+i,this.opacity=+o}nm(un,lT,QE(Do,{brighter(e){return e=e==null?Ts:Math.pow(Ts,e),new un(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Io:Math.pow(Io,e),new un(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,r=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,o=i+(i<.5?i:1-i)*r,a=2*i-o;return new qt(ic(e>=240?e-240:e+120,a,o),ic(e,a,o),ic(e<120?e+240:e-120,a,o),this.opacity)},clamp(){return new un(T0(this.h),vs(this.s),vs(this.l),Is(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=Is(this.opacity);return`${e===1?"hsl(":"hsla("}${T0(this.h)}, ${vs(this.s)*100}%, ${vs(this.l)*100}%${e===1?")":`, ${e})`}`}}));function T0(e){return e=(e||0)%360,e<0?e+360:e}function vs(e){return Math.max(0,Math.min(1,e||0))}function ic(e,r,i){return(e<60?r+(i-r)*e/60:e<180?i:e<240?r+(i-r)*(240-e)/60:r)*255}const JE=e=>()=>e;function cT(e,r){return function(i){return e+i*r}}function fT(e,r,i){return e=Math.pow(e,i),r=Math.pow(r,i)-e,i=1/i,function(o){return Math.pow(e+o*r,i)}}function dT(e){return(e=+e)==1?ek:function(r,i){return i-r?fT(r,i,e):JE(isNaN(r)?i:r)}}function ek(e,r){var i=r-e;return i?cT(e,i):JE(isNaN(e)?r:e)}const I0=(function e(r){var i=dT(r);function o(a,u){var l=i((a=Ov(a)).r,(u=Ov(u)).r),c=i(a.g,u.g),d=i(a.b,u.b),h=ek(a.opacity,u.opacity);return function(p){return a.r=l(p),a.g=c(p),a.b=d(p),a.opacity=h(p),a+""}}return o.gamma=e,o})(1);function ur(e,r){return e=+e,r=+r,function(i){return e*(1-i)+r*i}}var Lv=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,oc=new RegExp(Lv.source,"g");function hT(e){return function(){return e}}function pT(e){return function(r){return e(r)+""}}function vT(e,r){var i=Lv.lastIndex=oc.lastIndex=0,o,a,u,l=-1,c=[],d=[];for(e=e+"",r=r+"";(o=Lv.exec(e))&&(a=oc.exec(r));)(u=a.index)>i&&(u=r.slice(i,u),c[l]?c[l]+=u:c[++l]=u),(o=o[0])===(a=a[0])?c[l]?c[l]+=a:c[++l]=a:(c[++l]=null,d.push({i:l,x:ur(o,a)})),i=oc.lastIndex;return i<r.length&&(u=r.slice(i),c[l]?c[l]+=u:c[++l]=u),c.length<2?d[0]?pT(d[0].x):hT(r):(r=d.length,function(h){for(var p=0,m;p<r;++p)c[(m=d[p]).i]=m.x(h);return c.join("")})}var A0=180/Math.PI,zv={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tk(e,r,i,o,a,u){var l,c,d;return(l=Math.sqrt(e*e+r*r))&&(e/=l,r/=l),(d=e*i+r*o)&&(i-=e*d,o-=r*d),(c=Math.sqrt(i*i+o*o))&&(i/=c,o/=c,d/=c),e*o<r*i&&(e=-e,r=-r,d=-d,l=-l),{translateX:a,translateY:u,rotate:Math.atan2(r,e)*A0,skewX:Math.atan(d)*A0,scaleX:l,scaleY:c}}var ms;function mT(e){const r=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return r.isIdentity?zv:tk(r.a,r.b,r.c,r.d,r.e,r.f)}function gT(e){return e==null||(ms||(ms=document.createElementNS("http://www.w3.org/2000/svg","g")),ms.setAttribute("transform",e),!(e=ms.transform.baseVal.consolidate()))?zv:(e=e.matrix,tk(e.a,e.b,e.c,e.d,e.e,e.f))}function nk(e,r,i,o){function a(h){return h.length?h.pop()+" ":""}function u(h,p,m,y,_,C){if(h!==m||p!==y){var w=_.push("translate(",null,r,null,i);C.push({i:w-4,x:ur(h,m)},{i:w-2,x:ur(p,y)})}else(m||y)&&_.push("translate("+m+r+y+i)}function l(h,p,m,y){h!==p?(h-p>180?p+=360:p-h>180&&(h+=360),y.push({i:m.push(a(m)+"rotate(",null,o)-2,x:ur(h,p)})):p&&m.push(a(m)+"rotate("+p+o)}function c(h,p,m,y){h!==p?y.push({i:m.push(a(m)+"skewX(",null,o)-2,x:ur(h,p)}):p&&m.push(a(m)+"skewX("+p+o)}function d(h,p,m,y,_,C){if(h!==m||p!==y){var w=_.push(a(_)+"scale(",null,",",null,")");C.push({i:w-4,x:ur(h,m)},{i:w-2,x:ur(p,y)})}else(m!==1||y!==1)&&_.push(a(_)+"scale("+m+","+y+")")}return function(h,p){var m=[],y=[];return h=e(h),p=e(p),u(h.translateX,h.translateY,p.translateX,p.translateY,m,y),l(h.rotate,p.rotate,m,y),c(h.skewX,p.skewX,m,y),d(h.scaleX,h.scaleY,p.scaleX,p.scaleY,m,y),h=p=null,function(_){for(var C=-1,w=y.length,x;++C<w;)m[(x=y[C]).i]=x.x(_);return m.join("")}}}var yT=nk(mT,"px, ","px)","deg)"),_T=nk(gT,", ",")",")"),wT=1e-12;function q0(e){return((e=Math.exp(e))+1/e)/2}function xT(e){return((e=Math.exp(e))-1/e)/2}function ST(e){return((e=Math.exp(2*e))-1)/(e+1)}const ET=(function e(r,i,o){function a(u,l){var c=u[0],d=u[1],h=u[2],p=l[0],m=l[1],y=l[2],_=p-c,C=m-d,w=_*_+C*C,x,E;if(w<wT)E=Math.log(y/h)/r,x=function(P){return[c+P*_,d+P*C,h*Math.exp(r*P*E)]};else{var k=Math.sqrt(w),N=(y*y-h*h+o*w)/(2*h*i*k),b=(y*y-h*h-o*w)/(2*y*i*k),I=Math.log(Math.sqrt(N*N+1)-N),A=Math.log(Math.sqrt(b*b+1)-b);E=(A-I)/r,x=function(P){var H=P*E,z=q0(I),U=h/(i*k)*(z*ST(r*H+I)-xT(I));return[c+U*_,d+U*C,h*z/q0(r*H+I)]}}return x.duration=E*1e3*r/Math.SQRT2,x}return a.rho=function(u){var l=Math.max(.001,+u),c=l*l,d=c*c;return e(l,c,d)},a})(Math.SQRT2,2,4);var Ei=0,So=0,go=0,rk=1e3,As,Eo,qs=0,Lr=0,Fs=0,Po=typeof performance=="object"&&performance.now?performance:Date,ik=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function rm(){return Lr||(ik(kT),Lr=Po.now()+Fs)}function kT(){Lr=0}function Ps(){this._call=this._time=this._next=null}Ps.prototype=ok.prototype={constructor:Ps,restart:function(e,r,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?rm():+i)+(r==null?0:+r),!this._next&&Eo!==this&&(Eo?Eo._next=this:As=this,Eo=this),this._call=e,this._time=i,jv()},stop:function(){this._call&&(this._call=null,this._time=1/0,jv())}};function ok(e,r,i){var o=new Ps;return o.restart(e,r,i),o}function bT(){rm(),++Ei;for(var e=As,r;e;)(r=Lr-e._time)>=0&&e._call.call(void 0,r),e=e._next;--Ei}function P0(){Lr=(qs=Po.now())+Fs,Ei=So=0;try{bT()}finally{Ei=0,NT(),Lr=0}}function CT(){var e=Po.now(),r=e-qs;r>rk&&(Fs-=r,qs=e)}function NT(){for(var e,r=As,i,o=1/0;r;)r._call?(o>r._time&&(o=r._time),e=r,r=r._next):(i=r._next,r._next=null,r=e?e._next=i:As=i);Eo=e,jv(o)}function jv(e){if(!Ei){So&&(So=clearTimeout(So));var r=e-Lr;r>24?(e<1/0&&(So=setTimeout(P0,e-Po.now()-Fs)),go&&(go=clearInterval(go))):(go||(qs=Po.now(),go=setInterval(CT,rk)),Ei=1,ik(P0))}}function M0(e,r,i){var o=new Ps;return r=r==null?0:+r,o.restart(a=>{o.stop(),e(a+r)},r,i),o}var RT=js("start","end","cancel","interrupt"),TT=[],ak=0,O0=1,Dv=2,bs=3,L0=4,Fv=5,Cs=6;function $s(e,r,i,o,a,u){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;IT(e,i,{name:r,index:o,group:a,on:RT,tween:TT,time:u.time,delay:u.delay,duration:u.duration,ease:u.ease,timer:null,state:ak})}function im(e,r){var i=fn(e,r);if(i.state>ak)throw new Error("too late; already scheduled");return i}function wn(e,r){var i=fn(e,r);if(i.state>bs)throw new Error("too late; already running");return i}function fn(e,r){var i=e.__transition;if(!i||!(i=i[r]))throw new Error("transition not found");return i}function IT(e,r,i){var o=e.__transition,a;o[r]=i,i.timer=ok(u,0,i.time);function u(h){i.state=O0,i.timer.restart(l,i.delay,i.time),i.delay<=h&&l(h-i.delay)}function l(h){var p,m,y,_;if(i.state!==O0)return d();for(p in o)if(_=o[p],_.name===i.name){if(_.state===bs)return M0(l);_.state===L0?(_.state=Cs,_.timer.stop(),_.on.call("interrupt",e,e.__data__,_.index,_.group),delete o[p]):+p<r&&(_.state=Cs,_.timer.stop(),_.on.call("cancel",e,e.__data__,_.index,_.group),delete o[p])}if(M0(function(){i.state===bs&&(i.state=L0,i.timer.restart(c,i.delay,i.time),c(h))}),i.state=Dv,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Dv){for(i.state=bs,a=new Array(y=i.tween.length),p=0,m=-1;p<y;++p)(_=i.tween[p].value.call(e,e.__data__,i.index,i.group))&&(a[++m]=_);a.length=m+1}}function c(h){for(var p=h<i.duration?i.ease.call(null,h/i.duration):(i.timer.restart(d),i.state=Fv,1),m=-1,y=a.length;++m<y;)a[m].call(e,p);i.state===Fv&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Cs,i.timer.stop(),delete o[r];for(var h in o)return;delete e.__transition}}function Ns(e,r){var i=e.__transition,o,a,u=!0,l;if(i){r=r==null?null:r+"";for(l in i){if((o=i[l]).name!==r){u=!1;continue}a=o.state>Dv&&o.state<Fv,o.state=Cs,o.timer.stop(),o.on.call(a?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}u&&delete e.__transition}}function AT(e){return this.each(function(){Ns(this,e)})}function qT(e,r){var i,o;return function(){var a=wn(this,e),u=a.tween;if(u!==i){o=i=u;for(var l=0,c=o.length;l<c;++l)if(o[l].name===r){o=o.slice(),o.splice(l,1);break}}a.tween=o}}function PT(e,r,i){var o,a;if(typeof i!="function")throw new Error;return function(){var u=wn(this,e),l=u.tween;if(l!==o){a=(o=l).slice();for(var c={name:r,value:i},d=0,h=a.length;d<h;++d)if(a[d].name===r){a[d]=c;break}d===h&&a.push(c)}u.tween=a}}function MT(e,r){var i=this._id;if(e+="",arguments.length<2){for(var o=fn(this.node(),i).tween,a=0,u=o.length,l;a<u;++a)if((l=o[a]).name===e)return l.value;return null}return this.each((r==null?qT:PT)(i,e,r))}function om(e,r,i){var o=e._id;return e.each(function(){var a=wn(this,o);(a.value||(a.value={}))[r]=i.apply(this,arguments)}),function(a){return fn(a,o).value[r]}}function sk(e,r){var i;return(typeof r=="number"?ur:r instanceof qo?I0:(i=qo(r))?(r=i,I0):vT)(e,r)}function OT(e){return function(){this.removeAttribute(e)}}function LT(e){return function(){this.removeAttributeNS(e.space,e.local)}}function zT(e,r,i){var o,a=i+"",u;return function(){var l=this.getAttribute(e);return l===a?null:l===o?u:u=r(o=l,i)}}function jT(e,r,i){var o,a=i+"",u;return function(){var l=this.getAttributeNS(e.space,e.local);return l===a?null:l===o?u:u=r(o=l,i)}}function DT(e,r,i){var o,a,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===o&&d===a?u:(a=d,u=r(o=l,c)))}}function FT(e,r,i){var o,a,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===o&&d===a?u:(a=d,u=r(o=l,c)))}}function $T(e,r){var i=Ds(e),o=i==="transform"?_T:sk;return this.attrTween(e,typeof r=="function"?(i.local?FT:DT)(i,o,om(this,"attr."+e,r)):r==null?(i.local?LT:OT)(i):(i.local?jT:zT)(i,o,r))}function BT(e,r){return function(i){this.setAttribute(e,r.call(this,i))}}function HT(e,r){return function(i){this.setAttributeNS(e.space,e.local,r.call(this,i))}}function UT(e,r){var i,o;function a(){var u=r.apply(this,arguments);return u!==o&&(i=(o=u)&&HT(e,u)),i}return a._value=r,a}function VT(e,r){var i,o;function a(){var u=r.apply(this,arguments);return u!==o&&(i=(o=u)&&BT(e,u)),i}return a._value=r,a}function GT(e,r){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(r==null)return this.tween(i,null);if(typeof r!="function")throw new Error;var o=Ds(e);return this.tween(i,(o.local?UT:VT)(o,r))}function WT(e,r){return function(){im(this,e).delay=+r.apply(this,arguments)}}function KT(e,r){return r=+r,function(){im(this,e).delay=r}}function YT(e){var r=this._id;return arguments.length?this.each((typeof e=="function"?WT:KT)(r,e)):fn(this.node(),r).delay}function XT(e,r){return function(){wn(this,e).duration=+r.apply(this,arguments)}}function QT(e,r){return r=+r,function(){wn(this,e).duration=r}}function ZT(e){var r=this._id;return arguments.length?this.each((typeof e=="function"?XT:QT)(r,e)):fn(this.node(),r).duration}function JT(e,r){if(typeof r!="function")throw new Error;return function(){wn(this,e).ease=r}}function eI(e){var r=this._id;return arguments.length?this.each(JT(r,e)):fn(this.node(),r).ease}function tI(e,r){return function(){var i=r.apply(this,arguments);if(typeof i!="function")throw new Error;wn(this,e).ease=i}}function nI(e){if(typeof e!="function")throw new Error;return this.each(tI(this._id,e))}function rI(e){typeof e!="function"&&(e=DE(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var u=r[a],l=u.length,c=o[a]=[],d,h=0;h<l;++h)(d=u[h])&&e.call(d,d.__data__,h,u)&&c.push(d);return new jn(o,this._parents,this._name,this._id)}function iI(e){if(e._id!==this._id)throw new Error;for(var r=this._groups,i=e._groups,o=r.length,a=i.length,u=Math.min(o,a),l=new Array(o),c=0;c<u;++c)for(var d=r[c],h=i[c],p=d.length,m=l[c]=new Array(p),y,_=0;_<p;++_)(y=d[_]||h[_])&&(m[_]=y);for(;c<o;++c)l[c]=r[c];return new jn(l,this._parents,this._name,this._id)}function oI(e){return(e+"").trim().split(/^|\s+/).every(function(r){var i=r.indexOf(".");return i>=0&&(r=r.slice(0,i)),!r||r==="start"})}function aI(e,r,i){var o,a,u=oI(r)?im:wn;return function(){var l=u(this,e),c=l.on;c!==o&&(a=(o=c).copy()).on(r,i),l.on=a}}function sI(e,r){var i=this._id;return arguments.length<2?fn(this.node(),i).on.on(e):this.each(aI(i,e,r))}function uI(e){return function(){var r=this.parentNode;for(var i in this.__transition)if(+i!==e)return;r&&r.removeChild(this)}}function lI(){return this.on("end.remove",uI(this._id))}function cI(e){var r=this._name,i=this._id;typeof e!="function"&&(e=em(e));for(var o=this._groups,a=o.length,u=new Array(a),l=0;l<a;++l)for(var c=o[l],d=c.length,h=u[l]=new Array(d),p,m,y=0;y<d;++y)(p=c[y])&&(m=e.call(p,p.__data__,y,c))&&("__data__"in p&&(m.__data__=p.__data__),h[y]=m,$s(h[y],r,i,y,h,fn(p,i)));return new jn(u,this._parents,r,i)}function fI(e){var r=this._name,i=this._id;typeof e!="function"&&(e=jE(e));for(var o=this._groups,a=o.length,u=[],l=[],c=0;c<a;++c)for(var d=o[c],h=d.length,p,m=0;m<h;++m)if(p=d[m]){for(var y=e.call(p,p.__data__,m,d),_,C=fn(p,i),w=0,x=y.length;w<x;++w)(_=y[w])&&$s(_,r,i,w,y,C);u.push(y),l.push(p)}return new jn(u,l,r,i)}var dI=jo.prototype.constructor;function hI(){return new dI(this._groups,this._parents)}function pI(e,r){var i,o,a;return function(){var u=Si(this,e),l=(this.style.removeProperty(e),Si(this,e));return u===l?null:u===i&&l===o?a:a=r(i=u,o=l)}}function uk(e){return function(){this.style.removeProperty(e)}}function vI(e,r,i){var o,a=i+"",u;return function(){var l=Si(this,e);return l===a?null:l===o?u:u=r(o=l,i)}}function mI(e,r,i){var o,a,u;return function(){var l=Si(this,e),c=i(this),d=c+"";return c==null&&(d=c=(this.style.removeProperty(e),Si(this,e))),l===d?null:l===o&&d===a?u:(a=d,u=r(o=l,c))}}function gI(e,r){var i,o,a,u="style."+r,l="end."+u,c;return function(){var d=wn(this,e),h=d.on,p=d.value[u]==null?c||(c=uk(r)):void 0;(h!==i||a!==p)&&(o=(i=h).copy()).on(l,a=p),d.on=o}}function yI(e,r,i){var o=(e+="")=="transform"?yT:sk;return r==null?this.styleTween(e,pI(e,o)).on("end.style."+e,uk(e)):typeof r=="function"?this.styleTween(e,mI(e,o,om(this,"style."+e,r))).each(gI(this._id,e)):this.styleTween(e,vI(e,o,r),i).on("end.style."+e,null)}function _I(e,r,i){return function(o){this.style.setProperty(e,r.call(this,o),i)}}function wI(e,r,i){var o,a;function u(){var l=r.apply(this,arguments);return l!==a&&(o=(a=l)&&_I(e,l,i)),o}return u._value=r,u}function xI(e,r,i){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(r==null)return this.tween(o,null);if(typeof r!="function")throw new Error;return this.tween(o,wI(e,r,i??""))}function SI(e){return function(){this.textContent=e}}function EI(e){return function(){var r=e(this);this.textContent=r??""}}function kI(e){return this.tween("text",typeof e=="function"?EI(om(this,"text",e)):SI(e==null?"":e+""))}function bI(e){return function(r){this.textContent=e.call(this,r)}}function CI(e){var r,i;function o(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&bI(a)),r}return o._value=e,o}function NI(e){var r="text";if(arguments.length<1)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,CI(e))}function RI(){for(var e=this._name,r=this._id,i=lk(),o=this._groups,a=o.length,u=0;u<a;++u)for(var l=o[u],c=l.length,d,h=0;h<c;++h)if(d=l[h]){var p=fn(d,r);$s(d,e,i,h,l,{time:p.time+p.delay+p.duration,delay:0,duration:p.duration,ease:p.ease})}return new jn(o,this._parents,e,i)}function TI(){var e,r,i=this,o=i._id,a=i.size();return new Promise(function(u,l){var c={value:l},d={value:function(){--a===0&&u()}};i.each(function(){var h=wn(this,o),p=h.on;p!==e&&(r=(e=p).copy(),r._.cancel.push(c),r._.interrupt.push(c),r._.end.push(d)),h.on=r}),a===0&&u()})}var II=0;function jn(e,r,i,o){this._groups=e,this._parents=r,this._name=i,this._id=o}function lk(){return++II}var On=jo.prototype;jn.prototype={constructor:jn,select:cI,selectAll:fI,selectChild:On.selectChild,selectChildren:On.selectChildren,filter:rI,merge:iI,selection:hI,transition:RI,call:On.call,nodes:On.nodes,node:On.node,size:On.size,empty:On.empty,each:On.each,on:sI,attr:$T,attrTween:GT,style:yI,styleTween:xI,text:kI,textTween:NI,remove:lI,tween:MT,delay:YT,duration:ZT,ease:eI,easeVarying:nI,end:TI,[Symbol.iterator]:On[Symbol.iterator]};function AI(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var qI={time:null,delay:0,duration:250,ease:AI};function PI(e,r){for(var i;!(i=e.__transition)||!(i=i[r]);)if(!(e=e.parentNode))throw new Error(`transition ${r} not found`);return i}function MI(e){var r,i;e instanceof jn?(r=e._id,e=e._name):(r=lk(),(i=qI).time=rm(),e=e==null?null:e+"");for(var o=this._groups,a=o.length,u=0;u<a;++u)for(var l=o[u],c=l.length,d,h=0;h<c;++h)(d=l[h])&&$s(d,e,r,h,l,i||PI(d,r));return new jn(o,this._parents,e,r)}jo.prototype.interrupt=AT;jo.prototype.transition=MI;const gs=e=>()=>e;function OI(e,{sourceEvent:r,target:i,transform:o,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:a}})}function Ln(e,r,i){this.k=e,this.x=r,this.y=i}Ln.prototype={constructor:Ln,scale:function(e){return e===1?this:new Ln(this.k*e,this.x,this.y)},translate:function(e,r){return e===0&r===0?this:new Ln(this.k,this.x+this.k*e,this.y+this.k*r)},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 zn=new Ln(1,0,0);Ln.prototype;function ac(e){e.stopImmediatePropagation()}function yo(e){e.preventDefault(),e.stopImmediatePropagation()}function LI(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function zI(){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 z0(){return this.__zoom||zn}function jI(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function DI(){return navigator.maxTouchPoints||"ontouchstart"in this}function FI(e,r,i){var o=e.invertX(r[0][0])-i[0][0],a=e.invertX(r[1][0])-i[1][0],u=e.invertY(r[0][1])-i[0][1],l=e.invertY(r[1][1])-i[1][1];return e.translate(a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a),l>u?(u+l)/2:Math.min(0,u)||Math.max(0,l))}function ck(){var e=LI,r=zI,i=FI,o=jI,a=DI,u=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,d=ET,h=js("start","zoom","end"),p,m,y,_=500,C=150,w=0,x=10;function E(R){R.property("__zoom",z0).on("wheel.zoom",H,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",U).filter(a).on("touchstart.zoom",V).on("touchmove.zoom",ee).on("touchend.zoom touchcancel.zoom",J).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(R,G,$,re){var K=R.selection?R.selection():R;K.property("__zoom",z0),R!==K?I(R,G,$,re):K.interrupt().each(function(){A(this,arguments).event(re).start().zoom(null,typeof G=="function"?G.apply(this,arguments):G).end()})},E.scaleBy=function(R,G,$,re){E.scaleTo(R,function(){var K=this.__zoom.k,L=typeof G=="function"?G.apply(this,arguments):G;return K*L},$,re)},E.scaleTo=function(R,G,$,re){E.transform(R,function(){var K=r.apply(this,arguments),L=this.__zoom,W=$==null?b(K):typeof $=="function"?$.apply(this,arguments):$,T=L.invert(W),M=typeof G=="function"?G.apply(this,arguments):G;return i(N(k(L,M),W,T),K,l)},$,re)},E.translateBy=function(R,G,$,re){E.transform(R,function(){return i(this.__zoom.translate(typeof G=="function"?G.apply(this,arguments):G,typeof $=="function"?$.apply(this,arguments):$),r.apply(this,arguments),l)},null,re)},E.translateTo=function(R,G,$,re,K){E.transform(R,function(){var L=r.apply(this,arguments),W=this.__zoom,T=re==null?b(L):typeof re=="function"?re.apply(this,arguments):re;return i(zn.translate(T[0],T[1]).scale(W.k).translate(typeof G=="function"?-G.apply(this,arguments):-G,typeof $=="function"?-$.apply(this,arguments):-$),L,l)},re,K)};function k(R,G){return G=Math.max(u[0],Math.min(u[1],G)),G===R.k?R:new Ln(G,R.x,R.y)}function N(R,G,$){var re=G[0]-$[0]*R.k,K=G[1]-$[1]*R.k;return re===R.x&&K===R.y?R:new Ln(R.k,re,K)}function b(R){return[(+R[0][0]+ +R[1][0])/2,(+R[0][1]+ +R[1][1])/2]}function I(R,G,$,re){R.on("start.zoom",function(){A(this,arguments).event(re).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(re).end()}).tween("zoom",function(){var K=this,L=arguments,W=A(K,L).event(re),T=r.apply(K,L),M=$==null?b(T):typeof $=="function"?$.apply(K,L):$,ne=Math.max(T[1][0]-T[0][0],T[1][1]-T[0][1]),O=K.__zoom,F=typeof G=="function"?G.apply(K,L):G,Y=d(O.invert(M).concat(ne/O.k),F.invert(M).concat(ne/F.k));return function(ie){if(ie===1)ie=F;else{var ue=Y(ie),fe=ne/ue[2];ie=new Ln(fe,M[0]-ue[0]*fe,M[1]-ue[1]*fe)}W.zoom(null,ie)}})}function A(R,G,$){return!$&&R.__zooming||new P(R,G)}function P(R,G){this.that=R,this.args=G,this.active=0,this.sourceEvent=null,this.extent=r.apply(R,G),this.taps=0}P.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=Yt(this.that).datum();h.call(R,this.that,new OI(R,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),G)}};function H(R,...G){if(!e.apply(this,arguments))return;var $=A(this,G).event(R),re=this.__zoom,K=Math.max(u[0],Math.min(u[1],re.k*Math.pow(2,o.apply(this,arguments)))),L=sn(R);if($.wheel)($.mouse[0][0]!==L[0]||$.mouse[0][1]!==L[1])&&($.mouse[1]=re.invert($.mouse[0]=L)),clearTimeout($.wheel);else{if(re.k===K)return;$.mouse=[L,re.invert(L)],Ns(this),$.start()}yo(R),$.wheel=setTimeout(W,C),$.zoom("mouse",i(N(k(re,K),$.mouse[0],$.mouse[1]),$.extent,l));function W(){$.wheel=null,$.end()}}function z(R,...G){if(y||!e.apply(this,arguments))return;var $=R.currentTarget,re=A(this,G,!0).event(R),K=Yt(R.view).on("mousemove.zoom",M,!0).on("mouseup.zoom",ne,!0),L=sn(R,$),W=R.clientX,T=R.clientY;YE(R.view),ac(R),re.mouse=[L,this.__zoom.invert(L)],Ns(this),re.start();function M(O){if(yo(O),!re.moved){var F=O.clientX-W,Y=O.clientY-T;re.moved=F*F+Y*Y>w}re.event(O).zoom("mouse",i(N(re.that.__zoom,re.mouse[0]=sn(O,$),re.mouse[1]),re.extent,l))}function ne(O){K.on("mousemove.zoom mouseup.zoom",null),XE(O.view,re.moved),yo(O),re.event(O).end()}}function U(R,...G){if(e.apply(this,arguments)){var $=this.__zoom,re=sn(R.changedTouches?R.changedTouches[0]:R,this),K=$.invert(re),L=$.k*(R.shiftKey?.5:2),W=i(N(k($,L),re,K),r.apply(this,G),l);yo(R),c>0?Yt(this).transition().duration(c).call(I,W,re,R):Yt(this).call(E.transform,W,re,R)}}function V(R,...G){if(e.apply(this,arguments)){var $=R.touches,re=$.length,K=A(this,G,R.changedTouches.length===re).event(R),L,W,T,M;for(ac(R),W=0;W<re;++W)T=$[W],M=sn(T,this),M=[M,this.__zoom.invert(M),T.identifier],K.touch0?!K.touch1&&K.touch0[2]!==M[2]&&(K.touch1=M,K.taps=0):(K.touch0=M,L=!0,K.taps=1+!!p);p&&(p=clearTimeout(p)),L&&(K.taps<2&&(m=M[0],p=setTimeout(function(){p=null},_)),Ns(this),K.start())}}function ee(R,...G){if(this.__zooming){var $=A(this,G).event(R),re=R.changedTouches,K=re.length,L,W,T,M;for(yo(R),L=0;L<K;++L)W=re[L],T=sn(W,this),$.touch0&&$.touch0[2]===W.identifier?$.touch0[0]=T:$.touch1&&$.touch1[2]===W.identifier&&($.touch1[0]=T);if(W=$.that.__zoom,$.touch1){var ne=$.touch0[0],O=$.touch0[1],F=$.touch1[0],Y=$.touch1[1],ie=(ie=F[0]-ne[0])*ie+(ie=F[1]-ne[1])*ie,ue=(ue=Y[0]-O[0])*ue+(ue=Y[1]-O[1])*ue;W=k(W,Math.sqrt(ie/ue)),T=[(ne[0]+F[0])/2,(ne[1]+F[1])/2],M=[(O[0]+Y[0])/2,(O[1]+Y[1])/2]}else if($.touch0)T=$.touch0[0],M=$.touch0[1];else return;$.zoom("touch",i(N(W,T,M),$.extent,l))}}function J(R,...G){if(this.__zooming){var $=A(this,G).event(R),re=R.changedTouches,K=re.length,L,W;for(ac(R),y&&clearTimeout(y),y=setTimeout(function(){y=null},_),L=0;L<K;++L)W=re[L],$.touch0&&$.touch0[2]===W.identifier?delete $.touch0:$.touch1&&$.touch1[2]===W.identifier&&delete $.touch1;if($.touch1&&!$.touch0&&($.touch0=$.touch1,delete $.touch1),$.touch0)$.touch0[1]=this.__zoom.invert($.touch0[0]);else if($.end(),$.taps===2&&(W=sn(W,this),Math.hypot(m[0]-W[0],m[1]-W[1])<x)){var T=Yt(this).on("dblclick.zoom");T&&T.apply(this,arguments)}}}return E.wheelDelta=function(R){return arguments.length?(o=typeof R=="function"?R:gs(+R),E):o},E.filter=function(R){return arguments.length?(e=typeof R=="function"?R:gs(!!R),E):e},E.touchable=function(R){return arguments.length?(a=typeof R=="function"?R:gs(!!R),E):a},E.extent=function(R){return arguments.length?(r=typeof R=="function"?R:gs([[+R[0][0],+R[0][1]],[+R[1][0],+R[1][1]]]),E):r},E.scaleExtent=function(R){return arguments.length?(u[0]=+R[0],u[1]=+R[1],E):[u[0],u[1]]},E.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],E):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},E.constrain=function(R){return arguments.length?(i=R,E):i},E.duration=function(R){return arguments.length?(c=+R,E):c},E.interpolate=function(R){return arguments.length?(d=R,E):d},E.on=function(){var R=h.on.apply(h,arguments);return R===h?E:R},E.clickDistance=function(R){return arguments.length?(w=(R=+R)*R,E):Math.sqrt(w)},E.tapDistance=function(R){return arguments.length?(x=+R,E):x},E}OE();const Bs=Q.createContext(null),$I=Bs.Provider,Dn={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,r)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?r.targetHandle:r.sourceHandle}", edge id: ${r.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.`},fk=Dn.error001();function Pe(e,r){const i=Q.useContext(Bs);if(i===null)throw new Error(fk);return LE(i,e,r)}const rt=()=>{const e=Q.useContext(Bs);if(e===null)throw new Error(fk);return Q.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},BI=e=>e.userSelectionActive?"none":"all";function am({position:e,children:r,className:i,style:o,...a}){const u=Pe(BI),l=`${e}`.split("-");return oe.createElement("div",{className:pt(["react-flow__panel",i,...l]),style:{...o,pointerEvents:u},...a},r)}function HI({proOptions:e,position:r="bottom-right"}){return e!=null&&e.hideAttribution?null:oe.createElement(am,{position:r,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},oe.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const UI=({x:e,y:r,label:i,labelStyle:o={},labelShowBg:a=!0,labelBgStyle:u={},labelBgPadding:l=[2,4],labelBgBorderRadius:c=2,children:d,className:h,...p})=>{const m=Q.useRef(null),[y,_]=Q.useState({x:0,y:0,width:0,height:0}),C=pt(["react-flow__edge-textwrapper",h]);return Q.useEffect(()=>{if(m.current){const w=m.current.getBBox();_({x:w.x,y:w.y,width:w.width,height:w.height})}},[i]),typeof i>"u"||!i?null:oe.createElement("g",{transform:`translate(${e-y.width/2} ${r-y.height/2})`,className:C,visibility:y.width?"visible":"hidden",...p},a&&oe.createElement("rect",{width:y.width+2*l[0],x:-l[0],y:-l[1],height:y.height+2*l[1],className:"react-flow__edge-textbg",style:u,rx:c,ry:c}),oe.createElement("text",{className:"react-flow__edge-text",y:y.height/2,dy:"0.3em",ref:m,style:o},i),d)};var VI=Q.memo(UI);const sm=e=>({width:e.offsetWidth,height:e.offsetHeight}),ki=(e,r=0,i=1)=>Math.min(Math.max(e,r),i),um=(e={x:0,y:0},r)=>({x:ki(e.x,r[0][0],r[1][0]),y:ki(e.y,r[0][1],r[1][1])}),j0=(e,r,i)=>e<r?ki(Math.abs(e-r),1,50)/50:e>i?-ki(Math.abs(e-i),1,50)/50:0,dk=(e,r)=>{const i=j0(e.x,35,r.width-35)*20,o=j0(e.y,35,r.height-35)*20;return[i,o]},hk=e=>{var r;return((r=e.getRootNode)==null?void 0:r.call(e))||(window==null?void 0:window.document)},pk=(e,r)=>({x:Math.min(e.x,r.x),y:Math.min(e.y,r.y),x2:Math.max(e.x2,r.x2),y2:Math.max(e.y2,r.y2)}),Mo=({x:e,y:r,width:i,height:o})=>({x:e,y:r,x2:e+i,y2:r+o}),vk=({x:e,y:r,x2:i,y2:o})=>({x:e,y:r,width:i-e,height:o-r}),D0=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),GI=(e,r)=>vk(pk(Mo(e),Mo(r))),$v=(e,r)=>{const i=Math.max(0,Math.min(e.x+e.width,r.x+r.width)-Math.max(e.x,r.x)),o=Math.max(0,Math.min(e.y+e.height,r.y+r.height)-Math.max(e.y,r.y));return Math.ceil(i*o)},WI=e=>Xt(e.width)&&Xt(e.height)&&Xt(e.x)&&Xt(e.y),Xt=e=>!isNaN(e)&&isFinite(e),Ke=Symbol.for("internals"),mk=["Enter"," ","Escape"],KI=(e,r)=>{},YI=e=>"nativeEvent"in e;function Bv(e){var a,u;const r=YI(e)?e.nativeEvent:e,i=((u=(a=r.composedPath)==null?void 0:a.call(r))==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 gk=e=>"clientX"in e,fr=(e,r)=>{var u,l;const i=gk(e),o=i?e.clientX:(u=e.touches)==null?void 0:u[0].clientX,a=i?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((r==null?void 0:r.left)??0),y:a-((r==null?void 0:r.top)??0)}},Ms=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},Fo=({id:e,path:r,labelX:i,labelY:o,label:a,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:y,interactionWidth:_=20})=>oe.createElement(oe.Fragment,null,oe.createElement("path",{id:e,style:p,d:r,fill:"none",className:"react-flow__edge-path",markerEnd:m,markerStart:y}),_&&oe.createElement("path",{d:r,fill:"none",strokeOpacity:0,strokeWidth:_,className:"react-flow__edge-interaction"}),a&&Xt(i)&&Xt(o)?oe.createElement(VI,{x:i,y:o,label:a,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h}):null);Fo.displayName="BaseEdge";function _o(e,r,i){return i===void 0?i:o=>{const a=r().edges.find(u=>u.id===e);a&&i(o,{...a})}}function yk({sourceX:e,sourceY:r,targetX:i,targetY:o}){const a=Math.abs(i-e)/2,u=i<e?i+a:i-a,l=Math.abs(o-r)/2,c=o<r?o+l:o-l;return[u,c,a,l]}function _k({sourceX:e,sourceY:r,targetX:i,targetY:o,sourceControlX:a,sourceControlY:u,targetControlX:l,targetControlY:c}){const d=e*.125+a*.375+l*.375+i*.125,h=r*.125+u*.375+c*.375+o*.125,p=Math.abs(d-e),m=Math.abs(h-r);return[d,h,p,m]}var zr;(function(e){e.Strict="strict",e.Loose="loose"})(zr||(zr={}));var qr;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(qr||(qr={}));var Oo;(function(e){e.Partial="partial",e.Full="full"})(Oo||(Oo={}));var cr;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(cr||(cr={}));var Os;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Os||(Os={}));var xe;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(xe||(xe={}));function F0({pos:e,x1:r,y1:i,x2:o,y2:a}){return e===xe.Left||e===xe.Right?[.5*(r+o),i]:[r,.5*(i+a)]}function wk({sourceX:e,sourceY:r,sourcePosition:i=xe.Bottom,targetX:o,targetY:a,targetPosition:u=xe.Top}){const[l,c]=F0({pos:i,x1:e,y1:r,x2:o,y2:a}),[d,h]=F0({pos:u,x1:o,y1:a,x2:e,y2:r}),[p,m,y,_]=_k({sourceX:e,sourceY:r,targetX:o,targetY:a,sourceControlX:l,sourceControlY:c,targetControlX:d,targetControlY:h});return[`M${e},${r} C${l},${c} ${d},${h} ${o},${a}`,p,m,y,_]}const lm=Q.memo(({sourceX:e,sourceY:r,targetX:i,targetY:o,sourcePosition:a=xe.Bottom,targetPosition:u=xe.Top,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:y,markerEnd:_,markerStart:C,interactionWidth:w})=>{const[x,E,k]=wk({sourceX:e,sourceY:r,sourcePosition:a,targetX:i,targetY:o,targetPosition:u});return oe.createElement(Fo,{path:x,labelX:E,labelY:k,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:y,markerEnd:_,markerStart:C,interactionWidth:w})});lm.displayName="SimpleBezierEdge";const $0={[xe.Left]:{x:-1,y:0},[xe.Right]:{x:1,y:0},[xe.Top]:{x:0,y:-1},[xe.Bottom]:{x:0,y:1}},XI=({source:e,sourcePosition:r=xe.Bottom,target:i})=>r===xe.Left||r===xe.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},B0=(e,r)=>Math.sqrt(Math.pow(r.x-e.x,2)+Math.pow(r.y-e.y,2));function QI({source:e,sourcePosition:r=xe.Bottom,target:i,targetPosition:o=xe.Top,center:a,offset:u}){const l=$0[r],c=$0[o],d={x:e.x+l.x*u,y:e.y+l.y*u},h={x:i.x+c.x*u,y:i.y+c.y*u},p=XI({source:d,sourcePosition:r,target:h}),m=p.x!==0?"x":"y",y=p[m];let _=[],C,w;const x={x:0,y:0},E={x:0,y:0},[k,N,b,I]=yk({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(l[m]*c[m]===-1){C=a.x??k,w=a.y??N;const P=[{x:C,y:d.y},{x:C,y:h.y}],H=[{x:d.x,y:w},{x:h.x,y:w}];l[m]===y?_=m==="x"?P:H:_=m==="x"?H:P}else{const P=[{x:d.x,y:h.y}],H=[{x:h.x,y:d.y}];if(m==="x"?_=l.x===y?H:P:_=l.y===y?P:H,r===o){const J=Math.abs(e[m]-i[m]);if(J<=u){const R=Math.min(u-1,u-J);l[m]===y?x[m]=(d[m]>e[m]?-1:1)*R:E[m]=(h[m]>i[m]?-1:1)*R}}if(r!==o){const J=m==="x"?"y":"x",R=l[m]===c[J],G=d[J]>h[J],$=d[J]<h[J];(l[m]===1&&(!R&&G||R&&$)||l[m]!==1&&(!R&&$||R&&G))&&(_=m==="x"?P:H)}const z={x:d.x+x.x,y:d.y+x.y},U={x:h.x+E.x,y:h.y+E.y},V=Math.max(Math.abs(z.x-_[0].x),Math.abs(U.x-_[0].x)),ee=Math.max(Math.abs(z.y-_[0].y),Math.abs(U.y-_[0].y));V>=ee?(C=(z.x+U.x)/2,w=_[0].y):(C=_[0].x,w=(z.y+U.y)/2)}return[[e,{x:d.x+x.x,y:d.y+x.y},..._,{x:h.x+E.x,y:h.y+E.y},i],C,w,b,I]}function ZI(e,r,i,o){const a=Math.min(B0(e,r)/2,B0(r,i)/2,o),{x:u,y:l}=r;if(e.x===u&&u===i.x||e.y===l&&l===i.y)return`L${u} ${l}`;if(e.y===l){const h=e.x<i.x?-1:1,p=e.y<i.y?1:-1;return`L ${u+a*h},${l}Q ${u},${l} ${u},${l+a*p}`}const c=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${u},${l+a*d}Q ${u},${l} ${u+a*c},${l}`}function Hv({sourceX:e,sourceY:r,sourcePosition:i=xe.Bottom,targetX:o,targetY:a,targetPosition:u=xe.Top,borderRadius:l=5,centerX:c,centerY:d,offset:h=20}){const[p,m,y,_,C]=QI({source:{x:e,y:r},sourcePosition:i,target:{x:o,y:a},targetPosition:u,center:{x:c,y:d},offset:h});return[p.reduce((x,E,k)=>{let N="";return k>0&&k<p.length-1?N=ZI(p[k-1],E,p[k+1],l):N=`${k===0?"M":"L"}${E.x} ${E.y}`,x+=N,x},""),m,y,_,C]}const Hs=Q.memo(({sourceX:e,sourceY:r,targetX:i,targetY:o,label:a,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h,style:p,sourcePosition:m=xe.Bottom,targetPosition:y=xe.Top,markerEnd:_,markerStart:C,pathOptions:w,interactionWidth:x})=>{const[E,k,N]=Hv({sourceX:e,sourceY:r,sourcePosition:m,targetX:i,targetY:o,targetPosition:y,borderRadius:w==null?void 0:w.borderRadius,offset:w==null?void 0:w.offset});return oe.createElement(Fo,{path:E,labelX:k,labelY:N,label:a,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h,style:p,markerEnd:_,markerStart:C,interactionWidth:x})});Hs.displayName="SmoothStepEdge";const cm=Q.memo(e=>{var r;return oe.createElement(Hs,{...e,pathOptions:Q.useMemo(()=>{var i;return{borderRadius:0,offset:(i=e.pathOptions)==null?void 0:i.offset}},[(r=e.pathOptions)==null?void 0:r.offset])})});cm.displayName="StepEdge";function JI({sourceX:e,sourceY:r,targetX:i,targetY:o}){const[a,u,l,c]=yk({sourceX:e,sourceY:r,targetX:i,targetY:o});return[`M ${e},${r}L ${i},${o}`,a,u,l,c]}const fm=Q.memo(({sourceX:e,sourceY:r,targetX:i,targetY:o,label:a,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:y,interactionWidth:_})=>{const[C,w,x]=JI({sourceX:e,sourceY:r,targetX:i,targetY:o});return oe.createElement(Fo,{path:C,labelX:w,labelY:x,label:a,labelStyle:u,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:y,interactionWidth:_})});fm.displayName="StraightEdge";function ys(e,r){return e>=0?.5*e:r*25*Math.sqrt(-e)}function H0({pos:e,x1:r,y1:i,x2:o,y2:a,c:u}){switch(e){case xe.Left:return[r-ys(r-o,u),i];case xe.Right:return[r+ys(o-r,u),i];case xe.Top:return[r,i-ys(i-a,u)];case xe.Bottom:return[r,i+ys(a-i,u)]}}function xk({sourceX:e,sourceY:r,sourcePosition:i=xe.Bottom,targetX:o,targetY:a,targetPosition:u=xe.Top,curvature:l=.25}){const[c,d]=H0({pos:i,x1:e,y1:r,x2:o,y2:a,c:l}),[h,p]=H0({pos:u,x1:o,y1:a,x2:e,y2:r,c:l}),[m,y,_,C]=_k({sourceX:e,sourceY:r,targetX:o,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:h,targetControlY:p});return[`M${e},${r} C${c},${d} ${h},${p} ${o},${a}`,m,y,_,C]}const Ls=Q.memo(({sourceX:e,sourceY:r,targetX:i,targetY:o,sourcePosition:a=xe.Bottom,targetPosition:u=xe.Top,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:y,markerEnd:_,markerStart:C,pathOptions:w,interactionWidth:x})=>{const[E,k,N]=xk({sourceX:e,sourceY:r,sourcePosition:a,targetX:i,targetY:o,targetPosition:u,curvature:w==null?void 0:w.curvature});return oe.createElement(Fo,{path:E,labelX:k,labelY:N,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:y,markerEnd:_,markerStart:C,interactionWidth:x})});Ls.displayName="BezierEdge";const dm=Q.createContext(null),eA=dm.Provider;dm.Consumer;const tA=()=>Q.useContext(dm),nA=e=>"id"in e&&"source"in e&&"target"in e,rA=({source:e,sourceHandle:r,target:i,targetHandle:o})=>`reactflow__edge-${e}${r||""}-${i}${o||""}`,Uv=(e,r)=>typeof e>"u"?"":typeof e=="string"?e:`${r?`${r}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`,iA=(e,r)=>r.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)),oA=(e,r)=>{if(!e.source||!e.target)return r;let i;return nA(e)?i={...e}:i={...e,id:rA(e)},iA(i,r)?r:r.concat(i)},Vv=({x:e,y:r},[i,o,a],u,[l,c])=>{const d={x:(e-i)/a,y:(r-o)/a};return u?{x:l*Math.round(d.x/l),y:c*Math.round(d.y/c)}:d},Sk=({x:e,y:r},[i,o,a])=>({x:e*a+i,y:r*a+o}),Mr=(e,r=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const i=(e.width??0)*r[0],o=(e.height??0)*r[1],a={x:e.position.x-i,y:e.position.y-o};return{...a,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-i,y:e.positionAbsolute.y-o}:a}},Us=(e,r=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((o,a)=>{const{x:u,y:l}=Mr(a,r).positionAbsolute;return pk(o,Mo({x:u,y:l,width:a.width||0,height:a.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return vk(i)},Ek=(e,r,[i,o,a]=[0,0,1],u=!1,l=!1,c=[0,0])=>{const d={x:(r.x-i)/a,y:(r.y-o)/a,width:r.width/a,height:r.height/a},h=[];return e.forEach(p=>{const{width:m,height:y,selectable:_=!0,hidden:C=!1}=p;if(l&&!_||C)return!1;const{positionAbsolute:w}=Mr(p,c),x={x:w.x,y:w.y,width:m||0,height:y||0},E=$v(d,x),k=typeof m>"u"||typeof y>"u"||m===null||y===null,N=u&&E>0,b=(m||0)*(y||0);(k||N||E>=b||p.dragging)&&h.push(p)}),h},kk=(e,r)=>{const i=e.map(o=>o.id);return r.filter(o=>i.includes(o.source)||i.includes(o.target))},bk=(e,r,i,o,a,u=.1)=>{const l=r/(e.width*(1+u)),c=i/(e.height*(1+u)),d=Math.min(l,c),h=ki(d,o,a),p=e.x+e.width/2,m=e.y+e.height/2,y=r/2-p*h,_=i/2-m*h;return{x:y,y:_,zoom:h}},Ir=(e,r=0)=>e.transition().duration(r);function U0(e,r,i,o){return(r[i]||[]).reduce((a,u)=>{var l,c;return`${e.id}-${u.id}-${i}`!==o&&a.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}),a},[])}function aA(e,r,i,o,a,u){const{x:l,y:c}=fr(e),h=r.elementsFromPoint(l,c).find(C=>C.classList.contains("react-flow__handle"));if(h){const C=h.getAttribute("data-nodeid");if(C){const w=hm(void 0,h),x=h.getAttribute("data-handleid"),E=u({nodeId:C,id:x,type:w});if(E){const k=a.find(N=>N.nodeId===C&&N.type===w&&N.id===x);return{handle:{id:x,type:w,nodeId:C,x:(k==null?void 0:k.x)||i.x,y:(k==null?void 0:k.y)||i.y},validHandleResult:E}}}}let p=[],m=1/0;if(a.forEach(C=>{const w=Math.sqrt((C.x-i.x)**2+(C.y-i.y)**2);if(w<=o){const x=u(C);w<=m&&(w<m?p=[{handle:C,validHandleResult:x}]:w===m&&p.push({handle:C,validHandleResult:x}),m=w)}}),!p.length)return{handle:null,validHandleResult:Ck()};if(p.length===1)return p[0];const y=p.some(({validHandleResult:C})=>C.isValid),_=p.some(({handle:C})=>C.type==="target");return p.find(({handle:C,validHandleResult:w})=>_?C.type==="target":y?w.isValid:!0)||p[0]}const sA={source:null,target:null,sourceHandle:null,targetHandle:null},Ck=()=>({handleDomNode:null,isValid:!1,connection:sA,endHandle:null});function Nk(e,r,i,o,a,u,l){const c=a==="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}"]`),h={...Ck(),handleDomNode:d};if(d){const p=hm(void 0,d),m=d.getAttribute("data-nodeid"),y=d.getAttribute("data-handleid"),_=d.classList.contains("connectable"),C=d.classList.contains("connectableend"),w={source:c?m:i,sourceHandle:c?y:o,target:c?i:m,targetHandle:c?o:y};h.connection=w,_&&C&&(r===zr.Strict?c&&p==="source"||!c&&p==="target":m!==i||y!==o)&&(h.endHandle={nodeId:m,handleId:y,type:p},h.isValid=u(w))}return h}function uA({nodes:e,nodeId:r,handleId:i,handleType:o}){return e.reduce((a,u)=>{if(u[Ke]){const{handleBounds:l}=u[Ke];let c=[],d=[];l&&(c=U0(u,l,"source",`${r}-${i}-${o}`),d=U0(u,l,"target",`${r}-${i}-${o}`)),a.push(...c,...d)}return a},[])}function hm(e,r){return e||(r!=null&&r.classList.contains("target")?"target":r!=null&&r.classList.contains("source")?"source":null)}function sc(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function lA(e,r){let i=null;return r?i="valid":e&&!r&&(i="invalid"),i}function Rk({event:e,handleId:r,nodeId:i,onConnect:o,isTarget:a,getState:u,setState:l,isValidConnection:c,edgeUpdaterType:d,onReconnectEnd:h}){const p=hk(e.target),{connectionMode:m,domNode:y,autoPanOnConnect:_,connectionRadius:C,onConnectStart:w,panBy:x,getNodes:E,cancelConnection:k}=u();let N=0,b;const{x:I,y:A}=fr(e),P=p==null?void 0:p.elementFromPoint(I,A),H=hm(d,P),z=y==null?void 0:y.getBoundingClientRect();if(!z||!H)return;let U,V=fr(e,z),ee=!1,J=null,R=!1,G=null;const $=uA({nodes:E(),nodeId:i,handleId:r,handleType:H}),re=()=>{if(!_)return;const[W,T]=dk(V,z);x({x:W,y:T}),N=requestAnimationFrame(re)};l({connectionPosition:V,connectionStatus:null,connectionNodeId:i,connectionHandleId:r,connectionHandleType:H,connectionStartHandle:{nodeId:i,handleId:r,type:H},connectionEndHandle:null}),w==null||w(e,{nodeId:i,handleId:r,handleType:H});function K(W){const{transform:T}=u();V=fr(W,z);const{handle:M,validHandleResult:ne}=aA(W,p,Vv(V,T,!1,[1,1]),C,$,O=>Nk(O,m,i,r,a?"target":"source",c,p));if(b=M,ee||(re(),ee=!0),G=ne.handleDomNode,J=ne.connection,R=ne.isValid,l({connectionPosition:b&&R?Sk({x:b.x,y:b.y},T):V,connectionStatus:lA(!!b,R),connectionEndHandle:ne.endHandle}),!b&&!R&&!G)return sc(U);J.source!==J.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 L(W){var T,M;(b||G)&&J&&R&&(o==null||o(J)),(M=(T=u()).onConnectEnd)==null||M.call(T,W),d&&(h==null||h(W)),sc(U),k(),cancelAnimationFrame(N),ee=!1,R=!1,J=null,G=null,p.removeEventListener("mousemove",K),p.removeEventListener("mouseup",L),p.removeEventListener("touchmove",K),p.removeEventListener("touchend",L)}p.addEventListener("mousemove",K),p.addEventListener("mouseup",L),p.addEventListener("touchmove",K),p.addEventListener("touchend",L)}const V0=()=>!0,cA=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),fA=(e,r,i)=>o=>{const{connectionStartHandle:a,connectionEndHandle:u,connectionClickStartHandle:l}=o;return{connecting:(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.handleId)===r&&(a==null?void 0:a.type)===i||(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.handleId)===r&&(u==null?void 0:u.type)===i,clickConnecting:(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.handleId)===r&&(l==null?void 0:l.type)===i}},Tk=Q.forwardRef(({type:e="source",position:r=xe.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:a=!0,isConnectableEnd:u=!0,id:l,onConnect:c,children:d,className:h,onMouseDown:p,onTouchStart:m,...y},_)=>{var z,U;const C=l||null,w=e==="target",x=rt(),E=tA(),{connectOnClick:k,noPanClassName:N}=Pe(cA,nt),{connecting:b,clickConnecting:I}=Pe(fA(E,C,e),nt);E||(U=(z=x.getState()).onError)==null||U.call(z,"010",Dn.error010());const A=V=>{const{defaultEdgeOptions:ee,onConnect:J,hasDefaultEdges:R}=x.getState(),G={...ee,...V};if(R){const{edges:$,setEdges:re}=x.getState();re(oA(G,$))}J==null||J(G),c==null||c(G)},P=V=>{if(!E)return;const ee=gk(V);a&&(ee&&V.button===0||!ee)&&Rk({event:V,handleId:C,nodeId:E,onConnect:A,isTarget:w,getState:x.getState,setState:x.setState,isValidConnection:i||x.getState().isValidConnection||V0}),ee?p==null||p(V):m==null||m(V)},H=V=>{const{onClickConnectStart:ee,onClickConnectEnd:J,connectionClickStartHandle:R,connectionMode:G,isValidConnection:$}=x.getState();if(!E||!R&&!a)return;if(!R){ee==null||ee(V,{nodeId:E,handleId:C,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:E,type:e,handleId:C}});return}const re=hk(V.target),K=i||$||V0,{connection:L,isValid:W}=Nk({nodeId:E,id:C,type:e},G,R.nodeId,R.handleId||null,R.type,K,re);W&&A(L),J==null||J(V),x.setState({connectionClickStartHandle:null})};return oe.createElement("div",{"data-handleid":C,"data-nodeid":E,"data-handlepos":r,"data-id":`${E}-${C}-${e}`,className:pt(["react-flow__handle",`react-flow__handle-${r}`,"nodrag",N,h,{source:!w,target:w,connectable:o,connectablestart:a,connectableend:u,connecting:I,connectionindicator:o&&(a&&!b||u&&b)}]),onMouseDown:P,onTouchStart:P,onClick:k?H:void 0,ref:_,...y},d)});Tk.displayName="Handle";var bi=Q.memo(Tk);const Ik=({data:e,isConnectable:r,targetPosition:i=xe.Top,sourcePosition:o=xe.Bottom})=>oe.createElement(oe.Fragment,null,oe.createElement(bi,{type:"target",position:i,isConnectable:r}),e==null?void 0:e.label,oe.createElement(bi,{type:"source",position:o,isConnectable:r}));Ik.displayName="DefaultNode";var Gv=Q.memo(Ik);const Ak=({data:e,isConnectable:r,sourcePosition:i=xe.Bottom})=>oe.createElement(oe.Fragment,null,e==null?void 0:e.label,oe.createElement(bi,{type:"source",position:i,isConnectable:r}));Ak.displayName="InputNode";var qk=Q.memo(Ak);const Pk=({data:e,isConnectable:r,targetPosition:i=xe.Top})=>oe.createElement(oe.Fragment,null,oe.createElement(bi,{type:"target",position:i,isConnectable:r}),e==null?void 0:e.label);Pk.displayName="OutputNode";var Mk=Q.memo(Pk);const pm=()=>null;pm.displayName="GroupNode";const dA=e=>({selectedNodes:e.getNodes().filter(r=>r.selected),selectedEdges:e.edges.filter(r=>r.selected).map(r=>({...r}))}),_s=e=>e.id;function hA(e,r){return nt(e.selectedNodes.map(_s),r.selectedNodes.map(_s))&&nt(e.selectedEdges.map(_s),r.selectedEdges.map(_s))}const Ok=Q.memo(({onSelectionChange:e})=>{const r=rt(),{selectedNodes:i,selectedEdges:o}=Pe(dA,hA);return Q.useEffect(()=>{const a={nodes:i,edges:o};e==null||e(a),r.getState().onSelectionChange.forEach(u=>u(a))},[i,o,e]),null});Ok.displayName="SelectionListener";const pA=e=>!!e.onSelectionChange;function vA({onSelectionChange:e}){const r=Pe(pA);return e||r?oe.createElement(Ok,{onSelectionChange:e}):null}const mA=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 pi(e,r){Q.useEffect(()=>{typeof e<"u"&&r(e)},[e])}function Ce(e,r,i){Q.useEffect(()=>{typeof r<"u"&&i({[e]:r})},[r])}const gA=({nodes:e,edges:r,defaultNodes:i,defaultEdges:o,onConnect:a,onConnectStart:u,onConnectEnd:l,onClickConnectStart:c,onClickConnectEnd:d,nodesDraggable:h,nodesConnectable:p,nodesFocusable:m,edgesFocusable:y,edgesUpdatable:_,elevateNodesOnSelect:C,minZoom:w,maxZoom:x,nodeExtent:E,onNodesChange:k,onEdgesChange:N,elementsSelectable:b,connectionMode:I,snapGrid:A,snapToGrid:P,translateExtent:H,connectOnClick:z,defaultEdgeOptions:U,fitView:V,fitViewOptions:ee,onNodesDelete:J,onEdgesDelete:R,onNodeDrag:G,onNodeDragStart:$,onNodeDragStop:re,onSelectionDrag:K,onSelectionDragStart:L,onSelectionDragStop:W,noPanClassName:T,nodeOrigin:M,rfId:ne,autoPanOnConnect:O,autoPanOnNodeDrag:F,onError:Y,connectionRadius:ie,isValidConnection:ue,nodeDragThreshold:fe})=>{const{setNodes:he,setEdges:Ne,setDefaultNodesAndEdges:Me,setMinZoom:Te,setMaxZoom:Re,setTranslateExtent:we,setNodeExtent:De,reset:ve}=Pe(mA,nt),me=rt();return Q.useEffect(()=>{const Oe=o==null?void 0:o.map(lt=>({...lt,...U}));return Me(i,Oe),()=>{ve()}},[]),Ce("defaultEdgeOptions",U,me.setState),Ce("connectionMode",I,me.setState),Ce("onConnect",a,me.setState),Ce("onConnectStart",u,me.setState),Ce("onConnectEnd",l,me.setState),Ce("onClickConnectStart",c,me.setState),Ce("onClickConnectEnd",d,me.setState),Ce("nodesDraggable",h,me.setState),Ce("nodesConnectable",p,me.setState),Ce("nodesFocusable",m,me.setState),Ce("edgesFocusable",y,me.setState),Ce("edgesUpdatable",_,me.setState),Ce("elementsSelectable",b,me.setState),Ce("elevateNodesOnSelect",C,me.setState),Ce("snapToGrid",P,me.setState),Ce("snapGrid",A,me.setState),Ce("onNodesChange",k,me.setState),Ce("onEdgesChange",N,me.setState),Ce("connectOnClick",z,me.setState),Ce("fitViewOnInit",V,me.setState),Ce("fitViewOnInitOptions",ee,me.setState),Ce("onNodesDelete",J,me.setState),Ce("onEdgesDelete",R,me.setState),Ce("onNodeDrag",G,me.setState),Ce("onNodeDragStart",$,me.setState),Ce("onNodeDragStop",re,me.setState),Ce("onSelectionDrag",K,me.setState),Ce("onSelectionDragStart",L,me.setState),Ce("onSelectionDragStop",W,me.setState),Ce("noPanClassName",T,me.setState),Ce("nodeOrigin",M,me.setState),Ce("rfId",ne,me.setState),Ce("autoPanOnConnect",O,me.setState),Ce("autoPanOnNodeDrag",F,me.setState),Ce("onError",Y,me.setState),Ce("connectionRadius",ie,me.setState),Ce("isValidConnection",ue,me.setState),Ce("nodeDragThreshold",fe,me.setState),pi(e,he),pi(r,Ne),pi(w,Te),pi(x,Re),pi(H,we),pi(E,De),null},G0={display:"none"},yA={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Lk="react-flow__node-desc",zk="react-flow__edge-desc",_A="react-flow__aria-live",wA=e=>e.ariaLiveMessage;function xA({rfId:e}){const r=Pe(wA);return oe.createElement("div",{id:`${_A}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:yA},r)}function SA({rfId:e,disableKeyboardA11y:r}){return oe.createElement(oe.Fragment,null,oe.createElement("div",{id:`${Lk}-${e}`,style:G0},"Press enter or space to select a node.",!r&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),oe.createElement("div",{id:`${zk}-${e}`,style:G0},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!r&&oe.createElement(xA,{rfId:e}))}var Lo=(e=null,r={actInsideInputWithModifier:!0})=>{const[i,o]=Q.useState(!1),a=Q.useRef(!1),u=Q.useRef(new Set([])),[l,c]=Q.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(m=>typeof m=="string").map(m=>m.split("+")),p=h.reduce((m,y)=>m.concat(...y),[]);return[h,p]}return[[],[]]},[e]);return Q.useEffect(()=>{const d=typeof document<"u"?document:null,h=(r==null?void 0:r.target)||d;if(e!==null){const p=_=>{if(a.current=_.ctrlKey||_.metaKey||_.shiftKey,(!a.current||a.current&&!r.actInsideInputWithModifier)&&Bv(_))return!1;const w=K0(_.code,c);u.current.add(_[w]),W0(l,u.current,!1)&&(_.preventDefault(),o(!0))},m=_=>{if((!a.current||a.current&&!r.actInsideInputWithModifier)&&Bv(_))return!1;const w=K0(_.code,c);W0(l,u.current,!0)?(o(!1),u.current.clear()):u.current.delete(_[w]),_.key==="Meta"&&u.current.clear(),a.current=!1},y=()=>{u.current.clear(),o(!1)};return h==null||h.addEventListener("keydown",p),h==null||h.addEventListener("keyup",m),window.addEventListener("blur",y),()=>{h==null||h.removeEventListener("keydown",p),h==null||h.removeEventListener("keyup",m),window.removeEventListener("blur",y)}}},[e,o]),i};function W0(e,r,i){return e.filter(o=>i||o.length===r.size).some(o=>o.every(a=>r.has(a)))}function K0(e,r){return r.includes(e)?"code":"key"}function jk(e,r,i,o){var c,d;const a=e.parentNode||e.parentId;if(!a)return i;const u=r.get(a),l=Mr(u,o);return jk(u,r,{x:(i.x??0)+l.x,y:(i.y??0)+l.y,z:(((c=u[Ke])==null?void 0:c.z)??0)>(i.z??0)?((d=u[Ke])==null?void 0:d.z)??0:i.z??0},o)}function Dk(e,r,i){e.forEach(o=>{var u;const a=o.parentNode||o.parentId;if(a&&!e.has(a))throw new Error(`Parent node ${a} not found`);if(a||i!=null&&i[o.id]){const{x:l,y:c,z:d}=jk(o,e,{...o.position,z:((u=o[Ke])==null?void 0:u.z)??0},r);o.positionAbsolute={x:l,y:c},o[Ke].z=d,i!=null&&i[o.id]&&(o[Ke].isParent=!0)}})}function uc(e,r,i,o){const a=new Map,u={},l=o?1e3:0;return e.forEach(c=>{var _;const d=(Xt(c.zIndex)?c.zIndex:0)+(c.selected?l:0),h=r.get(c.id),p={...c,positionAbsolute:{x:c.position.x,y:c.position.y}},m=c.parentNode||c.parentId;m&&(u[m]=!0);const y=(h==null?void 0:h.type)&&(h==null?void 0:h.type)!==c.type;Object.defineProperty(p,Ke,{enumerable:!1,value:{handleBounds:y||(_=h==null?void 0:h[Ke])==null?void 0:_.handleBounds,z:d}}),a.set(c.id,p)}),Dk(a,i,u),a}function Fk(e,r={}){const{getNodes:i,width:o,height:a,minZoom:u,maxZoom:l,d3Zoom:c,d3Selection:d,fitViewOnInitDone:h,fitViewOnInit:p,nodeOrigin:m}=e(),y=r.initial&&!h&&p;if(c&&d&&(y||!r.initial)){const C=i().filter(x=>{var k;const E=r.includeHiddenNodes?x.width&&x.height:!x.hidden;return(k=r.nodes)!=null&&k.length?E&&r.nodes.some(N=>N.id===x.id):E}),w=C.every(x=>x.width&&x.height);if(C.length>0&&w){const x=Us(C,m),{x:E,y:k,zoom:N}=bk(x,o,a,r.minZoom??u,r.maxZoom??l,r.padding??.1),b=zn.translate(E,k).scale(N);return typeof r.duration=="number"&&r.duration>0?c.transform(Ir(d,r.duration),b):c.transform(d,b),!0}}return!1}function EA(e,r){return e.forEach(i=>{const o=r.get(i.id);o&&r.set(o.id,{...o,[Ke]:o[Ke],selected:i.selected})}),new Map(r)}function kA(e,r){return r.map(i=>{const o=e.find(a=>a.id===i.id);return o&&(i.selected=o.selected),i})}function ws({changedNodes:e,changedEdges:r,get:i,set:o}){const{nodeInternals:a,edges:u,onNodesChange:l,onEdgesChange:c,hasDefaultNodes:d,hasDefaultEdges:h}=i();e!=null&&e.length&&(d&&o({nodeInternals:EA(e,a)}),l==null||l(e)),r!=null&&r.length&&(h&&o({edges:kA(r,u)}),c==null||c(r))}const vi=()=>{},bA={zoomIn:vi,zoomOut:vi,zoomTo:vi,getZoom:()=>1,setViewport:vi,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:vi,fitBounds:vi,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},CA=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),NA=()=>{const e=rt(),{d3Zoom:r,d3Selection:i}=Pe(CA,nt);return Q.useMemo(()=>i&&r?{zoomIn:a=>r.scaleBy(Ir(i,a==null?void 0:a.duration),1.2),zoomOut:a=>r.scaleBy(Ir(i,a==null?void 0:a.duration),1/1.2),zoomTo:(a,u)=>r.scaleTo(Ir(i,u==null?void 0:u.duration),a),getZoom:()=>e.getState().transform[2],setViewport:(a,u)=>{const[l,c,d]=e.getState().transform,h=zn.translate(a.x??l,a.y??c).scale(a.zoom??d);r.transform(Ir(i,u==null?void 0:u.duration),h)},getViewport:()=>{const[a,u,l]=e.getState().transform;return{x:a,y:u,zoom:l}},fitView:a=>Fk(e.getState,a),setCenter:(a,u,l)=>{const{width:c,height:d,maxZoom:h}=e.getState(),p=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:h,m=c/2-a*p,y=d/2-u*p,_=zn.translate(m,y).scale(p);r.transform(Ir(i,l==null?void 0:l.duration),_)},fitBounds:(a,u)=>{const{width:l,height:c,minZoom:d,maxZoom:h}=e.getState(),{x:p,y:m,zoom:y}=bk(a,l,c,d,h,(u==null?void 0:u.padding)??.1),_=zn.translate(p,m).scale(y);r.transform(Ir(i,u==null?void 0:u.duration),_)},project:a=>{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"),Vv(a,u,l,c)},screenToFlowPosition:a=>{const{transform:u,snapToGrid:l,snapGrid:c,domNode:d}=e.getState();if(!d)return a;const{x:h,y:p}=d.getBoundingClientRect(),m={x:a.x-h,y:a.y-p};return Vv(m,u,l,c)},flowToScreenPosition:a=>{const{transform:u,domNode:l}=e.getState();if(!l)return a;const{x:c,y:d}=l.getBoundingClientRect(),h=Sk(a,u);return{x:h.x+c,y:h.y+d}},viewportInitialized:!0}:bA,[r,i])};function Vs(){const e=NA(),r=rt(),i=Q.useCallback(()=>r.getState().getNodes().map(w=>({...w})),[]),o=Q.useCallback(w=>r.getState().nodeInternals.get(w),[]),a=Q.useCallback(()=>{const{edges:w=[]}=r.getState();return w.map(x=>({...x}))},[]),u=Q.useCallback(w=>{const{edges:x=[]}=r.getState();return x.find(E=>E.id===w)},[]),l=Q.useCallback(w=>{const{getNodes:x,setNodes:E,hasDefaultNodes:k,onNodesChange:N}=r.getState(),b=x(),I=typeof w=="function"?w(b):w;if(k)E(I);else if(N){const A=I.length===0?b.map(P=>({type:"remove",id:P.id})):I.map(P=>({item:P,type:"reset"}));N(A)}},[]),c=Q.useCallback(w=>{const{edges:x=[],setEdges:E,hasDefaultEdges:k,onEdgesChange:N}=r.getState(),b=typeof w=="function"?w(x):w;if(k)E(b);else if(N){const I=b.length===0?x.map(A=>({type:"remove",id:A.id})):b.map(A=>({item:A,type:"reset"}));N(I)}},[]),d=Q.useCallback(w=>{const x=Array.isArray(w)?w:[w],{getNodes:E,setNodes:k,hasDefaultNodes:N,onNodesChange:b}=r.getState();if(N){const A=[...E(),...x];k(A)}else if(b){const I=x.map(A=>({item:A,type:"add"}));b(I)}},[]),h=Q.useCallback(w=>{const x=Array.isArray(w)?w:[w],{edges:E=[],setEdges:k,hasDefaultEdges:N,onEdgesChange:b}=r.getState();if(N)k([...E,...x]);else if(b){const I=x.map(A=>({item:A,type:"add"}));b(I)}},[]),p=Q.useCallback(()=>{const{getNodes:w,edges:x=[],transform:E}=r.getState(),[k,N,b]=E;return{nodes:w().map(I=>({...I})),edges:x.map(I=>({...I})),viewport:{x:k,y:N,zoom:b}}},[]),m=Q.useCallback(({nodes:w,edges:x})=>{const{nodeInternals:E,getNodes:k,edges:N,hasDefaultNodes:b,hasDefaultEdges:I,onNodesDelete:A,onEdgesDelete:P,onNodesChange:H,onEdgesChange:z}=r.getState(),U=(w||[]).map(G=>G.id),V=(x||[]).map(G=>G.id),ee=k().reduce((G,$)=>{const re=$.parentNode||$.parentId,K=!U.includes($.id)&&re&&G.find(W=>W.id===re);return(typeof $.deletable=="boolean"?$.deletable:!0)&&(U.includes($.id)||K)&&G.push($),G},[]),J=N.filter(G=>typeof G.deletable=="boolean"?G.deletable:!0),R=J.filter(G=>V.includes(G.id));if(ee||R){const G=kk(ee,J),$=[...R,...G],re=$.reduce((K,L)=>(K.includes(L.id)||K.push(L.id),K),[]);if((I||b)&&(I&&r.setState({edges:N.filter(K=>!re.includes(K.id))}),b&&(ee.forEach(K=>{E.delete(K.id)}),r.setState({nodeInternals:new Map(E)}))),re.length>0&&(P==null||P($),z&&z(re.map(K=>({id:K,type:"remove"})))),ee.length>0&&(A==null||A(ee),H)){const K=ee.map(L=>({id:L.id,type:"remove"}));H(K)}}},[]),y=Q.useCallback(w=>{const x=WI(w),E=x?null:r.getState().nodeInternals.get(w.id);return!x&&!E?[null,null,x]:[x?w:D0(E),E,x]},[]),_=Q.useCallback((w,x=!0,E)=>{const[k,N,b]=y(w);return k?(E||r.getState().getNodes()).filter(I=>{if(!b&&(I.id===N.id||!I.positionAbsolute))return!1;const A=D0(I),P=$v(A,k);return x&&P>0||P>=k.width*k.height}):[]},[]),C=Q.useCallback((w,x,E=!0)=>{const[k]=y(w);if(!k)return!1;const N=$v(k,x);return E&&N>0||N>=k.width*k.height},[]);return Q.useMemo(()=>({...e,getNodes:i,getNode:o,getEdges:a,getEdge:u,setNodes:l,setEdges:c,addNodes:d,addEdges:h,toObject:p,deleteElements:m,getIntersectingNodes:_,isNodeIntersecting:C}),[e,i,o,a,u,l,c,d,h,p,m,_,C])}const RA={actInsideInputWithModifier:!1};var TA=({deleteKeyCode:e,multiSelectionKeyCode:r})=>{const i=rt(),{deleteElements:o}=Vs(),a=Lo(e,RA),u=Lo(r);Q.useEffect(()=>{if(a){const{edges:l,getNodes:c}=i.getState(),d=c().filter(p=>p.selected),h=l.filter(p=>p.selected);o({nodes:d,edges:h}),i.setState({nodesSelectionActive:!1})}},[a]),Q.useEffect(()=>{i.setState({multiSelectionActive:u})},[u])};function IA(e){const r=rt();Q.useEffect(()=>{let i;const o=()=>{var u,l;if(!e.current)return;const a=sm(e.current);(a.height===0||a.width===0)&&((l=(u=r.getState()).onError)==null||l.call(u,"004",Dn.error004())),r.setState({width:a.width||500,height:a.height||500})};return o(),window.addEventListener("resize",o),e.current&&(i=new ResizeObserver(()=>o()),i.observe(e.current)),()=>{window.removeEventListener("resize",o),i&&e.current&&i.unobserve(e.current)}},[])}const vm={position:"absolute",width:"100%",height:"100%",top:0,left:0},AA=(e,r)=>e.x!==r.x||e.y!==r.y||e.zoom!==r.k,xs=e=>({x:e.x,y:e.y,zoom:e.k}),mi=(e,r)=>e.target.closest(`.${r}`),Y0=(e,r)=>r===2&&Array.isArray(e)&&e.includes(2),X0=e=>{const r=e.ctrlKey&&Ms()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*r},qA=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),PA=({onMove:e,onMoveStart:r,onMoveEnd:i,onPaneContextMenu:o,zoomOnScroll:a=!0,zoomOnPinch:u=!0,panOnScroll:l=!1,panOnScrollSpeed:c=.5,panOnScrollMode:d=qr.Free,zoomOnDoubleClick:h=!0,elementsSelectable:p,panOnDrag:m=!0,defaultViewport:y,translateExtent:_,minZoom:C,maxZoom:w,zoomActivationKeyCode:x,preventScrolling:E=!0,children:k,noWheelClassName:N,noPanClassName:b})=>{const I=Q.useRef(),A=rt(),P=Q.useRef(!1),H=Q.useRef(!1),z=Q.useRef(null),U=Q.useRef({x:0,y:0,zoom:0}),{d3Zoom:V,d3Selection:ee,d3ZoomHandler:J,userSelectionActive:R}=Pe(qA,nt),G=Lo(x),$=Q.useRef(0),re=Q.useRef(!1),K=Q.useRef();return IA(z),Q.useEffect(()=>{if(z.current){const L=z.current.getBoundingClientRect(),W=ck().scaleExtent([C,w]).translateExtent(_),T=Yt(z.current).call(W),M=zn.translate(y.x,y.y).scale(ki(y.zoom,C,w)),ne=[[0,0],[L.width,L.height]],O=W.constrain()(M,ne,_);W.transform(T,O),W.wheelDelta(X0),A.setState({d3Zoom:W,d3Selection:T,d3ZoomHandler:T.on("wheel.zoom"),transform:[O.x,O.y,O.k],domNode:z.current.closest(".react-flow")})}},[]),Q.useEffect(()=>{ee&&V&&(l&&!G&&!R?ee.on("wheel.zoom",L=>{if(mi(L,N))return!1;L.preventDefault(),L.stopImmediatePropagation();const W=ee.property("__zoom").k||1;if(L.ctrlKey&&u){const ue=sn(L),fe=X0(L),he=W*Math.pow(2,fe);V.scaleTo(ee,he,ue,L);return}const T=L.deltaMode===1?20:1;let M=d===qr.Vertical?0:L.deltaX*T,ne=d===qr.Horizontal?0:L.deltaY*T;!Ms()&&L.shiftKey&&d!==qr.Vertical&&(M=L.deltaY*T,ne=0),V.translateBy(ee,-(M/W)*c,-(ne/W)*c,{internal:!0});const O=xs(ee.property("__zoom")),{onViewportChangeStart:F,onViewportChange:Y,onViewportChangeEnd:ie}=A.getState();clearTimeout(K.current),re.current||(re.current=!0,r==null||r(L,O),F==null||F(O)),re.current&&(e==null||e(L,O),Y==null||Y(O),K.current=setTimeout(()=>{i==null||i(L,O),ie==null||ie(O),re.current=!1},150))},{passive:!1}):typeof J<"u"&&ee.on("wheel.zoom",function(L,W){if(!E&&L.type==="wheel"&&!L.ctrlKey||mi(L,N))return null;L.preventDefault(),J.call(this,L,W)},{passive:!1}))},[R,l,d,ee,V,J,G,u,E,N,r,e,i]),Q.useEffect(()=>{V&&V.on("start",L=>{var M,ne;if(!L.sourceEvent||L.sourceEvent.internal)return null;$.current=(M=L.sourceEvent)==null?void 0:M.button;const{onViewportChangeStart:W}=A.getState(),T=xs(L.transform);P.current=!0,U.current=T,((ne=L.sourceEvent)==null?void 0:ne.type)==="mousedown"&&A.setState({paneDragging:!0}),W==null||W(T),r==null||r(L.sourceEvent,T)})},[V,r]),Q.useEffect(()=>{V&&(R&&!P.current?V.on("zoom",null):R||V.on("zoom",L=>{var T;const{onViewportChange:W}=A.getState();if(A.setState({transform:[L.transform.x,L.transform.y,L.transform.k]}),H.current=!!(o&&Y0(m,$.current??0)),(e||W)&&!((T=L.sourceEvent)!=null&&T.internal)){const M=xs(L.transform);W==null||W(M),e==null||e(L.sourceEvent,M)}}))},[R,V,e,m,o]),Q.useEffect(()=>{V&&V.on("end",L=>{if(!L.sourceEvent||L.sourceEvent.internal)return null;const{onViewportChangeEnd:W}=A.getState();if(P.current=!1,A.setState({paneDragging:!1}),o&&Y0(m,$.current??0)&&!H.current&&o(L.sourceEvent),H.current=!1,(i||W)&&AA(U.current,L.transform)){const T=xs(L.transform);U.current=T,clearTimeout(I.current),I.current=setTimeout(()=>{W==null||W(T),i==null||i(L.sourceEvent,T)},l?150:0)}})},[V,l,m,i,o]),Q.useEffect(()=>{V&&V.filter(L=>{const W=G||a,T=u&&L.ctrlKey;if((m===!0||Array.isArray(m)&&m.includes(1))&&L.button===1&&L.type==="mousedown"&&(mi(L,"react-flow__node")||mi(L,"react-flow__edge")))return!0;if(!m&&!W&&!l&&!h&&!u||R||!h&&L.type==="dblclick"||mi(L,N)&&L.type==="wheel"||mi(L,b)&&(L.type!=="wheel"||l&&L.type==="wheel"&&!G)||!u&&L.ctrlKey&&L.type==="wheel"||!W&&!l&&!T&&L.type==="wheel"||!m&&(L.type==="mousedown"||L.type==="touchstart")||Array.isArray(m)&&!m.includes(L.button)&&L.type==="mousedown")return!1;const M=Array.isArray(m)&&m.includes(L.button)||!L.button||L.button<=1;return(!L.ctrlKey||L.type==="wheel")&&M})},[R,V,a,u,l,h,m,p,G]),oe.createElement("div",{className:"react-flow__renderer",ref:z,style:vm},k)},MA=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function OA(){const{userSelectionActive:e,userSelectionRect:r}=Pe(MA,nt);return e&&r?oe.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:r.width,height:r.height,transform:`translate(${r.x}px, ${r.y}px)`}}):null}function Q0(e,r){const i=r.parentNode||r.parentId,o=e.find(a=>a.id===i);if(o){const a=r.position.x+r.width-o.width,u=r.position.y+r.height-o.height;if(a>0||u>0||r.position.x<0||r.position.y<0){if(o.style={...o.style},o.style.width=o.style.width??o.width,o.style.height=o.style.height??o.height,a>0&&(o.style.width+=a),u>0&&(o.style.height+=u),r.position.x<0){const l=Math.abs(r.position.x);o.position.x=o.position.x-l,o.style.width+=l,r.position.x=0}if(r.position.y<0){const l=Math.abs(r.position.y);o.position.y=o.position.y-l,o.style.height+=l,r.position.y=0}o.width=o.style.width,o.height=o.style.height}}}function LA(e,r){if(e.some(o=>o.type==="reset"))return e.filter(o=>o.type==="reset").map(o=>o.item);const i=e.filter(o=>o.type==="add").map(o=>o.item);return r.reduce((o,a)=>{const u=e.filter(c=>c.id===a.id);if(u.length===0)return o.push(a),o;const l={...a};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&&Q0(o,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&&Q0(o,l);break}case"remove":return o}return o.push(l),o},i)}function zA(e,r){return LA(e,r)}const lr=(e,r)=>({id:e,type:"select",selected:r});function yi(e,r){return e.reduce((i,o)=>{const a=r.includes(o.id);return!o.selected&&a?(o.selected=!0,i.push(lr(o.id,!0))):o.selected&&!a&&(o.selected=!1,i.push(lr(o.id,!1))),i},[])}const lc=(e,r)=>i=>{i.target===r.current&&(e==null||e(i))},jA=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),$k=Q.memo(({isSelecting:e,selectionMode:r=Oo.Full,panOnDrag:i,onSelectionStart:o,onSelectionEnd:a,onPaneClick:u,onPaneContextMenu:l,onPaneScroll:c,onPaneMouseEnter:d,onPaneMouseMove:h,onPaneMouseLeave:p,children:m})=>{const y=Q.useRef(null),_=rt(),C=Q.useRef(0),w=Q.useRef(0),x=Q.useRef(),{userSelectionActive:E,elementsSelectable:k,dragging:N}=Pe(jA,nt),b=()=>{_.setState({userSelectionActive:!1,userSelectionRect:null}),C.current=0,w.current=0},I=J=>{u==null||u(J),_.getState().resetSelectedElements(),_.setState({nodesSelectionActive:!1})},A=J=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){J.preventDefault();return}l==null||l(J)},P=c?J=>c(J):void 0,H=J=>{const{resetSelectedElements:R,domNode:G}=_.getState();if(x.current=G==null?void 0:G.getBoundingClientRect(),!k||!e||J.button!==0||J.target!==y.current||!x.current)return;const{x:$,y:re}=fr(J,x.current);R(),_.setState({userSelectionRect:{width:0,height:0,startX:$,startY:re,x:$,y:re}}),o==null||o(J)},z=J=>{const{userSelectionRect:R,nodeInternals:G,edges:$,transform:re,onNodesChange:K,onEdgesChange:L,nodeOrigin:W,getNodes:T}=_.getState();if(!e||!x.current||!R)return;_.setState({userSelectionActive:!0,nodesSelectionActive:!1});const M=fr(J,x.current),ne=R.startX??0,O=R.startY??0,F={...R,x:M.x<ne?M.x:ne,y:M.y<O?M.y:O,width:Math.abs(M.x-ne),height:Math.abs(M.y-O)},Y=T(),ie=Ek(G,F,re,r===Oo.Partial,!0,W),ue=kk(ie,$).map(he=>he.id),fe=ie.map(he=>he.id);if(C.current!==fe.length){C.current=fe.length;const he=yi(Y,fe);he.length&&(K==null||K(he))}if(w.current!==ue.length){w.current=ue.length;const he=yi($,ue);he.length&&(L==null||L(he))}_.setState({userSelectionRect:F})},U=J=>{if(J.button!==0)return;const{userSelectionRect:R}=_.getState();!E&&R&&J.target===y.current&&(I==null||I(J)),_.setState({nodesSelectionActive:C.current>0}),b(),a==null||a(J)},V=J=>{E&&(_.setState({nodesSelectionActive:C.current>0}),a==null||a(J)),b()},ee=k&&(e||E);return oe.createElement("div",{className:pt(["react-flow__pane",{dragging:N,selection:e}]),onClick:ee?void 0:lc(I,y),onContextMenu:lc(A,y),onWheel:lc(P,y),onMouseEnter:ee?void 0:d,onMouseDown:ee?H:void 0,onMouseMove:ee?z:h,onMouseUp:ee?U:void 0,onMouseLeave:ee?V:p,ref:y,style:vm},m,oe.createElement(OA,null))});$k.displayName="Pane";function Bk(e,r){const i=e.parentNode||e.parentId;if(!i)return!1;const o=r.get(i);return o?o.selected?!0:Bk(o,r):!1}function Z0(e,r,i){let o=e;do{if(o!=null&&o.matches(r))return!0;if(o===i.current)return!1;o=o.parentElement}while(o);return!1}function DA(e,r,i,o){return Array.from(e.values()).filter(a=>(a.selected||a.id===o)&&(!a.parentNode||a.parentId||!Bk(a,e))&&(a.draggable||r&&typeof a.draggable>"u")).map(a=>{var u,l;return{id:a.id,position:a.position||{x:0,y:0},positionAbsolute:a.positionAbsolute||{x:0,y:0},distance:{x:i.x-(((u=a.positionAbsolute)==null?void 0:u.x)??0),y:i.y-(((l=a.positionAbsolute)==null?void 0:l.y)??0)},delta:{x:0,y:0},extent:a.extent,parentNode:a.parentNode||a.parentId,parentId:a.parentNode||a.parentId,width:a.width,height:a.height,expandParent:a.expandParent}})}function FA(e,r){return!r||r==="parent"?r:[r[0],[r[1][0]-(e.width||0),r[1][1]-(e.height||0)]]}function Hk(e,r,i,o,a=[0,0],u){const l=FA(e,e.extent||o);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:y,y:_}=Mr(m,a).positionAbsolute;c=m&&Xt(y)&&Xt(_)&&Xt(m.width)&&Xt(m.height)?[[y+e.width*a[0],_+e.height*a[1]],[y+m.width-e.width+e.width*a[0],_+m.height-e.height+e.height*a[1]]]:c}else u==null||u("005",Dn.error005()),c=l;else if(e.extent&&d&&e.extent!=="parent"){const m=i.get(d),{x:y,y:_}=Mr(m,a).positionAbsolute;c=[[e.extent[0][0]+y,e.extent[0][1]+_],[e.extent[1][0]+y,e.extent[1][1]+_]]}let h={x:0,y:0};if(d){const m=i.get(d);h=Mr(m,a).positionAbsolute}const p=c&&c!=="parent"?um(r,c):r;return{position:{x:p.x-h.x,y:p.y-h.y},positionAbsolute:p}}function cc({nodeId:e,dragItems:r,nodeInternals:i}){const o=r.map(a=>({...i.get(a.id),position:a.position,positionAbsolute:a.positionAbsolute}));return[e?o.find(a=>a.id===e):o[0],o]}const J0=(e,r,i,o)=>{const a=r.querySelectorAll(e);if(!a||!a.length)return null;const u=Array.from(a),l=r.getBoundingClientRect(),c={x:l.width*o[0],y:l.height*o[1]};return u.map(d=>{const h=d.getBoundingClientRect();return{id:d.getAttribute("data-handleid"),position:d.getAttribute("data-handlepos"),x:(h.left-l.left-c.x)/i,y:(h.top-l.top-c.y)/i,...sm(d)}})};function wo(e,r,i){return i===void 0?i:o=>{const a=r().nodeInternals.get(e);a&&i(o,{...a})}}function Wv({id:e,store:r,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:a,unselectNodesAndEdges:u,multiSelectionActive:l,nodeInternals:c,onError:d}=r.getState(),h=c.get(e);if(!h){d==null||d("012",Dn.error012(e));return}r.setState({nodesSelectionActive:!1}),h.selected?(i||h.selected&&l)&&(u({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var p;return(p=o==null?void 0:o.current)==null?void 0:p.blur()})):a([e])}function $A(){const e=rt();return Q.useCallback(({sourceEvent:i})=>{const{transform:o,snapGrid:a,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-o[0])/o[2],y:(c-o[1])/o[2]};return{xSnapped:u?a[0]*Math.round(d.x/a[0]):d.x,ySnapped:u?a[1]*Math.round(d.y/a[1]):d.y,...d}},[])}function fc(e){return(r,i,o)=>e==null?void 0:e(r,o)}function Uk({nodeRef:e,disabled:r=!1,noDragClassName:i,handleSelector:o,nodeId:a,isSelectable:u,selectNodesOnDrag:l}){const c=rt(),[d,h]=Q.useState(!1),p=Q.useRef([]),m=Q.useRef({x:null,y:null}),y=Q.useRef(0),_=Q.useRef(null),C=Q.useRef({x:0,y:0}),w=Q.useRef(null),x=Q.useRef(!1),E=Q.useRef(!1),k=Q.useRef(!1),N=$A();return Q.useEffect(()=>{if(e!=null&&e.current){const b=Yt(e.current),I=({x:H,y:z})=>{const{nodeInternals:U,onNodeDrag:V,onSelectionDrag:ee,updateNodePositions:J,nodeExtent:R,snapGrid:G,snapToGrid:$,nodeOrigin:re,onError:K}=c.getState();m.current={x:H,y:z};let L=!1,W={x:0,y:0,x2:0,y2:0};if(p.current.length>1&&R){const M=Us(p.current,re);W=Mo(M)}if(p.current=p.current.map(M=>{const ne={x:H-M.distance.x,y:z-M.distance.y};$&&(ne.x=G[0]*Math.round(ne.x/G[0]),ne.y=G[1]*Math.round(ne.y/G[1]));const O=[[R[0][0],R[0][1]],[R[1][0],R[1][1]]];p.current.length>1&&R&&!M.extent&&(O[0][0]=M.positionAbsolute.x-W.x+R[0][0],O[1][0]=M.positionAbsolute.x+(M.width??0)-W.x2+R[1][0],O[0][1]=M.positionAbsolute.y-W.y+R[0][1],O[1][1]=M.positionAbsolute.y+(M.height??0)-W.y2+R[1][1]);const F=Hk(M,ne,U,O,re,K);return L=L||M.position.x!==F.position.x||M.position.y!==F.position.y,M.position=F.position,M.positionAbsolute=F.positionAbsolute,M}),!L)return;J(p.current,!0,!0),h(!0);const T=a?V:fc(ee);if(T&&w.current){const[M,ne]=cc({nodeId:a,dragItems:p.current,nodeInternals:U});T(w.current,M,ne)}},A=()=>{if(!_.current)return;const[H,z]=dk(C.current,_.current);if(H!==0||z!==0){const{transform:U,panBy:V}=c.getState();m.current.x=(m.current.x??0)-H/U[2],m.current.y=(m.current.y??0)-z/U[2],V({x:H,y:z})&&I(m.current)}y.current=requestAnimationFrame(A)},P=H=>{var re;const{nodeInternals:z,multiSelectionActive:U,nodesDraggable:V,unselectNodesAndEdges:ee,onNodeDragStart:J,onSelectionDragStart:R}=c.getState();E.current=!0;const G=a?J:fc(R);(!l||!u)&&!U&&a&&((re=z.get(a))!=null&&re.selected||ee()),a&&u&&l&&Wv({id:a,store:c,nodeRef:e});const $=N(H);if(m.current=$,p.current=DA(z,V,$,a),G&&p.current){const[K,L]=cc({nodeId:a,dragItems:p.current,nodeInternals:z});G(H.sourceEvent,K,L)}};if(r)b.on(".drag",null);else{const H=QR().on("start",z=>{const{domNode:U,nodeDragThreshold:V}=c.getState();V===0&&P(z),k.current=!1;const ee=N(z);m.current=ee,_.current=(U==null?void 0:U.getBoundingClientRect())||null,C.current=fr(z.sourceEvent,_.current)}).on("drag",z=>{var J,R;const U=N(z),{autoPanOnNodeDrag:V,nodeDragThreshold:ee}=c.getState();if(z.sourceEvent.type==="touchmove"&&z.sourceEvent.touches.length>1&&(k.current=!0),!k.current){if(!x.current&&E.current&&V&&(x.current=!0,A()),!E.current){const G=U.xSnapped-(((J=m==null?void 0:m.current)==null?void 0:J.x)??0),$=U.ySnapped-(((R=m==null?void 0:m.current)==null?void 0:R.y)??0);Math.sqrt(G*G+$*$)>ee&&P(z)}(m.current.x!==U.xSnapped||m.current.y!==U.ySnapped)&&p.current&&E.current&&(w.current=z.sourceEvent,C.current=fr(z.sourceEvent,_.current),I(U))}}).on("end",z=>{if(!(!E.current||k.current)&&(h(!1),x.current=!1,E.current=!1,cancelAnimationFrame(y.current),p.current)){const{updateNodePositions:U,nodeInternals:V,onNodeDragStop:ee,onSelectionDragStop:J}=c.getState(),R=a?ee:fc(J);if(U(p.current,!1,!1),R){const[G,$]=cc({nodeId:a,dragItems:p.current,nodeInternals:V});R(z.sourceEvent,G,$)}}}).filter(z=>{const U=z.target;return!z.button&&(!i||!Z0(U,`.${i}`,e))&&(!o||Z0(U,o,e))});return b.call(H),()=>{b.on(".drag",null)}}}},[e,r,i,o,u,c,a,l,N]),d}function Vk(){const e=rt();return Q.useCallback(i=>{const{nodeInternals:o,nodeExtent:a,updateNodePositions:u,getNodes:l,snapToGrid:c,snapGrid:d,onError:h,nodesDraggable:p}=e.getState(),m=l().filter(k=>k.selected&&(k.draggable||p&&typeof k.draggable>"u")),y=c?d[0]:5,_=c?d[1]:5,C=i.isShiftPressed?4:1,w=i.x*y*C,x=i.y*_*C,E=m.map(k=>{if(k.positionAbsolute){const N={x:k.positionAbsolute.x+w,y:k.positionAbsolute.y+x};c&&(N.x=d[0]*Math.round(N.x/d[0]),N.y=d[1]*Math.round(N.y/d[1]));const{positionAbsolute:b,position:I}=Hk(k,N,o,a,void 0,h);k.position=I,k.positionAbsolute=b}return k});u(E,!0,!1)},[])}const xi={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var xo=e=>{const r=({id:i,type:o,data:a,xPos:u,yPos:l,xPosOrigin:c,yPosOrigin:d,selected:h,onClick:p,onMouseEnter:m,onMouseMove:y,onMouseLeave:_,onContextMenu:C,onDoubleClick:w,style:x,className:E,isDraggable:k,isSelectable:N,isConnectable:b,isFocusable:I,selectNodesOnDrag:A,sourcePosition:P,targetPosition:H,hidden:z,resizeObserver:U,dragHandle:V,zIndex:ee,isParent:J,noDragClassName:R,noPanClassName:G,initialized:$,disableKeyboardA11y:re,ariaLabel:K,rfId:L,hasHandleBounds:W})=>{const T=rt(),M=Q.useRef(null),ne=Q.useRef(null),O=Q.useRef(P),F=Q.useRef(H),Y=Q.useRef(o),ie=N||k||p||m||y||_,ue=Vk(),fe=wo(i,T.getState,m),he=wo(i,T.getState,y),Ne=wo(i,T.getState,_),Me=wo(i,T.getState,C),Te=wo(i,T.getState,w),Re=ve=>{const{nodeDragThreshold:me}=T.getState();if(N&&(!A||!k||me>0)&&Wv({id:i,store:T,nodeRef:M}),p){const Oe=T.getState().nodeInternals.get(i);Oe&&p(ve,{...Oe})}},we=ve=>{if(!Bv(ve)&&!re)if(mk.includes(ve.key)&&N){const me=ve.key==="Escape";Wv({id:i,store:T,unselect:me,nodeRef:M})}else k&&h&&Object.prototype.hasOwnProperty.call(xi,ve.key)&&(T.setState({ariaLiveMessage:`Moved selected node ${ve.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~u}, y: ${~~l}`}),ue({x:xi[ve.key].x,y:xi[ve.key].y,isShiftPressed:ve.shiftKey}))};Q.useEffect(()=>()=>{ne.current&&(U==null||U.unobserve(ne.current),ne.current=null)},[]),Q.useEffect(()=>{if(M.current&&!z){const ve=M.current;(!$||!W||ne.current!==ve)&&(ne.current&&(U==null||U.unobserve(ne.current)),U==null||U.observe(ve),ne.current=ve)}},[z,$,W]),Q.useEffect(()=>{const ve=Y.current!==o,me=O.current!==P,Oe=F.current!==H;M.current&&(ve||me||Oe)&&(ve&&(Y.current=o),me&&(O.current=P),Oe&&(F.current=H),T.getState().updateNodeDimensions([{id:i,nodeElement:M.current,forceUpdate:!0}]))},[i,o,P,H]);const De=Uk({nodeRef:M,disabled:z||!k,noDragClassName:R,handleSelector:V,nodeId:i,isSelectable:N,selectNodesOnDrag:A});return z?null:oe.createElement("div",{className:pt(["react-flow__node",`react-flow__node-${o}`,{[G]:k},E,{selected:h,selectable:N,parent:J,dragging:De}]),ref:M,style:{zIndex:ee,transform:`translate(${c}px,${d}px)`,pointerEvents:ie?"all":"none",visibility:$?"visible":"hidden",...x},"data-id":i,"data-testid":`rf__node-${i}`,onMouseEnter:fe,onMouseMove:he,onMouseLeave:Ne,onContextMenu:Me,onClick:Re,onDoubleClick:Te,onKeyDown:I?we:void 0,tabIndex:I?0:void 0,role:I?"button":void 0,"aria-describedby":re?void 0:`${Lk}-${L}`,"aria-label":K},oe.createElement(eA,{value:i},oe.createElement(e,{id:i,data:a,type:o,xPos:u,yPos:l,selected:h,isConnectable:b,sourcePosition:P,targetPosition:H,dragging:De,dragHandle:V,zIndex:ee})))};return r.displayName="NodeWrapper",Q.memo(r)};const BA=e=>{const r=e.getNodes().filter(i=>i.selected);return{...Us(r,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function HA({onSelectionContextMenu:e,noPanClassName:r,disableKeyboardA11y:i}){const o=rt(),{width:a,height:u,x:l,y:c,transformString:d,userSelectionActive:h}=Pe(BA,nt),p=Vk(),m=Q.useRef(null);if(Q.useEffect(()=>{var C;i||(C=m.current)==null||C.focus({preventScroll:!0})},[i]),Uk({nodeRef:m}),h||!a||!u)return null;const y=e?C=>{const w=o.getState().getNodes().filter(x=>x.selected);e(C,w)}:void 0,_=C=>{Object.prototype.hasOwnProperty.call(xi,C.key)&&p({x:xi[C.key].x,y:xi[C.key].y,isShiftPressed:C.shiftKey})};return oe.createElement("div",{className:pt(["react-flow__nodesselection","react-flow__container",r]),style:{transform:d}},oe.createElement("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:y,tabIndex:i?void 0:-1,onKeyDown:i?void 0:_,style:{width:a,height:u,top:c,left:l}}))}var UA=Q.memo(HA);const VA=e=>e.nodesSelectionActive,Gk=({children:e,onPaneClick:r,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:a,onPaneContextMenu:u,onPaneScroll:l,deleteKeyCode:c,onMove:d,onMoveStart:h,onMoveEnd:p,selectionKeyCode:m,selectionOnDrag:y,selectionMode:_,onSelectionStart:C,onSelectionEnd:w,multiSelectionKeyCode:x,panActivationKeyCode:E,zoomActivationKeyCode:k,elementsSelectable:N,zoomOnScroll:b,zoomOnPinch:I,panOnScroll:A,panOnScrollSpeed:P,panOnScrollMode:H,zoomOnDoubleClick:z,panOnDrag:U,defaultViewport:V,translateExtent:ee,minZoom:J,maxZoom:R,preventScrolling:G,onSelectionContextMenu:$,noWheelClassName:re,noPanClassName:K,disableKeyboardA11y:L})=>{const W=Pe(VA),T=Lo(m),M=Lo(E),ne=M||U,O=M||A,F=T||y&&ne!==!0;return TA({deleteKeyCode:c,multiSelectionKeyCode:x}),oe.createElement(PA,{onMove:d,onMoveStart:h,onMoveEnd:p,onPaneContextMenu:u,elementsSelectable:N,zoomOnScroll:b,zoomOnPinch:I,panOnScroll:O,panOnScrollSpeed:P,panOnScrollMode:H,zoomOnDoubleClick:z,panOnDrag:!T&&ne,defaultViewport:V,translateExtent:ee,minZoom:J,maxZoom:R,zoomActivationKeyCode:k,preventScrolling:G,noWheelClassName:re,noPanClassName:K},oe.createElement($k,{onSelectionStart:C,onSelectionEnd:w,onPaneClick:r,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:a,onPaneContextMenu:u,onPaneScroll:l,panOnDrag:ne,isSelecting:!!F,selectionMode:_},e,W&&oe.createElement(UA,{onSelectionContextMenu:$,noPanClassName:K,disableKeyboardA11y:L})))};Gk.displayName="FlowRenderer";var GA=Q.memo(Gk);function WA(e){return Pe(Q.useCallback(i=>e?Ek(i.nodeInternals,{x:0,y:0,width:i.width,height:i.height},i.transform,!0):i.getNodes(),[e]))}function KA(e){const r={input:xo(e.input||qk),default:xo(e.default||Gv),output:xo(e.output||Mk),group:xo(e.group||pm)},i={},o=Object.keys(e).filter(a=>!["input","default","output","group"].includes(a)).reduce((a,u)=>(a[u]=xo(e[u]||Gv),a),i);return{...r,...o}}const YA=({x:e,y:r,width:i,height:o,origin:a})=>!i||!o?{x:e,y:r}:a[0]<0||a[1]<0||a[0]>1||a[1]>1?{x:e,y:r}:{x:e-i*a[0],y:r-o*a[1]},XA=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),Wk=e=>{const{nodesDraggable:r,nodesConnectable:i,nodesFocusable:o,elementsSelectable:a,updateNodeDimensions:u,onError:l}=Pe(XA,nt),c=WA(e.onlyRenderVisibleElements),d=Q.useRef(),h=Q.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const p=new ResizeObserver(m=>{const y=m.map(_=>({id:_.target.getAttribute("data-id"),nodeElement:_.target,forceUpdate:!0}));u(y)});return d.current=p,p},[]);return Q.useEffect(()=>()=>{var p;(p=d==null?void 0:d.current)==null||p.disconnect()},[]),oe.createElement("div",{className:"react-flow__nodes",style:vm},c.map(p=>{var I,A,P;let m=p.type||"default";e.nodeTypes[m]||(l==null||l("003",Dn.error003(m)),m="default");const y=e.nodeTypes[m]||e.nodeTypes.default,_=!!(p.draggable||r&&typeof p.draggable>"u"),C=!!(p.selectable||a&&typeof p.selectable>"u"),w=!!(p.connectable||i&&typeof p.connectable>"u"),x=!!(p.focusable||o&&typeof p.focusable>"u"),E=e.nodeExtent?um(p.positionAbsolute,e.nodeExtent):p.positionAbsolute,k=(E==null?void 0:E.x)??0,N=(E==null?void 0:E.y)??0,b=YA({x:k,y:N,width:p.width??0,height:p.height??0,origin:e.nodeOrigin});return oe.createElement(y,{key:p.id,id:p.id,className:p.className,style:p.style,type:m,data:p.data,sourcePosition:p.sourcePosition||xe.Bottom,targetPosition:p.targetPosition||xe.Top,hidden:p.hidden,xPos:k,yPos:N,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!p.selected,isDraggable:_,isSelectable:C,isConnectable:w,isFocusable:x,resizeObserver:h,dragHandle:p.dragHandle,zIndex:((I=p[Ke])==null?void 0:I.z)??0,isParent:!!((A=p[Ke])!=null&&A.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!p.width&&!!p.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:p.ariaLabel,hasHandleBounds:!!((P=p[Ke])!=null&&P.handleBounds)})}))};Wk.displayName="NodeRenderer";var QA=Q.memo(Wk);const ZA=(e,r,i)=>i===xe.Left?e-r:i===xe.Right?e+r:e,JA=(e,r,i)=>i===xe.Top?e-r:i===xe.Bottom?e+r:e,e1="react-flow__edgeupdater",t1=({position:e,centerX:r,centerY:i,radius:o=10,onMouseDown:a,onMouseEnter:u,onMouseOut:l,type:c})=>oe.createElement("circle",{onMouseDown:a,onMouseEnter:u,onMouseOut:l,className:pt([e1,`${e1}-${c}`]),cx:ZA(r,o,e),cy:JA(i,o,e),r:o,stroke:"transparent",fill:"transparent"}),eq=()=>!0;var gi=e=>{const r=({id:i,className:o,type:a,data:u,onClick:l,onEdgeDoubleClick:c,selected:d,animated:h,label:p,labelStyle:m,labelShowBg:y,labelBgStyle:_,labelBgPadding:C,labelBgBorderRadius:w,style:x,source:E,target:k,sourceX:N,sourceY:b,targetX:I,targetY:A,sourcePosition:P,targetPosition:H,elementsSelectable:z,hidden:U,sourceHandleId:V,targetHandleId:ee,onContextMenu:J,onMouseEnter:R,onMouseMove:G,onMouseLeave:$,reconnectRadius:re,onReconnect:K,onReconnectStart:L,onReconnectEnd:W,markerEnd:T,markerStart:M,rfId:ne,ariaLabel:O,isFocusable:F,isReconnectable:Y,pathOptions:ie,interactionWidth:ue,disableKeyboardA11y:fe})=>{const he=Q.useRef(null),[Ne,Me]=Q.useState(!1),[Te,Re]=Q.useState(!1),we=rt(),De=Q.useMemo(()=>`url('#${Uv(M,ne)}')`,[M,ne]),ve=Q.useMemo(()=>`url('#${Uv(T,ne)}')`,[T,ne]);if(U)return null;const me=$e=>{var bt;const{edges:vt,addSelectedEdges:Je,unselectNodesAndEdges:ot,multiSelectionActive:Sn}=we.getState(),Mt=vt.find(En=>En.id===i);Mt&&(z&&(we.setState({nodesSelectionActive:!1}),Mt.selected&&Sn?(ot({nodes:[],edges:[Mt]}),(bt=he.current)==null||bt.blur()):Je([i])),l&&l($e,Mt))},Oe=_o(i,we.getState,c),lt=_o(i,we.getState,J),ct=_o(i,we.getState,R),Ze=_o(i,we.getState,G),Fe=_o(i,we.getState,$),ft=($e,vt)=>{if($e.button!==0)return;const{edges:Je,isValidConnection:ot}=we.getState(),Sn=vt?k:E,Mt=(vt?ee:V)||null,bt=vt?"target":"source",En=ot||eq,hr=vt,kn=Je.find(pn=>pn.id===i);Re(!0),L==null||L($e,kn,bt);const hn=pn=>{Re(!1),W==null||W(pn,kn,bt)};Rk({event:$e,handleId:Mt,nodeId:Sn,onConnect:pn=>K==null?void 0:K(kn,pn),isTarget:hr,getState:we.getState,setState:we.setState,isValidConnection:En,edgeUpdaterType:bt,onReconnectEnd:hn})},St=$e=>ft($e,!0),Ft=$e=>ft($e,!1),Et=()=>Me(!0),it=()=>Me(!1),$t=!z&&!l,kt=$e=>{var vt;if(!fe&&mk.includes($e.key)&&z){const{unselectNodesAndEdges:Je,addSelectedEdges:ot,edges:Sn}=we.getState();$e.key==="Escape"?((vt=he.current)==null||vt.blur(),Je({edges:[Sn.find(bt=>bt.id===i)]})):ot([i])}};return oe.createElement("g",{className:pt(["react-flow__edge",`react-flow__edge-${a}`,o,{selected:d,animated:h,inactive:$t,updating:Ne}]),onClick:me,onDoubleClick:Oe,onContextMenu:lt,onMouseEnter:ct,onMouseMove:Ze,onMouseLeave:Fe,onKeyDown:F?kt:void 0,tabIndex:F?0:void 0,role:F?"button":"img","data-testid":`rf__edge-${i}`,"aria-label":O===null?void 0:O||`Edge from ${E} to ${k}`,"aria-describedby":F?`${zk}-${ne}`:void 0,ref:he},!Te&&oe.createElement(e,{id:i,source:E,target:k,selected:d,animated:h,label:p,labelStyle:m,labelShowBg:y,labelBgStyle:_,labelBgPadding:C,labelBgBorderRadius:w,data:u,style:x,sourceX:N,sourceY:b,targetX:I,targetY:A,sourcePosition:P,targetPosition:H,sourceHandleId:V,targetHandleId:ee,markerStart:De,markerEnd:ve,pathOptions:ie,interactionWidth:ue}),Y&&oe.createElement(oe.Fragment,null,(Y==="source"||Y===!0)&&oe.createElement(t1,{position:P,centerX:N,centerY:b,radius:re,onMouseDown:St,onMouseEnter:Et,onMouseOut:it,type:"source"}),(Y==="target"||Y===!0)&&oe.createElement(t1,{position:H,centerX:I,centerY:A,radius:re,onMouseDown:Ft,onMouseEnter:Et,onMouseOut:it,type:"target"})))};return r.displayName="EdgeWrapper",Q.memo(r)};function tq(e){const r={default:gi(e.default||Ls),straight:gi(e.bezier||fm),step:gi(e.step||cm),smoothstep:gi(e.step||Hs),simplebezier:gi(e.simplebezier||lm)},i={},o=Object.keys(e).filter(a=>!["default","bezier"].includes(a)).reduce((a,u)=>(a[u]=gi(e[u]||Ls),a),i);return{...r,...o}}function n1(e,r,i=null){const o=((i==null?void 0:i.x)||0)+r.x,a=((i==null?void 0:i.y)||0)+r.y,u=(i==null?void 0:i.width)||r.width,l=(i==null?void 0:i.height)||r.height;switch(e){case xe.Top:return{x:o+u/2,y:a};case xe.Right:return{x:o+u,y:a+l/2};case xe.Bottom:return{x:o+u/2,y:a+l};case xe.Left:return{x:o,y:a+l/2}}}function r1(e,r){return e?e.length===1||!r?e[0]:r&&e.find(i=>i.id===r)||null:null}const nq=(e,r,i,o,a,u)=>{const l=n1(i,e,r),c=n1(u,o,a);return{sourceX:l.x,sourceY:l.y,targetX:c.x,targetY:c.y}};function rq({sourcePos:e,targetPos:r,sourceWidth:i,sourceHeight:o,targetWidth:a,targetHeight:u,width:l,height:c,transform:d}){const h={x:Math.min(e.x,r.x),y:Math.min(e.y,r.y),x2:Math.max(e.x+i,r.x+a),y2:Math.max(e.y+o,r.y+u)};h.x===h.x2&&(h.x2+=1),h.y===h.y2&&(h.y2+=1);const p=Mo({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(p.x2,h.x2)-Math.max(p.x,h.x)),y=Math.max(0,Math.min(p.y2,h.y2)-Math.max(p.y,h.y));return Math.ceil(m*y)>0}function i1(e){var o,a,u,l,c;const r=((o=e==null?void 0:e[Ke])==null?void 0:o.handleBounds)||null,i=r&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.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},r,!!i]}const iq=[{level:0,isMaxLevel:!0,edges:[]}];function oq(e,r,i=!1){let o=-1;const a=e.reduce((l,c)=>{var p,m;const d=Xt(c.zIndex);let h=d?c.zIndex:0;if(i){const y=r.get(c.target),_=r.get(c.source),C=c.selected||(y==null?void 0:y.selected)||(_==null?void 0:_.selected),w=Math.max(((p=_==null?void 0:_[Ke])==null?void 0:p.z)||0,((m=y==null?void 0:y[Ke])==null?void 0:m.z)||0,1e3);h=(d?c.zIndex:0)+(C?w:0)}return l[h]?l[h].push(c):l[h]=[c],o=h>o?h:o,l},{}),u=Object.entries(a).map(([l,c])=>{const d=+l;return{edges:c,level:d,isMaxLevel:d===o}});return u.length===0?iq:u}function aq(e,r,i){const o=Pe(Q.useCallback(a=>e?a.edges.filter(u=>{const l=r.get(u.source),c=r.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)&&rq({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:a.width,height:a.height,transform:a.transform})}):a.edges,[e,r]));return oq(o,r,i)}const sq=({color:e="none",strokeWidth:r=1})=>oe.createElement("polyline",{style:{stroke:e,strokeWidth:r},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),uq=({color:e="none",strokeWidth:r=1})=>oe.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:r},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),o1={[Os.Arrow]:sq,[Os.ArrowClosed]:uq};function lq(e){const r=rt();return Q.useMemo(()=>{var a,u;return Object.prototype.hasOwnProperty.call(o1,e)?o1[e]:((u=(a=r.getState()).onError)==null||u.call(a,"009",Dn.error009(e)),null)},[e])}const cq=({id:e,type:r,color:i,width:o=12.5,height:a=12.5,markerUnits:u="strokeWidth",strokeWidth:l,orient:c="auto-start-reverse"})=>{const d=lq(r);return d?oe.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:u,orient:c,refX:"0",refY:"0"},oe.createElement(d,{color:i,strokeWidth:l})):null},fq=({defaultColor:e,rfId:r})=>i=>{const o=[];return i.edges.reduce((a,u)=>([u.markerStart,u.markerEnd].forEach(l=>{if(l&&typeof l=="object"){const c=Uv(l,r);o.includes(c)||(a.push({id:c,color:l.color||e,...l}),o.push(c))}}),a),[]).sort((a,u)=>a.id.localeCompare(u.id))},Kk=({defaultColor:e,rfId:r})=>{const i=Pe(Q.useCallback(fq({defaultColor:e,rfId:r}),[e,r]),(o,a)=>!(o.length!==a.length||o.some((u,l)=>u.id!==a[l].id)));return oe.createElement("defs",null,i.map(o=>oe.createElement(cq,{id:o.id,key:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient})))};Kk.displayName="MarkerDefinitions";var dq=Q.memo(Kk);const hq=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}),Yk=({defaultMarkerColor:e,onlyRenderVisibleElements:r,elevateEdgesOnSelect:i,rfId:o,edgeTypes:a,noPanClassName:u,onEdgeContextMenu:l,onEdgeMouseEnter:c,onEdgeMouseMove:d,onEdgeMouseLeave:h,onEdgeClick:p,onEdgeDoubleClick:m,onReconnect:y,onReconnectStart:_,onReconnectEnd:C,reconnectRadius:w,children:x,disableKeyboardA11y:E})=>{const{edgesFocusable:k,edgesUpdatable:N,elementsSelectable:b,width:I,height:A,connectionMode:P,nodeInternals:H,onError:z}=Pe(hq,nt),U=aq(r,H,i);return I?oe.createElement(oe.Fragment,null,U.map(({level:V,edges:ee,isMaxLevel:J})=>oe.createElement("svg",{key:V,style:{zIndex:V},width:I,height:A,className:"react-flow__edges react-flow__container"},J&&oe.createElement(dq,{defaultColor:e,rfId:o}),oe.createElement("g",null,ee.map(R=>{const[G,$,re]=i1(H.get(R.source)),[K,L,W]=i1(H.get(R.target));if(!re||!W)return null;let T=R.type||"default";a[T]||(z==null||z("011",Dn.error011(T)),T="default");const M=a[T]||a.default,ne=P===zr.Strict?L.target:(L.target??[]).concat(L.source??[]),O=r1($.source,R.sourceHandle),F=r1(ne,R.targetHandle),Y=(O==null?void 0:O.position)||xe.Bottom,ie=(F==null?void 0:F.position)||xe.Top,ue=!!(R.focusable||k&&typeof R.focusable>"u"),fe=R.reconnectable||R.updatable,he=typeof y<"u"&&(fe||N&&typeof fe>"u");if(!O||!F)return z==null||z("008",Dn.error008(O,R)),null;const{sourceX:Ne,sourceY:Me,targetX:Te,targetY:Re}=nq(G,O,Y,K,F,ie);return oe.createElement(M,{key:R.id,id:R.id,className:pt([R.className,u]),type:T,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:Ne,sourceY:Me,targetX:Te,targetY:Re,sourcePosition:Y,targetPosition:ie,elementsSelectable:b,onContextMenu:l,onMouseEnter:c,onMouseMove:d,onMouseLeave:h,onClick:p,onEdgeDoubleClick:m,onReconnect:y,onReconnectStart:_,onReconnectEnd:C,reconnectRadius:w,rfId:o,ariaLabel:R.ariaLabel,isFocusable:ue,isReconnectable:he,pathOptions:"pathOptions"in R?R.pathOptions:void 0,interactionWidth:R.interactionWidth,disableKeyboardA11y:E})})))),x):null};Yk.displayName="EdgeRenderer";var pq=Q.memo(Yk);const vq=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function mq({children:e}){const r=Pe(vq);return oe.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:r}},e)}function gq(e){const r=Vs(),i=Q.useRef(!1);Q.useEffect(()=>{!i.current&&r.viewportInitialized&&e&&(setTimeout(()=>e(r),1),i.current=!0)},[e,r.viewportInitialized])}const yq={[xe.Left]:xe.Right,[xe.Right]:xe.Left,[xe.Top]:xe.Bottom,[xe.Bottom]:xe.Top},Xk=({nodeId:e,handleType:r,style:i,type:o=cr.Bezier,CustomComponent:a,connectionStatus:u})=>{var A,P,H;const{fromNode:l,handleId:c,toX:d,toY:h,connectionMode:p}=Pe(Q.useCallback(z=>({fromNode:z.nodeInternals.get(e),handleId:z.connectionHandleId,toX:(z.connectionPosition.x-z.transform[0])/z.transform[2],toY:(z.connectionPosition.y-z.transform[1])/z.transform[2],connectionMode:z.connectionMode}),[e]),nt),m=(A=l==null?void 0:l[Ke])==null?void 0:A.handleBounds;let y=m==null?void 0:m[r];if(p===zr.Loose&&(y=y||(m==null?void 0:m[r==="source"?"target":"source"])),!l||!y)return null;const _=c?y.find(z=>z.id===c):y[0],C=_?_.x+_.width/2:(l.width??0)/2,w=_?_.y+_.height/2:l.height??0,x=(((P=l.positionAbsolute)==null?void 0:P.x)??0)+C,E=(((H=l.positionAbsolute)==null?void 0:H.y)??0)+w,k=_==null?void 0:_.position,N=k?yq[k]:null;if(!k||!N)return null;if(a)return oe.createElement(a,{connectionLineType:o,connectionLineStyle:i,fromNode:l,fromHandle:_,fromX:x,fromY:E,toX:d,toY:h,fromPosition:k,toPosition:N,connectionStatus:u});let b="";const I={sourceX:x,sourceY:E,sourcePosition:k,targetX:d,targetY:h,targetPosition:N};return o===cr.Bezier?[b]=xk(I):o===cr.Step?[b]=Hv({...I,borderRadius:0}):o===cr.SmoothStep?[b]=Hv(I):o===cr.SimpleBezier?[b]=wk(I):b=`M${x},${E} ${d},${h}`,oe.createElement("path",{d:b,fill:"none",className:"react-flow__connection-path",style:i})};Xk.displayName="ConnectionLine";const _q=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function wq({containerStyle:e,style:r,type:i,component:o}){const{nodeId:a,handleType:u,nodesConnectable:l,width:c,height:d,connectionStatus:h}=Pe(_q,nt);return!(a&&u&&c&&l)?null:oe.createElement("svg",{style:e,width:c,height:d,className:"react-flow__edges react-flow__connectionline react-flow__container"},oe.createElement("g",{className:pt(["react-flow__connection",h])},oe.createElement(Xk,{nodeId:a,handleType:u,style:r,type:i,CustomComponent:o,connectionStatus:h})))}function a1(e,r){return Q.useRef(null),rt(),Q.useMemo(()=>r(e),[e])}const Qk=({nodeTypes:e,edgeTypes:r,onMove:i,onMoveStart:o,onMoveEnd:a,onInit:u,onNodeClick:l,onEdgeClick:c,onNodeDoubleClick:d,onEdgeDoubleClick:h,onNodeMouseEnter:p,onNodeMouseMove:m,onNodeMouseLeave:y,onNodeContextMenu:_,onSelectionContextMenu:C,onSelectionStart:w,onSelectionEnd:x,connectionLineType:E,connectionLineStyle:k,connectionLineComponent:N,connectionLineContainerStyle:b,selectionKeyCode:I,selectionOnDrag:A,selectionMode:P,multiSelectionKeyCode:H,panActivationKeyCode:z,zoomActivationKeyCode:U,deleteKeyCode:V,onlyRenderVisibleElements:ee,elementsSelectable:J,selectNodesOnDrag:R,defaultViewport:G,translateExtent:$,minZoom:re,maxZoom:K,preventScrolling:L,defaultMarkerColor:W,zoomOnScroll:T,zoomOnPinch:M,panOnScroll:ne,panOnScrollSpeed:O,panOnScrollMode:F,zoomOnDoubleClick:Y,panOnDrag:ie,onPaneClick:ue,onPaneMouseEnter:fe,onPaneMouseMove:he,onPaneMouseLeave:Ne,onPaneScroll:Me,onPaneContextMenu:Te,onEdgeContextMenu:Re,onEdgeMouseEnter:we,onEdgeMouseMove:De,onEdgeMouseLeave:ve,onReconnect:me,onReconnectStart:Oe,onReconnectEnd:lt,reconnectRadius:ct,noDragClassName:Ze,noWheelClassName:Fe,noPanClassName:ft,elevateEdgesOnSelect:St,disableKeyboardA11y:Ft,nodeOrigin:Et,nodeExtent:it,rfId:$t})=>{const kt=a1(e,KA),$e=a1(r,tq);return gq(u),oe.createElement(GA,{onPaneClick:ue,onPaneMouseEnter:fe,onPaneMouseMove:he,onPaneMouseLeave:Ne,onPaneContextMenu:Te,onPaneScroll:Me,deleteKeyCode:V,selectionKeyCode:I,selectionOnDrag:A,selectionMode:P,onSelectionStart:w,onSelectionEnd:x,multiSelectionKeyCode:H,panActivationKeyCode:z,zoomActivationKeyCode:U,elementsSelectable:J,onMove:i,onMoveStart:o,onMoveEnd:a,zoomOnScroll:T,zoomOnPinch:M,zoomOnDoubleClick:Y,panOnScroll:ne,panOnScrollSpeed:O,panOnScrollMode:F,panOnDrag:ie,defaultViewport:G,translateExtent:$,minZoom:re,maxZoom:K,onSelectionContextMenu:C,preventScrolling:L,noDragClassName:Ze,noWheelClassName:Fe,noPanClassName:ft,disableKeyboardA11y:Ft},oe.createElement(mq,null,oe.createElement(pq,{edgeTypes:$e,onEdgeClick:c,onEdgeDoubleClick:h,onlyRenderVisibleElements:ee,onEdgeContextMenu:Re,onEdgeMouseEnter:we,onEdgeMouseMove:De,onEdgeMouseLeave:ve,onReconnect:me,onReconnectStart:Oe,onReconnectEnd:lt,reconnectRadius:ct,defaultMarkerColor:W,noPanClassName:ft,elevateEdgesOnSelect:!!St,disableKeyboardA11y:Ft,rfId:$t},oe.createElement(wq,{style:k,type:E,component:N,containerStyle:b})),oe.createElement("div",{className:"react-flow__edgelabel-renderer"}),oe.createElement(QA,{nodeTypes:kt,onNodeClick:l,onNodeDoubleClick:d,onNodeMouseEnter:p,onNodeMouseMove:m,onNodeMouseLeave:y,onNodeContextMenu:_,selectNodesOnDrag:R,onlyRenderVisibleElements:ee,noPanClassName:ft,noDragClassName:Ze,disableKeyboardA11y:Ft,nodeOrigin:Et,nodeExtent:it,rfId:$t})))};Qk.displayName="GraphView";var xq=Q.memo(Qk);const Kv=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],sr={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:Kv,nodeExtent:Kv,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:zr.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:KI,isValidConnection:void 0},Sq=()=>l2((e,r)=>({...sr,setNodes:i=>{const{nodeInternals:o,nodeOrigin:a,elevateNodesOnSelect:u}=r();e({nodeInternals:uc(i,o,a,u)})},getNodes:()=>Array.from(r().nodeInternals.values()),setEdges:i=>{const{defaultEdgeOptions:o={}}=r();e({edges:i.map(a=>({...o,...a}))})},setDefaultNodesAndEdges:(i,o)=>{const a=typeof i<"u",u=typeof o<"u",l=a?uc(i,new Map,r().nodeOrigin,r().elevateNodesOnSelect):new Map;e({nodeInternals:l,edges:u?o:[],hasDefaultNodes:a,hasDefaultEdges:u})},updateNodeDimensions:i=>{const{onNodesChange:o,nodeInternals:a,fitViewOnInit:u,fitViewOnInitDone:l,fitViewOnInitOptions:c,domNode:d,nodeOrigin:h}=r(),p=d==null?void 0:d.querySelector(".react-flow__viewport");if(!p)return;const m=window.getComputedStyle(p),{m22:y}=new window.DOMMatrixReadOnly(m.transform),_=i.reduce((w,x)=>{const E=a.get(x.id);if(E!=null&&E.hidden)a.set(E.id,{...E,[Ke]:{...E[Ke],handleBounds:void 0}});else if(E){const k=sm(x.nodeElement);!!(k.width&&k.height&&(E.width!==k.width||E.height!==k.height||x.forceUpdate))&&(a.set(E.id,{...E,[Ke]:{...E[Ke],handleBounds:{source:J0(".source",x.nodeElement,y,h),target:J0(".target",x.nodeElement,y,h)}},...k}),w.push({id:E.id,type:"dimensions",dimensions:k}))}return w},[]);Dk(a,h);const C=l||u&&!l&&Fk(r,{initial:!0,...c});e({nodeInternals:new Map(a),fitViewOnInitDone:C}),(_==null?void 0:_.length)>0&&(o==null||o(_))},updateNodePositions:(i,o=!0,a=!1)=>{const{triggerNodeChanges:u}=r(),l=i.map(c=>{const d={id:c.id,type:"position",dragging:a};return o&&(d.positionAbsolute=c.positionAbsolute,d.position=c.position),d});u(l)},triggerNodeChanges:i=>{const{onNodesChange:o,nodeInternals:a,hasDefaultNodes:u,nodeOrigin:l,getNodes:c,elevateNodesOnSelect:d}=r();if(i!=null&&i.length){if(u){const h=zA(i,c()),p=uc(h,a,l,d);e({nodeInternals:p})}o==null||o(i)}},addSelectedNodes:i=>{const{multiSelectionActive:o,edges:a,getNodes:u}=r();let l,c=null;o?l=i.map(d=>lr(d,!0)):(l=yi(u(),i),c=yi(a,[])),ws({changedNodes:l,changedEdges:c,get:r,set:e})},addSelectedEdges:i=>{const{multiSelectionActive:o,edges:a,getNodes:u}=r();let l,c=null;o?l=i.map(d=>lr(d,!0)):(l=yi(a,i),c=yi(u(),[])),ws({changedNodes:c,changedEdges:l,get:r,set:e})},unselectNodesAndEdges:({nodes:i,edges:o}={})=>{const{edges:a,getNodes:u}=r(),l=i||u(),c=o||a,d=l.map(p=>(p.selected=!1,lr(p.id,!1))),h=c.map(p=>lr(p.id,!1));ws({changedNodes:d,changedEdges:h,get:r,set:e})},setMinZoom:i=>{const{d3Zoom:o,maxZoom:a}=r();o==null||o.scaleExtent([i,a]),e({minZoom:i})},setMaxZoom:i=>{const{d3Zoom:o,minZoom:a}=r();o==null||o.scaleExtent([a,i]),e({maxZoom:i})},setTranslateExtent:i=>{var o;(o=r().d3Zoom)==null||o.translateExtent(i),e({translateExtent:i})},resetSelectedElements:()=>{const{edges:i,getNodes:o}=r(),u=o().filter(c=>c.selected).map(c=>lr(c.id,!1)),l=i.filter(c=>c.selected).map(c=>lr(c.id,!1));ws({changedNodes:u,changedEdges:l,get:r,set:e})},setNodeExtent:i=>{const{nodeInternals:o}=r();o.forEach(a=>{a.positionAbsolute=um(a.position,i)}),e({nodeExtent:i,nodeInternals:new Map(o)})},panBy:i=>{const{transform:o,width:a,height:u,d3Zoom:l,d3Selection:c,translateExtent:d}=r();if(!l||!c||!i.x&&!i.y)return!1;const h=zn.translate(o[0]+i.x,o[1]+i.y).scale(o[2]),p=[[0,0],[a,u]],m=l==null?void 0:l.constrain()(h,p,d);return l.transform(c,m),o[0]!==m.x||o[1]!==m.y||o[2]!==m.k},cancelConnection:()=>e({connectionNodeId:sr.connectionNodeId,connectionHandleId:sr.connectionHandleId,connectionHandleType:sr.connectionHandleType,connectionStatus:sr.connectionStatus,connectionStartHandle:sr.connectionStartHandle,connectionEndHandle:sr.connectionEndHandle}),reset:()=>e({...sr})}),Object.is),mm=({children:e})=>{const r=Q.useRef(null);return r.current||(r.current=Sq()),oe.createElement($I,{value:r.current},e)};mm.displayName="ReactFlowProvider";const Zk=({children:e})=>Q.useContext(Bs)?oe.createElement(oe.Fragment,null,e):oe.createElement(mm,null,e);Zk.displayName="ReactFlowWrapper";const Eq={input:qk,default:Gv,output:Mk,group:pm},kq={default:Ls,straight:fm,step:cm,smoothstep:Hs,simplebezier:lm},bq=[0,0],Cq=[15,15],Nq={x:0,y:0,zoom:1},Rq={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Jk=Q.forwardRef(({nodes:e,edges:r,defaultNodes:i,defaultEdges:o,className:a,nodeTypes:u=Eq,edgeTypes:l=kq,onNodeClick:c,onEdgeClick:d,onInit:h,onMove:p,onMoveStart:m,onMoveEnd:y,onConnect:_,onConnectStart:C,onConnectEnd:w,onClickConnectStart:x,onClickConnectEnd:E,onNodeMouseEnter:k,onNodeMouseMove:N,onNodeMouseLeave:b,onNodeContextMenu:I,onNodeDoubleClick:A,onNodeDragStart:P,onNodeDrag:H,onNodeDragStop:z,onNodesDelete:U,onEdgesDelete:V,onSelectionChange:ee,onSelectionDragStart:J,onSelectionDrag:R,onSelectionDragStop:G,onSelectionContextMenu:$,onSelectionStart:re,onSelectionEnd:K,connectionMode:L=zr.Strict,connectionLineType:W=cr.Bezier,connectionLineStyle:T,connectionLineComponent:M,connectionLineContainerStyle:ne,deleteKeyCode:O="Backspace",selectionKeyCode:F="Shift",selectionOnDrag:Y=!1,selectionMode:ie=Oo.Full,panActivationKeyCode:ue="Space",multiSelectionKeyCode:fe=Ms()?"Meta":"Control",zoomActivationKeyCode:he=Ms()?"Meta":"Control",snapToGrid:Ne=!1,snapGrid:Me=Cq,onlyRenderVisibleElements:Te=!1,selectNodesOnDrag:Re=!0,nodesDraggable:we,nodesConnectable:De,nodesFocusable:ve,nodeOrigin:me=bq,edgesFocusable:Oe,edgesUpdatable:lt,elementsSelectable:ct,defaultViewport:Ze=Nq,minZoom:Fe=.5,maxZoom:ft=2,translateExtent:St=Kv,preventScrolling:Ft=!0,nodeExtent:Et,defaultMarkerColor:it="#b1b1b7",zoomOnScroll:$t=!0,zoomOnPinch:kt=!0,panOnScroll:$e=!1,panOnScrollSpeed:vt=.5,panOnScrollMode:Je=qr.Free,zoomOnDoubleClick:ot=!0,panOnDrag:Sn=!0,onPaneClick:Mt,onPaneMouseEnter:bt,onPaneMouseMove:En,onPaneMouseLeave:hr,onPaneScroll:kn,onPaneContextMenu:hn,children:bn,onEdgeContextMenu:pn,onEdgeDoubleClick:Go,onEdgeMouseEnter:Wo,onEdgeMouseMove:Ko,onEdgeMouseLeave:Yo,onEdgeUpdate:Ai,onEdgeUpdateStart:Xo,onEdgeUpdateEnd:pr,onReconnect:qi,onReconnectStart:vr,onReconnectEnd:lu,reconnectRadius:mr=10,edgeUpdaterRadius:Br=10,onNodesChange:Hr,onEdgesChange:Pi,noDragClassName:cu="nodrag",noWheelClassName:fu="nowheel",noPanClassName:Qo="nopan",fitView:Cn=!1,fitViewOptions:Zo,connectOnClick:Jo=!0,attributionPosition:du,proOptions:ea,defaultEdgeOptions:ta,elevateNodesOnSelect:na=!0,elevateEdgesOnSelect:ra=!1,disableKeyboardA11y:ia=!1,autoPanOnConnect:hu=!0,autoPanOnNodeDrag:Ue=!0,connectionRadius:pu=20,isValidConnection:Mi,onError:oa,style:Ur,id:aa,nodeDragThreshold:sa,...Vr},Bt)=>{const Oi=aa||"1";return oe.createElement("div",{...Vr,style:{...Ur,...Rq},ref:Bt,className:pt(["react-flow",a]),"data-testid":"rf__wrapper",id:aa},oe.createElement(Zk,null,oe.createElement(xq,{onInit:h,onMove:p,onMoveStart:m,onMoveEnd:y,onNodeClick:c,onEdgeClick:d,onNodeMouseEnter:k,onNodeMouseMove:N,onNodeMouseLeave:b,onNodeContextMenu:I,onNodeDoubleClick:A,nodeTypes:u,edgeTypes:l,connectionLineType:W,connectionLineStyle:T,connectionLineComponent:M,connectionLineContainerStyle:ne,selectionKeyCode:F,selectionOnDrag:Y,selectionMode:ie,deleteKeyCode:O,multiSelectionKeyCode:fe,panActivationKeyCode:ue,zoomActivationKeyCode:he,onlyRenderVisibleElements:Te,selectNodesOnDrag:Re,defaultViewport:Ze,translateExtent:St,minZoom:Fe,maxZoom:ft,preventScrolling:Ft,zoomOnScroll:$t,zoomOnPinch:kt,zoomOnDoubleClick:ot,panOnScroll:$e,panOnScrollSpeed:vt,panOnScrollMode:Je,panOnDrag:Sn,onPaneClick:Mt,onPaneMouseEnter:bt,onPaneMouseMove:En,onPaneMouseLeave:hr,onPaneScroll:kn,onPaneContextMenu:hn,onSelectionContextMenu:$,onSelectionStart:re,onSelectionEnd:K,onEdgeContextMenu:pn,onEdgeDoubleClick:Go,onEdgeMouseEnter:Wo,onEdgeMouseMove:Ko,onEdgeMouseLeave:Yo,onReconnect:qi??Ai,onReconnectStart:vr??Xo,onReconnectEnd:lu??pr,reconnectRadius:mr??Br,defaultMarkerColor:it,noDragClassName:cu,noWheelClassName:fu,noPanClassName:Qo,elevateEdgesOnSelect:ra,rfId:Oi,disableKeyboardA11y:ia,nodeOrigin:me,nodeExtent:Et}),oe.createElement(gA,{nodes:e,edges:r,defaultNodes:i,defaultEdges:o,onConnect:_,onConnectStart:C,onConnectEnd:w,onClickConnectStart:x,onClickConnectEnd:E,nodesDraggable:we,nodesConnectable:De,nodesFocusable:ve,edgesFocusable:Oe,edgesUpdatable:lt,elementsSelectable:ct,elevateNodesOnSelect:na,minZoom:Fe,maxZoom:ft,nodeExtent:Et,onNodesChange:Hr,onEdgesChange:Pi,snapToGrid:Ne,snapGrid:Me,connectionMode:L,translateExtent:St,connectOnClick:Jo,defaultEdgeOptions:ta,fitView:Cn,fitViewOptions:Zo,onNodesDelete:U,onEdgesDelete:V,onNodeDragStart:P,onNodeDrag:H,onNodeDragStop:z,onSelectionDrag:R,onSelectionDragStart:J,onSelectionDragStop:G,noPanClassName:Qo,nodeOrigin:me,rfId:Oi,autoPanOnConnect:hu,autoPanOnNodeDrag:Ue,onError:oa,connectionRadius:pu,isValidConnection:Mi,nodeDragThreshold:sa}),oe.createElement(vA,{onSelectionChange:ee}),bn,oe.createElement(HI,{proOptions:ea,position:du}),oe.createElement(SA,{rfId:Oi,disableKeyboardA11y:ia})))});Jk.displayName="ReactFlow";const Tq=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});function Iq(){return Pe(Tq,nt)}const eb=({id:e,x:r,y:i,width:o,height:a,style:u,color:l,strokeColor:c,strokeWidth:d,className:h,borderRadius:p,shapeRendering:m,onClick:y,selected:_})=>{const{background:C,backgroundColor:w}=u||{},x=l||C||w;return oe.createElement("rect",{className:pt(["react-flow__minimap-node",{selected:_},h]),x:r,y:i,rx:p,ry:p,width:o,height:a,fill:x,stroke:c,strokeWidth:d,shapeRendering:m,onClick:y?E=>y(E,e):void 0})};eb.displayName="MiniMapNode";var Aq=Q.memo(eb);const qq=e=>e.nodeOrigin,Pq=e=>e.getNodes().filter(r=>!r.hidden&&r.width&&r.height),dc=e=>e instanceof Function?e:()=>e;function Mq({nodeStrokeColor:e="transparent",nodeColor:r="#e2e2e2",nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:a=2,nodeComponent:u=Aq,onClick:l}){const c=Pe(Pq,nt),d=Pe(qq),h=dc(r),p=dc(e),m=dc(i),y=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return oe.createElement(oe.Fragment,null,c.map(_=>{const{x:C,y:w}=Mr(_,d).positionAbsolute;return oe.createElement(u,{key:_.id,x:C,y:w,width:_.width,height:_.height,style:_.style,selected:_.selected,className:m(_),color:h(_),borderRadius:o,strokeColor:p(_),strokeWidth:a,shapeRendering:y,onClick:l,id:_.id})}))}var Oq=Q.memo(Mq);const Lq=200,zq=150,jq=e=>{const r=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:r.length>0?GI(Us(r,e.nodeOrigin),i):i,rfId:e.rfId}},Dq="react-flow__minimap-desc";function tb({style:e,className:r,nodeStrokeColor:i="transparent",nodeColor:o="#e2e2e2",nodeClassName:a="",nodeBorderRadius:u=5,nodeStrokeWidth:l=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:h="none",maskStrokeWidth:p=1,position:m="bottom-right",onClick:y,onNodeClick:_,pannable:C=!1,zoomable:w=!1,ariaLabel:x="React Flow mini map",inversePan:E=!1,zoomStep:k=10,offsetScale:N=5}){const b=rt(),I=Q.useRef(null),{boundingRect:A,viewBB:P,rfId:H}=Pe(jq,nt),z=(e==null?void 0:e.width)??Lq,U=(e==null?void 0:e.height)??zq,V=A.width/z,ee=A.height/U,J=Math.max(V,ee),R=J*z,G=J*U,$=N*J,re=A.x-(R-A.width)/2-$,K=A.y-(G-A.height)/2-$,L=R+$*2,W=G+$*2,T=`${Dq}-${H}`,M=Q.useRef(0);M.current=J,Q.useEffect(()=>{if(I.current){const F=Yt(I.current),Y=fe=>{const{transform:he,d3Selection:Ne,d3Zoom:Me}=b.getState();if(fe.sourceEvent.type!=="wheel"||!Ne||!Me)return;const Te=-fe.sourceEvent.deltaY*(fe.sourceEvent.deltaMode===1?.05:fe.sourceEvent.deltaMode?1:.002)*k,Re=he[2]*Math.pow(2,Te);Me.scaleTo(Ne,Re)},ie=fe=>{const{transform:he,d3Selection:Ne,d3Zoom:Me,translateExtent:Te,width:Re,height:we}=b.getState();if(fe.sourceEvent.type!=="mousemove"||!Ne||!Me)return;const De=M.current*Math.max(1,he[2])*(E?-1:1),ve={x:he[0]-fe.sourceEvent.movementX*De,y:he[1]-fe.sourceEvent.movementY*De},me=[[0,0],[Re,we]],Oe=zn.translate(ve.x,ve.y).scale(he[2]),lt=Me.constrain()(Oe,me,Te);Me.transform(Ne,lt)},ue=ck().on("zoom",C?ie:null).on("zoom.wheel",w?Y:null);return F.call(ue),()=>{F.on("zoom",null)}}},[C,w,E,k]);const ne=y?F=>{const Y=sn(F);y(F,{x:Y[0],y:Y[1]})}:void 0,O=_?(F,Y)=>{const ie=b.getState().nodeInternals.get(Y);_(F,ie)}:void 0;return oe.createElement(am,{position:m,style:e,className:pt(["react-flow__minimap",r]),"data-testid":"rf__minimap"},oe.createElement("svg",{width:z,height:U,viewBox:`${re} ${K} ${L} ${W}`,role:"img","aria-labelledby":T,ref:I,onClick:ne},x&&oe.createElement("title",{id:T},x),oe.createElement(Oq,{onClick:O,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:u,nodeClassName:a,nodeStrokeWidth:l,nodeComponent:c}),oe.createElement("path",{className:"react-flow__minimap-mask",d:`M${re-$},${K-$}h${L+$*2}v${W+$*2}h${-L-$*2}z
|
|
57
|
-
M${P.x},${P.y}h${P.width}v${P.height}h${-P.width}z`,fill:d,fillRule:"evenodd",stroke:h,strokeWidth:p,pointerEvents:"none"})))}tb.displayName="MiniMap";var Fq=Q.memo(tb);function $q(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},oe.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function Bq(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},oe.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Hq(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},oe.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 Uq(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},oe.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 Vq(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},oe.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 ko=({children:e,className:r,...i})=>oe.createElement("button",{type:"button",className:pt(["react-flow__controls-button",r]),...i},e);ko.displayName="ControlButton";const Gq=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),nb=({style:e,showZoom:r=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:a,onZoomIn:u,onZoomOut:l,onFitView:c,onInteractiveChange:d,className:h,children:p,position:m="bottom-left"})=>{const y=rt(),[_,C]=Q.useState(!1),{isInteractive:w,minZoomReached:x,maxZoomReached:E}=Pe(Gq,nt),{zoomIn:k,zoomOut:N,fitView:b}=Vs();if(Q.useEffect(()=>{C(!0)},[]),!_)return null;const I=()=>{k(),u==null||u()},A=()=>{N(),l==null||l()},P=()=>{b(a),c==null||c()},H=()=>{y.setState({nodesDraggable:!w,nodesConnectable:!w,elementsSelectable:!w}),d==null||d(!w)};return oe.createElement(am,{className:pt(["react-flow__controls",h]),position:m,style:e,"data-testid":"rf__controls"},r&&oe.createElement(oe.Fragment,null,oe.createElement(ko,{onClick:I,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:E},oe.createElement($q,null)),oe.createElement(ko,{onClick:A,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:x},oe.createElement(Bq,null))),i&&oe.createElement(ko,{className:"react-flow__controls-fitview",onClick:P,title:"fit view","aria-label":"fit view"},oe.createElement(Hq,null)),o&&oe.createElement(ko,{className:"react-flow__controls-interactive",onClick:H,title:"toggle interactivity","aria-label":"toggle interactivity"},w?oe.createElement(Vq,null):oe.createElement(Uq,null)),p)};nb.displayName="Controls";var Wq=Q.memo(nb),ln;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ln||(ln={}));function Kq({color:e,dimensions:r,lineWidth:i}){return oe.createElement("path",{stroke:e,strokeWidth:i,d:`M${r[0]/2} 0 V${r[1]} M0 ${r[1]/2} H${r[0]}`})}function Yq({color:e,radius:r}){return oe.createElement("circle",{cx:r,cy:r,r,fill:e})}const Xq={[ln.Dots]:"#91919a",[ln.Lines]:"#eee",[ln.Cross]:"#e2e2e2"},Qq={[ln.Dots]:1,[ln.Lines]:1,[ln.Cross]:6},Zq=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function rb({id:e,variant:r=ln.Dots,gap:i=20,size:o,lineWidth:a=1,offset:u=2,color:l,style:c,className:d}){const h=Q.useRef(null),{transform:p,patternId:m}=Pe(Zq,nt),y=l||Xq[r],_=o||Qq[r],C=r===ln.Dots,w=r===ln.Cross,x=Array.isArray(i)?i:[i,i],E=[x[0]*p[2]||1,x[1]*p[2]||1],k=_*p[2],N=w?[k,k]:E,b=C?[k/u,k/u]:[N[0]/u,N[1]/u];return oe.createElement("svg",{className:pt(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:h,"data-testid":"rf__background"},oe.createElement("pattern",{id:m+e,x:p[0]%E[0],y:p[1]%E[1],width:E[0],height:E[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${b[0]},-${b[1]})`},C?oe.createElement(Yq,{color:y,radius:k/u}):oe.createElement(Kq,{dimensions:N,color:y,lineWidth:a})),oe.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`}))}rb.displayName="Background";var Jq=Q.memo(rb);function ib(){return{inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreateTokens:0}}function ob(e,r=0){if(!e||typeof e!="object"||r>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 o of Object.values(i)){const a=ob(o,r+1);if(a)return a}return null}function eP(e,r){e.inputTokens+=r.inputTokens,e.outputTokens+=r.outputTokens,e.cacheReadTokens+=r.cacheReadTokens,e.cacheCreateTokens+=r.cacheCreateTokens}function Yv(){return{agents:new Map,toolIndex:new Map,toolOwner:new Map,activeSubagentStack:new Map,lastSeq:0,totalEvents:0}}function Or(e){if(!e)return;const r=e.replace(/\\/g,"/").split("/").filter(Boolean);return r[r.length-1]}function ab(e,r){return`${e}::${r}`}function Xv(e){return e.agent_type??e.subagent_type??"subagent"}function Qv(e){return e.agent_id?e.agent_id:e.parent_tool_use_id?e.parent_tool_use_id:null}function Ro(e,r,i,o){const a=r;let u=e.agents.get(a);return u||(u={id:a,sessionId:r,label:"session",kind:"root",state:"active",startedAt:i,tools:[],prompts:[],toolCount:0,childCount:0,synthetic:o,inFlightTool:null,usage:ib()},e.agents.set(a,u),u)}function s1(e,r,i){const o=r.session_id??"unknown",a=Qv(r);if(a)return Zv(e,o,a,r,i);const u=e.activeSubagentStack.get(o),l=u&&u.length>0?u[u.length-1]:null;if(l){const d=e.agents.get(ab(o,l));if(d)return!d.cwd&&r.cwd&&(d.cwd=r.cwd,d.cwdBasename=Or(r.cwd)),d}const c=Ro(e,o,i,!1);return c.synthetic&&(c.synthetic=!1,c.startedAt=i),!c.cwd&&r.cwd&&(c.cwd=r.cwd,c.cwdBasename=Or(r.cwd)),c.label==="session"&&r.cwd&&(c.label=Or(r.cwd)??"session"),c}function Zv(e,r,i,o,a){const u=ab(r,i),l=Ro(e,r,a,!0);let c=e.agents.get(u);if(c){!c.cwd&&o.cwd&&(c.cwd=o.cwd,c.cwdBasename=Or(o.cwd));const d=Xv(o);return d&&(c.label==="subagent"||!c.label)&&(c.label=d),c}return c={id:u,sessionId:r,label:Xv(o),kind:"subagent",parentId:l.id,state:"active",startedAt:a,tools:[],prompts:[],cwd:o.cwd,cwdBasename:Or(o.cwd),toolCount:0,childCount:0,inFlightTool:null,usage:ib()},e.agents.set(u,c),l.childCount+=1,c}function tP(e,r,i){const o=e.activeSubagentStack.get(r)??[];o.push(i),e.activeSubagentStack.set(r,o)}function nP(e,r,i){const o=e.activeSubagentStack.get(r);if(o){for(let a=o.length-1;a>=0;a--)if(o[a]===i){o.splice(a,1);break}o.length===0&&e.activeSubagentStack.delete(r)}}function hc(e,r=80){if(e==null)return"";if(typeof e=="string")return e.length>r?e.slice(0,r-1)+"…":e;try{const i=JSON.stringify(e);return i.length>r?i.slice(0,r-1)+"…":i}catch{return String(e)}}function Ss(e){let r=null;for(let i=e.tools.length-1;i>=0;i--){const o=e.tools[i];if(o.endedAt==null){r=o;break}}e.inFlightTool=r}function u1(e,r){if(r.seq<=e.lastSeq)return e;const i=r.payload??{},o=r.receivedAt,a=i.hook_event_name??"Unknown";if(a==="__clear")return{...Yv(),lastSeq:r.seq};e.totalEvents+=1,e.lastSeq=r.seq;const u=i.session_id??"unknown",l=s1(e,i,o);switch(a){case"SessionStart":{const c=Ro(e,u,o,!1);c.synthetic=!1,c.state="active",c.startedAt=c.startedAt||o,!c.cwd&&i.cwd&&(c.cwd=i.cwd,c.cwdBasename=Or(i.cwd)),c.label==="session"&&i.cwd&&(c.label=Or(i.cwd)??"session");break}case"UserPromptSubmit":{for(const p of e.agents.values())p.sessionId===u&&p.kind==="subagent"&&p.state==="done"&&p.exitAt==null&&(p.exitAt=o);const c=Ro(e,u,o,!1);c.state="active",c.endedAt=void 0;const d=s1(e,i,o);d.state="active";const h=(typeof i.prompt=="string"?i.prompt:typeof i.message=="string"?i.message:"")??"";h&&(d.prompts.push({at:o,text:h}),d.firstPrompt||(d.firstPrompt=hc(h,120)));break}case"PreToolUse":{const c=i.tool_use_id??`${l.id}:${l.toolCount}`,d={id:c,name:i.tool_name??"?",input:i.tool_input,inputPreview:hc(i.tool_input),agentId:l.id,startedAt:o};l.tools.push(d),l.toolCount+=1,l.state="active",e.toolIndex.set(c,d),e.toolOwner.set(c,l.id),Ss(l);break}case"PostToolUse":case"PostToolUseFailure":{const c=i.tool_use_id,d=c?e.toolIndex.get(c):void 0;if(d){d.endedAt=o,d.ok=a==="PostToolUse",d.response=i.tool_response,a==="PostToolUseFailure"&&(d.errorPreview=hc(i.tool_response));const h=ob(i.tool_response);h&&(d.usage=h),e.toolIndex.delete(c);const p=e.toolOwner.get(c);if(e.toolOwner.delete(c),p){const m=e.agents.get(p);m&&(h&&eP(m.usage,h),Ss(m))}}break}case"SubagentStart":{const c=Qv(i);if(!c)break;const d=Zv(e,u,c,i,o);d.state="active",d.startedAt=d.startedAt||o;const h=Xv(i);h&&(d.label=h),tP(e,u,c);break}case"SubagentStop":{const c=Qv(i);if(!c)break;const d=Zv(e,u,c,i,o);d.state="done",d.endedAt=o,Ss(d),nP(e,u,c);break}case"Stop":case"SessionEnd":{const c=Ro(e,u,o,!1);c.state="done",c.endedAt=o,Ss(c);break}}return e}function gm(e){let r=5381;for(let i=0;i<e.length;i++)r=(r<<5)+r^e.charCodeAt(i);return Math.abs(r)%360}const pc=6;function rP(e,r,i){const o=(r??i)-e;if(o<1e3)return`${Math.max(0,o)}ms`;const a=Math.floor(o/1e3);if(a<60)return`${a}s`;const u=Math.floor(a/60),l=a%60;return`${u}m ${String(l).padStart(2,"0")}s`}function iP(e){return e.endedAt==null?"tool-chip inflight":e.ok===!1?"tool-chip err":"tool-chip done"}function oP({data:e,selected:r}){const i=e.now??Date.now(),o=["agent-node",`state-${e.state}`,e.synthetic?"synthetic":"",r?"selected":""].filter(Boolean).join(" "),a=e.tools.filter(d=>!d.endedAt).length,u=e.tools.slice(-pc),c=`hsl(${gm(e.sessionId)} 70% 60%)`;return D.jsxs("div",{className:o,style:{"--accent":c},children:[D.jsx("span",{className:"accent-stripe"}),D.jsx(bi,{type:"target",position:xe.Left,style:{background:"transparent",border:"none"}}),D.jsxs("div",{className:"head",children:[D.jsxs("div",{className:"title",children:[D.jsx(aP,{state:e.state}),D.jsx("span",{className:"label",title:e.cwd,children:e.label}),e.synthetic&&D.jsx("span",{className:"synth-tag",title:"No SessionStart captured — synthesised",children:"?"})]}),D.jsx("div",{className:"time",title:`Started ${new Date(e.startedAt).toLocaleTimeString()}`,children:rP(e.startedAt,e.endedAt,i)})]}),D.jsxs("div",{className:"sub",children:[e.kind==="root"?"session":"subagent",e.childCount>0&&D.jsxs("span",{className:"spawn-badge",title:`${e.childCount} subagents spawned`,children:["→ ",e.childCount]}),e.cwdBasename&&e.kind==="subagent"?` · ${e.cwdBasename}`:""]}),e.inFlightTool&&D.jsxs("div",{className:"now-running",title:e.inFlightTool.inputPreview||e.inFlightTool.name,children:[D.jsx("span",{className:"now-dot"}),D.jsx("span",{className:"now-label",children:"now"}),D.jsx("span",{className:"now-tool",children:e.inFlightTool.name}),D.jsxs("span",{className:"now-time",children:[Math.max(0,i-e.inFlightTool.startedAt),"ms"]})]}),D.jsxs("div",{className:"chips",children:[u.length===0&&D.jsx("span",{className:"chips-empty",children:"no tools yet"}),u.map(d=>D.jsx("span",{className:iP(d),title:`${d.name} · ${d.inputPreview}`,children:d.name},d.id)),e.tools.length>pc&&D.jsxs("span",{className:"chips-more",children:["+",e.tools.length-pc]})]}),D.jsxs("div",{className:"meta",children:[D.jsxs("span",{children:[D.jsx("b",{children:e.toolCount})," tools"]}),a>0&&D.jsxs("span",{className:"inflight-meta",children:[D.jsx("b",{children:a})," in-flight"]}),e.usage.inputTokens+e.usage.outputTokens>0&&D.jsxs("span",{className:"tokens-meta",title:`in:${e.usage.inputTokens} out:${e.usage.outputTokens} cache-r:${e.usage.cacheReadTokens} cache-c:${e.usage.cacheCreateTokens}`,children:[D.jsx("b",{children:sP(e.usage.inputTokens+e.usage.outputTokens)})," tok"]})]}),D.jsx(bi,{type:"source",position:xe.Right,style:{background:"transparent",border:"none"}})]})}function aP({state:e}){const r=e==="active"?"live":e==="done"?"done":"err";return D.jsx("span",{className:`state-pill state-${e}`,children:r})}function sP(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function l1(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function uP(e){if(e.endedAt==null)return"in-flight…";const r=e.endedAt-e.startedAt;return r<1e3?`${r}ms`:`${(r/1e3).toFixed(2)}s`}function lP({tool:e,onClose:r}){Q.useEffect(()=>{const o=a=>{a.key==="Escape"&&r()};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[r]);const i=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return D.jsx("div",{className:"modal-backdrop",onClick:r,role:"dialog","aria-modal":"true",children:D.jsxs("div",{className:"modal",onClick:o=>o.stopPropagation(),children:[D.jsxs("header",{className:"modal-head",children:[D.jsxs("div",{className:"modal-title",children:[D.jsx("span",{className:`status-dot ${i}`}),D.jsx("span",{className:"modal-tool-name",children:e.name}),D.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),D.jsxs("div",{className:"modal-actions",children:[D.jsx("span",{className:"modal-dur",children:uP(e)}),D.jsx("button",{className:"btn icon-btn",onClick:r,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),D.jsxs("section",{className:"modal-body",children:[D.jsxs("div",{className:"modal-section",children:[D.jsx("h4",{children:"Input"}),D.jsx("pre",{children:l1(e.input??e.inputPreview)})]}),D.jsxs("div",{className:"modal-section",children:[D.jsxs("h4",{children:["Response ",i==="err"&&D.jsx("span",{className:"err-tag",children:"error"})]}),D.jsx("pre",{children:e.endedAt==null?"(waiting…)":l1(e.response??e.errorPreview)})]})]})]})})}const Es=26,c1=22;function cP(e){const r=new Map;for(const o of e.nodeInternals.values()){const a=o.data;if(!(a!=null&&a.sessionId)||a.exitAt!=null||o.width==null||o.height==null)continue;const u=o.position.x,l=o.position.y,c=u+o.width,d=l+o.height,h=r.get(a.sessionId);h?(h.minX=Math.min(h.minX,u),h.minY=Math.min(h.minY,l),h.maxX=Math.max(h.maxX,c),h.maxY=Math.max(h.maxY,d),a.kind==="root"&&(h.label=f1(a)??h.label)):r.set(a.sessionId,{minX:u,minY:l,maxX:c,maxY:d,label:f1(a)??a.sessionId})}const i=[];for(const[o,a]of r)i.push({sessionId:o,label:a.label,x:a.minX-Es,y:a.minY-Es-c1,w:a.maxX-a.minX+Es*2,h:a.maxY-a.minY+Es*2+c1});return i}function f1(e){if(e.kind==="root")return e.label}function fP(){const{x:e,y:r,zoom:i}=Iq(),o=Pe(cP,dP);return o.length<=1?null:D.jsx("div",{className:"session-clusters","aria-hidden":!0,children:o.map(a=>{const u=gm(a.sessionId),l={position:"absolute",left:a.x*i+e,top:a.y*i+r,width:a.w*i,height:a.h*i,borderColor:`hsl(${u} 65% 55% / 0.45)`,background:`hsl(${u} 70% 50% / 0.05)`};return D.jsx("div",{className:"cluster-card",style:l,children:D.jsx("div",{className:"cluster-label",style:{color:`hsl(${u} 70% 70%)`,transform:`scale(${Math.min(1,i)})`},children:a.label})},a.sessionId)})})}function dP(e,r){if(e.length!==r.length)return!1;for(let i=0;i<e.length;i++){const o=e[i],a=r[i];if(o.sessionId!==a.sessionId||o.label!==a.label||o.x!==a.x||o.y!==a.y||o.w!==a.w||o.h!==a.h)return!1}return!0}function ym(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 vc,d1;function hP(){if(d1)return vc;d1=1;function e(){this.__data__=[],this.size=0}return vc=e,vc}var mc,h1;function Ci(){if(h1)return mc;h1=1;function e(r,i){return r===i||r!==r&&i!==i}return mc=e,mc}var gc,p1;function Gs(){if(p1)return gc;p1=1;var e=Ci();function r(i,o){for(var a=i.length;a--;)if(e(i[a][0],o))return a;return-1}return gc=r,gc}var yc,v1;function pP(){if(v1)return yc;v1=1;var e=Gs(),r=Array.prototype,i=r.splice;function o(a){var u=this.__data__,l=e(u,a);if(l<0)return!1;var c=u.length-1;return l==c?u.pop():i.call(u,l,1),--this.size,!0}return yc=o,yc}var _c,m1;function vP(){if(m1)return _c;m1=1;var e=Gs();function r(i){var o=this.__data__,a=e(o,i);return a<0?void 0:o[a][1]}return _c=r,_c}var wc,g1;function mP(){if(g1)return wc;g1=1;var e=Gs();function r(i){return e(this.__data__,i)>-1}return wc=r,wc}var xc,y1;function gP(){if(y1)return xc;y1=1;var e=Gs();function r(i,o){var a=this.__data__,u=e(a,i);return u<0?(++this.size,a.push([i,o])):a[u][1]=o,this}return xc=r,xc}var Sc,_1;function Ws(){if(_1)return Sc;_1=1;var e=hP(),r=pP(),i=vP(),o=mP(),a=gP();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var h=l[c];this.set(h[0],h[1])}}return u.prototype.clear=e,u.prototype.delete=r,u.prototype.get=i,u.prototype.has=o,u.prototype.set=a,Sc=u,Sc}var Ec,w1;function yP(){if(w1)return Ec;w1=1;var e=Ws();function r(){this.__data__=new e,this.size=0}return Ec=r,Ec}var kc,x1;function _P(){if(x1)return kc;x1=1;function e(r){var i=this.__data__,o=i.delete(r);return this.size=i.size,o}return kc=e,kc}var bc,S1;function wP(){if(S1)return bc;S1=1;function e(r){return this.__data__.get(r)}return bc=e,bc}var Cc,E1;function xP(){if(E1)return Cc;E1=1;function e(r){return this.__data__.has(r)}return Cc=e,Cc}var Nc,k1;function sb(){if(k1)return Nc;k1=1;var e=typeof fs=="object"&&fs&&fs.Object===Object&&fs;return Nc=e,Nc}var Rc,b1;function dn(){if(b1)return Rc;b1=1;var e=sb(),r=typeof self=="object"&&self&&self.Object===Object&&self,i=e||r||Function("return this")();return Rc=i,Rc}var Tc,C1;function Ni(){if(C1)return Tc;C1=1;var e=dn(),r=e.Symbol;return Tc=r,Tc}var Ic,N1;function SP(){if(N1)return Ic;N1=1;var e=Ni(),r=Object.prototype,i=r.hasOwnProperty,o=r.toString,a=e?e.toStringTag:void 0;function u(l){var c=i.call(l,a),d=l[a];try{l[a]=void 0;var h=!0}catch{}var p=o.call(l);return h&&(c?l[a]=d:delete l[a]),p}return Ic=u,Ic}var Ac,R1;function EP(){if(R1)return Ac;R1=1;var e=Object.prototype,r=e.toString;function i(o){return r.call(o)}return Ac=i,Ac}var qc,T1;function jr(){if(T1)return qc;T1=1;var e=Ni(),r=SP(),i=EP(),o="[object Null]",a="[object Undefined]",u=e?e.toStringTag:void 0;function l(c){return c==null?c===void 0?a:o:u&&u in Object(c)?r(c):i(c)}return qc=l,qc}var Pc,I1;function Qt(){if(I1)return Pc;I1=1;function e(r){var i=typeof r;return r!=null&&(i=="object"||i=="function")}return Pc=e,Pc}var Mc,A1;function $o(){if(A1)return Mc;A1=1;var e=jr(),r=Qt(),i="[object AsyncFunction]",o="[object Function]",a="[object GeneratorFunction]",u="[object Proxy]";function l(c){if(!r(c))return!1;var d=e(c);return d==o||d==a||d==i||d==u}return Mc=l,Mc}var Oc,q1;function kP(){if(q1)return Oc;q1=1;var e=dn(),r=e["__core-js_shared__"];return Oc=r,Oc}var Lc,P1;function bP(){if(P1)return Lc;P1=1;var e=kP(),r=(function(){var o=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""})();function i(o){return!!r&&r in o}return Lc=i,Lc}var zc,M1;function ub(){if(M1)return zc;M1=1;var e=Function.prototype,r=e.toString;function i(o){if(o!=null){try{return r.call(o)}catch{}try{return o+""}catch{}}return""}return zc=i,zc}var jc,O1;function CP(){if(O1)return jc;O1=1;var e=$o(),r=bP(),i=Qt(),o=ub(),a=/[\\^$.*+?()[\]{}|]/g,u=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,d=l.toString,h=c.hasOwnProperty,p=RegExp("^"+d.call(h).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function m(y){if(!i(y)||r(y))return!1;var _=e(y)?p:u;return _.test(o(y))}return jc=m,jc}var Dc,L1;function NP(){if(L1)return Dc;L1=1;function e(r,i){return r==null?void 0:r[i]}return Dc=e,Dc}var Fc,z1;function Dr(){if(z1)return Fc;z1=1;var e=CP(),r=NP();function i(o,a){var u=r(o,a);return e(u)?u:void 0}return Fc=i,Fc}var $c,j1;function _m(){if(j1)return $c;j1=1;var e=Dr(),r=dn(),i=e(r,"Map");return $c=i,$c}var Bc,D1;function Ks(){if(D1)return Bc;D1=1;var e=Dr(),r=e(Object,"create");return Bc=r,Bc}var Hc,F1;function RP(){if(F1)return Hc;F1=1;var e=Ks();function r(){this.__data__=e?e(null):{},this.size=0}return Hc=r,Hc}var Uc,$1;function TP(){if($1)return Uc;$1=1;function e(r){var i=this.has(r)&&delete this.__data__[r];return this.size-=i?1:0,i}return Uc=e,Uc}var Vc,B1;function IP(){if(B1)return Vc;B1=1;var e=Ks(),r="__lodash_hash_undefined__",i=Object.prototype,o=i.hasOwnProperty;function a(u){var l=this.__data__;if(e){var c=l[u];return c===r?void 0:c}return o.call(l,u)?l[u]:void 0}return Vc=a,Vc}var Gc,H1;function AP(){if(H1)return Gc;H1=1;var e=Ks(),r=Object.prototype,i=r.hasOwnProperty;function o(a){var u=this.__data__;return e?u[a]!==void 0:i.call(u,a)}return Gc=o,Gc}var Wc,U1;function qP(){if(U1)return Wc;U1=1;var e=Ks(),r="__lodash_hash_undefined__";function i(o,a){var u=this.__data__;return this.size+=this.has(o)?0:1,u[o]=e&&a===void 0?r:a,this}return Wc=i,Wc}var Kc,V1;function PP(){if(V1)return Kc;V1=1;var e=RP(),r=TP(),i=IP(),o=AP(),a=qP();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var h=l[c];this.set(h[0],h[1])}}return u.prototype.clear=e,u.prototype.delete=r,u.prototype.get=i,u.prototype.has=o,u.prototype.set=a,Kc=u,Kc}var Yc,G1;function MP(){if(G1)return Yc;G1=1;var e=PP(),r=Ws(),i=_m();function o(){this.size=0,this.__data__={hash:new e,map:new(i||r),string:new e}}return Yc=o,Yc}var Xc,W1;function OP(){if(W1)return Xc;W1=1;function e(r){var i=typeof r;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?r!=="__proto__":r===null}return Xc=e,Xc}var Qc,K1;function Ys(){if(K1)return Qc;K1=1;var e=OP();function r(i,o){var a=i.__data__;return e(o)?a[typeof o=="string"?"string":"hash"]:a.map}return Qc=r,Qc}var Zc,Y1;function LP(){if(Y1)return Zc;Y1=1;var e=Ys();function r(i){var o=e(this,i).delete(i);return this.size-=o?1:0,o}return Zc=r,Zc}var Jc,X1;function zP(){if(X1)return Jc;X1=1;var e=Ys();function r(i){return e(this,i).get(i)}return Jc=r,Jc}var ef,Q1;function jP(){if(Q1)return ef;Q1=1;var e=Ys();function r(i){return e(this,i).has(i)}return ef=r,ef}var tf,Z1;function DP(){if(Z1)return tf;Z1=1;var e=Ys();function r(i,o){var a=e(this,i),u=a.size;return a.set(i,o),this.size+=a.size==u?0:1,this}return tf=r,tf}var nf,J1;function wm(){if(J1)return nf;J1=1;var e=MP(),r=LP(),i=zP(),o=jP(),a=DP();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var h=l[c];this.set(h[0],h[1])}}return u.prototype.clear=e,u.prototype.delete=r,u.prototype.get=i,u.prototype.has=o,u.prototype.set=a,nf=u,nf}var rf,e_;function FP(){if(e_)return rf;e_=1;var e=Ws(),r=_m(),i=wm(),o=200;function a(u,l){var c=this.__data__;if(c instanceof e){var d=c.__data__;if(!r||d.length<o-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 rf=a,rf}var of,t_;function Xs(){if(t_)return of;t_=1;var e=Ws(),r=yP(),i=_P(),o=wP(),a=xP(),u=FP();function l(c){var d=this.__data__=new e(c);this.size=d.size}return l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=a,l.prototype.set=u,of=l,of}var af,n_;function xm(){if(n_)return af;n_=1;function e(r,i){for(var o=-1,a=r==null?0:r.length;++o<a&&i(r[o],o,r)!==!1;);return r}return af=e,af}var sf,r_;function lb(){if(r_)return sf;r_=1;var e=Dr(),r=(function(){try{var i=e(Object,"defineProperty");return i({},"",{}),i}catch{}})();return sf=r,sf}var uf,i_;function Qs(){if(i_)return uf;i_=1;var e=lb();function r(i,o,a){o=="__proto__"&&e?e(i,o,{configurable:!0,enumerable:!0,value:a,writable:!0}):i[o]=a}return uf=r,uf}var lf,o_;function Zs(){if(o_)return lf;o_=1;var e=Qs(),r=Ci(),i=Object.prototype,o=i.hasOwnProperty;function a(u,l,c){var d=u[l];(!(o.call(u,l)&&r(d,c))||c===void 0&&!(l in u))&&e(u,l,c)}return lf=a,lf}var cf,a_;function Bo(){if(a_)return cf;a_=1;var e=Zs(),r=Qs();function i(o,a,u,l){var c=!u;u||(u={});for(var d=-1,h=a.length;++d<h;){var p=a[d],m=l?l(u[p],o[p],p,u,o):void 0;m===void 0&&(m=o[p]),c?r(u,p,m):e(u,p,m)}return u}return cf=i,cf}var ff,s_;function $P(){if(s_)return ff;s_=1;function e(r,i){for(var o=-1,a=Array(r);++o<r;)a[o]=i(o);return a}return ff=e,ff}var df,u_;function xn(){if(u_)return df;u_=1;function e(r){return r!=null&&typeof r=="object"}return df=e,df}var hf,l_;function BP(){if(l_)return hf;l_=1;var e=jr(),r=xn(),i="[object Arguments]";function o(a){return r(a)&&e(a)==i}return hf=o,hf}var pf,c_;function Ho(){if(c_)return pf;c_=1;var e=BP(),r=xn(),i=Object.prototype,o=i.hasOwnProperty,a=i.propertyIsEnumerable,u=e((function(){return arguments})())?e:function(l){return r(l)&&o.call(l,"callee")&&!a.call(l,"callee")};return pf=u,pf}var vf,f_;function Qe(){if(f_)return vf;f_=1;var e=Array.isArray;return vf=e,vf}var bo={exports:{}},mf,d_;function HP(){if(d_)return mf;d_=1;function e(){return!1}return mf=e,mf}bo.exports;var h_;function Ri(){return h_||(h_=1,(function(e,r){var i=dn(),o=HP(),a=r&&!r.nodeType&&r,u=a&&!0&&e&&!e.nodeType&&e,l=u&&u.exports===a,c=l?i.Buffer:void 0,d=c?c.isBuffer:void 0,h=d||o;e.exports=h})(bo,bo.exports)),bo.exports}var gf,p_;function Js(){if(p_)return gf;p_=1;var e=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(o,a){var u=typeof o;return a=a??e,!!a&&(u=="number"||u!="symbol"&&r.test(o))&&o>-1&&o%1==0&&o<a}return gf=i,gf}var yf,v_;function Sm(){if(v_)return yf;v_=1;var e=9007199254740991;function r(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=e}return yf=r,yf}var _f,m_;function UP(){if(m_)return _f;m_=1;var e=jr(),r=Sm(),i=xn(),o="[object Arguments]",a="[object Array]",u="[object Boolean]",l="[object Date]",c="[object Error]",d="[object Function]",h="[object Map]",p="[object Number]",m="[object Object]",y="[object RegExp]",_="[object Set]",C="[object String]",w="[object WeakMap]",x="[object ArrayBuffer]",E="[object DataView]",k="[object Float32Array]",N="[object Float64Array]",b="[object Int8Array]",I="[object Int16Array]",A="[object Int32Array]",P="[object Uint8Array]",H="[object Uint8ClampedArray]",z="[object Uint16Array]",U="[object Uint32Array]",V={};V[k]=V[N]=V[b]=V[I]=V[A]=V[P]=V[H]=V[z]=V[U]=!0,V[o]=V[a]=V[x]=V[u]=V[E]=V[l]=V[c]=V[d]=V[h]=V[p]=V[m]=V[y]=V[_]=V[C]=V[w]=!1;function ee(J){return i(J)&&r(J.length)&&!!V[e(J)]}return _f=ee,_f}var wf,g_;function eu(){if(g_)return wf;g_=1;function e(r){return function(i){return r(i)}}return wf=e,wf}var Co={exports:{}};Co.exports;var y_;function Em(){return y_||(y_=1,(function(e,r){var i=sb(),o=r&&!r.nodeType&&r,a=o&&!0&&e&&!e.nodeType&&e,u=a&&a.exports===o,l=u&&i.process,c=(function(){try{var d=a&&a.require&&a.require("util").types;return d||l&&l.binding&&l.binding("util")}catch{}})();e.exports=c})(Co,Co.exports)),Co.exports}var xf,__;function Uo(){if(__)return xf;__=1;var e=UP(),r=eu(),i=Em(),o=i&&i.isTypedArray,a=o?r(o):e;return xf=a,xf}var Sf,w_;function cb(){if(w_)return Sf;w_=1;var e=$P(),r=Ho(),i=Qe(),o=Ri(),a=Js(),u=Uo(),l=Object.prototype,c=l.hasOwnProperty;function d(h,p){var m=i(h),y=!m&&r(h),_=!m&&!y&&o(h),C=!m&&!y&&!_&&u(h),w=m||y||_||C,x=w?e(h.length,String):[],E=x.length;for(var k in h)(p||c.call(h,k))&&!(w&&(k=="length"||_&&(k=="offset"||k=="parent")||C&&(k=="buffer"||k=="byteLength"||k=="byteOffset")||a(k,E)))&&x.push(k);return x}return Sf=d,Sf}var Ef,x_;function tu(){if(x_)return Ef;x_=1;var e=Object.prototype;function r(i){var o=i&&i.constructor,a=typeof o=="function"&&o.prototype||e;return i===a}return Ef=r,Ef}var kf,S_;function fb(){if(S_)return kf;S_=1;function e(r,i){return function(o){return r(i(o))}}return kf=e,kf}var bf,E_;function VP(){if(E_)return bf;E_=1;var e=fb(),r=e(Object.keys,Object);return bf=r,bf}var Cf,k_;function km(){if(k_)return Cf;k_=1;var e=tu(),r=VP(),i=Object.prototype,o=i.hasOwnProperty;function a(u){if(!e(u))return r(u);var l=[];for(var c in Object(u))o.call(u,c)&&c!="constructor"&&l.push(c);return l}return Cf=a,Cf}var Nf,b_;function Fn(){if(b_)return Nf;b_=1;var e=$o(),r=Sm();function i(o){return o!=null&&r(o.length)&&!e(o)}return Nf=i,Nf}var Rf,C_;function dr(){if(C_)return Rf;C_=1;var e=cb(),r=km(),i=Fn();function o(a){return i(a)?e(a):r(a)}return Rf=o,Rf}var Tf,N_;function GP(){if(N_)return Tf;N_=1;var e=Bo(),r=dr();function i(o,a){return o&&e(a,r(a),o)}return Tf=i,Tf}var If,R_;function WP(){if(R_)return If;R_=1;function e(r){var i=[];if(r!=null)for(var o in Object(r))i.push(o);return i}return If=e,If}var Af,T_;function KP(){if(T_)return Af;T_=1;var e=Qt(),r=tu(),i=WP(),o=Object.prototype,a=o.hasOwnProperty;function u(l){if(!e(l))return i(l);var c=r(l),d=[];for(var h in l)h=="constructor"&&(c||!a.call(l,h))||d.push(h);return d}return Af=u,Af}var qf,I_;function Fr(){if(I_)return qf;I_=1;var e=cb(),r=KP(),i=Fn();function o(a){return i(a)?e(a,!0):r(a)}return qf=o,qf}var Pf,A_;function YP(){if(A_)return Pf;A_=1;var e=Bo(),r=Fr();function i(o,a){return o&&e(a,r(a),o)}return Pf=i,Pf}var No={exports:{}};No.exports;var q_;function db(){return q_||(q_=1,(function(e,r){var i=dn(),o=r&&!r.nodeType&&r,a=o&&!0&&e&&!e.nodeType&&e,u=a&&a.exports===o,l=u?i.Buffer:void 0,c=l?l.allocUnsafe:void 0;function d(h,p){if(p)return h.slice();var m=h.length,y=c?c(m):new h.constructor(m);return h.copy(y),y}e.exports=d})(No,No.exports)),No.exports}var Mf,P_;function hb(){if(P_)return Mf;P_=1;function e(r,i){var o=-1,a=r.length;for(i||(i=Array(a));++o<a;)i[o]=r[o];return i}return Mf=e,Mf}var Of,M_;function pb(){if(M_)return Of;M_=1;function e(r,i){for(var o=-1,a=r==null?0:r.length,u=0,l=[];++o<a;){var c=r[o];i(c,o,r)&&(l[u++]=c)}return l}return Of=e,Of}var Lf,O_;function vb(){if(O_)return Lf;O_=1;function e(){return[]}return Lf=e,Lf}var zf,L_;function bm(){if(L_)return zf;L_=1;var e=pb(),r=vb(),i=Object.prototype,o=i.propertyIsEnumerable,a=Object.getOwnPropertySymbols,u=a?function(l){return l==null?[]:(l=Object(l),e(a(l),function(c){return o.call(l,c)}))}:r;return zf=u,zf}var jf,z_;function XP(){if(z_)return jf;z_=1;var e=Bo(),r=bm();function i(o,a){return e(o,r(o),a)}return jf=i,jf}var Df,j_;function Cm(){if(j_)return Df;j_=1;function e(r,i){for(var o=-1,a=i.length,u=r.length;++o<a;)r[u+o]=i[o];return r}return Df=e,Df}var Ff,D_;function nu(){if(D_)return Ff;D_=1;var e=fb(),r=e(Object.getPrototypeOf,Object);return Ff=r,Ff}var $f,F_;function mb(){if(F_)return $f;F_=1;var e=Cm(),r=nu(),i=bm(),o=vb(),a=Object.getOwnPropertySymbols,u=a?function(l){for(var c=[];l;)e(c,i(l)),l=r(l);return c}:o;return $f=u,$f}var Bf,$_;function QP(){if($_)return Bf;$_=1;var e=Bo(),r=mb();function i(o,a){return e(o,r(o),a)}return Bf=i,Bf}var Hf,B_;function gb(){if(B_)return Hf;B_=1;var e=Cm(),r=Qe();function i(o,a,u){var l=a(o);return r(o)?l:e(l,u(o))}return Hf=i,Hf}var Uf,H_;function yb(){if(H_)return Uf;H_=1;var e=gb(),r=bm(),i=dr();function o(a){return e(a,i,r)}return Uf=o,Uf}var Vf,U_;function ZP(){if(U_)return Vf;U_=1;var e=gb(),r=mb(),i=Fr();function o(a){return e(a,i,r)}return Vf=o,Vf}var Gf,V_;function JP(){if(V_)return Gf;V_=1;var e=Dr(),r=dn(),i=e(r,"DataView");return Gf=i,Gf}var Wf,G_;function eM(){if(G_)return Wf;G_=1;var e=Dr(),r=dn(),i=e(r,"Promise");return Wf=i,Wf}var Kf,W_;function _b(){if(W_)return Kf;W_=1;var e=Dr(),r=dn(),i=e(r,"Set");return Kf=i,Kf}var Yf,K_;function tM(){if(K_)return Yf;K_=1;var e=Dr(),r=dn(),i=e(r,"WeakMap");return Yf=i,Yf}var Xf,Y_;function Ti(){if(Y_)return Xf;Y_=1;var e=JP(),r=_m(),i=eM(),o=_b(),a=tM(),u=jr(),l=ub(),c="[object Map]",d="[object Object]",h="[object Promise]",p="[object Set]",m="[object WeakMap]",y="[object DataView]",_=l(e),C=l(r),w=l(i),x=l(o),E=l(a),k=u;return(e&&k(new e(new ArrayBuffer(1)))!=y||r&&k(new r)!=c||i&&k(i.resolve())!=h||o&&k(new o)!=p||a&&k(new a)!=m)&&(k=function(N){var b=u(N),I=b==d?N.constructor:void 0,A=I?l(I):"";if(A)switch(A){case _:return y;case C:return c;case w:return h;case x:return p;case E:return m}return b}),Xf=k,Xf}var Qf,X_;function nM(){if(X_)return Qf;X_=1;var e=Object.prototype,r=e.hasOwnProperty;function i(o){var a=o.length,u=new o.constructor(a);return a&&typeof o[0]=="string"&&r.call(o,"index")&&(u.index=o.index,u.input=o.input),u}return Qf=i,Qf}var Zf,Q_;function wb(){if(Q_)return Zf;Q_=1;var e=dn(),r=e.Uint8Array;return Zf=r,Zf}var Jf,Z_;function Nm(){if(Z_)return Jf;Z_=1;var e=wb();function r(i){var o=new i.constructor(i.byteLength);return new e(o).set(new e(i)),o}return Jf=r,Jf}var ed,J_;function rM(){if(J_)return ed;J_=1;var e=Nm();function r(i,o){var a=o?e(i.buffer):i.buffer;return new i.constructor(a,i.byteOffset,i.byteLength)}return ed=r,ed}var td,ew;function iM(){if(ew)return td;ew=1;var e=/\w*$/;function r(i){var o=new i.constructor(i.source,e.exec(i));return o.lastIndex=i.lastIndex,o}return td=r,td}var nd,tw;function oM(){if(tw)return nd;tw=1;var e=Ni(),r=e?e.prototype:void 0,i=r?r.valueOf:void 0;function o(a){return i?Object(i.call(a)):{}}return nd=o,nd}var rd,nw;function xb(){if(nw)return rd;nw=1;var e=Nm();function r(i,o){var a=o?e(i.buffer):i.buffer;return new i.constructor(a,i.byteOffset,i.length)}return rd=r,rd}var id,rw;function aM(){if(rw)return id;rw=1;var e=Nm(),r=rM(),i=iM(),o=oM(),a=xb(),u="[object Boolean]",l="[object Date]",c="[object Map]",d="[object Number]",h="[object RegExp]",p="[object Set]",m="[object String]",y="[object Symbol]",_="[object ArrayBuffer]",C="[object DataView]",w="[object Float32Array]",x="[object Float64Array]",E="[object Int8Array]",k="[object Int16Array]",N="[object Int32Array]",b="[object Uint8Array]",I="[object Uint8ClampedArray]",A="[object Uint16Array]",P="[object Uint32Array]";function H(z,U,V){var ee=z.constructor;switch(U){case _:return e(z);case u:case l:return new ee(+z);case C:return r(z,V);case w:case x:case E:case k:case N:case b:case I:case A:case P:return a(z,V);case c:return new ee;case d:case m:return new ee(z);case h:return i(z);case p:return new ee;case y:return o(z)}}return id=H,id}var od,iw;function Sb(){if(iw)return od;iw=1;var e=Qt(),r=Object.create,i=(function(){function o(){}return function(a){if(!e(a))return{};if(r)return r(a);o.prototype=a;var u=new o;return o.prototype=void 0,u}})();return od=i,od}var ad,ow;function Eb(){if(ow)return ad;ow=1;var e=Sb(),r=nu(),i=tu();function o(a){return typeof a.constructor=="function"&&!i(a)?e(r(a)):{}}return ad=o,ad}var sd,aw;function sM(){if(aw)return sd;aw=1;var e=Ti(),r=xn(),i="[object Map]";function o(a){return r(a)&&e(a)==i}return sd=o,sd}var ud,sw;function uM(){if(sw)return ud;sw=1;var e=sM(),r=eu(),i=Em(),o=i&&i.isMap,a=o?r(o):e;return ud=a,ud}var ld,uw;function lM(){if(uw)return ld;uw=1;var e=Ti(),r=xn(),i="[object Set]";function o(a){return r(a)&&e(a)==i}return ld=o,ld}var cd,lw;function cM(){if(lw)return cd;lw=1;var e=lM(),r=eu(),i=Em(),o=i&&i.isSet,a=o?r(o):e;return cd=a,cd}var fd,cw;function kb(){if(cw)return fd;cw=1;var e=Xs(),r=xm(),i=Zs(),o=GP(),a=YP(),u=db(),l=hb(),c=XP(),d=QP(),h=yb(),p=ZP(),m=Ti(),y=nM(),_=aM(),C=Eb(),w=Qe(),x=Ri(),E=uM(),k=Qt(),N=cM(),b=dr(),I=Fr(),A=1,P=2,H=4,z="[object Arguments]",U="[object Array]",V="[object Boolean]",ee="[object Date]",J="[object Error]",R="[object Function]",G="[object GeneratorFunction]",$="[object Map]",re="[object Number]",K="[object Object]",L="[object RegExp]",W="[object Set]",T="[object String]",M="[object Symbol]",ne="[object WeakMap]",O="[object ArrayBuffer]",F="[object DataView]",Y="[object Float32Array]",ie="[object Float64Array]",ue="[object Int8Array]",fe="[object Int16Array]",he="[object Int32Array]",Ne="[object Uint8Array]",Me="[object Uint8ClampedArray]",Te="[object Uint16Array]",Re="[object Uint32Array]",we={};we[z]=we[U]=we[O]=we[F]=we[V]=we[ee]=we[Y]=we[ie]=we[ue]=we[fe]=we[he]=we[$]=we[re]=we[K]=we[L]=we[W]=we[T]=we[M]=we[Ne]=we[Me]=we[Te]=we[Re]=!0,we[J]=we[R]=we[ne]=!1;function De(ve,me,Oe,lt,ct,Ze){var Fe,ft=me&A,St=me&P,Ft=me&H;if(Oe&&(Fe=ct?Oe(ve,lt,ct,Ze):Oe(ve)),Fe!==void 0)return Fe;if(!k(ve))return ve;var Et=w(ve);if(Et){if(Fe=y(ve),!ft)return l(ve,Fe)}else{var it=m(ve),$t=it==R||it==G;if(x(ve))return u(ve,ft);if(it==K||it==z||$t&&!ct){if(Fe=St||$t?{}:C(ve),!ft)return St?d(ve,a(Fe,ve)):c(ve,o(Fe,ve))}else{if(!we[it])return ct?ve:{};Fe=_(ve,it,ft)}}Ze||(Ze=new e);var kt=Ze.get(ve);if(kt)return kt;Ze.set(ve,Fe),N(ve)?ve.forEach(function(Je){Fe.add(De(Je,me,Oe,Je,ve,Ze))}):E(ve)&&ve.forEach(function(Je,ot){Fe.set(ot,De(Je,me,Oe,ot,ve,Ze))});var $e=Ft?St?p:h:St?I:b,vt=Et?void 0:$e(ve);return r(vt||ve,function(Je,ot){vt&&(ot=Je,Je=ve[ot]),i(Fe,ot,De(Je,me,Oe,ot,ve,Ze))}),Fe}return fd=De,fd}var dd,fw;function fM(){if(fw)return dd;fw=1;var e=kb(),r=4;function i(o){return e(o,r)}return dd=i,dd}var hd,dw;function Rm(){if(dw)return hd;dw=1;function e(r){return function(){return r}}return hd=e,hd}var pd,hw;function dM(){if(hw)return pd;hw=1;function e(r){return function(i,o,a){for(var u=-1,l=Object(i),c=a(i),d=c.length;d--;){var h=c[r?d:++u];if(o(l[h],h,l)===!1)break}return i}}return pd=e,pd}var vd,pw;function Tm(){if(pw)return vd;pw=1;var e=dM(),r=e();return vd=r,vd}var md,vw;function Im(){if(vw)return md;vw=1;var e=Tm(),r=dr();function i(o,a){return o&&e(o,a,r)}return md=i,md}var gd,mw;function hM(){if(mw)return gd;mw=1;var e=Fn();function r(i,o){return function(a,u){if(a==null)return a;if(!e(a))return i(a,u);for(var l=a.length,c=o?l:-1,d=Object(a);(o?c--:++c<l)&&u(d[c],c,d)!==!1;);return a}}return gd=r,gd}var yd,gw;function ru(){if(gw)return yd;gw=1;var e=Im(),r=hM(),i=r(e);return yd=i,yd}var _d,yw;function $r(){if(yw)return _d;yw=1;function e(r){return r}return _d=e,_d}var wd,_w;function bb(){if(_w)return wd;_w=1;var e=$r();function r(i){return typeof i=="function"?i:e}return wd=r,wd}var xd,ww;function Cb(){if(ww)return xd;ww=1;var e=xm(),r=ru(),i=bb(),o=Qe();function a(u,l){var c=o(u)?e:r;return c(u,i(l))}return xd=a,xd}var Sd,xw;function Nb(){return xw||(xw=1,Sd=Cb()),Sd}var Ed,Sw;function pM(){if(Sw)return Ed;Sw=1;var e=ru();function r(i,o){var a=[];return e(i,function(u,l,c){o(u,l,c)&&a.push(u)}),a}return Ed=r,Ed}var kd,Ew;function vM(){if(Ew)return kd;Ew=1;var e="__lodash_hash_undefined__";function r(i){return this.__data__.set(i,e),this}return kd=r,kd}var bd,kw;function mM(){if(kw)return bd;kw=1;function e(r){return this.__data__.has(r)}return bd=e,bd}var Cd,bw;function Rb(){if(bw)return Cd;bw=1;var e=wm(),r=vM(),i=mM();function o(a){var u=-1,l=a==null?0:a.length;for(this.__data__=new e;++u<l;)this.add(a[u])}return o.prototype.add=o.prototype.push=r,o.prototype.has=i,Cd=o,Cd}var Nd,Cw;function gM(){if(Cw)return Nd;Cw=1;function e(r,i){for(var o=-1,a=r==null?0:r.length;++o<a;)if(i(r[o],o,r))return!0;return!1}return Nd=e,Nd}var Rd,Nw;function Tb(){if(Nw)return Rd;Nw=1;function e(r,i){return r.has(i)}return Rd=e,Rd}var Td,Rw;function Ib(){if(Rw)return Td;Rw=1;var e=Rb(),r=gM(),i=Tb(),o=1,a=2;function u(l,c,d,h,p,m){var y=d&o,_=l.length,C=c.length;if(_!=C&&!(y&&C>_))return!1;var w=m.get(l),x=m.get(c);if(w&&x)return w==c&&x==l;var E=-1,k=!0,N=d&a?new e:void 0;for(m.set(l,c),m.set(c,l);++E<_;){var b=l[E],I=c[E];if(h)var A=y?h(I,b,E,c,l,m):h(b,I,E,l,c,m);if(A!==void 0){if(A)continue;k=!1;break}if(N){if(!r(c,function(P,H){if(!i(N,H)&&(b===P||p(b,P,d,h,m)))return N.push(H)})){k=!1;break}}else if(!(b===I||p(b,I,d,h,m))){k=!1;break}}return m.delete(l),m.delete(c),k}return Td=u,Td}var Id,Tw;function yM(){if(Tw)return Id;Tw=1;function e(r){var i=-1,o=Array(r.size);return r.forEach(function(a,u){o[++i]=[u,a]}),o}return Id=e,Id}var Ad,Iw;function Am(){if(Iw)return Ad;Iw=1;function e(r){var i=-1,o=Array(r.size);return r.forEach(function(a){o[++i]=a}),o}return Ad=e,Ad}var qd,Aw;function _M(){if(Aw)return qd;Aw=1;var e=Ni(),r=wb(),i=Ci(),o=Ib(),a=yM(),u=Am(),l=1,c=2,d="[object Boolean]",h="[object Date]",p="[object Error]",m="[object Map]",y="[object Number]",_="[object RegExp]",C="[object Set]",w="[object String]",x="[object Symbol]",E="[object ArrayBuffer]",k="[object DataView]",N=e?e.prototype:void 0,b=N?N.valueOf:void 0;function I(A,P,H,z,U,V,ee){switch(H){case k:if(A.byteLength!=P.byteLength||A.byteOffset!=P.byteOffset)return!1;A=A.buffer,P=P.buffer;case E:return!(A.byteLength!=P.byteLength||!V(new r(A),new r(P)));case d:case h:case y:return i(+A,+P);case p:return A.name==P.name&&A.message==P.message;case _:case w:return A==P+"";case m:var J=a;case C:var R=z&l;if(J||(J=u),A.size!=P.size&&!R)return!1;var G=ee.get(A);if(G)return G==P;z|=c,ee.set(A,P);var $=o(J(A),J(P),z,U,V,ee);return ee.delete(A),$;case x:if(b)return b.call(A)==b.call(P)}return!1}return qd=I,qd}var Pd,qw;function wM(){if(qw)return Pd;qw=1;var e=yb(),r=1,i=Object.prototype,o=i.hasOwnProperty;function a(u,l,c,d,h,p){var m=c&r,y=e(u),_=y.length,C=e(l),w=C.length;if(_!=w&&!m)return!1;for(var x=_;x--;){var E=y[x];if(!(m?E in l:o.call(l,E)))return!1}var k=p.get(u),N=p.get(l);if(k&&N)return k==l&&N==u;var b=!0;p.set(u,l),p.set(l,u);for(var I=m;++x<_;){E=y[x];var A=u[E],P=l[E];if(d)var H=m?d(P,A,E,l,u,p):d(A,P,E,u,l,p);if(!(H===void 0?A===P||h(A,P,c,d,p):H)){b=!1;break}I||(I=E=="constructor")}if(b&&!I){var z=u.constructor,U=l.constructor;z!=U&&"constructor"in u&&"constructor"in l&&!(typeof z=="function"&&z instanceof z&&typeof U=="function"&&U instanceof U)&&(b=!1)}return p.delete(u),p.delete(l),b}return Pd=a,Pd}var Md,Pw;function xM(){if(Pw)return Md;Pw=1;var e=Xs(),r=Ib(),i=_M(),o=wM(),a=Ti(),u=Qe(),l=Ri(),c=Uo(),d=1,h="[object Arguments]",p="[object Array]",m="[object Object]",y=Object.prototype,_=y.hasOwnProperty;function C(w,x,E,k,N,b){var I=u(w),A=u(x),P=I?p:a(w),H=A?p:a(x);P=P==h?m:P,H=H==h?m:H;var z=P==m,U=H==m,V=P==H;if(V&&l(w)){if(!l(x))return!1;I=!0,z=!1}if(V&&!z)return b||(b=new e),I||c(w)?r(w,x,E,k,N,b):i(w,x,P,E,k,N,b);if(!(E&d)){var ee=z&&_.call(w,"__wrapped__"),J=U&&_.call(x,"__wrapped__");if(ee||J){var R=ee?w.value():w,G=J?x.value():x;return b||(b=new e),N(R,G,E,k,b)}}return V?(b||(b=new e),o(w,x,E,k,N,b)):!1}return Md=C,Md}var Od,Mw;function Ab(){if(Mw)return Od;Mw=1;var e=xM(),r=xn();function i(o,a,u,l,c){return o===a?!0:o==null||a==null||!r(o)&&!r(a)?o!==o&&a!==a:e(o,a,u,l,i,c)}return Od=i,Od}var Ld,Ow;function SM(){if(Ow)return Ld;Ow=1;var e=Xs(),r=Ab(),i=1,o=2;function a(u,l,c,d){var h=c.length,p=h,m=!d;if(u==null)return!p;for(u=Object(u);h--;){var y=c[h];if(m&&y[2]?y[1]!==u[y[0]]:!(y[0]in u))return!1}for(;++h<p;){y=c[h];var _=y[0],C=u[_],w=y[1];if(m&&y[2]){if(C===void 0&&!(_ in u))return!1}else{var x=new e;if(d)var E=d(C,w,_,u,l,x);if(!(E===void 0?r(w,C,i|o,d,x):E))return!1}}return!0}return Ld=a,Ld}var zd,Lw;function qb(){if(Lw)return zd;Lw=1;var e=Qt();function r(i){return i===i&&!e(i)}return zd=r,zd}var jd,zw;function EM(){if(zw)return jd;zw=1;var e=qb(),r=dr();function i(o){for(var a=r(o),u=a.length;u--;){var l=a[u],c=o[l];a[u]=[l,c,e(c)]}return a}return jd=i,jd}var Dd,jw;function Pb(){if(jw)return Dd;jw=1;function e(r,i){return function(o){return o==null?!1:o[r]===i&&(i!==void 0||r in Object(o))}}return Dd=e,Dd}var Fd,Dw;function kM(){if(Dw)return Fd;Dw=1;var e=SM(),r=EM(),i=Pb();function o(a){var u=r(a);return u.length==1&&u[0][2]?i(u[0][0],u[0][1]):function(l){return l===a||e(l,a,u)}}return Fd=o,Fd}var $d,Fw;function Ii(){if(Fw)return $d;Fw=1;var e=jr(),r=xn(),i="[object Symbol]";function o(a){return typeof a=="symbol"||r(a)&&e(a)==i}return $d=o,$d}var Bd,$w;function qm(){if($w)return Bd;$w=1;var e=Qe(),r=Ii(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;function a(u,l){if(e(u))return!1;var c=typeof u;return c=="number"||c=="symbol"||c=="boolean"||u==null||r(u)?!0:o.test(u)||!i.test(u)||l!=null&&u in Object(l)}return Bd=a,Bd}var Hd,Bw;function bM(){if(Bw)return Hd;Bw=1;var e=wm(),r="Expected a function";function i(o,a){if(typeof o!="function"||a!=null&&typeof a!="function")throw new TypeError(r);var u=function(){var l=arguments,c=a?a.apply(this,l):l[0],d=u.cache;if(d.has(c))return d.get(c);var h=o.apply(this,l);return u.cache=d.set(c,h)||d,h};return u.cache=new(i.Cache||e),u}return i.Cache=e,Hd=i,Hd}var Ud,Hw;function CM(){if(Hw)return Ud;Hw=1;var e=bM(),r=500;function i(o){var a=e(o,function(l){return u.size===r&&u.clear(),l}),u=a.cache;return a}return Ud=i,Ud}var Vd,Uw;function NM(){if(Uw)return Vd;Uw=1;var e=CM(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,o=e(function(a){var u=[];return a.charCodeAt(0)===46&&u.push(""),a.replace(r,function(l,c,d,h){u.push(d?h.replace(i,"$1"):c||l)}),u});return Vd=o,Vd}var Gd,Vw;function iu(){if(Vw)return Gd;Vw=1;function e(r,i){for(var o=-1,a=r==null?0:r.length,u=Array(a);++o<a;)u[o]=i(r[o],o,r);return u}return Gd=e,Gd}var Wd,Gw;function RM(){if(Gw)return Wd;Gw=1;var e=Ni(),r=iu(),i=Qe(),o=Ii(),a=e?e.prototype:void 0,u=a?a.toString:void 0;function l(c){if(typeof c=="string")return c;if(i(c))return r(c,l)+"";if(o(c))return u?u.call(c):"";var d=c+"";return d=="0"&&1/c==-1/0?"-0":d}return Wd=l,Wd}var Kd,Ww;function Mb(){if(Ww)return Kd;Ww=1;var e=RM();function r(i){return i==null?"":e(i)}return Kd=r,Kd}var Yd,Kw;function ou(){if(Kw)return Yd;Kw=1;var e=Qe(),r=qm(),i=NM(),o=Mb();function a(u,l){return e(u)?u:r(u,l)?[u]:i(o(u))}return Yd=a,Yd}var Xd,Yw;function Vo(){if(Yw)return Xd;Yw=1;var e=Ii();function r(i){if(typeof i=="string"||e(i))return i;var o=i+"";return o=="0"&&1/i==-1/0?"-0":o}return Xd=r,Xd}var Qd,Xw;function au(){if(Xw)return Qd;Xw=1;var e=ou(),r=Vo();function i(o,a){a=e(a,o);for(var u=0,l=a.length;o!=null&&u<l;)o=o[r(a[u++])];return u&&u==l?o:void 0}return Qd=i,Qd}var Zd,Qw;function TM(){if(Qw)return Zd;Qw=1;var e=au();function r(i,o,a){var u=i==null?void 0:e(i,o);return u===void 0?a:u}return Zd=r,Zd}var Jd,Zw;function IM(){if(Zw)return Jd;Zw=1;function e(r,i){return r!=null&&i in Object(r)}return Jd=e,Jd}var eh,Jw;function Ob(){if(Jw)return eh;Jw=1;var e=ou(),r=Ho(),i=Qe(),o=Js(),a=Sm(),u=Vo();function l(c,d,h){d=e(d,c);for(var p=-1,m=d.length,y=!1;++p<m;){var _=u(d[p]);if(!(y=c!=null&&h(c,_)))break;c=c[_]}return y||++p!=m?y:(m=c==null?0:c.length,!!m&&a(m)&&o(_,m)&&(i(c)||r(c)))}return eh=l,eh}var th,ex;function Lb(){if(ex)return th;ex=1;var e=IM(),r=Ob();function i(o,a){return o!=null&&r(o,a,e)}return th=i,th}var nh,tx;function AM(){if(tx)return nh;tx=1;var e=Ab(),r=TM(),i=Lb(),o=qm(),a=qb(),u=Pb(),l=Vo(),c=1,d=2;function h(p,m){return o(p)&&a(m)?u(l(p),m):function(y){var _=r(y,p);return _===void 0&&_===m?i(y,p):e(m,_,c|d)}}return nh=h,nh}var rh,nx;function zb(){if(nx)return rh;nx=1;function e(r){return function(i){return i==null?void 0:i[r]}}return rh=e,rh}var ih,rx;function qM(){if(rx)return ih;rx=1;var e=au();function r(i){return function(o){return e(o,i)}}return ih=r,ih}var oh,ix;function PM(){if(ix)return oh;ix=1;var e=zb(),r=qM(),i=qm(),o=Vo();function a(u){return i(u)?e(o(u)):r(u)}return oh=a,oh}var ah,ox;function $n(){if(ox)return ah;ox=1;var e=kM(),r=AM(),i=$r(),o=Qe(),a=PM();function u(l){return typeof l=="function"?l:l==null?i:typeof l=="object"?o(l)?r(l[0],l[1]):e(l):a(l)}return ah=u,ah}var sh,ax;function jb(){if(ax)return sh;ax=1;var e=pb(),r=pM(),i=$n(),o=Qe();function a(u,l){var c=o(u)?e:r;return c(u,i(l,3))}return sh=a,sh}var uh,sx;function MM(){if(sx)return uh;sx=1;var e=Object.prototype,r=e.hasOwnProperty;function i(o,a){return o!=null&&r.call(o,a)}return uh=i,uh}var lh,ux;function Db(){if(ux)return lh;ux=1;var e=MM(),r=Ob();function i(o,a){return o!=null&&r(o,a,e)}return lh=i,lh}var ch,lx;function OM(){if(lx)return ch;lx=1;var e=km(),r=Ti(),i=Ho(),o=Qe(),a=Fn(),u=Ri(),l=tu(),c=Uo(),d="[object Map]",h="[object Set]",p=Object.prototype,m=p.hasOwnProperty;function y(_){if(_==null)return!0;if(a(_)&&(o(_)||typeof _=="string"||typeof _.splice=="function"||u(_)||c(_)||i(_)))return!_.length;var C=r(_);if(C==d||C==h)return!_.size;if(l(_))return!e(_).length;for(var w in _)if(m.call(_,w))return!1;return!0}return ch=y,ch}var fh,cx;function Fb(){if(cx)return fh;cx=1;function e(r){return r===void 0}return fh=e,fh}var dh,fx;function $b(){if(fx)return dh;fx=1;var e=ru(),r=Fn();function i(o,a){var u=-1,l=r(o)?Array(o.length):[];return e(o,function(c,d,h){l[++u]=a(c,d,h)}),l}return dh=i,dh}var hh,dx;function Bb(){if(dx)return hh;dx=1;var e=iu(),r=$n(),i=$b(),o=Qe();function a(u,l){var c=o(u)?e:i;return c(u,r(l,3))}return hh=a,hh}var ph,hx;function LM(){if(hx)return ph;hx=1;function e(r,i,o,a){var u=-1,l=r==null?0:r.length;for(a&&l&&(o=r[++u]);++u<l;)o=i(o,r[u],u,r);return o}return ph=e,ph}var vh,px;function zM(){if(px)return vh;px=1;function e(r,i,o,a,u){return u(r,function(l,c,d){o=a?(a=!1,l):i(o,l,c,d)}),o}return vh=e,vh}var mh,vx;function Hb(){if(vx)return mh;vx=1;var e=LM(),r=ru(),i=$n(),o=zM(),a=Qe();function u(l,c,d){var h=a(l)?e:o,p=arguments.length<3;return h(l,i(c,4),d,p,r)}return mh=u,mh}var gh,mx;function jM(){if(mx)return gh;mx=1;var e=jr(),r=Qe(),i=xn(),o="[object String]";function a(u){return typeof u=="string"||!r(u)&&i(u)&&e(u)==o}return gh=a,gh}var yh,gx;function DM(){if(gx)return yh;gx=1;var e=zb(),r=e("length");return yh=r,yh}var _h,yx;function FM(){if(yx)return _h;yx=1;var e="\\ud800-\\udfff",r="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",a=r+i+o,u="\\ufe0e\\ufe0f",l="\\u200d",c=RegExp("["+l+e+a+u+"]");function d(h){return c.test(h)}return _h=d,_h}var wh,_x;function $M(){if(_x)return wh;_x=1;var e="\\ud800-\\udfff",r="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",a=r+i+o,u="\\ufe0e\\ufe0f",l="["+e+"]",c="["+a+"]",d="\\ud83c[\\udffb-\\udfff]",h="(?:"+c+"|"+d+")",p="[^"+e+"]",m="(?:\\ud83c[\\udde6-\\uddff]){2}",y="[\\ud800-\\udbff][\\udc00-\\udfff]",_="\\u200d",C=h+"?",w="["+u+"]?",x="(?:"+_+"(?:"+[p,m,y].join("|")+")"+w+C+")*",E=w+C+x,k="(?:"+[p+c+"?",c,m,y,l].join("|")+")",N=RegExp(d+"(?="+d+")|"+k+E,"g");function b(I){for(var A=N.lastIndex=0;N.test(I);)++A;return A}return wh=b,wh}var xh,wx;function BM(){if(wx)return xh;wx=1;var e=DM(),r=FM(),i=$M();function o(a){return r(a)?i(a):e(a)}return xh=o,xh}var Sh,xx;function HM(){if(xx)return Sh;xx=1;var e=km(),r=Ti(),i=Fn(),o=jM(),a=BM(),u="[object Map]",l="[object Set]";function c(d){if(d==null)return 0;if(i(d))return o(d)?a(d):d.length;var h=r(d);return h==u||h==l?d.size:e(d).length}return Sh=c,Sh}var Eh,Sx;function UM(){if(Sx)return Eh;Sx=1;var e=xm(),r=Sb(),i=Im(),o=$n(),a=nu(),u=Qe(),l=Ri(),c=$o(),d=Qt(),h=Uo();function p(m,y,_){var C=u(m),w=C||l(m)||h(m);if(y=o(y,4),_==null){var x=m&&m.constructor;w?_=C?new x:[]:d(m)?_=c(x)?r(a(m)):{}:_={}}return(w?e:i)(m,function(E,k,N){return y(_,E,k,N)}),_}return Eh=p,Eh}var kh,Ex;function VM(){if(Ex)return kh;Ex=1;var e=Ni(),r=Ho(),i=Qe(),o=e?e.isConcatSpreadable:void 0;function a(u){return i(u)||r(u)||!!(o&&u&&u[o])}return kh=a,kh}var bh,kx;function Pm(){if(kx)return bh;kx=1;var e=Cm(),r=VM();function i(o,a,u,l,c){var d=-1,h=o.length;for(u||(u=r),c||(c=[]);++d<h;){var p=o[d];a>0&&u(p)?a>1?i(p,a-1,u,l,c):e(c,p):l||(c[c.length]=p)}return c}return bh=i,bh}var Ch,bx;function GM(){if(bx)return Ch;bx=1;function e(r,i,o){switch(o.length){case 0:return r.call(i);case 1:return r.call(i,o[0]);case 2:return r.call(i,o[0],o[1]);case 3:return r.call(i,o[0],o[1],o[2])}return r.apply(i,o)}return Ch=e,Ch}var Nh,Cx;function Ub(){if(Cx)return Nh;Cx=1;var e=GM(),r=Math.max;function i(o,a,u){return a=r(a===void 0?o.length-1:a,0),function(){for(var l=arguments,c=-1,d=r(l.length-a,0),h=Array(d);++c<d;)h[c]=l[a+c];c=-1;for(var p=Array(a+1);++c<a;)p[c]=l[c];return p[a]=u(h),e(o,this,p)}}return Nh=i,Nh}var Rh,Nx;function WM(){if(Nx)return Rh;Nx=1;var e=Rm(),r=lb(),i=$r(),o=r?function(a,u){return r(a,"toString",{configurable:!0,enumerable:!1,value:e(u),writable:!0})}:i;return Rh=o,Rh}var Th,Rx;function KM(){if(Rx)return Th;Rx=1;var e=800,r=16,i=Date.now;function o(a){var u=0,l=0;return function(){var c=i(),d=r-(c-l);if(l=c,d>0){if(++u>=e)return arguments[0]}else u=0;return a.apply(void 0,arguments)}}return Th=o,Th}var Ih,Tx;function Vb(){if(Tx)return Ih;Tx=1;var e=WM(),r=KM(),i=r(e);return Ih=i,Ih}var Ah,Ix;function su(){if(Ix)return Ah;Ix=1;var e=$r(),r=Ub(),i=Vb();function o(a,u){return i(r(a,u,e),a+"")}return Ah=o,Ah}var qh,Ax;function Gb(){if(Ax)return qh;Ax=1;function e(r,i,o,a){for(var u=r.length,l=o+(a?1:-1);a?l--:++l<u;)if(i(r[l],l,r))return l;return-1}return qh=e,qh}var Ph,qx;function YM(){if(qx)return Ph;qx=1;function e(r){return r!==r}return Ph=e,Ph}var Mh,Px;function XM(){if(Px)return Mh;Px=1;function e(r,i,o){for(var a=o-1,u=r.length;++a<u;)if(r[a]===i)return a;return-1}return Mh=e,Mh}var Oh,Mx;function QM(){if(Mx)return Oh;Mx=1;var e=Gb(),r=YM(),i=XM();function o(a,u,l){return u===u?i(a,u,l):e(a,r,l)}return Oh=o,Oh}var Lh,Ox;function ZM(){if(Ox)return Lh;Ox=1;var e=QM();function r(i,o){var a=i==null?0:i.length;return!!a&&e(i,o,0)>-1}return Lh=r,Lh}var zh,Lx;function JM(){if(Lx)return zh;Lx=1;function e(r,i,o){for(var a=-1,u=r==null?0:r.length;++a<u;)if(o(i,r[a]))return!0;return!1}return zh=e,zh}var jh,zx;function e3(){if(zx)return jh;zx=1;function e(){}return jh=e,jh}var Dh,jx;function t3(){if(jx)return Dh;jx=1;var e=_b(),r=e3(),i=Am(),o=1/0,a=e&&1/i(new e([,-0]))[1]==o?function(u){return new e(u)}:r;return Dh=a,Dh}var Fh,Dx;function n3(){if(Dx)return Fh;Dx=1;var e=Rb(),r=ZM(),i=JM(),o=Tb(),a=t3(),u=Am(),l=200;function c(d,h,p){var m=-1,y=r,_=d.length,C=!0,w=[],x=w;if(p)C=!1,y=i;else if(_>=l){var E=h?null:a(d);if(E)return u(E);C=!1,y=o,x=new e}else x=h?[]:w;e:for(;++m<_;){var k=d[m],N=h?h(k):k;if(k=p||k!==0?k:0,C&&N===N){for(var b=x.length;b--;)if(x[b]===N)continue e;h&&x.push(N),w.push(k)}else y(x,N,p)||(x!==w&&x.push(N),w.push(k))}return w}return Fh=c,Fh}var $h,Fx;function Wb(){if(Fx)return $h;Fx=1;var e=Fn(),r=xn();function i(o){return r(o)&&e(o)}return $h=i,$h}var Bh,$x;function r3(){if($x)return Bh;$x=1;var e=Pm(),r=su(),i=n3(),o=Wb(),a=r(function(u){return i(e(u,1,o,!0))});return Bh=a,Bh}var Hh,Bx;function i3(){if(Bx)return Hh;Bx=1;var e=iu();function r(i,o){return e(o,function(a){return i[a]})}return Hh=r,Hh}var Uh,Hx;function Kb(){if(Hx)return Uh;Hx=1;var e=i3(),r=dr();function i(o){return o==null?[]:e(o,r(o))}return Uh=i,Uh}var Vh,Ux;function Zt(){if(Ux)return Vh;Ux=1;var e;if(typeof ym=="function")try{e={clone:fM(),constant:Rm(),each:Nb(),filter:jb(),has:Db(),isArray:Qe(),isEmpty:OM(),isFunction:$o(),isUndefined:Fb(),keys:dr(),map:Bb(),reduce:Hb(),size:HM(),transform:UM(),union:r3(),values:Kb()}}catch{}return e||(e=window._),Vh=e,Vh}var Gh,Vx;function Mm(){if(Vx)return Gh;Vx=1;var e=Zt();Gh=a;var r="\0",i="\0",o="";function a(p){this._isDirected=e.has(p,"directed")?p.directed:!0,this._isMultigraph=e.has(p,"multigraph")?p.multigraph:!1,this._isCompound=e.has(p,"compound")?p.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={}}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(p){return this._label=p,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(p){return e.isFunction(p)||(p=e.constant(p)),this._defaultNodeLabelFn=p,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return e.keys(this._nodes)},a.prototype.sources=function(){var p=this;return e.filter(this.nodes(),function(m){return e.isEmpty(p._in[m])})},a.prototype.sinks=function(){var p=this;return e.filter(this.nodes(),function(m){return e.isEmpty(p._out[m])})},a.prototype.setNodes=function(p,m){var y=arguments,_=this;return e.each(p,function(C){y.length>1?_.setNode(C,m):_.setNode(C)}),this},a.prototype.setNode=function(p,m){return e.has(this._nodes,p)?(arguments.length>1&&(this._nodes[p]=m),this):(this._nodes[p]=arguments.length>1?m:this._defaultNodeLabelFn(p),this._isCompound&&(this._parent[p]=i,this._children[p]={},this._children[i][p]=!0),this._in[p]={},this._preds[p]={},this._out[p]={},this._sucs[p]={},++this._nodeCount,this)},a.prototype.node=function(p){return this._nodes[p]},a.prototype.hasNode=function(p){return e.has(this._nodes,p)},a.prototype.removeNode=function(p){var m=this;if(e.has(this._nodes,p)){var y=function(_){m.removeEdge(m._edgeObjs[_])};delete this._nodes[p],this._isCompound&&(this._removeFromParentsChildList(p),delete this._parent[p],e.each(this.children(p),function(_){m.setParent(_)}),delete this._children[p]),e.each(e.keys(this._in[p]),y),delete this._in[p],delete this._preds[p],e.each(e.keys(this._out[p]),y),delete this._out[p],delete this._sucs[p],--this._nodeCount}return this},a.prototype.setParent=function(p,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 y=m;!e.isUndefined(y);y=this.parent(y))if(y===p)throw new Error("Setting "+m+" as parent of "+p+" would create a cycle");this.setNode(m)}return this.setNode(p),this._removeFromParentsChildList(p),this._parent[p]=m,this._children[m][p]=!0,this},a.prototype._removeFromParentsChildList=function(p){delete this._children[this._parent[p]][p]},a.prototype.parent=function(p){if(this._isCompound){var m=this._parent[p];if(m!==i)return m}},a.prototype.children=function(p){if(e.isUndefined(p)&&(p=i),this._isCompound){var m=this._children[p];if(m)return e.keys(m)}else{if(p===i)return this.nodes();if(this.hasNode(p))return[]}},a.prototype.predecessors=function(p){var m=this._preds[p];if(m)return e.keys(m)},a.prototype.successors=function(p){var m=this._sucs[p];if(m)return e.keys(m)},a.prototype.neighbors=function(p){var m=this.predecessors(p);if(m)return e.union(m,this.successors(p))},a.prototype.isLeaf=function(p){var m;return this.isDirected()?m=this.successors(p):m=this.neighbors(p),m.length===0},a.prototype.filterNodes=function(p){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var y=this;e.each(this._nodes,function(w,x){p(x)&&m.setNode(x,w)}),e.each(this._edgeObjs,function(w){m.hasNode(w.v)&&m.hasNode(w.w)&&m.setEdge(w,y.edge(w))});var _={};function C(w){var x=y.parent(w);return x===void 0||m.hasNode(x)?(_[w]=x,x):x in _?_[x]:C(x)}return this._isCompound&&e.each(m.nodes(),function(w){m.setParent(w,C(w))}),m},a.prototype.setDefaultEdgeLabel=function(p){return e.isFunction(p)||(p=e.constant(p)),this._defaultEdgeLabelFn=p,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return e.values(this._edgeObjs)},a.prototype.setPath=function(p,m){var y=this,_=arguments;return e.reduce(p,function(C,w){return _.length>1?y.setEdge(C,w,m):y.setEdge(C,w),w}),this},a.prototype.setEdge=function(){var p,m,y,_,C=!1,w=arguments[0];typeof w=="object"&&w!==null&&"v"in w?(p=w.v,m=w.w,y=w.name,arguments.length===2&&(_=arguments[1],C=!0)):(p=w,m=arguments[1],y=arguments[3],arguments.length>2&&(_=arguments[2],C=!0)),p=""+p,m=""+m,e.isUndefined(y)||(y=""+y);var x=c(this._isDirected,p,m,y);if(e.has(this._edgeLabels,x))return C&&(this._edgeLabels[x]=_),this;if(!e.isUndefined(y)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(p),this.setNode(m),this._edgeLabels[x]=C?_:this._defaultEdgeLabelFn(p,m,y);var E=d(this._isDirected,p,m,y);return p=E.v,m=E.w,Object.freeze(E),this._edgeObjs[x]=E,u(this._preds[m],p),u(this._sucs[p],m),this._in[m][x]=E,this._out[p][x]=E,this._edgeCount++,this},a.prototype.edge=function(p,m,y){var _=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,p,m,y);return this._edgeLabels[_]},a.prototype.hasEdge=function(p,m,y){var _=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,p,m,y);return e.has(this._edgeLabels,_)},a.prototype.removeEdge=function(p,m,y){var _=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,p,m,y),C=this._edgeObjs[_];return C&&(p=C.v,m=C.w,delete this._edgeLabels[_],delete this._edgeObjs[_],l(this._preds[m],p),l(this._sucs[p],m),delete this._in[m][_],delete this._out[p][_],this._edgeCount--),this},a.prototype.inEdges=function(p,m){var y=this._in[p];if(y){var _=e.values(y);return m?e.filter(_,function(C){return C.v===m}):_}},a.prototype.outEdges=function(p,m){var y=this._out[p];if(y){var _=e.values(y);return m?e.filter(_,function(C){return C.w===m}):_}},a.prototype.nodeEdges=function(p,m){var y=this.inEdges(p,m);if(y)return y.concat(this.outEdges(p,m))};function u(p,m){p[m]?p[m]++:p[m]=1}function l(p,m){--p[m]||delete p[m]}function c(p,m,y,_){var C=""+m,w=""+y;if(!p&&C>w){var x=C;C=w,w=x}return C+o+w+o+(e.isUndefined(_)?r:_)}function d(p,m,y,_){var C=""+m,w=""+y;if(!p&&C>w){var x=C;C=w,w=x}var E={v:C,w};return _&&(E.name=_),E}function h(p,m){return c(p,m.v,m.w,m.name)}return Gh}var Wh,Gx;function o3(){return Gx||(Gx=1,Wh="2.1.8"),Wh}var Kh,Wx;function a3(){return Wx||(Wx=1,Kh={Graph:Mm(),version:o3()}),Kh}var Yh,Kx;function s3(){if(Kx)return Yh;Kx=1;var e=Zt(),r=Mm();Yh={write:i,read:u};function i(l){var c={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:o(l),edges:a(l)};return e.isUndefined(l.graph())||(c.value=e.clone(l.graph())),c}function o(l){return e.map(l.nodes(),function(c){var d=l.node(c),h=l.parent(c),p={v:c};return e.isUndefined(d)||(p.value=d),e.isUndefined(h)||(p.parent=h),p})}function a(l){return e.map(l.edges(),function(c){var d=l.edge(c),h={v:c.v,w:c.w};return e.isUndefined(c.name)||(h.name=c.name),e.isUndefined(d)||(h.value=d),h})}function u(l){var c=new r(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 Yh}var Xh,Yx;function u3(){if(Yx)return Xh;Yx=1;var e=Zt();Xh=r;function r(i){var o={},a=[],u;function l(c){e.has(o,c)||(o[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&&a.push(u)}),a}return Xh}var Qh,Xx;function Yb(){if(Xx)return Qh;Xx=1;var e=Zt();Qh=r;function r(){this._arr=[],this._keyIndices={}}return r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(i){return i.key})},r.prototype.has=function(i){return e.has(this._keyIndices,i)},r.prototype.priority=function(i){var o=this._keyIndices[i];if(o!==void 0)return this._arr[o].priority},r.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(i,o){var a=this._keyIndices;if(i=String(i),!e.has(a,i)){var u=this._arr,l=u.length;return a[i]=l,u.push({key:i,priority:o}),this._decrease(l),!0}return!1},r.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},r.prototype.decrease=function(i,o){var a=this._keyIndices[i];if(o>this._arr[a].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[a].priority+" New: "+o);this._arr[a].priority=o,this._decrease(a)},r.prototype._heapify=function(i){var o=this._arr,a=2*i,u=a+1,l=i;a<o.length&&(l=o[a].priority<o[l].priority?a:l,u<o.length&&(l=o[u].priority<o[l].priority?u:l),l!==i&&(this._swap(i,l),this._heapify(l)))},r.prototype._decrease=function(i){for(var o=this._arr,a=o[i].priority,u;i!==0&&(u=i>>1,!(o[u].priority<a));)this._swap(i,u),i=u},r.prototype._swap=function(i,o){var a=this._arr,u=this._keyIndices,l=a[i],c=a[o];a[i]=c,a[o]=l,u[c.key]=i,u[l.key]=o},Qh}var Zh,Qx;function Xb(){if(Qx)return Zh;Qx=1;var e=Zt(),r=Yb();Zh=o;var i=e.constant(1);function o(u,l,c,d){return a(u,String(l),c||i,d||function(h){return u.outEdges(h)})}function a(u,l,c,d){var h={},p=new r,m,y,_=function(C){var w=C.v!==m?C.v:C.w,x=h[w],E=c(C),k=y.distance+E;if(E<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+C+" Weight: "+E);k<x.distance&&(x.distance=k,x.predecessor=m,p.decrease(w,k))};for(u.nodes().forEach(function(C){var w=C===l?0:Number.POSITIVE_INFINITY;h[C]={distance:w},p.add(C,w)});p.size()>0&&(m=p.removeMin(),y=h[m],y.distance!==Number.POSITIVE_INFINITY);)d(m).forEach(_);return h}return Zh}var Jh,Zx;function l3(){if(Zx)return Jh;Zx=1;var e=Xb(),r=Zt();Jh=i;function i(o,a,u){return r.transform(o.nodes(),function(l,c){l[c]=e(o,c,a,u)},{})}return Jh}var ep,Jx;function Qb(){if(Jx)return ep;Jx=1;var e=Zt();ep=r;function r(i){var o=0,a=[],u={},l=[];function c(d){var h=u[d]={onStack:!0,lowlink:o,index:o++};if(a.push(d),i.successors(d).forEach(function(y){e.has(u,y)?u[y].onStack&&(h.lowlink=Math.min(h.lowlink,u[y].index)):(c(y),h.lowlink=Math.min(h.lowlink,u[y].lowlink))}),h.lowlink===h.index){var p=[],m;do m=a.pop(),u[m].onStack=!1,p.push(m);while(d!==m);l.push(p)}}return i.nodes().forEach(function(d){e.has(u,d)||c(d)}),l}return ep}var tp,eS;function c3(){if(eS)return tp;eS=1;var e=Zt(),r=Qb();tp=i;function i(o){return e.filter(r(o),function(a){return a.length>1||a.length===1&&o.hasEdge(a[0],a[0])})}return tp}var np,tS;function f3(){if(tS)return np;tS=1;var e=Zt();np=i;var r=e.constant(1);function i(a,u,l){return o(a,u||r,l||function(c){return a.outEdges(c)})}function o(a,u,l){var c={},d=a.nodes();return d.forEach(function(h){c[h]={},c[h][h]={distance:0},d.forEach(function(p){h!==p&&(c[h][p]={distance:Number.POSITIVE_INFINITY})}),l(h).forEach(function(p){var m=p.v===h?p.w:p.v,y=u(p);c[h][m]={distance:y,predecessor:h}})}),d.forEach(function(h){var p=c[h];d.forEach(function(m){var y=c[m];d.forEach(function(_){var C=y[h],w=p[_],x=y[_],E=C.distance+w.distance;E<x.distance&&(x.distance=E,x.predecessor=w.predecessor)})})}),c}return np}var rp,nS;function Zb(){if(nS)return rp;nS=1;var e=Zt();rp=r,r.CycleException=i;function r(o){var a={},u={},l=[];function c(d){if(e.has(u,d))throw new i;e.has(a,d)||(u[d]=!0,a[d]=!0,e.each(o.predecessors(d),c),delete u[d],l.push(d))}if(e.each(o.sinks(),c),e.size(a)!==o.nodeCount())throw new i;return l}function i(){}return i.prototype=new Error,rp}var ip,rS;function d3(){if(rS)return ip;rS=1;var e=Zb();ip=r;function r(i){try{e(i)}catch(o){if(o instanceof e.CycleException)return!1;throw o}return!0}return ip}var op,iS;function Jb(){if(iS)return op;iS=1;var e=Zt();op=r;function r(o,a,u){e.isArray(a)||(a=[a]);var l=(o.isDirected()?o.successors:o.neighbors).bind(o),c=[],d={};return e.each(a,function(h){if(!o.hasNode(h))throw new Error("Graph does not have node: "+h);i(o,h,u==="post",d,l,c)}),c}function i(o,a,u,l,c,d){e.has(l,a)||(l[a]=!0,u||d.push(a),e.each(c(a),function(h){i(o,h,u,l,c,d)}),u&&d.push(a))}return op}var ap,oS;function h3(){if(oS)return ap;oS=1;var e=Jb();ap=r;function r(i,o){return e(i,o,"post")}return ap}var sp,aS;function p3(){if(aS)return sp;aS=1;var e=Jb();sp=r;function r(i,o){return e(i,o,"pre")}return sp}var up,sS;function v3(){if(sS)return up;sS=1;var e=Zt(),r=Mm(),i=Yb();up=o;function o(a,u){var l=new r,c={},d=new i,h;function p(y){var _=y.v===h?y.w:y.v,C=d.priority(_);if(C!==void 0){var w=u(y);w<C&&(c[_]=h,d.decrease(_,w))}}if(a.nodeCount()===0)return l;e.each(a.nodes(),function(y){d.add(y,Number.POSITIVE_INFINITY),l.setNode(y)}),d.decrease(a.nodes()[0],0);for(var m=!1;d.size()>0;){if(h=d.removeMin(),e.has(c,h))l.setEdge(h,c[h]);else{if(m)throw new Error("Input graph is not connected: "+a);m=!0}a.nodeEdges(h).forEach(p)}return l}return up}var lp,uS;function m3(){return uS||(uS=1,lp={components:u3(),dijkstra:Xb(),dijkstraAll:l3(),findCycles:c3(),floydWarshall:f3(),isAcyclic:d3(),postorder:h3(),preorder:p3(),prim:v3(),tarjan:Qb(),topsort:Zb()}),lp}var cp,lS;function g3(){if(lS)return cp;lS=1;var e=a3();return cp={Graph:e.Graph,json:s3(),alg:m3(),version:e.version},cp}var fp,cS;function cn(){if(cS)return fp;cS=1;var e;if(typeof ym=="function")try{e=g3()}catch{}return e||(e=window.graphlib),fp=e,fp}var dp,fS;function y3(){if(fS)return dp;fS=1;var e=kb(),r=1,i=4;function o(a){return e(a,r|i)}return dp=o,dp}var hp,dS;function uu(){if(dS)return hp;dS=1;var e=Ci(),r=Fn(),i=Js(),o=Qt();function a(u,l,c){if(!o(c))return!1;var d=typeof l;return(d=="number"?r(c)&&i(l,c.length):d=="string"&&l in c)?e(c[l],u):!1}return hp=a,hp}var pp,hS;function _3(){if(hS)return pp;hS=1;var e=su(),r=Ci(),i=uu(),o=Fr(),a=Object.prototype,u=a.hasOwnProperty,l=e(function(c,d){c=Object(c);var h=-1,p=d.length,m=p>2?d[2]:void 0;for(m&&i(d[0],d[1],m)&&(p=1);++h<p;)for(var y=d[h],_=o(y),C=-1,w=_.length;++C<w;){var x=_[C],E=c[x];(E===void 0||r(E,a[x])&&!u.call(c,x))&&(c[x]=y[x])}return c});return pp=l,pp}var vp,pS;function w3(){if(pS)return vp;pS=1;var e=$n(),r=Fn(),i=dr();function o(a){return function(u,l,c){var d=Object(u);if(!r(u)){var h=e(l,3);u=i(u),l=function(m){return h(d[m],m,d)}}var p=a(u,l,c);return p>-1?d[h?u[p]:p]:void 0}}return vp=o,vp}var mp,vS;function x3(){if(vS)return mp;vS=1;var e=/\s/;function r(i){for(var o=i.length;o--&&e.test(i.charAt(o)););return o}return mp=r,mp}var gp,mS;function S3(){if(mS)return gp;mS=1;var e=x3(),r=/^\s+/;function i(o){return o&&o.slice(0,e(o)+1).replace(r,"")}return gp=i,gp}var yp,gS;function E3(){if(gS)return yp;gS=1;var e=S3(),r=Qt(),i=Ii(),o=NaN,a=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;function d(h){if(typeof h=="number")return h;if(i(h))return o;if(r(h)){var p=typeof h.valueOf=="function"?h.valueOf():h;h=r(p)?p+"":p}if(typeof h!="string")return h===0?h:+h;h=e(h);var m=u.test(h);return m||l.test(h)?c(h.slice(2),m?2:8):a.test(h)?o:+h}return yp=d,yp}var _p,yS;function eC(){if(yS)return _p;yS=1;var e=E3(),r=1/0,i=17976931348623157e292;function o(a){if(!a)return a===0?a:0;if(a=e(a),a===r||a===-r){var u=a<0?-1:1;return u*i}return a===a?a:0}return _p=o,_p}var wp,_S;function k3(){if(_S)return wp;_S=1;var e=eC();function r(i){var o=e(i),a=o%1;return o===o?a?o-a:o:0}return wp=r,wp}var xp,wS;function b3(){if(wS)return xp;wS=1;var e=Gb(),r=$n(),i=k3(),o=Math.max;function a(u,l,c){var d=u==null?0:u.length;if(!d)return-1;var h=c==null?0:i(c);return h<0&&(h=o(d+h,0)),e(u,r(l,3),h)}return xp=a,xp}var Sp,xS;function C3(){if(xS)return Sp;xS=1;var e=w3(),r=b3(),i=e(r);return Sp=i,Sp}var Ep,SS;function tC(){if(SS)return Ep;SS=1;var e=Pm();function r(i){var o=i==null?0:i.length;return o?e(i,1):[]}return Ep=r,Ep}var kp,ES;function N3(){if(ES)return kp;ES=1;var e=Tm(),r=bb(),i=Fr();function o(a,u){return a==null?a:e(a,r(u),i)}return kp=o,kp}var bp,kS;function R3(){if(kS)return bp;kS=1;function e(r){var i=r==null?0:r.length;return i?r[i-1]:void 0}return bp=e,bp}var Cp,bS;function T3(){if(bS)return Cp;bS=1;var e=Qs(),r=Im(),i=$n();function o(a,u){var l={};return u=i(u,3),r(a,function(c,d,h){e(l,d,u(c,d,h))}),l}return Cp=o,Cp}var Np,CS;function Om(){if(CS)return Np;CS=1;var e=Ii();function r(i,o,a){for(var u=-1,l=i.length;++u<l;){var c=i[u],d=o(c);if(d!=null&&(h===void 0?d===d&&!e(d):a(d,h)))var h=d,p=c}return p}return Np=r,Np}var Rp,NS;function I3(){if(NS)return Rp;NS=1;function e(r,i){return r>i}return Rp=e,Rp}var Tp,RS;function A3(){if(RS)return Tp;RS=1;var e=Om(),r=I3(),i=$r();function o(a){return a&&a.length?e(a,i,r):void 0}return Tp=o,Tp}var Ip,TS;function nC(){if(TS)return Ip;TS=1;var e=Qs(),r=Ci();function i(o,a,u){(u!==void 0&&!r(o[a],u)||u===void 0&&!(a in o))&&e(o,a,u)}return Ip=i,Ip}var Ap,IS;function q3(){if(IS)return Ap;IS=1;var e=jr(),r=nu(),i=xn(),o="[object Object]",a=Function.prototype,u=Object.prototype,l=a.toString,c=u.hasOwnProperty,d=l.call(Object);function h(p){if(!i(p)||e(p)!=o)return!1;var m=r(p);if(m===null)return!0;var y=c.call(m,"constructor")&&m.constructor;return typeof y=="function"&&y instanceof y&&l.call(y)==d}return Ap=h,Ap}var qp,AS;function rC(){if(AS)return qp;AS=1;function e(r,i){if(!(i==="constructor"&&typeof r[i]=="function")&&i!="__proto__")return r[i]}return qp=e,qp}var Pp,qS;function P3(){if(qS)return Pp;qS=1;var e=Bo(),r=Fr();function i(o){return e(o,r(o))}return Pp=i,Pp}var Mp,PS;function M3(){if(PS)return Mp;PS=1;var e=nC(),r=db(),i=xb(),o=hb(),a=Eb(),u=Ho(),l=Qe(),c=Wb(),d=Ri(),h=$o(),p=Qt(),m=q3(),y=Uo(),_=rC(),C=P3();function w(x,E,k,N,b,I,A){var P=_(x,k),H=_(E,k),z=A.get(H);if(z){e(x,k,z);return}var U=I?I(P,H,k+"",x,E,A):void 0,V=U===void 0;if(V){var ee=l(H),J=!ee&&d(H),R=!ee&&!J&&y(H);U=H,ee||J||R?l(P)?U=P:c(P)?U=o(P):J?(V=!1,U=r(H,!0)):R?(V=!1,U=i(H,!0)):U=[]:m(H)||u(H)?(U=P,u(P)?U=C(P):(!p(P)||h(P))&&(U=a(H))):V=!1}V&&(A.set(H,U),b(U,H,N,I,A),A.delete(H)),e(x,k,U)}return Mp=w,Mp}var Op,MS;function O3(){if(MS)return Op;MS=1;var e=Xs(),r=nC(),i=Tm(),o=M3(),a=Qt(),u=Fr(),l=rC();function c(d,h,p,m,y){d!==h&&i(h,function(_,C){if(y||(y=new e),a(_))o(d,h,C,p,c,m,y);else{var w=m?m(l(d,C),_,C+"",d,h,y):void 0;w===void 0&&(w=_),r(d,C,w)}},u)}return Op=c,Op}var Lp,OS;function L3(){if(OS)return Lp;OS=1;var e=su(),r=uu();function i(o){return e(function(a,u){var l=-1,c=u.length,d=c>1?u[c-1]:void 0,h=c>2?u[2]:void 0;for(d=o.length>3&&typeof d=="function"?(c--,d):void 0,h&&r(u[0],u[1],h)&&(d=c<3?void 0:d,c=1),a=Object(a);++l<c;){var p=u[l];p&&o(a,p,l,d)}return a})}return Lp=i,Lp}var zp,LS;function z3(){if(LS)return zp;LS=1;var e=O3(),r=L3(),i=r(function(o,a,u){e(o,a,u)});return zp=i,zp}var jp,zS;function iC(){if(zS)return jp;zS=1;function e(r,i){return r<i}return jp=e,jp}var Dp,jS;function j3(){if(jS)return Dp;jS=1;var e=Om(),r=iC(),i=$r();function o(a){return a&&a.length?e(a,i,r):void 0}return Dp=o,Dp}var Fp,DS;function D3(){if(DS)return Fp;DS=1;var e=Om(),r=$n(),i=iC();function o(a,u){return a&&a.length?e(a,r(u,2),i):void 0}return Fp=o,Fp}var $p,FS;function F3(){if(FS)return $p;FS=1;var e=dn(),r=function(){return e.Date.now()};return $p=r,$p}var Bp,$S;function $3(){if($S)return Bp;$S=1;var e=Zs(),r=ou(),i=Js(),o=Qt(),a=Vo();function u(l,c,d,h){if(!o(l))return l;c=r(c,l);for(var p=-1,m=c.length,y=m-1,_=l;_!=null&&++p<m;){var C=a(c[p]),w=d;if(C==="__proto__"||C==="constructor"||C==="prototype")return l;if(p!=y){var x=_[C];w=h?h(x,C,_):void 0,w===void 0&&(w=o(x)?x:i(c[p+1])?[]:{})}e(_,C,w),_=_[C]}return l}return Bp=u,Bp}var Hp,BS;function B3(){if(BS)return Hp;BS=1;var e=au(),r=$3(),i=ou();function o(a,u,l){for(var c=-1,d=u.length,h={};++c<d;){var p=u[c],m=e(a,p);l(m,p)&&r(h,i(p,a),m)}return h}return Hp=o,Hp}var Up,HS;function H3(){if(HS)return Up;HS=1;var e=B3(),r=Lb();function i(o,a){return e(o,a,function(u,l){return r(o,l)})}return Up=i,Up}var Vp,US;function U3(){if(US)return Vp;US=1;var e=tC(),r=Ub(),i=Vb();function o(a){return i(r(a,void 0,e),a+"")}return Vp=o,Vp}var Gp,VS;function V3(){if(VS)return Gp;VS=1;var e=H3(),r=U3(),i=r(function(o,a){return o==null?{}:e(o,a)});return Gp=i,Gp}var Wp,GS;function G3(){if(GS)return Wp;GS=1;var e=Math.ceil,r=Math.max;function i(o,a,u,l){for(var c=-1,d=r(e((a-o)/(u||1)),0),h=Array(d);d--;)h[l?d:++c]=o,o+=u;return h}return Wp=i,Wp}var Kp,WS;function W3(){if(WS)return Kp;WS=1;var e=G3(),r=uu(),i=eC();function o(a){return function(u,l,c){return c&&typeof c!="number"&&r(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,a)}}return Kp=o,Kp}var Yp,KS;function K3(){if(KS)return Yp;KS=1;var e=W3(),r=e();return Yp=r,Yp}var Xp,YS;function Y3(){if(YS)return Xp;YS=1;function e(r,i){var o=r.length;for(r.sort(i);o--;)r[o]=r[o].value;return r}return Xp=e,Xp}var Qp,XS;function X3(){if(XS)return Qp;XS=1;var e=Ii();function r(i,o){if(i!==o){var a=i!==void 0,u=i===null,l=i===i,c=e(i),d=o!==void 0,h=o===null,p=o===o,m=e(o);if(!h&&!m&&!c&&i>o||c&&d&&p&&!h&&!m||u&&d&&p||!a&&p||!l)return 1;if(!u&&!c&&!m&&i<o||m&&a&&l&&!u&&!c||h&&a&&l||!d&&l||!p)return-1}return 0}return Qp=r,Qp}var Zp,QS;function Q3(){if(QS)return Zp;QS=1;var e=X3();function r(i,o,a){for(var u=-1,l=i.criteria,c=o.criteria,d=l.length,h=a.length;++u<d;){var p=e(l[u],c[u]);if(p){if(u>=h)return p;var m=a[u];return p*(m=="desc"?-1:1)}}return i.index-o.index}return Zp=r,Zp}var Jp,ZS;function Z3(){if(ZS)return Jp;ZS=1;var e=iu(),r=au(),i=$n(),o=$b(),a=Y3(),u=eu(),l=Q3(),c=$r(),d=Qe();function h(p,m,y){m.length?m=e(m,function(w){return d(w)?function(x){return r(x,w.length===1?w[0]:w)}:w}):m=[c];var _=-1;m=e(m,u(i));var C=o(p,function(w,x,E){var k=e(m,function(N){return N(w)});return{criteria:k,index:++_,value:w}});return a(C,function(w,x){return l(w,x,y)})}return Jp=h,Jp}var ev,JS;function J3(){if(JS)return ev;JS=1;var e=Pm(),r=Z3(),i=su(),o=uu(),a=i(function(u,l){if(u==null)return[];var c=l.length;return c>1&&o(u,l[0],l[1])?l=[]:c>2&&o(l[0],l[1],l[2])&&(l=[l[0]]),r(u,e(l,1),[])});return ev=a,ev}var tv,eE;function eO(){if(eE)return tv;eE=1;var e=Mb(),r=0;function i(o){var a=++r;return e(o)+a}return tv=i,tv}var nv,tE;function tO(){if(tE)return nv;tE=1;function e(r,i,o){for(var a=-1,u=r.length,l=i.length,c={};++a<u;){var d=a<l?i[a]:void 0;o(c,r[a],d)}return c}return nv=e,nv}var rv,nE;function nO(){if(nE)return rv;nE=1;var e=Zs(),r=tO();function i(o,a){return r(o||[],a||[],e)}return rv=i,rv}var iv,rE;function He(){if(rE)return iv;rE=1;var e;if(typeof ym=="function")try{e={cloneDeep:y3(),constant:Rm(),defaults:_3(),each:Nb(),filter:jb(),find:C3(),flatten:tC(),forEach:Cb(),forIn:N3(),has:Db(),isUndefined:Fb(),last:R3(),map:Bb(),mapValues:T3(),max:A3(),merge:z3(),min:j3(),minBy:D3(),now:F3(),pick:V3(),range:K3(),reduce:Hb(),sortBy:J3(),uniqueId:eO(),values:Kb(),zipObject:nO()}}catch{}return e||(e=window._),iv=e,iv}var ov,iE;function rO(){if(iE)return ov;iE=1,ov=e;function e(){var o={};o._next=o._prev=o,this._sentinel=o}e.prototype.dequeue=function(){var o=this._sentinel,a=o._prev;if(a!==o)return r(a),a},e.prototype.enqueue=function(o){var a=this._sentinel;o._prev&&o._next&&r(o),o._next=a._next,a._next._prev=o,a._next=o,o._prev=a},e.prototype.toString=function(){for(var o=[],a=this._sentinel,u=a._prev;u!==a;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"};function r(o){o._prev._next=o._next,o._next._prev=o._prev,delete o._next,delete o._prev}function i(o,a){if(o!=="_next"&&o!=="_prev")return a}return ov}var av,oE;function iO(){if(oE)return av;oE=1;var e=He(),r=cn().Graph,i=rO();av=a;var o=e.constant(1);function a(h,p){if(h.nodeCount()<=1)return[];var m=c(h,p||o),y=u(m.graph,m.buckets,m.zeroIdx);return e.flatten(e.map(y,function(_){return h.outEdges(_.v,_.w)}),!0)}function u(h,p,m){for(var y=[],_=p[p.length-1],C=p[0],w;h.nodeCount();){for(;w=C.dequeue();)l(h,p,m,w);for(;w=_.dequeue();)l(h,p,m,w);if(h.nodeCount()){for(var x=p.length-2;x>0;--x)if(w=p[x].dequeue(),w){y=y.concat(l(h,p,m,w,!0));break}}}return y}function l(h,p,m,y,_){var C=_?[]:void 0;return e.forEach(h.inEdges(y.v),function(w){var x=h.edge(w),E=h.node(w.v);_&&C.push({v:w.v,w:w.w}),E.out-=x,d(p,m,E)}),e.forEach(h.outEdges(y.v),function(w){var x=h.edge(w),E=w.w,k=h.node(E);k.in-=x,d(p,m,k)}),h.removeNode(y.v),C}function c(h,p){var m=new r,y=0,_=0;e.forEach(h.nodes(),function(x){m.setNode(x,{v:x,in:0,out:0})}),e.forEach(h.edges(),function(x){var E=m.edge(x.v,x.w)||0,k=p(x),N=E+k;m.setEdge(x.v,x.w,N),_=Math.max(_,m.node(x.v).out+=k),y=Math.max(y,m.node(x.w).in+=k)});var C=e.range(_+y+3).map(function(){return new i}),w=y+1;return e.forEach(m.nodes(),function(x){d(C,w,m.node(x))}),{graph:m,buckets:C,zeroIdx:w}}function d(h,p,m){m.out?m.in?h[m.out-m.in+p].enqueue(m):h[h.length-1].enqueue(m):h[0].enqueue(m)}return av}var sv,aE;function oO(){if(aE)return sv;aE=1;var e=He(),r=iO();sv={run:i,undo:a};function i(u){var l=u.graph().acyclicer==="greedy"?r(u,c(u)):o(u);e.forEach(l,function(d){var h=u.edge(d);u.removeEdge(d),h.forwardName=d.name,h.reversed=!0,u.setEdge(d.w,d.v,h,e.uniqueId("rev"))});function c(d){return function(h){return d.edge(h).weight}}}function o(u){var l=[],c={},d={};function h(p){e.has(d,p)||(d[p]=!0,c[p]=!0,e.forEach(u.outEdges(p),function(m){e.has(c,m.w)?l.push(m):h(m.w)}),delete c[p])}return e.forEach(u.nodes(),h),l}function a(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 sv}var uv,sE;function Pt(){if(sE)return uv;sE=1;var e=He(),r=cn().Graph;uv={addDummyNode:i,simplify:o,asNonCompoundGraph:a,successorWeights:u,predecessorWeights:l,intersectRect:c,buildLayerMatrix:d,normalizeRanks:h,removeEmptyRanks:p,addBorderNode:m,maxRank:y,partition:_,time:C,notime:w};function i(x,E,k,N){var b;do b=e.uniqueId(N);while(x.hasNode(b));return k.dummy=E,x.setNode(b,k),b}function o(x){var E=new r().setGraph(x.graph());return e.forEach(x.nodes(),function(k){E.setNode(k,x.node(k))}),e.forEach(x.edges(),function(k){var N=E.edge(k.v,k.w)||{weight:0,minlen:1},b=x.edge(k);E.setEdge(k.v,k.w,{weight:N.weight+b.weight,minlen:Math.max(N.minlen,b.minlen)})}),E}function a(x){var E=new r({multigraph:x.isMultigraph()}).setGraph(x.graph());return e.forEach(x.nodes(),function(k){x.children(k).length||E.setNode(k,x.node(k))}),e.forEach(x.edges(),function(k){E.setEdge(k,x.edge(k))}),E}function u(x){var E=e.map(x.nodes(),function(k){var N={};return e.forEach(x.outEdges(k),function(b){N[b.w]=(N[b.w]||0)+x.edge(b).weight}),N});return e.zipObject(x.nodes(),E)}function l(x){var E=e.map(x.nodes(),function(k){var N={};return e.forEach(x.inEdges(k),function(b){N[b.v]=(N[b.v]||0)+x.edge(b).weight}),N});return e.zipObject(x.nodes(),E)}function c(x,E){var k=x.x,N=x.y,b=E.x-k,I=E.y-N,A=x.width/2,P=x.height/2;if(!b&&!I)throw new Error("Not possible to find intersection inside of the rectangle");var H,z;return Math.abs(I)*A>Math.abs(b)*P?(I<0&&(P=-P),H=P*b/I,z=P):(b<0&&(A=-A),H=A,z=A*I/b),{x:k+H,y:N+z}}function d(x){var E=e.map(e.range(y(x)+1),function(){return[]});return e.forEach(x.nodes(),function(k){var N=x.node(k),b=N.rank;e.isUndefined(b)||(E[b][N.order]=k)}),E}function h(x){var E=e.min(e.map(x.nodes(),function(k){return x.node(k).rank}));e.forEach(x.nodes(),function(k){var N=x.node(k);e.has(N,"rank")&&(N.rank-=E)})}function p(x){var E=e.min(e.map(x.nodes(),function(I){return x.node(I).rank})),k=[];e.forEach(x.nodes(),function(I){var A=x.node(I).rank-E;k[A]||(k[A]=[]),k[A].push(I)});var N=0,b=x.graph().nodeRankFactor;e.forEach(k,function(I,A){e.isUndefined(I)&&A%b!==0?--N:N&&e.forEach(I,function(P){x.node(P).rank+=N})})}function m(x,E,k,N){var b={width:0,height:0};return arguments.length>=4&&(b.rank=k,b.order=N),i(x,"border",b,E)}function y(x){return e.max(e.map(x.nodes(),function(E){var k=x.node(E).rank;if(!e.isUndefined(k))return k}))}function _(x,E){var k={lhs:[],rhs:[]};return e.forEach(x,function(N){E(N)?k.lhs.push(N):k.rhs.push(N)}),k}function C(x,E){var k=e.now();try{return E()}finally{console.log(x+" time: "+(e.now()-k)+"ms")}}function w(x,E){return E()}return uv}var lv,uE;function aO(){if(uE)return lv;uE=1;var e=He(),r=Pt();lv={run:i,undo:a};function i(u){u.graph().dummyChains=[],e.forEach(u.edges(),function(l){o(u,l)})}function o(u,l){var c=l.v,d=u.node(c).rank,h=l.w,p=u.node(h).rank,m=l.name,y=u.edge(l),_=y.labelRank;if(p!==d+1){u.removeEdge(l);var C,w,x;for(x=0,++d;d<p;++x,++d)y.points=[],w={width:0,height:0,edgeLabel:y,edgeObj:l,rank:d},C=r.addDummyNode(u,"edge",w,"_d"),d===_&&(w.width=y.width,w.height=y.height,w.dummy="edge-label",w.labelpos=y.labelpos),u.setEdge(c,C,{weight:y.weight},m),x===0&&u.graph().dummyChains.push(C),c=C;u.setEdge(c,h,{weight:y.weight},m)}}function a(u){e.forEach(u.graph().dummyChains,function(l){var c=u.node(l),d=c.edgeLabel,h;for(u.setEdge(c.edgeObj,d);c.dummy;)h=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=h,c=u.node(l)})}return lv}var cv,lE;function zs(){if(lE)return cv;lE=1;var e=He();cv={longestPath:r,slack:i};function r(o){var a={};function u(l){var c=o.node(l);if(e.has(a,l))return c.rank;a[l]=!0;var d=e.min(e.map(o.outEdges(l),function(h){return u(h.w)-o.edge(h).minlen}));return(d===Number.POSITIVE_INFINITY||d===void 0||d===null)&&(d=0),c.rank=d}e.forEach(o.sources(),u)}function i(o,a){return o.node(a.w).rank-o.node(a.v).rank-o.edge(a).minlen}return cv}var fv,cE;function oC(){if(cE)return fv;cE=1;var e=He(),r=cn().Graph,i=zs().slack;fv=o;function o(c){var d=new r({directed:!1}),h=c.nodes()[0],p=c.nodeCount();d.setNode(h,{});for(var m,y;a(d,c)<p;)m=u(d,c),y=d.hasNode(m.v)?i(c,m):-i(c,m),l(d,c,y);return d}function a(c,d){function h(p){e.forEach(d.nodeEdges(p),function(m){var y=m.v,_=p===y?m.w:y;!c.hasNode(_)&&!i(d,m)&&(c.setNode(_,{}),c.setEdge(p,_,{}),h(_))})}return e.forEach(c.nodes(),h),c.nodeCount()}function u(c,d){return e.minBy(d.edges(),function(h){if(c.hasNode(h.v)!==c.hasNode(h.w))return i(d,h)})}function l(c,d,h){e.forEach(c.nodes(),function(p){d.node(p).rank+=h})}return fv}var dv,fE;function sO(){if(fE)return dv;fE=1;var e=He(),r=oC(),i=zs().slack,o=zs().longestPath,a=cn().alg.preorder,u=cn().alg.postorder,l=Pt().simplify;dv=c,c.initLowLimValues=m,c.initCutValues=d,c.calcCutValue=p,c.leaveEdge=_,c.enterEdge=C,c.exchangeEdges=w;function c(N){N=l(N),o(N);var b=r(N);m(b),d(b,N);for(var I,A;I=_(b);)A=C(b,N,I),w(b,N,I,A)}function d(N,b){var I=u(N,N.nodes());I=I.slice(0,I.length-1),e.forEach(I,function(A){h(N,b,A)})}function h(N,b,I){var A=N.node(I),P=A.parent;N.edge(I,P).cutvalue=p(N,b,I)}function p(N,b,I){var A=N.node(I),P=A.parent,H=!0,z=b.edge(I,P),U=0;return z||(H=!1,z=b.edge(P,I)),U=z.weight,e.forEach(b.nodeEdges(I),function(V){var ee=V.v===I,J=ee?V.w:V.v;if(J!==P){var R=ee===H,G=b.edge(V).weight;if(U+=R?G:-G,E(N,I,J)){var $=N.edge(I,J).cutvalue;U+=R?-$:$}}}),U}function m(N,b){arguments.length<2&&(b=N.nodes()[0]),y(N,{},1,b)}function y(N,b,I,A,P){var H=I,z=N.node(A);return b[A]=!0,e.forEach(N.neighbors(A),function(U){e.has(b,U)||(I=y(N,b,I,U,A))}),z.low=H,z.lim=I++,P?z.parent=P:delete z.parent,I}function _(N){return e.find(N.edges(),function(b){return N.edge(b).cutvalue<0})}function C(N,b,I){var A=I.v,P=I.w;b.hasEdge(A,P)||(A=I.w,P=I.v);var H=N.node(A),z=N.node(P),U=H,V=!1;H.lim>z.lim&&(U=z,V=!0);var ee=e.filter(b.edges(),function(J){return V===k(N,N.node(J.v),U)&&V!==k(N,N.node(J.w),U)});return e.minBy(ee,function(J){return i(b,J)})}function w(N,b,I,A){var P=I.v,H=I.w;N.removeEdge(P,H),N.setEdge(A.v,A.w,{}),m(N),d(N,b),x(N,b)}function x(N,b){var I=e.find(N.nodes(),function(P){return!b.node(P).parent}),A=a(N,I);A=A.slice(1),e.forEach(A,function(P){var H=N.node(P).parent,z=b.edge(P,H),U=!1;z||(z=b.edge(H,P),U=!0),b.node(P).rank=b.node(H).rank+(U?z.minlen:-z.minlen)})}function E(N,b,I){return N.hasEdge(b,I)}function k(N,b,I){return I.low<=b.lim&&b.lim<=I.lim}return dv}var hv,dE;function uO(){if(dE)return hv;dE=1;var e=zs(),r=e.longestPath,i=oC(),o=sO();hv=a;function a(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=r;function l(d){r(d),i(d)}function c(d){o(d)}return hv}var pv,hE;function lO(){if(hE)return pv;hE=1;var e=He();pv=r;function r(a){var u=o(a);e.forEach(a.graph().dummyChains,function(l){for(var c=a.node(l),d=c.edgeObj,h=i(a,u,d.v,d.w),p=h.path,m=h.lca,y=0,_=p[y],C=!0;l!==d.w;){if(c=a.node(l),C){for(;(_=p[y])!==m&&a.node(_).maxRank<c.rank;)y++;_===m&&(C=!1)}if(!C){for(;y<p.length-1&&a.node(_=p[y+1]).minRank<=c.rank;)y++;_=p[y]}a.setParent(l,_),l=a.successors(l)[0]}})}function i(a,u,l,c){var d=[],h=[],p=Math.min(u[l].low,u[c].low),m=Math.max(u[l].lim,u[c].lim),y,_;y=l;do y=a.parent(y),d.push(y);while(y&&(u[y].low>p||m>u[y].lim));for(_=y,y=c;(y=a.parent(y))!==_;)h.push(y);return{path:d.concat(h.reverse()),lca:_}}function o(a){var u={},l=0;function c(d){var h=l;e.forEach(a.children(d),c),u[d]={low:h,lim:l++}}return e.forEach(a.children(),c),u}return pv}var vv,pE;function cO(){if(pE)return vv;pE=1;var e=He(),r=Pt();vv={run:i,cleanup:l};function i(c){var d=r.addDummyNode(c,"root",{},"_root"),h=a(c),p=e.max(e.values(h))-1,m=2*p+1;c.graph().nestingRoot=d,e.forEach(c.edges(),function(_){c.edge(_).minlen*=m});var y=u(c)+1;e.forEach(c.children(),function(_){o(c,d,m,y,p,h,_)}),c.graph().nodeRankFactor=m}function o(c,d,h,p,m,y,_){var C=c.children(_);if(!C.length){_!==d&&c.setEdge(d,_,{weight:0,minlen:h});return}var w=r.addBorderNode(c,"_bt"),x=r.addBorderNode(c,"_bb"),E=c.node(_);c.setParent(w,_),E.borderTop=w,c.setParent(x,_),E.borderBottom=x,e.forEach(C,function(k){o(c,d,h,p,m,y,k);var N=c.node(k),b=N.borderTop?N.borderTop:k,I=N.borderBottom?N.borderBottom:k,A=N.borderTop?p:2*p,P=b!==I?1:m-y[_]+1;c.setEdge(w,b,{weight:A,minlen:P,nestingEdge:!0}),c.setEdge(I,x,{weight:A,minlen:P,nestingEdge:!0})}),c.parent(_)||c.setEdge(d,w,{weight:0,minlen:m+y[_]})}function a(c){var d={};function h(p,m){var y=c.children(p);y&&y.length&&e.forEach(y,function(_){h(_,m+1)}),d[p]=m}return e.forEach(c.children(),function(p){h(p,1)}),d}function u(c){return e.reduce(c.edges(),function(d,h){return d+c.edge(h).weight},0)}function l(c){var d=c.graph();c.removeNode(d.nestingRoot),delete d.nestingRoot,e.forEach(c.edges(),function(h){var p=c.edge(h);p.nestingEdge&&c.removeEdge(h)})}return vv}var mv,vE;function fO(){if(vE)return mv;vE=1;var e=He(),r=Pt();mv=i;function i(a){function u(l){var c=a.children(l),d=a.node(l);if(c.length&&e.forEach(c,u),e.has(d,"minRank")){d.borderLeft=[],d.borderRight=[];for(var h=d.minRank,p=d.maxRank+1;h<p;++h)o(a,"borderLeft","_bl",l,d,h),o(a,"borderRight","_br",l,d,h)}}e.forEach(a.children(),u)}function o(a,u,l,c,d,h){var p={width:0,height:0,rank:h,borderType:u},m=d[u][h-1],y=r.addDummyNode(a,"border",p,l);d[u][h]=y,a.setParent(y,c),m&&a.setEdge(m,y,{weight:1})}return mv}var gv,mE;function dO(){if(mE)return gv;mE=1;var e=He();gv={adjust:r,undo:i};function r(h){var p=h.graph().rankdir.toLowerCase();(p==="lr"||p==="rl")&&o(h)}function i(h){var p=h.graph().rankdir.toLowerCase();(p==="bt"||p==="rl")&&u(h),(p==="lr"||p==="rl")&&(c(h),o(h))}function o(h){e.forEach(h.nodes(),function(p){a(h.node(p))}),e.forEach(h.edges(),function(p){a(h.edge(p))})}function a(h){var p=h.width;h.width=h.height,h.height=p}function u(h){e.forEach(h.nodes(),function(p){l(h.node(p))}),e.forEach(h.edges(),function(p){var m=h.edge(p);e.forEach(m.points,l),e.has(m,"y")&&l(m)})}function l(h){h.y=-h.y}function c(h){e.forEach(h.nodes(),function(p){d(h.node(p))}),e.forEach(h.edges(),function(p){var m=h.edge(p);e.forEach(m.points,d),e.has(m,"x")&&d(m)})}function d(h){var p=h.x;h.x=h.y,h.y=p}return gv}var yv,gE;function hO(){if(gE)return yv;gE=1;var e=He();yv=r;function r(i){var o={},a=e.filter(i.nodes(),function(h){return!i.children(h).length}),u=e.max(e.map(a,function(h){return i.node(h).rank})),l=e.map(e.range(u+1),function(){return[]});function c(h){if(!e.has(o,h)){o[h]=!0;var p=i.node(h);l[p.rank].push(h),e.forEach(i.successors(h),c)}}var d=e.sortBy(a,function(h){return i.node(h).rank});return e.forEach(d,c),l}return yv}var _v,yE;function pO(){if(yE)return _v;yE=1;var e=He();_v=r;function r(o,a){for(var u=0,l=1;l<a.length;++l)u+=i(o,a[l-1],a[l]);return u}function i(o,a,u){for(var l=e.zipObject(u,e.map(u,function(y,_){return _})),c=e.flatten(e.map(a,function(y){return e.sortBy(e.map(o.outEdges(y),function(_){return{pos:l[_.w],weight:o.edge(_).weight}}),"pos")}),!0),d=1;d<u.length;)d<<=1;var h=2*d-1;d-=1;var p=e.map(new Array(h),function(){return 0}),m=0;return e.forEach(c.forEach(function(y){var _=y.pos+d;p[_]+=y.weight;for(var C=0;_>0;)_%2&&(C+=p[_+1]),_=_-1>>1,p[_]+=y.weight;m+=y.weight*C})),m}return _v}var wv,_E;function vO(){if(_E)return wv;_E=1;var e=He();wv=r;function r(i,o){return e.map(o,function(a){var u=i.inEdges(a);if(u.length){var l=e.reduce(u,function(c,d){var h=i.edge(d),p=i.node(d.v);return{sum:c.sum+h.weight*p.order,weight:c.weight+h.weight}},{sum:0,weight:0});return{v:a,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:a}})}return wv}var xv,wE;function mO(){if(wE)return xv;wE=1;var e=He();xv=r;function r(a,u){var l={};e.forEach(a,function(d,h){var p=l[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};e.isUndefined(d.barycenter)||(p.barycenter=d.barycenter,p.weight=d.weight)}),e.forEach(u.edges(),function(d){var h=l[d.v],p=l[d.w];!e.isUndefined(h)&&!e.isUndefined(p)&&(p.indegree++,h.out.push(l[d.w]))});var c=e.filter(l,function(d){return!d.indegree});return i(c)}function i(a){var u=[];function l(h){return function(p){p.merged||(e.isUndefined(p.barycenter)||e.isUndefined(h.barycenter)||p.barycenter>=h.barycenter)&&o(h,p)}}function c(h){return function(p){p.in.push(h),--p.indegree===0&&a.push(p)}}for(;a.length;){var d=a.pop();u.push(d),e.forEach(d.in.reverse(),l(d)),e.forEach(d.out,c(d))}return e.map(e.filter(u,function(h){return!h.merged}),function(h){return e.pick(h,["vs","i","barycenter","weight"])})}function o(a,u){var l=0,c=0;a.weight&&(l+=a.barycenter*a.weight,c+=a.weight),u.weight&&(l+=u.barycenter*u.weight,c+=u.weight),a.vs=u.vs.concat(a.vs),a.barycenter=l/c,a.weight=c,a.i=Math.min(u.i,a.i),u.merged=!0}return xv}var Sv,xE;function gO(){if(xE)return Sv;xE=1;var e=He(),r=Pt();Sv=i;function i(u,l){var c=r.partition(u,function(w){return e.has(w,"barycenter")}),d=c.lhs,h=e.sortBy(c.rhs,function(w){return-w.i}),p=[],m=0,y=0,_=0;d.sort(a(!!l)),_=o(p,h,_),e.forEach(d,function(w){_+=w.vs.length,p.push(w.vs),m+=w.barycenter*w.weight,y+=w.weight,_=o(p,h,_)});var C={vs:e.flatten(p,!0)};return y&&(C.barycenter=m/y,C.weight=y),C}function o(u,l,c){for(var d;l.length&&(d=e.last(l)).i<=c;)l.pop(),u.push(d.vs),c++;return c}function a(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 Sv}var Ev,SE;function yO(){if(SE)return Ev;SE=1;var e=He(),r=vO(),i=mO(),o=gO();Ev=a;function a(c,d,h,p){var m=c.children(d),y=c.node(d),_=y?y.borderLeft:void 0,C=y?y.borderRight:void 0,w={};_&&(m=e.filter(m,function(I){return I!==_&&I!==C}));var x=r(c,m);e.forEach(x,function(I){if(c.children(I.v).length){var A=a(c,I.v,h,p);w[I.v]=A,e.has(A,"barycenter")&&l(I,A)}});var E=i(x,h);u(E,w);var k=o(E,p);if(_&&(k.vs=e.flatten([_,k.vs,C],!0),c.predecessors(_).length)){var N=c.node(c.predecessors(_)[0]),b=c.node(c.predecessors(C)[0]);e.has(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+N.order+b.order)/(k.weight+2),k.weight+=2}return k}function u(c,d){e.forEach(c,function(h){h.vs=e.flatten(h.vs.map(function(p){return d[p]?d[p].vs:p}),!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 Ev}var kv,EE;function _O(){if(EE)return kv;EE=1;var e=He(),r=cn().Graph;kv=i;function i(a,u,l){var c=o(a),d=new r({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(h){return a.node(h)});return e.forEach(a.nodes(),function(h){var p=a.node(h),m=a.parent(h);(p.rank===u||p.minRank<=u&&u<=p.maxRank)&&(d.setNode(h),d.setParent(h,m||c),e.forEach(a[l](h),function(y){var _=y.v===h?y.w:y.v,C=d.edge(_,h),w=e.isUndefined(C)?0:C.weight;d.setEdge(_,h,{weight:a.edge(y).weight+w})}),e.has(p,"minRank")&&d.setNode(h,{borderLeft:p.borderLeft[u],borderRight:p.borderRight[u]}))}),d}function o(a){for(var u;a.hasNode(u=e.uniqueId("_root")););return u}return kv}var bv,kE;function wO(){if(kE)return bv;kE=1;var e=He();bv=r;function r(i,o,a){var u={},l;e.forEach(a,function(c){for(var d=i.parent(c),h,p;d;){if(h=i.parent(d),h?(p=u[h],u[h]=d):(p=l,l=d),p&&p!==d){o.setEdge(p,d);return}d=h}})}return bv}var Cv,bE;function xO(){if(bE)return Cv;bE=1;var e=He(),r=hO(),i=pO(),o=yO(),a=_O(),u=wO(),l=cn().Graph,c=Pt();Cv=d;function d(y){var _=c.maxRank(y),C=h(y,e.range(1,_+1),"inEdges"),w=h(y,e.range(_-1,-1,-1),"outEdges"),x=r(y);m(y,x);for(var E=Number.POSITIVE_INFINITY,k,N=0,b=0;b<4;++N,++b){p(N%2?C:w,N%4>=2),x=c.buildLayerMatrix(y);var I=i(y,x);I<E&&(b=0,k=e.cloneDeep(x),E=I)}m(y,k)}function h(y,_,C){return e.map(_,function(w){return a(y,w,C)})}function p(y,_){var C=new l;e.forEach(y,function(w){var x=w.graph().root,E=o(w,x,C,_);e.forEach(E.vs,function(k,N){w.node(k).order=N}),u(w,C,E.vs)})}function m(y,_){e.forEach(_,function(C){e.forEach(C,function(w,x){y.node(w).order=x})})}return Cv}var Nv,CE;function SO(){if(CE)return Nv;CE=1;var e=He(),r=cn().Graph,i=Pt();Nv={positionX:C,findType1Conflicts:o,findType2Conflicts:a,addConflict:l,hasConflict:c,verticalAlignment:d,horizontalCompaction:h,alignCoordinates:y,findSmallestWidthAlignment:m,balance:_};function o(E,k){var N={};function b(I,A){var P=0,H=0,z=I.length,U=e.last(A);return e.forEach(A,function(V,ee){var J=u(E,V),R=J?E.node(J).order:z;(J||V===U)&&(e.forEach(A.slice(H,ee+1),function(G){e.forEach(E.predecessors(G),function($){var re=E.node($),K=re.order;(K<P||R<K)&&!(re.dummy&&E.node(G).dummy)&&l(N,$,G)})}),H=ee+1,P=R)}),A}return e.reduce(k,b),N}function a(E,k){var N={};function b(A,P,H,z,U){var V;e.forEach(e.range(P,H),function(ee){V=A[ee],E.node(V).dummy&&e.forEach(E.predecessors(V),function(J){var R=E.node(J);R.dummy&&(R.order<z||R.order>U)&&l(N,J,V)})})}function I(A,P){var H=-1,z,U=0;return e.forEach(P,function(V,ee){if(E.node(V).dummy==="border"){var J=E.predecessors(V);J.length&&(z=E.node(J[0]).order,b(P,U,ee,H,z),U=ee,H=z)}b(P,U,P.length,z,A.length)}),P}return e.reduce(k,I),N}function u(E,k){if(E.node(k).dummy)return e.find(E.predecessors(k),function(N){return E.node(N).dummy})}function l(E,k,N){if(k>N){var b=k;k=N,N=b}var I=E[k];I||(E[k]=I={}),I[N]=!0}function c(E,k,N){if(k>N){var b=k;k=N,N=b}return e.has(E[k],N)}function d(E,k,N,b){var I={},A={},P={};return e.forEach(k,function(H){e.forEach(H,function(z,U){I[z]=z,A[z]=z,P[z]=U})}),e.forEach(k,function(H){var z=-1;e.forEach(H,function(U){var V=b(U);if(V.length){V=e.sortBy(V,function($){return P[$]});for(var ee=(V.length-1)/2,J=Math.floor(ee),R=Math.ceil(ee);J<=R;++J){var G=V[J];A[U]===U&&z<P[G]&&!c(N,U,G)&&(A[G]=U,A[U]=I[U]=I[G],z=P[G])}}})}),{root:I,align:A}}function h(E,k,N,b,I){var A={},P=p(E,k,N,I),H=I?"borderLeft":"borderRight";function z(ee,J){for(var R=P.nodes(),G=R.pop(),$={};G;)$[G]?ee(G):($[G]=!0,R.push(G),R=R.concat(J(G))),G=R.pop()}function U(ee){A[ee]=P.inEdges(ee).reduce(function(J,R){return Math.max(J,A[R.v]+P.edge(R))},0)}function V(ee){var J=P.outEdges(ee).reduce(function(G,$){return Math.min(G,A[$.w]-P.edge($))},Number.POSITIVE_INFINITY),R=E.node(ee);J!==Number.POSITIVE_INFINITY&&R.borderType!==H&&(A[ee]=Math.max(A[ee],J))}return z(U,P.predecessors.bind(P)),z(V,P.successors.bind(P)),e.forEach(b,function(ee){A[ee]=A[N[ee]]}),A}function p(E,k,N,b){var I=new r,A=E.graph(),P=w(A.nodesep,A.edgesep,b);return e.forEach(k,function(H){var z;e.forEach(H,function(U){var V=N[U];if(I.setNode(V),z){var ee=N[z],J=I.edge(ee,V);I.setEdge(ee,V,Math.max(P(E,U,z),J||0))}z=U})}),I}function m(E,k){return e.minBy(e.values(k),function(N){var b=Number.NEGATIVE_INFINITY,I=Number.POSITIVE_INFINITY;return e.forIn(N,function(A,P){var H=x(E,P)/2;b=Math.max(A+H,b),I=Math.min(A-H,I)}),b-I})}function y(E,k){var N=e.values(k),b=e.min(N),I=e.max(N);e.forEach(["u","d"],function(A){e.forEach(["l","r"],function(P){var H=A+P,z=E[H],U;if(z!==k){var V=e.values(z);U=P==="l"?b-e.min(V):I-e.max(V),U&&(E[H]=e.mapValues(z,function(ee){return ee+U}))}})})}function _(E,k){return e.mapValues(E.ul,function(N,b){if(k)return E[k.toLowerCase()][b];var I=e.sortBy(e.map(E,b));return(I[1]+I[2])/2})}function C(E){var k=i.buildLayerMatrix(E),N=e.merge(o(E,k),a(E,k)),b={},I;e.forEach(["u","d"],function(P){I=P==="u"?k:e.values(k).reverse(),e.forEach(["l","r"],function(H){H==="r"&&(I=e.map(I,function(ee){return e.values(ee).reverse()}));var z=(P==="u"?E.predecessors:E.successors).bind(E),U=d(E,I,N,z),V=h(E,I,U.root,U.align,H==="r");H==="r"&&(V=e.mapValues(V,function(ee){return-ee})),b[P+H]=V})});var A=m(E,b);return y(b,A),_(b,E.graph().align)}function w(E,k,N){return function(b,I,A){var P=b.node(I),H=b.node(A),z=0,U;if(z+=P.width/2,e.has(P,"labelpos"))switch(P.labelpos.toLowerCase()){case"l":U=-P.width/2;break;case"r":U=P.width/2;break}if(U&&(z+=N?U:-U),U=0,z+=(P.dummy?k:E)/2,z+=(H.dummy?k:E)/2,z+=H.width/2,e.has(H,"labelpos"))switch(H.labelpos.toLowerCase()){case"l":U=H.width/2;break;case"r":U=-H.width/2;break}return U&&(z+=N?U:-U),U=0,z}}function x(E,k){return E.node(k).width}return Nv}var Rv,NE;function EO(){if(NE)return Rv;NE=1;var e=He(),r=Pt(),i=SO().positionX;Rv=o;function o(u){u=r.asNonCompoundGraph(u),a(u),e.forEach(i(u),function(l,c){u.node(c).x=l})}function a(u){var l=r.buildLayerMatrix(u),c=u.graph().ranksep,d=0;e.forEach(l,function(h){var p=e.max(e.map(h,function(m){return u.node(m).height}));e.forEach(h,function(m){u.node(m).y=d+p/2}),d+=p+c})}return Rv}var Tv,RE;function kO(){if(RE)return Tv;RE=1;var e=He(),r=oO(),i=aO(),o=uO(),a=Pt().normalizeRanks,u=lO(),l=Pt().removeEmptyRanks,c=cO(),d=fO(),h=dO(),p=xO(),m=EO(),y=Pt(),_=cn().Graph;Tv=C;function C(O,F){var Y=F&&F.debugTiming?y.time:y.notime;Y("layout",function(){var ie=Y(" buildLayoutGraph",function(){return z(O)});Y(" runLayout",function(){w(ie,Y)}),Y(" updateInputGraph",function(){x(O,ie)})})}function w(O,F){F(" makeSpaceForEdgeLabels",function(){U(O)}),F(" removeSelfEdges",function(){L(O)}),F(" acyclic",function(){r.run(O)}),F(" nestingGraph.run",function(){c.run(O)}),F(" rank",function(){o(y.asNonCompoundGraph(O))}),F(" injectEdgeLabelProxies",function(){V(O)}),F(" removeEmptyRanks",function(){l(O)}),F(" nestingGraph.cleanup",function(){c.cleanup(O)}),F(" normalizeRanks",function(){a(O)}),F(" assignRankMinMax",function(){ee(O)}),F(" removeEdgeLabelProxies",function(){J(O)}),F(" normalize.run",function(){i.run(O)}),F(" parentDummyChains",function(){u(O)}),F(" addBorderSegments",function(){d(O)}),F(" order",function(){p(O)}),F(" insertSelfEdges",function(){W(O)}),F(" adjustCoordinateSystem",function(){h.adjust(O)}),F(" position",function(){m(O)}),F(" positionSelfEdges",function(){T(O)}),F(" removeBorderNodes",function(){K(O)}),F(" normalize.undo",function(){i.undo(O)}),F(" fixupEdgeLabelCoords",function(){$(O)}),F(" undoCoordinateSystem",function(){h.undo(O)}),F(" translateGraph",function(){R(O)}),F(" assignNodeIntersects",function(){G(O)}),F(" reversePoints",function(){re(O)}),F(" acyclic.undo",function(){r.undo(O)})}function x(O,F){e.forEach(O.nodes(),function(Y){var ie=O.node(Y),ue=F.node(Y);ie&&(ie.x=ue.x,ie.y=ue.y,F.children(Y).length&&(ie.width=ue.width,ie.height=ue.height))}),e.forEach(O.edges(),function(Y){var ie=O.edge(Y),ue=F.edge(Y);ie.points=ue.points,e.has(ue,"x")&&(ie.x=ue.x,ie.y=ue.y)}),O.graph().width=F.graph().width,O.graph().height=F.graph().height}var E=["nodesep","edgesep","ranksep","marginx","marginy"],k={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},N=["acyclicer","ranker","rankdir","align"],b=["width","height"],I={width:0,height:0},A=["minlen","weight","width","height","labeloffset"],P={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},H=["labelpos"];function z(O){var F=new _({multigraph:!0,compound:!0}),Y=ne(O.graph());return F.setGraph(e.merge({},k,M(Y,E),e.pick(Y,N))),e.forEach(O.nodes(),function(ie){var ue=ne(O.node(ie));F.setNode(ie,e.defaults(M(ue,b),I)),F.setParent(ie,O.parent(ie))}),e.forEach(O.edges(),function(ie){var ue=ne(O.edge(ie));F.setEdge(ie,e.merge({},P,M(ue,A),e.pick(ue,H)))}),F}function U(O){var F=O.graph();F.ranksep/=2,e.forEach(O.edges(),function(Y){var ie=O.edge(Y);ie.minlen*=2,ie.labelpos.toLowerCase()!=="c"&&(F.rankdir==="TB"||F.rankdir==="BT"?ie.width+=ie.labeloffset:ie.height+=ie.labeloffset)})}function V(O){e.forEach(O.edges(),function(F){var Y=O.edge(F);if(Y.width&&Y.height){var ie=O.node(F.v),ue=O.node(F.w),fe={rank:(ue.rank-ie.rank)/2+ie.rank,e:F};y.addDummyNode(O,"edge-proxy",fe,"_ep")}})}function ee(O){var F=0;e.forEach(O.nodes(),function(Y){var ie=O.node(Y);ie.borderTop&&(ie.minRank=O.node(ie.borderTop).rank,ie.maxRank=O.node(ie.borderBottom).rank,F=e.max(F,ie.maxRank))}),O.graph().maxRank=F}function J(O){e.forEach(O.nodes(),function(F){var Y=O.node(F);Y.dummy==="edge-proxy"&&(O.edge(Y.e).labelRank=Y.rank,O.removeNode(F))})}function R(O){var F=Number.POSITIVE_INFINITY,Y=0,ie=Number.POSITIVE_INFINITY,ue=0,fe=O.graph(),he=fe.marginx||0,Ne=fe.marginy||0;function Me(Te){var Re=Te.x,we=Te.y,De=Te.width,ve=Te.height;F=Math.min(F,Re-De/2),Y=Math.max(Y,Re+De/2),ie=Math.min(ie,we-ve/2),ue=Math.max(ue,we+ve/2)}e.forEach(O.nodes(),function(Te){Me(O.node(Te))}),e.forEach(O.edges(),function(Te){var Re=O.edge(Te);e.has(Re,"x")&&Me(Re)}),F-=he,ie-=Ne,e.forEach(O.nodes(),function(Te){var Re=O.node(Te);Re.x-=F,Re.y-=ie}),e.forEach(O.edges(),function(Te){var Re=O.edge(Te);e.forEach(Re.points,function(we){we.x-=F,we.y-=ie}),e.has(Re,"x")&&(Re.x-=F),e.has(Re,"y")&&(Re.y-=ie)}),fe.width=Y-F+he,fe.height=ue-ie+Ne}function G(O){e.forEach(O.edges(),function(F){var Y=O.edge(F),ie=O.node(F.v),ue=O.node(F.w),fe,he;Y.points?(fe=Y.points[0],he=Y.points[Y.points.length-1]):(Y.points=[],fe=ue,he=ie),Y.points.unshift(y.intersectRect(ie,fe)),Y.points.push(y.intersectRect(ue,he))})}function $(O){e.forEach(O.edges(),function(F){var Y=O.edge(F);if(e.has(Y,"x"))switch((Y.labelpos==="l"||Y.labelpos==="r")&&(Y.width-=Y.labeloffset),Y.labelpos){case"l":Y.x-=Y.width/2+Y.labeloffset;break;case"r":Y.x+=Y.width/2+Y.labeloffset;break}})}function re(O){e.forEach(O.edges(),function(F){var Y=O.edge(F);Y.reversed&&Y.points.reverse()})}function K(O){e.forEach(O.nodes(),function(F){if(O.children(F).length){var Y=O.node(F),ie=O.node(Y.borderTop),ue=O.node(Y.borderBottom),fe=O.node(e.last(Y.borderLeft)),he=O.node(e.last(Y.borderRight));Y.width=Math.abs(he.x-fe.x),Y.height=Math.abs(ue.y-ie.y),Y.x=fe.x+Y.width/2,Y.y=ie.y+Y.height/2}}),e.forEach(O.nodes(),function(F){O.node(F).dummy==="border"&&O.removeNode(F)})}function L(O){e.forEach(O.edges(),function(F){if(F.v===F.w){var Y=O.node(F.v);Y.selfEdges||(Y.selfEdges=[]),Y.selfEdges.push({e:F,label:O.edge(F)}),O.removeEdge(F)}})}function W(O){var F=y.buildLayerMatrix(O);e.forEach(F,function(Y){var ie=0;e.forEach(Y,function(ue,fe){var he=O.node(ue);he.order=fe+ie,e.forEach(he.selfEdges,function(Ne){y.addDummyNode(O,"selfedge",{width:Ne.label.width,height:Ne.label.height,rank:he.rank,order:fe+ ++ie,e:Ne.e,label:Ne.label},"_se")}),delete he.selfEdges})})}function T(O){e.forEach(O.nodes(),function(F){var Y=O.node(F);if(Y.dummy==="selfedge"){var ie=O.node(Y.e.v),ue=ie.x+ie.width/2,fe=ie.y,he=Y.x-ue,Ne=ie.height/2;O.setEdge(Y.e,Y.label),O.removeNode(F),Y.label.points=[{x:ue+2*he/3,y:fe-Ne},{x:ue+5*he/6,y:fe-Ne},{x:ue+he,y:fe},{x:ue+5*he/6,y:fe+Ne},{x:ue+2*he/3,y:fe+Ne}],Y.label.x=Y.x,Y.label.y=Y.y}})}function M(O,F){return e.mapValues(e.pick(O,F),Number)}function ne(O){var F={};return e.forEach(O,function(Y,ie){F[ie.toLowerCase()]=Y}),F}return Tv}var Iv,TE;function bO(){if(TE)return Iv;TE=1;var e=He(),r=Pt(),i=cn().Graph;Iv={debugOrdering:o};function o(a){var u=r.buildLayerMatrix(a),l=new i({compound:!0,multigraph:!0}).setGraph({});return e.forEach(a.nodes(),function(c){l.setNode(c,{label:c}),l.setParent(c,"layer"+a.node(c).rank)}),e.forEach(a.edges(),function(c){l.setEdge(c.v,c.w,{},c.name)}),e.forEach(u,function(c,d){var h="layer"+d;l.setNode(h,{rank:"same"}),e.reduce(c,function(p,m){return l.setEdge(p,m,{style:"invis"}),m})}),l}return Iv}var Av,IE;function CO(){return IE||(IE=1,Av="0.8.5"),Av}var qv,AE;function NO(){return AE||(AE=1,qv={graphlib:cn(),layout:kO(),debug:bO(),util:{time:Pt().time,notime:Pt().notime},version:CO()}),qv}var RO=NO();const qE=Jv(RO),PE=240,ME=130;function TO(e,r,i={}){const o=i.direction??"LR",a=i.pinned??new Map,u=i.measured??new Map,l=new qE.graphlib.Graph;l.setDefaultEdgeLabel(()=>({})),l.setGraph({rankdir:o,marginx:60,marginy:60,nodesep:70,ranksep:160,edgesep:30});for(const c of e){const d=u.get(c.id);l.setNode(c.id,{width:(d==null?void 0:d.width)??PE,height:(d==null?void 0:d.height)??ME})}for(const c of r)l.setEdge(c.source,c.target);return qE.layout(l),e.map(c=>{const d=a.get(c.id);if(d)return{...c,position:d};const h=l.node(c.id);if(!h)return c;const p=u.get(c.id),m=(p==null?void 0:p.width)??PE,y=(p==null?void 0:p.height)??ME;return{...c,position:{x:h.x-m/2,y:h.y-y/2}}})}function Tr(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}function IO(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}const AO={agent:oP},qO=600;function PO(e,r){var o,a,u;if(!r)return!0;const i=r.toLowerCase();if(e.label.toLowerCase().includes(i)||(o=e.cwd)!=null&&o.toLowerCase().includes(i)||(a=e.cwdBasename)!=null&&a.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 MO(e,r,i,o,a){const u=[],l=[],c=new Set;if(o)for(const h of e.agents.values())PO(h,o)&&c.add(h.id);const d=new Set;for(const h of e.agents.values())h.exitAt!=null&&r-h.exitAt>qO||d.add(h.id);for(const h of e.agents.values()){if(!d.has(h.id))continue;const p=o?!c.has(h.id):!1,m=h.exitAt!=null,y=[p?"rf-dim":"",m?"rf-exiting":""].filter(Boolean).join(" ")||void 0;if(u.push({id:h.id,type:"agent",position:{x:0,y:0},data:{...h,now:r,dim:p},className:y}),h.parentId&&d.has(h.parentId)){const _=gm(h.sessionId),C=h.state==="active"?`hsl(${_} 80% 72%)`:`hsl(${_} 50% 55%)`,w=o&&!c.has(h.id)&&!c.has(h.parentId),x=m;l.push({id:`e:${h.parentId}->${h.id}`,source:h.parentId,target:h.id,animated:h.state==="active"&&!w&&!x,type:"smoothstep",label:h.label,labelBgPadding:[6,3],labelBgBorderRadius:4,labelStyle:{fontSize:10,fill:C,fontFamily:"ui-monospace, monospace",opacity:w||x?.25:1},labelBgStyle:{fill:"var(--bg-soft)",fillOpacity:w||x?.3:.85,stroke:C,strokeWidth:.5},style:{stroke:C,strokeWidth:h.state==="active"?2:1.5,opacity:w||x?.2:1,transition:"opacity 500ms ease"},className:x?"rf-edge-exiting":void 0})}}return{nodes:TO(u,l,{direction:"LR",pinned:i,measured:a}),edges:l}}function OO(){return D.jsx(mm,{children:D.jsx(LO,{})})}function LO(){const e=Vs(),r=Q.useRef(Yv()),[,i]=Q.useState(0),o=Q.useCallback(()=>i(M=>M+1),[]),[a,u]=Q.useState(null),[l,c]=Q.useState(null),[d,h]=Q.useState(!1),[p,m]=Q.useState(!1),y=Q.useRef([]),[_,C]=Q.useState(Date.now()),w=Q.useRef(new Map),[x,E]=Q.useState(""),[k,N]=Q.useState(()=>typeof window>"u"?"dark":window.localStorage.getItem("ccgraph.theme")??"dark"),[b,I]=Q.useState(!1),A=Q.useRef(null);Q.useEffect(()=>{document.documentElement.dataset.theme=k;try{window.localStorage.setItem("ccgraph.theme",k)}catch{}},[k]),Q.useEffect(()=>{const M=new EventSource("/events");return M.addEventListener("open",()=>{h(!0),I(!0)}),M.addEventListener("error",()=>h(!1)),M.addEventListener("hook",ne=>{try{const O=JSON.parse(ne.data);if(p){y.current.push(O);return}r.current=u1(r.current,O),o()}catch{}}),()=>M.close()},[p,o]),Q.useEffect(()=>{if(!p&&y.current.length!==0){for(const M of y.current)r.current=u1(r.current,M);y.current.length=0,o()}},[p,o]),Q.useEffect(()=>{const M=setInterval(()=>C(Date.now()),250);return()=>clearInterval(M)},[]);const P=Q.useRef(0),H=Q.useRef(null);Q.useEffect(()=>{const M=r.current.agents.size;M>P.current?(P.current=M,H.current&&window.clearTimeout(H.current),H.current=window.setTimeout(()=>{try{e.fitView({padding:.25,duration:600})}catch{}},400)):M<P.current&&(P.current=M)});const z=Q.useRef(new Map),U=Q.useRef(0),V=Q.useCallback(M=>{const ne=z.current;let O=!1;for(const F of M.nodeInternals.values()){const Y=F.width,ie=F.height;if(Y==null||ie==null)continue;const ue=ne.get(F.id);ue?(Math.abs(ue.height-ie)>4||Math.abs(ue.width-Y)>4)&&(ne.set(F.id,{width:Y,height:ie}),O=!0):(ne.set(F.id,{width:Y,height:ie}),O=!0)}return O&&(U.current+=1),U.current},[]),ee=Pe(V),{nodes:J,edges:R}=Q.useMemo(()=>MO(r.current,_,w.current,x,z.current),[r.current,r.current.lastSeq,_,x,ee]),G=a?r.current.agents.get(a):null,$=l?Array.from(r.current.agents.values()).flatMap(M=>M.tools).find(M=>M.id===l)??null:null,re=Q.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}r.current=Yv(),w.current.clear(),z.current.clear(),u(null),o()},[o]),K=Q.useCallback(()=>{w.current.clear(),o()},[o]);Q.useEffect(()=>{const M=ne=>{var F,Y;const O=((F=ne.target)==null?void 0:F.tagName)==="INPUT";if(ne.key==="Escape"){O?ne.target.blur():u(null);return}if(!O){if(ne.key==="/"){ne.preventDefault(),(Y=A.current)==null||Y.focus();return}ne.key===" "&&(ne.preventDefault(),m(ie=>!ie)),(ne.key==="c"||ne.key==="C")&&re(),(ne.key==="r"||ne.key==="R")&&K(),(ne.key==="t"||ne.key==="T")&&N(ie=>ie==="dark"?"light":"dark")}};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[re,K]);const L=r.current.agents.size,W=new Set(Array.from(r.current.agents.values()).map(M=>M.sessionId)).size,T=Q.useMemo(()=>{let M=0,ne=0,O=0,F=0;for(const Y of r.current.agents.values())M+=Y.usage.inputTokens,ne+=Y.usage.outputTokens,O+=Y.usage.cacheReadTokens,F+=Y.usage.cacheCreateTokens;return{inT:M,outT:ne,cacheR:O,cacheC:F,sum:M+ne}},[r.current,r.current.lastSeq]);return D.jsxs("div",{className:"app",children:[D.jsxs("header",{className:"topbar",children:[D.jsxs("div",{className:"brand",children:[D.jsx("span",{className:"logo"}),"ccgraph ",D.jsx("span",{className:"v",children:"v0.8"})]}),D.jsxs("div",{className:"actions",children:[D.jsxs("div",{className:"search",children:[D.jsx("span",{className:"search-icon","aria-hidden":!0,children:"⌕"}),D.jsx("input",{ref:A,type:"text",placeholder:"Search agents, cwd, tools…",value:x,onChange:M=>E(M.target.value),spellCheck:!1,"aria-label":"Filter the graph"}),x?D.jsx("button",{className:"search-clear","aria-label":"Clear search",onClick:()=>E(""),children:"×"}):D.jsx("kbd",{className:"search-kbd","aria-hidden":!0,children:"/"})]}),D.jsxs("span",{className:"status",role:"status",children:[D.jsx("span",{className:`pill ${d?"live":"dead"}`,title:d?"Receiving events":"SSE disconnected",children:d?"live":"offline"}),D.jsxs("span",{className:"stat",title:"Distinct CC sessions",children:[D.jsx("span",{className:"count",children:W}),D.jsx("span",{className:"lbl",children:"sessions"})]}),D.jsxs("span",{className:"stat",title:"Total agents (root + subagents)",children:[D.jsx("span",{className:"count",children:L}),D.jsx("span",{className:"lbl",children:"agents"})]}),D.jsxs("span",{className:"stat",title:"Total hook events received",children:[D.jsx("span",{className:"count",children:r.current.totalEvents}),D.jsx("span",{className:"lbl",children:"events"})]}),T.sum>0&&D.jsxs("span",{className:"stat",title:`in:${T.inT.toLocaleString()} out:${T.outT.toLocaleString()} cache-r:${T.cacheR.toLocaleString()} cache-c:${T.cacheC.toLocaleString()}`,children:[D.jsx("span",{className:"count",children:IO(T.sum)}),D.jsx("span",{className:"lbl",children:"tokens"})]})]}),D.jsx("button",{className:`btn ${p?"warn":""}`,onClick:()=>m(M=>!M),title:"Pause/resume live updates (Space)",children:p?`Resume${y.current.length?` · ${y.current.length}`:""}`:"Pause"}),D.jsx("button",{className:"btn",onClick:K,title:"Auto-arrange — clear pins (R)",children:"Re-layout"}),D.jsx("button",{className:"btn",onClick:re,title:"Clear canvas (C)",children:"Clear"}),D.jsx("button",{className:"btn icon-btn",onClick:()=>N(M=>M==="dark"?"light":"dark"),title:`Switch to ${k==="dark"?"light":"dark"} mode (T)`,"aria-label":"Toggle theme",children:k==="dark"?"☀":"☾"})]})]}),b&&!d&&D.jsxs("div",{className:"conn-banner",role:"alert",children:[D.jsx("span",{className:"conn-dot"}),"Lost connection to ccgraph server. Reconnecting…"]}),D.jsxs("div",{className:"canvas-wrap",children:[L===0&&D.jsx(zO,{live:d,everConnected:b}),D.jsxs(Jk,{nodes:J,edges:R,nodeTypes:AO,fitView:!0,fitViewOptions:{padding:.25,duration:400},minZoom:.2,maxZoom:1.6,panOnScroll:!0,nodesDraggable:!0,nodesConnectable:!1,selectionOnDrag:!1,onNodeClick:(M,ne)=>u(ne.id),onPaneClick:()=>u(null),onNodeDragStop:(M,ne)=>{w.current.set(ne.id,{x:ne.position.x,y:ne.position.y})},children:[D.jsx(Jq,{gap:28,size:1,color:Tr("--grid-line")}),D.jsx(fP,{}),D.jsx(Wq,{showInteractive:!1}),D.jsx(Fq,{zoomable:!0,pannable:!0,nodeColor:M=>{const ne=M.data;return ne.state==="err"?Tr("--err"):ne.state==="active"?Tr("--inflight"):Tr("--ok")},nodeStrokeWidth:2,maskColor:Tr("--minimap-mask"),style:{background:Tr("--panel"),border:`1px solid ${Tr("--line")}`,borderRadius:8}})]})]}),D.jsx("aside",{className:"detail",children:G?D.jsx(FO,{agent:G,now:_,onOpenTool:c}):D.jsx(DO,{count:L})}),$&&D.jsx(lP,{tool:$,onClose:()=>c(null)})]})}function zO({live:e,everConnected:r}){const i=!e;return D.jsxs("div",{className:"empty-hero",children:[D.jsxs("div",{className:"orbit-stack","aria-hidden":!0,children:[D.jsx("div",{className:"core"}),D.jsxs("div",{className:"orbit r1",children:[D.jsx("span",{className:"dot"}),D.jsx("span",{className:"dot b"})]}),D.jsxs("div",{className:"orbit r2",children:[D.jsx("span",{className:"dot"}),D.jsx("span",{className:"dot b"})]}),D.jsxs("div",{className:"orbit r3",children:[D.jsx("span",{className:"dot"}),D.jsx("span",{className:"dot b"})]})]}),i?D.jsxs(D.Fragment,{children:[D.jsx("h2",{children:r?"Disconnected from server":"Server unreachable"}),D.jsxs("p",{children:["The browser cannot reach ",D.jsx("code",{children:"/events"}),". Check that",D.jsx("code",{children:"ccgraph"})," is still running in your terminal, then this page will resume automatically."]})]}):jO()]})}function jO(){return D.jsxs(D.Fragment,{children:[D.jsx("h2",{children:"Waiting for Claude Code"}),D.jsxs("p",{children:["Run ",D.jsx("code",{children:"claude"})," in any folder. As soon as a session sends an event, a node appears here and grows as subagents fork and tools are called."]}),D.jsxs("p",{className:"hint-row",children:["Not seeing anything? Make sure ",D.jsx("code",{children:"ccgraph"})," is running and that the hook is installed in ",D.jsx("code",{children:"~/.claude/settings.json"}),"."]})]})}function DO({count:e}){return D.jsxs(D.Fragment,{children:[D.jsx("h3",{children:"Detail"}),e===0?D.jsxs("div",{className:"hint",children:["No data yet. Start a Claude Code session anywhere on this machine — ccgraph is in ",D.jsx("code",{children:"--all"})," mode and listens to every workspace."]}):D.jsx("div",{className:"empty",children:"Click an agent to see its tools."}),D.jsx("h3",{style:{marginTop:4},children:"Shortcuts"}),D.jsxs("div",{className:"shortcuts",children:[D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"drag"}),D.jsx("span",{children:"move a node"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"/"}),D.jsx("span",{children:"focus search"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"space"}),D.jsx("span",{children:"pause / resume"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"R"}),D.jsx("span",{children:"re-arrange"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"C"}),D.jsx("span",{children:"clear canvas"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"T"}),D.jsx("span",{children:"toggle theme"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"Esc"}),D.jsx("span",{children:"deselect"})]})]})]})}function FO({agent:e,now:r,onOpenTool:i}){const o=Math.max(0,Math.floor(((e.endedAt??r)-e.startedAt)/1e3));return D.jsxs(D.Fragment,{children:[D.jsx("h3",{children:e.label}),D.jsxs("div",{children:[D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"kind"}),D.jsx("span",{className:"v",children:e.kind})]}),D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"state"}),D.jsx("span",{className:"v",children:e.state})]}),D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"elapsed"}),D.jsxs("span",{className:"v",children:[o,"s"]})]}),D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"tools"}),D.jsx("span",{className:"v",children:e.toolCount})]}),e.cwd&&D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"cwd"}),D.jsx("span",{className:"v",title:e.cwd,children:e.cwd})]}),D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"session"}),D.jsxs("span",{className:"v",children:[e.sessionId.slice(0,8),"…"]})]})]}),e.usage.inputTokens+e.usage.outputTokens>0&&D.jsxs(D.Fragment,{children:[D.jsx("h3",{children:"Tokens"}),D.jsxs("div",{className:"tokens-grid",children:[D.jsxs("div",{children:[D.jsx("span",{className:"k",children:"in"}),D.jsx("b",{children:e.usage.inputTokens.toLocaleString()})]}),D.jsxs("div",{children:[D.jsx("span",{className:"k",children:"out"}),D.jsx("b",{children:e.usage.outputTokens.toLocaleString()})]}),D.jsxs("div",{children:[D.jsx("span",{className:"k",children:"cache r"}),D.jsx("b",{children:e.usage.cacheReadTokens.toLocaleString()})]}),D.jsxs("div",{children:[D.jsx("span",{className:"k",children:"cache c"}),D.jsx("b",{children:e.usage.cacheCreateTokens.toLocaleString()})]})]})]}),e.prompts.length>0&&D.jsxs(D.Fragment,{children:[D.jsxs("h3",{children:["Prompts (",e.prompts.length,")"]}),D.jsx("div",{className:"prompts",children:e.prompts.map((a,u)=>D.jsxs("div",{className:"prompt-entry",children:[D.jsx("div",{className:"prompt-time",children:new Date(a.at).toLocaleTimeString()}),D.jsx("div",{className:"prompt-text",children:a.text})]},u))})]}),D.jsxs("h3",{children:["Tool calls (",e.tools.length,")"]}),e.tools.length===0&&D.jsx("div",{className:"empty",children:"No tool calls yet."}),D.jsx("div",{children:e.tools.slice().reverse().map(a=>D.jsx($O,{t:a,now:r,onClick:()=>i(a.id)},a.id))})]})}function $O({t:e,now:r,onClick:i}){const o=e.endedAt==null?"inflight":e.ok===!1?"err":"done",a=(e.endedAt??r)-e.startedAt,u=e.endedAt==null?"…":a<1e3?`${a}ms`:`${(a/1e3).toFixed(1)}s`;return D.jsxs("button",{className:"tool clickable",title:e.inputPreview||e.name,onClick:i,children:[D.jsxs("span",{className:"name",children:[D.jsx("span",{className:`status-dot ${o}`}),e.name]}),D.jsx("span",{style:{color:"var(--muted)"},children:u})]})}const BO=QN.createRoot(document.getElementById("root"));BO.render(D.jsx(OO,{}));
|
|
57
|
+
M${P.x},${P.y}h${P.width}v${P.height}h${-P.width}z`,fill:d,fillRule:"evenodd",stroke:h,strokeWidth:p,pointerEvents:"none"})))}tb.displayName="MiniMap";var Fq=Q.memo(tb);function $q(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},oe.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function Bq(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},oe.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Hq(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},oe.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 Uq(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},oe.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 Vq(){return oe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},oe.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 ko=({children:e,className:r,...i})=>oe.createElement("button",{type:"button",className:pt(["react-flow__controls-button",r]),...i},e);ko.displayName="ControlButton";const Gq=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),nb=({style:e,showZoom:r=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:a,onZoomIn:u,onZoomOut:l,onFitView:c,onInteractiveChange:d,className:h,children:p,position:m="bottom-left"})=>{const y=rt(),[_,C]=Q.useState(!1),{isInteractive:w,minZoomReached:x,maxZoomReached:E}=Pe(Gq,nt),{zoomIn:k,zoomOut:N,fitView:b}=Vs();if(Q.useEffect(()=>{C(!0)},[]),!_)return null;const I=()=>{k(),u==null||u()},A=()=>{N(),l==null||l()},P=()=>{b(a),c==null||c()},H=()=>{y.setState({nodesDraggable:!w,nodesConnectable:!w,elementsSelectable:!w}),d==null||d(!w)};return oe.createElement(am,{className:pt(["react-flow__controls",h]),position:m,style:e,"data-testid":"rf__controls"},r&&oe.createElement(oe.Fragment,null,oe.createElement(ko,{onClick:I,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:E},oe.createElement($q,null)),oe.createElement(ko,{onClick:A,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:x},oe.createElement(Bq,null))),i&&oe.createElement(ko,{className:"react-flow__controls-fitview",onClick:P,title:"fit view","aria-label":"fit view"},oe.createElement(Hq,null)),o&&oe.createElement(ko,{className:"react-flow__controls-interactive",onClick:H,title:"toggle interactivity","aria-label":"toggle interactivity"},w?oe.createElement(Vq,null):oe.createElement(Uq,null)),p)};nb.displayName="Controls";var Wq=Q.memo(nb),ln;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ln||(ln={}));function Kq({color:e,dimensions:r,lineWidth:i}){return oe.createElement("path",{stroke:e,strokeWidth:i,d:`M${r[0]/2} 0 V${r[1]} M0 ${r[1]/2} H${r[0]}`})}function Yq({color:e,radius:r}){return oe.createElement("circle",{cx:r,cy:r,r,fill:e})}const Xq={[ln.Dots]:"#91919a",[ln.Lines]:"#eee",[ln.Cross]:"#e2e2e2"},Qq={[ln.Dots]:1,[ln.Lines]:1,[ln.Cross]:6},Zq=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function rb({id:e,variant:r=ln.Dots,gap:i=20,size:o,lineWidth:a=1,offset:u=2,color:l,style:c,className:d}){const h=Q.useRef(null),{transform:p,patternId:m}=Pe(Zq,nt),y=l||Xq[r],_=o||Qq[r],C=r===ln.Dots,w=r===ln.Cross,x=Array.isArray(i)?i:[i,i],E=[x[0]*p[2]||1,x[1]*p[2]||1],k=_*p[2],N=w?[k,k]:E,b=C?[k/u,k/u]:[N[0]/u,N[1]/u];return oe.createElement("svg",{className:pt(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:h,"data-testid":"rf__background"},oe.createElement("pattern",{id:m+e,x:p[0]%E[0],y:p[1]%E[1],width:E[0],height:E[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${b[0]},-${b[1]})`},C?oe.createElement(Yq,{color:y,radius:k/u}):oe.createElement(Kq,{dimensions:N,color:y,lineWidth:a})),oe.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`}))}rb.displayName="Background";var Jq=Q.memo(rb);function ib(){return{inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreateTokens:0}}function ob(e,r=0){if(!e||typeof e!="object"||r>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 o of Object.values(i)){const a=ob(o,r+1);if(a)return a}return null}function eP(e,r){e.inputTokens+=r.inputTokens,e.outputTokens+=r.outputTokens,e.cacheReadTokens+=r.cacheReadTokens,e.cacheCreateTokens+=r.cacheCreateTokens}function Yv(){return{agents:new Map,toolIndex:new Map,toolOwner:new Map,activeSubagentStack:new Map,lastSeq:0,totalEvents:0}}function Or(e){if(!e)return;const r=e.replace(/\\/g,"/").split("/").filter(Boolean);return r[r.length-1]}function ab(e,r){return`${e}::${r}`}function Xv(e){return e.agent_type??e.subagent_type??"subagent"}function Qv(e){return e.agent_id?e.agent_id:e.parent_tool_use_id?e.parent_tool_use_id:null}function Ro(e,r,i,o){const a=r;let u=e.agents.get(a);return u||(u={id:a,sessionId:r,label:"session",kind:"root",state:"active",startedAt:i,tools:[],prompts:[],toolCount:0,childCount:0,synthetic:o,inFlightTool:null,usage:ib()},e.agents.set(a,u),u)}function s1(e,r,i){const o=r.session_id??"unknown",a=Qv(r);if(a)return Zv(e,o,a,r,i);const u=e.activeSubagentStack.get(o),l=u&&u.length>0?u[u.length-1]:null;if(l){const d=e.agents.get(ab(o,l));if(d)return!d.cwd&&r.cwd&&(d.cwd=r.cwd,d.cwdBasename=Or(r.cwd)),d}const c=Ro(e,o,i,!1);return c.synthetic&&(c.synthetic=!1,c.startedAt=i),!c.cwd&&r.cwd&&(c.cwd=r.cwd,c.cwdBasename=Or(r.cwd)),c.label==="session"&&r.cwd&&(c.label=Or(r.cwd)??"session"),c}function Zv(e,r,i,o,a){const u=ab(r,i),l=Ro(e,r,a,!0);let c=e.agents.get(u);if(c){!c.cwd&&o.cwd&&(c.cwd=o.cwd,c.cwdBasename=Or(o.cwd));const d=Xv(o);return d&&(c.label==="subagent"||!c.label)&&(c.label=d),c}return c={id:u,sessionId:r,label:Xv(o),kind:"subagent",parentId:l.id,state:"active",startedAt:a,tools:[],prompts:[],cwd:o.cwd,cwdBasename:Or(o.cwd),toolCount:0,childCount:0,inFlightTool:null,usage:ib()},e.agents.set(u,c),l.childCount+=1,c}function tP(e,r,i){const o=e.activeSubagentStack.get(r)??[];o.push(i),e.activeSubagentStack.set(r,o)}function nP(e,r,i){const o=e.activeSubagentStack.get(r);if(o){for(let a=o.length-1;a>=0;a--)if(o[a]===i){o.splice(a,1);break}o.length===0&&e.activeSubagentStack.delete(r)}}function hc(e,r=80){if(e==null)return"";if(typeof e=="string")return e.length>r?e.slice(0,r-1)+"…":e;try{const i=JSON.stringify(e);return i.length>r?i.slice(0,r-1)+"…":i}catch{return String(e)}}function Ss(e){let r=null;for(let i=e.tools.length-1;i>=0;i--){const o=e.tools[i];if(o.endedAt==null){r=o;break}}e.inFlightTool=r}function u1(e,r){if(r.seq<=e.lastSeq)return e;const i=r.payload??{},o=r.receivedAt,a=i.hook_event_name??"Unknown";if(a==="__clear")return{...Yv(),lastSeq:r.seq};e.totalEvents+=1,e.lastSeq=r.seq;const u=i.session_id??"unknown",l=s1(e,i,o);switch(a){case"SessionStart":{const c=Ro(e,u,o,!1);c.synthetic=!1,c.state="active",c.startedAt=c.startedAt||o,!c.cwd&&i.cwd&&(c.cwd=i.cwd,c.cwdBasename=Or(i.cwd)),c.label==="session"&&i.cwd&&(c.label=Or(i.cwd)??"session");break}case"UserPromptSubmit":{for(const p of e.agents.values())p.sessionId===u&&p.kind==="subagent"&&p.state==="done"&&p.exitAt==null&&(p.exitAt=o);const c=Ro(e,u,o,!1);c.state="active",c.endedAt=void 0;const d=s1(e,i,o);d.state="active";const h=(typeof i.prompt=="string"?i.prompt:typeof i.message=="string"?i.message:"")??"";h&&(d.prompts.push({at:o,text:h}),d.firstPrompt||(d.firstPrompt=hc(h,120)));break}case"PreToolUse":{const c=i.tool_use_id??`${l.id}:${l.toolCount}`,d={id:c,name:i.tool_name??"?",input:i.tool_input,inputPreview:hc(i.tool_input),agentId:l.id,startedAt:o};l.tools.push(d),l.toolCount+=1,l.state="active",e.toolIndex.set(c,d),e.toolOwner.set(c,l.id),Ss(l);break}case"PostToolUse":case"PostToolUseFailure":{const c=i.tool_use_id,d=c?e.toolIndex.get(c):void 0;if(d){d.endedAt=o,d.ok=a==="PostToolUse",d.response=i.tool_response,a==="PostToolUseFailure"&&(d.errorPreview=hc(i.tool_response));const h=ob(i.tool_response);h&&(d.usage=h),e.toolIndex.delete(c);const p=e.toolOwner.get(c);if(e.toolOwner.delete(c),p){const m=e.agents.get(p);m&&(h&&eP(m.usage,h),Ss(m))}}break}case"SubagentStart":{const c=Qv(i);if(!c)break;const d=Zv(e,u,c,i,o);d.state="active",d.startedAt=d.startedAt||o;const h=Xv(i);h&&(d.label=h),tP(e,u,c);break}case"SubagentStop":{const c=Qv(i);if(!c)break;const d=Zv(e,u,c,i,o);d.state="done",d.endedAt=o,Ss(d),nP(e,u,c);break}case"Stop":case"SessionEnd":{const c=Ro(e,u,o,!1);c.state="done",c.endedAt=o,Ss(c);break}}return e}function gm(e){let r=5381;for(let i=0;i<e.length;i++)r=(r<<5)+r^e.charCodeAt(i);return Math.abs(r)%360}const pc=6;function rP(e,r,i){const o=(r??i)-e;if(o<1e3)return`${Math.max(0,o)}ms`;const a=Math.floor(o/1e3);if(a<60)return`${a}s`;const u=Math.floor(a/60),l=a%60;return`${u}m ${String(l).padStart(2,"0")}s`}function iP(e){return e.endedAt==null?"tool-chip inflight":e.ok===!1?"tool-chip err":"tool-chip done"}function oP({data:e,selected:r}){const i=e.now??Date.now(),o=["agent-node",`state-${e.state}`,e.synthetic?"synthetic":"",r?"selected":""].filter(Boolean).join(" "),a=e.tools.filter(d=>!d.endedAt).length,u=e.tools.slice(-pc),c=`hsl(${gm(e.sessionId)} 70% 60%)`;return D.jsxs("div",{className:o,style:{"--accent":c},children:[D.jsx("span",{className:"accent-stripe"}),D.jsx(bi,{type:"target",position:xe.Left,style:{background:"transparent",border:"none"}}),D.jsxs("div",{className:"head",children:[D.jsxs("div",{className:"title",children:[D.jsx(aP,{state:e.state}),D.jsx("span",{className:"label",title:e.cwd,children:e.label}),e.synthetic&&D.jsx("span",{className:"synth-tag",title:"No SessionStart captured — synthesised",children:"?"})]}),D.jsx("div",{className:"time",title:`Started ${new Date(e.startedAt).toLocaleTimeString()}`,children:rP(e.startedAt,e.endedAt,i)})]}),D.jsxs("div",{className:"sub",children:[e.kind==="root"?"session":"subagent",e.childCount>0&&D.jsxs("span",{className:"spawn-badge",title:`${e.childCount} subagents spawned`,children:["→ ",e.childCount]}),e.cwdBasename&&e.kind==="subagent"?` · ${e.cwdBasename}`:""]}),e.inFlightTool&&D.jsxs("div",{className:"now-running",title:e.inFlightTool.inputPreview||e.inFlightTool.name,children:[D.jsx("span",{className:"now-dot"}),D.jsx("span",{className:"now-label",children:"now"}),D.jsx("span",{className:"now-tool",children:e.inFlightTool.name}),D.jsxs("span",{className:"now-time",children:[Math.max(0,i-e.inFlightTool.startedAt),"ms"]})]}),D.jsxs("div",{className:"chips",children:[u.length===0&&D.jsx("span",{className:"chips-empty",children:"no tools yet"}),u.map(d=>D.jsx("span",{className:iP(d),title:`${d.name} · ${d.inputPreview}`,children:d.name},d.id)),e.tools.length>pc&&D.jsxs("span",{className:"chips-more",children:["+",e.tools.length-pc]})]}),D.jsxs("div",{className:"meta",children:[D.jsxs("span",{children:[D.jsx("b",{children:e.toolCount})," tools"]}),a>0&&D.jsxs("span",{className:"inflight-meta",children:[D.jsx("b",{children:a})," in-flight"]}),e.usage.inputTokens+e.usage.outputTokens>0&&D.jsxs("span",{className:"tokens-meta",title:`in:${e.usage.inputTokens} out:${e.usage.outputTokens} cache-r:${e.usage.cacheReadTokens} cache-c:${e.usage.cacheCreateTokens}`,children:[D.jsx("b",{children:sP(e.usage.inputTokens+e.usage.outputTokens)})," tok"]})]}),D.jsx(bi,{type:"source",position:xe.Right,style:{background:"transparent",border:"none"}})]})}function aP({state:e}){const r=e==="active"?"live":e==="done"?"done":"err";return D.jsx("span",{className:`state-pill state-${e}`,children:r})}function sP(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function l1(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function uP(e){if(e.endedAt==null)return"in-flight…";const r=e.endedAt-e.startedAt;return r<1e3?`${r}ms`:`${(r/1e3).toFixed(2)}s`}function lP({tool:e,onClose:r}){Q.useEffect(()=>{const o=a=>{a.key==="Escape"&&r()};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[r]);const i=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return D.jsx("div",{className:"modal-backdrop",onClick:r,role:"dialog","aria-modal":"true",children:D.jsxs("div",{className:"modal",onClick:o=>o.stopPropagation(),children:[D.jsxs("header",{className:"modal-head",children:[D.jsxs("div",{className:"modal-title",children:[D.jsx("span",{className:`status-dot ${i}`}),D.jsx("span",{className:"modal-tool-name",children:e.name}),D.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),D.jsxs("div",{className:"modal-actions",children:[D.jsx("span",{className:"modal-dur",children:uP(e)}),D.jsx("button",{className:"btn icon-btn",onClick:r,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),D.jsxs("section",{className:"modal-body",children:[D.jsxs("div",{className:"modal-section",children:[D.jsx("h4",{children:"Input"}),D.jsx("pre",{children:l1(e.input??e.inputPreview)})]}),D.jsxs("div",{className:"modal-section",children:[D.jsxs("h4",{children:["Response ",i==="err"&&D.jsx("span",{className:"err-tag",children:"error"})]}),D.jsx("pre",{children:e.endedAt==null?"(waiting…)":l1(e.response??e.errorPreview)})]})]})]})})}const Es=26,c1=22;function cP(e){const r=new Map;for(const o of e.nodeInternals.values()){const a=o.data;if(!(a!=null&&a.sessionId)||a.exitAt!=null||o.width==null||o.height==null)continue;const u=o.position.x,l=o.position.y,c=u+o.width,d=l+o.height,h=r.get(a.sessionId);h?(h.minX=Math.min(h.minX,u),h.minY=Math.min(h.minY,l),h.maxX=Math.max(h.maxX,c),h.maxY=Math.max(h.maxY,d),a.kind==="root"&&(h.label=f1(a)??h.label)):r.set(a.sessionId,{minX:u,minY:l,maxX:c,maxY:d,label:f1(a)??a.sessionId})}const i=[];for(const[o,a]of r)i.push({sessionId:o,label:a.label,x:a.minX-Es,y:a.minY-Es-c1,w:a.maxX-a.minX+Es*2,h:a.maxY-a.minY+Es*2+c1});return i}function f1(e){if(e.kind==="root")return e.label}function fP(){const{x:e,y:r,zoom:i}=Iq(),o=Pe(cP,dP);return o.length<=1?null:D.jsx("div",{className:"session-clusters","aria-hidden":!0,children:o.map(a=>{const u=gm(a.sessionId),l={position:"absolute",left:a.x*i+e,top:a.y*i+r,width:a.w*i,height:a.h*i,borderColor:`hsl(${u} 65% 55% / 0.45)`,background:`hsl(${u} 70% 50% / 0.05)`};return D.jsx("div",{className:"cluster-card",style:l,children:D.jsx("div",{className:"cluster-label",style:{color:`hsl(${u} 70% 70%)`,transform:`scale(${Math.min(1,i)})`},children:a.label})},a.sessionId)})})}function dP(e,r){if(e.length!==r.length)return!1;for(let i=0;i<e.length;i++){const o=e[i],a=r[i];if(o.sessionId!==a.sessionId||o.label!==a.label||o.x!==a.x||o.y!==a.y||o.w!==a.w||o.h!==a.h)return!1}return!0}function ym(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 vc,d1;function hP(){if(d1)return vc;d1=1;function e(){this.__data__=[],this.size=0}return vc=e,vc}var mc,h1;function Ci(){if(h1)return mc;h1=1;function e(r,i){return r===i||r!==r&&i!==i}return mc=e,mc}var gc,p1;function Gs(){if(p1)return gc;p1=1;var e=Ci();function r(i,o){for(var a=i.length;a--;)if(e(i[a][0],o))return a;return-1}return gc=r,gc}var yc,v1;function pP(){if(v1)return yc;v1=1;var e=Gs(),r=Array.prototype,i=r.splice;function o(a){var u=this.__data__,l=e(u,a);if(l<0)return!1;var c=u.length-1;return l==c?u.pop():i.call(u,l,1),--this.size,!0}return yc=o,yc}var _c,m1;function vP(){if(m1)return _c;m1=1;var e=Gs();function r(i){var o=this.__data__,a=e(o,i);return a<0?void 0:o[a][1]}return _c=r,_c}var wc,g1;function mP(){if(g1)return wc;g1=1;var e=Gs();function r(i){return e(this.__data__,i)>-1}return wc=r,wc}var xc,y1;function gP(){if(y1)return xc;y1=1;var e=Gs();function r(i,o){var a=this.__data__,u=e(a,i);return u<0?(++this.size,a.push([i,o])):a[u][1]=o,this}return xc=r,xc}var Sc,_1;function Ws(){if(_1)return Sc;_1=1;var e=hP(),r=pP(),i=vP(),o=mP(),a=gP();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var h=l[c];this.set(h[0],h[1])}}return u.prototype.clear=e,u.prototype.delete=r,u.prototype.get=i,u.prototype.has=o,u.prototype.set=a,Sc=u,Sc}var Ec,w1;function yP(){if(w1)return Ec;w1=1;var e=Ws();function r(){this.__data__=new e,this.size=0}return Ec=r,Ec}var kc,x1;function _P(){if(x1)return kc;x1=1;function e(r){var i=this.__data__,o=i.delete(r);return this.size=i.size,o}return kc=e,kc}var bc,S1;function wP(){if(S1)return bc;S1=1;function e(r){return this.__data__.get(r)}return bc=e,bc}var Cc,E1;function xP(){if(E1)return Cc;E1=1;function e(r){return this.__data__.has(r)}return Cc=e,Cc}var Nc,k1;function sb(){if(k1)return Nc;k1=1;var e=typeof fs=="object"&&fs&&fs.Object===Object&&fs;return Nc=e,Nc}var Rc,b1;function dn(){if(b1)return Rc;b1=1;var e=sb(),r=typeof self=="object"&&self&&self.Object===Object&&self,i=e||r||Function("return this")();return Rc=i,Rc}var Tc,C1;function Ni(){if(C1)return Tc;C1=1;var e=dn(),r=e.Symbol;return Tc=r,Tc}var Ic,N1;function SP(){if(N1)return Ic;N1=1;var e=Ni(),r=Object.prototype,i=r.hasOwnProperty,o=r.toString,a=e?e.toStringTag:void 0;function u(l){var c=i.call(l,a),d=l[a];try{l[a]=void 0;var h=!0}catch{}var p=o.call(l);return h&&(c?l[a]=d:delete l[a]),p}return Ic=u,Ic}var Ac,R1;function EP(){if(R1)return Ac;R1=1;var e=Object.prototype,r=e.toString;function i(o){return r.call(o)}return Ac=i,Ac}var qc,T1;function jr(){if(T1)return qc;T1=1;var e=Ni(),r=SP(),i=EP(),o="[object Null]",a="[object Undefined]",u=e?e.toStringTag:void 0;function l(c){return c==null?c===void 0?a:o:u&&u in Object(c)?r(c):i(c)}return qc=l,qc}var Pc,I1;function Qt(){if(I1)return Pc;I1=1;function e(r){var i=typeof r;return r!=null&&(i=="object"||i=="function")}return Pc=e,Pc}var Mc,A1;function $o(){if(A1)return Mc;A1=1;var e=jr(),r=Qt(),i="[object AsyncFunction]",o="[object Function]",a="[object GeneratorFunction]",u="[object Proxy]";function l(c){if(!r(c))return!1;var d=e(c);return d==o||d==a||d==i||d==u}return Mc=l,Mc}var Oc,q1;function kP(){if(q1)return Oc;q1=1;var e=dn(),r=e["__core-js_shared__"];return Oc=r,Oc}var Lc,P1;function bP(){if(P1)return Lc;P1=1;var e=kP(),r=(function(){var o=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""})();function i(o){return!!r&&r in o}return Lc=i,Lc}var zc,M1;function ub(){if(M1)return zc;M1=1;var e=Function.prototype,r=e.toString;function i(o){if(o!=null){try{return r.call(o)}catch{}try{return o+""}catch{}}return""}return zc=i,zc}var jc,O1;function CP(){if(O1)return jc;O1=1;var e=$o(),r=bP(),i=Qt(),o=ub(),a=/[\\^$.*+?()[\]{}|]/g,u=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,d=l.toString,h=c.hasOwnProperty,p=RegExp("^"+d.call(h).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function m(y){if(!i(y)||r(y))return!1;var _=e(y)?p:u;return _.test(o(y))}return jc=m,jc}var Dc,L1;function NP(){if(L1)return Dc;L1=1;function e(r,i){return r==null?void 0:r[i]}return Dc=e,Dc}var Fc,z1;function Dr(){if(z1)return Fc;z1=1;var e=CP(),r=NP();function i(o,a){var u=r(o,a);return e(u)?u:void 0}return Fc=i,Fc}var $c,j1;function _m(){if(j1)return $c;j1=1;var e=Dr(),r=dn(),i=e(r,"Map");return $c=i,$c}var Bc,D1;function Ks(){if(D1)return Bc;D1=1;var e=Dr(),r=e(Object,"create");return Bc=r,Bc}var Hc,F1;function RP(){if(F1)return Hc;F1=1;var e=Ks();function r(){this.__data__=e?e(null):{},this.size=0}return Hc=r,Hc}var Uc,$1;function TP(){if($1)return Uc;$1=1;function e(r){var i=this.has(r)&&delete this.__data__[r];return this.size-=i?1:0,i}return Uc=e,Uc}var Vc,B1;function IP(){if(B1)return Vc;B1=1;var e=Ks(),r="__lodash_hash_undefined__",i=Object.prototype,o=i.hasOwnProperty;function a(u){var l=this.__data__;if(e){var c=l[u];return c===r?void 0:c}return o.call(l,u)?l[u]:void 0}return Vc=a,Vc}var Gc,H1;function AP(){if(H1)return Gc;H1=1;var e=Ks(),r=Object.prototype,i=r.hasOwnProperty;function o(a){var u=this.__data__;return e?u[a]!==void 0:i.call(u,a)}return Gc=o,Gc}var Wc,U1;function qP(){if(U1)return Wc;U1=1;var e=Ks(),r="__lodash_hash_undefined__";function i(o,a){var u=this.__data__;return this.size+=this.has(o)?0:1,u[o]=e&&a===void 0?r:a,this}return Wc=i,Wc}var Kc,V1;function PP(){if(V1)return Kc;V1=1;var e=RP(),r=TP(),i=IP(),o=AP(),a=qP();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var h=l[c];this.set(h[0],h[1])}}return u.prototype.clear=e,u.prototype.delete=r,u.prototype.get=i,u.prototype.has=o,u.prototype.set=a,Kc=u,Kc}var Yc,G1;function MP(){if(G1)return Yc;G1=1;var e=PP(),r=Ws(),i=_m();function o(){this.size=0,this.__data__={hash:new e,map:new(i||r),string:new e}}return Yc=o,Yc}var Xc,W1;function OP(){if(W1)return Xc;W1=1;function e(r){var i=typeof r;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?r!=="__proto__":r===null}return Xc=e,Xc}var Qc,K1;function Ys(){if(K1)return Qc;K1=1;var e=OP();function r(i,o){var a=i.__data__;return e(o)?a[typeof o=="string"?"string":"hash"]:a.map}return Qc=r,Qc}var Zc,Y1;function LP(){if(Y1)return Zc;Y1=1;var e=Ys();function r(i){var o=e(this,i).delete(i);return this.size-=o?1:0,o}return Zc=r,Zc}var Jc,X1;function zP(){if(X1)return Jc;X1=1;var e=Ys();function r(i){return e(this,i).get(i)}return Jc=r,Jc}var ef,Q1;function jP(){if(Q1)return ef;Q1=1;var e=Ys();function r(i){return e(this,i).has(i)}return ef=r,ef}var tf,Z1;function DP(){if(Z1)return tf;Z1=1;var e=Ys();function r(i,o){var a=e(this,i),u=a.size;return a.set(i,o),this.size+=a.size==u?0:1,this}return tf=r,tf}var nf,J1;function wm(){if(J1)return nf;J1=1;var e=MP(),r=LP(),i=zP(),o=jP(),a=DP();function u(l){var c=-1,d=l==null?0:l.length;for(this.clear();++c<d;){var h=l[c];this.set(h[0],h[1])}}return u.prototype.clear=e,u.prototype.delete=r,u.prototype.get=i,u.prototype.has=o,u.prototype.set=a,nf=u,nf}var rf,e_;function FP(){if(e_)return rf;e_=1;var e=Ws(),r=_m(),i=wm(),o=200;function a(u,l){var c=this.__data__;if(c instanceof e){var d=c.__data__;if(!r||d.length<o-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 rf=a,rf}var of,t_;function Xs(){if(t_)return of;t_=1;var e=Ws(),r=yP(),i=_P(),o=wP(),a=xP(),u=FP();function l(c){var d=this.__data__=new e(c);this.size=d.size}return l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=a,l.prototype.set=u,of=l,of}var af,n_;function xm(){if(n_)return af;n_=1;function e(r,i){for(var o=-1,a=r==null?0:r.length;++o<a&&i(r[o],o,r)!==!1;);return r}return af=e,af}var sf,r_;function lb(){if(r_)return sf;r_=1;var e=Dr(),r=(function(){try{var i=e(Object,"defineProperty");return i({},"",{}),i}catch{}})();return sf=r,sf}var uf,i_;function Qs(){if(i_)return uf;i_=1;var e=lb();function r(i,o,a){o=="__proto__"&&e?e(i,o,{configurable:!0,enumerable:!0,value:a,writable:!0}):i[o]=a}return uf=r,uf}var lf,o_;function Zs(){if(o_)return lf;o_=1;var e=Qs(),r=Ci(),i=Object.prototype,o=i.hasOwnProperty;function a(u,l,c){var d=u[l];(!(o.call(u,l)&&r(d,c))||c===void 0&&!(l in u))&&e(u,l,c)}return lf=a,lf}var cf,a_;function Bo(){if(a_)return cf;a_=1;var e=Zs(),r=Qs();function i(o,a,u,l){var c=!u;u||(u={});for(var d=-1,h=a.length;++d<h;){var p=a[d],m=l?l(u[p],o[p],p,u,o):void 0;m===void 0&&(m=o[p]),c?r(u,p,m):e(u,p,m)}return u}return cf=i,cf}var ff,s_;function $P(){if(s_)return ff;s_=1;function e(r,i){for(var o=-1,a=Array(r);++o<r;)a[o]=i(o);return a}return ff=e,ff}var df,u_;function xn(){if(u_)return df;u_=1;function e(r){return r!=null&&typeof r=="object"}return df=e,df}var hf,l_;function BP(){if(l_)return hf;l_=1;var e=jr(),r=xn(),i="[object Arguments]";function o(a){return r(a)&&e(a)==i}return hf=o,hf}var pf,c_;function Ho(){if(c_)return pf;c_=1;var e=BP(),r=xn(),i=Object.prototype,o=i.hasOwnProperty,a=i.propertyIsEnumerable,u=e((function(){return arguments})())?e:function(l){return r(l)&&o.call(l,"callee")&&!a.call(l,"callee")};return pf=u,pf}var vf,f_;function Qe(){if(f_)return vf;f_=1;var e=Array.isArray;return vf=e,vf}var bo={exports:{}},mf,d_;function HP(){if(d_)return mf;d_=1;function e(){return!1}return mf=e,mf}bo.exports;var h_;function Ri(){return h_||(h_=1,(function(e,r){var i=dn(),o=HP(),a=r&&!r.nodeType&&r,u=a&&!0&&e&&!e.nodeType&&e,l=u&&u.exports===a,c=l?i.Buffer:void 0,d=c?c.isBuffer:void 0,h=d||o;e.exports=h})(bo,bo.exports)),bo.exports}var gf,p_;function Js(){if(p_)return gf;p_=1;var e=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(o,a){var u=typeof o;return a=a??e,!!a&&(u=="number"||u!="symbol"&&r.test(o))&&o>-1&&o%1==0&&o<a}return gf=i,gf}var yf,v_;function Sm(){if(v_)return yf;v_=1;var e=9007199254740991;function r(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=e}return yf=r,yf}var _f,m_;function UP(){if(m_)return _f;m_=1;var e=jr(),r=Sm(),i=xn(),o="[object Arguments]",a="[object Array]",u="[object Boolean]",l="[object Date]",c="[object Error]",d="[object Function]",h="[object Map]",p="[object Number]",m="[object Object]",y="[object RegExp]",_="[object Set]",C="[object String]",w="[object WeakMap]",x="[object ArrayBuffer]",E="[object DataView]",k="[object Float32Array]",N="[object Float64Array]",b="[object Int8Array]",I="[object Int16Array]",A="[object Int32Array]",P="[object Uint8Array]",H="[object Uint8ClampedArray]",z="[object Uint16Array]",U="[object Uint32Array]",V={};V[k]=V[N]=V[b]=V[I]=V[A]=V[P]=V[H]=V[z]=V[U]=!0,V[o]=V[a]=V[x]=V[u]=V[E]=V[l]=V[c]=V[d]=V[h]=V[p]=V[m]=V[y]=V[_]=V[C]=V[w]=!1;function ee(J){return i(J)&&r(J.length)&&!!V[e(J)]}return _f=ee,_f}var wf,g_;function eu(){if(g_)return wf;g_=1;function e(r){return function(i){return r(i)}}return wf=e,wf}var Co={exports:{}};Co.exports;var y_;function Em(){return y_||(y_=1,(function(e,r){var i=sb(),o=r&&!r.nodeType&&r,a=o&&!0&&e&&!e.nodeType&&e,u=a&&a.exports===o,l=u&&i.process,c=(function(){try{var d=a&&a.require&&a.require("util").types;return d||l&&l.binding&&l.binding("util")}catch{}})();e.exports=c})(Co,Co.exports)),Co.exports}var xf,__;function Uo(){if(__)return xf;__=1;var e=UP(),r=eu(),i=Em(),o=i&&i.isTypedArray,a=o?r(o):e;return xf=a,xf}var Sf,w_;function cb(){if(w_)return Sf;w_=1;var e=$P(),r=Ho(),i=Qe(),o=Ri(),a=Js(),u=Uo(),l=Object.prototype,c=l.hasOwnProperty;function d(h,p){var m=i(h),y=!m&&r(h),_=!m&&!y&&o(h),C=!m&&!y&&!_&&u(h),w=m||y||_||C,x=w?e(h.length,String):[],E=x.length;for(var k in h)(p||c.call(h,k))&&!(w&&(k=="length"||_&&(k=="offset"||k=="parent")||C&&(k=="buffer"||k=="byteLength"||k=="byteOffset")||a(k,E)))&&x.push(k);return x}return Sf=d,Sf}var Ef,x_;function tu(){if(x_)return Ef;x_=1;var e=Object.prototype;function r(i){var o=i&&i.constructor,a=typeof o=="function"&&o.prototype||e;return i===a}return Ef=r,Ef}var kf,S_;function fb(){if(S_)return kf;S_=1;function e(r,i){return function(o){return r(i(o))}}return kf=e,kf}var bf,E_;function VP(){if(E_)return bf;E_=1;var e=fb(),r=e(Object.keys,Object);return bf=r,bf}var Cf,k_;function km(){if(k_)return Cf;k_=1;var e=tu(),r=VP(),i=Object.prototype,o=i.hasOwnProperty;function a(u){if(!e(u))return r(u);var l=[];for(var c in Object(u))o.call(u,c)&&c!="constructor"&&l.push(c);return l}return Cf=a,Cf}var Nf,b_;function Fn(){if(b_)return Nf;b_=1;var e=$o(),r=Sm();function i(o){return o!=null&&r(o.length)&&!e(o)}return Nf=i,Nf}var Rf,C_;function dr(){if(C_)return Rf;C_=1;var e=cb(),r=km(),i=Fn();function o(a){return i(a)?e(a):r(a)}return Rf=o,Rf}var Tf,N_;function GP(){if(N_)return Tf;N_=1;var e=Bo(),r=dr();function i(o,a){return o&&e(a,r(a),o)}return Tf=i,Tf}var If,R_;function WP(){if(R_)return If;R_=1;function e(r){var i=[];if(r!=null)for(var o in Object(r))i.push(o);return i}return If=e,If}var Af,T_;function KP(){if(T_)return Af;T_=1;var e=Qt(),r=tu(),i=WP(),o=Object.prototype,a=o.hasOwnProperty;function u(l){if(!e(l))return i(l);var c=r(l),d=[];for(var h in l)h=="constructor"&&(c||!a.call(l,h))||d.push(h);return d}return Af=u,Af}var qf,I_;function Fr(){if(I_)return qf;I_=1;var e=cb(),r=KP(),i=Fn();function o(a){return i(a)?e(a,!0):r(a)}return qf=o,qf}var Pf,A_;function YP(){if(A_)return Pf;A_=1;var e=Bo(),r=Fr();function i(o,a){return o&&e(a,r(a),o)}return Pf=i,Pf}var No={exports:{}};No.exports;var q_;function db(){return q_||(q_=1,(function(e,r){var i=dn(),o=r&&!r.nodeType&&r,a=o&&!0&&e&&!e.nodeType&&e,u=a&&a.exports===o,l=u?i.Buffer:void 0,c=l?l.allocUnsafe:void 0;function d(h,p){if(p)return h.slice();var m=h.length,y=c?c(m):new h.constructor(m);return h.copy(y),y}e.exports=d})(No,No.exports)),No.exports}var Mf,P_;function hb(){if(P_)return Mf;P_=1;function e(r,i){var o=-1,a=r.length;for(i||(i=Array(a));++o<a;)i[o]=r[o];return i}return Mf=e,Mf}var Of,M_;function pb(){if(M_)return Of;M_=1;function e(r,i){for(var o=-1,a=r==null?0:r.length,u=0,l=[];++o<a;){var c=r[o];i(c,o,r)&&(l[u++]=c)}return l}return Of=e,Of}var Lf,O_;function vb(){if(O_)return Lf;O_=1;function e(){return[]}return Lf=e,Lf}var zf,L_;function bm(){if(L_)return zf;L_=1;var e=pb(),r=vb(),i=Object.prototype,o=i.propertyIsEnumerable,a=Object.getOwnPropertySymbols,u=a?function(l){return l==null?[]:(l=Object(l),e(a(l),function(c){return o.call(l,c)}))}:r;return zf=u,zf}var jf,z_;function XP(){if(z_)return jf;z_=1;var e=Bo(),r=bm();function i(o,a){return e(o,r(o),a)}return jf=i,jf}var Df,j_;function Cm(){if(j_)return Df;j_=1;function e(r,i){for(var o=-1,a=i.length,u=r.length;++o<a;)r[u+o]=i[o];return r}return Df=e,Df}var Ff,D_;function nu(){if(D_)return Ff;D_=1;var e=fb(),r=e(Object.getPrototypeOf,Object);return Ff=r,Ff}var $f,F_;function mb(){if(F_)return $f;F_=1;var e=Cm(),r=nu(),i=bm(),o=vb(),a=Object.getOwnPropertySymbols,u=a?function(l){for(var c=[];l;)e(c,i(l)),l=r(l);return c}:o;return $f=u,$f}var Bf,$_;function QP(){if($_)return Bf;$_=1;var e=Bo(),r=mb();function i(o,a){return e(o,r(o),a)}return Bf=i,Bf}var Hf,B_;function gb(){if(B_)return Hf;B_=1;var e=Cm(),r=Qe();function i(o,a,u){var l=a(o);return r(o)?l:e(l,u(o))}return Hf=i,Hf}var Uf,H_;function yb(){if(H_)return Uf;H_=1;var e=gb(),r=bm(),i=dr();function o(a){return e(a,i,r)}return Uf=o,Uf}var Vf,U_;function ZP(){if(U_)return Vf;U_=1;var e=gb(),r=mb(),i=Fr();function o(a){return e(a,i,r)}return Vf=o,Vf}var Gf,V_;function JP(){if(V_)return Gf;V_=1;var e=Dr(),r=dn(),i=e(r,"DataView");return Gf=i,Gf}var Wf,G_;function eM(){if(G_)return Wf;G_=1;var e=Dr(),r=dn(),i=e(r,"Promise");return Wf=i,Wf}var Kf,W_;function _b(){if(W_)return Kf;W_=1;var e=Dr(),r=dn(),i=e(r,"Set");return Kf=i,Kf}var Yf,K_;function tM(){if(K_)return Yf;K_=1;var e=Dr(),r=dn(),i=e(r,"WeakMap");return Yf=i,Yf}var Xf,Y_;function Ti(){if(Y_)return Xf;Y_=1;var e=JP(),r=_m(),i=eM(),o=_b(),a=tM(),u=jr(),l=ub(),c="[object Map]",d="[object Object]",h="[object Promise]",p="[object Set]",m="[object WeakMap]",y="[object DataView]",_=l(e),C=l(r),w=l(i),x=l(o),E=l(a),k=u;return(e&&k(new e(new ArrayBuffer(1)))!=y||r&&k(new r)!=c||i&&k(i.resolve())!=h||o&&k(new o)!=p||a&&k(new a)!=m)&&(k=function(N){var b=u(N),I=b==d?N.constructor:void 0,A=I?l(I):"";if(A)switch(A){case _:return y;case C:return c;case w:return h;case x:return p;case E:return m}return b}),Xf=k,Xf}var Qf,X_;function nM(){if(X_)return Qf;X_=1;var e=Object.prototype,r=e.hasOwnProperty;function i(o){var a=o.length,u=new o.constructor(a);return a&&typeof o[0]=="string"&&r.call(o,"index")&&(u.index=o.index,u.input=o.input),u}return Qf=i,Qf}var Zf,Q_;function wb(){if(Q_)return Zf;Q_=1;var e=dn(),r=e.Uint8Array;return Zf=r,Zf}var Jf,Z_;function Nm(){if(Z_)return Jf;Z_=1;var e=wb();function r(i){var o=new i.constructor(i.byteLength);return new e(o).set(new e(i)),o}return Jf=r,Jf}var ed,J_;function rM(){if(J_)return ed;J_=1;var e=Nm();function r(i,o){var a=o?e(i.buffer):i.buffer;return new i.constructor(a,i.byteOffset,i.byteLength)}return ed=r,ed}var td,ew;function iM(){if(ew)return td;ew=1;var e=/\w*$/;function r(i){var o=new i.constructor(i.source,e.exec(i));return o.lastIndex=i.lastIndex,o}return td=r,td}var nd,tw;function oM(){if(tw)return nd;tw=1;var e=Ni(),r=e?e.prototype:void 0,i=r?r.valueOf:void 0;function o(a){return i?Object(i.call(a)):{}}return nd=o,nd}var rd,nw;function xb(){if(nw)return rd;nw=1;var e=Nm();function r(i,o){var a=o?e(i.buffer):i.buffer;return new i.constructor(a,i.byteOffset,i.length)}return rd=r,rd}var id,rw;function aM(){if(rw)return id;rw=1;var e=Nm(),r=rM(),i=iM(),o=oM(),a=xb(),u="[object Boolean]",l="[object Date]",c="[object Map]",d="[object Number]",h="[object RegExp]",p="[object Set]",m="[object String]",y="[object Symbol]",_="[object ArrayBuffer]",C="[object DataView]",w="[object Float32Array]",x="[object Float64Array]",E="[object Int8Array]",k="[object Int16Array]",N="[object Int32Array]",b="[object Uint8Array]",I="[object Uint8ClampedArray]",A="[object Uint16Array]",P="[object Uint32Array]";function H(z,U,V){var ee=z.constructor;switch(U){case _:return e(z);case u:case l:return new ee(+z);case C:return r(z,V);case w:case x:case E:case k:case N:case b:case I:case A:case P:return a(z,V);case c:return new ee;case d:case m:return new ee(z);case h:return i(z);case p:return new ee;case y:return o(z)}}return id=H,id}var od,iw;function Sb(){if(iw)return od;iw=1;var e=Qt(),r=Object.create,i=(function(){function o(){}return function(a){if(!e(a))return{};if(r)return r(a);o.prototype=a;var u=new o;return o.prototype=void 0,u}})();return od=i,od}var ad,ow;function Eb(){if(ow)return ad;ow=1;var e=Sb(),r=nu(),i=tu();function o(a){return typeof a.constructor=="function"&&!i(a)?e(r(a)):{}}return ad=o,ad}var sd,aw;function sM(){if(aw)return sd;aw=1;var e=Ti(),r=xn(),i="[object Map]";function o(a){return r(a)&&e(a)==i}return sd=o,sd}var ud,sw;function uM(){if(sw)return ud;sw=1;var e=sM(),r=eu(),i=Em(),o=i&&i.isMap,a=o?r(o):e;return ud=a,ud}var ld,uw;function lM(){if(uw)return ld;uw=1;var e=Ti(),r=xn(),i="[object Set]";function o(a){return r(a)&&e(a)==i}return ld=o,ld}var cd,lw;function cM(){if(lw)return cd;lw=1;var e=lM(),r=eu(),i=Em(),o=i&&i.isSet,a=o?r(o):e;return cd=a,cd}var fd,cw;function kb(){if(cw)return fd;cw=1;var e=Xs(),r=xm(),i=Zs(),o=GP(),a=YP(),u=db(),l=hb(),c=XP(),d=QP(),h=yb(),p=ZP(),m=Ti(),y=nM(),_=aM(),C=Eb(),w=Qe(),x=Ri(),E=uM(),k=Qt(),N=cM(),b=dr(),I=Fr(),A=1,P=2,H=4,z="[object Arguments]",U="[object Array]",V="[object Boolean]",ee="[object Date]",J="[object Error]",R="[object Function]",G="[object GeneratorFunction]",$="[object Map]",re="[object Number]",K="[object Object]",L="[object RegExp]",W="[object Set]",T="[object String]",M="[object Symbol]",ne="[object WeakMap]",O="[object ArrayBuffer]",F="[object DataView]",Y="[object Float32Array]",ie="[object Float64Array]",ue="[object Int8Array]",fe="[object Int16Array]",he="[object Int32Array]",Ne="[object Uint8Array]",Me="[object Uint8ClampedArray]",Te="[object Uint16Array]",Re="[object Uint32Array]",we={};we[z]=we[U]=we[O]=we[F]=we[V]=we[ee]=we[Y]=we[ie]=we[ue]=we[fe]=we[he]=we[$]=we[re]=we[K]=we[L]=we[W]=we[T]=we[M]=we[Ne]=we[Me]=we[Te]=we[Re]=!0,we[J]=we[R]=we[ne]=!1;function De(ve,me,Oe,lt,ct,Ze){var Fe,ft=me&A,St=me&P,Ft=me&H;if(Oe&&(Fe=ct?Oe(ve,lt,ct,Ze):Oe(ve)),Fe!==void 0)return Fe;if(!k(ve))return ve;var Et=w(ve);if(Et){if(Fe=y(ve),!ft)return l(ve,Fe)}else{var it=m(ve),$t=it==R||it==G;if(x(ve))return u(ve,ft);if(it==K||it==z||$t&&!ct){if(Fe=St||$t?{}:C(ve),!ft)return St?d(ve,a(Fe,ve)):c(ve,o(Fe,ve))}else{if(!we[it])return ct?ve:{};Fe=_(ve,it,ft)}}Ze||(Ze=new e);var kt=Ze.get(ve);if(kt)return kt;Ze.set(ve,Fe),N(ve)?ve.forEach(function(Je){Fe.add(De(Je,me,Oe,Je,ve,Ze))}):E(ve)&&ve.forEach(function(Je,ot){Fe.set(ot,De(Je,me,Oe,ot,ve,Ze))});var $e=Ft?St?p:h:St?I:b,vt=Et?void 0:$e(ve);return r(vt||ve,function(Je,ot){vt&&(ot=Je,Je=ve[ot]),i(Fe,ot,De(Je,me,Oe,ot,ve,Ze))}),Fe}return fd=De,fd}var dd,fw;function fM(){if(fw)return dd;fw=1;var e=kb(),r=4;function i(o){return e(o,r)}return dd=i,dd}var hd,dw;function Rm(){if(dw)return hd;dw=1;function e(r){return function(){return r}}return hd=e,hd}var pd,hw;function dM(){if(hw)return pd;hw=1;function e(r){return function(i,o,a){for(var u=-1,l=Object(i),c=a(i),d=c.length;d--;){var h=c[r?d:++u];if(o(l[h],h,l)===!1)break}return i}}return pd=e,pd}var vd,pw;function Tm(){if(pw)return vd;pw=1;var e=dM(),r=e();return vd=r,vd}var md,vw;function Im(){if(vw)return md;vw=1;var e=Tm(),r=dr();function i(o,a){return o&&e(o,a,r)}return md=i,md}var gd,mw;function hM(){if(mw)return gd;mw=1;var e=Fn();function r(i,o){return function(a,u){if(a==null)return a;if(!e(a))return i(a,u);for(var l=a.length,c=o?l:-1,d=Object(a);(o?c--:++c<l)&&u(d[c],c,d)!==!1;);return a}}return gd=r,gd}var yd,gw;function ru(){if(gw)return yd;gw=1;var e=Im(),r=hM(),i=r(e);return yd=i,yd}var _d,yw;function $r(){if(yw)return _d;yw=1;function e(r){return r}return _d=e,_d}var wd,_w;function bb(){if(_w)return wd;_w=1;var e=$r();function r(i){return typeof i=="function"?i:e}return wd=r,wd}var xd,ww;function Cb(){if(ww)return xd;ww=1;var e=xm(),r=ru(),i=bb(),o=Qe();function a(u,l){var c=o(u)?e:r;return c(u,i(l))}return xd=a,xd}var Sd,xw;function Nb(){return xw||(xw=1,Sd=Cb()),Sd}var Ed,Sw;function pM(){if(Sw)return Ed;Sw=1;var e=ru();function r(i,o){var a=[];return e(i,function(u,l,c){o(u,l,c)&&a.push(u)}),a}return Ed=r,Ed}var kd,Ew;function vM(){if(Ew)return kd;Ew=1;var e="__lodash_hash_undefined__";function r(i){return this.__data__.set(i,e),this}return kd=r,kd}var bd,kw;function mM(){if(kw)return bd;kw=1;function e(r){return this.__data__.has(r)}return bd=e,bd}var Cd,bw;function Rb(){if(bw)return Cd;bw=1;var e=wm(),r=vM(),i=mM();function o(a){var u=-1,l=a==null?0:a.length;for(this.__data__=new e;++u<l;)this.add(a[u])}return o.prototype.add=o.prototype.push=r,o.prototype.has=i,Cd=o,Cd}var Nd,Cw;function gM(){if(Cw)return Nd;Cw=1;function e(r,i){for(var o=-1,a=r==null?0:r.length;++o<a;)if(i(r[o],o,r))return!0;return!1}return Nd=e,Nd}var Rd,Nw;function Tb(){if(Nw)return Rd;Nw=1;function e(r,i){return r.has(i)}return Rd=e,Rd}var Td,Rw;function Ib(){if(Rw)return Td;Rw=1;var e=Rb(),r=gM(),i=Tb(),o=1,a=2;function u(l,c,d,h,p,m){var y=d&o,_=l.length,C=c.length;if(_!=C&&!(y&&C>_))return!1;var w=m.get(l),x=m.get(c);if(w&&x)return w==c&&x==l;var E=-1,k=!0,N=d&a?new e:void 0;for(m.set(l,c),m.set(c,l);++E<_;){var b=l[E],I=c[E];if(h)var A=y?h(I,b,E,c,l,m):h(b,I,E,l,c,m);if(A!==void 0){if(A)continue;k=!1;break}if(N){if(!r(c,function(P,H){if(!i(N,H)&&(b===P||p(b,P,d,h,m)))return N.push(H)})){k=!1;break}}else if(!(b===I||p(b,I,d,h,m))){k=!1;break}}return m.delete(l),m.delete(c),k}return Td=u,Td}var Id,Tw;function yM(){if(Tw)return Id;Tw=1;function e(r){var i=-1,o=Array(r.size);return r.forEach(function(a,u){o[++i]=[u,a]}),o}return Id=e,Id}var Ad,Iw;function Am(){if(Iw)return Ad;Iw=1;function e(r){var i=-1,o=Array(r.size);return r.forEach(function(a){o[++i]=a}),o}return Ad=e,Ad}var qd,Aw;function _M(){if(Aw)return qd;Aw=1;var e=Ni(),r=wb(),i=Ci(),o=Ib(),a=yM(),u=Am(),l=1,c=2,d="[object Boolean]",h="[object Date]",p="[object Error]",m="[object Map]",y="[object Number]",_="[object RegExp]",C="[object Set]",w="[object String]",x="[object Symbol]",E="[object ArrayBuffer]",k="[object DataView]",N=e?e.prototype:void 0,b=N?N.valueOf:void 0;function I(A,P,H,z,U,V,ee){switch(H){case k:if(A.byteLength!=P.byteLength||A.byteOffset!=P.byteOffset)return!1;A=A.buffer,P=P.buffer;case E:return!(A.byteLength!=P.byteLength||!V(new r(A),new r(P)));case d:case h:case y:return i(+A,+P);case p:return A.name==P.name&&A.message==P.message;case _:case w:return A==P+"";case m:var J=a;case C:var R=z&l;if(J||(J=u),A.size!=P.size&&!R)return!1;var G=ee.get(A);if(G)return G==P;z|=c,ee.set(A,P);var $=o(J(A),J(P),z,U,V,ee);return ee.delete(A),$;case x:if(b)return b.call(A)==b.call(P)}return!1}return qd=I,qd}var Pd,qw;function wM(){if(qw)return Pd;qw=1;var e=yb(),r=1,i=Object.prototype,o=i.hasOwnProperty;function a(u,l,c,d,h,p){var m=c&r,y=e(u),_=y.length,C=e(l),w=C.length;if(_!=w&&!m)return!1;for(var x=_;x--;){var E=y[x];if(!(m?E in l:o.call(l,E)))return!1}var k=p.get(u),N=p.get(l);if(k&&N)return k==l&&N==u;var b=!0;p.set(u,l),p.set(l,u);for(var I=m;++x<_;){E=y[x];var A=u[E],P=l[E];if(d)var H=m?d(P,A,E,l,u,p):d(A,P,E,u,l,p);if(!(H===void 0?A===P||h(A,P,c,d,p):H)){b=!1;break}I||(I=E=="constructor")}if(b&&!I){var z=u.constructor,U=l.constructor;z!=U&&"constructor"in u&&"constructor"in l&&!(typeof z=="function"&&z instanceof z&&typeof U=="function"&&U instanceof U)&&(b=!1)}return p.delete(u),p.delete(l),b}return Pd=a,Pd}var Md,Pw;function xM(){if(Pw)return Md;Pw=1;var e=Xs(),r=Ib(),i=_M(),o=wM(),a=Ti(),u=Qe(),l=Ri(),c=Uo(),d=1,h="[object Arguments]",p="[object Array]",m="[object Object]",y=Object.prototype,_=y.hasOwnProperty;function C(w,x,E,k,N,b){var I=u(w),A=u(x),P=I?p:a(w),H=A?p:a(x);P=P==h?m:P,H=H==h?m:H;var z=P==m,U=H==m,V=P==H;if(V&&l(w)){if(!l(x))return!1;I=!0,z=!1}if(V&&!z)return b||(b=new e),I||c(w)?r(w,x,E,k,N,b):i(w,x,P,E,k,N,b);if(!(E&d)){var ee=z&&_.call(w,"__wrapped__"),J=U&&_.call(x,"__wrapped__");if(ee||J){var R=ee?w.value():w,G=J?x.value():x;return b||(b=new e),N(R,G,E,k,b)}}return V?(b||(b=new e),o(w,x,E,k,N,b)):!1}return Md=C,Md}var Od,Mw;function Ab(){if(Mw)return Od;Mw=1;var e=xM(),r=xn();function i(o,a,u,l,c){return o===a?!0:o==null||a==null||!r(o)&&!r(a)?o!==o&&a!==a:e(o,a,u,l,i,c)}return Od=i,Od}var Ld,Ow;function SM(){if(Ow)return Ld;Ow=1;var e=Xs(),r=Ab(),i=1,o=2;function a(u,l,c,d){var h=c.length,p=h,m=!d;if(u==null)return!p;for(u=Object(u);h--;){var y=c[h];if(m&&y[2]?y[1]!==u[y[0]]:!(y[0]in u))return!1}for(;++h<p;){y=c[h];var _=y[0],C=u[_],w=y[1];if(m&&y[2]){if(C===void 0&&!(_ in u))return!1}else{var x=new e;if(d)var E=d(C,w,_,u,l,x);if(!(E===void 0?r(w,C,i|o,d,x):E))return!1}}return!0}return Ld=a,Ld}var zd,Lw;function qb(){if(Lw)return zd;Lw=1;var e=Qt();function r(i){return i===i&&!e(i)}return zd=r,zd}var jd,zw;function EM(){if(zw)return jd;zw=1;var e=qb(),r=dr();function i(o){for(var a=r(o),u=a.length;u--;){var l=a[u],c=o[l];a[u]=[l,c,e(c)]}return a}return jd=i,jd}var Dd,jw;function Pb(){if(jw)return Dd;jw=1;function e(r,i){return function(o){return o==null?!1:o[r]===i&&(i!==void 0||r in Object(o))}}return Dd=e,Dd}var Fd,Dw;function kM(){if(Dw)return Fd;Dw=1;var e=SM(),r=EM(),i=Pb();function o(a){var u=r(a);return u.length==1&&u[0][2]?i(u[0][0],u[0][1]):function(l){return l===a||e(l,a,u)}}return Fd=o,Fd}var $d,Fw;function Ii(){if(Fw)return $d;Fw=1;var e=jr(),r=xn(),i="[object Symbol]";function o(a){return typeof a=="symbol"||r(a)&&e(a)==i}return $d=o,$d}var Bd,$w;function qm(){if($w)return Bd;$w=1;var e=Qe(),r=Ii(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;function a(u,l){if(e(u))return!1;var c=typeof u;return c=="number"||c=="symbol"||c=="boolean"||u==null||r(u)?!0:o.test(u)||!i.test(u)||l!=null&&u in Object(l)}return Bd=a,Bd}var Hd,Bw;function bM(){if(Bw)return Hd;Bw=1;var e=wm(),r="Expected a function";function i(o,a){if(typeof o!="function"||a!=null&&typeof a!="function")throw new TypeError(r);var u=function(){var l=arguments,c=a?a.apply(this,l):l[0],d=u.cache;if(d.has(c))return d.get(c);var h=o.apply(this,l);return u.cache=d.set(c,h)||d,h};return u.cache=new(i.Cache||e),u}return i.Cache=e,Hd=i,Hd}var Ud,Hw;function CM(){if(Hw)return Ud;Hw=1;var e=bM(),r=500;function i(o){var a=e(o,function(l){return u.size===r&&u.clear(),l}),u=a.cache;return a}return Ud=i,Ud}var Vd,Uw;function NM(){if(Uw)return Vd;Uw=1;var e=CM(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,o=e(function(a){var u=[];return a.charCodeAt(0)===46&&u.push(""),a.replace(r,function(l,c,d,h){u.push(d?h.replace(i,"$1"):c||l)}),u});return Vd=o,Vd}var Gd,Vw;function iu(){if(Vw)return Gd;Vw=1;function e(r,i){for(var o=-1,a=r==null?0:r.length,u=Array(a);++o<a;)u[o]=i(r[o],o,r);return u}return Gd=e,Gd}var Wd,Gw;function RM(){if(Gw)return Wd;Gw=1;var e=Ni(),r=iu(),i=Qe(),o=Ii(),a=e?e.prototype:void 0,u=a?a.toString:void 0;function l(c){if(typeof c=="string")return c;if(i(c))return r(c,l)+"";if(o(c))return u?u.call(c):"";var d=c+"";return d=="0"&&1/c==-1/0?"-0":d}return Wd=l,Wd}var Kd,Ww;function Mb(){if(Ww)return Kd;Ww=1;var e=RM();function r(i){return i==null?"":e(i)}return Kd=r,Kd}var Yd,Kw;function ou(){if(Kw)return Yd;Kw=1;var e=Qe(),r=qm(),i=NM(),o=Mb();function a(u,l){return e(u)?u:r(u,l)?[u]:i(o(u))}return Yd=a,Yd}var Xd,Yw;function Vo(){if(Yw)return Xd;Yw=1;var e=Ii();function r(i){if(typeof i=="string"||e(i))return i;var o=i+"";return o=="0"&&1/i==-1/0?"-0":o}return Xd=r,Xd}var Qd,Xw;function au(){if(Xw)return Qd;Xw=1;var e=ou(),r=Vo();function i(o,a){a=e(a,o);for(var u=0,l=a.length;o!=null&&u<l;)o=o[r(a[u++])];return u&&u==l?o:void 0}return Qd=i,Qd}var Zd,Qw;function TM(){if(Qw)return Zd;Qw=1;var e=au();function r(i,o,a){var u=i==null?void 0:e(i,o);return u===void 0?a:u}return Zd=r,Zd}var Jd,Zw;function IM(){if(Zw)return Jd;Zw=1;function e(r,i){return r!=null&&i in Object(r)}return Jd=e,Jd}var eh,Jw;function Ob(){if(Jw)return eh;Jw=1;var e=ou(),r=Ho(),i=Qe(),o=Js(),a=Sm(),u=Vo();function l(c,d,h){d=e(d,c);for(var p=-1,m=d.length,y=!1;++p<m;){var _=u(d[p]);if(!(y=c!=null&&h(c,_)))break;c=c[_]}return y||++p!=m?y:(m=c==null?0:c.length,!!m&&a(m)&&o(_,m)&&(i(c)||r(c)))}return eh=l,eh}var th,ex;function Lb(){if(ex)return th;ex=1;var e=IM(),r=Ob();function i(o,a){return o!=null&&r(o,a,e)}return th=i,th}var nh,tx;function AM(){if(tx)return nh;tx=1;var e=Ab(),r=TM(),i=Lb(),o=qm(),a=qb(),u=Pb(),l=Vo(),c=1,d=2;function h(p,m){return o(p)&&a(m)?u(l(p),m):function(y){var _=r(y,p);return _===void 0&&_===m?i(y,p):e(m,_,c|d)}}return nh=h,nh}var rh,nx;function zb(){if(nx)return rh;nx=1;function e(r){return function(i){return i==null?void 0:i[r]}}return rh=e,rh}var ih,rx;function qM(){if(rx)return ih;rx=1;var e=au();function r(i){return function(o){return e(o,i)}}return ih=r,ih}var oh,ix;function PM(){if(ix)return oh;ix=1;var e=zb(),r=qM(),i=qm(),o=Vo();function a(u){return i(u)?e(o(u)):r(u)}return oh=a,oh}var ah,ox;function $n(){if(ox)return ah;ox=1;var e=kM(),r=AM(),i=$r(),o=Qe(),a=PM();function u(l){return typeof l=="function"?l:l==null?i:typeof l=="object"?o(l)?r(l[0],l[1]):e(l):a(l)}return ah=u,ah}var sh,ax;function jb(){if(ax)return sh;ax=1;var e=pb(),r=pM(),i=$n(),o=Qe();function a(u,l){var c=o(u)?e:r;return c(u,i(l,3))}return sh=a,sh}var uh,sx;function MM(){if(sx)return uh;sx=1;var e=Object.prototype,r=e.hasOwnProperty;function i(o,a){return o!=null&&r.call(o,a)}return uh=i,uh}var lh,ux;function Db(){if(ux)return lh;ux=1;var e=MM(),r=Ob();function i(o,a){return o!=null&&r(o,a,e)}return lh=i,lh}var ch,lx;function OM(){if(lx)return ch;lx=1;var e=km(),r=Ti(),i=Ho(),o=Qe(),a=Fn(),u=Ri(),l=tu(),c=Uo(),d="[object Map]",h="[object Set]",p=Object.prototype,m=p.hasOwnProperty;function y(_){if(_==null)return!0;if(a(_)&&(o(_)||typeof _=="string"||typeof _.splice=="function"||u(_)||c(_)||i(_)))return!_.length;var C=r(_);if(C==d||C==h)return!_.size;if(l(_))return!e(_).length;for(var w in _)if(m.call(_,w))return!1;return!0}return ch=y,ch}var fh,cx;function Fb(){if(cx)return fh;cx=1;function e(r){return r===void 0}return fh=e,fh}var dh,fx;function $b(){if(fx)return dh;fx=1;var e=ru(),r=Fn();function i(o,a){var u=-1,l=r(o)?Array(o.length):[];return e(o,function(c,d,h){l[++u]=a(c,d,h)}),l}return dh=i,dh}var hh,dx;function Bb(){if(dx)return hh;dx=1;var e=iu(),r=$n(),i=$b(),o=Qe();function a(u,l){var c=o(u)?e:i;return c(u,r(l,3))}return hh=a,hh}var ph,hx;function LM(){if(hx)return ph;hx=1;function e(r,i,o,a){var u=-1,l=r==null?0:r.length;for(a&&l&&(o=r[++u]);++u<l;)o=i(o,r[u],u,r);return o}return ph=e,ph}var vh,px;function zM(){if(px)return vh;px=1;function e(r,i,o,a,u){return u(r,function(l,c,d){o=a?(a=!1,l):i(o,l,c,d)}),o}return vh=e,vh}var mh,vx;function Hb(){if(vx)return mh;vx=1;var e=LM(),r=ru(),i=$n(),o=zM(),a=Qe();function u(l,c,d){var h=a(l)?e:o,p=arguments.length<3;return h(l,i(c,4),d,p,r)}return mh=u,mh}var gh,mx;function jM(){if(mx)return gh;mx=1;var e=jr(),r=Qe(),i=xn(),o="[object String]";function a(u){return typeof u=="string"||!r(u)&&i(u)&&e(u)==o}return gh=a,gh}var yh,gx;function DM(){if(gx)return yh;gx=1;var e=zb(),r=e("length");return yh=r,yh}var _h,yx;function FM(){if(yx)return _h;yx=1;var e="\\ud800-\\udfff",r="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",a=r+i+o,u="\\ufe0e\\ufe0f",l="\\u200d",c=RegExp("["+l+e+a+u+"]");function d(h){return c.test(h)}return _h=d,_h}var wh,_x;function $M(){if(_x)return wh;_x=1;var e="\\ud800-\\udfff",r="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",a=r+i+o,u="\\ufe0e\\ufe0f",l="["+e+"]",c="["+a+"]",d="\\ud83c[\\udffb-\\udfff]",h="(?:"+c+"|"+d+")",p="[^"+e+"]",m="(?:\\ud83c[\\udde6-\\uddff]){2}",y="[\\ud800-\\udbff][\\udc00-\\udfff]",_="\\u200d",C=h+"?",w="["+u+"]?",x="(?:"+_+"(?:"+[p,m,y].join("|")+")"+w+C+")*",E=w+C+x,k="(?:"+[p+c+"?",c,m,y,l].join("|")+")",N=RegExp(d+"(?="+d+")|"+k+E,"g");function b(I){for(var A=N.lastIndex=0;N.test(I);)++A;return A}return wh=b,wh}var xh,wx;function BM(){if(wx)return xh;wx=1;var e=DM(),r=FM(),i=$M();function o(a){return r(a)?i(a):e(a)}return xh=o,xh}var Sh,xx;function HM(){if(xx)return Sh;xx=1;var e=km(),r=Ti(),i=Fn(),o=jM(),a=BM(),u="[object Map]",l="[object Set]";function c(d){if(d==null)return 0;if(i(d))return o(d)?a(d):d.length;var h=r(d);return h==u||h==l?d.size:e(d).length}return Sh=c,Sh}var Eh,Sx;function UM(){if(Sx)return Eh;Sx=1;var e=xm(),r=Sb(),i=Im(),o=$n(),a=nu(),u=Qe(),l=Ri(),c=$o(),d=Qt(),h=Uo();function p(m,y,_){var C=u(m),w=C||l(m)||h(m);if(y=o(y,4),_==null){var x=m&&m.constructor;w?_=C?new x:[]:d(m)?_=c(x)?r(a(m)):{}:_={}}return(w?e:i)(m,function(E,k,N){return y(_,E,k,N)}),_}return Eh=p,Eh}var kh,Ex;function VM(){if(Ex)return kh;Ex=1;var e=Ni(),r=Ho(),i=Qe(),o=e?e.isConcatSpreadable:void 0;function a(u){return i(u)||r(u)||!!(o&&u&&u[o])}return kh=a,kh}var bh,kx;function Pm(){if(kx)return bh;kx=1;var e=Cm(),r=VM();function i(o,a,u,l,c){var d=-1,h=o.length;for(u||(u=r),c||(c=[]);++d<h;){var p=o[d];a>0&&u(p)?a>1?i(p,a-1,u,l,c):e(c,p):l||(c[c.length]=p)}return c}return bh=i,bh}var Ch,bx;function GM(){if(bx)return Ch;bx=1;function e(r,i,o){switch(o.length){case 0:return r.call(i);case 1:return r.call(i,o[0]);case 2:return r.call(i,o[0],o[1]);case 3:return r.call(i,o[0],o[1],o[2])}return r.apply(i,o)}return Ch=e,Ch}var Nh,Cx;function Ub(){if(Cx)return Nh;Cx=1;var e=GM(),r=Math.max;function i(o,a,u){return a=r(a===void 0?o.length-1:a,0),function(){for(var l=arguments,c=-1,d=r(l.length-a,0),h=Array(d);++c<d;)h[c]=l[a+c];c=-1;for(var p=Array(a+1);++c<a;)p[c]=l[c];return p[a]=u(h),e(o,this,p)}}return Nh=i,Nh}var Rh,Nx;function WM(){if(Nx)return Rh;Nx=1;var e=Rm(),r=lb(),i=$r(),o=r?function(a,u){return r(a,"toString",{configurable:!0,enumerable:!1,value:e(u),writable:!0})}:i;return Rh=o,Rh}var Th,Rx;function KM(){if(Rx)return Th;Rx=1;var e=800,r=16,i=Date.now;function o(a){var u=0,l=0;return function(){var c=i(),d=r-(c-l);if(l=c,d>0){if(++u>=e)return arguments[0]}else u=0;return a.apply(void 0,arguments)}}return Th=o,Th}var Ih,Tx;function Vb(){if(Tx)return Ih;Tx=1;var e=WM(),r=KM(),i=r(e);return Ih=i,Ih}var Ah,Ix;function su(){if(Ix)return Ah;Ix=1;var e=$r(),r=Ub(),i=Vb();function o(a,u){return i(r(a,u,e),a+"")}return Ah=o,Ah}var qh,Ax;function Gb(){if(Ax)return qh;Ax=1;function e(r,i,o,a){for(var u=r.length,l=o+(a?1:-1);a?l--:++l<u;)if(i(r[l],l,r))return l;return-1}return qh=e,qh}var Ph,qx;function YM(){if(qx)return Ph;qx=1;function e(r){return r!==r}return Ph=e,Ph}var Mh,Px;function XM(){if(Px)return Mh;Px=1;function e(r,i,o){for(var a=o-1,u=r.length;++a<u;)if(r[a]===i)return a;return-1}return Mh=e,Mh}var Oh,Mx;function QM(){if(Mx)return Oh;Mx=1;var e=Gb(),r=YM(),i=XM();function o(a,u,l){return u===u?i(a,u,l):e(a,r,l)}return Oh=o,Oh}var Lh,Ox;function ZM(){if(Ox)return Lh;Ox=1;var e=QM();function r(i,o){var a=i==null?0:i.length;return!!a&&e(i,o,0)>-1}return Lh=r,Lh}var zh,Lx;function JM(){if(Lx)return zh;Lx=1;function e(r,i,o){for(var a=-1,u=r==null?0:r.length;++a<u;)if(o(i,r[a]))return!0;return!1}return zh=e,zh}var jh,zx;function e3(){if(zx)return jh;zx=1;function e(){}return jh=e,jh}var Dh,jx;function t3(){if(jx)return Dh;jx=1;var e=_b(),r=e3(),i=Am(),o=1/0,a=e&&1/i(new e([,-0]))[1]==o?function(u){return new e(u)}:r;return Dh=a,Dh}var Fh,Dx;function n3(){if(Dx)return Fh;Dx=1;var e=Rb(),r=ZM(),i=JM(),o=Tb(),a=t3(),u=Am(),l=200;function c(d,h,p){var m=-1,y=r,_=d.length,C=!0,w=[],x=w;if(p)C=!1,y=i;else if(_>=l){var E=h?null:a(d);if(E)return u(E);C=!1,y=o,x=new e}else x=h?[]:w;e:for(;++m<_;){var k=d[m],N=h?h(k):k;if(k=p||k!==0?k:0,C&&N===N){for(var b=x.length;b--;)if(x[b]===N)continue e;h&&x.push(N),w.push(k)}else y(x,N,p)||(x!==w&&x.push(N),w.push(k))}return w}return Fh=c,Fh}var $h,Fx;function Wb(){if(Fx)return $h;Fx=1;var e=Fn(),r=xn();function i(o){return r(o)&&e(o)}return $h=i,$h}var Bh,$x;function r3(){if($x)return Bh;$x=1;var e=Pm(),r=su(),i=n3(),o=Wb(),a=r(function(u){return i(e(u,1,o,!0))});return Bh=a,Bh}var Hh,Bx;function i3(){if(Bx)return Hh;Bx=1;var e=iu();function r(i,o){return e(o,function(a){return i[a]})}return Hh=r,Hh}var Uh,Hx;function Kb(){if(Hx)return Uh;Hx=1;var e=i3(),r=dr();function i(o){return o==null?[]:e(o,r(o))}return Uh=i,Uh}var Vh,Ux;function Zt(){if(Ux)return Vh;Ux=1;var e;if(typeof ym=="function")try{e={clone:fM(),constant:Rm(),each:Nb(),filter:jb(),has:Db(),isArray:Qe(),isEmpty:OM(),isFunction:$o(),isUndefined:Fb(),keys:dr(),map:Bb(),reduce:Hb(),size:HM(),transform:UM(),union:r3(),values:Kb()}}catch{}return e||(e=window._),Vh=e,Vh}var Gh,Vx;function Mm(){if(Vx)return Gh;Vx=1;var e=Zt();Gh=a;var r="\0",i="\0",o="";function a(p){this._isDirected=e.has(p,"directed")?p.directed:!0,this._isMultigraph=e.has(p,"multigraph")?p.multigraph:!1,this._isCompound=e.has(p,"compound")?p.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={}}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(p){return this._label=p,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(p){return e.isFunction(p)||(p=e.constant(p)),this._defaultNodeLabelFn=p,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return e.keys(this._nodes)},a.prototype.sources=function(){var p=this;return e.filter(this.nodes(),function(m){return e.isEmpty(p._in[m])})},a.prototype.sinks=function(){var p=this;return e.filter(this.nodes(),function(m){return e.isEmpty(p._out[m])})},a.prototype.setNodes=function(p,m){var y=arguments,_=this;return e.each(p,function(C){y.length>1?_.setNode(C,m):_.setNode(C)}),this},a.prototype.setNode=function(p,m){return e.has(this._nodes,p)?(arguments.length>1&&(this._nodes[p]=m),this):(this._nodes[p]=arguments.length>1?m:this._defaultNodeLabelFn(p),this._isCompound&&(this._parent[p]=i,this._children[p]={},this._children[i][p]=!0),this._in[p]={},this._preds[p]={},this._out[p]={},this._sucs[p]={},++this._nodeCount,this)},a.prototype.node=function(p){return this._nodes[p]},a.prototype.hasNode=function(p){return e.has(this._nodes,p)},a.prototype.removeNode=function(p){var m=this;if(e.has(this._nodes,p)){var y=function(_){m.removeEdge(m._edgeObjs[_])};delete this._nodes[p],this._isCompound&&(this._removeFromParentsChildList(p),delete this._parent[p],e.each(this.children(p),function(_){m.setParent(_)}),delete this._children[p]),e.each(e.keys(this._in[p]),y),delete this._in[p],delete this._preds[p],e.each(e.keys(this._out[p]),y),delete this._out[p],delete this._sucs[p],--this._nodeCount}return this},a.prototype.setParent=function(p,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 y=m;!e.isUndefined(y);y=this.parent(y))if(y===p)throw new Error("Setting "+m+" as parent of "+p+" would create a cycle");this.setNode(m)}return this.setNode(p),this._removeFromParentsChildList(p),this._parent[p]=m,this._children[m][p]=!0,this},a.prototype._removeFromParentsChildList=function(p){delete this._children[this._parent[p]][p]},a.prototype.parent=function(p){if(this._isCompound){var m=this._parent[p];if(m!==i)return m}},a.prototype.children=function(p){if(e.isUndefined(p)&&(p=i),this._isCompound){var m=this._children[p];if(m)return e.keys(m)}else{if(p===i)return this.nodes();if(this.hasNode(p))return[]}},a.prototype.predecessors=function(p){var m=this._preds[p];if(m)return e.keys(m)},a.prototype.successors=function(p){var m=this._sucs[p];if(m)return e.keys(m)},a.prototype.neighbors=function(p){var m=this.predecessors(p);if(m)return e.union(m,this.successors(p))},a.prototype.isLeaf=function(p){var m;return this.isDirected()?m=this.successors(p):m=this.neighbors(p),m.length===0},a.prototype.filterNodes=function(p){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var y=this;e.each(this._nodes,function(w,x){p(x)&&m.setNode(x,w)}),e.each(this._edgeObjs,function(w){m.hasNode(w.v)&&m.hasNode(w.w)&&m.setEdge(w,y.edge(w))});var _={};function C(w){var x=y.parent(w);return x===void 0||m.hasNode(x)?(_[w]=x,x):x in _?_[x]:C(x)}return this._isCompound&&e.each(m.nodes(),function(w){m.setParent(w,C(w))}),m},a.prototype.setDefaultEdgeLabel=function(p){return e.isFunction(p)||(p=e.constant(p)),this._defaultEdgeLabelFn=p,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return e.values(this._edgeObjs)},a.prototype.setPath=function(p,m){var y=this,_=arguments;return e.reduce(p,function(C,w){return _.length>1?y.setEdge(C,w,m):y.setEdge(C,w),w}),this},a.prototype.setEdge=function(){var p,m,y,_,C=!1,w=arguments[0];typeof w=="object"&&w!==null&&"v"in w?(p=w.v,m=w.w,y=w.name,arguments.length===2&&(_=arguments[1],C=!0)):(p=w,m=arguments[1],y=arguments[3],arguments.length>2&&(_=arguments[2],C=!0)),p=""+p,m=""+m,e.isUndefined(y)||(y=""+y);var x=c(this._isDirected,p,m,y);if(e.has(this._edgeLabels,x))return C&&(this._edgeLabels[x]=_),this;if(!e.isUndefined(y)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(p),this.setNode(m),this._edgeLabels[x]=C?_:this._defaultEdgeLabelFn(p,m,y);var E=d(this._isDirected,p,m,y);return p=E.v,m=E.w,Object.freeze(E),this._edgeObjs[x]=E,u(this._preds[m],p),u(this._sucs[p],m),this._in[m][x]=E,this._out[p][x]=E,this._edgeCount++,this},a.prototype.edge=function(p,m,y){var _=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,p,m,y);return this._edgeLabels[_]},a.prototype.hasEdge=function(p,m,y){var _=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,p,m,y);return e.has(this._edgeLabels,_)},a.prototype.removeEdge=function(p,m,y){var _=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,p,m,y),C=this._edgeObjs[_];return C&&(p=C.v,m=C.w,delete this._edgeLabels[_],delete this._edgeObjs[_],l(this._preds[m],p),l(this._sucs[p],m),delete this._in[m][_],delete this._out[p][_],this._edgeCount--),this},a.prototype.inEdges=function(p,m){var y=this._in[p];if(y){var _=e.values(y);return m?e.filter(_,function(C){return C.v===m}):_}},a.prototype.outEdges=function(p,m){var y=this._out[p];if(y){var _=e.values(y);return m?e.filter(_,function(C){return C.w===m}):_}},a.prototype.nodeEdges=function(p,m){var y=this.inEdges(p,m);if(y)return y.concat(this.outEdges(p,m))};function u(p,m){p[m]?p[m]++:p[m]=1}function l(p,m){--p[m]||delete p[m]}function c(p,m,y,_){var C=""+m,w=""+y;if(!p&&C>w){var x=C;C=w,w=x}return C+o+w+o+(e.isUndefined(_)?r:_)}function d(p,m,y,_){var C=""+m,w=""+y;if(!p&&C>w){var x=C;C=w,w=x}var E={v:C,w};return _&&(E.name=_),E}function h(p,m){return c(p,m.v,m.w,m.name)}return Gh}var Wh,Gx;function o3(){return Gx||(Gx=1,Wh="2.1.8"),Wh}var Kh,Wx;function a3(){return Wx||(Wx=1,Kh={Graph:Mm(),version:o3()}),Kh}var Yh,Kx;function s3(){if(Kx)return Yh;Kx=1;var e=Zt(),r=Mm();Yh={write:i,read:u};function i(l){var c={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:o(l),edges:a(l)};return e.isUndefined(l.graph())||(c.value=e.clone(l.graph())),c}function o(l){return e.map(l.nodes(),function(c){var d=l.node(c),h=l.parent(c),p={v:c};return e.isUndefined(d)||(p.value=d),e.isUndefined(h)||(p.parent=h),p})}function a(l){return e.map(l.edges(),function(c){var d=l.edge(c),h={v:c.v,w:c.w};return e.isUndefined(c.name)||(h.name=c.name),e.isUndefined(d)||(h.value=d),h})}function u(l){var c=new r(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 Yh}var Xh,Yx;function u3(){if(Yx)return Xh;Yx=1;var e=Zt();Xh=r;function r(i){var o={},a=[],u;function l(c){e.has(o,c)||(o[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&&a.push(u)}),a}return Xh}var Qh,Xx;function Yb(){if(Xx)return Qh;Xx=1;var e=Zt();Qh=r;function r(){this._arr=[],this._keyIndices={}}return r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(i){return i.key})},r.prototype.has=function(i){return e.has(this._keyIndices,i)},r.prototype.priority=function(i){var o=this._keyIndices[i];if(o!==void 0)return this._arr[o].priority},r.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(i,o){var a=this._keyIndices;if(i=String(i),!e.has(a,i)){var u=this._arr,l=u.length;return a[i]=l,u.push({key:i,priority:o}),this._decrease(l),!0}return!1},r.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},r.prototype.decrease=function(i,o){var a=this._keyIndices[i];if(o>this._arr[a].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[a].priority+" New: "+o);this._arr[a].priority=o,this._decrease(a)},r.prototype._heapify=function(i){var o=this._arr,a=2*i,u=a+1,l=i;a<o.length&&(l=o[a].priority<o[l].priority?a:l,u<o.length&&(l=o[u].priority<o[l].priority?u:l),l!==i&&(this._swap(i,l),this._heapify(l)))},r.prototype._decrease=function(i){for(var o=this._arr,a=o[i].priority,u;i!==0&&(u=i>>1,!(o[u].priority<a));)this._swap(i,u),i=u},r.prototype._swap=function(i,o){var a=this._arr,u=this._keyIndices,l=a[i],c=a[o];a[i]=c,a[o]=l,u[c.key]=i,u[l.key]=o},Qh}var Zh,Qx;function Xb(){if(Qx)return Zh;Qx=1;var e=Zt(),r=Yb();Zh=o;var i=e.constant(1);function o(u,l,c,d){return a(u,String(l),c||i,d||function(h){return u.outEdges(h)})}function a(u,l,c,d){var h={},p=new r,m,y,_=function(C){var w=C.v!==m?C.v:C.w,x=h[w],E=c(C),k=y.distance+E;if(E<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+C+" Weight: "+E);k<x.distance&&(x.distance=k,x.predecessor=m,p.decrease(w,k))};for(u.nodes().forEach(function(C){var w=C===l?0:Number.POSITIVE_INFINITY;h[C]={distance:w},p.add(C,w)});p.size()>0&&(m=p.removeMin(),y=h[m],y.distance!==Number.POSITIVE_INFINITY);)d(m).forEach(_);return h}return Zh}var Jh,Zx;function l3(){if(Zx)return Jh;Zx=1;var e=Xb(),r=Zt();Jh=i;function i(o,a,u){return r.transform(o.nodes(),function(l,c){l[c]=e(o,c,a,u)},{})}return Jh}var ep,Jx;function Qb(){if(Jx)return ep;Jx=1;var e=Zt();ep=r;function r(i){var o=0,a=[],u={},l=[];function c(d){var h=u[d]={onStack:!0,lowlink:o,index:o++};if(a.push(d),i.successors(d).forEach(function(y){e.has(u,y)?u[y].onStack&&(h.lowlink=Math.min(h.lowlink,u[y].index)):(c(y),h.lowlink=Math.min(h.lowlink,u[y].lowlink))}),h.lowlink===h.index){var p=[],m;do m=a.pop(),u[m].onStack=!1,p.push(m);while(d!==m);l.push(p)}}return i.nodes().forEach(function(d){e.has(u,d)||c(d)}),l}return ep}var tp,eS;function c3(){if(eS)return tp;eS=1;var e=Zt(),r=Qb();tp=i;function i(o){return e.filter(r(o),function(a){return a.length>1||a.length===1&&o.hasEdge(a[0],a[0])})}return tp}var np,tS;function f3(){if(tS)return np;tS=1;var e=Zt();np=i;var r=e.constant(1);function i(a,u,l){return o(a,u||r,l||function(c){return a.outEdges(c)})}function o(a,u,l){var c={},d=a.nodes();return d.forEach(function(h){c[h]={},c[h][h]={distance:0},d.forEach(function(p){h!==p&&(c[h][p]={distance:Number.POSITIVE_INFINITY})}),l(h).forEach(function(p){var m=p.v===h?p.w:p.v,y=u(p);c[h][m]={distance:y,predecessor:h}})}),d.forEach(function(h){var p=c[h];d.forEach(function(m){var y=c[m];d.forEach(function(_){var C=y[h],w=p[_],x=y[_],E=C.distance+w.distance;E<x.distance&&(x.distance=E,x.predecessor=w.predecessor)})})}),c}return np}var rp,nS;function Zb(){if(nS)return rp;nS=1;var e=Zt();rp=r,r.CycleException=i;function r(o){var a={},u={},l=[];function c(d){if(e.has(u,d))throw new i;e.has(a,d)||(u[d]=!0,a[d]=!0,e.each(o.predecessors(d),c),delete u[d],l.push(d))}if(e.each(o.sinks(),c),e.size(a)!==o.nodeCount())throw new i;return l}function i(){}return i.prototype=new Error,rp}var ip,rS;function d3(){if(rS)return ip;rS=1;var e=Zb();ip=r;function r(i){try{e(i)}catch(o){if(o instanceof e.CycleException)return!1;throw o}return!0}return ip}var op,iS;function Jb(){if(iS)return op;iS=1;var e=Zt();op=r;function r(o,a,u){e.isArray(a)||(a=[a]);var l=(o.isDirected()?o.successors:o.neighbors).bind(o),c=[],d={};return e.each(a,function(h){if(!o.hasNode(h))throw new Error("Graph does not have node: "+h);i(o,h,u==="post",d,l,c)}),c}function i(o,a,u,l,c,d){e.has(l,a)||(l[a]=!0,u||d.push(a),e.each(c(a),function(h){i(o,h,u,l,c,d)}),u&&d.push(a))}return op}var ap,oS;function h3(){if(oS)return ap;oS=1;var e=Jb();ap=r;function r(i,o){return e(i,o,"post")}return ap}var sp,aS;function p3(){if(aS)return sp;aS=1;var e=Jb();sp=r;function r(i,o){return e(i,o,"pre")}return sp}var up,sS;function v3(){if(sS)return up;sS=1;var e=Zt(),r=Mm(),i=Yb();up=o;function o(a,u){var l=new r,c={},d=new i,h;function p(y){var _=y.v===h?y.w:y.v,C=d.priority(_);if(C!==void 0){var w=u(y);w<C&&(c[_]=h,d.decrease(_,w))}}if(a.nodeCount()===0)return l;e.each(a.nodes(),function(y){d.add(y,Number.POSITIVE_INFINITY),l.setNode(y)}),d.decrease(a.nodes()[0],0);for(var m=!1;d.size()>0;){if(h=d.removeMin(),e.has(c,h))l.setEdge(h,c[h]);else{if(m)throw new Error("Input graph is not connected: "+a);m=!0}a.nodeEdges(h).forEach(p)}return l}return up}var lp,uS;function m3(){return uS||(uS=1,lp={components:u3(),dijkstra:Xb(),dijkstraAll:l3(),findCycles:c3(),floydWarshall:f3(),isAcyclic:d3(),postorder:h3(),preorder:p3(),prim:v3(),tarjan:Qb(),topsort:Zb()}),lp}var cp,lS;function g3(){if(lS)return cp;lS=1;var e=a3();return cp={Graph:e.Graph,json:s3(),alg:m3(),version:e.version},cp}var fp,cS;function cn(){if(cS)return fp;cS=1;var e;if(typeof ym=="function")try{e=g3()}catch{}return e||(e=window.graphlib),fp=e,fp}var dp,fS;function y3(){if(fS)return dp;fS=1;var e=kb(),r=1,i=4;function o(a){return e(a,r|i)}return dp=o,dp}var hp,dS;function uu(){if(dS)return hp;dS=1;var e=Ci(),r=Fn(),i=Js(),o=Qt();function a(u,l,c){if(!o(c))return!1;var d=typeof l;return(d=="number"?r(c)&&i(l,c.length):d=="string"&&l in c)?e(c[l],u):!1}return hp=a,hp}var pp,hS;function _3(){if(hS)return pp;hS=1;var e=su(),r=Ci(),i=uu(),o=Fr(),a=Object.prototype,u=a.hasOwnProperty,l=e(function(c,d){c=Object(c);var h=-1,p=d.length,m=p>2?d[2]:void 0;for(m&&i(d[0],d[1],m)&&(p=1);++h<p;)for(var y=d[h],_=o(y),C=-1,w=_.length;++C<w;){var x=_[C],E=c[x];(E===void 0||r(E,a[x])&&!u.call(c,x))&&(c[x]=y[x])}return c});return pp=l,pp}var vp,pS;function w3(){if(pS)return vp;pS=1;var e=$n(),r=Fn(),i=dr();function o(a){return function(u,l,c){var d=Object(u);if(!r(u)){var h=e(l,3);u=i(u),l=function(m){return h(d[m],m,d)}}var p=a(u,l,c);return p>-1?d[h?u[p]:p]:void 0}}return vp=o,vp}var mp,vS;function x3(){if(vS)return mp;vS=1;var e=/\s/;function r(i){for(var o=i.length;o--&&e.test(i.charAt(o)););return o}return mp=r,mp}var gp,mS;function S3(){if(mS)return gp;mS=1;var e=x3(),r=/^\s+/;function i(o){return o&&o.slice(0,e(o)+1).replace(r,"")}return gp=i,gp}var yp,gS;function E3(){if(gS)return yp;gS=1;var e=S3(),r=Qt(),i=Ii(),o=NaN,a=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;function d(h){if(typeof h=="number")return h;if(i(h))return o;if(r(h)){var p=typeof h.valueOf=="function"?h.valueOf():h;h=r(p)?p+"":p}if(typeof h!="string")return h===0?h:+h;h=e(h);var m=u.test(h);return m||l.test(h)?c(h.slice(2),m?2:8):a.test(h)?o:+h}return yp=d,yp}var _p,yS;function eC(){if(yS)return _p;yS=1;var e=E3(),r=1/0,i=17976931348623157e292;function o(a){if(!a)return a===0?a:0;if(a=e(a),a===r||a===-r){var u=a<0?-1:1;return u*i}return a===a?a:0}return _p=o,_p}var wp,_S;function k3(){if(_S)return wp;_S=1;var e=eC();function r(i){var o=e(i),a=o%1;return o===o?a?o-a:o:0}return wp=r,wp}var xp,wS;function b3(){if(wS)return xp;wS=1;var e=Gb(),r=$n(),i=k3(),o=Math.max;function a(u,l,c){var d=u==null?0:u.length;if(!d)return-1;var h=c==null?0:i(c);return h<0&&(h=o(d+h,0)),e(u,r(l,3),h)}return xp=a,xp}var Sp,xS;function C3(){if(xS)return Sp;xS=1;var e=w3(),r=b3(),i=e(r);return Sp=i,Sp}var Ep,SS;function tC(){if(SS)return Ep;SS=1;var e=Pm();function r(i){var o=i==null?0:i.length;return o?e(i,1):[]}return Ep=r,Ep}var kp,ES;function N3(){if(ES)return kp;ES=1;var e=Tm(),r=bb(),i=Fr();function o(a,u){return a==null?a:e(a,r(u),i)}return kp=o,kp}var bp,kS;function R3(){if(kS)return bp;kS=1;function e(r){var i=r==null?0:r.length;return i?r[i-1]:void 0}return bp=e,bp}var Cp,bS;function T3(){if(bS)return Cp;bS=1;var e=Qs(),r=Im(),i=$n();function o(a,u){var l={};return u=i(u,3),r(a,function(c,d,h){e(l,d,u(c,d,h))}),l}return Cp=o,Cp}var Np,CS;function Om(){if(CS)return Np;CS=1;var e=Ii();function r(i,o,a){for(var u=-1,l=i.length;++u<l;){var c=i[u],d=o(c);if(d!=null&&(h===void 0?d===d&&!e(d):a(d,h)))var h=d,p=c}return p}return Np=r,Np}var Rp,NS;function I3(){if(NS)return Rp;NS=1;function e(r,i){return r>i}return Rp=e,Rp}var Tp,RS;function A3(){if(RS)return Tp;RS=1;var e=Om(),r=I3(),i=$r();function o(a){return a&&a.length?e(a,i,r):void 0}return Tp=o,Tp}var Ip,TS;function nC(){if(TS)return Ip;TS=1;var e=Qs(),r=Ci();function i(o,a,u){(u!==void 0&&!r(o[a],u)||u===void 0&&!(a in o))&&e(o,a,u)}return Ip=i,Ip}var Ap,IS;function q3(){if(IS)return Ap;IS=1;var e=jr(),r=nu(),i=xn(),o="[object Object]",a=Function.prototype,u=Object.prototype,l=a.toString,c=u.hasOwnProperty,d=l.call(Object);function h(p){if(!i(p)||e(p)!=o)return!1;var m=r(p);if(m===null)return!0;var y=c.call(m,"constructor")&&m.constructor;return typeof y=="function"&&y instanceof y&&l.call(y)==d}return Ap=h,Ap}var qp,AS;function rC(){if(AS)return qp;AS=1;function e(r,i){if(!(i==="constructor"&&typeof r[i]=="function")&&i!="__proto__")return r[i]}return qp=e,qp}var Pp,qS;function P3(){if(qS)return Pp;qS=1;var e=Bo(),r=Fr();function i(o){return e(o,r(o))}return Pp=i,Pp}var Mp,PS;function M3(){if(PS)return Mp;PS=1;var e=nC(),r=db(),i=xb(),o=hb(),a=Eb(),u=Ho(),l=Qe(),c=Wb(),d=Ri(),h=$o(),p=Qt(),m=q3(),y=Uo(),_=rC(),C=P3();function w(x,E,k,N,b,I,A){var P=_(x,k),H=_(E,k),z=A.get(H);if(z){e(x,k,z);return}var U=I?I(P,H,k+"",x,E,A):void 0,V=U===void 0;if(V){var ee=l(H),J=!ee&&d(H),R=!ee&&!J&&y(H);U=H,ee||J||R?l(P)?U=P:c(P)?U=o(P):J?(V=!1,U=r(H,!0)):R?(V=!1,U=i(H,!0)):U=[]:m(H)||u(H)?(U=P,u(P)?U=C(P):(!p(P)||h(P))&&(U=a(H))):V=!1}V&&(A.set(H,U),b(U,H,N,I,A),A.delete(H)),e(x,k,U)}return Mp=w,Mp}var Op,MS;function O3(){if(MS)return Op;MS=1;var e=Xs(),r=nC(),i=Tm(),o=M3(),a=Qt(),u=Fr(),l=rC();function c(d,h,p,m,y){d!==h&&i(h,function(_,C){if(y||(y=new e),a(_))o(d,h,C,p,c,m,y);else{var w=m?m(l(d,C),_,C+"",d,h,y):void 0;w===void 0&&(w=_),r(d,C,w)}},u)}return Op=c,Op}var Lp,OS;function L3(){if(OS)return Lp;OS=1;var e=su(),r=uu();function i(o){return e(function(a,u){var l=-1,c=u.length,d=c>1?u[c-1]:void 0,h=c>2?u[2]:void 0;for(d=o.length>3&&typeof d=="function"?(c--,d):void 0,h&&r(u[0],u[1],h)&&(d=c<3?void 0:d,c=1),a=Object(a);++l<c;){var p=u[l];p&&o(a,p,l,d)}return a})}return Lp=i,Lp}var zp,LS;function z3(){if(LS)return zp;LS=1;var e=O3(),r=L3(),i=r(function(o,a,u){e(o,a,u)});return zp=i,zp}var jp,zS;function iC(){if(zS)return jp;zS=1;function e(r,i){return r<i}return jp=e,jp}var Dp,jS;function j3(){if(jS)return Dp;jS=1;var e=Om(),r=iC(),i=$r();function o(a){return a&&a.length?e(a,i,r):void 0}return Dp=o,Dp}var Fp,DS;function D3(){if(DS)return Fp;DS=1;var e=Om(),r=$n(),i=iC();function o(a,u){return a&&a.length?e(a,r(u,2),i):void 0}return Fp=o,Fp}var $p,FS;function F3(){if(FS)return $p;FS=1;var e=dn(),r=function(){return e.Date.now()};return $p=r,$p}var Bp,$S;function $3(){if($S)return Bp;$S=1;var e=Zs(),r=ou(),i=Js(),o=Qt(),a=Vo();function u(l,c,d,h){if(!o(l))return l;c=r(c,l);for(var p=-1,m=c.length,y=m-1,_=l;_!=null&&++p<m;){var C=a(c[p]),w=d;if(C==="__proto__"||C==="constructor"||C==="prototype")return l;if(p!=y){var x=_[C];w=h?h(x,C,_):void 0,w===void 0&&(w=o(x)?x:i(c[p+1])?[]:{})}e(_,C,w),_=_[C]}return l}return Bp=u,Bp}var Hp,BS;function B3(){if(BS)return Hp;BS=1;var e=au(),r=$3(),i=ou();function o(a,u,l){for(var c=-1,d=u.length,h={};++c<d;){var p=u[c],m=e(a,p);l(m,p)&&r(h,i(p,a),m)}return h}return Hp=o,Hp}var Up,HS;function H3(){if(HS)return Up;HS=1;var e=B3(),r=Lb();function i(o,a){return e(o,a,function(u,l){return r(o,l)})}return Up=i,Up}var Vp,US;function U3(){if(US)return Vp;US=1;var e=tC(),r=Ub(),i=Vb();function o(a){return i(r(a,void 0,e),a+"")}return Vp=o,Vp}var Gp,VS;function V3(){if(VS)return Gp;VS=1;var e=H3(),r=U3(),i=r(function(o,a){return o==null?{}:e(o,a)});return Gp=i,Gp}var Wp,GS;function G3(){if(GS)return Wp;GS=1;var e=Math.ceil,r=Math.max;function i(o,a,u,l){for(var c=-1,d=r(e((a-o)/(u||1)),0),h=Array(d);d--;)h[l?d:++c]=o,o+=u;return h}return Wp=i,Wp}var Kp,WS;function W3(){if(WS)return Kp;WS=1;var e=G3(),r=uu(),i=eC();function o(a){return function(u,l,c){return c&&typeof c!="number"&&r(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,a)}}return Kp=o,Kp}var Yp,KS;function K3(){if(KS)return Yp;KS=1;var e=W3(),r=e();return Yp=r,Yp}var Xp,YS;function Y3(){if(YS)return Xp;YS=1;function e(r,i){var o=r.length;for(r.sort(i);o--;)r[o]=r[o].value;return r}return Xp=e,Xp}var Qp,XS;function X3(){if(XS)return Qp;XS=1;var e=Ii();function r(i,o){if(i!==o){var a=i!==void 0,u=i===null,l=i===i,c=e(i),d=o!==void 0,h=o===null,p=o===o,m=e(o);if(!h&&!m&&!c&&i>o||c&&d&&p&&!h&&!m||u&&d&&p||!a&&p||!l)return 1;if(!u&&!c&&!m&&i<o||m&&a&&l&&!u&&!c||h&&a&&l||!d&&l||!p)return-1}return 0}return Qp=r,Qp}var Zp,QS;function Q3(){if(QS)return Zp;QS=1;var e=X3();function r(i,o,a){for(var u=-1,l=i.criteria,c=o.criteria,d=l.length,h=a.length;++u<d;){var p=e(l[u],c[u]);if(p){if(u>=h)return p;var m=a[u];return p*(m=="desc"?-1:1)}}return i.index-o.index}return Zp=r,Zp}var Jp,ZS;function Z3(){if(ZS)return Jp;ZS=1;var e=iu(),r=au(),i=$n(),o=$b(),a=Y3(),u=eu(),l=Q3(),c=$r(),d=Qe();function h(p,m,y){m.length?m=e(m,function(w){return d(w)?function(x){return r(x,w.length===1?w[0]:w)}:w}):m=[c];var _=-1;m=e(m,u(i));var C=o(p,function(w,x,E){var k=e(m,function(N){return N(w)});return{criteria:k,index:++_,value:w}});return a(C,function(w,x){return l(w,x,y)})}return Jp=h,Jp}var ev,JS;function J3(){if(JS)return ev;JS=1;var e=Pm(),r=Z3(),i=su(),o=uu(),a=i(function(u,l){if(u==null)return[];var c=l.length;return c>1&&o(u,l[0],l[1])?l=[]:c>2&&o(l[0],l[1],l[2])&&(l=[l[0]]),r(u,e(l,1),[])});return ev=a,ev}var tv,eE;function eO(){if(eE)return tv;eE=1;var e=Mb(),r=0;function i(o){var a=++r;return e(o)+a}return tv=i,tv}var nv,tE;function tO(){if(tE)return nv;tE=1;function e(r,i,o){for(var a=-1,u=r.length,l=i.length,c={};++a<u;){var d=a<l?i[a]:void 0;o(c,r[a],d)}return c}return nv=e,nv}var rv,nE;function nO(){if(nE)return rv;nE=1;var e=Zs(),r=tO();function i(o,a){return r(o||[],a||[],e)}return rv=i,rv}var iv,rE;function He(){if(rE)return iv;rE=1;var e;if(typeof ym=="function")try{e={cloneDeep:y3(),constant:Rm(),defaults:_3(),each:Nb(),filter:jb(),find:C3(),flatten:tC(),forEach:Cb(),forIn:N3(),has:Db(),isUndefined:Fb(),last:R3(),map:Bb(),mapValues:T3(),max:A3(),merge:z3(),min:j3(),minBy:D3(),now:F3(),pick:V3(),range:K3(),reduce:Hb(),sortBy:J3(),uniqueId:eO(),values:Kb(),zipObject:nO()}}catch{}return e||(e=window._),iv=e,iv}var ov,iE;function rO(){if(iE)return ov;iE=1,ov=e;function e(){var o={};o._next=o._prev=o,this._sentinel=o}e.prototype.dequeue=function(){var o=this._sentinel,a=o._prev;if(a!==o)return r(a),a},e.prototype.enqueue=function(o){var a=this._sentinel;o._prev&&o._next&&r(o),o._next=a._next,a._next._prev=o,a._next=o,o._prev=a},e.prototype.toString=function(){for(var o=[],a=this._sentinel,u=a._prev;u!==a;)o.push(JSON.stringify(u,i)),u=u._prev;return"["+o.join(", ")+"]"};function r(o){o._prev._next=o._next,o._next._prev=o._prev,delete o._next,delete o._prev}function i(o,a){if(o!=="_next"&&o!=="_prev")return a}return ov}var av,oE;function iO(){if(oE)return av;oE=1;var e=He(),r=cn().Graph,i=rO();av=a;var o=e.constant(1);function a(h,p){if(h.nodeCount()<=1)return[];var m=c(h,p||o),y=u(m.graph,m.buckets,m.zeroIdx);return e.flatten(e.map(y,function(_){return h.outEdges(_.v,_.w)}),!0)}function u(h,p,m){for(var y=[],_=p[p.length-1],C=p[0],w;h.nodeCount();){for(;w=C.dequeue();)l(h,p,m,w);for(;w=_.dequeue();)l(h,p,m,w);if(h.nodeCount()){for(var x=p.length-2;x>0;--x)if(w=p[x].dequeue(),w){y=y.concat(l(h,p,m,w,!0));break}}}return y}function l(h,p,m,y,_){var C=_?[]:void 0;return e.forEach(h.inEdges(y.v),function(w){var x=h.edge(w),E=h.node(w.v);_&&C.push({v:w.v,w:w.w}),E.out-=x,d(p,m,E)}),e.forEach(h.outEdges(y.v),function(w){var x=h.edge(w),E=w.w,k=h.node(E);k.in-=x,d(p,m,k)}),h.removeNode(y.v),C}function c(h,p){var m=new r,y=0,_=0;e.forEach(h.nodes(),function(x){m.setNode(x,{v:x,in:0,out:0})}),e.forEach(h.edges(),function(x){var E=m.edge(x.v,x.w)||0,k=p(x),N=E+k;m.setEdge(x.v,x.w,N),_=Math.max(_,m.node(x.v).out+=k),y=Math.max(y,m.node(x.w).in+=k)});var C=e.range(_+y+3).map(function(){return new i}),w=y+1;return e.forEach(m.nodes(),function(x){d(C,w,m.node(x))}),{graph:m,buckets:C,zeroIdx:w}}function d(h,p,m){m.out?m.in?h[m.out-m.in+p].enqueue(m):h[h.length-1].enqueue(m):h[0].enqueue(m)}return av}var sv,aE;function oO(){if(aE)return sv;aE=1;var e=He(),r=iO();sv={run:i,undo:a};function i(u){var l=u.graph().acyclicer==="greedy"?r(u,c(u)):o(u);e.forEach(l,function(d){var h=u.edge(d);u.removeEdge(d),h.forwardName=d.name,h.reversed=!0,u.setEdge(d.w,d.v,h,e.uniqueId("rev"))});function c(d){return function(h){return d.edge(h).weight}}}function o(u){var l=[],c={},d={};function h(p){e.has(d,p)||(d[p]=!0,c[p]=!0,e.forEach(u.outEdges(p),function(m){e.has(c,m.w)?l.push(m):h(m.w)}),delete c[p])}return e.forEach(u.nodes(),h),l}function a(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 sv}var uv,sE;function Pt(){if(sE)return uv;sE=1;var e=He(),r=cn().Graph;uv={addDummyNode:i,simplify:o,asNonCompoundGraph:a,successorWeights:u,predecessorWeights:l,intersectRect:c,buildLayerMatrix:d,normalizeRanks:h,removeEmptyRanks:p,addBorderNode:m,maxRank:y,partition:_,time:C,notime:w};function i(x,E,k,N){var b;do b=e.uniqueId(N);while(x.hasNode(b));return k.dummy=E,x.setNode(b,k),b}function o(x){var E=new r().setGraph(x.graph());return e.forEach(x.nodes(),function(k){E.setNode(k,x.node(k))}),e.forEach(x.edges(),function(k){var N=E.edge(k.v,k.w)||{weight:0,minlen:1},b=x.edge(k);E.setEdge(k.v,k.w,{weight:N.weight+b.weight,minlen:Math.max(N.minlen,b.minlen)})}),E}function a(x){var E=new r({multigraph:x.isMultigraph()}).setGraph(x.graph());return e.forEach(x.nodes(),function(k){x.children(k).length||E.setNode(k,x.node(k))}),e.forEach(x.edges(),function(k){E.setEdge(k,x.edge(k))}),E}function u(x){var E=e.map(x.nodes(),function(k){var N={};return e.forEach(x.outEdges(k),function(b){N[b.w]=(N[b.w]||0)+x.edge(b).weight}),N});return e.zipObject(x.nodes(),E)}function l(x){var E=e.map(x.nodes(),function(k){var N={};return e.forEach(x.inEdges(k),function(b){N[b.v]=(N[b.v]||0)+x.edge(b).weight}),N});return e.zipObject(x.nodes(),E)}function c(x,E){var k=x.x,N=x.y,b=E.x-k,I=E.y-N,A=x.width/2,P=x.height/2;if(!b&&!I)throw new Error("Not possible to find intersection inside of the rectangle");var H,z;return Math.abs(I)*A>Math.abs(b)*P?(I<0&&(P=-P),H=P*b/I,z=P):(b<0&&(A=-A),H=A,z=A*I/b),{x:k+H,y:N+z}}function d(x){var E=e.map(e.range(y(x)+1),function(){return[]});return e.forEach(x.nodes(),function(k){var N=x.node(k),b=N.rank;e.isUndefined(b)||(E[b][N.order]=k)}),E}function h(x){var E=e.min(e.map(x.nodes(),function(k){return x.node(k).rank}));e.forEach(x.nodes(),function(k){var N=x.node(k);e.has(N,"rank")&&(N.rank-=E)})}function p(x){var E=e.min(e.map(x.nodes(),function(I){return x.node(I).rank})),k=[];e.forEach(x.nodes(),function(I){var A=x.node(I).rank-E;k[A]||(k[A]=[]),k[A].push(I)});var N=0,b=x.graph().nodeRankFactor;e.forEach(k,function(I,A){e.isUndefined(I)&&A%b!==0?--N:N&&e.forEach(I,function(P){x.node(P).rank+=N})})}function m(x,E,k,N){var b={width:0,height:0};return arguments.length>=4&&(b.rank=k,b.order=N),i(x,"border",b,E)}function y(x){return e.max(e.map(x.nodes(),function(E){var k=x.node(E).rank;if(!e.isUndefined(k))return k}))}function _(x,E){var k={lhs:[],rhs:[]};return e.forEach(x,function(N){E(N)?k.lhs.push(N):k.rhs.push(N)}),k}function C(x,E){var k=e.now();try{return E()}finally{console.log(x+" time: "+(e.now()-k)+"ms")}}function w(x,E){return E()}return uv}var lv,uE;function aO(){if(uE)return lv;uE=1;var e=He(),r=Pt();lv={run:i,undo:a};function i(u){u.graph().dummyChains=[],e.forEach(u.edges(),function(l){o(u,l)})}function o(u,l){var c=l.v,d=u.node(c).rank,h=l.w,p=u.node(h).rank,m=l.name,y=u.edge(l),_=y.labelRank;if(p!==d+1){u.removeEdge(l);var C,w,x;for(x=0,++d;d<p;++x,++d)y.points=[],w={width:0,height:0,edgeLabel:y,edgeObj:l,rank:d},C=r.addDummyNode(u,"edge",w,"_d"),d===_&&(w.width=y.width,w.height=y.height,w.dummy="edge-label",w.labelpos=y.labelpos),u.setEdge(c,C,{weight:y.weight},m),x===0&&u.graph().dummyChains.push(C),c=C;u.setEdge(c,h,{weight:y.weight},m)}}function a(u){e.forEach(u.graph().dummyChains,function(l){var c=u.node(l),d=c.edgeLabel,h;for(u.setEdge(c.edgeObj,d);c.dummy;)h=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=h,c=u.node(l)})}return lv}var cv,lE;function zs(){if(lE)return cv;lE=1;var e=He();cv={longestPath:r,slack:i};function r(o){var a={};function u(l){var c=o.node(l);if(e.has(a,l))return c.rank;a[l]=!0;var d=e.min(e.map(o.outEdges(l),function(h){return u(h.w)-o.edge(h).minlen}));return(d===Number.POSITIVE_INFINITY||d===void 0||d===null)&&(d=0),c.rank=d}e.forEach(o.sources(),u)}function i(o,a){return o.node(a.w).rank-o.node(a.v).rank-o.edge(a).minlen}return cv}var fv,cE;function oC(){if(cE)return fv;cE=1;var e=He(),r=cn().Graph,i=zs().slack;fv=o;function o(c){var d=new r({directed:!1}),h=c.nodes()[0],p=c.nodeCount();d.setNode(h,{});for(var m,y;a(d,c)<p;)m=u(d,c),y=d.hasNode(m.v)?i(c,m):-i(c,m),l(d,c,y);return d}function a(c,d){function h(p){e.forEach(d.nodeEdges(p),function(m){var y=m.v,_=p===y?m.w:y;!c.hasNode(_)&&!i(d,m)&&(c.setNode(_,{}),c.setEdge(p,_,{}),h(_))})}return e.forEach(c.nodes(),h),c.nodeCount()}function u(c,d){return e.minBy(d.edges(),function(h){if(c.hasNode(h.v)!==c.hasNode(h.w))return i(d,h)})}function l(c,d,h){e.forEach(c.nodes(),function(p){d.node(p).rank+=h})}return fv}var dv,fE;function sO(){if(fE)return dv;fE=1;var e=He(),r=oC(),i=zs().slack,o=zs().longestPath,a=cn().alg.preorder,u=cn().alg.postorder,l=Pt().simplify;dv=c,c.initLowLimValues=m,c.initCutValues=d,c.calcCutValue=p,c.leaveEdge=_,c.enterEdge=C,c.exchangeEdges=w;function c(N){N=l(N),o(N);var b=r(N);m(b),d(b,N);for(var I,A;I=_(b);)A=C(b,N,I),w(b,N,I,A)}function d(N,b){var I=u(N,N.nodes());I=I.slice(0,I.length-1),e.forEach(I,function(A){h(N,b,A)})}function h(N,b,I){var A=N.node(I),P=A.parent;N.edge(I,P).cutvalue=p(N,b,I)}function p(N,b,I){var A=N.node(I),P=A.parent,H=!0,z=b.edge(I,P),U=0;return z||(H=!1,z=b.edge(P,I)),U=z.weight,e.forEach(b.nodeEdges(I),function(V){var ee=V.v===I,J=ee?V.w:V.v;if(J!==P){var R=ee===H,G=b.edge(V).weight;if(U+=R?G:-G,E(N,I,J)){var $=N.edge(I,J).cutvalue;U+=R?-$:$}}}),U}function m(N,b){arguments.length<2&&(b=N.nodes()[0]),y(N,{},1,b)}function y(N,b,I,A,P){var H=I,z=N.node(A);return b[A]=!0,e.forEach(N.neighbors(A),function(U){e.has(b,U)||(I=y(N,b,I,U,A))}),z.low=H,z.lim=I++,P?z.parent=P:delete z.parent,I}function _(N){return e.find(N.edges(),function(b){return N.edge(b).cutvalue<0})}function C(N,b,I){var A=I.v,P=I.w;b.hasEdge(A,P)||(A=I.w,P=I.v);var H=N.node(A),z=N.node(P),U=H,V=!1;H.lim>z.lim&&(U=z,V=!0);var ee=e.filter(b.edges(),function(J){return V===k(N,N.node(J.v),U)&&V!==k(N,N.node(J.w),U)});return e.minBy(ee,function(J){return i(b,J)})}function w(N,b,I,A){var P=I.v,H=I.w;N.removeEdge(P,H),N.setEdge(A.v,A.w,{}),m(N),d(N,b),x(N,b)}function x(N,b){var I=e.find(N.nodes(),function(P){return!b.node(P).parent}),A=a(N,I);A=A.slice(1),e.forEach(A,function(P){var H=N.node(P).parent,z=b.edge(P,H),U=!1;z||(z=b.edge(H,P),U=!0),b.node(P).rank=b.node(H).rank+(U?z.minlen:-z.minlen)})}function E(N,b,I){return N.hasEdge(b,I)}function k(N,b,I){return I.low<=b.lim&&b.lim<=I.lim}return dv}var hv,dE;function uO(){if(dE)return hv;dE=1;var e=zs(),r=e.longestPath,i=oC(),o=sO();hv=a;function a(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=r;function l(d){r(d),i(d)}function c(d){o(d)}return hv}var pv,hE;function lO(){if(hE)return pv;hE=1;var e=He();pv=r;function r(a){var u=o(a);e.forEach(a.graph().dummyChains,function(l){for(var c=a.node(l),d=c.edgeObj,h=i(a,u,d.v,d.w),p=h.path,m=h.lca,y=0,_=p[y],C=!0;l!==d.w;){if(c=a.node(l),C){for(;(_=p[y])!==m&&a.node(_).maxRank<c.rank;)y++;_===m&&(C=!1)}if(!C){for(;y<p.length-1&&a.node(_=p[y+1]).minRank<=c.rank;)y++;_=p[y]}a.setParent(l,_),l=a.successors(l)[0]}})}function i(a,u,l,c){var d=[],h=[],p=Math.min(u[l].low,u[c].low),m=Math.max(u[l].lim,u[c].lim),y,_;y=l;do y=a.parent(y),d.push(y);while(y&&(u[y].low>p||m>u[y].lim));for(_=y,y=c;(y=a.parent(y))!==_;)h.push(y);return{path:d.concat(h.reverse()),lca:_}}function o(a){var u={},l=0;function c(d){var h=l;e.forEach(a.children(d),c),u[d]={low:h,lim:l++}}return e.forEach(a.children(),c),u}return pv}var vv,pE;function cO(){if(pE)return vv;pE=1;var e=He(),r=Pt();vv={run:i,cleanup:l};function i(c){var d=r.addDummyNode(c,"root",{},"_root"),h=a(c),p=e.max(e.values(h))-1,m=2*p+1;c.graph().nestingRoot=d,e.forEach(c.edges(),function(_){c.edge(_).minlen*=m});var y=u(c)+1;e.forEach(c.children(),function(_){o(c,d,m,y,p,h,_)}),c.graph().nodeRankFactor=m}function o(c,d,h,p,m,y,_){var C=c.children(_);if(!C.length){_!==d&&c.setEdge(d,_,{weight:0,minlen:h});return}var w=r.addBorderNode(c,"_bt"),x=r.addBorderNode(c,"_bb"),E=c.node(_);c.setParent(w,_),E.borderTop=w,c.setParent(x,_),E.borderBottom=x,e.forEach(C,function(k){o(c,d,h,p,m,y,k);var N=c.node(k),b=N.borderTop?N.borderTop:k,I=N.borderBottom?N.borderBottom:k,A=N.borderTop?p:2*p,P=b!==I?1:m-y[_]+1;c.setEdge(w,b,{weight:A,minlen:P,nestingEdge:!0}),c.setEdge(I,x,{weight:A,minlen:P,nestingEdge:!0})}),c.parent(_)||c.setEdge(d,w,{weight:0,minlen:m+y[_]})}function a(c){var d={};function h(p,m){var y=c.children(p);y&&y.length&&e.forEach(y,function(_){h(_,m+1)}),d[p]=m}return e.forEach(c.children(),function(p){h(p,1)}),d}function u(c){return e.reduce(c.edges(),function(d,h){return d+c.edge(h).weight},0)}function l(c){var d=c.graph();c.removeNode(d.nestingRoot),delete d.nestingRoot,e.forEach(c.edges(),function(h){var p=c.edge(h);p.nestingEdge&&c.removeEdge(h)})}return vv}var mv,vE;function fO(){if(vE)return mv;vE=1;var e=He(),r=Pt();mv=i;function i(a){function u(l){var c=a.children(l),d=a.node(l);if(c.length&&e.forEach(c,u),e.has(d,"minRank")){d.borderLeft=[],d.borderRight=[];for(var h=d.minRank,p=d.maxRank+1;h<p;++h)o(a,"borderLeft","_bl",l,d,h),o(a,"borderRight","_br",l,d,h)}}e.forEach(a.children(),u)}function o(a,u,l,c,d,h){var p={width:0,height:0,rank:h,borderType:u},m=d[u][h-1],y=r.addDummyNode(a,"border",p,l);d[u][h]=y,a.setParent(y,c),m&&a.setEdge(m,y,{weight:1})}return mv}var gv,mE;function dO(){if(mE)return gv;mE=1;var e=He();gv={adjust:r,undo:i};function r(h){var p=h.graph().rankdir.toLowerCase();(p==="lr"||p==="rl")&&o(h)}function i(h){var p=h.graph().rankdir.toLowerCase();(p==="bt"||p==="rl")&&u(h),(p==="lr"||p==="rl")&&(c(h),o(h))}function o(h){e.forEach(h.nodes(),function(p){a(h.node(p))}),e.forEach(h.edges(),function(p){a(h.edge(p))})}function a(h){var p=h.width;h.width=h.height,h.height=p}function u(h){e.forEach(h.nodes(),function(p){l(h.node(p))}),e.forEach(h.edges(),function(p){var m=h.edge(p);e.forEach(m.points,l),e.has(m,"y")&&l(m)})}function l(h){h.y=-h.y}function c(h){e.forEach(h.nodes(),function(p){d(h.node(p))}),e.forEach(h.edges(),function(p){var m=h.edge(p);e.forEach(m.points,d),e.has(m,"x")&&d(m)})}function d(h){var p=h.x;h.x=h.y,h.y=p}return gv}var yv,gE;function hO(){if(gE)return yv;gE=1;var e=He();yv=r;function r(i){var o={},a=e.filter(i.nodes(),function(h){return!i.children(h).length}),u=e.max(e.map(a,function(h){return i.node(h).rank})),l=e.map(e.range(u+1),function(){return[]});function c(h){if(!e.has(o,h)){o[h]=!0;var p=i.node(h);l[p.rank].push(h),e.forEach(i.successors(h),c)}}var d=e.sortBy(a,function(h){return i.node(h).rank});return e.forEach(d,c),l}return yv}var _v,yE;function pO(){if(yE)return _v;yE=1;var e=He();_v=r;function r(o,a){for(var u=0,l=1;l<a.length;++l)u+=i(o,a[l-1],a[l]);return u}function i(o,a,u){for(var l=e.zipObject(u,e.map(u,function(y,_){return _})),c=e.flatten(e.map(a,function(y){return e.sortBy(e.map(o.outEdges(y),function(_){return{pos:l[_.w],weight:o.edge(_).weight}}),"pos")}),!0),d=1;d<u.length;)d<<=1;var h=2*d-1;d-=1;var p=e.map(new Array(h),function(){return 0}),m=0;return e.forEach(c.forEach(function(y){var _=y.pos+d;p[_]+=y.weight;for(var C=0;_>0;)_%2&&(C+=p[_+1]),_=_-1>>1,p[_]+=y.weight;m+=y.weight*C})),m}return _v}var wv,_E;function vO(){if(_E)return wv;_E=1;var e=He();wv=r;function r(i,o){return e.map(o,function(a){var u=i.inEdges(a);if(u.length){var l=e.reduce(u,function(c,d){var h=i.edge(d),p=i.node(d.v);return{sum:c.sum+h.weight*p.order,weight:c.weight+h.weight}},{sum:0,weight:0});return{v:a,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:a}})}return wv}var xv,wE;function mO(){if(wE)return xv;wE=1;var e=He();xv=r;function r(a,u){var l={};e.forEach(a,function(d,h){var p=l[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:h};e.isUndefined(d.barycenter)||(p.barycenter=d.barycenter,p.weight=d.weight)}),e.forEach(u.edges(),function(d){var h=l[d.v],p=l[d.w];!e.isUndefined(h)&&!e.isUndefined(p)&&(p.indegree++,h.out.push(l[d.w]))});var c=e.filter(l,function(d){return!d.indegree});return i(c)}function i(a){var u=[];function l(h){return function(p){p.merged||(e.isUndefined(p.barycenter)||e.isUndefined(h.barycenter)||p.barycenter>=h.barycenter)&&o(h,p)}}function c(h){return function(p){p.in.push(h),--p.indegree===0&&a.push(p)}}for(;a.length;){var d=a.pop();u.push(d),e.forEach(d.in.reverse(),l(d)),e.forEach(d.out,c(d))}return e.map(e.filter(u,function(h){return!h.merged}),function(h){return e.pick(h,["vs","i","barycenter","weight"])})}function o(a,u){var l=0,c=0;a.weight&&(l+=a.barycenter*a.weight,c+=a.weight),u.weight&&(l+=u.barycenter*u.weight,c+=u.weight),a.vs=u.vs.concat(a.vs),a.barycenter=l/c,a.weight=c,a.i=Math.min(u.i,a.i),u.merged=!0}return xv}var Sv,xE;function gO(){if(xE)return Sv;xE=1;var e=He(),r=Pt();Sv=i;function i(u,l){var c=r.partition(u,function(w){return e.has(w,"barycenter")}),d=c.lhs,h=e.sortBy(c.rhs,function(w){return-w.i}),p=[],m=0,y=0,_=0;d.sort(a(!!l)),_=o(p,h,_),e.forEach(d,function(w){_+=w.vs.length,p.push(w.vs),m+=w.barycenter*w.weight,y+=w.weight,_=o(p,h,_)});var C={vs:e.flatten(p,!0)};return y&&(C.barycenter=m/y,C.weight=y),C}function o(u,l,c){for(var d;l.length&&(d=e.last(l)).i<=c;)l.pop(),u.push(d.vs),c++;return c}function a(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 Sv}var Ev,SE;function yO(){if(SE)return Ev;SE=1;var e=He(),r=vO(),i=mO(),o=gO();Ev=a;function a(c,d,h,p){var m=c.children(d),y=c.node(d),_=y?y.borderLeft:void 0,C=y?y.borderRight:void 0,w={};_&&(m=e.filter(m,function(I){return I!==_&&I!==C}));var x=r(c,m);e.forEach(x,function(I){if(c.children(I.v).length){var A=a(c,I.v,h,p);w[I.v]=A,e.has(A,"barycenter")&&l(I,A)}});var E=i(x,h);u(E,w);var k=o(E,p);if(_&&(k.vs=e.flatten([_,k.vs,C],!0),c.predecessors(_).length)){var N=c.node(c.predecessors(_)[0]),b=c.node(c.predecessors(C)[0]);e.has(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+N.order+b.order)/(k.weight+2),k.weight+=2}return k}function u(c,d){e.forEach(c,function(h){h.vs=e.flatten(h.vs.map(function(p){return d[p]?d[p].vs:p}),!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 Ev}var kv,EE;function _O(){if(EE)return kv;EE=1;var e=He(),r=cn().Graph;kv=i;function i(a,u,l){var c=o(a),d=new r({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(h){return a.node(h)});return e.forEach(a.nodes(),function(h){var p=a.node(h),m=a.parent(h);(p.rank===u||p.minRank<=u&&u<=p.maxRank)&&(d.setNode(h),d.setParent(h,m||c),e.forEach(a[l](h),function(y){var _=y.v===h?y.w:y.v,C=d.edge(_,h),w=e.isUndefined(C)?0:C.weight;d.setEdge(_,h,{weight:a.edge(y).weight+w})}),e.has(p,"minRank")&&d.setNode(h,{borderLeft:p.borderLeft[u],borderRight:p.borderRight[u]}))}),d}function o(a){for(var u;a.hasNode(u=e.uniqueId("_root")););return u}return kv}var bv,kE;function wO(){if(kE)return bv;kE=1;var e=He();bv=r;function r(i,o,a){var u={},l;e.forEach(a,function(c){for(var d=i.parent(c),h,p;d;){if(h=i.parent(d),h?(p=u[h],u[h]=d):(p=l,l=d),p&&p!==d){o.setEdge(p,d);return}d=h}})}return bv}var Cv,bE;function xO(){if(bE)return Cv;bE=1;var e=He(),r=hO(),i=pO(),o=yO(),a=_O(),u=wO(),l=cn().Graph,c=Pt();Cv=d;function d(y){var _=c.maxRank(y),C=h(y,e.range(1,_+1),"inEdges"),w=h(y,e.range(_-1,-1,-1),"outEdges"),x=r(y);m(y,x);for(var E=Number.POSITIVE_INFINITY,k,N=0,b=0;b<4;++N,++b){p(N%2?C:w,N%4>=2),x=c.buildLayerMatrix(y);var I=i(y,x);I<E&&(b=0,k=e.cloneDeep(x),E=I)}m(y,k)}function h(y,_,C){return e.map(_,function(w){return a(y,w,C)})}function p(y,_){var C=new l;e.forEach(y,function(w){var x=w.graph().root,E=o(w,x,C,_);e.forEach(E.vs,function(k,N){w.node(k).order=N}),u(w,C,E.vs)})}function m(y,_){e.forEach(_,function(C){e.forEach(C,function(w,x){y.node(w).order=x})})}return Cv}var Nv,CE;function SO(){if(CE)return Nv;CE=1;var e=He(),r=cn().Graph,i=Pt();Nv={positionX:C,findType1Conflicts:o,findType2Conflicts:a,addConflict:l,hasConflict:c,verticalAlignment:d,horizontalCompaction:h,alignCoordinates:y,findSmallestWidthAlignment:m,balance:_};function o(E,k){var N={};function b(I,A){var P=0,H=0,z=I.length,U=e.last(A);return e.forEach(A,function(V,ee){var J=u(E,V),R=J?E.node(J).order:z;(J||V===U)&&(e.forEach(A.slice(H,ee+1),function(G){e.forEach(E.predecessors(G),function($){var re=E.node($),K=re.order;(K<P||R<K)&&!(re.dummy&&E.node(G).dummy)&&l(N,$,G)})}),H=ee+1,P=R)}),A}return e.reduce(k,b),N}function a(E,k){var N={};function b(A,P,H,z,U){var V;e.forEach(e.range(P,H),function(ee){V=A[ee],E.node(V).dummy&&e.forEach(E.predecessors(V),function(J){var R=E.node(J);R.dummy&&(R.order<z||R.order>U)&&l(N,J,V)})})}function I(A,P){var H=-1,z,U=0;return e.forEach(P,function(V,ee){if(E.node(V).dummy==="border"){var J=E.predecessors(V);J.length&&(z=E.node(J[0]).order,b(P,U,ee,H,z),U=ee,H=z)}b(P,U,P.length,z,A.length)}),P}return e.reduce(k,I),N}function u(E,k){if(E.node(k).dummy)return e.find(E.predecessors(k),function(N){return E.node(N).dummy})}function l(E,k,N){if(k>N){var b=k;k=N,N=b}var I=E[k];I||(E[k]=I={}),I[N]=!0}function c(E,k,N){if(k>N){var b=k;k=N,N=b}return e.has(E[k],N)}function d(E,k,N,b){var I={},A={},P={};return e.forEach(k,function(H){e.forEach(H,function(z,U){I[z]=z,A[z]=z,P[z]=U})}),e.forEach(k,function(H){var z=-1;e.forEach(H,function(U){var V=b(U);if(V.length){V=e.sortBy(V,function($){return P[$]});for(var ee=(V.length-1)/2,J=Math.floor(ee),R=Math.ceil(ee);J<=R;++J){var G=V[J];A[U]===U&&z<P[G]&&!c(N,U,G)&&(A[G]=U,A[U]=I[U]=I[G],z=P[G])}}})}),{root:I,align:A}}function h(E,k,N,b,I){var A={},P=p(E,k,N,I),H=I?"borderLeft":"borderRight";function z(ee,J){for(var R=P.nodes(),G=R.pop(),$={};G;)$[G]?ee(G):($[G]=!0,R.push(G),R=R.concat(J(G))),G=R.pop()}function U(ee){A[ee]=P.inEdges(ee).reduce(function(J,R){return Math.max(J,A[R.v]+P.edge(R))},0)}function V(ee){var J=P.outEdges(ee).reduce(function(G,$){return Math.min(G,A[$.w]-P.edge($))},Number.POSITIVE_INFINITY),R=E.node(ee);J!==Number.POSITIVE_INFINITY&&R.borderType!==H&&(A[ee]=Math.max(A[ee],J))}return z(U,P.predecessors.bind(P)),z(V,P.successors.bind(P)),e.forEach(b,function(ee){A[ee]=A[N[ee]]}),A}function p(E,k,N,b){var I=new r,A=E.graph(),P=w(A.nodesep,A.edgesep,b);return e.forEach(k,function(H){var z;e.forEach(H,function(U){var V=N[U];if(I.setNode(V),z){var ee=N[z],J=I.edge(ee,V);I.setEdge(ee,V,Math.max(P(E,U,z),J||0))}z=U})}),I}function m(E,k){return e.minBy(e.values(k),function(N){var b=Number.NEGATIVE_INFINITY,I=Number.POSITIVE_INFINITY;return e.forIn(N,function(A,P){var H=x(E,P)/2;b=Math.max(A+H,b),I=Math.min(A-H,I)}),b-I})}function y(E,k){var N=e.values(k),b=e.min(N),I=e.max(N);e.forEach(["u","d"],function(A){e.forEach(["l","r"],function(P){var H=A+P,z=E[H],U;if(z!==k){var V=e.values(z);U=P==="l"?b-e.min(V):I-e.max(V),U&&(E[H]=e.mapValues(z,function(ee){return ee+U}))}})})}function _(E,k){return e.mapValues(E.ul,function(N,b){if(k)return E[k.toLowerCase()][b];var I=e.sortBy(e.map(E,b));return(I[1]+I[2])/2})}function C(E){var k=i.buildLayerMatrix(E),N=e.merge(o(E,k),a(E,k)),b={},I;e.forEach(["u","d"],function(P){I=P==="u"?k:e.values(k).reverse(),e.forEach(["l","r"],function(H){H==="r"&&(I=e.map(I,function(ee){return e.values(ee).reverse()}));var z=(P==="u"?E.predecessors:E.successors).bind(E),U=d(E,I,N,z),V=h(E,I,U.root,U.align,H==="r");H==="r"&&(V=e.mapValues(V,function(ee){return-ee})),b[P+H]=V})});var A=m(E,b);return y(b,A),_(b,E.graph().align)}function w(E,k,N){return function(b,I,A){var P=b.node(I),H=b.node(A),z=0,U;if(z+=P.width/2,e.has(P,"labelpos"))switch(P.labelpos.toLowerCase()){case"l":U=-P.width/2;break;case"r":U=P.width/2;break}if(U&&(z+=N?U:-U),U=0,z+=(P.dummy?k:E)/2,z+=(H.dummy?k:E)/2,z+=H.width/2,e.has(H,"labelpos"))switch(H.labelpos.toLowerCase()){case"l":U=H.width/2;break;case"r":U=-H.width/2;break}return U&&(z+=N?U:-U),U=0,z}}function x(E,k){return E.node(k).width}return Nv}var Rv,NE;function EO(){if(NE)return Rv;NE=1;var e=He(),r=Pt(),i=SO().positionX;Rv=o;function o(u){u=r.asNonCompoundGraph(u),a(u),e.forEach(i(u),function(l,c){u.node(c).x=l})}function a(u){var l=r.buildLayerMatrix(u),c=u.graph().ranksep,d=0;e.forEach(l,function(h){var p=e.max(e.map(h,function(m){return u.node(m).height}));e.forEach(h,function(m){u.node(m).y=d+p/2}),d+=p+c})}return Rv}var Tv,RE;function kO(){if(RE)return Tv;RE=1;var e=He(),r=oO(),i=aO(),o=uO(),a=Pt().normalizeRanks,u=lO(),l=Pt().removeEmptyRanks,c=cO(),d=fO(),h=dO(),p=xO(),m=EO(),y=Pt(),_=cn().Graph;Tv=C;function C(O,F){var Y=F&&F.debugTiming?y.time:y.notime;Y("layout",function(){var ie=Y(" buildLayoutGraph",function(){return z(O)});Y(" runLayout",function(){w(ie,Y)}),Y(" updateInputGraph",function(){x(O,ie)})})}function w(O,F){F(" makeSpaceForEdgeLabels",function(){U(O)}),F(" removeSelfEdges",function(){L(O)}),F(" acyclic",function(){r.run(O)}),F(" nestingGraph.run",function(){c.run(O)}),F(" rank",function(){o(y.asNonCompoundGraph(O))}),F(" injectEdgeLabelProxies",function(){V(O)}),F(" removeEmptyRanks",function(){l(O)}),F(" nestingGraph.cleanup",function(){c.cleanup(O)}),F(" normalizeRanks",function(){a(O)}),F(" assignRankMinMax",function(){ee(O)}),F(" removeEdgeLabelProxies",function(){J(O)}),F(" normalize.run",function(){i.run(O)}),F(" parentDummyChains",function(){u(O)}),F(" addBorderSegments",function(){d(O)}),F(" order",function(){p(O)}),F(" insertSelfEdges",function(){W(O)}),F(" adjustCoordinateSystem",function(){h.adjust(O)}),F(" position",function(){m(O)}),F(" positionSelfEdges",function(){T(O)}),F(" removeBorderNodes",function(){K(O)}),F(" normalize.undo",function(){i.undo(O)}),F(" fixupEdgeLabelCoords",function(){$(O)}),F(" undoCoordinateSystem",function(){h.undo(O)}),F(" translateGraph",function(){R(O)}),F(" assignNodeIntersects",function(){G(O)}),F(" reversePoints",function(){re(O)}),F(" acyclic.undo",function(){r.undo(O)})}function x(O,F){e.forEach(O.nodes(),function(Y){var ie=O.node(Y),ue=F.node(Y);ie&&(ie.x=ue.x,ie.y=ue.y,F.children(Y).length&&(ie.width=ue.width,ie.height=ue.height))}),e.forEach(O.edges(),function(Y){var ie=O.edge(Y),ue=F.edge(Y);ie.points=ue.points,e.has(ue,"x")&&(ie.x=ue.x,ie.y=ue.y)}),O.graph().width=F.graph().width,O.graph().height=F.graph().height}var E=["nodesep","edgesep","ranksep","marginx","marginy"],k={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},N=["acyclicer","ranker","rankdir","align"],b=["width","height"],I={width:0,height:0},A=["minlen","weight","width","height","labeloffset"],P={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},H=["labelpos"];function z(O){var F=new _({multigraph:!0,compound:!0}),Y=ne(O.graph());return F.setGraph(e.merge({},k,M(Y,E),e.pick(Y,N))),e.forEach(O.nodes(),function(ie){var ue=ne(O.node(ie));F.setNode(ie,e.defaults(M(ue,b),I)),F.setParent(ie,O.parent(ie))}),e.forEach(O.edges(),function(ie){var ue=ne(O.edge(ie));F.setEdge(ie,e.merge({},P,M(ue,A),e.pick(ue,H)))}),F}function U(O){var F=O.graph();F.ranksep/=2,e.forEach(O.edges(),function(Y){var ie=O.edge(Y);ie.minlen*=2,ie.labelpos.toLowerCase()!=="c"&&(F.rankdir==="TB"||F.rankdir==="BT"?ie.width+=ie.labeloffset:ie.height+=ie.labeloffset)})}function V(O){e.forEach(O.edges(),function(F){var Y=O.edge(F);if(Y.width&&Y.height){var ie=O.node(F.v),ue=O.node(F.w),fe={rank:(ue.rank-ie.rank)/2+ie.rank,e:F};y.addDummyNode(O,"edge-proxy",fe,"_ep")}})}function ee(O){var F=0;e.forEach(O.nodes(),function(Y){var ie=O.node(Y);ie.borderTop&&(ie.minRank=O.node(ie.borderTop).rank,ie.maxRank=O.node(ie.borderBottom).rank,F=e.max(F,ie.maxRank))}),O.graph().maxRank=F}function J(O){e.forEach(O.nodes(),function(F){var Y=O.node(F);Y.dummy==="edge-proxy"&&(O.edge(Y.e).labelRank=Y.rank,O.removeNode(F))})}function R(O){var F=Number.POSITIVE_INFINITY,Y=0,ie=Number.POSITIVE_INFINITY,ue=0,fe=O.graph(),he=fe.marginx||0,Ne=fe.marginy||0;function Me(Te){var Re=Te.x,we=Te.y,De=Te.width,ve=Te.height;F=Math.min(F,Re-De/2),Y=Math.max(Y,Re+De/2),ie=Math.min(ie,we-ve/2),ue=Math.max(ue,we+ve/2)}e.forEach(O.nodes(),function(Te){Me(O.node(Te))}),e.forEach(O.edges(),function(Te){var Re=O.edge(Te);e.has(Re,"x")&&Me(Re)}),F-=he,ie-=Ne,e.forEach(O.nodes(),function(Te){var Re=O.node(Te);Re.x-=F,Re.y-=ie}),e.forEach(O.edges(),function(Te){var Re=O.edge(Te);e.forEach(Re.points,function(we){we.x-=F,we.y-=ie}),e.has(Re,"x")&&(Re.x-=F),e.has(Re,"y")&&(Re.y-=ie)}),fe.width=Y-F+he,fe.height=ue-ie+Ne}function G(O){e.forEach(O.edges(),function(F){var Y=O.edge(F),ie=O.node(F.v),ue=O.node(F.w),fe,he;Y.points?(fe=Y.points[0],he=Y.points[Y.points.length-1]):(Y.points=[],fe=ue,he=ie),Y.points.unshift(y.intersectRect(ie,fe)),Y.points.push(y.intersectRect(ue,he))})}function $(O){e.forEach(O.edges(),function(F){var Y=O.edge(F);if(e.has(Y,"x"))switch((Y.labelpos==="l"||Y.labelpos==="r")&&(Y.width-=Y.labeloffset),Y.labelpos){case"l":Y.x-=Y.width/2+Y.labeloffset;break;case"r":Y.x+=Y.width/2+Y.labeloffset;break}})}function re(O){e.forEach(O.edges(),function(F){var Y=O.edge(F);Y.reversed&&Y.points.reverse()})}function K(O){e.forEach(O.nodes(),function(F){if(O.children(F).length){var Y=O.node(F),ie=O.node(Y.borderTop),ue=O.node(Y.borderBottom),fe=O.node(e.last(Y.borderLeft)),he=O.node(e.last(Y.borderRight));Y.width=Math.abs(he.x-fe.x),Y.height=Math.abs(ue.y-ie.y),Y.x=fe.x+Y.width/2,Y.y=ie.y+Y.height/2}}),e.forEach(O.nodes(),function(F){O.node(F).dummy==="border"&&O.removeNode(F)})}function L(O){e.forEach(O.edges(),function(F){if(F.v===F.w){var Y=O.node(F.v);Y.selfEdges||(Y.selfEdges=[]),Y.selfEdges.push({e:F,label:O.edge(F)}),O.removeEdge(F)}})}function W(O){var F=y.buildLayerMatrix(O);e.forEach(F,function(Y){var ie=0;e.forEach(Y,function(ue,fe){var he=O.node(ue);he.order=fe+ie,e.forEach(he.selfEdges,function(Ne){y.addDummyNode(O,"selfedge",{width:Ne.label.width,height:Ne.label.height,rank:he.rank,order:fe+ ++ie,e:Ne.e,label:Ne.label},"_se")}),delete he.selfEdges})})}function T(O){e.forEach(O.nodes(),function(F){var Y=O.node(F);if(Y.dummy==="selfedge"){var ie=O.node(Y.e.v),ue=ie.x+ie.width/2,fe=ie.y,he=Y.x-ue,Ne=ie.height/2;O.setEdge(Y.e,Y.label),O.removeNode(F),Y.label.points=[{x:ue+2*he/3,y:fe-Ne},{x:ue+5*he/6,y:fe-Ne},{x:ue+he,y:fe},{x:ue+5*he/6,y:fe+Ne},{x:ue+2*he/3,y:fe+Ne}],Y.label.x=Y.x,Y.label.y=Y.y}})}function M(O,F){return e.mapValues(e.pick(O,F),Number)}function ne(O){var F={};return e.forEach(O,function(Y,ie){F[ie.toLowerCase()]=Y}),F}return Tv}var Iv,TE;function bO(){if(TE)return Iv;TE=1;var e=He(),r=Pt(),i=cn().Graph;Iv={debugOrdering:o};function o(a){var u=r.buildLayerMatrix(a),l=new i({compound:!0,multigraph:!0}).setGraph({});return e.forEach(a.nodes(),function(c){l.setNode(c,{label:c}),l.setParent(c,"layer"+a.node(c).rank)}),e.forEach(a.edges(),function(c){l.setEdge(c.v,c.w,{},c.name)}),e.forEach(u,function(c,d){var h="layer"+d;l.setNode(h,{rank:"same"}),e.reduce(c,function(p,m){return l.setEdge(p,m,{style:"invis"}),m})}),l}return Iv}var Av,IE;function CO(){return IE||(IE=1,Av="0.8.5"),Av}var qv,AE;function NO(){return AE||(AE=1,qv={graphlib:cn(),layout:kO(),debug:bO(),util:{time:Pt().time,notime:Pt().notime},version:CO()}),qv}var RO=NO();const qE=Jv(RO),PE=240,ME=130;function TO(e,r,i={}){const o=i.direction??"LR",a=i.pinned??new Map,u=i.measured??new Map,l=new qE.graphlib.Graph;l.setDefaultEdgeLabel(()=>({})),l.setGraph({rankdir:o,marginx:60,marginy:60,nodesep:70,ranksep:160,edgesep:30});for(const c of e){const d=u.get(c.id);l.setNode(c.id,{width:(d==null?void 0:d.width)??PE,height:(d==null?void 0:d.height)??ME})}for(const c of r)l.setEdge(c.source,c.target);return qE.layout(l),e.map(c=>{const d=a.get(c.id);if(d)return{...c,position:d};const h=l.node(c.id);if(!h)return c;const p=u.get(c.id),m=(p==null?void 0:p.width)??PE,y=(p==null?void 0:p.height)??ME;return{...c,position:{x:h.x-m/2,y:h.y-y/2}}})}function Tr(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}function IO(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}const AO={agent:oP},qO=600;function PO(e,r){var o,a,u;if(!r)return!0;const i=r.toLowerCase();if(e.label.toLowerCase().includes(i)||(o=e.cwd)!=null&&o.toLowerCase().includes(i)||(a=e.cwdBasename)!=null&&a.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 MO(e,r,i,o,a){const u=[],l=[],c=new Set;if(o)for(const h of e.agents.values())PO(h,o)&&c.add(h.id);const d=new Set;for(const h of e.agents.values())h.exitAt!=null&&r-h.exitAt>qO||d.add(h.id);for(const h of e.agents.values()){if(!d.has(h.id))continue;const p=o?!c.has(h.id):!1,m=h.exitAt!=null,y=[p?"rf-dim":"",m?"rf-exiting":""].filter(Boolean).join(" ")||void 0;if(u.push({id:h.id,type:"agent",position:{x:0,y:0},data:{...h,now:r,dim:p},className:y}),h.parentId&&d.has(h.parentId)){const _=gm(h.sessionId),C=h.state==="active"?`hsl(${_} 80% 72%)`:`hsl(${_} 50% 55%)`,w=o&&!c.has(h.id)&&!c.has(h.parentId),x=m;l.push({id:`e:${h.parentId}->${h.id}`,source:h.parentId,target:h.id,animated:h.state==="active"&&!w&&!x,type:"smoothstep",label:h.label,labelBgPadding:[6,3],labelBgBorderRadius:4,labelStyle:{fontSize:10,fill:C,fontFamily:"ui-monospace, monospace",opacity:w||x?.25:1},labelBgStyle:{fill:"var(--bg-soft)",fillOpacity:w||x?.3:.85,stroke:C,strokeWidth:.5},style:{stroke:C,strokeWidth:h.state==="active"?2:1.5,opacity:w||x?.2:1,transition:"opacity 500ms ease"},className:x?"rf-edge-exiting":void 0})}}return{nodes:TO(u,l,{direction:"LR",pinned:i,measured:a}),edges:l}}function OO(){return D.jsx(mm,{children:D.jsx(LO,{})})}function LO(){const e=Vs(),r=Q.useRef(Yv()),[,i]=Q.useState(0),o=Q.useCallback(()=>i(M=>M+1),[]),[a,u]=Q.useState(null),[l,c]=Q.useState(null),[d,h]=Q.useState(!1),[p,m]=Q.useState(!1),y=Q.useRef([]),[_,C]=Q.useState(Date.now()),w=Q.useRef(new Map),[x,E]=Q.useState(""),[k,N]=Q.useState(()=>typeof window>"u"?"dark":window.localStorage.getItem("agent-dag.theme")??"dark"),[b,I]=Q.useState(!1),A=Q.useRef(null);Q.useEffect(()=>{document.documentElement.dataset.theme=k;try{window.localStorage.setItem("agent-dag.theme",k)}catch{}},[k]),Q.useEffect(()=>{const M=new EventSource("/events");return M.addEventListener("open",()=>{h(!0),I(!0)}),M.addEventListener("error",()=>h(!1)),M.addEventListener("hook",ne=>{try{const O=JSON.parse(ne.data);if(p){y.current.push(O);return}r.current=u1(r.current,O),o()}catch{}}),()=>M.close()},[p,o]),Q.useEffect(()=>{if(!p&&y.current.length!==0){for(const M of y.current)r.current=u1(r.current,M);y.current.length=0,o()}},[p,o]),Q.useEffect(()=>{const M=setInterval(()=>C(Date.now()),250);return()=>clearInterval(M)},[]);const P=Q.useRef(0),H=Q.useRef(null);Q.useEffect(()=>{const M=r.current.agents.size;M>P.current?(P.current=M,H.current&&window.clearTimeout(H.current),H.current=window.setTimeout(()=>{try{e.fitView({padding:.25,duration:600})}catch{}},400)):M<P.current&&(P.current=M)});const z=Q.useRef(new Map),U=Q.useRef(0),V=Q.useCallback(M=>{const ne=z.current;let O=!1;for(const F of M.nodeInternals.values()){const Y=F.width,ie=F.height;if(Y==null||ie==null)continue;const ue=ne.get(F.id);ue?(Math.abs(ue.height-ie)>4||Math.abs(ue.width-Y)>4)&&(ne.set(F.id,{width:Y,height:ie}),O=!0):(ne.set(F.id,{width:Y,height:ie}),O=!0)}return O&&(U.current+=1),U.current},[]),ee=Pe(V),{nodes:J,edges:R}=Q.useMemo(()=>MO(r.current,_,w.current,x,z.current),[r.current,r.current.lastSeq,_,x,ee]),G=a?r.current.agents.get(a):null,$=l?Array.from(r.current.agents.values()).flatMap(M=>M.tools).find(M=>M.id===l)??null:null,re=Q.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}r.current=Yv(),w.current.clear(),z.current.clear(),u(null),o()},[o]),K=Q.useCallback(()=>{w.current.clear(),o()},[o]);Q.useEffect(()=>{const M=ne=>{var F,Y;const O=((F=ne.target)==null?void 0:F.tagName)==="INPUT";if(ne.key==="Escape"){O?ne.target.blur():u(null);return}if(!O){if(ne.key==="/"){ne.preventDefault(),(Y=A.current)==null||Y.focus();return}ne.key===" "&&(ne.preventDefault(),m(ie=>!ie)),(ne.key==="c"||ne.key==="C")&&re(),(ne.key==="r"||ne.key==="R")&&K(),(ne.key==="t"||ne.key==="T")&&N(ie=>ie==="dark"?"light":"dark")}};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[re,K]);const L=r.current.agents.size,W=new Set(Array.from(r.current.agents.values()).map(M=>M.sessionId)).size,T=Q.useMemo(()=>{let M=0,ne=0,O=0,F=0;for(const Y of r.current.agents.values())M+=Y.usage.inputTokens,ne+=Y.usage.outputTokens,O+=Y.usage.cacheReadTokens,F+=Y.usage.cacheCreateTokens;return{inT:M,outT:ne,cacheR:O,cacheC:F,sum:M+ne}},[r.current,r.current.lastSeq]);return D.jsxs("div",{className:"app",children:[D.jsxs("header",{className:"topbar",children:[D.jsxs("div",{className:"brand",children:[D.jsx("span",{className:"logo"}),"agent-dag ",D.jsx("span",{className:"v",children:"v1.0.3"})]}),D.jsxs("div",{className:"actions",children:[D.jsxs("div",{className:"search",children:[D.jsx("span",{className:"search-icon","aria-hidden":!0,children:"⌕"}),D.jsx("input",{ref:A,type:"text",placeholder:"Search agents, cwd, tools…",value:x,onChange:M=>E(M.target.value),spellCheck:!1,"aria-label":"Filter the graph"}),x?D.jsx("button",{className:"search-clear","aria-label":"Clear search",onClick:()=>E(""),children:"×"}):D.jsx("kbd",{className:"search-kbd","aria-hidden":!0,children:"/"})]}),D.jsxs("span",{className:"status",role:"status",children:[D.jsx("span",{className:`pill ${d?"live":"dead"}`,title:d?"Receiving events":"SSE disconnected",children:d?"live":"offline"}),D.jsxs("span",{className:"stat",title:"Distinct CC sessions",children:[D.jsx("span",{className:"count",children:W}),D.jsx("span",{className:"lbl",children:"sessions"})]}),D.jsxs("span",{className:"stat",title:"Total agents (root + subagents)",children:[D.jsx("span",{className:"count",children:L}),D.jsx("span",{className:"lbl",children:"agents"})]}),D.jsxs("span",{className:"stat",title:"Total hook events received",children:[D.jsx("span",{className:"count",children:r.current.totalEvents}),D.jsx("span",{className:"lbl",children:"events"})]}),T.sum>0&&D.jsxs("span",{className:"stat",title:`in:${T.inT.toLocaleString()} out:${T.outT.toLocaleString()} cache-r:${T.cacheR.toLocaleString()} cache-c:${T.cacheC.toLocaleString()}`,children:[D.jsx("span",{className:"count",children:IO(T.sum)}),D.jsx("span",{className:"lbl",children:"tokens"})]})]}),D.jsx("button",{className:`btn ${p?"warn":""}`,onClick:()=>m(M=>!M),title:"Pause/resume live updates (Space)",children:p?`Resume${y.current.length?` · ${y.current.length}`:""}`:"Pause"}),D.jsx("button",{className:"btn",onClick:K,title:"Auto-arrange — clear pins (R)",children:"Re-layout"}),D.jsx("button",{className:"btn",onClick:re,title:"Clear canvas (C)",children:"Clear"}),D.jsx("button",{className:"btn icon-btn",onClick:()=>N(M=>M==="dark"?"light":"dark"),title:`Switch to ${k==="dark"?"light":"dark"} mode (T)`,"aria-label":"Toggle theme",children:k==="dark"?"☀":"☾"})]})]}),b&&!d&&D.jsxs("div",{className:"conn-banner",role:"alert",children:[D.jsx("span",{className:"conn-dot"}),"Lost connection to agent-dag server. Reconnecting…"]}),D.jsxs("div",{className:"canvas-wrap",children:[L===0&&D.jsx(zO,{live:d,everConnected:b}),D.jsxs(Jk,{nodes:J,edges:R,nodeTypes:AO,fitView:!0,fitViewOptions:{padding:.25,duration:400},minZoom:.2,maxZoom:1.6,panOnScroll:!0,nodesDraggable:!0,nodesConnectable:!1,selectionOnDrag:!1,onNodeClick:(M,ne)=>u(ne.id),onPaneClick:()=>u(null),onNodeDragStop:(M,ne)=>{w.current.set(ne.id,{x:ne.position.x,y:ne.position.y})},children:[D.jsx(Jq,{gap:28,size:1,color:Tr("--grid-line")}),D.jsx(fP,{}),D.jsx(Wq,{showInteractive:!1}),D.jsx(Fq,{zoomable:!0,pannable:!0,nodeColor:M=>{const ne=M.data;return ne.state==="err"?Tr("--err"):ne.state==="active"?Tr("--inflight"):Tr("--ok")},nodeStrokeWidth:2,maskColor:Tr("--minimap-mask"),style:{background:Tr("--panel"),border:`1px solid ${Tr("--line")}`,borderRadius:8}})]})]}),D.jsx("aside",{className:"detail",children:G?D.jsx(FO,{agent:G,now:_,onOpenTool:c}):D.jsx(DO,{count:L})}),$&&D.jsx(lP,{tool:$,onClose:()=>c(null)})]})}function zO({live:e,everConnected:r}){const i=!e;return D.jsxs("div",{className:"empty-hero",children:[D.jsxs("div",{className:"orbit-stack","aria-hidden":!0,children:[D.jsx("div",{className:"core"}),D.jsxs("div",{className:"orbit r1",children:[D.jsx("span",{className:"dot"}),D.jsx("span",{className:"dot b"})]}),D.jsxs("div",{className:"orbit r2",children:[D.jsx("span",{className:"dot"}),D.jsx("span",{className:"dot b"})]}),D.jsxs("div",{className:"orbit r3",children:[D.jsx("span",{className:"dot"}),D.jsx("span",{className:"dot b"})]})]}),i?D.jsxs(D.Fragment,{children:[D.jsx("h2",{children:r?"Disconnected from server":"Server unreachable"}),D.jsxs("p",{children:["The browser cannot reach ",D.jsx("code",{children:"/events"}),". Check that",D.jsx("code",{children:"agent-dag"})," is still running in your terminal, then this page will resume automatically."]})]}):jO()]})}function jO(){return D.jsxs(D.Fragment,{children:[D.jsx("h2",{children:"Waiting for Claude Code"}),D.jsxs("p",{children:["Run ",D.jsx("code",{children:"claude"})," in any folder. As soon as a session sends an event, a node appears here and grows as subagents fork and tools are called."]}),D.jsxs("p",{className:"hint-row",children:["Not seeing anything? Make sure ",D.jsx("code",{children:"agent-dag"})," is running and that the hook is installed in ",D.jsx("code",{children:"~/.claude/settings.json"}),"."]})]})}function DO({count:e}){return D.jsxs(D.Fragment,{children:[D.jsx("h3",{children:"Detail"}),e===0?D.jsxs("div",{className:"hint",children:["No data yet. Start a Claude Code session anywhere on this machine — agent-dag is in ",D.jsx("code",{children:"--all"})," mode and listens to every workspace."]}):D.jsx("div",{className:"empty",children:"Click an agent to see its tools."}),D.jsx("h3",{style:{marginTop:4},children:"Shortcuts"}),D.jsxs("div",{className:"shortcuts",children:[D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"drag"}),D.jsx("span",{children:"move a node"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"/"}),D.jsx("span",{children:"focus search"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"space"}),D.jsx("span",{children:"pause / resume"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"R"}),D.jsx("span",{children:"re-arrange"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"C"}),D.jsx("span",{children:"clear canvas"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"T"}),D.jsx("span",{children:"toggle theme"})]}),D.jsxs("div",{className:"sc",children:[D.jsx("kbd",{children:"Esc"}),D.jsx("span",{children:"deselect"})]})]})]})}function FO({agent:e,now:r,onOpenTool:i}){const o=Math.max(0,Math.floor(((e.endedAt??r)-e.startedAt)/1e3));return D.jsxs(D.Fragment,{children:[D.jsx("h3",{children:e.label}),D.jsxs("div",{children:[D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"kind"}),D.jsx("span",{className:"v",children:e.kind})]}),D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"state"}),D.jsx("span",{className:"v",children:e.state})]}),D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"elapsed"}),D.jsxs("span",{className:"v",children:[o,"s"]})]}),D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"tools"}),D.jsx("span",{className:"v",children:e.toolCount})]}),e.cwd&&D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"cwd"}),D.jsx("span",{className:"v",title:e.cwd,children:e.cwd})]}),D.jsxs("div",{className:"row",children:[D.jsx("span",{className:"k",children:"session"}),D.jsxs("span",{className:"v",children:[e.sessionId.slice(0,8),"…"]})]})]}),e.usage.inputTokens+e.usage.outputTokens>0&&D.jsxs(D.Fragment,{children:[D.jsx("h3",{children:"Tokens"}),D.jsxs("div",{className:"tokens-grid",children:[D.jsxs("div",{children:[D.jsx("span",{className:"k",children:"in"}),D.jsx("b",{children:e.usage.inputTokens.toLocaleString()})]}),D.jsxs("div",{children:[D.jsx("span",{className:"k",children:"out"}),D.jsx("b",{children:e.usage.outputTokens.toLocaleString()})]}),D.jsxs("div",{children:[D.jsx("span",{className:"k",children:"cache r"}),D.jsx("b",{children:e.usage.cacheReadTokens.toLocaleString()})]}),D.jsxs("div",{children:[D.jsx("span",{className:"k",children:"cache c"}),D.jsx("b",{children:e.usage.cacheCreateTokens.toLocaleString()})]})]})]}),e.prompts.length>0&&D.jsxs(D.Fragment,{children:[D.jsxs("h3",{children:["Prompts (",e.prompts.length,")"]}),D.jsx("div",{className:"prompts",children:e.prompts.map((a,u)=>D.jsxs("div",{className:"prompt-entry",children:[D.jsx("div",{className:"prompt-time",children:new Date(a.at).toLocaleTimeString()}),D.jsx("div",{className:"prompt-text",children:a.text})]},u))})]}),D.jsxs("h3",{children:["Tool calls (",e.tools.length,")"]}),e.tools.length===0&&D.jsx("div",{className:"empty",children:"No tool calls yet."}),D.jsx("div",{children:e.tools.slice().reverse().map(a=>D.jsx($O,{t:a,now:r,onClick:()=>i(a.id)},a.id))})]})}function $O({t:e,now:r,onClick:i}){const o=e.endedAt==null?"inflight":e.ok===!1?"err":"done",a=(e.endedAt??r)-e.startedAt,u=e.endedAt==null?"…":a<1e3?`${a}ms`:`${(a/1e3).toFixed(1)}s`;return D.jsxs("button",{className:"tool clickable",title:e.inputPreview||e.name,onClick:i,children:[D.jsxs("span",{className:"name",children:[D.jsx("span",{className:`status-dot ${o}`}),e.name]}),D.jsx("span",{style:{color:"var(--muted)"},children:u})]})}const BO=QN.createRoot(document.getElementById("root"));BO.render(D.jsx(OO,{}));
|