blokctl 0.2.11 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/create/project.js +54 -0
- package/dist/commands/create/utils/Examples.d.ts +3 -3
- package/dist/commands/create/utils/Examples.js +109 -13
- package/dist/commands/dev/index.js +50 -13
- package/dist/commands/generate/validators/WorkflowValidator.js +1 -1
- package/dist/commands/migrate/index.js +11 -0
- package/dist/commands/migrate/workflows.d.ts +3 -0
- package/dist/commands/migrate/workflows.js +333 -0
- package/dist/commands/trace/index.js +6 -2
- package/dist/commands/trace/startStudio.d.ts +2 -0
- package/dist/commands/trace/startStudio.js +76 -11
- package/dist/index.js +1 -0
- package/dist/services/health-probe.d.ts +5 -0
- package/dist/services/health-probe.js +35 -0
- package/dist/services/runtime-detector.d.ts +3 -0
- package/dist/services/runtime-detector.js +21 -2
- package/dist/services/runtime-setup.d.ts +3 -0
- package/dist/services/runtime-setup.js +11 -2
- package/dist/studio-dist/assets/charts-Dh48HebV.js +68 -0
- package/dist/studio-dist/assets/graph-DWteCadQ.js +7 -0
- package/dist/studio-dist/assets/{icons-zP8LLgPh.js → icons-N5J4OhGx.js} +66 -51
- package/dist/studio-dist/assets/index-D6JA5F-X.js +42 -0
- package/dist/studio-dist/assets/index-mdQkg9ul.css +1 -0
- package/dist/studio-dist/assets/react-vendor-l0sNRNKZ.js +1 -0
- package/dist/studio-dist/assets/tanstack-query-Day3Mt-4.js +17 -0
- package/dist/studio-dist/assets/tanstack-router-BB95iErN.js +25 -0
- package/dist/studio-dist/assets/{tanstack-table-DhwRvuH2.js → tanstack-table-Biem1hxK.js} +1 -1
- package/dist/studio-dist/favicon.svg +7 -4
- package/dist/studio-dist/index.html +19 -10
- package/package.json +14 -11
- package/dist/studio-dist/assets/charts-Dso0hPUR.js +0 -68
- package/dist/studio-dist/assets/graph-CsV2nWGn.js +0 -23
- package/dist/studio-dist/assets/index-CLyEkXMx.css +0 -1
- package/dist/studio-dist/assets/index-CNXFX_ar.js +0 -27
- package/dist/studio-dist/assets/react-vendor--Eh9ivFN.js +0 -17
- package/dist/studio-dist/assets/tanstack-query-CiM1U6F5.js +0 -1
- package/dist/studio-dist/assets/tanstack-router-Btjy0MKq.js +0 -25
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{R as bl,r as O,j as $}from"./tanstack-query-Day3Mt-4.js";import{i as El,c as Ti,a as Di,b as Nl,d as Sl,e as Cl,f as Et,g as tn,r as fa,h as kl,j as ni,k as Te,l as da,m as Ml,n as ri,o as Il,p as ha,q as pa,s as ga,t as ii,u as oi,v as Al,w as si,x as Pl,y as Rl,z as Ll,A as ql,B as Tl,C as Dl,D as ai,E as $t,F as zl,G as $l,H as ui,I as Fl,J as Ol,K as ma,L as va,M as ya,N as wa,O as xa,P as Ft,Q as _a,R as Vl,S as Bl,T as Hl,U as jl,V as Gl,W as Yl,X as Wl,Y as Xl,Z as ba,_ as Ea,$ as Ul,a0 as Kl,a1 as Zl,a2 as Ql,a3 as Jl,a4 as ef,a5 as tf,a6 as nf,a7 as rf,a8 as of,a9 as sf,aa as af,ab as uf,ac as cf,ad as lf,ae as ff}from"./charts-Dh48HebV.js";import{u as df}from"./tanstack-router-BB95iErN.js";function se(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,i;n<e.length;n++)(i=se(e[n]))!==""&&(t+=(t&&" ")+i);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var hf={value:()=>{}};function Ot(){for(var e=0,t=arguments.length,n={},i;e<t;++e){if(!(i=arguments[e]+"")||i in n||/[\s.]/.test(i))throw new Error("illegal type: "+i);n[i]=[]}return new Nt(n)}function Nt(e){this._=e}function pf(e,t){return e.trim().split(/^|\s+/).map(function(n){var i="",r=n.indexOf(".");if(r>=0&&(i=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}Nt.prototype=Ot.prototype={constructor:Nt,on:function(e,t){var n=this._,i=pf(e+"",n),r,o=-1,s=i.length;if(arguments.length<2){for(;++o<s;)if((r=(e=i[o]).type)&&(r=gf(n[r],e.name)))return r;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<s;)if(r=(e=i[o]).type)n[r]=zi(n[r],e.name,t);else if(t==null)for(r in n)n[r]=zi(n[r],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Nt(e)},call:function(e,t){if((r=arguments.length-2)>0)for(var n=new Array(r),i=0,r,o;i<r;++i)n[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],i=0,r=o.length;i<r;++i)o[i].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var i=this._[e],r=0,o=i.length;r<o;++r)i[r].value.apply(t,n)}};function gf(e,t){for(var n=0,i=e.length,r;n<i;++n)if((r=e[n]).name===t)return r.value}function zi(e,t,n){for(var i=0,r=e.length;i<r;++i)if(e[i].name===t){e[i]=hf,e=e.slice(0,i).concat(e.slice(i+1));break}return n!=null&&e.push({name:t,value:n}),e}var Gr="http://www.w3.org/1999/xhtml";const $i={svg:"http://www.w3.org/2000/svg",xhtml:Gr,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vt(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),$i.hasOwnProperty(t)?{space:$i[t],local:e}:e}function mf(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Gr&&t.documentElement.namespaceURI===Gr?t.createElement(e):t.createElementNS(n,e)}}function vf(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Na(e){var t=Vt(e);return(t.local?vf:mf)(t)}function yf(){}function ci(e){return e==null?yf:function(){return this.querySelector(e)}}function wf(e){typeof e!="function"&&(e=ci(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r<n;++r)for(var o=t[r],s=o.length,a=i[r]=new Array(s),u,l,c=0;c<s;++c)(u=o[c])&&(l=e.call(u,u.__data__,c,o))&&("__data__"in u&&(l.__data__=u.__data__),a[c]=l);return new le(i,this._parents)}function xf(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function _f(){return[]}function Sa(e){return e==null?_f:function(){return this.querySelectorAll(e)}}function bf(e){return function(){return xf(e.apply(this,arguments))}}function Ef(e){typeof e=="function"?e=bf(e):e=Sa(e);for(var t=this._groups,n=t.length,i=[],r=[],o=0;o<n;++o)for(var s=t[o],a=s.length,u,l=0;l<a;++l)(u=s[l])&&(i.push(e.call(u,u.__data__,l,s)),r.push(u));return new le(i,r)}function Ca(e){return function(){return this.matches(e)}}function ka(e){return function(t){return t.matches(e)}}var Nf=Array.prototype.find;function Sf(e){return function(){return Nf.call(this.children,e)}}function Cf(){return this.firstElementChild}function kf(e){return this.select(e==null?Cf:Sf(typeof e=="function"?e:ka(e)))}var Mf=Array.prototype.filter;function If(){return Array.from(this.children)}function Af(e){return function(){return Mf.call(this.children,e)}}function Pf(e){return this.selectAll(e==null?If:Af(typeof e=="function"?e:ka(e)))}function Rf(e){typeof e!="function"&&(e=Ca(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r<n;++r)for(var o=t[r],s=o.length,a=i[r]=[],u,l=0;l<s;++l)(u=o[l])&&e.call(u,u.__data__,l,o)&&a.push(u);return new le(i,this._parents)}function Ma(e){return new Array(e.length)}function Lf(){return new le(this._enter||this._groups.map(Ma),this._parents)}function Mt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Mt.prototype={constructor:Mt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function qf(e){return function(){return e}}function Tf(e,t,n,i,r,o){for(var s=0,a,u=t.length,l=o.length;s<l;++s)(a=t[s])?(a.__data__=o[s],i[s]=a):n[s]=new Mt(e,o[s]);for(;s<u;++s)(a=t[s])&&(r[s]=a)}function Df(e,t,n,i,r,o,s){var a,u,l=new Map,c=t.length,f=o.length,d=new Array(c),h;for(a=0;a<c;++a)(u=t[a])&&(d[a]=h=s.call(u,u.__data__,a,t)+"",l.has(h)?r[a]=u:l.set(h,u));for(a=0;a<f;++a)h=s.call(e,o[a],a,o)+"",(u=l.get(h))?(i[a]=u,u.__data__=o[a],l.delete(h)):n[a]=new Mt(e,o[a]);for(a=0;a<c;++a)(u=t[a])&&l.get(d[a])===u&&(r[a]=u)}function zf(e){return e.__data__}function $f(e,t){if(!arguments.length)return Array.from(this,zf);var n=t?Df:Tf,i=this._parents,r=this._groups;typeof e!="function"&&(e=qf(e));for(var o=r.length,s=new Array(o),a=new Array(o),u=new Array(o),l=0;l<o;++l){var c=i[l],f=r[l],d=f.length,h=Ff(e.call(c,c&&c.__data__,l,i)),g=h.length,w=a[l]=new Array(g),v=s[l]=new Array(g),m=u[l]=new Array(d);n(c,f,w,v,m,h,t);for(var x=0,p=0,y,_;x<g;++x)if(y=w[x]){for(x>=p&&(p=x+1);!(_=v[p])&&++p<g;);y._next=_||null}}return s=new le(s,i),s._enter=a,s._exit=u,s}function Ff(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Of(){return new le(this._exit||this._groups.map(Ma),this._parents)}function Vf(e,t,n){var i=this.enter(),r=this,o=this.exit();return typeof e=="function"?(i=e(i),i&&(i=i.selection())):i=i.append(e+""),t!=null&&(r=t(r),r&&(r=r.selection())),n==null?o.remove():n(o),i&&r?i.merge(r).order():r}function Bf(e){for(var t=e.selection?e.selection():e,n=this._groups,i=t._groups,r=n.length,o=i.length,s=Math.min(r,o),a=new Array(r),u=0;u<s;++u)for(var l=n[u],c=i[u],f=l.length,d=a[u]=new Array(f),h,g=0;g<f;++g)(h=l[g]||c[g])&&(d[g]=h);for(;u<r;++u)a[u]=n[u];return new le(a,this._parents)}function Hf(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var i=e[t],r=i.length-1,o=i[r],s;--r>=0;)(s=i[r])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function jf(e){e||(e=Gf);function t(f,d){return f&&d?e(f.__data__,d.__data__):!f-!d}for(var n=this._groups,i=n.length,r=new Array(i),o=0;o<i;++o){for(var s=n[o],a=s.length,u=r[o]=new Array(a),l,c=0;c<a;++c)(l=s[c])&&(u[c]=l);u.sort(t)}return new le(r,this._parents).order()}function Gf(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Yf(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Wf(){return Array.from(this)}function Xf(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],r=0,o=i.length;r<o;++r){var s=i[r];if(s)return s}return null}function Uf(){let e=0;for(const t of this)++e;return e}function Kf(){return!this.node()}function Zf(e){for(var t=this._groups,n=0,i=t.length;n<i;++n)for(var r=t[n],o=0,s=r.length,a;o<s;++o)(a=r[o])&&e.call(a,a.__data__,o,r);return this}function Qf(e){return function(){this.removeAttribute(e)}}function Jf(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ed(e,t){return function(){this.setAttribute(e,t)}}function td(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function nd(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function rd(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function id(e,t){var n=Vt(e);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((t==null?n.local?Jf:Qf:typeof t=="function"?n.local?rd:nd:n.local?td:ed)(n,t))}function Ia(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function od(e){return function(){this.style.removeProperty(e)}}function sd(e,t,n){return function(){this.style.setProperty(e,t,n)}}function ad(e,t,n){return function(){var i=t.apply(this,arguments);i==null?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function ud(e,t,n){return arguments.length>1?this.each((t==null?od:typeof t=="function"?ad:sd)(e,t,n??"")):Ve(this.node(),e)}function Ve(e,t){return e.style.getPropertyValue(t)||Ia(e).getComputedStyle(e,null).getPropertyValue(t)}function cd(e){return function(){delete this[e]}}function ld(e,t){return function(){this[e]=t}}function fd(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function dd(e,t){return arguments.length>1?this.each((t==null?cd:typeof t=="function"?fd:ld)(e,t)):this.node()[e]}function Aa(e){return e.trim().split(/^|\s+/)}function li(e){return e.classList||new Pa(e)}function Pa(e){this._node=e,this._names=Aa(e.getAttribute("class")||"")}Pa.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ra(e,t){for(var n=li(e),i=-1,r=t.length;++i<r;)n.add(t[i])}function La(e,t){for(var n=li(e),i=-1,r=t.length;++i<r;)n.remove(t[i])}function hd(e){return function(){Ra(this,e)}}function pd(e){return function(){La(this,e)}}function gd(e,t){return function(){(t.apply(this,arguments)?Ra:La)(this,e)}}function md(e,t){var n=Aa(e+"");if(arguments.length<2){for(var i=li(this.node()),r=-1,o=n.length;++r<o;)if(!i.contains(n[r]))return!1;return!0}return this.each((typeof t=="function"?gd:t?hd:pd)(n,t))}function vd(){this.textContent=""}function yd(e){return function(){this.textContent=e}}function wd(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function xd(e){return arguments.length?this.each(e==null?vd:(typeof e=="function"?wd:yd)(e)):this.node().textContent}function _d(){this.innerHTML=""}function bd(e){return function(){this.innerHTML=e}}function Ed(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Nd(e){return arguments.length?this.each(e==null?_d:(typeof e=="function"?Ed:bd)(e)):this.node().innerHTML}function Sd(){this.nextSibling&&this.parentNode.appendChild(this)}function Cd(){return this.each(Sd)}function kd(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Md(){return this.each(kd)}function Id(e){var t=typeof e=="function"?e:Na(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Ad(){return null}function Pd(e,t){var n=typeof e=="function"?e:Na(e),i=t==null?Ad:typeof t=="function"?t:ci(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})}function Rd(){var e=this.parentNode;e&&e.removeChild(this)}function Ld(){return this.each(Rd)}function qd(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Td(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Dd(e){return this.select(e?Td:qd)}function zd(e){return arguments.length?this.property("__data__",e):this.node().__data__}function $d(e){return function(t){e.call(this,t,this.__data__)}}function Fd(e){return e.trim().split(/^|\s+/).map(function(t){var n="",i=t.indexOf(".");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{type:t,name:n}})}function Od(e){return function(){var t=this.__on;if(t){for(var n=0,i=-1,r=t.length,o;n<r;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++i]=o;++i?t.length=i:delete this.__on}}}function Vd(e,t,n){return function(){var i=this.__on,r,o=$d(t);if(i){for(var s=0,a=i.length;s<a;++s)if((r=i[s]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),r.value=t;return}}this.addEventListener(e.type,o,n),r={type:e.type,name:e.name,value:t,listener:o,options:n},i?i.push(r):this.__on=[r]}}function Bd(e,t,n){var i=Fd(e+""),r,o=i.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var u=0,l=a.length,c;u<l;++u)for(r=0,c=a[u];r<o;++r)if((s=i[r]).type===c.type&&s.name===c.name)return c.value}return}for(a=t?Vd:Od,r=0;r<o;++r)this.each(a(i[r],t,n));return this}function qa(e,t,n){var i=Ia(e),r=i.CustomEvent;typeof r=="function"?r=new r(t,n):(r=i.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}function Hd(e,t){return function(){return qa(this,e,t)}}function jd(e,t){return function(){return qa(this,e,t.apply(this,arguments))}}function Gd(e,t){return this.each((typeof t=="function"?jd:Hd)(e,t))}function*Yd(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],r=0,o=i.length,s;r<o;++r)(s=i[r])&&(yield s)}var Ta=[null];function le(e,t){this._groups=e,this._parents=t}function lt(){return new le([[document.documentElement]],Ta)}function Wd(){return this}le.prototype=lt.prototype={constructor:le,select:wf,selectAll:Ef,selectChild:kf,selectChildren:Pf,filter:Rf,data:$f,enter:Lf,exit:Of,join:Vf,merge:Bf,selection:Wd,order:Hf,sort:jf,call:Yf,nodes:Wf,node:Xf,size:Uf,empty:Kf,each:Zf,attr:id,style:ud,property:dd,classed:md,text:xd,html:Nd,raise:Cd,lower:Md,append:Id,insert:Pd,remove:Ld,clone:Dd,datum:zd,on:Bd,dispatch:Gd,[Symbol.iterator]:Yd};function ce(e){return typeof e=="string"?new le([[document.querySelector(e)]],[document.documentElement]):new le([[e]],Ta)}function Xd(e){let t;for(;t=e.sourceEvent;)e=t;return e}function de(e,t){if(e=Xd(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}}return[e.pageX,e.pageY]}const Ud={passive:!1},rt={capture:!0,passive:!1};function nn(e){e.stopImmediatePropagation()}function Oe(e){e.preventDefault(),e.stopImmediatePropagation()}function Da(e){var t=e.document.documentElement,n=ce(e).on("dragstart.drag",Oe,rt);"onselectstart"in t?n.on("selectstart.drag",Oe,rt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function za(e,t){var n=e.document.documentElement,i=ce(e).on("dragstart.drag",null);t&&(i.on("click.drag",Oe,rt),setTimeout(function(){i.on("click.drag",null)},0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const vt=e=>()=>e;function Yr(e,{sourceEvent:t,subject:n,target:i,identifier:r,active:o,x:s,y:a,dx:u,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}Yr.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Kd(e){return!e.ctrlKey&&!e.button}function Zd(){return this.parentNode}function Qd(e,t){return t??{x:e.x,y:e.y}}function Jd(){return navigator.maxTouchPoints||"ontouchstart"in this}function $a(){var e=Kd,t=Zd,n=Qd,i=Jd,r={},o=Ot("start","drag","end"),s=0,a,u,l,c,f=0;function d(y){y.on("mousedown.drag",h).filter(i).on("touchstart.drag",v).on("touchmove.drag",m,Ud).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(y,_){if(!(c||!e.call(this,y,_))){var b=p(this,t.call(this,y,_),y,_,"mouse");b&&(ce(y.view).on("mousemove.drag",g,rt).on("mouseup.drag",w,rt),Da(y.view),nn(y),l=!1,a=y.clientX,u=y.clientY,b("start",y))}}function g(y){if(Oe(y),!l){var _=y.clientX-a,b=y.clientY-u;l=_*_+b*b>f}r.mouse("drag",y)}function w(y){ce(y.view).on("mousemove.drag mouseup.drag",null),za(y.view,l),Oe(y),r.mouse("end",y)}function v(y,_){if(e.call(this,y,_)){var b=y.changedTouches,N=t.call(this,y,_),S=b.length,C,q;for(C=0;C<S;++C)(q=p(this,N,y,_,b[C].identifier,b[C]))&&(nn(y),q("start",y,b[C]))}}function m(y){var _=y.changedTouches,b=_.length,N,S;for(N=0;N<b;++N)(S=r[_[N].identifier])&&(Oe(y),S("drag",y,_[N]))}function x(y){var _=y.changedTouches,b=_.length,N,S;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),N=0;N<b;++N)(S=r[_[N].identifier])&&(nn(y),S("end",y,_[N]))}function p(y,_,b,N,S,C){var q=o.copy(),k=de(C||b,_),M,z,E;if((E=n.call(y,new Yr("beforestart",{sourceEvent:b,target:d,identifier:S,active:s,x:k[0],y:k[1],dx:0,dy:0,dispatch:q}),N))!=null)return M=E.x-k[0]||0,z=E.y-k[1]||0,function P(A,D,L){var R=k,H;switch(A){case"start":r[S]=P,H=s++;break;case"end":delete r[S],--s;case"drag":k=de(L||D,_),H=s;break}q.call(A,y,new Yr(A,{sourceEvent:D,subject:E,target:d,identifier:S,active:H,x:k[0]+M,y:k[1]+z,dx:k[0]-R[0],dy:k[1]-R[1],dispatch:q}),N)}}return d.filter=function(y){return arguments.length?(e=typeof y=="function"?y:vt(!!y),d):e},d.container=function(y){return arguments.length?(t=typeof y=="function"?y:vt(y),d):t},d.subject=function(y){return arguments.length?(n=typeof y=="function"?y:vt(y),d):n},d.touchable=function(y){return arguments.length?(i=typeof y=="function"?y:vt(!!y),d):i},d.on=function(){var y=o.on.apply(o,arguments);return y===o?d:y},d.clickDistance=function(y){return arguments.length?(f=(y=+y)*y,d):Math.sqrt(f)},d}var Be=0,et=0,Qe=0,Fa=1e3,It,tt,At=0,Re=0,Bt=0,it=typeof performance=="object"&&performance.now?performance:Date,Oa=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function fi(){return Re||(Oa(eh),Re=it.now()+Bt)}function eh(){Re=0}function Pt(){this._call=this._time=this._next=null}Pt.prototype=Va.prototype={constructor:Pt,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?fi():+n)+(t==null?0:+t),!this._next&&tt!==this&&(tt?tt._next=this:It=this,tt=this),this._call=e,this._time=n,Wr()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wr())}};function Va(e,t,n){var i=new Pt;return i.restart(e,t,n),i}function th(){fi(),++Be;for(var e=It,t;e;)(t=Re-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Be}function Fi(){Re=(At=it.now())+Bt,Be=et=0;try{th()}finally{Be=0,rh(),Re=0}}function nh(){var e=it.now(),t=e-At;t>Fa&&(Bt-=t,At=e)}function rh(){for(var e,t=It,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:It=n);tt=e,Wr(i)}function Wr(e){if(!Be){et&&(et=clearTimeout(et));var t=e-Re;t>24?(e<1/0&&(et=setTimeout(Fi,e-it.now()-Bt)),Qe&&(Qe=clearInterval(Qe))):(Qe||(At=it.now(),Qe=setInterval(nh,Fa)),Be=1,Oa(Fi))}}function Oi(e,t,n){var i=new Pt;return t=t==null?0:+t,i.restart(r=>{i.stop(),e(r+t)},t,n),i}var ih=Ot("start","end","cancel","interrupt"),oh=[],Ba=0,Vi=1,Xr=2,St=3,Bi=4,Ur=5,Ct=6;function Ht(e,t,n,i,r,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;sh(e,n,{name:t,index:i,group:r,on:ih,tween:oh,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Ba})}function di(e,t){var n=me(e,t);if(n.state>Ba)throw new Error("too late; already scheduled");return n}function ye(e,t){var n=me(e,t);if(n.state>St)throw new Error("too late; already running");return n}function me(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function sh(e,t,n){var i=e.__transition,r;i[t]=n,n.timer=Va(o,0,n.time);function o(l){n.state=Vi,n.timer.restart(s,n.delay,n.time),n.delay<=l&&s(l-n.delay)}function s(l){var c,f,d,h;if(n.state!==Vi)return u();for(c in i)if(h=i[c],h.name===n.name){if(h.state===St)return Oi(s);h.state===Bi?(h.state=Ct,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete i[c]):+c<t&&(h.state=Ct,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete i[c])}if(Oi(function(){n.state===St&&(n.state=Bi,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=Xr,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Xr){for(n.state=St,r=new Array(d=n.tween.length),c=0,f=-1;c<d;++c)(h=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(r[++f]=h);r.length=f+1}}function a(l){for(var c=l<n.duration?n.ease.call(null,l/n.duration):(n.timer.restart(u),n.state=Ur,1),f=-1,d=r.length;++f<d;)r[f].call(e,c);n.state===Ur&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=Ct,n.timer.stop(),delete i[t];for(var l in i)return;delete e.__transition}}function kt(e,t){var n=e.__transition,i,r,o=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((i=n[s]).name!==t){o=!1;continue}r=i.state>Xr&&i.state<Ur,i.state=Ct,i.timer.stop(),i.on.call(r?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete n[s]}o&&delete e.__transition}}function ah(e){return this.each(function(){kt(this,e)})}function uh(e,t){var n,i;return function(){var r=ye(this,e),o=r.tween;if(o!==n){i=n=o;for(var s=0,a=i.length;s<a;++s)if(i[s].name===t){i=i.slice(),i.splice(s,1);break}}r.tween=i}}function ch(e,t,n){var i,r;if(typeof n!="function")throw new Error;return function(){var o=ye(this,e),s=o.tween;if(s!==i){r=(i=s).slice();for(var a={name:t,value:n},u=0,l=r.length;u<l;++u)if(r[u].name===t){r[u]=a;break}u===l&&r.push(a)}o.tween=r}}function lh(e,t){var n=this._id;if(e+="",arguments.length<2){for(var i=me(this.node(),n).tween,r=0,o=i.length,s;r<o;++r)if((s=i[r]).name===e)return s.value;return null}return this.each((t==null?uh:ch)(n,e,t))}function hi(e,t,n){var i=e._id;return e.each(function(){var r=ye(this,i);(r.value||(r.value={}))[t]=n.apply(this,arguments)}),function(r){return me(r,i).value[t]}}function Ha(e,t){var n;return(typeof t=="number"?El:t instanceof Ti?Di:(n=Ti(t))?(t=n,Di):Nl)(e,t)}function fh(e){return function(){this.removeAttribute(e)}}function dh(e){return function(){this.removeAttributeNS(e.space,e.local)}}function hh(e,t,n){var i,r=n+"",o;return function(){var s=this.getAttribute(e);return s===r?null:s===i?o:o=t(i=s,n)}}function ph(e,t,n){var i,r=n+"",o;return function(){var s=this.getAttributeNS(e.space,e.local);return s===r?null:s===i?o:o=t(i=s,n)}}function gh(e,t,n){var i,r,o;return function(){var s,a=n(this),u;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),u=a+"",s===u?null:s===i&&u===r?o:(r=u,o=t(i=s,a)))}}function mh(e,t,n){var i,r,o;return function(){var s,a=n(this),u;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),u=a+"",s===u?null:s===i&&u===r?o:(r=u,o=t(i=s,a)))}}function vh(e,t){var n=Vt(e),i=n==="transform"?Sl:Ha;return this.attrTween(e,typeof t=="function"?(n.local?mh:gh)(n,i,hi(this,"attr."+e,t)):t==null?(n.local?dh:fh)(n):(n.local?ph:hh)(n,i,t))}function yh(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function wh(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function xh(e,t){var n,i;function r(){var o=t.apply(this,arguments);return o!==i&&(n=(i=o)&&wh(e,o)),n}return r._value=t,r}function _h(e,t){var n,i;function r(){var o=t.apply(this,arguments);return o!==i&&(n=(i=o)&&yh(e,o)),n}return r._value=t,r}function bh(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var i=Vt(e);return this.tween(n,(i.local?xh:_h)(i,t))}function Eh(e,t){return function(){di(this,e).delay=+t.apply(this,arguments)}}function Nh(e,t){return t=+t,function(){di(this,e).delay=t}}function Sh(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Eh:Nh)(t,e)):me(this.node(),t).delay}function Ch(e,t){return function(){ye(this,e).duration=+t.apply(this,arguments)}}function kh(e,t){return t=+t,function(){ye(this,e).duration=t}}function Mh(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Ch:kh)(t,e)):me(this.node(),t).duration}function Ih(e,t){if(typeof t!="function")throw new Error;return function(){ye(this,e).ease=t}}function Ah(e){var t=this._id;return arguments.length?this.each(Ih(t,e)):me(this.node(),t).ease}function Ph(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;ye(this,e).ease=n}}function Rh(e){if(typeof e!="function")throw new Error;return this.each(Ph(this._id,e))}function Lh(e){typeof e!="function"&&(e=Ca(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r<n;++r)for(var o=t[r],s=o.length,a=i[r]=[],u,l=0;l<s;++l)(u=o[l])&&e.call(u,u.__data__,l,o)&&a.push(u);return new be(i,this._parents,this._name,this._id)}function qh(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,i=t.length,r=n.length,o=Math.min(i,r),s=new Array(i),a=0;a<o;++a)for(var u=t[a],l=n[a],c=u.length,f=s[a]=new Array(c),d,h=0;h<c;++h)(d=u[h]||l[h])&&(f[h]=d);for(;a<i;++a)s[a]=t[a];return new be(s,this._parents,this._name,this._id)}function Th(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Dh(e,t,n){var i,r,o=Th(t)?di:ye;return function(){var s=o(this,e),a=s.on;a!==i&&(r=(i=a).copy()).on(t,n),s.on=r}}function zh(e,t){var n=this._id;return arguments.length<2?me(this.node(),n).on.on(e):this.each(Dh(n,e,t))}function $h(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Fh(){return this.on("end.remove",$h(this._id))}function Oh(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ci(e));for(var i=this._groups,r=i.length,o=new Array(r),s=0;s<r;++s)for(var a=i[s],u=a.length,l=o[s]=new Array(u),c,f,d=0;d<u;++d)(c=a[d])&&(f=e.call(c,c.__data__,d,a))&&("__data__"in c&&(f.__data__=c.__data__),l[d]=f,Ht(l[d],t,n,d,l,me(c,n)));return new be(o,this._parents,t,n)}function Vh(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Sa(e));for(var i=this._groups,r=i.length,o=[],s=[],a=0;a<r;++a)for(var u=i[a],l=u.length,c,f=0;f<l;++f)if(c=u[f]){for(var d=e.call(c,c.__data__,f,u),h,g=me(c,n),w=0,v=d.length;w<v;++w)(h=d[w])&&Ht(h,t,n,w,d,g);o.push(d),s.push(c)}return new be(o,s,t,n)}var Bh=lt.prototype.constructor;function Hh(){return new Bh(this._groups,this._parents)}function jh(e,t){var n,i,r;return function(){var o=Ve(this,e),s=(this.style.removeProperty(e),Ve(this,e));return o===s?null:o===n&&s===i?r:r=t(n=o,i=s)}}function ja(e){return function(){this.style.removeProperty(e)}}function Gh(e,t,n){var i,r=n+"",o;return function(){var s=Ve(this,e);return s===r?null:s===i?o:o=t(i=s,n)}}function Yh(e,t,n){var i,r,o;return function(){var s=Ve(this,e),a=n(this),u=a+"";return a==null&&(u=a=(this.style.removeProperty(e),Ve(this,e))),s===u?null:s===i&&u===r?o:(r=u,o=t(i=s,a))}}function Wh(e,t){var n,i,r,o="style."+t,s="end."+o,a;return function(){var u=ye(this,e),l=u.on,c=u.value[o]==null?a||(a=ja(t)):void 0;(l!==n||r!==c)&&(i=(n=l).copy()).on(s,r=c),u.on=i}}function Xh(e,t,n){var i=(e+="")=="transform"?Cl:Ha;return t==null?this.styleTween(e,jh(e,i)).on("end.style."+e,ja(e)):typeof t=="function"?this.styleTween(e,Yh(e,i,hi(this,"style."+e,t))).each(Wh(this._id,e)):this.styleTween(e,Gh(e,i,t),n).on("end.style."+e,null)}function Uh(e,t,n){return function(i){this.style.setProperty(e,t.call(this,i),n)}}function Kh(e,t,n){var i,r;function o(){var s=t.apply(this,arguments);return s!==r&&(i=(r=s)&&Uh(e,s,n)),i}return o._value=t,o}function Zh(e,t,n){var i="style."+(e+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(t==null)return this.tween(i,null);if(typeof t!="function")throw new Error;return this.tween(i,Kh(e,t,n??""))}function Qh(e){return function(){this.textContent=e}}function Jh(e){return function(){var t=e(this);this.textContent=t??""}}function ep(e){return this.tween("text",typeof e=="function"?Jh(hi(this,"text",e)):Qh(e==null?"":e+""))}function tp(e){return function(t){this.textContent=e.call(this,t)}}function np(e){var t,n;function i(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&tp(r)),t}return i._value=e,i}function rp(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,np(e))}function ip(){for(var e=this._name,t=this._id,n=Ga(),i=this._groups,r=i.length,o=0;o<r;++o)for(var s=i[o],a=s.length,u,l=0;l<a;++l)if(u=s[l]){var c=me(u,t);Ht(u,e,n,l,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new be(i,this._parents,e,n)}function op(){var e,t,n=this,i=n._id,r=n.size();return new Promise(function(o,s){var a={value:s},u={value:function(){--r===0&&o()}};n.each(function(){var l=ye(this,i),c=l.on;c!==e&&(t=(e=c).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(u)),l.on=t}),r===0&&o()})}var sp=0;function be(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function Ga(){return++sp}var xe=lt.prototype;be.prototype={constructor:be,select:Oh,selectAll:Vh,selectChild:xe.selectChild,selectChildren:xe.selectChildren,filter:Lh,merge:qh,selection:Hh,transition:ip,call:xe.call,nodes:xe.nodes,node:xe.node,size:xe.size,empty:xe.empty,each:xe.each,on:zh,attr:vh,attrTween:bh,style:Xh,styleTween:Zh,text:ep,textTween:rp,remove:Fh,tween:lh,delay:Sh,duration:Mh,ease:Ah,easeVarying:Rh,end:op,[Symbol.iterator]:xe[Symbol.iterator]};function ap(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var up={time:null,delay:0,duration:250,ease:ap};function cp(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function lp(e){var t,n;e instanceof be?(t=e._id,e=e._name):(t=Ga(),(n=up).time=fi(),e=e==null?null:e+"");for(var i=this._groups,r=i.length,o=0;o<r;++o)for(var s=i[o],a=s.length,u,l=0;l<a;++l)(u=s[l])&&Ht(u,e,t,l,s,n||cp(u,t));return new be(i,this._parents,e,t)}lt.prototype.interrupt=ah;lt.prototype.transition=lp;const yt=e=>()=>e;function fp(e,{sourceEvent:t,target:n,transform:i,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:r}})}function _e(e,t,n){this.k=e,this.x=t,this.y=n}_e.prototype={constructor:_e,scale:function(e){return e===1?this:new _e(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new _e(this.k,this.x+this.k*e,this.y+this.k*t)},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 jt=new _e(1,0,0);Ya.prototype=_e.prototype;function Ya(e){for(;!e.__zoom;)if(!(e=e.parentNode))return jt;return e.__zoom}function rn(e){e.stopImmediatePropagation()}function Je(e){e.preventDefault(),e.stopImmediatePropagation()}function dp(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function hp(){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 Hi(){return this.__zoom||jt}function pp(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function gp(){return navigator.maxTouchPoints||"ontouchstart"in this}function mp(e,t,n){var i=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Wa(){var e=dp,t=hp,n=mp,i=pp,r=gp,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,u=Et,l=Ot("start","zoom","end"),c,f,d,h=500,g=150,w=0,v=10;function m(E){E.property("__zoom",Hi).on("wheel.zoom",S,{passive:!1}).on("mousedown.zoom",C).on("dblclick.zoom",q).filter(r).on("touchstart.zoom",k).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(E,P,A,D){var L=E.selection?E.selection():E;L.property("__zoom",Hi),E!==L?_(E,P,A,D):L.interrupt().each(function(){b(this,arguments).event(D).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},m.scaleBy=function(E,P,A,D){m.scaleTo(E,function(){var L=this.__zoom.k,R=typeof P=="function"?P.apply(this,arguments):P;return L*R},A,D)},m.scaleTo=function(E,P,A,D){m.transform(E,function(){var L=t.apply(this,arguments),R=this.__zoom,H=A==null?y(L):typeof A=="function"?A.apply(this,arguments):A,G=R.invert(H),j=typeof P=="function"?P.apply(this,arguments):P;return n(p(x(R,j),H,G),L,s)},A,D)},m.translateBy=function(E,P,A,D){m.transform(E,function(){return n(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof A=="function"?A.apply(this,arguments):A),t.apply(this,arguments),s)},null,D)},m.translateTo=function(E,P,A,D,L){m.transform(E,function(){var R=t.apply(this,arguments),H=this.__zoom,G=D==null?y(R):typeof D=="function"?D.apply(this,arguments):D;return n(jt.translate(G[0],G[1]).scale(H.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof A=="function"?-A.apply(this,arguments):-A),R,s)},D,L)};function x(E,P){return P=Math.max(o[0],Math.min(o[1],P)),P===E.k?E:new _e(P,E.x,E.y)}function p(E,P,A){var D=P[0]-A[0]*E.k,L=P[1]-A[1]*E.k;return D===E.x&&L===E.y?E:new _e(E.k,D,L)}function y(E){return[(+E[0][0]+ +E[1][0])/2,(+E[0][1]+ +E[1][1])/2]}function _(E,P,A,D){E.on("start.zoom",function(){b(this,arguments).event(D).start()}).on("interrupt.zoom end.zoom",function(){b(this,arguments).event(D).end()}).tween("zoom",function(){var L=this,R=arguments,H=b(L,R).event(D),G=t.apply(L,R),j=A==null?y(G):typeof A=="function"?A.apply(L,R):A,W=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),I=L.__zoom,T=typeof P=="function"?P.apply(L,R):P,F=u(I.invert(j).concat(W/I.k),T.invert(j).concat(W/T.k));return function(V){if(V===1)V=T;else{var B=F(V),Y=W/B[2];V=new _e(Y,j[0]-B[0]*Y,j[1]-B[1]*Y)}H.zoom(null,V)}})}function b(E,P,A){return!A&&E.__zooming||new N(E,P)}function N(E,P){this.that=E,this.args=P,this.active=0,this.sourceEvent=null,this.extent=t.apply(E,P),this.taps=0}N.prototype={event:function(E){return E&&(this.sourceEvent=E),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(E,P){return this.mouse&&E!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&E!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&E!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(E){var P=ce(this.that).datum();l.call(E,this.that,new fp(E,{sourceEvent:this.sourceEvent,target:m,transform:this.that.__zoom,dispatch:l}),P)}};function S(E,...P){if(!e.apply(this,arguments))return;var A=b(this,P).event(E),D=this.__zoom,L=Math.max(o[0],Math.min(o[1],D.k*Math.pow(2,i.apply(this,arguments)))),R=de(E);if(A.wheel)(A.mouse[0][0]!==R[0]||A.mouse[0][1]!==R[1])&&(A.mouse[1]=D.invert(A.mouse[0]=R)),clearTimeout(A.wheel);else{if(D.k===L)return;A.mouse=[R,D.invert(R)],kt(this),A.start()}Je(E),A.wheel=setTimeout(H,g),A.zoom("mouse",n(p(x(D,L),A.mouse[0],A.mouse[1]),A.extent,s));function H(){A.wheel=null,A.end()}}function C(E,...P){if(d||!e.apply(this,arguments))return;var A=E.currentTarget,D=b(this,P,!0).event(E),L=ce(E.view).on("mousemove.zoom",j,!0).on("mouseup.zoom",W,!0),R=de(E,A),H=E.clientX,G=E.clientY;Da(E.view),rn(E),D.mouse=[R,this.__zoom.invert(R)],kt(this),D.start();function j(I){if(Je(I),!D.moved){var T=I.clientX-H,F=I.clientY-G;D.moved=T*T+F*F>w}D.event(I).zoom("mouse",n(p(D.that.__zoom,D.mouse[0]=de(I,A),D.mouse[1]),D.extent,s))}function W(I){L.on("mousemove.zoom mouseup.zoom",null),za(I.view,D.moved),Je(I),D.event(I).end()}}function q(E,...P){if(e.apply(this,arguments)){var A=this.__zoom,D=de(E.changedTouches?E.changedTouches[0]:E,this),L=A.invert(D),R=A.k*(E.shiftKey?.5:2),H=n(p(x(A,R),D,L),t.apply(this,P),s);Je(E),a>0?ce(this).transition().duration(a).call(_,H,D,E):ce(this).call(m.transform,H,D,E)}}function k(E,...P){if(e.apply(this,arguments)){var A=E.touches,D=A.length,L=b(this,P,E.changedTouches.length===D).event(E),R,H,G,j;for(rn(E),H=0;H<D;++H)G=A[H],j=de(G,this),j=[j,this.__zoom.invert(j),G.identifier],L.touch0?!L.touch1&&L.touch0[2]!==j[2]&&(L.touch1=j,L.taps=0):(L.touch0=j,R=!0,L.taps=1+!!c);c&&(c=clearTimeout(c)),R&&(L.taps<2&&(f=j[0],c=setTimeout(function(){c=null},h)),kt(this),L.start())}}function M(E,...P){if(this.__zooming){var A=b(this,P).event(E),D=E.changedTouches,L=D.length,R,H,G,j;for(Je(E),R=0;R<L;++R)H=D[R],G=de(H,this),A.touch0&&A.touch0[2]===H.identifier?A.touch0[0]=G:A.touch1&&A.touch1[2]===H.identifier&&(A.touch1[0]=G);if(H=A.that.__zoom,A.touch1){var W=A.touch0[0],I=A.touch0[1],T=A.touch1[0],F=A.touch1[1],V=(V=T[0]-W[0])*V+(V=T[1]-W[1])*V,B=(B=F[0]-I[0])*B+(B=F[1]-I[1])*B;H=x(H,Math.sqrt(V/B)),G=[(W[0]+T[0])/2,(W[1]+T[1])/2],j=[(I[0]+F[0])/2,(I[1]+F[1])/2]}else if(A.touch0)G=A.touch0[0],j=A.touch0[1];else return;A.zoom("touch",n(p(H,G,j),A.extent,s))}}function z(E,...P){if(this.__zooming){var A=b(this,P).event(E),D=E.changedTouches,L=D.length,R,H;for(rn(E),d&&clearTimeout(d),d=setTimeout(function(){d=null},h),R=0;R<L;++R)H=D[R],A.touch0&&A.touch0[2]===H.identifier?delete A.touch0:A.touch1&&A.touch1[2]===H.identifier&&delete A.touch1;if(A.touch1&&!A.touch0&&(A.touch0=A.touch1,delete A.touch1),A.touch0)A.touch0[1]=this.__zoom.invert(A.touch0[0]);else if(A.end(),A.taps===2&&(H=de(H,this),Math.hypot(f[0]-H[0],f[1]-H[1])<v)){var G=ce(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return m.wheelDelta=function(E){return arguments.length?(i=typeof E=="function"?E:yt(+E),m):i},m.filter=function(E){return arguments.length?(e=typeof E=="function"?E:yt(!!E),m):e},m.touchable=function(E){return arguments.length?(r=typeof E=="function"?E:yt(!!E),m):r},m.extent=function(E){return arguments.length?(t=typeof E=="function"?E:yt([[+E[0][0],+E[0][1]],[+E[1][0],+E[1][1]]]),m):t},m.scaleExtent=function(E){return arguments.length?(o[0]=+E[0],o[1]=+E[1],m):[o[0],o[1]]},m.translateExtent=function(E){return arguments.length?(s[0][0]=+E[0][0],s[1][0]=+E[1][0],s[0][1]=+E[0][1],s[1][1]=+E[1][1],m):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},m.constrain=function(E){return arguments.length?(n=E,m):n},m.duration=function(E){return arguments.length?(a=+E,m):a},m.interpolate=function(E){return arguments.length?(u=E,m):u},m.on=function(){var E=l.on.apply(l,arguments);return E===l?m:E},m.clickDistance=function(E){return arguments.length?(w=(E=+E)*E,m):Math.sqrt(w)},m.tapDistance=function(E){return arguments.length?(v=+E,m):v},m}const ve={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,{id:t,sourceHandle:n,targetHandle:i})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:i}", edge id: ${t}.`,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.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},ot=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Xa=["Enter"," ","Escape"],Ua={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var He;(function(e){e.Strict="strict",e.Loose="loose"})(He||(He={}));var Pe;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Pe||(Pe={}));var st;(function(e){e.Partial="partial",e.Full="full"})(st||(st={}));const Ka={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ke;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ke||(ke={}));var Rt;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Rt||(Rt={}));var Z;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Z||(Z={}));const ji={[Z.Left]:Z.Right,[Z.Right]:Z.Left,[Z.Top]:Z.Bottom,[Z.Bottom]:Z.Top};function Za(e){return e===null?null:e?"valid":"invalid"}const Qa=e=>"id"in e&&"source"in e&&"target"in e,vp=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),pi=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),ft=(e,t=[0,0])=>{const{width:n,height:i}=Ee(e),r=e.origin??t,o=n*r[0],s=i*r[1];return{x:e.position.x-o,y:e.position.y-s}},yp=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((i,r)=>{const o=typeof r=="string";let s=!t.nodeLookup&&!o?r:void 0;t.nodeLookup&&(s=o?t.nodeLookup.get(r):pi(r)?r:t.nodeLookup.get(r.id));const a=s?Lt(s,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Gt(i,a)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Yt(n)},dt=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=Gt(n,Lt(r)),i=!0)}),i?Yt(n):{x:0,y:0,width:0,height:0}},gi=(e,t,[n,i,r]=[0,0,1],o=!1,s=!1)=>{const a={...pt(t,[n,i,r]),width:t.width/r,height:t.height/r},u=[];for(const l of e.values()){const{measured:c,selectable:f=!0,hidden:d=!1}=l;if(s&&!f||d)continue;const h=c.width??l.width??l.initialWidth??null,g=c.height??l.height??l.initialHeight??null,w=at(a,Ge(l)),v=(h??0)*(g??0),m=o&&w>0;(!l.internals.handleBounds||m||w>=v||l.dragging)&&u.push(l)}return u},wp=(e,t)=>{const n=new Set;return e.forEach(i=>{n.add(i.id)}),t.filter(i=>n.has(i.source)||n.has(i.target))};function xp(e,t){const n=new Map,i=t!=null&&t.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!r.hidden)&&(!i||i.has(r.id))&&n.set(r.id,r)}),n}async function _p({nodes:e,width:t,height:n,panZoom:i,minZoom:r,maxZoom:o},s){if(e.size===0)return Promise.resolve(!0);const a=xp(e,s),u=dt(a),l=mi(u,t,n,(s==null?void 0:s.minZoom)??r,(s==null?void 0:s.maxZoom)??o,(s==null?void 0:s.padding)??.1);return await i.setViewport(l,{duration:s==null?void 0:s.duration,ease:s==null?void 0:s.ease,interpolate:s==null?void 0:s.interpolate}),Promise.resolve(!0)}function Ja({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:i=[0,0],nodeExtent:r,onError:o}){const s=n.get(e),a=s.parentId?n.get(s.parentId):void 0,{x:u,y:l}=a?a.internals.positionAbsolute:{x:0,y:0},c=s.origin??i;let f=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!a)o==null||o("005",ve.error005());else{const h=a.measured.width,g=a.measured.height;h&&g&&(f=[[u,l],[u+h,l+g]])}else a&&Ye(s.extent)&&(f=[[s.extent[0][0]+u,s.extent[0][1]+l],[s.extent[1][0]+u,s.extent[1][1]+l]]);const d=Ye(f)?Le(t,f,s.measured):t;return(s.measured.width===void 0||s.measured.height===void 0)&&(o==null||o("015",ve.error015())),{position:{x:d.x-u+(s.measured.width??0)*c[0],y:d.y-l+(s.measured.height??0)*c[1]},positionAbsolute:d}}async function bp({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:i,onBeforeDelete:r}){const o=new Set(e.map(d=>d.id)),s=[];for(const d of n){if(d.deletable===!1)continue;const h=o.has(d.id),g=!h&&d.parentId&&s.find(w=>w.id===d.parentId);(h||g)&&s.push(d)}const a=new Set(t.map(d=>d.id)),u=i.filter(d=>d.deletable!==!1),c=wp(s,u);for(const d of u)a.has(d.id)&&!c.find(g=>g.id===d.id)&&c.push(d);if(!r)return{edges:c,nodes:s};const f=await r({nodes:s,edges:c});return typeof f=="boolean"?f?{edges:c,nodes:s}:{edges:[],nodes:[]}:f}const je=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Le=(e={x:0,y:0},t,n)=>({x:je(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:je(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function eu(e,t,n){const{width:i,height:r}=Ee(n),{x:o,y:s}=n.internals.positionAbsolute;return Le(e,[[o,s],[o+i,s+r]],t)}const Gi=(e,t,n)=>e<t?je(Math.abs(e-t),1,t)/t:e>n?-je(Math.abs(e-n),1,t)/t:0,tu=(e,t,n=15,i=40)=>{const r=Gi(e.x,i,t.width-i)*n,o=Gi(e.y,i,t.height-i)*n;return[r,o]},Gt=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Kr=({x:e,y:t,width:n,height:i})=>({x:e,y:t,x2:e+n,y2:t+i}),Yt=({x:e,y:t,x2:n,y2:i})=>({x:e,y:t,width:n-e,height:i-t}),Ge=(e,t=[0,0])=>{var r,o;const{x:n,y:i}=pi(e)?e.internals.positionAbsolute:ft(e,t);return{x:n,y:i,width:((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0,height:((o=e.measured)==null?void 0:o.height)??e.height??e.initialHeight??0}},Lt=(e,t=[0,0])=>{var r,o;const{x:n,y:i}=pi(e)?e.internals.positionAbsolute:ft(e,t);return{x:n,y:i,x2:n+(((r=e.measured)==null?void 0:r.width)??e.width??e.initialWidth??0),y2:i+(((o=e.measured)==null?void 0:o.height)??e.height??e.initialHeight??0)}},nu=(e,t)=>Yt(Gt(Kr(e),Kr(t))),at=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),i=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*i)},Yi=e=>he(e.width)&&he(e.height)&&he(e.x)&&he(e.y),he=e=>!isNaN(e)&&isFinite(e),Ep=(e,t)=>{},ht=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),pt=({x:e,y:t},[n,i,r],o=!1,s=[1,1])=>{const a={x:(e-n)/r,y:(t-i)/r};return o?ht(a,s):a},qt=({x:e,y:t},[n,i,r])=>({x:e*r+n,y:t*r+i});function ze(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Np(e,t,n){if(typeof e=="string"||typeof e=="number"){const i=ze(e,n),r=ze(e,t);return{top:i,right:r,bottom:i,left:r,x:r*2,y:i*2}}if(typeof e=="object"){const i=ze(e.top??e.y??0,n),r=ze(e.bottom??e.y??0,n),o=ze(e.left??e.x??0,t),s=ze(e.right??e.x??0,t);return{top:i,right:s,bottom:r,left:o,x:o+s,y:i+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Sp(e,t,n,i,r,o){const{x:s,y:a}=qt(e,[t,n,i]),{x:u,y:l}=qt({x:e.x+e.width,y:e.y+e.height},[t,n,i]),c=r-u,f=o-l;return{left:Math.floor(s),top:Math.floor(a),right:Math.floor(c),bottom:Math.floor(f)}}const mi=(e,t,n,i,r,o)=>{const s=Np(o,t,n),a=(t-s.x)/e.width,u=(n-s.y)/e.height,l=Math.min(a,u),c=je(l,i,r),f=e.x+e.width/2,d=e.y+e.height/2,h=t/2-f*c,g=n/2-d*c,w=Sp(e,h,g,c,t,n),v={left:Math.min(w.left-s.left,0),top:Math.min(w.top-s.top,0),right:Math.min(w.right-s.right,0),bottom:Math.min(w.bottom-s.bottom,0)};return{x:h-v.left+v.right,y:g-v.top+v.bottom,zoom:c}},ut=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function Ye(e){return e!=null&&e!=="parent"}function Ee(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function ru(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function iu(e,t={width:0,height:0},n,i,r){const o={...e},s=i.get(n);if(s){const a=s.origin||r;o.x+=s.internals.positionAbsolute.x-(t.width??0)*a[0],o.y+=s.internals.positionAbsolute.y-(t.height??0)*a[1]}return o}function Wi(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Cp(){let e,t;return{promise:new Promise((i,r)=>{e=i,t=r}),resolve:e,reject:t}}function kp(e){return{...Ua,...e||{}}}function nt(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:i,containerBounds:r}){const{x:o,y:s}=pe(e),a=pt({x:o-((r==null?void 0:r.left)??0),y:s-((r==null?void 0:r.top)??0)},i),{x:u,y:l}=n?ht(a,t):a;return{xSnapped:u,ySnapped:l,...a}}const vi=e=>({width:e.offsetWidth,height:e.offsetHeight}),ou=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},Mp=["INPUT","SELECT","TEXTAREA"];function su(e){var i,r;const t=((r=(i=e.composedPath)==null?void 0:i.call(e))==null?void 0:r[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:Mp.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const au=e=>"clientX"in e,pe=(e,t)=>{var o,s;const n=au(e),i=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,r=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:i-((t==null?void 0:t.left)??0),y:r-((t==null?void 0:t.top)??0)}},Xi=(e,t,n,i,r)=>{const o=t.querySelectorAll(`.${e}`);return!o||!o.length?null:Array.from(o).map(s=>{const a=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:r,position:s.getAttribute("data-handlepos"),x:(a.left-n.left)/i,y:(a.top-n.top)/i,...vi(s)}})};function uu({sourceX:e,sourceY:t,targetX:n,targetY:i,sourceControlX:r,sourceControlY:o,targetControlX:s,targetControlY:a}){const u=e*.125+r*.375+s*.375+n*.125,l=t*.125+o*.375+a*.375+i*.125,c=Math.abs(u-e),f=Math.abs(l-t);return[u,l,c,f]}function wt(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Ui({pos:e,x1:t,y1:n,x2:i,y2:r,c:o}){switch(e){case Z.Left:return[t-wt(t-i,o),n];case Z.Right:return[t+wt(i-t,o),n];case Z.Top:return[t,n-wt(n-r,o)];case Z.Bottom:return[t,n+wt(r-n,o)]}}function cu({sourceX:e,sourceY:t,sourcePosition:n=Z.Bottom,targetX:i,targetY:r,targetPosition:o=Z.Top,curvature:s=.25}){const[a,u]=Ui({pos:n,x1:e,y1:t,x2:i,y2:r,c:s}),[l,c]=Ui({pos:o,x1:i,y1:r,x2:e,y2:t,c:s}),[f,d,h,g]=uu({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:a,sourceControlY:u,targetControlX:l,targetControlY:c});return[`M${e},${t} C${a},${u} ${l},${c} ${i},${r}`,f,d,h,g]}function lu({sourceX:e,sourceY:t,targetX:n,targetY:i}){const r=Math.abs(n-e)/2,o=n<e?n+r:n-r,s=Math.abs(i-t)/2,a=i<t?i+s:i-s;return[o,a,r,s]}function Ip({sourceNode:e,targetNode:t,selected:n=!1,zIndex:i=0,elevateOnSelect:r=!1,zIndexMode:o="basic"}){if(o==="manual")return i;const s=r&&n?i+1e3:i,a=Math.max(e.parentId||r&&e.selected?e.internals.z:0,t.parentId||r&&t.selected?t.internals.z:0);return s+a}function Ap({sourceNode:e,targetNode:t,width:n,height:i,transform:r}){const o=Gt(Lt(e),Lt(t));o.x===o.x2&&(o.x2+=1),o.y===o.y2&&(o.y2+=1);const s={x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:i/r[2]};return at(s,Yt(o))>0}const Pp=({source:e,sourceHandle:t,target:n,targetHandle:i})=>`xy-edge__${e}${t||""}-${n}${i||""}`,Rp=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),Lp=(e,t,n={})=>{if(!e.source||!e.target)return t;const i=n.getEdgeId||Pp;let r;return Qa(e)?r={...e}:r={...e,id:i(e)},Rp(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function fu({sourceX:e,sourceY:t,targetX:n,targetY:i}){const[r,o,s,a]=lu({sourceX:e,sourceY:t,targetX:n,targetY:i});return[`M ${e},${t}L ${n},${i}`,r,o,s,a]}const Ki={[Z.Left]:{x:-1,y:0},[Z.Right]:{x:1,y:0},[Z.Top]:{x:0,y:-1},[Z.Bottom]:{x:0,y:1}},qp=({source:e,sourcePosition:t=Z.Bottom,target:n})=>t===Z.Left||t===Z.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Zi=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Tp({source:e,sourcePosition:t=Z.Bottom,target:n,targetPosition:i=Z.Top,center:r,offset:o,stepPosition:s}){const a=Ki[t],u=Ki[i],l={x:e.x+a.x*o,y:e.y+a.y*o},c={x:n.x+u.x*o,y:n.y+u.y*o},f=qp({source:l,sourcePosition:t,target:c}),d=f.x!==0?"x":"y",h=f[d];let g=[],w,v;const m={x:0,y:0},x={x:0,y:0},[,,p,y]=lu({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[d]*u[d]===-1){d==="x"?(w=r.x??l.x+(c.x-l.x)*s,v=r.y??(l.y+c.y)/2):(w=r.x??(l.x+c.x)/2,v=r.y??l.y+(c.y-l.y)*s);const b=[{x:w,y:l.y},{x:w,y:c.y}],N=[{x:l.x,y:v},{x:c.x,y:v}];a[d]===h?g=d==="x"?b:N:g=d==="x"?N:b}else{const b=[{x:l.x,y:c.y}],N=[{x:c.x,y:l.y}];if(d==="x"?g=a.x===h?N:b:g=a.y===h?b:N,t===i){const M=Math.abs(e[d]-n[d]);if(M<=o){const z=Math.min(o-1,o-M);a[d]===h?m[d]=(l[d]>e[d]?-1:1)*z:x[d]=(c[d]>n[d]?-1:1)*z}}if(t!==i){const M=d==="x"?"y":"x",z=a[d]===u[M],E=l[M]>c[M],P=l[M]<c[M];(a[d]===1&&(!z&&E||z&&P)||a[d]!==1&&(!z&&P||z&&E))&&(g=d==="x"?b:N)}const S={x:l.x+m.x,y:l.y+m.y},C={x:c.x+x.x,y:c.y+x.y},q=Math.max(Math.abs(S.x-g[0].x),Math.abs(C.x-g[0].x)),k=Math.max(Math.abs(S.y-g[0].y),Math.abs(C.y-g[0].y));q>=k?(w=(S.x+C.x)/2,v=g[0].y):(w=g[0].x,v=(S.y+C.y)/2)}return[[e,{x:l.x+m.x,y:l.y+m.y},...g,{x:c.x+x.x,y:c.y+x.y},n],w,v,p,y]}function Dp(e,t,n,i){const r=Math.min(Zi(e,t)/2,Zi(t,n)/2,i),{x:o,y:s}=t;if(e.x===o&&o===n.x||e.y===s&&s===n.y)return`L${o} ${s}`;if(e.y===s){const l=e.x<n.x?-1:1,c=e.y<n.y?1:-1;return`L ${o+r*l},${s}Q ${o},${s} ${o},${s+r*c}`}const a=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${o},${s+r*u}Q ${o},${s} ${o+r*a},${s}`}function Zr({sourceX:e,sourceY:t,sourcePosition:n=Z.Bottom,targetX:i,targetY:r,targetPosition:o=Z.Top,borderRadius:s=5,centerX:a,centerY:u,offset:l=20,stepPosition:c=.5}){const[f,d,h,g,w]=Tp({source:{x:e,y:t},sourcePosition:n,target:{x:i,y:r},targetPosition:o,center:{x:a,y:u},offset:l,stepPosition:c});return[f.reduce((m,x,p)=>{let y="";return p>0&&p<f.length-1?y=Dp(f[p-1],x,f[p+1],s):y=`${p===0?"M":"L"}${x.x} ${x.y}`,m+=y,m},""),d,h,g,w]}function Qi(e){var t;return e&&!!(e.internals.handleBounds||(t=e.handles)!=null&&t.length)&&!!(e.measured.width||e.width||e.initialWidth)}function zp(e){var f;const{sourceNode:t,targetNode:n}=e;if(!Qi(t)||!Qi(n))return null;const i=t.internals.handleBounds||Ji(t.handles),r=n.internals.handleBounds||Ji(n.handles),o=eo((i==null?void 0:i.source)??[],e.sourceHandle),s=eo(e.connectionMode===He.Strict?(r==null?void 0:r.target)??[]:((r==null?void 0:r.target)??[]).concat((r==null?void 0:r.source)??[]),e.targetHandle);if(!o||!s)return(f=e.onError)==null||f.call(e,"008",ve.error008(o?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const a=(o==null?void 0:o.position)||Z.Bottom,u=(s==null?void 0:s.position)||Z.Top,l=qe(t,o,a),c=qe(n,s,u);return{sourceX:l.x,sourceY:l.y,targetX:c.x,targetY:c.y,sourcePosition:a,targetPosition:u}}function Ji(e){if(!e)return null;const t=[],n=[];for(const i of e)i.width=i.width??1,i.height=i.height??1,i.type==="source"?t.push(i):i.type==="target"&&n.push(i);return{source:t,target:n}}function qe(e,t,n=Z.Left,i=!1){const r=((t==null?void 0:t.x)??0)+e.internals.positionAbsolute.x,o=((t==null?void 0:t.y)??0)+e.internals.positionAbsolute.y,{width:s,height:a}=t??Ee(e);if(i)return{x:r+s/2,y:o+a/2};switch((t==null?void 0:t.position)??n){case Z.Top:return{x:r+s/2,y:o};case Z.Right:return{x:r+s,y:o+a/2};case Z.Bottom:return{x:r+s/2,y:o+a};case Z.Left:return{x:r,y:o+a/2}}}function eo(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Qr(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(i=>`${i}=${e[i]}`).join("&")}`:""}function $p(e,{id:t,defaultColor:n,defaultMarkerStart:i,defaultMarkerEnd:r}){const o=new Set;return e.reduce((s,a)=>([a.markerStart||i,a.markerEnd||r].forEach(u=>{if(u&&typeof u=="object"){const l=Qr(u,t);o.has(l)||(s.push({id:l,color:u.color||n,...u}),o.add(l))}}),s),[]).sort((s,a)=>s.id.localeCompare(a.id))}const du=1e3,Fp=10,yi={nodeOrigin:[0,0],nodeExtent:ot,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Op={...yi,checkEquality:!0};function wi(e,t){const n={...e};for(const i in t)t[i]!==void 0&&(n[i]=t[i]);return n}function Vp(e,t,n){const i=wi(yi,n);for(const r of e.values())if(r.parentId)_i(r,e,t,i);else{const o=ft(r,i.nodeOrigin),s=Ye(r.extent)?r.extent:i.nodeExtent,a=Le(o,s,Ee(r));r.internals.positionAbsolute=a}}function Bp(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],i=[];for(const r of e.handles){const o={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(o):r.type==="target"&&i.push(o)}return{source:n,target:i}}function xi(e){return e==="manual"}function Jr(e,t,n,i={}){var l,c;const r=wi(Op,i),o={i:0},s=new Map(t),a=r!=null&&r.elevateNodesOnSelect&&!xi(r.zIndexMode)?du:0;let u=e.length>0;t.clear(),n.clear();for(const f of e){let d=s.get(f.id);if(r.checkEquality&&f===(d==null?void 0:d.internals.userNode))t.set(f.id,d);else{const h=ft(f,r.nodeOrigin),g=Ye(f.extent)?f.extent:r.nodeExtent,w=Le(h,g,Ee(f));d={...r.defaults,...f,measured:{width:(l=f.measured)==null?void 0:l.width,height:(c=f.measured)==null?void 0:c.height},internals:{positionAbsolute:w,handleBounds:Bp(f,d),z:hu(f,a,r.zIndexMode),userNode:f}},t.set(f.id,d)}(d.measured===void 0||d.measured.width===void 0||d.measured.height===void 0)&&!d.hidden&&(u=!1),f.parentId&&_i(d,t,n,i,o)}return u}function Hp(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function _i(e,t,n,i,r){const{elevateNodesOnSelect:o,nodeOrigin:s,nodeExtent:a,zIndexMode:u}=wi(yi,i),l=e.parentId,c=t.get(l);if(!c){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Hp(e,n),r&&!c.parentId&&c.internals.rootParentIndex===void 0&&u==="auto"&&(c.internals.rootParentIndex=++r.i,c.internals.z=c.internals.z+r.i*Fp),r&&c.internals.rootParentIndex!==void 0&&(r.i=c.internals.rootParentIndex);const f=o&&!xi(u)?du:0,{x:d,y:h,z:g}=jp(e,c,s,a,f,u),{positionAbsolute:w}=e.internals,v=d!==w.x||h!==w.y;(v||g!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:v?{x:d,y:h}:w,z:g}})}function hu(e,t,n){const i=he(e.zIndex)?e.zIndex:0;return xi(n)?i:i+(e.selected?t:0)}function jp(e,t,n,i,r,o){const{x:s,y:a}=t.internals.positionAbsolute,u=Ee(e),l=ft(e,n),c=Ye(e.extent)?Le(l,e.extent,u):l;let f=Le({x:s+c.x,y:a+c.y},i,u);e.extent==="parent"&&(f=eu(f,u,t));const d=hu(e,r,o),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=d?h+1:d}}function bi(e,t,n,i=[0,0]){var s;const r=[],o=new Map;for(const a of e){const u=t.get(a.parentId);if(!u)continue;const l=((s=o.get(a.parentId))==null?void 0:s.expandedRect)??Ge(u),c=nu(l,a.rect);o.set(a.parentId,{expandedRect:c,parent:u})}return o.size>0&&o.forEach(({expandedRect:a,parent:u},l)=>{var p;const c=u.internals.positionAbsolute,f=Ee(u),d=u.origin??i,h=a.x<c.x?Math.round(Math.abs(c.x-a.x)):0,g=a.y<c.y?Math.round(Math.abs(c.y-a.y)):0,w=Math.max(f.width,Math.round(a.width)),v=Math.max(f.height,Math.round(a.height)),m=(w-f.width)*d[0],x=(v-f.height)*d[1];(h>0||g>0||m||x)&&(r.push({id:l,type:"position",position:{x:u.position.x-h+m,y:u.position.y-g+x}}),(p=n.get(l))==null||p.forEach(y=>{e.some(_=>_.id===y.id)||r.push({id:y.id,type:"position",position:{x:y.position.x+h,y:y.position.y+g}})})),(f.width<a.width||f.height<a.height||h||g)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:w+(h?d[0]*h-m:0),height:v+(g?d[1]*g-x:0)}})}),r}function Gp(e,t,n,i,r,o,s){const a=i==null?void 0:i.querySelector(".xyflow__viewport");let u=!1;if(!a)return{changes:[],updatedInternals:u};const l=[],c=window.getComputedStyle(a),{m22:f}=new window.DOMMatrixReadOnly(c.transform),d=[];for(const h of e.values()){const g=t.get(h.id);if(!g)continue;if(g.hidden){t.set(g.id,{...g,internals:{...g.internals,handleBounds:void 0}}),u=!0;continue}const w=vi(h.nodeElement),v=g.measured.width!==w.width||g.measured.height!==w.height;if(!!(w.width&&w.height&&(v||!g.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),p=Ye(g.extent)?g.extent:o;let{positionAbsolute:y}=g.internals;g.parentId&&g.extent==="parent"?y=eu(y,w,t.get(g.parentId)):p&&(y=Le(y,p,w));const _={...g,measured:w,internals:{...g.internals,positionAbsolute:y,handleBounds:{source:Xi("source",h.nodeElement,x,f,g.id),target:Xi("target",h.nodeElement,x,f,g.id)}}};t.set(g.id,_),g.parentId&&_i(_,t,n,{nodeOrigin:r,zIndexMode:s}),u=!0,v&&(l.push({id:g.id,type:"dimensions",dimensions:w}),g.expandParent&&g.parentId&&d.push({id:g.id,parentId:g.parentId,rect:Ge(_,r)}))}}if(d.length>0){const h=bi(d,t,n,r);l.push(...h)}return{changes:l,updatedInternals:u}}async function Yp({delta:e,panZoom:t,transform:n,translateExtent:i,width:r,height:o}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const s=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,o]],i),a=!!s&&(s.x!==n[0]||s.y!==n[1]||s.k!==n[2]);return Promise.resolve(a)}function to(e,t,n,i,r,o){let s=r;const a=i.get(s)||new Map;i.set(s,a.set(n,t)),s=`${r}-${e}`;const u=i.get(s)||new Map;if(i.set(s,u.set(n,t)),o){s=`${r}-${e}-${o}`;const l=i.get(s)||new Map;i.set(s,l.set(n,t))}}function pu(e,t,n){e.clear(),t.clear();for(const i of n){const{source:r,target:o,sourceHandle:s=null,targetHandle:a=null}=i,u={edgeId:i.id,source:r,target:o,sourceHandle:s,targetHandle:a},l=`${r}-${s}--${o}-${a}`,c=`${o}-${a}--${r}-${s}`;to("source",u,c,e,r,s),to("target",u,l,e,o,a),t.set(i.id,i)}}function gu(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:gu(n,t):!1}function no(e,t,n){var r;let i=e;do{if((r=i==null?void 0:i.matches)!=null&&r.call(i,t))return!0;if(i===n)return!1;i=i==null?void 0:i.parentElement}while(i);return!1}function Wp(e,t,n,i){const r=new Map;for(const[o,s]of e)if((s.selected||s.id===i)&&(!s.parentId||!gu(s,e))&&(s.draggable||t&&typeof s.draggable>"u")){const a=e.get(o);a&&r.set(o,{id:o,position:a.position||{x:0,y:0},distance:{x:n.x-a.internals.positionAbsolute.x,y:n.y-a.internals.positionAbsolute.y},extent:a.extent,parentId:a.parentId,origin:a.origin,expandParent:a.expandParent,internals:{positionAbsolute:a.internals.positionAbsolute||{x:0,y:0}},measured:{width:a.measured.width??0,height:a.measured.height??0}})}return r}function on({nodeId:e,dragItems:t,nodeLookup:n,dragging:i=!0}){var s,a,u;const r=[];for(const[l,c]of t){const f=(s=n.get(l))==null?void 0:s.internals.userNode;f&&r.push({...f,position:c.position,dragging:i})}if(!e)return[r[0],r];const o=(a=n.get(e))==null?void 0:a.internals.userNode;return[o?{...o,position:((u=t.get(e))==null?void 0:u.position)||o.position,dragging:i}:r[0],r]}function Xp({dragItems:e,snapGrid:t,x:n,y:i}){const r=e.values().next().value;if(!r)return null;const o={x:n-r.distance.x,y:i-r.distance.y},s=ht(o,t);return{x:s.x-o.x,y:s.y-o.y}}function Up({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:i,onDragStop:r}){let o={x:null,y:null},s=0,a=new Map,u=!1,l={x:0,y:0},c=null,f=!1,d=null,h=!1,g=!1,w=null;function v({noDragClassName:x,handleSelector:p,domNode:y,isSelectable:_,nodeId:b,nodeClickDistance:N=0}){d=ce(y);function S({x:M,y:z}){const{nodeLookup:E,nodeExtent:P,snapGrid:A,snapToGrid:D,nodeOrigin:L,onNodeDrag:R,onSelectionDrag:H,onError:G,updateNodePositions:j}=t();o={x:M,y:z};let W=!1;const I=a.size>1,T=I&&P?Kr(dt(a)):null,F=I&&D?Xp({dragItems:a,snapGrid:A,x:M,y:z}):null;for(const[V,B]of a){if(!E.has(V))continue;let Y={x:M-B.distance.x,y:z-B.distance.y};D&&(Y=F?{x:Math.round(Y.x+F.x),y:Math.round(Y.y+F.y)}:ht(Y,A));let U=null;if(I&&P&&!B.extent&&T){const{positionAbsolute:X}=B.internals,J=X.x-T.x+P[0][0],ne=X.x+B.measured.width-T.x2+P[1][0],ee=X.y-T.y+P[0][1],ae=X.y+B.measured.height-T.y2+P[1][1];U=[[J,ee],[ne,ae]]}const{position:K,positionAbsolute:Q}=Ja({nodeId:V,nextPosition:Y,nodeLookup:E,nodeExtent:U||P,nodeOrigin:L,onError:G});W=W||B.position.x!==K.x||B.position.y!==K.y,B.position=K,B.internals.positionAbsolute=Q}if(g=g||W,!!W&&(j(a,!0),w&&(i||R||!b&&H))){const[V,B]=on({nodeId:b,dragItems:a,nodeLookup:E});i==null||i(w,a,V,B),R==null||R(w,V,B),b||H==null||H(w,B)}}async function C(){if(!c)return;const{transform:M,panBy:z,autoPanSpeed:E,autoPanOnNodeDrag:P}=t();if(!P){u=!1,cancelAnimationFrame(s);return}const[A,D]=tu(l,c,E);(A!==0||D!==0)&&(o.x=(o.x??0)-A/M[2],o.y=(o.y??0)-D/M[2],await z({x:A,y:D})&&S(o)),s=requestAnimationFrame(C)}function q(M){var I;const{nodeLookup:z,multiSelectionActive:E,nodesDraggable:P,transform:A,snapGrid:D,snapToGrid:L,selectNodesOnDrag:R,onNodeDragStart:H,onSelectionDragStart:G,unselectNodesAndEdges:j}=t();f=!0,(!R||!_)&&!E&&b&&((I=z.get(b))!=null&&I.selected||j()),_&&R&&b&&(e==null||e(b));const W=nt(M.sourceEvent,{transform:A,snapGrid:D,snapToGrid:L,containerBounds:c});if(o=W,a=Wp(z,P,W,b),a.size>0&&(n||H||!b&&G)){const[T,F]=on({nodeId:b,dragItems:a,nodeLookup:z});n==null||n(M.sourceEvent,a,T,F),H==null||H(M.sourceEvent,T,F),b||G==null||G(M.sourceEvent,F)}}const k=$a().clickDistance(N).on("start",M=>{const{domNode:z,nodeDragThreshold:E,transform:P,snapGrid:A,snapToGrid:D}=t();c=(z==null?void 0:z.getBoundingClientRect())||null,h=!1,g=!1,w=M.sourceEvent,E===0&&q(M),o=nt(M.sourceEvent,{transform:P,snapGrid:A,snapToGrid:D,containerBounds:c}),l=pe(M.sourceEvent,c)}).on("drag",M=>{const{autoPanOnNodeDrag:z,transform:E,snapGrid:P,snapToGrid:A,nodeDragThreshold:D,nodeLookup:L}=t(),R=nt(M.sourceEvent,{transform:E,snapGrid:P,snapToGrid:A,containerBounds:c});if(w=M.sourceEvent,(M.sourceEvent.type==="touchmove"&&M.sourceEvent.touches.length>1||b&&!L.has(b))&&(h=!0),!h){if(!u&&z&&f&&(u=!0,C()),!f){const H=pe(M.sourceEvent,c),G=H.x-l.x,j=H.y-l.y;Math.sqrt(G*G+j*j)>D&&q(M)}(o.x!==R.xSnapped||o.y!==R.ySnapped)&&a&&f&&(l=pe(M.sourceEvent,c),S(R))}}).on("end",M=>{if(!(!f||h)&&(u=!1,f=!1,cancelAnimationFrame(s),a.size>0)){const{nodeLookup:z,updateNodePositions:E,onNodeDragStop:P,onSelectionDragStop:A}=t();if(g&&(E(a,!1),g=!1),r||P||!b&&A){const[D,L]=on({nodeId:b,dragItems:a,nodeLookup:z,dragging:!1});r==null||r(M.sourceEvent,a,D,L),P==null||P(M.sourceEvent,D,L),b||A==null||A(M.sourceEvent,L)}}}).filter(M=>{const z=M.target;return!M.button&&(!x||!no(z,`.${x}`,y))&&(!p||no(z,p,y))});d.call(k)}function m(){d==null||d.on(".drag",null)}return{update:v,destroy:m}}function Kp(e,t,n){const i=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const o of t.values())at(r,Ge(o))>0&&i.push(o);return i}const Zp=250;function Qp(e,t,n,i){var a,u;let r=[],o=1/0;const s=Kp(e,n,t+Zp);for(const l of s){const c=[...((a=l.internals.handleBounds)==null?void 0:a.source)??[],...((u=l.internals.handleBounds)==null?void 0:u.target)??[]];for(const f of c){if(i.nodeId===f.nodeId&&i.type===f.type&&i.id===f.id)continue;const{x:d,y:h}=qe(l,f,f.position,!0),g=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(h-e.y,2));g>t||(g<o?(r=[{...f,x:d,y:h}],o=g):g===o&&r.push({...f,x:d,y:h}))}}if(!r.length)return null;if(r.length>1){const l=i.type==="source"?"target":"source";return r.find(c=>c.type===l)??r[0]}return r[0]}function mu(e,t,n,i,r,o=!1){var l,c,f;const s=i.get(e);if(!s)return null;const a=r==="strict"?(l=s.internals.handleBounds)==null?void 0:l[t]:[...((c=s.internals.handleBounds)==null?void 0:c.source)??[],...((f=s.internals.handleBounds)==null?void 0:f.target)??[]],u=(n?a==null?void 0:a.find(d=>d.id===n):a==null?void 0:a[0])??null;return u&&o?{...u,...qe(s,u,u.position,!0)}:u}function vu(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Jp(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const yu=()=>!0;function eg(e,{connectionMode:t,connectionRadius:n,handleId:i,nodeId:r,edgeUpdaterType:o,isTarget:s,domNode:a,nodeLookup:u,lib:l,autoPanOnConnect:c,flowId:f,panBy:d,cancelConnection:h,onConnectStart:g,onConnect:w,onConnectEnd:v,isValidConnection:m=yu,onReconnectEnd:x,updateConnection:p,getTransform:y,getFromHandle:_,autoPanSpeed:b,dragThreshold:N=1,handleDomNode:S}){const C=ou(e.target);let q=0,k;const{x:M,y:z}=pe(e),E=vu(o,S),P=a==null?void 0:a.getBoundingClientRect();let A=!1;if(!P||!E)return;const D=mu(r,E,i,u,t);if(!D)return;let L=pe(e,P),R=!1,H=null,G=!1,j=null;function W(){if(!c||!P)return;const[K,Q]=tu(L,P,b);d({x:K,y:Q}),q=requestAnimationFrame(W)}const I={...D,nodeId:r,type:E,position:D.position},T=u.get(r);let V={inProgress:!0,isValid:null,from:qe(T,I,Z.Left,!0),fromHandle:I,fromPosition:I.position,fromNode:T,to:L,toHandle:null,toPosition:ji[I.position],toNode:null,pointer:L};function B(){A=!0,p(V),g==null||g(e,{nodeId:r,handleId:i,handleType:E})}N===0&&B();function Y(K){if(!A){const{x:ae,y:Ne}=pe(K),we=ae-M,Ie=Ne-z;if(!(we*we+Ie*Ie>N*N))return;B()}if(!_()||!I){U(K);return}const Q=y();L=pe(K,P),k=Qp(pt(L,Q,!1,[1,1]),n,u,I),R||(W(),R=!0);const X=wu(K,{handle:k,connectionMode:t,fromNodeId:r,fromHandleId:i,fromType:s?"target":"source",isValidConnection:m,doc:C,lib:l,flowId:f,nodeLookup:u});j=X.handleDomNode,H=X.connection,G=Jp(!!k,X.isValid);const J=u.get(r),ne=J?qe(J,I,Z.Left,!0):V.from,ee={...V,from:ne,isValid:G,to:X.toHandle&&G?qt({x:X.toHandle.x,y:X.toHandle.y},Q):L,toHandle:X.toHandle,toPosition:G&&X.toHandle?X.toHandle.position:ji[I.position],toNode:X.toHandle?u.get(X.toHandle.nodeId):null,pointer:L};p(ee),V=ee}function U(K){if(!("touches"in K&&K.touches.length>0)){if(A){(k||j)&&H&&G&&(w==null||w(H));const{inProgress:Q,...X}=V,J={...X,toPosition:V.toHandle?V.toPosition:null};v==null||v(K,J),o&&(x==null||x(K,J))}h(),cancelAnimationFrame(q),R=!1,G=!1,H=null,j=null,C.removeEventListener("mousemove",Y),C.removeEventListener("mouseup",U),C.removeEventListener("touchmove",Y),C.removeEventListener("touchend",U)}}C.addEventListener("mousemove",Y),C.addEventListener("mouseup",U),C.addEventListener("touchmove",Y),C.addEventListener("touchend",U)}function wu(e,{handle:t,connectionMode:n,fromNodeId:i,fromHandleId:r,fromType:o,doc:s,lib:a,flowId:u,isValidConnection:l=yu,nodeLookup:c}){const f=o==="target",d=t?s.querySelector(`.${a}-flow__handle[data-id="${u}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:h,y:g}=pe(e),w=s.elementFromPoint(h,g),v=w!=null&&w.classList.contains(`${a}-flow__handle`)?w:d,m={handleDomNode:v,isValid:!1,connection:null,toHandle:null};if(v){const x=vu(void 0,v),p=v.getAttribute("data-nodeid"),y=v.getAttribute("data-handleid"),_=v.classList.contains("connectable"),b=v.classList.contains("connectableend");if(!p||!x)return m;const N={source:f?p:i,sourceHandle:f?y:r,target:f?i:p,targetHandle:f?r:y};m.connection=N;const C=_&&b&&(n===He.Strict?f&&x==="source"||!f&&x==="target":p!==i||y!==r);m.isValid=C&&l(N),m.toHandle=mu(p,x,y,c,n,!0)}return m}const ei={onPointerDown:eg,isValid:wu};function tg({domNode:e,panZoom:t,getTransform:n,getViewScale:i}){const r=ce(e);function o({translateExtent:a,width:u,height:l,zoomStep:c=1,pannable:f=!0,zoomable:d=!0,inversePan:h=!1}){const g=p=>{if(p.sourceEvent.type!=="wheel"||!t)return;const y=n(),_=p.sourceEvent.ctrlKey&&ut()?10:1,b=-p.sourceEvent.deltaY*(p.sourceEvent.deltaMode===1?.05:p.sourceEvent.deltaMode?1:.002)*c,N=y[2]*Math.pow(2,b*_);t.scaleTo(N)};let w=[0,0];const v=p=>{(p.sourceEvent.type==="mousedown"||p.sourceEvent.type==="touchstart")&&(w=[p.sourceEvent.clientX??p.sourceEvent.touches[0].clientX,p.sourceEvent.clientY??p.sourceEvent.touches[0].clientY])},m=p=>{const y=n();if(p.sourceEvent.type!=="mousemove"&&p.sourceEvent.type!=="touchmove"||!t)return;const _=[p.sourceEvent.clientX??p.sourceEvent.touches[0].clientX,p.sourceEvent.clientY??p.sourceEvent.touches[0].clientY],b=[_[0]-w[0],_[1]-w[1]];w=_;const N=i()*Math.max(y[2],Math.log(y[2]))*(h?-1:1),S={x:y[0]-b[0]*N,y:y[1]-b[1]*N},C=[[0,0],[u,l]];t.setViewportConstrained({x:S.x,y:S.y,zoom:y[2]},C,a)},x=Wa().on("start",v).on("zoom",f?m:null).on("zoom.wheel",d?g:null);r.call(x,{})}function s(){r.on("zoom",null)}return{update:o,destroy:s,pointer:de}}const Wt=e=>({x:e.x,y:e.y,zoom:e.k}),sn=({x:e,y:t,zoom:n})=>jt.translate(e,t).scale(n),$e=(e,t)=>e.target.closest(`.${t}`),xu=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),ng=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,an=(e,t=0,n=ng,i=()=>{})=>{const r=typeof t=="number"&&t>0;return r||i(),r?e.transition().duration(t).ease(n).on("end",i):e},_u=e=>{const t=e.ctrlKey&&ut()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function rg({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:i,panOnScrollMode:r,panOnScrollSpeed:o,zoomOnPinch:s,onPanZoomStart:a,onPanZoom:u,onPanZoomEnd:l}){return c=>{if($e(c,t))return c.ctrlKey&&c.preventDefault(),!1;c.preventDefault(),c.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(c.ctrlKey&&s){const v=de(c),m=_u(c),x=f*Math.pow(2,m);i.scaleTo(n,x,v,c);return}const d=c.deltaMode===1?20:1;let h=r===Pe.Vertical?0:c.deltaX*d,g=r===Pe.Horizontal?0:c.deltaY*d;!ut()&&c.shiftKey&&r!==Pe.Vertical&&(h=c.deltaY*d,g=0),i.translateBy(n,-(h/f)*o,-(g/f)*o,{internal:!0});const w=Wt(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(u==null||u(c,w),e.panScrollTimeout=setTimeout(()=>{l==null||l(c,w),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,a==null||a(c,w))}}function ig({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(i,r){const o=i.type==="wheel",s=!t&&o&&!i.ctrlKey,a=$e(i,e);if(i.ctrlKey&&o&&a&&i.preventDefault(),s||a)return null;i.preventDefault(),n.call(this,i,r)}}function og({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return i=>{var o,s,a;if((o=i.sourceEvent)!=null&&o.internal)return;const r=Wt(i.transform);e.mouseButton=((s=i.sourceEvent)==null?void 0:s.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=r,((a=i.sourceEvent)==null?void 0:a.type)==="mousedown"&&t(!0),n&&(n==null||n(i.sourceEvent,r))}}function sg({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:i,onPanZoom:r}){return o=>{var s,a;e.usedRightMouseButton=!!(n&&xu(t,e.mouseButton??0)),(s=o.sourceEvent)!=null&&s.sync||i([o.transform.x,o.transform.y,o.transform.k]),r&&!((a=o.sourceEvent)!=null&&a.internal)&&(r==null||r(o.sourceEvent,Wt(o.transform)))}}function ag({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:i,onPanZoomEnd:r,onPaneContextMenu:o}){return s=>{var a;if(!((a=s.sourceEvent)!=null&&a.internal)&&(e.isZoomingOrPanning=!1,o&&xu(t,e.mouseButton??0)&&!e.usedRightMouseButton&&s.sourceEvent&&o(s.sourceEvent),e.usedRightMouseButton=!1,i(!1),r)){const u=Wt(s.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r==null||r(s.sourceEvent,u)},n?150:0)}}}function ug({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:i,panOnScroll:r,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:a,noPanClassName:u,lib:l,connectionInProgress:c}){return f=>{var v;const d=e||t,h=n&&f.ctrlKey,g=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&($e(f,`${l}-flow__node`)||$e(f,`${l}-flow__edge`)))return!0;if(!i&&!d&&!r&&!o&&!n||s||c&&!g||$e(f,a)&&g||$e(f,u)&&(!g||r&&g&&!e)||!n&&f.ctrlKey&&g)return!1;if(!n&&f.type==="touchstart"&&((v=f.touches)==null?void 0:v.length)>1)return f.preventDefault(),!1;if(!d&&!r&&!h&&g||!i&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(i)&&!i.includes(f.button)&&f.type==="mousedown")return!1;const w=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||g)&&w}}function cg({domNode:e,minZoom:t,maxZoom:n,translateExtent:i,viewport:r,onPanZoom:o,onPanZoomStart:s,onPanZoomEnd:a,onDraggingChange:u}){const l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},c=e.getBoundingClientRect(),f=Wa().scaleExtent([t,n]).translateExtent(i),d=ce(e).call(f);x({x:r.x,y:r.y,zoom:je(r.zoom,t,n)},[[0,0],[c.width,c.height]],i);const h=d.on("wheel.zoom"),g=d.on("dblclick.zoom");f.wheelDelta(_u);function w(k,M){return d?new Promise(z=>{f==null||f.interpolate((M==null?void 0:M.interpolate)==="linear"?tn:Et).transform(an(d,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>z(!0)),k)}):Promise.resolve(!1)}function v({noWheelClassName:k,noPanClassName:M,onPaneContextMenu:z,userSelectionActive:E,panOnScroll:P,panOnDrag:A,panOnScrollMode:D,panOnScrollSpeed:L,preventScrolling:R,zoomOnPinch:H,zoomOnScroll:G,zoomOnDoubleClick:j,zoomActivationKeyPressed:W,lib:I,onTransformChange:T,connectionInProgress:F,paneClickDistance:V,selectionOnDrag:B}){E&&!l.isZoomingOrPanning&&m();const Y=P&&!W&&!E;f.clickDistance(B?1/0:!he(V)||V<0?0:V);const U=Y?rg({zoomPanValues:l,noWheelClassName:k,d3Selection:d,d3Zoom:f,panOnScrollMode:D,panOnScrollSpeed:L,zoomOnPinch:H,onPanZoomStart:s,onPanZoom:o,onPanZoomEnd:a}):ig({noWheelClassName:k,preventScrolling:R,d3ZoomHandler:h});if(d.on("wheel.zoom",U,{passive:!1}),!E){const Q=og({zoomPanValues:l,onDraggingChange:u,onPanZoomStart:s});f.on("start",Q);const X=sg({zoomPanValues:l,panOnDrag:A,onPaneContextMenu:!!z,onPanZoom:o,onTransformChange:T});f.on("zoom",X);const J=ag({zoomPanValues:l,panOnDrag:A,panOnScroll:P,onPaneContextMenu:z,onPanZoomEnd:a,onDraggingChange:u});f.on("end",J)}const K=ug({zoomActivationKeyPressed:W,panOnDrag:A,zoomOnScroll:G,panOnScroll:P,zoomOnDoubleClick:j,zoomOnPinch:H,userSelectionActive:E,noPanClassName:M,noWheelClassName:k,lib:I,connectionInProgress:F});f.filter(K),j?d.on("dblclick.zoom",g):d.on("dblclick.zoom",null)}function m(){f.on("zoom",null)}async function x(k,M,z){const E=sn(k),P=f==null?void 0:f.constrain()(E,M,z);return P&&await w(P),new Promise(A=>A(P))}async function p(k,M){const z=sn(k);return await w(z,M),new Promise(E=>E(z))}function y(k){if(d){const M=sn(k),z=d.property("__zoom");(z.k!==k.zoom||z.x!==k.x||z.y!==k.y)&&(f==null||f.transform(d,M,null,{sync:!0}))}}function _(){const k=d?Ya(d.node()):{x:0,y:0,k:1};return{x:k.x,y:k.y,zoom:k.k}}function b(k,M){return d?new Promise(z=>{f==null||f.interpolate((M==null?void 0:M.interpolate)==="linear"?tn:Et).scaleTo(an(d,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>z(!0)),k)}):Promise.resolve(!1)}function N(k,M){return d?new Promise(z=>{f==null||f.interpolate((M==null?void 0:M.interpolate)==="linear"?tn:Et).scaleBy(an(d,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>z(!0)),k)}):Promise.resolve(!1)}function S(k){f==null||f.scaleExtent(k)}function C(k){f==null||f.translateExtent(k)}function q(k){const M=!he(k)||k<0?0:k;f==null||f.clickDistance(M)}return{update:v,destroy:m,setViewport:p,setViewportConstrained:x,getViewport:_,scaleTo:b,scaleBy:N,setScaleExtent:S,setTranslateExtent:C,syncViewport:y,setClickDistance:q}}var We;(function(e){e.Line="line",e.Handle="handle"})(We||(We={}));function lg({width:e,prevWidth:t,height:n,prevHeight:i,affectsX:r,affectsY:o}){const s=e-t,a=n-i,u=[s>0?1:s<0?-1:0,a>0?1:a<0?-1:0];return s&&r&&(u[0]=u[0]*-1),a&&o&&(u[1]=u[1]*-1),u}function ro(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),i=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:i,affectsY:r}}function Se(e,t){return Math.max(0,t-e)}function Ce(e,t){return Math.max(0,e-t)}function xt(e,t,n){return Math.max(0,t-e,e-n)}function io(e,t){return e?!t:t}function fg(e,t,n,i,r,o,s,a){let{affectsX:u,affectsY:l}=t;const{isHorizontal:c,isVertical:f}=t,d=c&&f,{xSnapped:h,ySnapped:g}=n,{minWidth:w,maxWidth:v,minHeight:m,maxHeight:x}=i,{x:p,y,width:_,height:b,aspectRatio:N}=e;let S=Math.floor(c?h-e.pointerX:0),C=Math.floor(f?g-e.pointerY:0);const q=_+(u?-S:S),k=b+(l?-C:C),M=-o[0]*_,z=-o[1]*b;let E=xt(q,w,v),P=xt(k,m,x);if(s){let L=0,R=0;u&&S<0?L=Se(p+S+M,s[0][0]):!u&&S>0&&(L=Ce(p+q+M,s[1][0])),l&&C<0?R=Se(y+C+z,s[0][1]):!l&&C>0&&(R=Ce(y+k+z,s[1][1])),E=Math.max(E,L),P=Math.max(P,R)}if(a){let L=0,R=0;u&&S>0?L=Ce(p+S,a[0][0]):!u&&S<0&&(L=Se(p+q,a[1][0])),l&&C>0?R=Ce(y+C,a[0][1]):!l&&C<0&&(R=Se(y+k,a[1][1])),E=Math.max(E,L),P=Math.max(P,R)}if(r){if(c){const L=xt(q/N,m,x)*N;if(E=Math.max(E,L),s){let R=0;!u&&!l||u&&!l&&d?R=Ce(y+z+q/N,s[1][1])*N:R=Se(y+z+(u?S:-S)/N,s[0][1])*N,E=Math.max(E,R)}if(a){let R=0;!u&&!l||u&&!l&&d?R=Se(y+q/N,a[1][1])*N:R=Ce(y+(u?S:-S)/N,a[0][1])*N,E=Math.max(E,R)}}if(f){const L=xt(k*N,w,v)/N;if(P=Math.max(P,L),s){let R=0;!u&&!l||l&&!u&&d?R=Ce(p+k*N+M,s[1][0])/N:R=Se(p+(l?C:-C)*N+M,s[0][0])/N,P=Math.max(P,R)}if(a){let R=0;!u&&!l||l&&!u&&d?R=Se(p+k*N,a[1][0])/N:R=Ce(p+(l?C:-C)*N,a[0][0])/N,P=Math.max(P,R)}}}C=C+(C<0?P:-P),S=S+(S<0?E:-E),r&&(d?q>k*N?C=(io(u,l)?-S:S)/N:S=(io(u,l)?-C:C)*N:c?(C=S/N,l=u):(S=C*N,u=l));const A=u?p+S:p,D=l?y+C:y;return{width:_+(u?-S:S),height:b+(l?-C:C),x:o[0]*S*(u?-1:1)+A,y:o[1]*C*(l?-1:1)+D}}const bu={width:0,height:0,x:0,y:0},dg={...bu,pointerX:0,pointerY:0,aspectRatio:1};function hg(e){return[[0,0],[e.measured.width,e.measured.height]]}function pg(e,t,n){const i=t.position.x+e.position.x,r=t.position.y+e.position.y,o=e.measured.width??0,s=e.measured.height??0,a=n[0]*o,u=n[1]*s;return[[i-a,r-u],[i+o-a,r+s-u]]}function gg({domNode:e,nodeId:t,getStoreItems:n,onChange:i,onEnd:r}){const o=ce(e);let s={controlDirection:ro("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:l,boundaries:c,keepAspectRatio:f,resizeDirection:d,onResizeStart:h,onResize:g,onResizeEnd:w,shouldResize:v}){let m={...bu},x={...dg};s={boundaries:c,resizeDirection:d,keepAspectRatio:f,controlDirection:ro(l)};let p,y=null,_=[],b,N,S,C=!1;const q=$a().on("start",k=>{const{nodeLookup:M,transform:z,snapGrid:E,snapToGrid:P,nodeOrigin:A,paneDomNode:D}=n();if(p=M.get(t),!p)return;y=(D==null?void 0:D.getBoundingClientRect())??null;const{xSnapped:L,ySnapped:R}=nt(k.sourceEvent,{transform:z,snapGrid:E,snapToGrid:P,containerBounds:y});m={width:p.measured.width??0,height:p.measured.height??0,x:p.position.x??0,y:p.position.y??0},x={...m,pointerX:L,pointerY:R,aspectRatio:m.width/m.height},b=void 0,p.parentId&&(p.extent==="parent"||p.expandParent)&&(b=M.get(p.parentId),N=b&&p.extent==="parent"?hg(b):void 0),_=[],S=void 0;for(const[H,G]of M)if(G.parentId===t&&(_.push({id:H,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const j=pg(G,p,G.origin??A);S?S=[[Math.min(j[0][0],S[0][0]),Math.min(j[0][1],S[0][1])],[Math.max(j[1][0],S[1][0]),Math.max(j[1][1],S[1][1])]]:S=j}h==null||h(k,{...m})}).on("drag",k=>{const{transform:M,snapGrid:z,snapToGrid:E,nodeOrigin:P}=n(),A=nt(k.sourceEvent,{transform:M,snapGrid:z,snapToGrid:E,containerBounds:y}),D=[];if(!p)return;const{x:L,y:R,width:H,height:G}=m,j={},W=p.origin??P,{width:I,height:T,x:F,y:V}=fg(x,s.controlDirection,A,s.boundaries,s.keepAspectRatio,W,N,S),B=I!==H,Y=T!==G,U=F!==L&&B,K=V!==R&&Y;if(!U&&!K&&!B&&!Y)return;if((U||K||W[0]===1||W[1]===1)&&(j.x=U?F:m.x,j.y=K?V:m.y,m.x=j.x,m.y=j.y,_.length>0)){const ne=F-L,ee=V-R;for(const ae of _)ae.position={x:ae.position.x-ne+W[0]*(I-H),y:ae.position.y-ee+W[1]*(T-G)},D.push(ae)}if((B||Y)&&(j.width=B&&(!s.resizeDirection||s.resizeDirection==="horizontal")?I:m.width,j.height=Y&&(!s.resizeDirection||s.resizeDirection==="vertical")?T:m.height,m.width=j.width,m.height=j.height),b&&p.expandParent){const ne=W[0]*(j.width??0);j.x&&j.x<ne&&(m.x=ne,x.x=x.x-(j.x-ne));const ee=W[1]*(j.height??0);j.y&&j.y<ee&&(m.y=ee,x.y=x.y-(j.y-ee))}const Q=lg({width:m.width,prevWidth:H,height:m.height,prevHeight:G,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),X={...m,direction:Q};(v==null?void 0:v(k,X))!==!1&&(C=!0,g==null||g(k,X),i(j,D))}).on("end",k=>{C&&(w==null||w(k,{...m}),r==null||r({...m}),C=!1)});o.call(q)}function u(){o.on(".drag",null)}return{update:a,destroy:u}}const mg={},oo=e=>{let t;const n=new Set,i=(c,f)=>{const d=typeof c=="function"?c(t):c;if(!Object.is(d,t)){const h=t;t=f??(typeof d!="object"||d===null)?d:Object.assign({},t,d),n.forEach(g=>g(t,h))}},r=()=>t,u={setState:i,getState:r,getInitialState:()=>l,subscribe:c=>(n.add(c),()=>n.delete(c)),destroy:()=>{(mg?"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."),n.clear()}},l=t=e(i,r,u);return u},vg=e=>e?oo(e):oo,{useDebugValue:yg}=bl,{useSyncExternalStoreWithSelector:wg}=df,xg=e=>e;function Eu(e,t=xg,n){const i=wg(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return yg(i),i}const so=(e,t)=>{const n=vg(e),i=(r,o=t)=>Eu(n,r,o);return Object.assign(i,n),i},_g=(e,t)=>e?so(e,t):so;function re(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[i,r]of e)if(!Object.is(r,t.get(i)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||!Object.is(e[i],t[i]))return!1;return!0}const Xt=O.createContext(null),bg=Xt.Provider,Nu=ve.error001();function te(e,t){const n=O.useContext(Xt);if(n===null)throw new Error(Nu);return Eu(n,e,t)}function ie(){const e=O.useContext(Xt);if(e===null)throw new Error(Nu);return O.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const ao={display:"none"},Eg={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Su="react-flow__node-desc",Cu="react-flow__edge-desc",Ng="react-flow__aria-live",Sg=e=>e.ariaLiveMessage,Cg=e=>e.ariaLabelConfig;function kg({rfId:e}){const t=te(Sg);return $.jsx("div",{id:`${Ng}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Eg,children:t})}function Mg({rfId:e,disableKeyboardA11y:t}){const n=te(Cg);return $.jsxs($.Fragment,{children:[$.jsx("div",{id:`${Su}-${e}`,style:ao,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),$.jsx("div",{id:`${Cu}-${e}`,style:ao,children:n["edge.a11yDescription.default"]}),!t&&$.jsx(kg,{rfId:e})]})}const Ut=O.forwardRef(({position:e="top-left",children:t,className:n,style:i,...r},o)=>{const s=`${e}`.split("-");return $.jsx("div",{className:se(["react-flow__panel",n,...s]),style:i,ref:o,...r,children:t})});Ut.displayName="Panel";function Ig({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:$.jsx(Ut,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:$.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Ag=e=>{const t=[],n=[];for(const[,i]of e.nodeLookup)i.selected&&t.push(i.internals.userNode);for(const[,i]of e.edgeLookup)i.selected&&n.push(i);return{selectedNodes:t,selectedEdges:n}},_t=e=>e.id;function Pg(e,t){return re(e.selectedNodes.map(_t),t.selectedNodes.map(_t))&&re(e.selectedEdges.map(_t),t.selectedEdges.map(_t))}function Rg({onSelectionChange:e}){const t=ie(),{selectedNodes:n,selectedEdges:i}=te(Ag,Pg);return O.useEffect(()=>{const r={nodes:n,edges:i};e==null||e(r),t.getState().onSelectionChangeHandlers.forEach(o=>o(r))},[n,i,e]),null}const Lg=e=>!!e.onSelectionChangeHandlers;function qg({onSelectionChange:e}){const t=te(Lg);return e||t?$.jsx(Rg,{onSelectionChange:e}):null}const ku=[0,0],Tg={x:0,y:0,zoom:1},Dg=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],uo=[...Dg,"rfId"],zg=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),co={translateExtent:ot,nodeOrigin:ku,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function $g(e){const{setNodes:t,setEdges:n,setMinZoom:i,setMaxZoom:r,setTranslateExtent:o,setNodeExtent:s,reset:a,setDefaultNodesAndEdges:u}=te(zg,re),l=ie();O.useEffect(()=>(u(e.defaultNodes,e.defaultEdges),()=>{c.current=co,a()}),[]);const c=O.useRef(co);return O.useEffect(()=>{for(const f of uo){const d=e[f],h=c.current[f];d!==h&&(typeof e[f]>"u"||(f==="nodes"?t(d):f==="edges"?n(d):f==="minZoom"?i(d):f==="maxZoom"?r(d):f==="translateExtent"?o(d):f==="nodeExtent"?s(d):f==="ariaLabelConfig"?l.setState({ariaLabelConfig:kp(d)}):f==="fitView"?l.setState({fitViewQueued:d}):f==="fitViewOptions"?l.setState({fitViewOptions:d}):l.setState({[f]:d})))}c.current=e},uo.map(f=>e[f])),null}function lo(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Fg(e){var i;const[t,n]=O.useState(e==="system"?null:e);return O.useEffect(()=>{if(e!=="system"){n(e);return}const r=lo(),o=()=>n(r!=null&&r.matches?"dark":"light");return o(),r==null||r.addEventListener("change",o),()=>{r==null||r.removeEventListener("change",o)}},[e]),t!==null?t:(i=lo())!=null&&i.matches?"dark":"light"}const fo=typeof document<"u"?document:null;function ct(e=null,t={target:fo,actInsideInputWithModifier:!0}){const[n,i]=O.useState(!1),r=O.useRef(!1),o=O.useRef(new Set([])),[s,a]=O.useMemo(()=>{if(e!==null){const l=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
2
|
+
`).replace(`
|
|
3
|
+
|
|
4
|
+
`,`
|
|
5
|
+
+`).split(`
|
|
6
|
+
`)),c=l.reduce((f,d)=>f.concat(...d),[]);return[l,c]}return[[],[]]},[e]);return O.useEffect(()=>{const u=(t==null?void 0:t.target)??fo,l=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const c=h=>{var v,m;if(r.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!r.current||r.current&&!l)&&su(h))return!1;const w=po(h.code,a);if(o.current.add(h[w]),ho(s,o.current,!1)){const x=((m=(v=h.composedPath)==null?void 0:v.call(h))==null?void 0:m[0])||h.target,p=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";t.preventDefault!==!1&&(r.current||!p)&&h.preventDefault(),i(!0)}},f=h=>{const g=po(h.code,a);ho(s,o.current,!0)?(i(!1),o.current.clear()):o.current.delete(h[g]),h.key==="Meta"&&o.current.clear(),r.current=!1},d=()=>{o.current.clear(),i(!1)};return u==null||u.addEventListener("keydown",c),u==null||u.addEventListener("keyup",f),window.addEventListener("blur",d),window.addEventListener("contextmenu",d),()=>{u==null||u.removeEventListener("keydown",c),u==null||u.removeEventListener("keyup",f),window.removeEventListener("blur",d),window.removeEventListener("contextmenu",d)}}},[e,i]),n}function ho(e,t,n){return e.filter(i=>n||i.length===t.size).some(i=>i.every(r=>t.has(r)))}function po(e,t){return t.includes(e)?"code":"key"}const Og=()=>{const e=ie();return O.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:i}=e.getState();return i?i.scaleTo(t,{duration:n==null?void 0:n.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[i,r,o],panZoom:s}=e.getState();return s?(await s.setViewport({x:t.x??i,y:t.y??r,zoom:t.zoom??o},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,i]=e.getState().transform;return{x:t,y:n,zoom:i}},setCenter:async(t,n,i)=>e.getState().setCenter(t,n,i),fitBounds:async(t,n)=>{const{width:i,height:r,minZoom:o,maxZoom:s,panZoom:a}=e.getState(),u=mi(t,i,r,o,s,(n==null?void 0:n.padding)??.1);return a?(await a.setViewport(u,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:i,snapGrid:r,snapToGrid:o,domNode:s}=e.getState();if(!s)return t;const{x:a,y:u}=s.getBoundingClientRect(),l={x:t.x-a,y:t.y-u},c=n.snapGrid??r,f=n.snapToGrid??o;return pt(l,i,f,c)},flowToScreenPosition:t=>{const{transform:n,domNode:i}=e.getState();if(!i)return t;const{x:r,y:o}=i.getBoundingClientRect(),s=qt(t,n);return{x:s.x+r,y:s.y+o}}}),[])};function Mu(e,t){const n=[],i=new Map,r=[];for(const o of e)if(o.type==="add"){r.push(o);continue}else if(o.type==="remove"||o.type==="replace")i.set(o.id,[o]);else{const s=i.get(o.id);s?s.push(o):i.set(o.id,[o])}for(const o of t){const s=i.get(o.id);if(!s){n.push(o);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){n.push({...s[0].item});continue}const a={...o};for(const u of s)Vg(u,a);n.push(a)}return r.length&&r.forEach(o=>{o.index!==void 0?n.splice(o.index,0,{...o.item}):n.push({...o.item})}),n}function Vg(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function Bg(e,t){return Mu(e,t)}function Hg(e,t){return Mu(e,t)}function Ae(e,t){return{id:e,type:"select",selected:t}}function Fe(e,t=new Set,n=!1){const i=[];for(const[r,o]of e){const s=t.has(r);!(o.selected===void 0&&!s)&&o.selected!==s&&(n&&(o.selected=s),i.push(Ae(o.id,s)))}return i}function go({items:e=[],lookup:t}){var r;const n=[],i=new Map(e.map(o=>[o.id,o]));for(const[o,s]of e.entries()){const a=t.get(s.id),u=((r=a==null?void 0:a.internals)==null?void 0:r.userNode)??a;u!==void 0&&u!==s&&n.push({id:s.id,item:s,type:"replace"}),u===void 0&&n.push({item:s,type:"add",index:o})}for(const[o]of t)i.get(o)===void 0&&n.push({id:o,type:"remove"});return n}function mo(e){return{id:e.id,type:"remove"}}const vo=e=>vp(e),jg=e=>Qa(e);function Iu(e){return O.forwardRef(e)}const Gg=typeof window<"u"?O.useLayoutEffect:O.useEffect;function yo(e){const[t,n]=O.useState(BigInt(0)),[i]=O.useState(()=>Yg(()=>n(r=>r+BigInt(1))));return Gg(()=>{const r=i.get();r.length&&(e(r),i.reset())},[t]),i}function Yg(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const Au=O.createContext(null);function Wg({children:e}){const t=ie(),n=O.useCallback(a=>{const{nodes:u=[],setNodes:l,hasDefaultNodes:c,onNodesChange:f,nodeLookup:d,fitViewQueued:h,onNodesChangeMiddlewareMap:g}=t.getState();let w=u;for(const m of a)w=typeof m=="function"?m(w):m;let v=go({items:w,lookup:d});for(const m of g.values())v=m(v);c&&l(w),v.length>0?f==null||f(v):h&&window.requestAnimationFrame(()=>{const{fitViewQueued:m,nodes:x,setNodes:p}=t.getState();m&&p(x)})},[]),i=yo(n),r=O.useCallback(a=>{const{edges:u=[],setEdges:l,hasDefaultEdges:c,onEdgesChange:f,edgeLookup:d}=t.getState();let h=u;for(const g of a)h=typeof g=="function"?g(h):g;c?l(h):f&&f(go({items:h,lookup:d}))},[]),o=yo(r),s=O.useMemo(()=>({nodeQueue:i,edgeQueue:o}),[]);return $.jsx(Au.Provider,{value:s,children:e})}function Xg(){const e=O.useContext(Au);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Ug=e=>!!e.panZoom;function Ei(){const e=Og(),t=ie(),n=Xg(),i=te(Ug),r=O.useMemo(()=>{const o=f=>t.getState().nodeLookup.get(f),s=f=>{n.nodeQueue.push(f)},a=f=>{n.edgeQueue.push(f)},u=f=>{var m,x;const{nodeLookup:d,nodeOrigin:h}=t.getState(),g=vo(f)?f:d.get(f.id),w=g.parentId?iu(g.position,g.measured,g.parentId,d,h):g.position,v={...g,position:w,width:((m=g.measured)==null?void 0:m.width)??g.width,height:((x=g.measured)==null?void 0:x.height)??g.height};return Ge(v)},l=(f,d,h={replace:!1})=>{s(g=>g.map(w=>{if(w.id===f){const v=typeof d=="function"?d(w):d;return h.replace&&vo(v)?v:{...w,...v}}return w}))},c=(f,d,h={replace:!1})=>{a(g=>g.map(w=>{if(w.id===f){const v=typeof d=="function"?d(w):d;return h.replace&&jg(v)?v:{...w,...v}}return w}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>{var d;return(d=o(f))==null?void 0:d.internals.userNode},getInternalNode:o,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(d=>({...d}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:s,setEdges:a,addNodes:f=>{const d=Array.isArray(f)?f:[f];n.nodeQueue.push(h=>[...h,...d])},addEdges:f=>{const d=Array.isArray(f)?f:[f];n.edgeQueue.push(h=>[...h,...d])},toObject:()=>{const{nodes:f=[],edges:d=[],transform:h}=t.getState(),[g,w,v]=h;return{nodes:f.map(m=>({...m})),edges:d.map(m=>({...m})),viewport:{x:g,y:w,zoom:v}}},deleteElements:async({nodes:f=[],edges:d=[]})=>{const{nodes:h,edges:g,onNodesDelete:w,onEdgesDelete:v,triggerNodeChanges:m,triggerEdgeChanges:x,onDelete:p,onBeforeDelete:y}=t.getState(),{nodes:_,edges:b}=await bp({nodesToRemove:f,edgesToRemove:d,nodes:h,edges:g,onBeforeDelete:y}),N=b.length>0,S=_.length>0;if(N){const C=b.map(mo);v==null||v(b),x(C)}if(S){const C=_.map(mo);w==null||w(_),m(C)}return(S||N)&&(p==null||p({nodes:_,edges:b})),{deletedNodes:_,deletedEdges:b}},getIntersectingNodes:(f,d=!0,h)=>{const g=Yi(f),w=g?f:u(f),v=h!==void 0;return w?(h||t.getState().nodes).filter(m=>{const x=t.getState().nodeLookup.get(m.id);if(x&&!g&&(m.id===f.id||!x.internals.positionAbsolute))return!1;const p=Ge(v?m:x),y=at(p,w);return d&&y>0||y>=p.width*p.height||y>=w.width*w.height}):[]},isNodeIntersecting:(f,d,h=!0)=>{const w=Yi(f)?f:u(f);if(!w)return!1;const v=at(w,d);return h&&v>0||v>=d.width*d.height||v>=w.width*w.height},updateNode:l,updateNodeData:(f,d,h={replace:!1})=>{l(f,g=>{const w=typeof d=="function"?d(g):d;return h.replace?{...g,data:w}:{...g,data:{...g.data,...w}}},h)},updateEdge:c,updateEdgeData:(f,d,h={replace:!1})=>{c(f,g=>{const w=typeof d=="function"?d(g):d;return h.replace?{...g,data:w}:{...g,data:{...g.data,...w}}},h)},getNodesBounds:f=>{const{nodeLookup:d,nodeOrigin:h}=t.getState();return yp(f,{nodeLookup:d,nodeOrigin:h})},getHandleConnections:({type:f,id:d,nodeId:h})=>{var g;return Array.from(((g=t.getState().connectionLookup.get(`${h}-${f}${d?`-${d}`:""}`))==null?void 0:g.values())??[])},getNodeConnections:({type:f,handleId:d,nodeId:h})=>{var g;return Array.from(((g=t.getState().connectionLookup.get(`${h}${f?d?`-${f}-${d}`:`-${f}`:""}`))==null?void 0:g.values())??[])},fitView:async f=>{const d=t.getState().fitViewResolver??Cp();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:d}),n.nodeQueue.push(h=>[...h]),d.promise}}},[]);return O.useMemo(()=>({...r,...e,viewportInitialized:i}),[i])}const wo=e=>e.selected,Kg=typeof window<"u"?window:void 0;function Zg({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=ie(),{deleteElements:i}=Ei(),r=ct(e,{actInsideInputWithModifier:!1}),o=ct(t,{target:Kg});O.useEffect(()=>{if(r){const{edges:s,nodes:a}=n.getState();i({nodes:a.filter(wo),edges:s.filter(wo)}),n.setState({nodesSelectionActive:!1})}},[r]),O.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])}function Qg(e){const t=ie();O.useEffect(()=>{const n=()=>{var r,o,s,a;if(!e.current||!(((o=(r=e.current).checkVisibility)==null?void 0:o.call(r))??!0))return!1;const i=vi(e.current);(i.height===0||i.width===0)&&((a=(s=t.getState()).onError)==null||a.call(s,"004",ve.error004())),t.setState({width:i.width||500,height:i.height||500})};if(e.current){n(),window.addEventListener("resize",n);const i=new ResizeObserver(()=>n());return i.observe(e.current),()=>{window.removeEventListener("resize",n),i&&e.current&&i.unobserve(e.current)}}},[])}const Kt={position:"absolute",width:"100%",height:"100%",top:0,left:0},Jg=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function em({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:i=!1,panOnScrollSpeed:r=.5,panOnScrollMode:o=Pe.Free,zoomOnDoubleClick:s=!0,panOnDrag:a=!0,defaultViewport:u,translateExtent:l,minZoom:c,maxZoom:f,zoomActivationKeyCode:d,preventScrolling:h=!0,children:g,noWheelClassName:w,noPanClassName:v,onViewportChange:m,isControlledViewport:x,paneClickDistance:p,selectionOnDrag:y}){const _=ie(),b=O.useRef(null),{userSelectionActive:N,lib:S,connectionInProgress:C}=te(Jg,re),q=ct(d),k=O.useRef();Qg(b);const M=O.useCallback(z=>{m==null||m({x:z[0],y:z[1],zoom:z[2]}),x||_.setState({transform:z})},[m,x]);return O.useEffect(()=>{if(b.current){k.current=cg({domNode:b.current,minZoom:c,maxZoom:f,translateExtent:l,viewport:u,onDraggingChange:A=>_.setState({paneDragging:A}),onPanZoomStart:(A,D)=>{const{onViewportChangeStart:L,onMoveStart:R}=_.getState();R==null||R(A,D),L==null||L(D)},onPanZoom:(A,D)=>{const{onViewportChange:L,onMove:R}=_.getState();R==null||R(A,D),L==null||L(D)},onPanZoomEnd:(A,D)=>{const{onViewportChangeEnd:L,onMoveEnd:R}=_.getState();R==null||R(A,D),L==null||L(D)}});const{x:z,y:E,zoom:P}=k.current.getViewport();return _.setState({panZoom:k.current,transform:[z,E,P],domNode:b.current.closest(".react-flow")}),()=>{var A;(A=k.current)==null||A.destroy()}}},[]),O.useEffect(()=>{var z;(z=k.current)==null||z.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:i,panOnScrollSpeed:r,panOnScrollMode:o,zoomOnDoubleClick:s,panOnDrag:a,zoomActivationKeyPressed:q,preventScrolling:h,noPanClassName:v,userSelectionActive:N,noWheelClassName:w,lib:S,onTransformChange:M,connectionInProgress:C,selectionOnDrag:y,paneClickDistance:p})},[e,t,n,i,r,o,s,a,q,h,v,N,w,S,M,C,y,p]),$.jsx("div",{className:"react-flow__renderer",ref:b,style:Kt,children:g})}const tm=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function nm(){const{userSelectionActive:e,userSelectionRect:t}=te(tm,re);return e&&t?$.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const un=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},rm=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function im({isSelecting:e,selectionKeyPressed:t,selectionMode:n=st.Full,panOnDrag:i,paneClickDistance:r,selectionOnDrag:o,onSelectionStart:s,onSelectionEnd:a,onPaneClick:u,onPaneContextMenu:l,onPaneScroll:c,onPaneMouseEnter:f,onPaneMouseMove:d,onPaneMouseLeave:h,children:g}){const w=ie(),{userSelectionActive:v,elementsSelectable:m,dragging:x,connectionInProgress:p}=te(rm,re),y=m&&(e||v),_=O.useRef(null),b=O.useRef(),N=O.useRef(new Set),S=O.useRef(new Set),C=O.useRef(!1),q=L=>{if(C.current||p){C.current=!1;return}u==null||u(L),w.getState().resetSelectedElements(),w.setState({nodesSelectionActive:!1})},k=L=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){L.preventDefault();return}l==null||l(L)},M=c?L=>c(L):void 0,z=L=>{C.current&&(L.stopPropagation(),C.current=!1)},E=L=>{var T,F;const{domNode:R}=w.getState();if(b.current=R==null?void 0:R.getBoundingClientRect(),!b.current)return;const H=L.target===_.current;if(!H&&!!L.target.closest(".nokey")||!e||!(o&&H||t)||L.button!==0||!L.isPrimary)return;(F=(T=L.target)==null?void 0:T.setPointerCapture)==null||F.call(T,L.pointerId),C.current=!1;const{x:W,y:I}=pe(L.nativeEvent,b.current);w.setState({userSelectionRect:{width:0,height:0,startX:W,startY:I,x:W,y:I}}),H||(L.stopPropagation(),L.preventDefault())},P=L=>{const{userSelectionRect:R,transform:H,nodeLookup:G,edgeLookup:j,connectionLookup:W,triggerNodeChanges:I,triggerEdgeChanges:T,defaultEdgeOptions:F,resetSelectedElements:V}=w.getState();if(!b.current||!R)return;const{x:B,y:Y}=pe(L.nativeEvent,b.current),{startX:U,startY:K}=R;if(!C.current){const ee=t?0:r;if(Math.hypot(B-U,Y-K)<=ee)return;V(),s==null||s(L)}C.current=!0;const Q={startX:U,startY:K,x:B<U?B:U,y:Y<K?Y:K,width:Math.abs(B-U),height:Math.abs(Y-K)},X=N.current,J=S.current;N.current=new Set(gi(G,Q,H,n===st.Partial,!0).map(ee=>ee.id)),S.current=new Set;const ne=(F==null?void 0:F.selectable)??!0;for(const ee of N.current){const ae=W.get(ee);if(ae)for(const{edgeId:Ne}of ae.values()){const we=j.get(Ne);we&&(we.selectable??ne)&&S.current.add(Ne)}}if(!Wi(X,N.current)){const ee=Fe(G,N.current,!0);I(ee)}if(!Wi(J,S.current)){const ee=Fe(j,S.current);T(ee)}w.setState({userSelectionRect:Q,userSelectionActive:!0,nodesSelectionActive:!1})},A=L=>{var R,H;L.button===0&&((H=(R=L.target)==null?void 0:R.releasePointerCapture)==null||H.call(R,L.pointerId),!v&&L.target===_.current&&w.getState().userSelectionRect&&(q==null||q(L)),w.setState({userSelectionActive:!1,userSelectionRect:null}),C.current&&(a==null||a(L),w.setState({nodesSelectionActive:N.current.size>0})))},D=i===!0||Array.isArray(i)&&i.includes(0);return $.jsxs("div",{className:se(["react-flow__pane",{draggable:D,dragging:x,selection:e}]),onClick:y?void 0:un(q,_),onContextMenu:un(k,_),onWheel:un(M,_),onPointerEnter:y?void 0:f,onPointerMove:y?P:d,onPointerUp:y?A:void 0,onPointerDownCapture:y?E:void 0,onClickCapture:y?z:void 0,onPointerLeave:h,ref:_,style:Kt,children:[g,$.jsx(nm,{})]})}function ti({id:e,store:t,unselect:n=!1,nodeRef:i}){const{addSelectedNodes:r,unselectNodesAndEdges:o,multiSelectionActive:s,nodeLookup:a,onError:u}=t.getState(),l=a.get(e);if(!l){u==null||u("012",ve.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l],edges:[]}),requestAnimationFrame(()=>{var c;return(c=i==null?void 0:i.current)==null?void 0:c.blur()})):r([e])}function Pu({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:i,nodeId:r,isSelectable:o,nodeClickDistance:s}){const a=ie(),[u,l]=O.useState(!1),c=O.useRef();return O.useEffect(()=>{c.current=Up({getStoreItems:()=>a.getState(),onNodeMouseDown:f=>{ti({id:f,store:a,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}})},[]),O.useEffect(()=>{var f,d;if(t)(f=c.current)==null||f.destroy();else if(e.current)return(d=c.current)==null||d.update({noDragClassName:n,handleSelector:i,domNode:e.current,isSelectable:o,nodeId:r,nodeClickDistance:s}),()=>{var h;(h=c.current)==null||h.destroy()}},[n,i,t,o,e,r]),u}const om=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Ru(){const e=ie();return O.useCallback(n=>{const{nodeExtent:i,snapToGrid:r,snapGrid:o,nodesDraggable:s,onError:a,updateNodePositions:u,nodeLookup:l,nodeOrigin:c}=e.getState(),f=new Map,d=om(s),h=r?o[0]:5,g=r?o[1]:5,w=n.direction.x*h*n.factor,v=n.direction.y*g*n.factor;for(const[,m]of l){if(!d(m))continue;let x={x:m.internals.positionAbsolute.x+w,y:m.internals.positionAbsolute.y+v};r&&(x=ht(x,o));const{position:p,positionAbsolute:y}=Ja({nodeId:m.id,nextPosition:x,nodeLookup:l,nodeExtent:i,nodeOrigin:c,onError:a});m.position=p,m.internals.positionAbsolute=y,f.set(m.id,m)}u(f)},[])}const Ni=O.createContext(null),sm=Ni.Provider;Ni.Consumer;const Lu=()=>O.useContext(Ni),am=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),um=(e,t,n)=>i=>{const{connectionClickStartHandle:r,connectionMode:o,connection:s}=i,{fromHandle:a,toHandle:u,isValid:l}=s,c=(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.id)===t&&(u==null?void 0:u.type)===n;return{connectingFrom:(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.id)===t&&(a==null?void 0:a.type)===n,connectingTo:c,clickConnecting:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===t&&(r==null?void 0:r.type)===n,isPossibleEndHandle:o===He.Strict?(a==null?void 0:a.type)!==n:e!==(a==null?void 0:a.nodeId)||t!==(a==null?void 0:a.id),connectionInProcess:!!a,clickConnectionInProcess:!!r,valid:c&&l}};function cm({type:e="source",position:t=Z.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:r=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:u,className:l,onMouseDown:c,onTouchStart:f,...d},h){var P,A;const g=s||null,w=e==="target",v=ie(),m=Lu(),{connectOnClick:x,noPanClassName:p,rfId:y}=te(am,re),{connectingFrom:_,connectingTo:b,clickConnecting:N,isPossibleEndHandle:S,connectionInProcess:C,clickConnectionInProcess:q,valid:k}=te(um(m,g,e),re);m||(A=(P=v.getState()).onError)==null||A.call(P,"010",ve.error010());const M=D=>{const{defaultEdgeOptions:L,onConnect:R,hasDefaultEdges:H}=v.getState(),G={...L,...D};if(H){const{edges:j,setEdges:W}=v.getState();W(Lp(G,j))}R==null||R(G),a==null||a(G)},z=D=>{if(!m)return;const L=au(D.nativeEvent);if(r&&(L&&D.button===0||!L)){const R=v.getState();ei.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:R.autoPanOnConnect,connectionMode:R.connectionMode,connectionRadius:R.connectionRadius,domNode:R.domNode,nodeLookup:R.nodeLookup,lib:R.lib,isTarget:w,handleId:g,nodeId:m,flowId:R.rfId,panBy:R.panBy,cancelConnection:R.cancelConnection,onConnectStart:R.onConnectStart,onConnectEnd:R.onConnectEnd,updateConnection:R.updateConnection,onConnect:M,isValidConnection:n||R.isValidConnection,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:R.autoPanSpeed,dragThreshold:R.connectionDragThreshold})}L?c==null||c(D):f==null||f(D)},E=D=>{const{onClickConnectStart:L,onClickConnectEnd:R,connectionClickStartHandle:H,connectionMode:G,isValidConnection:j,lib:W,rfId:I,nodeLookup:T,connection:F}=v.getState();if(!m||!H&&!r)return;if(!H){L==null||L(D.nativeEvent,{nodeId:m,handleId:g,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:m,type:e,id:g}});return}const V=ou(D.target),B=n||j,{connection:Y,isValid:U}=ei.isValid(D.nativeEvent,{handle:{nodeId:m,id:g,type:e},connectionMode:G,fromNodeId:H.nodeId,fromHandleId:H.id||null,fromType:H.type,isValidConnection:B,flowId:I,doc:V,lib:W,nodeLookup:T});U&&Y&&M(Y);const K=structuredClone(F);delete K.inProgress,K.toPosition=K.toHandle?K.toHandle.position:null,R==null||R(D,K),v.setState({connectionClickStartHandle:null})};return $.jsx("div",{"data-handleid":g,"data-nodeid":m,"data-handlepos":t,"data-id":`${y}-${m}-${g}-${e}`,className:se(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",p,l,{source:!w,target:w,connectable:i,connectablestart:r,connectableend:o,clickconnecting:N,connectingfrom:_,connectingto:b,valid:k,connectionindicator:i&&(!C||S)&&(C||q?o:r)}]),onMouseDown:z,onTouchStart:z,onClick:x?E:void 0,ref:h,...d,children:u})}const Tt=O.memo(Iu(cm));function lm({data:e,isConnectable:t,sourcePosition:n=Z.Bottom}){return $.jsxs($.Fragment,{children:[e==null?void 0:e.label,$.jsx(Tt,{type:"source",position:n,isConnectable:t})]})}function fm({data:e,isConnectable:t,targetPosition:n=Z.Top,sourcePosition:i=Z.Bottom}){return $.jsxs($.Fragment,{children:[$.jsx(Tt,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,$.jsx(Tt,{type:"source",position:i,isConnectable:t})]})}function dm(){return null}function hm({data:e,isConnectable:t,targetPosition:n=Z.Top}){return $.jsxs($.Fragment,{children:[$.jsx(Tt,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const Dt={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},xo={input:lm,default:fm,output:hm,group:dm};function pm(e){var t,n,i,r;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((i=e.style)==null?void 0:i.width),height:e.height??((r=e.style)==null?void 0:r.height)}}const gm=e=>{const{width:t,height:n,x:i,y:r}=dt(e.nodeLookup,{filter:o=>!!o.selected});return{width:he(t)?t:null,height:he(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${i}px,${r}px)`}};function mm({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const i=ie(),{width:r,height:o,transformString:s,userSelectionActive:a}=te(gm,re),u=Ru(),l=O.useRef(null);if(O.useEffect(()=>{var d;n||(d=l.current)==null||d.focus({preventScroll:!0})},[n]),Pu({nodeRef:l}),a||!r||!o)return null;const c=e?d=>{const h=i.getState().nodes.filter(g=>g.selected);e(d,h)}:void 0,f=d=>{Object.prototype.hasOwnProperty.call(Dt,d.key)&&(d.preventDefault(),u({direction:Dt[d.key],factor:d.shiftKey?4:1}))};return $.jsx("div",{className:se(["react-flow__nodesselection","react-flow__container",t]),style:{transform:s},children:$.jsx("div",{ref:l,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:n?void 0:-1,onKeyDown:n?void 0:f,style:{width:r,height:o}})})}const _o=typeof window<"u"?window:void 0,vm=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function qu({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:o,onPaneScroll:s,paneClickDistance:a,deleteKeyCode:u,selectionKeyCode:l,selectionOnDrag:c,selectionMode:f,onSelectionStart:d,onSelectionEnd:h,multiSelectionKeyCode:g,panActivationKeyCode:w,zoomActivationKeyCode:v,elementsSelectable:m,zoomOnScroll:x,zoomOnPinch:p,panOnScroll:y,panOnScrollSpeed:_,panOnScrollMode:b,zoomOnDoubleClick:N,panOnDrag:S,defaultViewport:C,translateExtent:q,minZoom:k,maxZoom:M,preventScrolling:z,onSelectionContextMenu:E,noWheelClassName:P,noPanClassName:A,disableKeyboardA11y:D,onViewportChange:L,isControlledViewport:R}){const{nodesSelectionActive:H,userSelectionActive:G}=te(vm,re),j=ct(l,{target:_o}),W=ct(w,{target:_o}),I=W||S,T=W||y,F=c&&I!==!0,V=j||G||F;return Zg({deleteKeyCode:u,multiSelectionKeyCode:g}),$.jsx(em,{onPaneContextMenu:o,elementsSelectable:m,zoomOnScroll:x,zoomOnPinch:p,panOnScroll:T,panOnScrollSpeed:_,panOnScrollMode:b,zoomOnDoubleClick:N,panOnDrag:!j&&I,defaultViewport:C,translateExtent:q,minZoom:k,maxZoom:M,zoomActivationKeyCode:v,preventScrolling:z,noWheelClassName:P,noPanClassName:A,onViewportChange:L,isControlledViewport:R,paneClickDistance:a,selectionOnDrag:F,children:$.jsxs(im,{onSelectionStart:d,onSelectionEnd:h,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:I,isSelecting:!!V,selectionMode:f,selectionKeyPressed:j,paneClickDistance:a,selectionOnDrag:F,children:[e,H&&$.jsx(mm,{onSelectionContextMenu:E,noPanClassName:A,disableKeyboardA11y:D})]})})}qu.displayName="FlowRenderer";const ym=O.memo(qu),wm=e=>t=>e?gi(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function xm(e){return te(O.useCallback(wm(e),[e]),re)}const _m=e=>e.updateNodeInternals;function bm(){const e=te(_m),[t]=O.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const i=new Map;n.forEach(r=>{const o=r.target.getAttribute("data-id");i.set(o,{id:o,nodeElement:r.target,force:!0})}),e(i)}));return O.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function Em({node:e,nodeType:t,hasDimensions:n,resizeObserver:i}){const r=ie(),o=O.useRef(null),s=O.useRef(null),a=O.useRef(e.sourcePosition),u=O.useRef(e.targetPosition),l=O.useRef(t),c=n&&!!e.internals.handleBounds;return O.useEffect(()=>{o.current&&!e.hidden&&(!c||s.current!==o.current)&&(s.current&&(i==null||i.unobserve(s.current)),i==null||i.observe(o.current),s.current=o.current)},[c,e.hidden]),O.useEffect(()=>()=>{s.current&&(i==null||i.unobserve(s.current),s.current=null)},[]),O.useEffect(()=>{if(o.current){const f=l.current!==t,d=a.current!==e.sourcePosition,h=u.current!==e.targetPosition;(f||d||h)&&(l.current=t,a.current=e.sourcePosition,u.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:o.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),o}function Nm({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:r,onContextMenu:o,onDoubleClick:s,nodesDraggable:a,elementsSelectable:u,nodesConnectable:l,nodesFocusable:c,resizeObserver:f,noDragClassName:d,noPanClassName:h,disableKeyboardA11y:g,rfId:w,nodeTypes:v,nodeClickDistance:m,onError:x}){const{node:p,internals:y,isParent:_}=te(B=>{const Y=B.nodeLookup.get(e),U=B.parentLookup.has(e);return{node:Y,internals:Y.internals,isParent:U}},re);let b=p.type||"default",N=(v==null?void 0:v[b])||xo[b];N===void 0&&(x==null||x("003",ve.error003(b)),b="default",N=(v==null?void 0:v.default)||xo.default);const S=!!(p.draggable||a&&typeof p.draggable>"u"),C=!!(p.selectable||u&&typeof p.selectable>"u"),q=!!(p.connectable||l&&typeof p.connectable>"u"),k=!!(p.focusable||c&&typeof p.focusable>"u"),M=ie(),z=ru(p),E=Em({node:p,nodeType:b,hasDimensions:z,resizeObserver:f}),P=Pu({nodeRef:E,disabled:p.hidden||!S,noDragClassName:d,handleSelector:p.dragHandle,nodeId:e,isSelectable:C,nodeClickDistance:m}),A=Ru();if(p.hidden)return null;const D=Ee(p),L=pm(p),R=C||S||t||n||i||r,H=n?B=>n(B,{...y.userNode}):void 0,G=i?B=>i(B,{...y.userNode}):void 0,j=r?B=>r(B,{...y.userNode}):void 0,W=o?B=>o(B,{...y.userNode}):void 0,I=s?B=>s(B,{...y.userNode}):void 0,T=B=>{const{selectNodesOnDrag:Y,nodeDragThreshold:U}=M.getState();C&&(!Y||!S||U>0)&&ti({id:e,store:M,nodeRef:E}),t&&t(B,{...y.userNode})},F=B=>{if(!(su(B.nativeEvent)||g)){if(Xa.includes(B.key)&&C){const Y=B.key==="Escape";ti({id:e,store:M,unselect:Y,nodeRef:E})}else if(S&&p.selected&&Object.prototype.hasOwnProperty.call(Dt,B.key)){B.preventDefault();const{ariaLabelConfig:Y}=M.getState();M.setState({ariaLiveMessage:Y["node.a11yDescription.ariaLiveMessage"]({direction:B.key.replace("Arrow","").toLowerCase(),x:~~y.positionAbsolute.x,y:~~y.positionAbsolute.y})}),A({direction:Dt[B.key],factor:B.shiftKey?4:1})}}},V=()=>{var J;if(g||!((J=E.current)!=null&&J.matches(":focus-visible")))return;const{transform:B,width:Y,height:U,autoPanOnNodeFocus:K,setCenter:Q}=M.getState();if(!K)return;gi(new Map([[e,p]]),{x:0,y:0,width:Y,height:U},B,!0).length>0||Q(p.position.x+D.width/2,p.position.y+D.height/2,{zoom:B[2]})};return $.jsx("div",{className:se(["react-flow__node",`react-flow__node-${b}`,{[h]:S},p.className,{selected:p.selected,selectable:C,parent:_,draggable:S,dragging:P}]),ref:E,style:{zIndex:y.z,transform:`translate(${y.positionAbsolute.x}px,${y.positionAbsolute.y}px)`,pointerEvents:R?"all":"none",visibility:z?"visible":"hidden",...p.style,...L},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:H,onMouseMove:G,onMouseLeave:j,onContextMenu:W,onClick:T,onDoubleClick:I,onKeyDown:k?F:void 0,tabIndex:k?0:void 0,onFocus:k?V:void 0,role:p.ariaRole??(k?"group":void 0),"aria-roledescription":"node","aria-describedby":g?void 0:`${Su}-${w}`,"aria-label":p.ariaLabel,...p.domAttributes,children:$.jsx(sm,{value:e,children:$.jsx(N,{id:e,data:p.data,type:b,positionAbsoluteX:y.positionAbsolute.x,positionAbsoluteY:y.positionAbsolute.y,selected:p.selected??!1,selectable:C,draggable:S,deletable:p.deletable??!0,isConnectable:q,sourcePosition:p.sourcePosition,targetPosition:p.targetPosition,dragging:P,dragHandle:p.dragHandle,zIndex:y.z,parentId:p.parentId,...D})})})}var Sm=O.memo(Nm);const Cm=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Tu(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,onError:o}=te(Cm,re),s=xm(e.onlyRenderVisibleElements),a=bm();return $.jsx("div",{className:"react-flow__nodes",style:Kt,children:s.map(u=>$.jsx(Sm,{id:u,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:a,nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:o},u))})}Tu.displayName="NodeRenderer";const km=O.memo(Tu);function Mm(e){return te(O.useCallback(n=>{if(!e)return n.edges.map(r=>r.id);const i=[];if(n.width&&n.height)for(const r of n.edges){const o=n.nodeLookup.get(r.source),s=n.nodeLookup.get(r.target);o&&s&&Ap({sourceNode:o,targetNode:s,width:n.width,height:n.height,transform:n.transform})&&i.push(r.id)}return i},[e]),re)}const Im=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return $.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Am=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return $.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},bo={[Rt.Arrow]:Im,[Rt.ArrowClosed]:Am};function Pm(e){const t=ie();return O.useMemo(()=>{var r,o;return Object.prototype.hasOwnProperty.call(bo,e)?bo[e]:((o=(r=t.getState()).onError)==null||o.call(r,"009",ve.error009(e)),null)},[e])}const Rm=({id:e,type:t,color:n,width:i=12.5,height:r=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const u=Pm(t);return u?$.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:$.jsx(u,{color:n,strokeWidth:s})}):null},Du=({defaultColor:e,rfId:t})=>{const n=te(o=>o.edges),i=te(o=>o.defaultEdgeOptions),r=O.useMemo(()=>$p(n,{id:t,defaultColor:e,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[n,i,t,e]);return r.length?$.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:$.jsx("defs",{children:r.map(o=>$.jsx(Rm,{id:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient},o.id))})}):null};Du.displayName="MarkerDefinitions";var Lm=O.memo(Du);function zu({x:e,y:t,label:n,labelStyle:i,labelShowBg:r=!0,labelBgStyle:o,labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:u,className:l,...c}){const[f,d]=O.useState({x:1,y:0,width:0,height:0}),h=se(["react-flow__edge-textwrapper",l]),g=O.useRef(null);return O.useEffect(()=>{if(g.current){const w=g.current.getBBox();d({x:w.x,y:w.y,width:w.width,height:w.height})}},[n]),n?$.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:h,visibility:f.width?"visible":"hidden",...c,children:[r&&$.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),$.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:g,style:i,children:n}),u]}):null}zu.displayName="EdgeText";const qm=O.memo(zu);function Zt({path:e,labelX:t,labelY:n,label:i,labelStyle:r,labelShowBg:o,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:u,interactionWidth:l=20,...c}){return $.jsxs($.Fragment,{children:[$.jsx("path",{...c,d:e,fill:"none",className:se(["react-flow__edge-path",c.className])}),l?$.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:l,className:"react-flow__edge-interaction"}):null,i&&he(t)&&he(n)?$.jsx(qm,{x:t,y:n,label:i,labelStyle:r,labelShowBg:o,labelBgStyle:s,labelBgPadding:a,labelBgBorderRadius:u}):null]})}function Eo({pos:e,x1:t,y1:n,x2:i,y2:r}){return e===Z.Left||e===Z.Right?[.5*(t+i),n]:[t,.5*(n+r)]}function $u({sourceX:e,sourceY:t,sourcePosition:n=Z.Bottom,targetX:i,targetY:r,targetPosition:o=Z.Top}){const[s,a]=Eo({pos:n,x1:e,y1:t,x2:i,y2:r}),[u,l]=Eo({pos:o,x1:i,y1:r,x2:e,y2:t}),[c,f,d,h]=uu({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:u,targetControlY:l});return[`M${e},${t} C${s},${a} ${u},${l} ${i},${r}`,c,f,d,h]}function Fu(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:o,sourcePosition:s,targetPosition:a,label:u,labelStyle:l,labelShowBg:c,labelBgStyle:f,labelBgPadding:d,labelBgBorderRadius:h,style:g,markerEnd:w,markerStart:v,interactionWidth:m})=>{const[x,p,y]=$u({sourceX:n,sourceY:i,sourcePosition:s,targetX:r,targetY:o,targetPosition:a}),_=e.isInternal?void 0:t;return $.jsx(Zt,{id:_,path:x,labelX:p,labelY:y,label:u,labelStyle:l,labelShowBg:c,labelBgStyle:f,labelBgPadding:d,labelBgBorderRadius:h,style:g,markerEnd:w,markerStart:v,interactionWidth:m})})}const Tm=Fu({isInternal:!1}),Ou=Fu({isInternal:!0});Tm.displayName="SimpleBezierEdge";Ou.displayName="SimpleBezierEdgeInternal";function Vu(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:o,label:s,labelStyle:a,labelShowBg:u,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:f,style:d,sourcePosition:h=Z.Bottom,targetPosition:g=Z.Top,markerEnd:w,markerStart:v,pathOptions:m,interactionWidth:x})=>{const[p,y,_]=Zr({sourceX:n,sourceY:i,sourcePosition:h,targetX:r,targetY:o,targetPosition:g,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset,stepPosition:m==null?void 0:m.stepPosition}),b=e.isInternal?void 0:t;return $.jsx(Zt,{id:b,path:p,labelX:y,labelY:_,label:s,labelStyle:a,labelShowBg:u,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:f,style:d,markerEnd:w,markerStart:v,interactionWidth:x})})}const Bu=Vu({isInternal:!1}),Hu=Vu({isInternal:!0});Bu.displayName="SmoothStepEdge";Hu.displayName="SmoothStepEdgeInternal";function ju(e){return O.memo(({id:t,...n})=>{var r;const i=e.isInternal?void 0:t;return $.jsx(Bu,{...n,id:i,pathOptions:O.useMemo(()=>{var o;return{borderRadius:0,offset:(o=n.pathOptions)==null?void 0:o.offset}},[(r=n.pathOptions)==null?void 0:r.offset])})})}const Dm=ju({isInternal:!1}),Gu=ju({isInternal:!0});Dm.displayName="StepEdge";Gu.displayName="StepEdgeInternal";function Yu(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:o,label:s,labelStyle:a,labelShowBg:u,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:f,style:d,markerEnd:h,markerStart:g,interactionWidth:w})=>{const[v,m,x]=fu({sourceX:n,sourceY:i,targetX:r,targetY:o}),p=e.isInternal?void 0:t;return $.jsx(Zt,{id:p,path:v,labelX:m,labelY:x,label:s,labelStyle:a,labelShowBg:u,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:f,style:d,markerEnd:h,markerStart:g,interactionWidth:w})})}const zm=Yu({isInternal:!1}),Wu=Yu({isInternal:!0});zm.displayName="StraightEdge";Wu.displayName="StraightEdgeInternal";function Xu(e){return O.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:o,sourcePosition:s=Z.Bottom,targetPosition:a=Z.Top,label:u,labelStyle:l,labelShowBg:c,labelBgStyle:f,labelBgPadding:d,labelBgBorderRadius:h,style:g,markerEnd:w,markerStart:v,pathOptions:m,interactionWidth:x})=>{const[p,y,_]=cu({sourceX:n,sourceY:i,sourcePosition:s,targetX:r,targetY:o,targetPosition:a,curvature:m==null?void 0:m.curvature}),b=e.isInternal?void 0:t;return $.jsx(Zt,{id:b,path:p,labelX:y,labelY:_,label:u,labelStyle:l,labelShowBg:c,labelBgStyle:f,labelBgPadding:d,labelBgBorderRadius:h,style:g,markerEnd:w,markerStart:v,interactionWidth:x})})}const $m=Xu({isInternal:!1}),Uu=Xu({isInternal:!0});$m.displayName="BezierEdge";Uu.displayName="BezierEdgeInternal";const No={default:Uu,straight:Wu,step:Gu,smoothstep:Hu,simplebezier:Ou},So={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},Fm=(e,t,n)=>n===Z.Left?e-t:n===Z.Right?e+t:e,Om=(e,t,n)=>n===Z.Top?e-t:n===Z.Bottom?e+t:e,Co="react-flow__edgeupdater";function ko({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:r,onMouseEnter:o,onMouseOut:s,type:a}){return $.jsx("circle",{onMouseDown:r,onMouseEnter:o,onMouseOut:s,className:se([Co,`${Co}-${a}`]),cx:Fm(t,i,e),cy:Om(n,i,e),r:i,stroke:"transparent",fill:"transparent"})}function Vm({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:r,targetX:o,targetY:s,sourcePosition:a,targetPosition:u,onReconnect:l,onReconnectStart:c,onReconnectEnd:f,setReconnecting:d,setUpdateHover:h}){const g=ie(),w=(y,_)=>{if(y.button!==0)return;const{autoPanOnConnect:b,domNode:N,isValidConnection:S,connectionMode:C,connectionRadius:q,lib:k,onConnectStart:M,onConnectEnd:z,cancelConnection:E,nodeLookup:P,rfId:A,panBy:D,updateConnection:L}=g.getState(),R=_.type==="target",H=(W,I)=>{d(!1),f==null||f(W,n,_.type,I)},G=W=>l==null?void 0:l(n,W),j=(W,I)=>{d(!0),c==null||c(y,n,_.type),M==null||M(W,I)};ei.onPointerDown(y.nativeEvent,{autoPanOnConnect:b,connectionMode:C,connectionRadius:q,domNode:N,handleId:_.id,nodeId:_.nodeId,nodeLookup:P,isTarget:R,edgeUpdaterType:_.type,lib:k,flowId:A,cancelConnection:E,panBy:D,isValidConnection:S,onConnect:G,onConnectStart:j,onConnectEnd:z,onReconnectEnd:H,updateConnection:L,getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,dragThreshold:g.getState().connectionDragThreshold,handleDomNode:y.currentTarget})},v=y=>w(y,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),m=y=>w(y,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),x=()=>h(!0),p=()=>h(!1);return $.jsxs($.Fragment,{children:[(e===!0||e==="source")&&$.jsx(ko,{position:a,centerX:i,centerY:r,radius:t,onMouseDown:v,onMouseEnter:x,onMouseOut:p,type:"source"}),(e===!0||e==="target")&&$.jsx(ko,{position:u,centerX:o,centerY:s,radius:t,onMouseDown:m,onMouseEnter:x,onMouseOut:p,type:"target"})]})}function Bm({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:r,onDoubleClick:o,onContextMenu:s,onMouseEnter:a,onMouseMove:u,onMouseLeave:l,reconnectRadius:c,onReconnect:f,onReconnectStart:d,onReconnectEnd:h,rfId:g,edgeTypes:w,noPanClassName:v,onError:m,disableKeyboardA11y:x}){let p=te(Q=>Q.edgeLookup.get(e));const y=te(Q=>Q.defaultEdgeOptions);p=y?{...y,...p}:p;let _=p.type||"default",b=(w==null?void 0:w[_])||No[_];b===void 0&&(m==null||m("011",ve.error011(_)),_="default",b=(w==null?void 0:w.default)||No.default);const N=!!(p.focusable||t&&typeof p.focusable>"u"),S=typeof f<"u"&&(p.reconnectable||n&&typeof p.reconnectable>"u"),C=!!(p.selectable||i&&typeof p.selectable>"u"),q=O.useRef(null),[k,M]=O.useState(!1),[z,E]=O.useState(!1),P=ie(),{zIndex:A,sourceX:D,sourceY:L,targetX:R,targetY:H,sourcePosition:G,targetPosition:j}=te(O.useCallback(Q=>{const X=Q.nodeLookup.get(p.source),J=Q.nodeLookup.get(p.target);if(!X||!J)return{zIndex:p.zIndex,...So};const ne=zp({id:e,sourceNode:X,targetNode:J,sourceHandle:p.sourceHandle||null,targetHandle:p.targetHandle||null,connectionMode:Q.connectionMode,onError:m});return{zIndex:Ip({selected:p.selected,zIndex:p.zIndex,sourceNode:X,targetNode:J,elevateOnSelect:Q.elevateEdgesOnSelect,zIndexMode:Q.zIndexMode}),...ne||So}},[p.source,p.target,p.sourceHandle,p.targetHandle,p.selected,p.zIndex]),re),W=O.useMemo(()=>p.markerStart?`url('#${Qr(p.markerStart,g)}')`:void 0,[p.markerStart,g]),I=O.useMemo(()=>p.markerEnd?`url('#${Qr(p.markerEnd,g)}')`:void 0,[p.markerEnd,g]);if(p.hidden||D===null||L===null||R===null||H===null)return null;const T=Q=>{var ee;const{addSelectedEdges:X,unselectNodesAndEdges:J,multiSelectionActive:ne}=P.getState();C&&(P.setState({nodesSelectionActive:!1}),p.selected&&ne?(J({nodes:[],edges:[p]}),(ee=q.current)==null||ee.blur()):X([e])),r&&r(Q,p)},F=o?Q=>{o(Q,{...p})}:void 0,V=s?Q=>{s(Q,{...p})}:void 0,B=a?Q=>{a(Q,{...p})}:void 0,Y=u?Q=>{u(Q,{...p})}:void 0,U=l?Q=>{l(Q,{...p})}:void 0,K=Q=>{var X;if(!x&&Xa.includes(Q.key)&&C){const{unselectNodesAndEdges:J,addSelectedEdges:ne}=P.getState();Q.key==="Escape"?((X=q.current)==null||X.blur(),J({edges:[p]})):ne([e])}};return $.jsx("svg",{style:{zIndex:A},children:$.jsxs("g",{className:se(["react-flow__edge",`react-flow__edge-${_}`,p.className,v,{selected:p.selected,animated:p.animated,inactive:!C&&!r,updating:k,selectable:C}]),onClick:T,onDoubleClick:F,onContextMenu:V,onMouseEnter:B,onMouseMove:Y,onMouseLeave:U,onKeyDown:N?K:void 0,tabIndex:N?0:void 0,role:p.ariaRole??(N?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":p.ariaLabel===null?void 0:p.ariaLabel||`Edge from ${p.source} to ${p.target}`,"aria-describedby":N?`${Cu}-${g}`:void 0,ref:q,...p.domAttributes,children:[!z&&$.jsx(b,{id:e,source:p.source,target:p.target,type:p.type,selected:p.selected,animated:p.animated,selectable:C,deletable:p.deletable??!0,label:p.label,labelStyle:p.labelStyle,labelShowBg:p.labelShowBg,labelBgStyle:p.labelBgStyle,labelBgPadding:p.labelBgPadding,labelBgBorderRadius:p.labelBgBorderRadius,sourceX:D,sourceY:L,targetX:R,targetY:H,sourcePosition:G,targetPosition:j,data:p.data,style:p.style,sourceHandleId:p.sourceHandle,targetHandleId:p.targetHandle,markerStart:W,markerEnd:I,pathOptions:"pathOptions"in p?p.pathOptions:void 0,interactionWidth:p.interactionWidth}),S&&$.jsx(Vm,{edge:p,isReconnectable:S,reconnectRadius:c,onReconnect:f,onReconnectStart:d,onReconnectEnd:h,sourceX:D,sourceY:L,targetX:R,targetY:H,sourcePosition:G,targetPosition:j,setUpdateHover:M,setReconnecting:E})]})})}var Hm=O.memo(Bm);const jm=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Ku({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:i,noPanClassName:r,onReconnect:o,onEdgeContextMenu:s,onEdgeMouseEnter:a,onEdgeMouseMove:u,onEdgeMouseLeave:l,onEdgeClick:c,reconnectRadius:f,onEdgeDoubleClick:d,onReconnectStart:h,onReconnectEnd:g,disableKeyboardA11y:w}){const{edgesFocusable:v,edgesReconnectable:m,elementsSelectable:x,onError:p}=te(jm,re),y=Mm(t);return $.jsxs("div",{className:"react-flow__edges",children:[$.jsx(Lm,{defaultColor:e,rfId:n}),y.map(_=>$.jsx(Hm,{id:_,edgesFocusable:v,edgesReconnectable:m,elementsSelectable:x,noPanClassName:r,onReconnect:o,onContextMenu:s,onMouseEnter:a,onMouseMove:u,onMouseLeave:l,onClick:c,reconnectRadius:f,onDoubleClick:d,onReconnectStart:h,onReconnectEnd:g,rfId:n,onError:p,edgeTypes:i,disableKeyboardA11y:w},_))]})}Ku.displayName="EdgeRenderer";const Gm=O.memo(Ku),Ym=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Wm({children:e}){const t=te(Ym);return $.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function Xm(e){const t=Ei(),n=O.useRef(!1);O.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Um=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function Km(e){const t=te(Um),n=ie();return O.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function Zm(e){return e.connection.inProgress?{...e.connection,to:pt(e.connection.to,e.transform)}:{...e.connection}}function Qm(e){return Zm}function Jm(e){const t=Qm();return te(t,re)}const ev=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function tv({containerStyle:e,style:t,type:n,component:i}){const{nodesConnectable:r,width:o,height:s,isValid:a,inProgress:u}=te(ev,re);return!(o&&r&&u)?null:$.jsx("svg",{style:e,width:o,height:s,className:"react-flow__connectionline react-flow__container",children:$.jsx("g",{className:se(["react-flow__connection",Za(a)]),children:$.jsx(Zu,{style:t,type:n,CustomComponent:i,isValid:a})})})}const Zu=({style:e,type:t=ke.Bezier,CustomComponent:n,isValid:i})=>{const{inProgress:r,from:o,fromNode:s,fromHandle:a,fromPosition:u,to:l,toNode:c,toHandle:f,toPosition:d,pointer:h}=Jm();if(!r)return;if(n)return $.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:s,fromHandle:a,fromX:o.x,fromY:o.y,toX:l.x,toY:l.y,fromPosition:u,toPosition:d,connectionStatus:Za(i),toNode:c,toHandle:f,pointer:h});let g="";const w={sourceX:o.x,sourceY:o.y,sourcePosition:u,targetX:l.x,targetY:l.y,targetPosition:d};switch(t){case ke.Bezier:[g]=cu(w);break;case ke.SimpleBezier:[g]=$u(w);break;case ke.Step:[g]=Zr({...w,borderRadius:0});break;case ke.SmoothStep:[g]=Zr(w);break;default:[g]=fu(w)}return $.jsx("path",{d:g,fill:"none",className:"react-flow__connection-path",style:e})};Zu.displayName="ConnectionLine";const nv={};function Mo(e=nv){O.useRef(e),ie(),O.useEffect(()=>{},[e])}function rv(){ie(),O.useRef(!1),O.useEffect(()=>{},[])}function Qu({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:i,onEdgeClick:r,onNodeDoubleClick:o,onEdgeDoubleClick:s,onNodeMouseEnter:a,onNodeMouseMove:u,onNodeMouseLeave:l,onNodeContextMenu:c,onSelectionContextMenu:f,onSelectionStart:d,onSelectionEnd:h,connectionLineType:g,connectionLineStyle:w,connectionLineComponent:v,connectionLineContainerStyle:m,selectionKeyCode:x,selectionOnDrag:p,selectionMode:y,multiSelectionKeyCode:_,panActivationKeyCode:b,zoomActivationKeyCode:N,deleteKeyCode:S,onlyRenderVisibleElements:C,elementsSelectable:q,defaultViewport:k,translateExtent:M,minZoom:z,maxZoom:E,preventScrolling:P,defaultMarkerColor:A,zoomOnScroll:D,zoomOnPinch:L,panOnScroll:R,panOnScrollSpeed:H,panOnScrollMode:G,zoomOnDoubleClick:j,panOnDrag:W,onPaneClick:I,onPaneMouseEnter:T,onPaneMouseMove:F,onPaneMouseLeave:V,onPaneScroll:B,onPaneContextMenu:Y,paneClickDistance:U,nodeClickDistance:K,onEdgeContextMenu:Q,onEdgeMouseEnter:X,onEdgeMouseMove:J,onEdgeMouseLeave:ne,reconnectRadius:ee,onReconnect:ae,onReconnectStart:Ne,onReconnectEnd:we,noDragClassName:Ie,noWheelClassName:Xe,noPanClassName:Ue,disableKeyboardA11y:Ke,nodeExtent:Qt,rfId:gt,viewport:De,onViewportChange:Ze}){return Mo(e),Mo(t),rv(),Xm(n),Km(De),$.jsx(ym,{onPaneClick:I,onPaneMouseEnter:T,onPaneMouseMove:F,onPaneMouseLeave:V,onPaneContextMenu:Y,onPaneScroll:B,paneClickDistance:U,deleteKeyCode:S,selectionKeyCode:x,selectionOnDrag:p,selectionMode:y,onSelectionStart:d,onSelectionEnd:h,multiSelectionKeyCode:_,panActivationKeyCode:b,zoomActivationKeyCode:N,elementsSelectable:q,zoomOnScroll:D,zoomOnPinch:L,zoomOnDoubleClick:j,panOnScroll:R,panOnScrollSpeed:H,panOnScrollMode:G,panOnDrag:W,defaultViewport:k,translateExtent:M,minZoom:z,maxZoom:E,onSelectionContextMenu:f,preventScrolling:P,noDragClassName:Ie,noWheelClassName:Xe,noPanClassName:Ue,disableKeyboardA11y:Ke,onViewportChange:Ze,isControlledViewport:!!De,children:$.jsxs(Wm,{children:[$.jsx(Gm,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:ae,onReconnectStart:Ne,onReconnectEnd:we,onlyRenderVisibleElements:C,onEdgeContextMenu:Q,onEdgeMouseEnter:X,onEdgeMouseMove:J,onEdgeMouseLeave:ne,reconnectRadius:ee,defaultMarkerColor:A,noPanClassName:Ue,disableKeyboardA11y:Ke,rfId:gt}),$.jsx(tv,{style:w,type:g,component:v,containerStyle:m}),$.jsx("div",{className:"react-flow__edgelabel-renderer"}),$.jsx(km,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:o,onNodeMouseEnter:a,onNodeMouseMove:u,onNodeMouseLeave:l,onNodeContextMenu:c,nodeClickDistance:K,onlyRenderVisibleElements:C,noPanClassName:Ue,noDragClassName:Ie,disableKeyboardA11y:Ke,nodeExtent:Qt,rfId:gt}),$.jsx("div",{className:"react-flow__viewport-portal"})]})})}Qu.displayName="GraphView";const iv=O.memo(Qu),Io=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:o,fitView:s,fitViewOptions:a,minZoom:u=.5,maxZoom:l=2,nodeOrigin:c,nodeExtent:f,zIndexMode:d="basic"}={})=>{const h=new Map,g=new Map,w=new Map,v=new Map,m=i??t??[],x=n??e??[],p=c??[0,0],y=f??ot;pu(w,v,m);const _=Jr(x,h,g,{nodeOrigin:p,nodeExtent:y,zIndexMode:d});let b=[0,0,1];if(s&&r&&o){const N=dt(h,{filter:k=>!!((k.width||k.initialWidth)&&(k.height||k.initialHeight))}),{x:S,y:C,zoom:q}=mi(N,r,o,u,l,(a==null?void 0:a.padding)??.1);b=[S,C,q]}return{rfId:"1",width:r??0,height:o??0,transform:b,nodes:x,nodesInitialized:_,nodeLookup:h,parentLookup:g,edges:m,edgeLookup:v,connectionLookup:w,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:u,maxZoom:l,translateExtent:ot,nodeExtent:y,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:He.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:p,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:a,fitViewResolver:null,connection:{...Ka},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Ep,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Ua,zIndexMode:d,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},ov=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:o,fitView:s,fitViewOptions:a,minZoom:u,maxZoom:l,nodeOrigin:c,nodeExtent:f,zIndexMode:d})=>_g((h,g)=>{async function w(){const{nodeLookup:v,panZoom:m,fitViewOptions:x,fitViewResolver:p,width:y,height:_,minZoom:b,maxZoom:N}=g();m&&(await _p({nodes:v,width:y,height:_,panZoom:m,minZoom:b,maxZoom:N},x),p==null||p.resolve(!0),h({fitViewResolver:null}))}return{...Io({nodes:e,edges:t,width:r,height:o,fitView:s,fitViewOptions:a,minZoom:u,maxZoom:l,nodeOrigin:c,nodeExtent:f,defaultNodes:n,defaultEdges:i,zIndexMode:d}),setNodes:v=>{const{nodeLookup:m,parentLookup:x,nodeOrigin:p,elevateNodesOnSelect:y,fitViewQueued:_,zIndexMode:b}=g(),N=Jr(v,m,x,{nodeOrigin:p,nodeExtent:f,elevateNodesOnSelect:y,checkEquality:!0,zIndexMode:b});_&&N?(w(),h({nodes:v,nodesInitialized:N,fitViewQueued:!1,fitViewOptions:void 0})):h({nodes:v,nodesInitialized:N})},setEdges:v=>{const{connectionLookup:m,edgeLookup:x}=g();pu(m,x,v),h({edges:v})},setDefaultNodesAndEdges:(v,m)=>{if(v){const{setNodes:x}=g();x(v),h({hasDefaultNodes:!0})}if(m){const{setEdges:x}=g();x(m),h({hasDefaultEdges:!0})}},updateNodeInternals:v=>{const{triggerNodeChanges:m,nodeLookup:x,parentLookup:p,domNode:y,nodeOrigin:_,nodeExtent:b,debug:N,fitViewQueued:S,zIndexMode:C}=g(),{changes:q,updatedInternals:k}=Gp(v,x,p,y,_,b,C);k&&(Vp(x,p,{nodeOrigin:_,nodeExtent:b,zIndexMode:C}),S?(w(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),(q==null?void 0:q.length)>0&&(N&&console.log("React Flow: trigger node changes",q),m==null||m(q)))},updateNodePositions:(v,m=!1)=>{const x=[];let p=[];const{nodeLookup:y,triggerNodeChanges:_,connection:b,updateConnection:N,onNodesChangeMiddlewareMap:S}=g();for(const[C,q]of v){const k=y.get(C),M=!!(k!=null&&k.expandParent&&(k!=null&&k.parentId)&&(q!=null&&q.position)),z={id:C,type:"position",position:M?{x:Math.max(0,q.position.x),y:Math.max(0,q.position.y)}:q.position,dragging:m};if(k&&b.inProgress&&b.fromNode.id===k.id){const E=qe(k,b.fromHandle,Z.Left,!0);N({...b,from:E})}M&&k.parentId&&x.push({id:C,parentId:k.parentId,rect:{...q.internals.positionAbsolute,width:q.measured.width??0,height:q.measured.height??0}}),p.push(z)}if(x.length>0){const{parentLookup:C,nodeOrigin:q}=g(),k=bi(x,y,C,q);p.push(...k)}for(const C of S.values())p=C(p);_(p)},triggerNodeChanges:v=>{const{onNodesChange:m,setNodes:x,nodes:p,hasDefaultNodes:y,debug:_}=g();if(v!=null&&v.length){if(y){const b=Bg(v,p);x(b)}_&&console.log("React Flow: trigger node changes",v),m==null||m(v)}},triggerEdgeChanges:v=>{const{onEdgesChange:m,setEdges:x,edges:p,hasDefaultEdges:y,debug:_}=g();if(v!=null&&v.length){if(y){const b=Hg(v,p);x(b)}_&&console.log("React Flow: trigger edge changes",v),m==null||m(v)}},addSelectedNodes:v=>{const{multiSelectionActive:m,edgeLookup:x,nodeLookup:p,triggerNodeChanges:y,triggerEdgeChanges:_}=g();if(m){const b=v.map(N=>Ae(N,!0));y(b);return}y(Fe(p,new Set([...v]),!0)),_(Fe(x))},addSelectedEdges:v=>{const{multiSelectionActive:m,edgeLookup:x,nodeLookup:p,triggerNodeChanges:y,triggerEdgeChanges:_}=g();if(m){const b=v.map(N=>Ae(N,!0));_(b);return}_(Fe(x,new Set([...v]))),y(Fe(p,new Set,!0))},unselectNodesAndEdges:({nodes:v,edges:m}={})=>{const{edges:x,nodes:p,nodeLookup:y,triggerNodeChanges:_,triggerEdgeChanges:b}=g(),N=v||p,S=m||x,C=N.map(k=>{const M=y.get(k.id);return M&&(M.selected=!1),Ae(k.id,!1)}),q=S.map(k=>Ae(k.id,!1));_(C),b(q)},setMinZoom:v=>{const{panZoom:m,maxZoom:x}=g();m==null||m.setScaleExtent([v,x]),h({minZoom:v})},setMaxZoom:v=>{const{panZoom:m,minZoom:x}=g();m==null||m.setScaleExtent([x,v]),h({maxZoom:v})},setTranslateExtent:v=>{var m;(m=g().panZoom)==null||m.setTranslateExtent(v),h({translateExtent:v})},resetSelectedElements:()=>{const{edges:v,nodes:m,triggerNodeChanges:x,triggerEdgeChanges:p,elementsSelectable:y}=g();if(!y)return;const _=m.reduce((N,S)=>S.selected?[...N,Ae(S.id,!1)]:N,[]),b=v.reduce((N,S)=>S.selected?[...N,Ae(S.id,!1)]:N,[]);x(_),p(b)},setNodeExtent:v=>{const{nodes:m,nodeLookup:x,parentLookup:p,nodeOrigin:y,elevateNodesOnSelect:_,nodeExtent:b,zIndexMode:N}=g();v[0][0]===b[0][0]&&v[0][1]===b[0][1]&&v[1][0]===b[1][0]&&v[1][1]===b[1][1]||(Jr(m,x,p,{nodeOrigin:y,nodeExtent:v,elevateNodesOnSelect:_,checkEquality:!1,zIndexMode:N}),h({nodeExtent:v}))},panBy:v=>{const{transform:m,width:x,height:p,panZoom:y,translateExtent:_}=g();return Yp({delta:v,panZoom:y,transform:m,translateExtent:_,width:x,height:p})},setCenter:async(v,m,x)=>{const{width:p,height:y,maxZoom:_,panZoom:b}=g();if(!b)return Promise.resolve(!1);const N=typeof(x==null?void 0:x.zoom)<"u"?x.zoom:_;return await b.setViewport({x:p/2-v*N,y:y/2-m*N,zoom:N},{duration:x==null?void 0:x.duration,ease:x==null?void 0:x.ease,interpolate:x==null?void 0:x.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{h({connection:{...Ka}})},updateConnection:v=>{h({connection:v})},reset:()=>h({...Io()})}},Object.is);function sv({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:i,initialWidth:r,initialHeight:o,initialMinZoom:s,initialMaxZoom:a,initialFitViewOptions:u,fitView:l,nodeOrigin:c,nodeExtent:f,zIndexMode:d,children:h}){const[g]=O.useState(()=>ov({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:o,fitView:l,minZoom:s,maxZoom:a,fitViewOptions:u,nodeOrigin:c,nodeExtent:f,zIndexMode:d}));return $.jsx(bg,{value:g,children:$.jsx(Wg,{children:h})})}function av({children:e,nodes:t,edges:n,defaultNodes:i,defaultEdges:r,width:o,height:s,fitView:a,fitViewOptions:u,minZoom:l,maxZoom:c,nodeOrigin:f,nodeExtent:d,zIndexMode:h}){return O.useContext(Xt)?$.jsx($.Fragment,{children:e}):$.jsx(sv,{initialNodes:t,initialEdges:n,defaultNodes:i,defaultEdges:r,initialWidth:o,initialHeight:s,fitView:a,initialFitViewOptions:u,initialMinZoom:l,initialMaxZoom:c,nodeOrigin:f,nodeExtent:d,zIndexMode:h,children:e})}const uv={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function cv({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:r,nodeTypes:o,edgeTypes:s,onNodeClick:a,onEdgeClick:u,onInit:l,onMove:c,onMoveStart:f,onMoveEnd:d,onConnect:h,onConnectStart:g,onConnectEnd:w,onClickConnectStart:v,onClickConnectEnd:m,onNodeMouseEnter:x,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:_,onNodeDoubleClick:b,onNodeDragStart:N,onNodeDrag:S,onNodeDragStop:C,onNodesDelete:q,onEdgesDelete:k,onDelete:M,onSelectionChange:z,onSelectionDragStart:E,onSelectionDrag:P,onSelectionDragStop:A,onSelectionContextMenu:D,onSelectionStart:L,onSelectionEnd:R,onBeforeDelete:H,connectionMode:G,connectionLineType:j=ke.Bezier,connectionLineStyle:W,connectionLineComponent:I,connectionLineContainerStyle:T,deleteKeyCode:F="Backspace",selectionKeyCode:V="Shift",selectionOnDrag:B=!1,selectionMode:Y=st.Full,panActivationKeyCode:U="Space",multiSelectionKeyCode:K=ut()?"Meta":"Control",zoomActivationKeyCode:Q=ut()?"Meta":"Control",snapToGrid:X,snapGrid:J,onlyRenderVisibleElements:ne=!1,selectNodesOnDrag:ee,nodesDraggable:ae,autoPanOnNodeFocus:Ne,nodesConnectable:we,nodesFocusable:Ie,nodeOrigin:Xe=ku,edgesFocusable:Ue,edgesReconnectable:Ke,elementsSelectable:Qt=!0,defaultViewport:gt=Tg,minZoom:De=.5,maxZoom:Ze=2,translateExtent:ki=ot,preventScrolling:wc=!0,nodeExtent:Jt,defaultMarkerColor:xc="#b1b1b7",zoomOnScroll:_c=!0,zoomOnPinch:bc=!0,panOnScroll:Ec=!1,panOnScrollSpeed:Nc=.5,panOnScrollMode:Sc=Pe.Free,zoomOnDoubleClick:Cc=!0,panOnDrag:kc=!0,onPaneClick:Mc,onPaneMouseEnter:Ic,onPaneMouseMove:Ac,onPaneMouseLeave:Pc,onPaneScroll:Rc,onPaneContextMenu:Lc,paneClickDistance:qc=1,nodeClickDistance:Tc=0,children:Dc,onReconnect:zc,onReconnectStart:$c,onReconnectEnd:Fc,onEdgeContextMenu:Oc,onEdgeDoubleClick:Vc,onEdgeMouseEnter:Bc,onEdgeMouseMove:Hc,onEdgeMouseLeave:jc,reconnectRadius:Gc=10,onNodesChange:Yc,onEdgesChange:Wc,noDragClassName:Xc="nodrag",noWheelClassName:Uc="nowheel",noPanClassName:Mi="nopan",fitView:Ii,fitViewOptions:Ai,connectOnClick:Kc,attributionPosition:Zc,proOptions:Qc,defaultEdgeOptions:Jc,elevateNodesOnSelect:el=!0,elevateEdgesOnSelect:tl=!1,disableKeyboardA11y:Pi=!1,autoPanOnConnect:nl,autoPanOnNodeDrag:rl,autoPanSpeed:il,connectionRadius:ol,isValidConnection:sl,onError:al,style:ul,id:Ri,nodeDragThreshold:cl,connectionDragThreshold:ll,viewport:fl,onViewportChange:dl,width:hl,height:pl,colorMode:gl="light",debug:ml,onScroll:mt,ariaLabelConfig:vl,zIndexMode:Li="basic",...yl},wl){const en=Ri||"1",xl=Fg(gl),_l=O.useCallback(qi=>{qi.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),mt==null||mt(qi)},[mt]);return $.jsx("div",{"data-testid":"rf__wrapper",...yl,onScroll:_l,style:{...ul,...uv},ref:wl,className:se(["react-flow",r,xl]),id:Ri,role:"application",children:$.jsxs(av,{nodes:e,edges:t,width:hl,height:pl,fitView:Ii,fitViewOptions:Ai,minZoom:De,maxZoom:Ze,nodeOrigin:Xe,nodeExtent:Jt,zIndexMode:Li,children:[$.jsx(iv,{onInit:l,onNodeClick:a,onEdgeClick:u,onNodeMouseEnter:x,onNodeMouseMove:p,onNodeMouseLeave:y,onNodeContextMenu:_,onNodeDoubleClick:b,nodeTypes:o,edgeTypes:s,connectionLineType:j,connectionLineStyle:W,connectionLineComponent:I,connectionLineContainerStyle:T,selectionKeyCode:V,selectionOnDrag:B,selectionMode:Y,deleteKeyCode:F,multiSelectionKeyCode:K,panActivationKeyCode:U,zoomActivationKeyCode:Q,onlyRenderVisibleElements:ne,defaultViewport:gt,translateExtent:ki,minZoom:De,maxZoom:Ze,preventScrolling:wc,zoomOnScroll:_c,zoomOnPinch:bc,zoomOnDoubleClick:Cc,panOnScroll:Ec,panOnScrollSpeed:Nc,panOnScrollMode:Sc,panOnDrag:kc,onPaneClick:Mc,onPaneMouseEnter:Ic,onPaneMouseMove:Ac,onPaneMouseLeave:Pc,onPaneScroll:Rc,onPaneContextMenu:Lc,paneClickDistance:qc,nodeClickDistance:Tc,onSelectionContextMenu:D,onSelectionStart:L,onSelectionEnd:R,onReconnect:zc,onReconnectStart:$c,onReconnectEnd:Fc,onEdgeContextMenu:Oc,onEdgeDoubleClick:Vc,onEdgeMouseEnter:Bc,onEdgeMouseMove:Hc,onEdgeMouseLeave:jc,reconnectRadius:Gc,defaultMarkerColor:xc,noDragClassName:Xc,noWheelClassName:Uc,noPanClassName:Mi,rfId:en,disableKeyboardA11y:Pi,nodeExtent:Jt,viewport:fl,onViewportChange:dl}),$.jsx($g,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:h,onConnectStart:g,onConnectEnd:w,onClickConnectStart:v,onClickConnectEnd:m,nodesDraggable:ae,autoPanOnNodeFocus:Ne,nodesConnectable:we,nodesFocusable:Ie,edgesFocusable:Ue,edgesReconnectable:Ke,elementsSelectable:Qt,elevateNodesOnSelect:el,elevateEdgesOnSelect:tl,minZoom:De,maxZoom:Ze,nodeExtent:Jt,onNodesChange:Yc,onEdgesChange:Wc,snapToGrid:X,snapGrid:J,connectionMode:G,translateExtent:ki,connectOnClick:Kc,defaultEdgeOptions:Jc,fitView:Ii,fitViewOptions:Ai,onNodesDelete:q,onEdgesDelete:k,onDelete:M,onNodeDragStart:N,onNodeDrag:S,onNodeDragStop:C,onSelectionDrag:P,onSelectionDragStart:E,onSelectionDragStop:A,onMove:c,onMoveStart:f,onMoveEnd:d,noPanClassName:Mi,nodeOrigin:Xe,rfId:en,autoPanOnConnect:nl,autoPanOnNodeDrag:rl,autoPanSpeed:il,onError:al,connectionRadius:ol,isValidConnection:sl,selectNodesOnDrag:ee,nodeDragThreshold:cl,connectionDragThreshold:ll,onBeforeDelete:H,debug:ml,ariaLabelConfig:vl,zIndexMode:Li}),$.jsx(qg,{onSelectionChange:z}),Dc,$.jsx(Ig,{proOptions:Qc,position:Zc}),$.jsx(Mg,{rfId:en,disableKeyboardA11y:Pi})]})})}var Uy=Iu(cv);function lv({dimensions:e,lineWidth:t,variant:n,className:i}){return $.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:se(["react-flow__background-pattern",n,i])})}function fv({radius:e,className:t}){return $.jsx("circle",{cx:e,cy:e,r:e,className:se(["react-flow__background-pattern","dots",t])})}var Me;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Me||(Me={}));const dv={[Me.Dots]:1,[Me.Lines]:1,[Me.Cross]:6},hv=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Ju({id:e,variant:t=Me.Dots,gap:n=20,size:i,lineWidth:r=1,offset:o=0,color:s,bgColor:a,style:u,className:l,patternClassName:c}){const f=O.useRef(null),{transform:d,patternId:h}=te(hv,re),g=i||dv[t],w=t===Me.Dots,v=t===Me.Cross,m=Array.isArray(n)?n:[n,n],x=[m[0]*d[2]||1,m[1]*d[2]||1],p=g*d[2],y=Array.isArray(o)?o:[o,o],_=v?[p,p]:x,b=[y[0]*d[2]||1+_[0]/2,y[1]*d[2]||1+_[1]/2],N=`${h}${e||""}`;return $.jsxs("svg",{className:se(["react-flow__background",l]),style:{...u,...Kt,"--xy-background-color-props":a,"--xy-background-pattern-color-props":s},ref:f,"data-testid":"rf__background",children:[$.jsx("pattern",{id:N,x:d[0]%x[0],y:d[1]%x[1],width:x[0],height:x[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${b[0]},-${b[1]})`,children:w?$.jsx(fv,{radius:p/2,className:c}):$.jsx(lv,{dimensions:_,lineWidth:r,variant:t,className:c})}),$.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${N})`})]})}Ju.displayName="Background";const Ky=O.memo(Ju);function pv(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:$.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function gv(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:$.jsx("path",{d:"M0 0h32v4.2H0z"})})}function mv(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:$.jsx("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 vv(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:$.jsx("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 yv(){return $.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:$.jsx("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"})})}function bt({children:e,className:t,...n}){return $.jsx("button",{type:"button",className:se(["react-flow__controls-button",t]),...n,children:e})}const wv=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function ec({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:r,onZoomIn:o,onZoomOut:s,onFitView:a,onInteractiveChange:u,className:l,children:c,position:f="bottom-left",orientation:d="vertical","aria-label":h}){const g=ie(),{isInteractive:w,minZoomReached:v,maxZoomReached:m,ariaLabelConfig:x}=te(wv,re),{zoomIn:p,zoomOut:y,fitView:_}=Ei(),b=()=>{p(),o==null||o()},N=()=>{y(),s==null||s()},S=()=>{_(r),a==null||a()},C=()=>{g.setState({nodesDraggable:!w,nodesConnectable:!w,elementsSelectable:!w}),u==null||u(!w)},q=d==="horizontal"?"horizontal":"vertical";return $.jsxs(Ut,{className:se(["react-flow__controls",q,l]),position:f,style:e,"data-testid":"rf__controls","aria-label":h??x["controls.ariaLabel"],children:[t&&$.jsxs($.Fragment,{children:[$.jsx(bt,{onClick:b,className:"react-flow__controls-zoomin",title:x["controls.zoomIn.ariaLabel"],"aria-label":x["controls.zoomIn.ariaLabel"],disabled:m,children:$.jsx(pv,{})}),$.jsx(bt,{onClick:N,className:"react-flow__controls-zoomout",title:x["controls.zoomOut.ariaLabel"],"aria-label":x["controls.zoomOut.ariaLabel"],disabled:v,children:$.jsx(gv,{})})]}),n&&$.jsx(bt,{className:"react-flow__controls-fitview",onClick:S,title:x["controls.fitView.ariaLabel"],"aria-label":x["controls.fitView.ariaLabel"],children:$.jsx(mv,{})}),i&&$.jsx(bt,{className:"react-flow__controls-interactive",onClick:C,title:x["controls.interactive.ariaLabel"],"aria-label":x["controls.interactive.ariaLabel"],children:w?$.jsx(yv,{}):$.jsx(vv,{})}),c]})}ec.displayName="Controls";const Zy=O.memo(ec);function xv({id:e,x:t,y:n,width:i,height:r,style:o,color:s,strokeColor:a,strokeWidth:u,className:l,borderRadius:c,shapeRendering:f,selected:d,onClick:h}){const{background:g,backgroundColor:w}=o||{},v=s||g||w;return $.jsx("rect",{className:se(["react-flow__minimap-node",{selected:d},l]),x:t,y:n,rx:c,ry:c,width:i,height:r,style:{fill:v,stroke:a,strokeWidth:u},shapeRendering:f,onClick:h?m=>h(m,e):void 0})}const _v=O.memo(xv),bv=e=>e.nodes.map(t=>t.id),cn=e=>e instanceof Function?e:()=>e;function Ev({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:r,nodeComponent:o=_v,onClick:s}){const a=te(bv,re),u=cn(t),l=cn(e),c=cn(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return $.jsx($.Fragment,{children:a.map(d=>$.jsx(Sv,{id:d,nodeColorFunc:u,nodeStrokeColorFunc:l,nodeClassNameFunc:c,nodeBorderRadius:i,nodeStrokeWidth:r,NodeComponent:o,onClick:s,shapeRendering:f},d))})}function Nv({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:r,nodeStrokeWidth:o,shapeRendering:s,NodeComponent:a,onClick:u}){const{node:l,x:c,y:f,width:d,height:h}=te(g=>{const{internals:w}=g.nodeLookup.get(e),v=w.userNode,{x:m,y:x}=w.positionAbsolute,{width:p,height:y}=Ee(v);return{node:v,x:m,y:x,width:p,height:y}},re);return!l||l.hidden||!ru(l)?null:$.jsx(a,{x:c,y:f,width:d,height:h,style:l.style,selected:!!l.selected,className:i(l),color:t(l),borderRadius:r,strokeColor:n(l),strokeWidth:o,shapeRendering:s,onClick:u,id:l.id})}const Sv=O.memo(Nv);var Cv=O.memo(Ev);const kv=200,Mv=150,Iv=e=>!e.hidden,Av=e=>{const t={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:t,boundingRect:e.nodeLookup.size>0?nu(dt(e.nodeLookup,{filter:Iv}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Pv="react-flow__minimap-desc";function tc({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:r="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:a,bgColor:u,maskColor:l,maskStrokeColor:c,maskStrokeWidth:f,position:d="bottom-right",onClick:h,onNodeClick:g,pannable:w=!1,zoomable:v=!1,ariaLabel:m,inversePan:x,zoomStep:p=1,offsetScale:y=5}){const _=ie(),b=O.useRef(null),{boundingRect:N,viewBB:S,rfId:C,panZoom:q,translateExtent:k,flowWidth:M,flowHeight:z,ariaLabelConfig:E}=te(Av,re),P=(e==null?void 0:e.width)??kv,A=(e==null?void 0:e.height)??Mv,D=N.width/P,L=N.height/A,R=Math.max(D,L),H=R*P,G=R*A,j=y*R,W=N.x-(H-N.width)/2-j,I=N.y-(G-N.height)/2-j,T=H+j*2,F=G+j*2,V=`${Pv}-${C}`,B=O.useRef(0),Y=O.useRef();B.current=R,O.useEffect(()=>{if(b.current&&q)return Y.current=tg({domNode:b.current,panZoom:q,getTransform:()=>_.getState().transform,getViewScale:()=>B.current}),()=>{var X;(X=Y.current)==null||X.destroy()}},[q]),O.useEffect(()=>{var X;(X=Y.current)==null||X.update({translateExtent:k,width:M,height:z,inversePan:x,pannable:w,zoomStep:p,zoomable:v})},[w,v,x,p,k,M,z]);const U=h?X=>{var ee;const[J,ne]=((ee=Y.current)==null?void 0:ee.pointer(X))||[0,0];h(X,{x:J,y:ne})}:void 0,K=g?O.useCallback((X,J)=>{const ne=_.getState().nodeLookup.get(J).internals.userNode;g(X,ne)},[]):void 0,Q=m??E["minimap.ariaLabel"];return $.jsx(Ut,{position:d,style:{...e,"--xy-minimap-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-stroke-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*R:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:se(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:$.jsxs("svg",{width:P,height:A,viewBox:`${W} ${I} ${T} ${F}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":V,ref:b,onClick:U,children:[Q&&$.jsx("title",{id:V,children:Q}),$.jsx(Cv,{onClick:K,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:o,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:a}),$.jsx("path",{className:"react-flow__minimap-mask",d:`M${W-j},${I-j}h${T+j*2}v${F+j*2}h${-T-j*2}z
|
|
7
|
+
M${S.x},${S.y}h${S.width}v${S.height}h${-S.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}tc.displayName="MiniMap";const Qy=O.memo(tc),Rv=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Lv={[We.Line]:"right",[We.Handle]:"bottom-right"};function qv({nodeId:e,position:t,variant:n=We.Handle,className:i,style:r=void 0,children:o,color:s,minWidth:a=10,minHeight:u=10,maxWidth:l=Number.MAX_VALUE,maxHeight:c=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:d,autoScale:h=!0,shouldResize:g,onResizeStart:w,onResize:v,onResizeEnd:m}){const x=Lu(),p=typeof e=="string"?e:x,y=ie(),_=O.useRef(null),b=n===We.Handle,N=te(O.useCallback(Rv(b&&h),[b,h]),re),S=O.useRef(null),C=t??Lv[n];O.useEffect(()=>{if(!(!_.current||!p))return S.current||(S.current=gg({domNode:_.current,nodeId:p,getStoreItems:()=>{const{nodeLookup:k,transform:M,snapGrid:z,snapToGrid:E,nodeOrigin:P,domNode:A}=y.getState();return{nodeLookup:k,transform:M,snapGrid:z,snapToGrid:E,nodeOrigin:P,paneDomNode:A}},onChange:(k,M)=>{const{triggerNodeChanges:z,nodeLookup:E,parentLookup:P,nodeOrigin:A}=y.getState(),D=[],L={x:k.x,y:k.y},R=E.get(p);if(R&&R.expandParent&&R.parentId){const H=R.origin??A,G=k.width??R.measured.width??0,j=k.height??R.measured.height??0,W={id:R.id,parentId:R.parentId,rect:{width:G,height:j,...iu({x:k.x??R.position.x,y:k.y??R.position.y},{width:G,height:j},R.parentId,E,H)}},I=bi([W],E,P,A);D.push(...I),L.x=k.x?Math.max(H[0]*G,k.x):void 0,L.y=k.y?Math.max(H[1]*j,k.y):void 0}if(L.x!==void 0&&L.y!==void 0){const H={id:p,type:"position",position:{...L}};D.push(H)}if(k.width!==void 0&&k.height!==void 0){const G={id:p,type:"dimensions",resizing:!0,setAttributes:d?d==="horizontal"?"width":"height":!0,dimensions:{width:k.width,height:k.height}};D.push(G)}for(const H of M){const G={...H,type:"position"};D.push(G)}z(D)},onEnd:({width:k,height:M})=>{const z={id:p,type:"dimensions",resizing:!1,dimensions:{width:k,height:M}};y.getState().triggerNodeChanges([z])}})),S.current.update({controlPosition:C,boundaries:{minWidth:a,minHeight:u,maxWidth:l,maxHeight:c},keepAspectRatio:f,resizeDirection:d,onResizeStart:w,onResize:v,onResizeEnd:m,shouldResize:g}),()=>{var k;(k=S.current)==null||k.destroy()}},[C,a,u,l,c,f,w,v,m,g]);const q=C.split("-");return $.jsx("div",{className:se(["react-flow__resize-control","nodrag",...q,n,i]),ref:_,style:{...r,scale:N,...s&&{[b?"backgroundColor":"borderColor"]:s}},children:o})}O.memo(qv);function Si(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 ln,Ao;function Tv(){if(Ao)return ln;Ao=1;var e=fa(),t=4;function n(i){return e(i,t)}return ln=n,ln}var fn,Po;function nc(){if(Po)return fn;Po=1;var e=kl();function t(n){return typeof n=="function"?n:e}return fn=t,fn}var dn,Ro;function rc(){if(Ro)return dn;Ro=1;var e=da(),t=ni(),n=nc(),i=Te();function r(o,s){var a=i(o)?e:t;return a(o,n(s))}return dn=r,dn}var hn,Lo;function ic(){return Lo||(Lo=1,hn=rc()),hn}var pn,qo;function Dv(){if(qo)return pn;qo=1;var e=ni();function t(n,i){var r=[];return e(n,function(o,s,a){i(o,s,a)&&r.push(o)}),r}return pn=t,pn}var gn,To;function oc(){if(To)return gn;To=1;var e=Ml(),t=Dv(),n=ri(),i=Te();function r(o,s){var a=i(o)?e:t;return a(o,n(s,3))}return gn=r,gn}var mn,Do;function zv(){if(Do)return mn;Do=1;var e=Object.prototype,t=e.hasOwnProperty;function n(i,r){return i!=null&&t.call(i,r)}return mn=n,mn}var vn,zo;function sc(){if(zo)return vn;zo=1;var e=zv(),t=Il();function n(i,r){return i!=null&&t(i,r,e)}return vn=n,vn}var yn,$o;function $v(){if($o)return yn;$o=1;var e=ha(),t=pa(),n=ga(),i=Te(),r=ii(),o=oi(),s=Al(),a=si(),u="[object Map]",l="[object Set]",c=Object.prototype,f=c.hasOwnProperty;function d(h){if(h==null)return!0;if(r(h)&&(i(h)||typeof h=="string"||typeof h.splice=="function"||o(h)||a(h)||n(h)))return!h.length;var g=t(h);if(g==u||g==l)return!h.size;if(s(h))return!e(h).length;for(var w in h)if(f.call(h,w))return!1;return!0}return yn=d,yn}var wn,Fo;function ac(){if(Fo)return wn;Fo=1;function e(t){return t===void 0}return wn=e,wn}var xn,Oo;function Fv(){if(Oo)return xn;Oo=1;function e(t,n,i,r){var o=-1,s=t==null?0:t.length;for(r&&s&&(i=t[++o]);++o<s;)i=n(i,t[o],o,t);return i}return xn=e,xn}var _n,Vo;function Ov(){if(Vo)return _n;Vo=1;function e(t,n,i,r,o){return o(t,function(s,a,u){i=r?(r=!1,s):n(i,s,a,u)}),i}return _n=e,_n}var bn,Bo;function uc(){if(Bo)return bn;Bo=1;var e=Fv(),t=ni(),n=ri(),i=Ov(),r=Te();function o(s,a,u){var l=r(s)?e:i,c=arguments.length<3;return l(s,n(a,4),u,c,t)}return bn=o,bn}var En,Ho;function Vv(){if(Ho)return En;Ho=1;var e=Pl(),t=e("length");return En=t,En}var Nn,jo;function Bv(){if(jo)return Nn;jo=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",i="\\u20d0-\\u20ff",r=t+n+i,o="\\ufe0e\\ufe0f",s="["+e+"]",a="["+r+"]",u="\\ud83c[\\udffb-\\udfff]",l="(?:"+a+"|"+u+")",c="[^"+e+"]",f="(?:\\ud83c[\\udde6-\\uddff]){2}",d="[\\ud800-\\udbff][\\udc00-\\udfff]",h="\\u200d",g=l+"?",w="["+o+"]?",v="(?:"+h+"(?:"+[c,f,d].join("|")+")"+w+g+")*",m=w+g+v,x="(?:"+[c+a+"?",a,f,d,s].join("|")+")",p=RegExp(u+"(?="+u+")|"+x+m,"g");function y(_){for(var b=p.lastIndex=0;p.test(_);)++b;return b}return Nn=y,Nn}var Sn,Go;function Hv(){if(Go)return Sn;Go=1;var e=Vv(),t=Rl(),n=Bv();function i(r){return t(r)?n(r):e(r)}return Sn=i,Sn}var Cn,Yo;function jv(){if(Yo)return Cn;Yo=1;var e=ha(),t=pa(),n=ii(),i=Ll(),r=Hv(),o="[object Map]",s="[object Set]";function a(u){if(u==null)return 0;if(n(u))return i(u)?r(u):u.length;var l=t(u);return l==o||l==s?u.size:e(u).length}return Cn=a,Cn}var kn,Wo;function Gv(){if(Wo)return kn;Wo=1;var e=da(),t=ql(),n=Tl(),i=ri(),r=Dl(),o=Te(),s=oi(),a=ai(),u=$t(),l=si();function c(f,d,h){var g=o(f),w=g||s(f)||l(f);if(d=i(d,4),h==null){var v=f&&f.constructor;w?h=g?new v:[]:u(f)?h=a(v)?t(r(f)):{}:h={}}return(w?e:n)(f,function(m,x,p){return d(h,m,x,p)}),h}return kn=c,kn}var Mn,Xo;function cc(){if(Xo)return Mn;Xo=1;var e=ii(),t=zl();function n(i){return t(i)&&e(i)}return Mn=n,Mn}var In,Uo;function Yv(){if(Uo)return In;Uo=1;var e=$l(),t=ui(),n=Fl(),i=cc(),r=t(function(o){return n(e(o,1,i,!0))});return In=r,In}var An,Ko;function Wv(){if(Ko)return An;Ko=1;var e=Ol();function t(n,i){return e(i,function(r){return n[r]})}return An=t,An}var Pn,Zo;function lc(){if(Zo)return Pn;Zo=1;var e=Wv(),t=ma();function n(i){return i==null?[]:e(i,t(i))}return Pn=n,Pn}var Rn,Qo;function fe(){if(Qo)return Rn;Qo=1;var e;if(typeof Si=="function")try{e={clone:Tv(),constant:ya(),each:ic(),filter:oc(),has:sc(),isArray:Te(),isEmpty:$v(),isFunction:ai(),isUndefined:ac(),keys:ma(),map:va(),reduce:uc(),size:jv(),transform:Gv(),union:Yv(),values:lc()}}catch{}return e||(e=window._),Rn=e,Rn}var Ln,Jo;function Ci(){if(Jo)return Ln;Jo=1;var e=fe();Ln=r;var t="\0",n="\0",i="";function r(c){this._isDirected=e.has(c,"directed")?c.directed:!0,this._isMultigraph=e.has(c,"multigraph")?c.multigraph:!1,this._isCompound=e.has(c,"compound")?c.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[n]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(c){return this._label=c,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(c){return e.isFunction(c)||(c=e.constant(c)),this._defaultNodeLabelFn=c,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return e.keys(this._nodes)},r.prototype.sources=function(){var c=this;return e.filter(this.nodes(),function(f){return e.isEmpty(c._in[f])})},r.prototype.sinks=function(){var c=this;return e.filter(this.nodes(),function(f){return e.isEmpty(c._out[f])})},r.prototype.setNodes=function(c,f){var d=arguments,h=this;return e.each(c,function(g){d.length>1?h.setNode(g,f):h.setNode(g)}),this},r.prototype.setNode=function(c,f){return e.has(this._nodes,c)?(arguments.length>1&&(this._nodes[c]=f),this):(this._nodes[c]=arguments.length>1?f:this._defaultNodeLabelFn(c),this._isCompound&&(this._parent[c]=n,this._children[c]={},this._children[n][c]=!0),this._in[c]={},this._preds[c]={},this._out[c]={},this._sucs[c]={},++this._nodeCount,this)},r.prototype.node=function(c){return this._nodes[c]},r.prototype.hasNode=function(c){return e.has(this._nodes,c)},r.prototype.removeNode=function(c){var f=this;if(e.has(this._nodes,c)){var d=function(h){f.removeEdge(f._edgeObjs[h])};delete this._nodes[c],this._isCompound&&(this._removeFromParentsChildList(c),delete this._parent[c],e.each(this.children(c),function(h){f.setParent(h)}),delete this._children[c]),e.each(e.keys(this._in[c]),d),delete this._in[c],delete this._preds[c],e.each(e.keys(this._out[c]),d),delete this._out[c],delete this._sucs[c],--this._nodeCount}return this},r.prototype.setParent=function(c,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(f))f=n;else{f+="";for(var d=f;!e.isUndefined(d);d=this.parent(d))if(d===c)throw new Error("Setting "+f+" as parent of "+c+" would create a cycle");this.setNode(f)}return this.setNode(c),this._removeFromParentsChildList(c),this._parent[c]=f,this._children[f][c]=!0,this},r.prototype._removeFromParentsChildList=function(c){delete this._children[this._parent[c]][c]},r.prototype.parent=function(c){if(this._isCompound){var f=this._parent[c];if(f!==n)return f}},r.prototype.children=function(c){if(e.isUndefined(c)&&(c=n),this._isCompound){var f=this._children[c];if(f)return e.keys(f)}else{if(c===n)return this.nodes();if(this.hasNode(c))return[]}},r.prototype.predecessors=function(c){var f=this._preds[c];if(f)return e.keys(f)},r.prototype.successors=function(c){var f=this._sucs[c];if(f)return e.keys(f)},r.prototype.neighbors=function(c){var f=this.predecessors(c);if(f)return e.union(f,this.successors(c))},r.prototype.isLeaf=function(c){var f;return this.isDirected()?f=this.successors(c):f=this.neighbors(c),f.length===0},r.prototype.filterNodes=function(c){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var d=this;e.each(this._nodes,function(w,v){c(v)&&f.setNode(v,w)}),e.each(this._edgeObjs,function(w){f.hasNode(w.v)&&f.hasNode(w.w)&&f.setEdge(w,d.edge(w))});var h={};function g(w){var v=d.parent(w);return v===void 0||f.hasNode(v)?(h[w]=v,v):v in h?h[v]:g(v)}return this._isCompound&&e.each(f.nodes(),function(w){f.setParent(w,g(w))}),f},r.prototype.setDefaultEdgeLabel=function(c){return e.isFunction(c)||(c=e.constant(c)),this._defaultEdgeLabelFn=c,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return e.values(this._edgeObjs)},r.prototype.setPath=function(c,f){var d=this,h=arguments;return e.reduce(c,function(g,w){return h.length>1?d.setEdge(g,w,f):d.setEdge(g,w),w}),this},r.prototype.setEdge=function(){var c,f,d,h,g=!1,w=arguments[0];typeof w=="object"&&w!==null&&"v"in w?(c=w.v,f=w.w,d=w.name,arguments.length===2&&(h=arguments[1],g=!0)):(c=w,f=arguments[1],d=arguments[3],arguments.length>2&&(h=arguments[2],g=!0)),c=""+c,f=""+f,e.isUndefined(d)||(d=""+d);var v=a(this._isDirected,c,f,d);if(e.has(this._edgeLabels,v))return g&&(this._edgeLabels[v]=h),this;if(!e.isUndefined(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(c),this.setNode(f),this._edgeLabels[v]=g?h:this._defaultEdgeLabelFn(c,f,d);var m=u(this._isDirected,c,f,d);return c=m.v,f=m.w,Object.freeze(m),this._edgeObjs[v]=m,o(this._preds[f],c),o(this._sucs[c],f),this._in[f][v]=m,this._out[c][v]=m,this._edgeCount++,this},r.prototype.edge=function(c,f,d){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,c,f,d);return this._edgeLabels[h]},r.prototype.hasEdge=function(c,f,d){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,c,f,d);return e.has(this._edgeLabels,h)},r.prototype.removeEdge=function(c,f,d){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,c,f,d),g=this._edgeObjs[h];return g&&(c=g.v,f=g.w,delete this._edgeLabels[h],delete this._edgeObjs[h],s(this._preds[f],c),s(this._sucs[c],f),delete this._in[f][h],delete this._out[c][h],this._edgeCount--),this},r.prototype.inEdges=function(c,f){var d=this._in[c];if(d){var h=e.values(d);return f?e.filter(h,function(g){return g.v===f}):h}},r.prototype.outEdges=function(c,f){var d=this._out[c];if(d){var h=e.values(d);return f?e.filter(h,function(g){return g.w===f}):h}},r.prototype.nodeEdges=function(c,f){var d=this.inEdges(c,f);if(d)return d.concat(this.outEdges(c,f))};function o(c,f){c[f]?c[f]++:c[f]=1}function s(c,f){--c[f]||delete c[f]}function a(c,f,d,h){var g=""+f,w=""+d;if(!c&&g>w){var v=g;g=w,w=v}return g+i+w+i+(e.isUndefined(h)?t:h)}function u(c,f,d,h){var g=""+f,w=""+d;if(!c&&g>w){var v=g;g=w,w=v}var m={v:g,w};return h&&(m.name=h),m}function l(c,f){return a(c,f.v,f.w,f.name)}return Ln}var qn,es;function Xv(){return es||(es=1,qn="2.1.8"),qn}var Tn,ts;function Uv(){return ts||(ts=1,Tn={Graph:Ci(),version:Xv()}),Tn}var Dn,ns;function Kv(){if(ns)return Dn;ns=1;var e=fe(),t=Ci();Dn={write:n,read:o};function n(s){var a={options:{directed:s.isDirected(),multigraph:s.isMultigraph(),compound:s.isCompound()},nodes:i(s),edges:r(s)};return e.isUndefined(s.graph())||(a.value=e.clone(s.graph())),a}function i(s){return e.map(s.nodes(),function(a){var u=s.node(a),l=s.parent(a),c={v:a};return e.isUndefined(u)||(c.value=u),e.isUndefined(l)||(c.parent=l),c})}function r(s){return e.map(s.edges(),function(a){var u=s.edge(a),l={v:a.v,w:a.w};return e.isUndefined(a.name)||(l.name=a.name),e.isUndefined(u)||(l.value=u),l})}function o(s){var a=new t(s.options).setGraph(s.value);return e.each(s.nodes,function(u){a.setNode(u.v,u.value),u.parent&&a.setParent(u.v,u.parent)}),e.each(s.edges,function(u){a.setEdge({v:u.v,w:u.w,name:u.name},u.value)}),a}return Dn}var zn,rs;function Zv(){if(rs)return zn;rs=1;var e=fe();zn=t;function t(n){var i={},r=[],o;function s(a){e.has(i,a)||(i[a]=!0,o.push(a),e.each(n.successors(a),s),e.each(n.predecessors(a),s))}return e.each(n.nodes(),function(a){o=[],s(a),o.length&&r.push(o)}),r}return zn}var $n,is;function fc(){if(is)return $n;is=1;var e=fe();$n=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(n){return n.key})},t.prototype.has=function(n){return e.has(this._keyIndices,n)},t.prototype.priority=function(n){var i=this._keyIndices[n];if(i!==void 0)return this._arr[i].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(n,i){var r=this._keyIndices;if(n=String(n),!e.has(r,n)){var o=this._arr,s=o.length;return r[n]=s,o.push({key:n,priority:i}),this._decrease(s),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key},t.prototype.decrease=function(n,i){var r=this._keyIndices[n];if(i>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+i);this._arr[r].priority=i,this._decrease(r)},t.prototype._heapify=function(n){var i=this._arr,r=2*n,o=r+1,s=n;r<i.length&&(s=i[r].priority<i[s].priority?r:s,o<i.length&&(s=i[o].priority<i[s].priority?o:s),s!==n&&(this._swap(n,s),this._heapify(s)))},t.prototype._decrease=function(n){for(var i=this._arr,r=i[n].priority,o;n!==0&&(o=n>>1,!(i[o].priority<r));)this._swap(n,o),n=o},t.prototype._swap=function(n,i){var r=this._arr,o=this._keyIndices,s=r[n],a=r[i];r[n]=a,r[i]=s,o[a.key]=n,o[s.key]=i},$n}var Fn,os;function dc(){if(os)return Fn;os=1;var e=fe(),t=fc();Fn=i;var n=e.constant(1);function i(o,s,a,u){return r(o,String(s),a||n,u||function(l){return o.outEdges(l)})}function r(o,s,a,u){var l={},c=new t,f,d,h=function(g){var w=g.v!==f?g.v:g.w,v=l[w],m=a(g),x=d.distance+m;if(m<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+g+" Weight: "+m);x<v.distance&&(v.distance=x,v.predecessor=f,c.decrease(w,x))};for(o.nodes().forEach(function(g){var w=g===s?0:Number.POSITIVE_INFINITY;l[g]={distance:w},c.add(g,w)});c.size()>0&&(f=c.removeMin(),d=l[f],d.distance!==Number.POSITIVE_INFINITY);)u(f).forEach(h);return l}return Fn}var On,ss;function Qv(){if(ss)return On;ss=1;var e=dc(),t=fe();On=n;function n(i,r,o){return t.transform(i.nodes(),function(s,a){s[a]=e(i,a,r,o)},{})}return On}var Vn,as;function hc(){if(as)return Vn;as=1;var e=fe();Vn=t;function t(n){var i=0,r=[],o={},s=[];function a(u){var l=o[u]={onStack:!0,lowlink:i,index:i++};if(r.push(u),n.successors(u).forEach(function(d){e.has(o,d)?o[d].onStack&&(l.lowlink=Math.min(l.lowlink,o[d].index)):(a(d),l.lowlink=Math.min(l.lowlink,o[d].lowlink))}),l.lowlink===l.index){var c=[],f;do f=r.pop(),o[f].onStack=!1,c.push(f);while(u!==f);s.push(c)}}return n.nodes().forEach(function(u){e.has(o,u)||a(u)}),s}return Vn}var Bn,us;function Jv(){if(us)return Bn;us=1;var e=fe(),t=hc();Bn=n;function n(i){return e.filter(t(i),function(r){return r.length>1||r.length===1&&i.hasEdge(r[0],r[0])})}return Bn}var Hn,cs;function ey(){if(cs)return Hn;cs=1;var e=fe();Hn=n;var t=e.constant(1);function n(r,o,s){return i(r,o||t,s||function(a){return r.outEdges(a)})}function i(r,o,s){var a={},u=r.nodes();return u.forEach(function(l){a[l]={},a[l][l]={distance:0},u.forEach(function(c){l!==c&&(a[l][c]={distance:Number.POSITIVE_INFINITY})}),s(l).forEach(function(c){var f=c.v===l?c.w:c.v,d=o(c);a[l][f]={distance:d,predecessor:l}})}),u.forEach(function(l){var c=a[l];u.forEach(function(f){var d=a[f];u.forEach(function(h){var g=d[l],w=c[h],v=d[h],m=g.distance+w.distance;m<v.distance&&(v.distance=m,v.predecessor=w.predecessor)})})}),a}return Hn}var jn,ls;function pc(){if(ls)return jn;ls=1;var e=fe();jn=t,t.CycleException=n;function t(i){var r={},o={},s=[];function a(u){if(e.has(o,u))throw new n;e.has(r,u)||(o[u]=!0,r[u]=!0,e.each(i.predecessors(u),a),delete o[u],s.push(u))}if(e.each(i.sinks(),a),e.size(r)!==i.nodeCount())throw new n;return s}function n(){}return n.prototype=new Error,jn}var Gn,fs;function ty(){if(fs)return Gn;fs=1;var e=pc();Gn=t;function t(n){try{e(n)}catch(i){if(i instanceof e.CycleException)return!1;throw i}return!0}return Gn}var Yn,ds;function gc(){if(ds)return Yn;ds=1;var e=fe();Yn=t;function t(i,r,o){e.isArray(r)||(r=[r]);var s=(i.isDirected()?i.successors:i.neighbors).bind(i),a=[],u={};return e.each(r,function(l){if(!i.hasNode(l))throw new Error("Graph does not have node: "+l);n(i,l,o==="post",u,s,a)}),a}function n(i,r,o,s,a,u){e.has(s,r)||(s[r]=!0,o||u.push(r),e.each(a(r),function(l){n(i,l,o,s,a,u)}),o&&u.push(r))}return Yn}var Wn,hs;function ny(){if(hs)return Wn;hs=1;var e=gc();Wn=t;function t(n,i){return e(n,i,"post")}return Wn}var Xn,ps;function ry(){if(ps)return Xn;ps=1;var e=gc();Xn=t;function t(n,i){return e(n,i,"pre")}return Xn}var Un,gs;function iy(){if(gs)return Un;gs=1;var e=fe(),t=Ci(),n=fc();Un=i;function i(r,o){var s=new t,a={},u=new n,l;function c(d){var h=d.v===l?d.w:d.v,g=u.priority(h);if(g!==void 0){var w=o(d);w<g&&(a[h]=l,u.decrease(h,w))}}if(r.nodeCount()===0)return s;e.each(r.nodes(),function(d){u.add(d,Number.POSITIVE_INFINITY),s.setNode(d)}),u.decrease(r.nodes()[0],0);for(var f=!1;u.size()>0;){if(l=u.removeMin(),e.has(a,l))s.setEdge(l,a[l]);else{if(f)throw new Error("Input graph is not connected: "+r);f=!0}r.nodeEdges(l).forEach(c)}return s}return Un}var Kn,ms;function oy(){return ms||(ms=1,Kn={components:Zv(),dijkstra:dc(),dijkstraAll:Qv(),findCycles:Jv(),floydWarshall:ey(),isAcyclic:ty(),postorder:ny(),preorder:ry(),prim:iy(),tarjan:hc(),topsort:pc()}),Kn}var Zn,vs;function sy(){if(vs)return Zn;vs=1;var e=Uv();return Zn={Graph:e.Graph,json:Kv(),alg:oy(),version:e.version},Zn}var Qn,ys;function ge(){if(ys)return Qn;ys=1;var e;if(typeof Si=="function")try{e=sy()}catch{}return e||(e=window.graphlib),Qn=e,Qn}var Jn,ws;function ay(){if(ws)return Jn;ws=1;var e=fa(),t=1,n=4;function i(r){return e(r,t|n)}return Jn=i,Jn}var er,xs;function uy(){if(xs)return er;xs=1;var e=ui(),t=wa(),n=xa(),i=Ft(),r=Object.prototype,o=r.hasOwnProperty,s=e(function(a,u){a=Object(a);var l=-1,c=u.length,f=c>2?u[2]:void 0;for(f&&n(u[0],u[1],f)&&(c=1);++l<c;)for(var d=u[l],h=i(d),g=-1,w=h.length;++g<w;){var v=h[g],m=a[v];(m===void 0||t(m,r[v])&&!o.call(a,v))&&(a[v]=d[v])}return a});return er=s,er}var tr,_s;function cy(){if(_s)return tr;_s=1;var e=_a(),t=nc(),n=Ft();function i(r,o){return r==null?r:e(r,t(o),n)}return tr=i,tr}var nr,bs;function mc(){if(bs)return nr;bs=1;var e=Vl(),t=wa();function n(i,r,o){(o!==void 0&&!t(i[r],o)||o===void 0&&!(r in i))&&e(i,r,o)}return nr=n,nr}var rr,Es;function vc(){if(Es)return rr;Es=1;function e(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}return rr=e,rr}var ir,Ns;function ly(){if(Ns)return ir;Ns=1;var e=Bl(),t=Ft();function n(i){return e(i,t(i))}return ir=n,ir}var or,Ss;function fy(){if(Ss)return or;Ss=1;var e=mc(),t=Hl(),n=jl(),i=Wl(),r=Gl(),o=ga(),s=Te(),a=cc(),u=oi(),l=ai(),c=$t(),f=Yl(),d=si(),h=vc(),g=ly();function w(v,m,x,p,y,_,b){var N=h(v,x),S=h(m,x),C=b.get(S);if(C){e(v,x,C);return}var q=_?_(N,S,x+"",v,m,b):void 0,k=q===void 0;if(k){var M=s(S),z=!M&&u(S),E=!M&&!z&&d(S);q=S,M||z||E?s(N)?q=N:a(N)?q=i(N):z?(k=!1,q=t(S,!0)):E?(k=!1,q=n(S,!0)):q=[]:f(S)||o(S)?(q=N,o(N)?q=g(N):(!c(N)||l(N))&&(q=r(S))):k=!1}k&&(b.set(S,q),y(q,S,p,_,b),b.delete(S)),e(v,x,q)}return or=w,or}var sr,Cs;function dy(){if(Cs)return sr;Cs=1;var e=Xl(),t=mc(),n=_a(),i=fy(),r=$t(),o=Ft(),s=vc();function a(u,l,c,f,d){u!==l&&n(l,function(h,g){if(d||(d=new e),r(h))i(u,l,g,c,a,f,d);else{var w=f?f(s(u,g),h,g+"",u,l,d):void 0;w===void 0&&(w=h),t(u,g,w)}},o)}return sr=a,sr}var ar,ks;function hy(){if(ks)return ar;ks=1;var e=ui(),t=xa();function n(i){return e(function(r,o){var s=-1,a=o.length,u=a>1?o[a-1]:void 0,l=a>2?o[2]:void 0;for(u=i.length>3&&typeof u=="function"?(a--,u):void 0,l&&t(o[0],o[1],l)&&(u=a<3?void 0:u,a=1),r=Object(r);++s<a;){var c=o[s];c&&i(r,c,s,u)}return r})}return ar=n,ar}var ur,Ms;function py(){if(Ms)return ur;Ms=1;var e=dy(),t=hy(),n=t(function(i,r,o){e(i,r,o)});return ur=n,ur}var cr,Is;function gy(){if(Is)return cr;Is=1;var e=ba(),t=Ea(),n=Ul(),i=$t(),r=Kl();function o(s,a,u,l){if(!i(s))return s;a=t(a,s);for(var c=-1,f=a.length,d=f-1,h=s;h!=null&&++c<f;){var g=r(a[c]),w=u;if(g==="__proto__"||g==="constructor"||g==="prototype")return s;if(c!=d){var v=h[g];w=l?l(v,g,h):void 0,w===void 0&&(w=i(v)?v:n(a[c+1])?[]:{})}e(h,g,w),h=h[g]}return s}return cr=o,cr}var lr,As;function my(){if(As)return lr;As=1;var e=Zl(),t=gy(),n=Ea();function i(r,o,s){for(var a=-1,u=o.length,l={};++a<u;){var c=o[a],f=e(r,c);s(f,c)&&t(l,n(c,r),f)}return l}return lr=i,lr}var fr,Ps;function vy(){if(Ps)return fr;Ps=1;var e=my(),t=Ql();function n(i,r){return e(i,r,function(o,s){return t(i,s)})}return fr=n,fr}var dr,Rs;function yy(){if(Rs)return dr;Rs=1;var e=vy(),t=Jl(),n=t(function(i,r){return i==null?{}:e(i,r)});return dr=n,dr}var hr,Ls;function wy(){if(Ls)return hr;Ls=1;var e=ef(),t=0;function n(i){var r=++t;return e(i)+r}return hr=n,hr}var pr,qs;function xy(){if(qs)return pr;qs=1;function e(t,n,i){for(var r=-1,o=t.length,s=n.length,a={};++r<o;){var u=r<s?n[r]:void 0;i(a,t[r],u)}return a}return pr=e,pr}var gr,Ts;function _y(){if(Ts)return gr;Ts=1;var e=ba(),t=xy();function n(i,r){return t(i||[],r||[],e)}return gr=n,gr}var mr,Ds;function oe(){if(Ds)return mr;Ds=1;var e;if(typeof Si=="function")try{e={cloneDeep:ay(),constant:ya(),defaults:uy(),each:ic(),filter:oc(),find:ff(),flatten:lf(),forEach:rc(),forIn:cy(),has:sc(),isUndefined:ac(),last:cf(),map:va(),mapValues:uf(),max:af(),merge:py(),min:sf(),minBy:of(),now:rf(),pick:yy(),range:nf(),reduce:uc(),sortBy:tf(),uniqueId:wy(),values:lc(),zipObject:_y()}}catch{}return e||(e=window._),mr=e,mr}var vr,zs;function by(){if(zs)return vr;zs=1,vr=e;function e(){var i={};i._next=i._prev=i,this._sentinel=i}e.prototype.dequeue=function(){var i=this._sentinel,r=i._prev;if(r!==i)return t(r),r},e.prototype.enqueue=function(i){var r=this._sentinel;i._prev&&i._next&&t(i),i._next=r._next,r._next._prev=i,r._next=i,i._prev=r},e.prototype.toString=function(){for(var i=[],r=this._sentinel,o=r._prev;o!==r;)i.push(JSON.stringify(o,n)),o=o._prev;return"["+i.join(", ")+"]"};function t(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function n(i,r){if(i!=="_next"&&i!=="_prev")return r}return vr}var yr,$s;function Ey(){if($s)return yr;$s=1;var e=oe(),t=ge().Graph,n=by();yr=r;var i=e.constant(1);function r(l,c){if(l.nodeCount()<=1)return[];var f=a(l,c||i),d=o(f.graph,f.buckets,f.zeroIdx);return e.flatten(e.map(d,function(h){return l.outEdges(h.v,h.w)}),!0)}function o(l,c,f){for(var d=[],h=c[c.length-1],g=c[0],w;l.nodeCount();){for(;w=g.dequeue();)s(l,c,f,w);for(;w=h.dequeue();)s(l,c,f,w);if(l.nodeCount()){for(var v=c.length-2;v>0;--v)if(w=c[v].dequeue(),w){d=d.concat(s(l,c,f,w,!0));break}}}return d}function s(l,c,f,d,h){var g=h?[]:void 0;return e.forEach(l.inEdges(d.v),function(w){var v=l.edge(w),m=l.node(w.v);h&&g.push({v:w.v,w:w.w}),m.out-=v,u(c,f,m)}),e.forEach(l.outEdges(d.v),function(w){var v=l.edge(w),m=w.w,x=l.node(m);x.in-=v,u(c,f,x)}),l.removeNode(d.v),g}function a(l,c){var f=new t,d=0,h=0;e.forEach(l.nodes(),function(v){f.setNode(v,{v,in:0,out:0})}),e.forEach(l.edges(),function(v){var m=f.edge(v.v,v.w)||0,x=c(v),p=m+x;f.setEdge(v.v,v.w,p),h=Math.max(h,f.node(v.v).out+=x),d=Math.max(d,f.node(v.w).in+=x)});var g=e.range(h+d+3).map(function(){return new n}),w=d+1;return e.forEach(f.nodes(),function(v){u(g,w,f.node(v))}),{graph:f,buckets:g,zeroIdx:w}}function u(l,c,f){f.out?f.in?l[f.out-f.in+c].enqueue(f):l[l.length-1].enqueue(f):l[0].enqueue(f)}return yr}var wr,Fs;function Ny(){if(Fs)return wr;Fs=1;var e=oe(),t=Ey();wr={run:n,undo:r};function n(o){var s=o.graph().acyclicer==="greedy"?t(o,a(o)):i(o);e.forEach(s,function(u){var l=o.edge(u);o.removeEdge(u),l.forwardName=u.name,l.reversed=!0,o.setEdge(u.w,u.v,l,e.uniqueId("rev"))});function a(u){return function(l){return u.edge(l).weight}}}function i(o){var s=[],a={},u={};function l(c){e.has(u,c)||(u[c]=!0,a[c]=!0,e.forEach(o.outEdges(c),function(f){e.has(a,f.w)?s.push(f):l(f.w)}),delete a[c])}return e.forEach(o.nodes(),l),s}function r(o){e.forEach(o.edges(),function(s){var a=o.edge(s);if(a.reversed){o.removeEdge(s);var u=a.forwardName;delete a.reversed,delete a.forwardName,o.setEdge(s.w,s.v,a,u)}})}return wr}var xr,Os;function ue(){if(Os)return xr;Os=1;var e=oe(),t=ge().Graph;xr={addDummyNode:n,simplify:i,asNonCompoundGraph:r,successorWeights:o,predecessorWeights:s,intersectRect:a,buildLayerMatrix:u,normalizeRanks:l,removeEmptyRanks:c,addBorderNode:f,maxRank:d,partition:h,time:g,notime:w};function n(v,m,x,p){var y;do y=e.uniqueId(p);while(v.hasNode(y));return x.dummy=m,v.setNode(y,x),y}function i(v){var m=new t().setGraph(v.graph());return e.forEach(v.nodes(),function(x){m.setNode(x,v.node(x))}),e.forEach(v.edges(),function(x){var p=m.edge(x.v,x.w)||{weight:0,minlen:1},y=v.edge(x);m.setEdge(x.v,x.w,{weight:p.weight+y.weight,minlen:Math.max(p.minlen,y.minlen)})}),m}function r(v){var m=new t({multigraph:v.isMultigraph()}).setGraph(v.graph());return e.forEach(v.nodes(),function(x){v.children(x).length||m.setNode(x,v.node(x))}),e.forEach(v.edges(),function(x){m.setEdge(x,v.edge(x))}),m}function o(v){var m=e.map(v.nodes(),function(x){var p={};return e.forEach(v.outEdges(x),function(y){p[y.w]=(p[y.w]||0)+v.edge(y).weight}),p});return e.zipObject(v.nodes(),m)}function s(v){var m=e.map(v.nodes(),function(x){var p={};return e.forEach(v.inEdges(x),function(y){p[y.v]=(p[y.v]||0)+v.edge(y).weight}),p});return e.zipObject(v.nodes(),m)}function a(v,m){var x=v.x,p=v.y,y=m.x-x,_=m.y-p,b=v.width/2,N=v.height/2;if(!y&&!_)throw new Error("Not possible to find intersection inside of the rectangle");var S,C;return Math.abs(_)*b>Math.abs(y)*N?(_<0&&(N=-N),S=N*y/_,C=N):(y<0&&(b=-b),S=b,C=b*_/y),{x:x+S,y:p+C}}function u(v){var m=e.map(e.range(d(v)+1),function(){return[]});return e.forEach(v.nodes(),function(x){var p=v.node(x),y=p.rank;e.isUndefined(y)||(m[y][p.order]=x)}),m}function l(v){var m=e.min(e.map(v.nodes(),function(x){return v.node(x).rank}));e.forEach(v.nodes(),function(x){var p=v.node(x);e.has(p,"rank")&&(p.rank-=m)})}function c(v){var m=e.min(e.map(v.nodes(),function(_){return v.node(_).rank})),x=[];e.forEach(v.nodes(),function(_){var b=v.node(_).rank-m;x[b]||(x[b]=[]),x[b].push(_)});var p=0,y=v.graph().nodeRankFactor;e.forEach(x,function(_,b){e.isUndefined(_)&&b%y!==0?--p:p&&e.forEach(_,function(N){v.node(N).rank+=p})})}function f(v,m,x,p){var y={width:0,height:0};return arguments.length>=4&&(y.rank=x,y.order=p),n(v,"border",y,m)}function d(v){return e.max(e.map(v.nodes(),function(m){var x=v.node(m).rank;if(!e.isUndefined(x))return x}))}function h(v,m){var x={lhs:[],rhs:[]};return e.forEach(v,function(p){m(p)?x.lhs.push(p):x.rhs.push(p)}),x}function g(v,m){var x=e.now();try{return m()}finally{console.log(v+" time: "+(e.now()-x)+"ms")}}function w(v,m){return m()}return xr}var _r,Vs;function Sy(){if(Vs)return _r;Vs=1;var e=oe(),t=ue();_r={run:n,undo:r};function n(o){o.graph().dummyChains=[],e.forEach(o.edges(),function(s){i(o,s)})}function i(o,s){var a=s.v,u=o.node(a).rank,l=s.w,c=o.node(l).rank,f=s.name,d=o.edge(s),h=d.labelRank;if(c!==u+1){o.removeEdge(s);var g,w,v;for(v=0,++u;u<c;++v,++u)d.points=[],w={width:0,height:0,edgeLabel:d,edgeObj:s,rank:u},g=t.addDummyNode(o,"edge",w,"_d"),u===h&&(w.width=d.width,w.height=d.height,w.dummy="edge-label",w.labelpos=d.labelpos),o.setEdge(a,g,{weight:d.weight},f),v===0&&o.graph().dummyChains.push(g),a=g;o.setEdge(a,l,{weight:d.weight},f)}}function r(o){e.forEach(o.graph().dummyChains,function(s){var a=o.node(s),u=a.edgeLabel,l;for(o.setEdge(a.edgeObj,u);a.dummy;)l=o.successors(s)[0],o.removeNode(s),u.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(u.x=a.x,u.y=a.y,u.width=a.width,u.height=a.height),s=l,a=o.node(s)})}return _r}var br,Bs;function zt(){if(Bs)return br;Bs=1;var e=oe();br={longestPath:t,slack:n};function t(i){var r={};function o(s){var a=i.node(s);if(e.has(r,s))return a.rank;r[s]=!0;var u=e.min(e.map(i.outEdges(s),function(l){return o(l.w)-i.edge(l).minlen}));return(u===Number.POSITIVE_INFINITY||u===void 0||u===null)&&(u=0),a.rank=u}e.forEach(i.sources(),o)}function n(i,r){return i.node(r.w).rank-i.node(r.v).rank-i.edge(r).minlen}return br}var Er,Hs;function yc(){if(Hs)return Er;Hs=1;var e=oe(),t=ge().Graph,n=zt().slack;Er=i;function i(a){var u=new t({directed:!1}),l=a.nodes()[0],c=a.nodeCount();u.setNode(l,{});for(var f,d;r(u,a)<c;)f=o(u,a),d=u.hasNode(f.v)?n(a,f):-n(a,f),s(u,a,d);return u}function r(a,u){function l(c){e.forEach(u.nodeEdges(c),function(f){var d=f.v,h=c===d?f.w:d;!a.hasNode(h)&&!n(u,f)&&(a.setNode(h,{}),a.setEdge(c,h,{}),l(h))})}return e.forEach(a.nodes(),l),a.nodeCount()}function o(a,u){return e.minBy(u.edges(),function(l){if(a.hasNode(l.v)!==a.hasNode(l.w))return n(u,l)})}function s(a,u,l){e.forEach(a.nodes(),function(c){u.node(c).rank+=l})}return Er}var Nr,js;function Cy(){if(js)return Nr;js=1;var e=oe(),t=yc(),n=zt().slack,i=zt().longestPath,r=ge().alg.preorder,o=ge().alg.postorder,s=ue().simplify;Nr=a,a.initLowLimValues=f,a.initCutValues=u,a.calcCutValue=c,a.leaveEdge=h,a.enterEdge=g,a.exchangeEdges=w;function a(p){p=s(p),i(p);var y=t(p);f(y),u(y,p);for(var _,b;_=h(y);)b=g(y,p,_),w(y,p,_,b)}function u(p,y){var _=o(p,p.nodes());_=_.slice(0,_.length-1),e.forEach(_,function(b){l(p,y,b)})}function l(p,y,_){var b=p.node(_),N=b.parent;p.edge(_,N).cutvalue=c(p,y,_)}function c(p,y,_){var b=p.node(_),N=b.parent,S=!0,C=y.edge(_,N),q=0;return C||(S=!1,C=y.edge(N,_)),q=C.weight,e.forEach(y.nodeEdges(_),function(k){var M=k.v===_,z=M?k.w:k.v;if(z!==N){var E=M===S,P=y.edge(k).weight;if(q+=E?P:-P,m(p,_,z)){var A=p.edge(_,z).cutvalue;q+=E?-A:A}}}),q}function f(p,y){arguments.length<2&&(y=p.nodes()[0]),d(p,{},1,y)}function d(p,y,_,b,N){var S=_,C=p.node(b);return y[b]=!0,e.forEach(p.neighbors(b),function(q){e.has(y,q)||(_=d(p,y,_,q,b))}),C.low=S,C.lim=_++,N?C.parent=N:delete C.parent,_}function h(p){return e.find(p.edges(),function(y){return p.edge(y).cutvalue<0})}function g(p,y,_){var b=_.v,N=_.w;y.hasEdge(b,N)||(b=_.w,N=_.v);var S=p.node(b),C=p.node(N),q=S,k=!1;S.lim>C.lim&&(q=C,k=!0);var M=e.filter(y.edges(),function(z){return k===x(p,p.node(z.v),q)&&k!==x(p,p.node(z.w),q)});return e.minBy(M,function(z){return n(y,z)})}function w(p,y,_,b){var N=_.v,S=_.w;p.removeEdge(N,S),p.setEdge(b.v,b.w,{}),f(p),u(p,y),v(p,y)}function v(p,y){var _=e.find(p.nodes(),function(N){return!y.node(N).parent}),b=r(p,_);b=b.slice(1),e.forEach(b,function(N){var S=p.node(N).parent,C=y.edge(N,S),q=!1;C||(C=y.edge(S,N),q=!0),y.node(N).rank=y.node(S).rank+(q?C.minlen:-C.minlen)})}function m(p,y,_){return p.hasEdge(y,_)}function x(p,y,_){return _.low<=y.lim&&y.lim<=_.lim}return Nr}var Sr,Gs;function ky(){if(Gs)return Sr;Gs=1;var e=zt(),t=e.longestPath,n=yc(),i=Cy();Sr=r;function r(u){switch(u.graph().ranker){case"network-simplex":a(u);break;case"tight-tree":s(u);break;case"longest-path":o(u);break;default:a(u)}}var o=t;function s(u){t(u),n(u)}function a(u){i(u)}return Sr}var Cr,Ys;function My(){if(Ys)return Cr;Ys=1;var e=oe();Cr=t;function t(r){var o=i(r);e.forEach(r.graph().dummyChains,function(s){for(var a=r.node(s),u=a.edgeObj,l=n(r,o,u.v,u.w),c=l.path,f=l.lca,d=0,h=c[d],g=!0;s!==u.w;){if(a=r.node(s),g){for(;(h=c[d])!==f&&r.node(h).maxRank<a.rank;)d++;h===f&&(g=!1)}if(!g){for(;d<c.length-1&&r.node(h=c[d+1]).minRank<=a.rank;)d++;h=c[d]}r.setParent(s,h),s=r.successors(s)[0]}})}function n(r,o,s,a){var u=[],l=[],c=Math.min(o[s].low,o[a].low),f=Math.max(o[s].lim,o[a].lim),d,h;d=s;do d=r.parent(d),u.push(d);while(d&&(o[d].low>c||f>o[d].lim));for(h=d,d=a;(d=r.parent(d))!==h;)l.push(d);return{path:u.concat(l.reverse()),lca:h}}function i(r){var o={},s=0;function a(u){var l=s;e.forEach(r.children(u),a),o[u]={low:l,lim:s++}}return e.forEach(r.children(),a),o}return Cr}var kr,Ws;function Iy(){if(Ws)return kr;Ws=1;var e=oe(),t=ue();kr={run:n,cleanup:s};function n(a){var u=t.addDummyNode(a,"root",{},"_root"),l=r(a),c=e.max(e.values(l))-1,f=2*c+1;a.graph().nestingRoot=u,e.forEach(a.edges(),function(h){a.edge(h).minlen*=f});var d=o(a)+1;e.forEach(a.children(),function(h){i(a,u,f,d,c,l,h)}),a.graph().nodeRankFactor=f}function i(a,u,l,c,f,d,h){var g=a.children(h);if(!g.length){h!==u&&a.setEdge(u,h,{weight:0,minlen:l});return}var w=t.addBorderNode(a,"_bt"),v=t.addBorderNode(a,"_bb"),m=a.node(h);a.setParent(w,h),m.borderTop=w,a.setParent(v,h),m.borderBottom=v,e.forEach(g,function(x){i(a,u,l,c,f,d,x);var p=a.node(x),y=p.borderTop?p.borderTop:x,_=p.borderBottom?p.borderBottom:x,b=p.borderTop?c:2*c,N=y!==_?1:f-d[h]+1;a.setEdge(w,y,{weight:b,minlen:N,nestingEdge:!0}),a.setEdge(_,v,{weight:b,minlen:N,nestingEdge:!0})}),a.parent(h)||a.setEdge(u,w,{weight:0,minlen:f+d[h]})}function r(a){var u={};function l(c,f){var d=a.children(c);d&&d.length&&e.forEach(d,function(h){l(h,f+1)}),u[c]=f}return e.forEach(a.children(),function(c){l(c,1)}),u}function o(a){return e.reduce(a.edges(),function(u,l){return u+a.edge(l).weight},0)}function s(a){var u=a.graph();a.removeNode(u.nestingRoot),delete u.nestingRoot,e.forEach(a.edges(),function(l){var c=a.edge(l);c.nestingEdge&&a.removeEdge(l)})}return kr}var Mr,Xs;function Ay(){if(Xs)return Mr;Xs=1;var e=oe(),t=ue();Mr=n;function n(r){function o(s){var a=r.children(s),u=r.node(s);if(a.length&&e.forEach(a,o),e.has(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(var l=u.minRank,c=u.maxRank+1;l<c;++l)i(r,"borderLeft","_bl",s,u,l),i(r,"borderRight","_br",s,u,l)}}e.forEach(r.children(),o)}function i(r,o,s,a,u,l){var c={width:0,height:0,rank:l,borderType:o},f=u[o][l-1],d=t.addDummyNode(r,"border",c,s);u[o][l]=d,r.setParent(d,a),f&&r.setEdge(f,d,{weight:1})}return Mr}var Ir,Us;function Py(){if(Us)return Ir;Us=1;var e=oe();Ir={adjust:t,undo:n};function t(l){var c=l.graph().rankdir.toLowerCase();(c==="lr"||c==="rl")&&i(l)}function n(l){var c=l.graph().rankdir.toLowerCase();(c==="bt"||c==="rl")&&o(l),(c==="lr"||c==="rl")&&(a(l),i(l))}function i(l){e.forEach(l.nodes(),function(c){r(l.node(c))}),e.forEach(l.edges(),function(c){r(l.edge(c))})}function r(l){var c=l.width;l.width=l.height,l.height=c}function o(l){e.forEach(l.nodes(),function(c){s(l.node(c))}),e.forEach(l.edges(),function(c){var f=l.edge(c);e.forEach(f.points,s),e.has(f,"y")&&s(f)})}function s(l){l.y=-l.y}function a(l){e.forEach(l.nodes(),function(c){u(l.node(c))}),e.forEach(l.edges(),function(c){var f=l.edge(c);e.forEach(f.points,u),e.has(f,"x")&&u(f)})}function u(l){var c=l.x;l.x=l.y,l.y=c}return Ir}var Ar,Ks;function Ry(){if(Ks)return Ar;Ks=1;var e=oe();Ar=t;function t(n){var i={},r=e.filter(n.nodes(),function(l){return!n.children(l).length}),o=e.max(e.map(r,function(l){return n.node(l).rank})),s=e.map(e.range(o+1),function(){return[]});function a(l){if(!e.has(i,l)){i[l]=!0;var c=n.node(l);s[c.rank].push(l),e.forEach(n.successors(l),a)}}var u=e.sortBy(r,function(l){return n.node(l).rank});return e.forEach(u,a),s}return Ar}var Pr,Zs;function Ly(){if(Zs)return Pr;Zs=1;var e=oe();Pr=t;function t(i,r){for(var o=0,s=1;s<r.length;++s)o+=n(i,r[s-1],r[s]);return o}function n(i,r,o){for(var s=e.zipObject(o,e.map(o,function(d,h){return h})),a=e.flatten(e.map(r,function(d){return e.sortBy(e.map(i.outEdges(d),function(h){return{pos:s[h.w],weight:i.edge(h).weight}}),"pos")}),!0),u=1;u<o.length;)u<<=1;var l=2*u-1;u-=1;var c=e.map(new Array(l),function(){return 0}),f=0;return e.forEach(a.forEach(function(d){var h=d.pos+u;c[h]+=d.weight;for(var g=0;h>0;)h%2&&(g+=c[h+1]),h=h-1>>1,c[h]+=d.weight;f+=d.weight*g})),f}return Pr}var Rr,Qs;function qy(){if(Qs)return Rr;Qs=1;var e=oe();Rr=t;function t(n,i){return e.map(i,function(r){var o=n.inEdges(r);if(o.length){var s=e.reduce(o,function(a,u){var l=n.edge(u),c=n.node(u.v);return{sum:a.sum+l.weight*c.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:s.sum/s.weight,weight:s.weight}}else return{v:r}})}return Rr}var Lr,Js;function Ty(){if(Js)return Lr;Js=1;var e=oe();Lr=t;function t(r,o){var s={};e.forEach(r,function(u,l){var c=s[u.v]={indegree:0,in:[],out:[],vs:[u.v],i:l};e.isUndefined(u.barycenter)||(c.barycenter=u.barycenter,c.weight=u.weight)}),e.forEach(o.edges(),function(u){var l=s[u.v],c=s[u.w];!e.isUndefined(l)&&!e.isUndefined(c)&&(c.indegree++,l.out.push(s[u.w]))});var a=e.filter(s,function(u){return!u.indegree});return n(a)}function n(r){var o=[];function s(l){return function(c){c.merged||(e.isUndefined(c.barycenter)||e.isUndefined(l.barycenter)||c.barycenter>=l.barycenter)&&i(l,c)}}function a(l){return function(c){c.in.push(l),--c.indegree===0&&r.push(c)}}for(;r.length;){var u=r.pop();o.push(u),e.forEach(u.in.reverse(),s(u)),e.forEach(u.out,a(u))}return e.map(e.filter(o,function(l){return!l.merged}),function(l){return e.pick(l,["vs","i","barycenter","weight"])})}function i(r,o){var s=0,a=0;r.weight&&(s+=r.barycenter*r.weight,a+=r.weight),o.weight&&(s+=o.barycenter*o.weight,a+=o.weight),r.vs=o.vs.concat(r.vs),r.barycenter=s/a,r.weight=a,r.i=Math.min(o.i,r.i),o.merged=!0}return Lr}var qr,ea;function Dy(){if(ea)return qr;ea=1;var e=oe(),t=ue();qr=n;function n(o,s){var a=t.partition(o,function(w){return e.has(w,"barycenter")}),u=a.lhs,l=e.sortBy(a.rhs,function(w){return-w.i}),c=[],f=0,d=0,h=0;u.sort(r(!!s)),h=i(c,l,h),e.forEach(u,function(w){h+=w.vs.length,c.push(w.vs),f+=w.barycenter*w.weight,d+=w.weight,h=i(c,l,h)});var g={vs:e.flatten(c,!0)};return d&&(g.barycenter=f/d,g.weight=d),g}function i(o,s,a){for(var u;s.length&&(u=e.last(s)).i<=a;)s.pop(),o.push(u.vs),a++;return a}function r(o){return function(s,a){return s.barycenter<a.barycenter?-1:s.barycenter>a.barycenter?1:o?a.i-s.i:s.i-a.i}}return qr}var Tr,ta;function zy(){if(ta)return Tr;ta=1;var e=oe(),t=qy(),n=Ty(),i=Dy();Tr=r;function r(a,u,l,c){var f=a.children(u),d=a.node(u),h=d?d.borderLeft:void 0,g=d?d.borderRight:void 0,w={};h&&(f=e.filter(f,function(_){return _!==h&&_!==g}));var v=t(a,f);e.forEach(v,function(_){if(a.children(_.v).length){var b=r(a,_.v,l,c);w[_.v]=b,e.has(b,"barycenter")&&s(_,b)}});var m=n(v,l);o(m,w);var x=i(m,c);if(h&&(x.vs=e.flatten([h,x.vs,g],!0),a.predecessors(h).length)){var p=a.node(a.predecessors(h)[0]),y=a.node(a.predecessors(g)[0]);e.has(x,"barycenter")||(x.barycenter=0,x.weight=0),x.barycenter=(x.barycenter*x.weight+p.order+y.order)/(x.weight+2),x.weight+=2}return x}function o(a,u){e.forEach(a,function(l){l.vs=e.flatten(l.vs.map(function(c){return u[c]?u[c].vs:c}),!0)})}function s(a,u){e.isUndefined(a.barycenter)?(a.barycenter=u.barycenter,a.weight=u.weight):(a.barycenter=(a.barycenter*a.weight+u.barycenter*u.weight)/(a.weight+u.weight),a.weight+=u.weight)}return Tr}var Dr,na;function $y(){if(na)return Dr;na=1;var e=oe(),t=ge().Graph;Dr=n;function n(r,o,s){var a=i(r),u=new t({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(l){return r.node(l)});return e.forEach(r.nodes(),function(l){var c=r.node(l),f=r.parent(l);(c.rank===o||c.minRank<=o&&o<=c.maxRank)&&(u.setNode(l),u.setParent(l,f||a),e.forEach(r[s](l),function(d){var h=d.v===l?d.w:d.v,g=u.edge(h,l),w=e.isUndefined(g)?0:g.weight;u.setEdge(h,l,{weight:r.edge(d).weight+w})}),e.has(c,"minRank")&&u.setNode(l,{borderLeft:c.borderLeft[o],borderRight:c.borderRight[o]}))}),u}function i(r){for(var o;r.hasNode(o=e.uniqueId("_root")););return o}return Dr}var zr,ra;function Fy(){if(ra)return zr;ra=1;var e=oe();zr=t;function t(n,i,r){var o={},s;e.forEach(r,function(a){for(var u=n.parent(a),l,c;u;){if(l=n.parent(u),l?(c=o[l],o[l]=u):(c=s,s=u),c&&c!==u){i.setEdge(c,u);return}u=l}})}return zr}var $r,ia;function Oy(){if(ia)return $r;ia=1;var e=oe(),t=Ry(),n=Ly(),i=zy(),r=$y(),o=Fy(),s=ge().Graph,a=ue();$r=u;function u(d){var h=a.maxRank(d),g=l(d,e.range(1,h+1),"inEdges"),w=l(d,e.range(h-1,-1,-1),"outEdges"),v=t(d);f(d,v);for(var m=Number.POSITIVE_INFINITY,x,p=0,y=0;y<4;++p,++y){c(p%2?g:w,p%4>=2),v=a.buildLayerMatrix(d);var _=n(d,v);_<m&&(y=0,x=e.cloneDeep(v),m=_)}f(d,x)}function l(d,h,g){return e.map(h,function(w){return r(d,w,g)})}function c(d,h){var g=new s;e.forEach(d,function(w){var v=w.graph().root,m=i(w,v,g,h);e.forEach(m.vs,function(x,p){w.node(x).order=p}),o(w,g,m.vs)})}function f(d,h){e.forEach(h,function(g){e.forEach(g,function(w,v){d.node(w).order=v})})}return $r}var Fr,oa;function Vy(){if(oa)return Fr;oa=1;var e=oe(),t=ge().Graph,n=ue();Fr={positionX:g,findType1Conflicts:i,findType2Conflicts:r,addConflict:s,hasConflict:a,verticalAlignment:u,horizontalCompaction:l,alignCoordinates:d,findSmallestWidthAlignment:f,balance:h};function i(m,x){var p={};function y(_,b){var N=0,S=0,C=_.length,q=e.last(b);return e.forEach(b,function(k,M){var z=o(m,k),E=z?m.node(z).order:C;(z||k===q)&&(e.forEach(b.slice(S,M+1),function(P){e.forEach(m.predecessors(P),function(A){var D=m.node(A),L=D.order;(L<N||E<L)&&!(D.dummy&&m.node(P).dummy)&&s(p,A,P)})}),S=M+1,N=E)}),b}return e.reduce(x,y),p}function r(m,x){var p={};function y(b,N,S,C,q){var k;e.forEach(e.range(N,S),function(M){k=b[M],m.node(k).dummy&&e.forEach(m.predecessors(k),function(z){var E=m.node(z);E.dummy&&(E.order<C||E.order>q)&&s(p,z,k)})})}function _(b,N){var S=-1,C,q=0;return e.forEach(N,function(k,M){if(m.node(k).dummy==="border"){var z=m.predecessors(k);z.length&&(C=m.node(z[0]).order,y(N,q,M,S,C),q=M,S=C)}y(N,q,N.length,C,b.length)}),N}return e.reduce(x,_),p}function o(m,x){if(m.node(x).dummy)return e.find(m.predecessors(x),function(p){return m.node(p).dummy})}function s(m,x,p){if(x>p){var y=x;x=p,p=y}var _=m[x];_||(m[x]=_={}),_[p]=!0}function a(m,x,p){if(x>p){var y=x;x=p,p=y}return e.has(m[x],p)}function u(m,x,p,y){var _={},b={},N={};return e.forEach(x,function(S){e.forEach(S,function(C,q){_[C]=C,b[C]=C,N[C]=q})}),e.forEach(x,function(S){var C=-1;e.forEach(S,function(q){var k=y(q);if(k.length){k=e.sortBy(k,function(A){return N[A]});for(var M=(k.length-1)/2,z=Math.floor(M),E=Math.ceil(M);z<=E;++z){var P=k[z];b[q]===q&&C<N[P]&&!a(p,q,P)&&(b[P]=q,b[q]=_[q]=_[P],C=N[P])}}})}),{root:_,align:b}}function l(m,x,p,y,_){var b={},N=c(m,x,p,_),S=_?"borderLeft":"borderRight";function C(M,z){for(var E=N.nodes(),P=E.pop(),A={};P;)A[P]?M(P):(A[P]=!0,E.push(P),E=E.concat(z(P))),P=E.pop()}function q(M){b[M]=N.inEdges(M).reduce(function(z,E){return Math.max(z,b[E.v]+N.edge(E))},0)}function k(M){var z=N.outEdges(M).reduce(function(P,A){return Math.min(P,b[A.w]-N.edge(A))},Number.POSITIVE_INFINITY),E=m.node(M);z!==Number.POSITIVE_INFINITY&&E.borderType!==S&&(b[M]=Math.max(b[M],z))}return C(q,N.predecessors.bind(N)),C(k,N.successors.bind(N)),e.forEach(y,function(M){b[M]=b[p[M]]}),b}function c(m,x,p,y){var _=new t,b=m.graph(),N=w(b.nodesep,b.edgesep,y);return e.forEach(x,function(S){var C;e.forEach(S,function(q){var k=p[q];if(_.setNode(k),C){var M=p[C],z=_.edge(M,k);_.setEdge(M,k,Math.max(N(m,q,C),z||0))}C=q})}),_}function f(m,x){return e.minBy(e.values(x),function(p){var y=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;return e.forIn(p,function(b,N){var S=v(m,N)/2;y=Math.max(b+S,y),_=Math.min(b-S,_)}),y-_})}function d(m,x){var p=e.values(x),y=e.min(p),_=e.max(p);e.forEach(["u","d"],function(b){e.forEach(["l","r"],function(N){var S=b+N,C=m[S],q;if(C!==x){var k=e.values(C);q=N==="l"?y-e.min(k):_-e.max(k),q&&(m[S]=e.mapValues(C,function(M){return M+q}))}})})}function h(m,x){return e.mapValues(m.ul,function(p,y){if(x)return m[x.toLowerCase()][y];var _=e.sortBy(e.map(m,y));return(_[1]+_[2])/2})}function g(m){var x=n.buildLayerMatrix(m),p=e.merge(i(m,x),r(m,x)),y={},_;e.forEach(["u","d"],function(N){_=N==="u"?x:e.values(x).reverse(),e.forEach(["l","r"],function(S){S==="r"&&(_=e.map(_,function(M){return e.values(M).reverse()}));var C=(N==="u"?m.predecessors:m.successors).bind(m),q=u(m,_,p,C),k=l(m,_,q.root,q.align,S==="r");S==="r"&&(k=e.mapValues(k,function(M){return-M})),y[N+S]=k})});var b=f(m,y);return d(y,b),h(y,m.graph().align)}function w(m,x,p){return function(y,_,b){var N=y.node(_),S=y.node(b),C=0,q;if(C+=N.width/2,e.has(N,"labelpos"))switch(N.labelpos.toLowerCase()){case"l":q=-N.width/2;break;case"r":q=N.width/2;break}if(q&&(C+=p?q:-q),q=0,C+=(N.dummy?x:m)/2,C+=(S.dummy?x:m)/2,C+=S.width/2,e.has(S,"labelpos"))switch(S.labelpos.toLowerCase()){case"l":q=S.width/2;break;case"r":q=-S.width/2;break}return q&&(C+=p?q:-q),q=0,C}}function v(m,x){return m.node(x).width}return Fr}var Or,sa;function By(){if(sa)return Or;sa=1;var e=oe(),t=ue(),n=Vy().positionX;Or=i;function i(o){o=t.asNonCompoundGraph(o),r(o),e.forEach(n(o),function(s,a){o.node(a).x=s})}function r(o){var s=t.buildLayerMatrix(o),a=o.graph().ranksep,u=0;e.forEach(s,function(l){var c=e.max(e.map(l,function(f){return o.node(f).height}));e.forEach(l,function(f){o.node(f).y=u+c/2}),u+=c+a})}return Or}var Vr,aa;function Hy(){if(aa)return Vr;aa=1;var e=oe(),t=Ny(),n=Sy(),i=ky(),r=ue().normalizeRanks,o=My(),s=ue().removeEmptyRanks,a=Iy(),u=Ay(),l=Py(),c=Oy(),f=By(),d=ue(),h=ge().Graph;Vr=g;function g(I,T){var F=T&&T.debugTiming?d.time:d.notime;F("layout",function(){var V=F(" buildLayoutGraph",function(){return C(I)});F(" runLayout",function(){w(V,F)}),F(" updateInputGraph",function(){v(I,V)})})}function w(I,T){T(" makeSpaceForEdgeLabels",function(){q(I)}),T(" removeSelfEdges",function(){R(I)}),T(" acyclic",function(){t.run(I)}),T(" nestingGraph.run",function(){a.run(I)}),T(" rank",function(){i(d.asNonCompoundGraph(I))}),T(" injectEdgeLabelProxies",function(){k(I)}),T(" removeEmptyRanks",function(){s(I)}),T(" nestingGraph.cleanup",function(){a.cleanup(I)}),T(" normalizeRanks",function(){r(I)}),T(" assignRankMinMax",function(){M(I)}),T(" removeEdgeLabelProxies",function(){z(I)}),T(" normalize.run",function(){n.run(I)}),T(" parentDummyChains",function(){o(I)}),T(" addBorderSegments",function(){u(I)}),T(" order",function(){c(I)}),T(" insertSelfEdges",function(){H(I)}),T(" adjustCoordinateSystem",function(){l.adjust(I)}),T(" position",function(){f(I)}),T(" positionSelfEdges",function(){G(I)}),T(" removeBorderNodes",function(){L(I)}),T(" normalize.undo",function(){n.undo(I)}),T(" fixupEdgeLabelCoords",function(){A(I)}),T(" undoCoordinateSystem",function(){l.undo(I)}),T(" translateGraph",function(){E(I)}),T(" assignNodeIntersects",function(){P(I)}),T(" reversePoints",function(){D(I)}),T(" acyclic.undo",function(){t.undo(I)})}function v(I,T){e.forEach(I.nodes(),function(F){var V=I.node(F),B=T.node(F);V&&(V.x=B.x,V.y=B.y,T.children(F).length&&(V.width=B.width,V.height=B.height))}),e.forEach(I.edges(),function(F){var V=I.edge(F),B=T.edge(F);V.points=B.points,e.has(B,"x")&&(V.x=B.x,V.y=B.y)}),I.graph().width=T.graph().width,I.graph().height=T.graph().height}var m=["nodesep","edgesep","ranksep","marginx","marginy"],x={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},p=["acyclicer","ranker","rankdir","align"],y=["width","height"],_={width:0,height:0},b=["minlen","weight","width","height","labeloffset"],N={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},S=["labelpos"];function C(I){var T=new h({multigraph:!0,compound:!0}),F=W(I.graph());return T.setGraph(e.merge({},x,j(F,m),e.pick(F,p))),e.forEach(I.nodes(),function(V){var B=W(I.node(V));T.setNode(V,e.defaults(j(B,y),_)),T.setParent(V,I.parent(V))}),e.forEach(I.edges(),function(V){var B=W(I.edge(V));T.setEdge(V,e.merge({},N,j(B,b),e.pick(B,S)))}),T}function q(I){var T=I.graph();T.ranksep/=2,e.forEach(I.edges(),function(F){var V=I.edge(F);V.minlen*=2,V.labelpos.toLowerCase()!=="c"&&(T.rankdir==="TB"||T.rankdir==="BT"?V.width+=V.labeloffset:V.height+=V.labeloffset)})}function k(I){e.forEach(I.edges(),function(T){var F=I.edge(T);if(F.width&&F.height){var V=I.node(T.v),B=I.node(T.w),Y={rank:(B.rank-V.rank)/2+V.rank,e:T};d.addDummyNode(I,"edge-proxy",Y,"_ep")}})}function M(I){var T=0;e.forEach(I.nodes(),function(F){var V=I.node(F);V.borderTop&&(V.minRank=I.node(V.borderTop).rank,V.maxRank=I.node(V.borderBottom).rank,T=e.max(T,V.maxRank))}),I.graph().maxRank=T}function z(I){e.forEach(I.nodes(),function(T){var F=I.node(T);F.dummy==="edge-proxy"&&(I.edge(F.e).labelRank=F.rank,I.removeNode(T))})}function E(I){var T=Number.POSITIVE_INFINITY,F=0,V=Number.POSITIVE_INFINITY,B=0,Y=I.graph(),U=Y.marginx||0,K=Y.marginy||0;function Q(X){var J=X.x,ne=X.y,ee=X.width,ae=X.height;T=Math.min(T,J-ee/2),F=Math.max(F,J+ee/2),V=Math.min(V,ne-ae/2),B=Math.max(B,ne+ae/2)}e.forEach(I.nodes(),function(X){Q(I.node(X))}),e.forEach(I.edges(),function(X){var J=I.edge(X);e.has(J,"x")&&Q(J)}),T-=U,V-=K,e.forEach(I.nodes(),function(X){var J=I.node(X);J.x-=T,J.y-=V}),e.forEach(I.edges(),function(X){var J=I.edge(X);e.forEach(J.points,function(ne){ne.x-=T,ne.y-=V}),e.has(J,"x")&&(J.x-=T),e.has(J,"y")&&(J.y-=V)}),Y.width=F-T+U,Y.height=B-V+K}function P(I){e.forEach(I.edges(),function(T){var F=I.edge(T),V=I.node(T.v),B=I.node(T.w),Y,U;F.points?(Y=F.points[0],U=F.points[F.points.length-1]):(F.points=[],Y=B,U=V),F.points.unshift(d.intersectRect(V,Y)),F.points.push(d.intersectRect(B,U))})}function A(I){e.forEach(I.edges(),function(T){var F=I.edge(T);if(e.has(F,"x"))switch((F.labelpos==="l"||F.labelpos==="r")&&(F.width-=F.labeloffset),F.labelpos){case"l":F.x-=F.width/2+F.labeloffset;break;case"r":F.x+=F.width/2+F.labeloffset;break}})}function D(I){e.forEach(I.edges(),function(T){var F=I.edge(T);F.reversed&&F.points.reverse()})}function L(I){e.forEach(I.nodes(),function(T){if(I.children(T).length){var F=I.node(T),V=I.node(F.borderTop),B=I.node(F.borderBottom),Y=I.node(e.last(F.borderLeft)),U=I.node(e.last(F.borderRight));F.width=Math.abs(U.x-Y.x),F.height=Math.abs(B.y-V.y),F.x=Y.x+F.width/2,F.y=V.y+F.height/2}}),e.forEach(I.nodes(),function(T){I.node(T).dummy==="border"&&I.removeNode(T)})}function R(I){e.forEach(I.edges(),function(T){if(T.v===T.w){var F=I.node(T.v);F.selfEdges||(F.selfEdges=[]),F.selfEdges.push({e:T,label:I.edge(T)}),I.removeEdge(T)}})}function H(I){var T=d.buildLayerMatrix(I);e.forEach(T,function(F){var V=0;e.forEach(F,function(B,Y){var U=I.node(B);U.order=Y+V,e.forEach(U.selfEdges,function(K){d.addDummyNode(I,"selfedge",{width:K.label.width,height:K.label.height,rank:U.rank,order:Y+ ++V,e:K.e,label:K.label},"_se")}),delete U.selfEdges})})}function G(I){e.forEach(I.nodes(),function(T){var F=I.node(T);if(F.dummy==="selfedge"){var V=I.node(F.e.v),B=V.x+V.width/2,Y=V.y,U=F.x-B,K=V.height/2;I.setEdge(F.e,F.label),I.removeNode(T),F.label.points=[{x:B+2*U/3,y:Y-K},{x:B+5*U/6,y:Y-K},{x:B+U,y:Y},{x:B+5*U/6,y:Y+K},{x:B+2*U/3,y:Y+K}],F.label.x=F.x,F.label.y=F.y}})}function j(I,T){return e.mapValues(e.pick(I,T),Number)}function W(I){var T={};return e.forEach(I,function(F,V){T[V.toLowerCase()]=F}),T}return Vr}var Br,ua;function jy(){if(ua)return Br;ua=1;var e=oe(),t=ue(),n=ge().Graph;Br={debugOrdering:i};function i(r){var o=t.buildLayerMatrix(r),s=new n({compound:!0,multigraph:!0}).setGraph({});return e.forEach(r.nodes(),function(a){s.setNode(a,{label:a}),s.setParent(a,"layer"+r.node(a).rank)}),e.forEach(r.edges(),function(a){s.setEdge(a.v,a.w,{},a.name)}),e.forEach(o,function(a,u){var l="layer"+u;s.setNode(l,{rank:"same"}),e.reduce(a,function(c,f){return s.setEdge(c,f,{style:"invis"}),f})}),s}return Br}var Hr,ca;function Gy(){return ca||(ca=1,Hr="0.8.5"),Hr}var jr,la;function Jy(){return la||(la=1,jr={graphlib:ge(),layout:Hy(),debug:jy(),util:{time:ue().time,notime:ue().notime},version:Gy()}),jr}export{Ky as B,Zy as C,Tt as H,Qy as M,Z as P,Uy as i,Jy as r};
|