service-forge 0.1.28__py3-none-any.whl → 0.1.39__py3-none-any.whl
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.
Potentially problematic release.
This version of service-forge might be problematic. Click here for more details.
- service_forge/__init__.py +0 -0
- service_forge/api/deprecated_websocket_api.py +91 -33
- service_forge/api/deprecated_websocket_manager.py +70 -53
- service_forge/api/http_api.py +127 -53
- service_forge/api/kafka_api.py +113 -25
- service_forge/api/routers/meta_api/meta_api_router.py +57 -0
- service_forge/api/routers/service/service_router.py +42 -6
- service_forge/api/routers/trace/trace_router.py +326 -0
- service_forge/api/routers/websocket/websocket_router.py +56 -1
- service_forge/api/service_studio.py +9 -0
- service_forge/execution_context.py +106 -0
- service_forge/frontend/static/assets/CreateNewNodeDialog-DkrEMxSH.js +1 -0
- service_forge/frontend/static/assets/CreateNewNodeDialog-DwFcBiGp.css +1 -0
- service_forge/frontend/static/assets/EditorSidePanel-BNVms9Fq.css +1 -0
- service_forge/frontend/static/assets/EditorSidePanel-DZbB3ILL.js +1 -0
- service_forge/frontend/static/assets/FeedbackPanel-CC8HX7Yo.js +1 -0
- service_forge/frontend/static/assets/FeedbackPanel-ClgniIVk.css +1 -0
- service_forge/frontend/static/assets/FormattedCodeViewer.vue_vue_type_script_setup_true_lang-BNuI1NCs.js +1 -0
- service_forge/frontend/static/assets/NodeDetailWrapper-BqFFM7-r.js +1 -0
- service_forge/frontend/static/assets/NodeDetailWrapper-pZBxv3J0.css +1 -0
- service_forge/frontend/static/assets/TestRunningDialog-D0GrCoYs.js +1 -0
- service_forge/frontend/static/assets/TestRunningDialog-dhXOsPgH.css +1 -0
- service_forge/frontend/static/assets/TracePanelWrapper-B9zvDSc_.js +1 -0
- service_forge/frontend/static/assets/TracePanelWrapper-BiednCrq.css +1 -0
- service_forge/frontend/static/assets/WorkflowEditor-CcaGGbko.js +3 -0
- service_forge/frontend/static/assets/WorkflowEditor-CmasOOYK.css +1 -0
- service_forge/frontend/static/assets/WorkflowList-Copuwi-a.css +1 -0
- service_forge/frontend/static/assets/WorkflowList-LrRJ7B7h.js +1 -0
- service_forge/frontend/static/assets/WorkflowStudio-CthjgII2.css +1 -0
- service_forge/frontend/static/assets/WorkflowStudio-FCyhGD4y.js +2 -0
- service_forge/frontend/static/assets/api-BDer3rj7.css +1 -0
- service_forge/frontend/static/assets/api-DyiqpKJK.js +1 -0
- service_forge/frontend/static/assets/code-editor-DBSql_sc.js +12 -0
- service_forge/frontend/static/assets/el-collapse-item-D4LG0FJ0.css +1 -0
- service_forge/frontend/static/assets/el-empty-D4ZqTl4F.css +1 -0
- service_forge/frontend/static/assets/el-form-item-BWkJzdQ_.css +1 -0
- service_forge/frontend/static/assets/el-input-D6B3r8CH.css +1 -0
- service_forge/frontend/static/assets/el-select-B0XIb2QK.css +1 -0
- service_forge/frontend/static/assets/el-tag-DljBBxJR.css +1 -0
- service_forge/frontend/static/assets/element-ui-D3x2y3TA.js +12 -0
- service_forge/frontend/static/assets/elkjs-Dm5QV7uy.js +24 -0
- service_forge/frontend/static/assets/highlightjs-D4ATuRwX.js +3 -0
- service_forge/frontend/static/assets/index-BMvodlwc.js +2 -0
- service_forge/frontend/static/assets/index-CjSe8i2q.css +1 -0
- service_forge/frontend/static/assets/js-yaml-yTPt38rv.js +32 -0
- service_forge/frontend/static/assets/time-DKCKV6Ug.js +1 -0
- service_forge/frontend/static/assets/ui-components-DQ7-U3pr.js +1 -0
- service_forge/frontend/static/assets/vue-core-DL-LgTX0.js +1 -0
- service_forge/frontend/static/assets/vue-flow-Dn7R8GPr.js +39 -0
- service_forge/frontend/static/index.html +16 -0
- service_forge/frontend/static/vite.svg +1 -0
- service_forge/model/meta_api/__init__.py +0 -0
- service_forge/model/meta_api/schema.py +29 -0
- service_forge/model/trace.py +82 -0
- service_forge/service.py +32 -11
- service_forge/service_config.py +14 -0
- service_forge/sft/config/injector.py +32 -2
- service_forge/sft/config/injector_default_files.py +12 -0
- service_forge/sft/config/sf_metadata.py +5 -0
- service_forge/sft/config/sft_config.py +18 -0
- service_forge/telemetry.py +66 -0
- service_forge/workflow/node.py +266 -27
- service_forge/workflow/triggers/fast_api_trigger.py +61 -28
- service_forge/workflow/triggers/websocket_api_trigger.py +31 -10
- service_forge/workflow/workflow.py +87 -10
- service_forge/workflow/workflow_callback.py +24 -2
- service_forge/workflow/workflow_factory.py +13 -0
- {service_forge-0.1.28.dist-info → service_forge-0.1.39.dist-info}/METADATA +4 -1
- service_forge-0.1.39.dist-info/RECORD +134 -0
- service_forge-0.1.28.dist-info/RECORD +0 -85
- {service_forge-0.1.28.dist-info → service_forge-0.1.39.dist-info}/WHEEL +0 -0
- {service_forge-0.1.28.dist-info → service_forge-0.1.39.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import{v as ye,h as Hr,i as Ct,aq as Fr,w as me,g as Ft,C as ge,ar as Ma,r as $e,c as oe,j as ht,x as le,y as te,z as _e,I as ct,u as U,F as Lr,D as Ca,U as De,K as qe,B as Me,V as ka,o as zn,a0 as Ia,H as Ie,a9 as fo,P as Oe,n as tt,Q as Yr,G as xe,as as Ta,J as Ne,s as Gn,O as Un,k as fi,a8 as Aa,at as Da,au as ce,q as xt,ag as Xr,a4 as ve,E as hi,A as Zn,L as gt,a2 as za,al as Pn,f as Pa,e as Ba,ai as Oa}from"./vue-core-DL-LgTX0.js";function tn(e){return Hr()?(zn(e),!0):!1}function Qe(e){return typeof e=="function"?e():U(e)}const Ra=typeof window<"u"&&typeof document<"u",Va=e=>typeof e<"u",Ha=Object.prototype.toString,Fa=e=>Ha.call(e)==="[object Object]",La=()=>{};function Ya(e,t){function n(...o){return new Promise((i,r)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(i).catch(r)})}return n}const Gr=e=>e();function Xa(e=Gr){const t=$e(!0);function n(){t.value=!1}function o(){t.value=!0}const i=(...r)=>{t.value&&e(...r)};return{isActive:Pa(t),pause:n,resume:o,eventFilter:i}}function zi(e,t=!1,n="Timeout"){return new Promise((o,i)=>{setTimeout(t?()=>i(n):o,e)})}function Ga(e,t,n={}){const{eventFilter:o=Gr,...i}=n;return me(e,Ya(o,t),i)}function kt(e,t,n={}){const{eventFilter:o,...i}=n,{eventFilter:r,pause:s,resume:a,isActive:l}=Xa(o);return{stop:Ga(e,t,{...i,eventFilter:r}),pause:s,resume:a,isActive:l}}function Ua(e,t={}){if(!fi(e))return Aa(e);const n=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const o in e.value)n[o]=Da(()=>({get(){return e.value[o]},set(i){var r;if((r=Qe(t.replaceRef))!=null?r:!0)if(Array.isArray(e.value)){const a=[...e.value];a[o]=i,e.value=a}else{const a={...e.value,[o]:i};Object.setPrototypeOf(a,Object.getPrototypeOf(e.value)),e.value=a}else e.value[o]=i}}));return n}function Fo(e,t=!1){function n(d,{flush:h="sync",deep:g=!1,timeout:x,throwOnTimeout:$}={}){let E=null;const A=[new Promise(w=>{E=me(e,C=>{d(C)!==t&&(E?.(),w(C))},{flush:h,deep:g,immediate:!0})})];return x!=null&&A.push(zi(x,$).then(()=>Qe(e)).finally(()=>E?.())),Promise.race(A)}function o(d,h){if(!fi(d))return n(C=>C===d,h);const{flush:g="sync",deep:x=!1,timeout:$,throwOnTimeout:E}=h??{};let b=null;const w=[new Promise(C=>{b=me([e,d],([B,H])=>{t!==(B===H)&&(b?.(),C(B))},{flush:g,deep:x,immediate:!0})})];return $!=null&&w.push(zi($,E).then(()=>Qe(e)).finally(()=>(b?.(),Qe(e)))),Promise.race(w)}function i(d){return n(h=>!!h,d)}function r(d){return o(null,d)}function s(d){return o(void 0,d)}function a(d){return n(Number.isNaN,d)}function l(d,h){return n(g=>{const x=Array.from(g);return x.includes(d)||x.includes(Qe(d))},h)}function u(d){return c(1,d)}function c(d=1,h){let g=-1;return n(()=>(g+=1,g>=d),h)}return Array.isArray(Qe(e))?{toMatch:n,toContains:l,changed:u,changedTimes:c,get not(){return Fo(e,!t)}}:{toMatch:n,toBe:o,toBeTruthy:i,toBeNull:r,toBeNaN:a,toBeUndefined:s,changed:u,changedTimes:c,get not(){return Fo(e,!t)}}}function Lo(e){return Fo(e)}function Za(e){var t;const n=Qe(e);return(t=n?.$el)!=null?t:n}const Ur=Ra?window:void 0;function Zr(...e){let t,n,o,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,o,i]=e,t=Ur):[t,n,o,i]=e,!t)return La;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const r=[],s=()=>{r.forEach(c=>c()),r.length=0},a=(c,d,h,g)=>(c.addEventListener(d,h,g),()=>c.removeEventListener(d,h,g)),l=me(()=>[Za(t),Qe(i)],([c,d])=>{if(s(),!c)return;const h=Fa(d)?{...d}:d;r.push(...n.flatMap(g=>o.map(x=>a(c,g,x,h))))},{immediate:!0,flush:"post"}),u=()=>{l(),s()};return tn(u),u}function Wa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Pi(...e){let t,n,o={};e.length===3?(t=e[0],n=e[1],o=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],o=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:i=Ur,eventName:r="keydown",passive:s=!1,dedupe:a=!1}=o,l=Wa(t);return Zr(i,r,c=>{c.repeat&&Qe(a)||l(c)&&n(c)},s)}function Ka(e){return JSON.parse(JSON.stringify(e))}function Mo(e,t,n,o={}){var i,r,s;const{clone:a=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:h}=o,g=Ft(),x=n||g?.emit||((i=g?.$emit)==null?void 0:i.bind(g))||((s=(r=g?.proxy)==null?void 0:r.$emit)==null?void 0:s.bind(g?.proxy));let $=u;t||(t="modelValue"),$=$||`update:${t.toString()}`;const E=w=>a?typeof a=="function"?a(w):Ka(w):w,b=()=>Va(e[t])?E(e[t]):d,A=w=>{h?h(w)&&x($,w):x($,w)};if(l){const w=b(),C=$e(w);let B=!1;return me(()=>e[t],H=>{B||(B=!0,C.value=E(H),tt(()=>B=!1))}),me(C,H=>{!B&&(H!==e[t]||c)&&A(H)},{deep:c}),C}else return oe({get(){return b()},set(w){A(w)}})}var qa={value:()=>{}};function ho(){for(var e=0,t=arguments.length,n={},o;e<t;++e){if(!(o=arguments[e]+"")||o in n||/[\s.]/.test(o))throw new Error("illegal type: "+o);n[o]=[]}return new Bn(n)}function Bn(e){this._=e}function Qa(e,t){return e.trim().split(/^|\s+/).map(function(n){var o="",i=n.indexOf(".");if(i>=0&&(o=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}Bn.prototype=ho.prototype={constructor:Bn,on:function(e,t){var n=this._,o=Qa(e+"",n),i,r=-1,s=o.length;if(arguments.length<2){for(;++r<s;)if((i=(e=o[r]).type)&&(i=Ja(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++r<s;)if(i=(e=o[r]).type)n[i]=Bi(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Bi(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Bn(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),o=0,i,r;o<i;++o)n[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],i=0,r=o.length;i<r;++i)o[i].value.apply(t,n)}};function Ja(e,t){for(var n=0,o=e.length,i;n<o;++n)if((i=e[n]).name===t)return i.value}function Bi(e,t,n){for(var o=0,i=e.length;o<i;++o)if(e[o].name===t){e[o]=qa,e=e.slice(0,o).concat(e.slice(o+1));break}return n!=null&&e.push({name:t,value:n}),e}var Yo="http://www.w3.org/1999/xhtml";const Oi={svg:"http://www.w3.org/2000/svg",xhtml:Yo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function go(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Oi.hasOwnProperty(t)?{space:Oi[t],local:e}:e}function ja(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Yo&&t.documentElement.namespaceURI===Yo?t.createElement(e):t.createElementNS(n,e)}}function el(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Wr(e){var t=go(e);return(t.local?el:ja)(t)}function tl(){}function gi(e){return e==null?tl:function(){return this.querySelector(e)}}function nl(e){typeof e!="function"&&(e=gi(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],s=r.length,a=o[i]=new Array(s),l,u,c=0;c<s;++c)(l=r[c])&&(u=e.call(l,l.__data__,c,r))&&("__data__"in l&&(u.__data__=l.__data__),a[c]=u);return new Te(o,this._parents)}function ol(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function il(){return[]}function Kr(e){return e==null?il:function(){return this.querySelectorAll(e)}}function rl(e){return function(){return ol(e.apply(this,arguments))}}function sl(e){typeof e=="function"?e=rl(e):e=Kr(e);for(var t=this._groups,n=t.length,o=[],i=[],r=0;r<n;++r)for(var s=t[r],a=s.length,l,u=0;u<a;++u)(l=s[u])&&(o.push(e.call(l,l.__data__,u,s)),i.push(l));return new Te(o,i)}function qr(e){return function(){return this.matches(e)}}function Qr(e){return function(t){return t.matches(e)}}var al=Array.prototype.find;function ll(e){return function(){return al.call(this.children,e)}}function ul(){return this.firstElementChild}function cl(e){return this.select(e==null?ul:ll(typeof e=="function"?e:Qr(e)))}var dl=Array.prototype.filter;function fl(){return Array.from(this.children)}function hl(e){return function(){return dl.call(this.children,e)}}function gl(e){return this.selectAll(e==null?fl:hl(typeof e=="function"?e:Qr(e)))}function vl(e){typeof e!="function"&&(e=qr(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],s=r.length,a=o[i]=[],l,u=0;u<s;++u)(l=r[u])&&e.call(l,l.__data__,u,r)&&a.push(l);return new Te(o,this._parents)}function Jr(e){return new Array(e.length)}function pl(){return new Te(this._enter||this._groups.map(Jr),this._parents)}function Wn(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Wn.prototype={constructor:Wn,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 ml(e){return function(){return e}}function yl(e,t,n,o,i,r){for(var s=0,a,l=t.length,u=r.length;s<u;++s)(a=t[s])?(a.__data__=r[s],o[s]=a):n[s]=new Wn(e,r[s]);for(;s<l;++s)(a=t[s])&&(i[s]=a)}function wl(e,t,n,o,i,r,s){var a,l,u=new Map,c=t.length,d=r.length,h=new Array(c),g;for(a=0;a<c;++a)(l=t[a])&&(h[a]=g=s.call(l,l.__data__,a,t)+"",u.has(g)?i[a]=l:u.set(g,l));for(a=0;a<d;++a)g=s.call(e,r[a],a,r)+"",(l=u.get(g))?(o[a]=l,l.__data__=r[a],u.delete(g)):n[a]=new Wn(e,r[a]);for(a=0;a<c;++a)(l=t[a])&&u.get(h[a])===l&&(i[a]=l)}function _l(e){return e.__data__}function $l(e,t){if(!arguments.length)return Array.from(this,_l);var n=t?wl:yl,o=this._parents,i=this._groups;typeof e!="function"&&(e=ml(e));for(var r=i.length,s=new Array(r),a=new Array(r),l=new Array(r),u=0;u<r;++u){var c=o[u],d=i[u],h=d.length,g=bl(e.call(c,c&&c.__data__,u,o)),x=g.length,$=a[u]=new Array(x),E=s[u]=new Array(x),b=l[u]=new Array(h);n(c,d,$,E,b,g,t);for(var A=0,w=0,C,B;A<x;++A)if(C=$[A]){for(A>=w&&(w=A+1);!(B=E[w])&&++w<x;);C._next=B||null}}return s=new Te(s,o),s._enter=a,s._exit=l,s}function bl(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function xl(){return new Te(this._exit||this._groups.map(Jr),this._parents)}function El(e,t,n){var o=this.enter(),i=this,r=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?r.remove():n(r),o&&i?o.merge(i).order():i}function Sl(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,i=n.length,r=o.length,s=Math.min(i,r),a=new Array(i),l=0;l<s;++l)for(var u=n[l],c=o[l],d=u.length,h=a[l]=new Array(d),g,x=0;x<d;++x)(g=u[x]||c[x])&&(h[x]=g);for(;l<i;++l)a[l]=n[l];return new Te(a,this._parents)}function Nl(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o=e[t],i=o.length-1,r=o[i],s;--i>=0;)(s=o[i])&&(r&&s.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(s,r),r=s);return this}function Ml(e){e||(e=Cl);function t(d,h){return d&&h?e(d.__data__,h.__data__):!d-!h}for(var n=this._groups,o=n.length,i=new Array(o),r=0;r<o;++r){for(var s=n[r],a=s.length,l=i[r]=new Array(a),u,c=0;c<a;++c)(u=s[c])&&(l[c]=u);l.sort(t)}return new Te(i,this._parents).order()}function Cl(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function kl(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Il(){return Array.from(this)}function Tl(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],i=0,r=o.length;i<r;++i){var s=o[i];if(s)return s}return null}function Al(){let e=0;for(const t of this)++e;return e}function Dl(){return!this.node()}function zl(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var i=t[n],r=0,s=i.length,a;r<s;++r)(a=i[r])&&e.call(a,a.__data__,r,i);return this}function Pl(e){return function(){this.removeAttribute(e)}}function Bl(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ol(e,t){return function(){this.setAttribute(e,t)}}function Rl(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Vl(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Hl(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 Fl(e,t){var n=go(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((t==null?n.local?Bl:Pl:typeof t=="function"?n.local?Hl:Vl:n.local?Rl:Ol)(n,t))}function jr(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Ll(e){return function(){this.style.removeProperty(e)}}function Yl(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Xl(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function Gl(e,t,n){return arguments.length>1?this.each((t==null?Ll:typeof t=="function"?Xl:Yl)(e,t,n??"")):Pt(this.node(),e)}function Pt(e,t){return e.style.getPropertyValue(t)||jr(e).getComputedStyle(e,null).getPropertyValue(t)}function Ul(e){return function(){delete this[e]}}function Zl(e,t){return function(){this[e]=t}}function Wl(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Kl(e,t){return arguments.length>1?this.each((t==null?Ul:typeof t=="function"?Wl:Zl)(e,t)):this.node()[e]}function es(e){return e.trim().split(/^|\s+/)}function vi(e){return e.classList||new ts(e)}function ts(e){this._node=e,this._names=es(e.getAttribute("class")||"")}ts.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 ns(e,t){for(var n=vi(e),o=-1,i=t.length;++o<i;)n.add(t[o])}function os(e,t){for(var n=vi(e),o=-1,i=t.length;++o<i;)n.remove(t[o])}function ql(e){return function(){ns(this,e)}}function Ql(e){return function(){os(this,e)}}function Jl(e,t){return function(){(t.apply(this,arguments)?ns:os)(this,e)}}function jl(e,t){var n=es(e+"");if(arguments.length<2){for(var o=vi(this.node()),i=-1,r=n.length;++i<r;)if(!o.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?Jl:t?ql:Ql)(n,t))}function eu(){this.textContent=""}function tu(e){return function(){this.textContent=e}}function nu(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function ou(e){return arguments.length?this.each(e==null?eu:(typeof e=="function"?nu:tu)(e)):this.node().textContent}function iu(){this.innerHTML=""}function ru(e){return function(){this.innerHTML=e}}function su(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function au(e){return arguments.length?this.each(e==null?iu:(typeof e=="function"?su:ru)(e)):this.node().innerHTML}function lu(){this.nextSibling&&this.parentNode.appendChild(this)}function uu(){return this.each(lu)}function cu(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function du(){return this.each(cu)}function fu(e){var t=typeof e=="function"?e:Wr(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function hu(){return null}function gu(e,t){var n=typeof e=="function"?e:Wr(e),o=t==null?hu:typeof t=="function"?t:gi(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function vu(){var e=this.parentNode;e&&e.removeChild(this)}function pu(){return this.each(vu)}function mu(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function yu(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function wu(e){return this.select(e?yu:mu)}function _u(e){return arguments.length?this.property("__data__",e):this.node().__data__}function $u(e){return function(t){e.call(this,t,this.__data__)}}function bu(e){return e.trim().split(/^|\s+/).map(function(t){var n="",o=t.indexOf(".");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function xu(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,i=t.length,r;n<i;++n)r=t[n],(!e.type||r.type===e.type)&&r.name===e.name?this.removeEventListener(r.type,r.listener,r.options):t[++o]=r;++o?t.length=o:delete this.__on}}}function Eu(e,t,n){return function(){var o=this.__on,i,r=$u(t);if(o){for(var s=0,a=o.length;s<a;++s)if((i=o[s]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=r,i.options=n),i.value=t;return}}this.addEventListener(e.type,r,n),i={type:e.type,name:e.name,value:t,listener:r,options:n},o?o.push(i):this.__on=[i]}}function Su(e,t,n){var o=bu(e+""),i,r=o.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var l=0,u=a.length,c;l<u;++l)for(i=0,c=a[l];i<r;++i)if((s=o[i]).type===c.type&&s.name===c.name)return c.value}return}for(a=t?Eu:xu,i=0;i<r;++i)this.each(a(o[i],t,n));return this}function is(e,t,n){var o=jr(e),i=o.CustomEvent;typeof i=="function"?i=new i(t,n):(i=o.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Nu(e,t){return function(){return is(this,e,t)}}function Mu(e,t){return function(){return is(this,e,t.apply(this,arguments))}}function Cu(e,t){return this.each((typeof t=="function"?Mu:Nu)(e,t))}function*ku(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],i=0,r=o.length,s;i<r;++i)(s=o[i])&&(yield s)}var rs=[null];function Te(e,t){this._groups=e,this._parents=t}function vn(){return new Te([[document.documentElement]],rs)}function Iu(){return this}Te.prototype=vn.prototype={constructor:Te,select:nl,selectAll:sl,selectChild:cl,selectChildren:gl,filter:vl,data:$l,enter:pl,exit:xl,join:El,merge:Sl,selection:Iu,order:Nl,sort:Ml,call:kl,nodes:Il,node:Tl,size:Al,empty:Dl,each:zl,attr:Fl,style:Gl,property:Kl,classed:jl,text:ou,html:au,raise:uu,lower:du,append:fu,insert:gu,remove:pu,clone:wu,datum:_u,on:Su,dispatch:Cu,[Symbol.iterator]:ku};function ze(e){return typeof e=="string"?new Te([[document.querySelector(e)]],[document.documentElement]):new Te([[e]],rs)}function Tu(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Fe(e,t){if(e=Tu(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const Au={passive:!1},nn={capture:!0,passive:!1};function Co(e){e.stopImmediatePropagation()}function Tt(e){e.preventDefault(),e.stopImmediatePropagation()}function ss(e){var t=e.document.documentElement,n=ze(e).on("dragstart.drag",Tt,nn);"onselectstart"in t?n.on("selectstart.drag",Tt,nn):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function as(e,t){var n=e.document.documentElement,o=ze(e).on("dragstart.drag",null);t&&(o.on("click.drag",Tt,nn),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const _n=e=>()=>e;function Xo(e,{sourceEvent:t,subject:n,target:o,identifier:i,active:r,x:s,y:a,dx:l,dy:u,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:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Xo.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Du(e){return!e.ctrlKey&&!e.button}function zu(){return this.parentNode}function Pu(e,t){return t??{x:e.x,y:e.y}}function Bu(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ou(){var e=Du,t=zu,n=Pu,o=Bu,i={},r=ho("start","drag","end"),s=0,a,l,u,c,d=0;function h(C){C.on("mousedown.drag",g).filter(o).on("touchstart.drag",E).on("touchmove.drag",b,Au).on("touchend.drag touchcancel.drag",A).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(C,B){if(!(c||!e.call(this,C,B))){var H=w(this,t.call(this,C,B),C,B,"mouse");H&&(ze(C.view).on("mousemove.drag",x,nn).on("mouseup.drag",$,nn),ss(C.view),Co(C),u=!1,a=C.clientX,l=C.clientY,H("start",C))}}function x(C){if(Tt(C),!u){var B=C.clientX-a,H=C.clientY-l;u=B*B+H*H>d}i.mouse("drag",C)}function $(C){ze(C.view).on("mousemove.drag mouseup.drag",null),as(C.view,u),Tt(C),i.mouse("end",C)}function E(C,B){if(e.call(this,C,B)){var H=C.changedTouches,O=t.call(this,C,B),V=H.length,J,R;for(J=0;J<V;++J)(R=w(this,O,C,B,H[J].identifier,H[J]))&&(Co(C),R("start",C,H[J]))}}function b(C){var B=C.changedTouches,H=B.length,O,V;for(O=0;O<H;++O)(V=i[B[O].identifier])&&(Tt(C),V("drag",C,B[O]))}function A(C){var B=C.changedTouches,H=B.length,O,V;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),O=0;O<H;++O)(V=i[B[O].identifier])&&(Co(C),V("end",C,B[O]))}function w(C,B,H,O,V,J){var R=r.copy(),F=Fe(J||H,B),M,Z,f;if((f=n.call(C,new Xo("beforestart",{sourceEvent:H,target:h,identifier:V,active:s,x:F[0],y:F[1],dx:0,dy:0,dispatch:R}),O))!=null)return M=f.x-F[0]||0,Z=f.y-F[1]||0,function N(v,k,S){var T=F,I;switch(v){case"start":i[V]=N,I=s++;break;case"end":delete i[V],--s;case"drag":F=Fe(S||k,B),I=s;break}R.call(v,C,new Xo(v,{sourceEvent:k,subject:f,target:h,identifier:V,active:I,x:F[0]+M,y:F[1]+Z,dx:F[0]-T[0],dy:F[1]-T[1],dispatch:R}),O)}}return h.filter=function(C){return arguments.length?(e=typeof C=="function"?C:_n(!!C),h):e},h.container=function(C){return arguments.length?(t=typeof C=="function"?C:_n(C),h):t},h.subject=function(C){return arguments.length?(n=typeof C=="function"?C:_n(C),h):n},h.touchable=function(C){return arguments.length?(o=typeof C=="function"?C:_n(!!C),h):o},h.on=function(){var C=r.on.apply(r,arguments);return C===r?h:C},h.clickDistance=function(C){return arguments.length?(d=(C=+C)*C,h):Math.sqrt(d)},h}function pi(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function ls(e,t){var n=Object.create(e.prototype);for(var o in t)n[o]=t[o];return n}function pn(){}var on=.7,Kn=1/on,At="\\s*([+-]?\\d+)\\s*",rn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Xe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ru=/^#([0-9a-f]{3,8})$/,Vu=new RegExp(`^rgb\\(${At},${At},${At}\\)$`),Hu=new RegExp(`^rgb\\(${Xe},${Xe},${Xe}\\)$`),Fu=new RegExp(`^rgba\\(${At},${At},${At},${rn}\\)$`),Lu=new RegExp(`^rgba\\(${Xe},${Xe},${Xe},${rn}\\)$`),Yu=new RegExp(`^hsl\\(${rn},${Xe},${Xe}\\)$`),Xu=new RegExp(`^hsla\\(${rn},${Xe},${Xe},${rn}\\)$`),Ri={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};pi(pn,Et,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Vi,formatHex:Vi,formatHex8:Gu,formatHsl:Uu,formatRgb:Hi,toString:Hi});function Vi(){return this.rgb().formatHex()}function Gu(){return this.rgb().formatHex8()}function Uu(){return us(this).formatHsl()}function Hi(){return this.rgb().formatRgb()}function Et(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Ru.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Fi(t):n===3?new Ce(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?$n(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?$n(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Vu.exec(e))?new Ce(t[1],t[2],t[3],1):(t=Hu.exec(e))?new Ce(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Fu.exec(e))?$n(t[1],t[2],t[3],t[4]):(t=Lu.exec(e))?$n(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Yu.exec(e))?Xi(t[1],t[2]/100,t[3]/100,1):(t=Xu.exec(e))?Xi(t[1],t[2]/100,t[3]/100,t[4]):Ri.hasOwnProperty(e)?Fi(Ri[e]):e==="transparent"?new Ce(NaN,NaN,NaN,0):null}function Fi(e){return new Ce(e>>16&255,e>>8&255,e&255,1)}function $n(e,t,n,o){return o<=0&&(e=t=n=NaN),new Ce(e,t,n,o)}function Zu(e){return e instanceof pn||(e=Et(e)),e?(e=e.rgb(),new Ce(e.r,e.g,e.b,e.opacity)):new Ce}function Go(e,t,n,o){return arguments.length===1?Zu(e):new Ce(e,t,n,o??1)}function Ce(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}pi(Ce,Go,ls(pn,{brighter(e){return e=e==null?Kn:Math.pow(Kn,e),new Ce(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?on:Math.pow(on,e),new Ce(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ce(_t(this.r),_t(this.g),_t(this.b),qn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Li,formatHex:Li,formatHex8:Wu,formatRgb:Yi,toString:Yi}));function Li(){return`#${yt(this.r)}${yt(this.g)}${yt(this.b)}`}function Wu(){return`#${yt(this.r)}${yt(this.g)}${yt(this.b)}${yt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Yi(){const e=qn(this.opacity);return`${e===1?"rgb(":"rgba("}${_t(this.r)}, ${_t(this.g)}, ${_t(this.b)}${e===1?")":`, ${e})`}`}function qn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function _t(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function yt(e){return e=_t(e),(e<16?"0":"")+e.toString(16)}function Xi(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Pe(e,t,n,o)}function us(e){if(e instanceof Pe)return new Pe(e.h,e.s,e.l,e.opacity);if(e instanceof pn||(e=Et(e)),!e)return new Pe;if(e instanceof Pe)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,i=Math.min(t,n,o),r=Math.max(t,n,o),s=NaN,a=r-i,l=(r+i)/2;return a?(t===r?s=(n-o)/a+(n<o)*6:n===r?s=(o-t)/a+2:s=(t-n)/a+4,a/=l<.5?r+i:2-r-i,s*=60):a=l>0&&l<1?0:s,new Pe(s,a,l,e.opacity)}function Ku(e,t,n,o){return arguments.length===1?us(e):new Pe(e,t,n,o??1)}function Pe(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}pi(Pe,Ku,ls(pn,{brighter(e){return e=e==null?Kn:Math.pow(Kn,e),new Pe(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?on:Math.pow(on,e),new Pe(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,i=2*n-o;return new Ce(ko(e>=240?e-240:e+120,i,o),ko(e,i,o),ko(e<120?e+240:e-120,i,o),this.opacity)},clamp(){return new Pe(Gi(this.h),bn(this.s),bn(this.l),qn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=qn(this.opacity);return`${e===1?"hsl(":"hsla("}${Gi(this.h)}, ${bn(this.s)*100}%, ${bn(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Gi(e){return e=(e||0)%360,e<0?e+360:e}function bn(e){return Math.max(0,Math.min(1,e||0))}function ko(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const mi=e=>()=>e;function qu(e,t){return function(n){return e+n*t}}function Qu(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function Ju(e){return(e=+e)==1?cs:function(t,n){return n-t?Qu(t,n,e):mi(isNaN(t)?n:t)}}function cs(e,t){var n=t-e;return n?qu(e,n):mi(isNaN(e)?t:e)}const Qn=(function e(t){var n=Ju(t);function o(i,r){var s=n((i=Go(i)).r,(r=Go(r)).r),a=n(i.g,r.g),l=n(i.b,r.b),u=cs(i.opacity,r.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return o.gamma=e,o})(1);function ju(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,o=t.slice(),i;return function(r){for(i=0;i<n;++i)o[i]=e[i]*(1-r)+t[i]*r;return o}}function ec(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function tc(e,t){var n=t?t.length:0,o=e?Math.min(n,e.length):0,i=new Array(o),r=new Array(n),s;for(s=0;s<o;++s)i[s]=Jt(e[s],t[s]);for(;s<n;++s)r[s]=t[s];return function(a){for(s=0;s<o;++s)r[s]=i[s](a);return r}}function nc(e,t){var n=new Date;return e=+e,t=+t,function(o){return n.setTime(e*(1-o)+t*o),n}}function Le(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function oc(e,t){var n={},o={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=Jt(e[i],t[i]):o[i]=t[i];return function(r){for(i in n)o[i]=n[i](r);return o}}var Uo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Io=new RegExp(Uo.source,"g");function ic(e){return function(){return e}}function rc(e){return function(t){return e(t)+""}}function ds(e,t){var n=Uo.lastIndex=Io.lastIndex=0,o,i,r,s=-1,a=[],l=[];for(e=e+"",t=t+"";(o=Uo.exec(e))&&(i=Io.exec(t));)(r=i.index)>n&&(r=t.slice(n,r),a[s]?a[s]+=r:a[++s]=r),(o=o[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:Le(o,i)})),n=Io.lastIndex;return n<t.length&&(r=t.slice(n),a[s]?a[s]+=r:a[++s]=r),a.length<2?l[0]?rc(l[0].x):ic(t):(t=l.length,function(u){for(var c=0,d;c<t;++c)a[(d=l[c]).i]=d.x(u);return a.join("")})}function Jt(e,t){var n=typeof t,o;return t==null||n==="boolean"?mi(t):(n==="number"?Le:n==="string"?(o=Et(t))?(t=o,Qn):ds:t instanceof Et?Qn:t instanceof Date?nc:ec(t)?ju:Array.isArray(t)?tc:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?oc:Le)(e,t)}var Ui=180/Math.PI,Zo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function fs(e,t,n,o,i,r){var s,a,l;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(l=e*n+t*o)&&(n-=e*l,o-=t*l),(a=Math.sqrt(n*n+o*o))&&(n/=a,o/=a,l/=a),e*o<t*n&&(e=-e,t=-t,l=-l,s=-s),{translateX:i,translateY:r,rotate:Math.atan2(t,e)*Ui,skewX:Math.atan(l)*Ui,scaleX:s,scaleY:a}}var xn;function sc(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Zo:fs(t.a,t.b,t.c,t.d,t.e,t.f)}function ac(e){return e==null||(xn||(xn=document.createElementNS("http://www.w3.org/2000/svg","g")),xn.setAttribute("transform",e),!(e=xn.transform.baseVal.consolidate()))?Zo:(e=e.matrix,fs(e.a,e.b,e.c,e.d,e.e,e.f))}function hs(e,t,n,o){function i(u){return u.length?u.pop()+" ":""}function r(u,c,d,h,g,x){if(u!==d||c!==h){var $=g.push("translate(",null,t,null,n);x.push({i:$-4,x:Le(u,d)},{i:$-2,x:Le(c,h)})}else(d||h)&&g.push("translate("+d+t+h+n)}function s(u,c,d,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:d.push(i(d)+"rotate(",null,o)-2,x:Le(u,c)})):c&&d.push(i(d)+"rotate("+c+o)}function a(u,c,d,h){u!==c?h.push({i:d.push(i(d)+"skewX(",null,o)-2,x:Le(u,c)}):c&&d.push(i(d)+"skewX("+c+o)}function l(u,c,d,h,g,x){if(u!==d||c!==h){var $=g.push(i(g)+"scale(",null,",",null,")");x.push({i:$-4,x:Le(u,d)},{i:$-2,x:Le(c,h)})}else(d!==1||h!==1)&&g.push(i(g)+"scale("+d+","+h+")")}return function(u,c){var d=[],h=[];return u=e(u),c=e(c),r(u.translateX,u.translateY,c.translateX,c.translateY,d,h),s(u.rotate,c.rotate,d,h),a(u.skewX,c.skewX,d,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,h),u=c=null,function(g){for(var x=-1,$=h.length,E;++x<$;)d[(E=h[x]).i]=E.x(g);return d.join("")}}}var lc=hs(sc,"px, ","px)","deg)"),uc=hs(ac,", ",")",")"),cc=1e-12;function Zi(e){return((e=Math.exp(e))+1/e)/2}function dc(e){return((e=Math.exp(e))-1/e)/2}function fc(e){return((e=Math.exp(2*e))-1)/(e+1)}const On=(function e(t,n,o){function i(r,s){var a=r[0],l=r[1],u=r[2],c=s[0],d=s[1],h=s[2],g=c-a,x=d-l,$=g*g+x*x,E,b;if($<cc)b=Math.log(h/u)/t,E=function(O){return[a+O*g,l+O*x,u*Math.exp(t*O*b)]};else{var A=Math.sqrt($),w=(h*h-u*u+o*$)/(2*u*n*A),C=(h*h-u*u-o*$)/(2*h*n*A),B=Math.log(Math.sqrt(w*w+1)-w),H=Math.log(Math.sqrt(C*C+1)-C);b=(H-B)/t,E=function(O){var V=O*b,J=Zi(B),R=u/(n*A)*(J*fc(t*V+B)-dc(B));return[a+R*g,l+R*x,u*J/Zi(t*V+B)]}}return E.duration=b*1e3*t/Math.SQRT2,E}return i.rho=function(r){var s=Math.max(.001,+r),a=s*s,l=a*a;return e(s,a,l)},i})(Math.SQRT2,2,4);var Bt=0,Zt=0,Yt=0,gs=1e3,Jn,Wt,jn=0,St=0,vo=0,sn=typeof performance=="object"&&performance.now?performance:Date,vs=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function yi(){return St||(vs(hc),St=sn.now()+vo)}function hc(){St=0}function eo(){this._call=this._time=this._next=null}eo.prototype=ps.prototype={constructor:eo,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?yi():+n)+(t==null?0:+t),!this._next&&Wt!==this&&(Wt?Wt._next=this:Jn=this,Wt=this),this._call=e,this._time=n,Wo()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wo())}};function ps(e,t,n){var o=new eo;return o.restart(e,t,n),o}function gc(){yi(),++Bt;for(var e=Jn,t;e;)(t=St-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Bt}function Wi(){St=(jn=sn.now())+vo,Bt=Zt=0;try{gc()}finally{Bt=0,pc(),St=0}}function vc(){var e=sn.now(),t=e-jn;t>gs&&(vo-=t,jn=e)}function pc(){for(var e,t=Jn,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Jn=n);Wt=e,Wo(o)}function Wo(e){if(!Bt){Zt&&(Zt=clearTimeout(Zt));var t=e-St;t>24?(e<1/0&&(Zt=setTimeout(Wi,e-sn.now()-vo)),Yt&&(Yt=clearInterval(Yt))):(Yt||(jn=sn.now(),Yt=setInterval(vc,gs)),Bt=1,vs(Wi))}}function Ki(e,t,n){var o=new eo;return t=t==null?0:+t,o.restart(i=>{o.stop(),e(i+t)},t,n),o}var mc=ho("start","end","cancel","interrupt"),yc=[],ms=0,qi=1,Ko=2,Rn=3,Qi=4,qo=5,Vn=6;function po(e,t,n,o,i,r){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;wc(e,n,{name:t,index:o,group:i,on:mc,tween:yc,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:ms})}function wi(e,t){var n=Re(e,t);if(n.state>ms)throw new Error("too late; already scheduled");return n}function Ue(e,t){var n=Re(e,t);if(n.state>Rn)throw new Error("too late; already running");return n}function Re(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function wc(e,t,n){var o=e.__transition,i;o[t]=n,n.timer=ps(r,0,n.time);function r(u){n.state=qi,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,h,g;if(n.state!==qi)return l();for(c in o)if(g=o[c],g.name===n.name){if(g.state===Rn)return Ki(s);g.state===Qi?(g.state=Vn,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete o[c]):+c<t&&(g.state=Vn,g.timer.stop(),g.on.call("cancel",e,e.__data__,g.index,g.group),delete o[c])}if(Ki(function(){n.state===Rn&&(n.state=Qi,n.timer.restart(a,n.delay,n.time),a(u))}),n.state=Ko,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ko){for(n.state=Rn,i=new Array(h=n.tween.length),c=0,d=-1;c<h;++c)(g=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(i[++d]=g);i.length=d+1}}function a(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=qo,1),d=-1,h=i.length;++d<h;)i[d].call(e,c);n.state===qo&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=Vn,n.timer.stop(),delete o[t];for(var u in o)return;delete e.__transition}}function Hn(e,t){var n=e.__transition,o,i,r=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((o=n[s]).name!==t){r=!1;continue}i=o.state>Ko&&o.state<qo,o.state=Vn,o.timer.stop(),o.on.call(i?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[s]}r&&delete e.__transition}}function _c(e){return this.each(function(){Hn(this,e)})}function $c(e,t){var n,o;return function(){var i=Ue(this,e),r=i.tween;if(r!==n){o=n=r;for(var s=0,a=o.length;s<a;++s)if(o[s].name===t){o=o.slice(),o.splice(s,1);break}}i.tween=o}}function bc(e,t,n){var o,i;if(typeof n!="function")throw new Error;return function(){var r=Ue(this,e),s=r.tween;if(s!==o){i=(o=s).slice();for(var a={name:t,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===t){i[l]=a;break}l===u&&i.push(a)}r.tween=i}}function xc(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o=Re(this.node(),n).tween,i=0,r=o.length,s;i<r;++i)if((s=o[i]).name===e)return s.value;return null}return this.each((t==null?$c:bc)(n,e,t))}function _i(e,t,n){var o=e._id;return e.each(function(){var i=Ue(this,o);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return Re(i,o).value[t]}}function ys(e,t){var n;return(typeof t=="number"?Le:t instanceof Et?Qn:(n=Et(t))?(t=n,Qn):ds)(e,t)}function Ec(e){return function(){this.removeAttribute(e)}}function Sc(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Nc(e,t,n){var o,i=n+"",r;return function(){var s=this.getAttribute(e);return s===i?null:s===o?r:r=t(o=s,n)}}function Mc(e,t,n){var o,i=n+"",r;return function(){var s=this.getAttributeNS(e.space,e.local);return s===i?null:s===o?r:r=t(o=s,n)}}function Cc(e,t,n){var o,i,r;return function(){var s,a=n(this),l;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),l=a+"",s===l?null:s===o&&l===i?r:(i=l,r=t(o=s,a)))}}function kc(e,t,n){var o,i,r;return function(){var s,a=n(this),l;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),l=a+"",s===l?null:s===o&&l===i?r:(i=l,r=t(o=s,a)))}}function Ic(e,t){var n=go(e),o=n==="transform"?uc:ys;return this.attrTween(e,typeof t=="function"?(n.local?kc:Cc)(n,o,_i(this,"attr."+e,t)):t==null?(n.local?Sc:Ec)(n):(n.local?Mc:Nc)(n,o,t))}function Tc(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Ac(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Dc(e,t){var n,o;function i(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&Ac(e,r)),n}return i._value=t,i}function zc(e,t){var n,o;function i(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&Tc(e,r)),n}return i._value=t,i}function Pc(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 o=go(e);return this.tween(n,(o.local?Dc:zc)(o,t))}function Bc(e,t){return function(){wi(this,e).delay=+t.apply(this,arguments)}}function Oc(e,t){return t=+t,function(){wi(this,e).delay=t}}function Rc(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Bc:Oc)(t,e)):Re(this.node(),t).delay}function Vc(e,t){return function(){Ue(this,e).duration=+t.apply(this,arguments)}}function Hc(e,t){return t=+t,function(){Ue(this,e).duration=t}}function Fc(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Vc:Hc)(t,e)):Re(this.node(),t).duration}function Lc(e,t){if(typeof t!="function")throw new Error;return function(){Ue(this,e).ease=t}}function Yc(e){var t=this._id;return arguments.length?this.each(Lc(t,e)):Re(this.node(),t).ease}function Xc(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Ue(this,e).ease=n}}function Gc(e){if(typeof e!="function")throw new Error;return this.each(Xc(this._id,e))}function Uc(e){typeof e!="function"&&(e=qr(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],s=r.length,a=o[i]=[],l,u=0;u<s;++u)(l=r[u])&&e.call(l,l.__data__,u,r)&&a.push(l);return new nt(o,this._parents,this._name,this._id)}function Zc(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,i=n.length,r=Math.min(o,i),s=new Array(o),a=0;a<r;++a)for(var l=t[a],u=n[a],c=l.length,d=s[a]=new Array(c),h,g=0;g<c;++g)(h=l[g]||u[g])&&(d[g]=h);for(;a<o;++a)s[a]=t[a];return new nt(s,this._parents,this._name,this._id)}function Wc(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 Kc(e,t,n){var o,i,r=Wc(t)?wi:Ue;return function(){var s=r(this,e),a=s.on;a!==o&&(i=(o=a).copy()).on(t,n),s.on=i}}function qc(e,t){var n=this._id;return arguments.length<2?Re(this.node(),n).on.on(e):this.each(Kc(n,e,t))}function Qc(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Jc(){return this.on("end.remove",Qc(this._id))}function jc(e){var t=this._name,n=this._id;typeof e!="function"&&(e=gi(e));for(var o=this._groups,i=o.length,r=new Array(i),s=0;s<i;++s)for(var a=o[s],l=a.length,u=r[s]=new Array(l),c,d,h=0;h<l;++h)(c=a[h])&&(d=e.call(c,c.__data__,h,a))&&("__data__"in c&&(d.__data__=c.__data__),u[h]=d,po(u[h],t,n,h,u,Re(c,n)));return new nt(r,this._parents,t,n)}function ed(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Kr(e));for(var o=this._groups,i=o.length,r=[],s=[],a=0;a<i;++a)for(var l=o[a],u=l.length,c,d=0;d<u;++d)if(c=l[d]){for(var h=e.call(c,c.__data__,d,l),g,x=Re(c,n),$=0,E=h.length;$<E;++$)(g=h[$])&&po(g,t,n,$,h,x);r.push(h),s.push(c)}return new nt(r,s,t,n)}var td=vn.prototype.constructor;function nd(){return new td(this._groups,this._parents)}function od(e,t){var n,o,i;return function(){var r=Pt(this,e),s=(this.style.removeProperty(e),Pt(this,e));return r===s?null:r===n&&s===o?i:i=t(n=r,o=s)}}function ws(e){return function(){this.style.removeProperty(e)}}function id(e,t,n){var o,i=n+"",r;return function(){var s=Pt(this,e);return s===i?null:s===o?r:r=t(o=s,n)}}function rd(e,t,n){var o,i,r;return function(){var s=Pt(this,e),a=n(this),l=a+"";return a==null&&(l=a=(this.style.removeProperty(e),Pt(this,e))),s===l?null:s===o&&l===i?r:(i=l,r=t(o=s,a))}}function sd(e,t){var n,o,i,r="style."+t,s="end."+r,a;return function(){var l=Ue(this,e),u=l.on,c=l.value[r]==null?a||(a=ws(t)):void 0;(u!==n||i!==c)&&(o=(n=u).copy()).on(s,i=c),l.on=o}}function ad(e,t,n){var o=(e+="")=="transform"?lc:ys;return t==null?this.styleTween(e,od(e,o)).on("end.style."+e,ws(e)):typeof t=="function"?this.styleTween(e,rd(e,o,_i(this,"style."+e,t))).each(sd(this._id,e)):this.styleTween(e,id(e,o,t),n).on("end.style."+e,null)}function ld(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function ud(e,t,n){var o,i;function r(){var s=t.apply(this,arguments);return s!==i&&(o=(i=s)&&ld(e,s,n)),o}return r._value=t,r}function cd(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,ud(e,t,n??""))}function dd(e){return function(){this.textContent=e}}function fd(e){return function(){var t=e(this);this.textContent=t??""}}function hd(e){return this.tween("text",typeof e=="function"?fd(_i(this,"text",e)):dd(e==null?"":e+""))}function gd(e){return function(t){this.textContent=e.call(this,t)}}function vd(e){var t,n;function o(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&gd(i)),t}return o._value=e,o}function pd(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,vd(e))}function md(){for(var e=this._name,t=this._id,n=_s(),o=this._groups,i=o.length,r=0;r<i;++r)for(var s=o[r],a=s.length,l,u=0;u<a;++u)if(l=s[u]){var c=Re(l,t);po(l,e,n,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new nt(o,this._parents,e,n)}function yd(){var e,t,n=this,o=n._id,i=n.size();return new Promise(function(r,s){var a={value:s},l={value:function(){--i===0&&r()}};n.each(function(){var u=Ue(this,o),c=u.on;c!==e&&(t=(e=c).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(l)),u.on=t}),i===0&&r()})}var wd=0;function nt(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function _s(){return++wd}var We=vn.prototype;nt.prototype={constructor:nt,select:jc,selectAll:ed,selectChild:We.selectChild,selectChildren:We.selectChildren,filter:Uc,merge:Zc,selection:nd,transition:md,call:We.call,nodes:We.nodes,node:We.node,size:We.size,empty:We.empty,each:We.each,on:qc,attr:Ic,attrTween:Pc,style:ad,styleTween:cd,text:hd,textTween:pd,remove:Jc,tween:xc,delay:Rc,duration:Fc,ease:Yc,easeVarying:Gc,end:yd,[Symbol.iterator]:We[Symbol.iterator]};function _d(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var $d={time:null,delay:0,duration:250,ease:_d};function bd(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 xd(e){var t,n;e instanceof nt?(t=e._id,e=e._name):(t=_s(),(n=$d).time=yi(),e=e==null?null:e+"");for(var o=this._groups,i=o.length,r=0;r<i;++r)for(var s=o[r],a=s.length,l,u=0;u<a;++u)(l=s[u])&&po(l,e,t,u,s,n||bd(l,t));return new nt(o,this._parents,e,t)}vn.prototype.interrupt=_c;vn.prototype.transition=xd;const En=e=>()=>e;function Ed(e,{sourceEvent:t,target:n,transform:o,dispatch:i}){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:o,enumerable:!0,configurable:!0},_:{value:i}})}function Je(e,t,n){this.k=e,this.x=t,this.y=n}Je.prototype={constructor:Je,scale:function(e){return e===1?this:new Je(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Je(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 Ot=new Je(1,0,0);Je.prototype;function To(e){e.stopImmediatePropagation()}function Xt(e){e.preventDefault(),e.stopImmediatePropagation()}function Sd(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Nd(){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 Ji(){return this.__zoom||Ot}function Md(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Cd(){return navigator.maxTouchPoints||"ontouchstart"in this}function kd(e,t,n){var o=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s))}function Id(){var e=Sd,t=Nd,n=kd,o=Md,i=Cd,r=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=On,u=ho("start","zoom","end"),c,d,h,g=500,x=150,$=0,E=10;function b(f){f.property("__zoom",Ji).on("wheel.zoom",V,{passive:!1}).on("mousedown.zoom",J).on("dblclick.zoom",R).filter(i).on("touchstart.zoom",F).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",Z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(f,N,v,k){var S=f.selection?f.selection():f;S.property("__zoom",Ji),f!==S?B(f,N,v,k):S.interrupt().each(function(){H(this,arguments).event(k).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},b.scaleBy=function(f,N,v,k){b.scaleTo(f,function(){var S=this.__zoom.k,T=typeof N=="function"?N.apply(this,arguments):N;return S*T},v,k)},b.scaleTo=function(f,N,v,k){b.transform(f,function(){var S=t.apply(this,arguments),T=this.__zoom,I=v==null?C(S):typeof v=="function"?v.apply(this,arguments):v,z=T.invert(I),L=typeof N=="function"?N.apply(this,arguments):N;return n(w(A(T,L),I,z),S,s)},v,k)},b.translateBy=function(f,N,v,k){b.transform(f,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof v=="function"?v.apply(this,arguments):v),t.apply(this,arguments),s)},null,k)},b.translateTo=function(f,N,v,k,S){b.transform(f,function(){var T=t.apply(this,arguments),I=this.__zoom,z=k==null?C(T):typeof k=="function"?k.apply(this,arguments):k;return n(Ot.translate(z[0],z[1]).scale(I.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof v=="function"?-v.apply(this,arguments):-v),T,s)},k,S)};function A(f,N){return N=Math.max(r[0],Math.min(r[1],N)),N===f.k?f:new Je(N,f.x,f.y)}function w(f,N,v){var k=N[0]-v[0]*f.k,S=N[1]-v[1]*f.k;return k===f.x&&S===f.y?f:new Je(f.k,k,S)}function C(f){return[(+f[0][0]+ +f[1][0])/2,(+f[0][1]+ +f[1][1])/2]}function B(f,N,v,k){f.on("start.zoom",function(){H(this,arguments).event(k).start()}).on("interrupt.zoom end.zoom",function(){H(this,arguments).event(k).end()}).tween("zoom",function(){var S=this,T=arguments,I=H(S,T).event(k),z=t.apply(S,T),L=v==null?C(z):typeof v=="function"?v.apply(S,T):v,W=Math.max(z[1][0]-z[0][0],z[1][1]-z[0][1]),P=S.__zoom,Y=typeof N=="function"?N.apply(S,T):N,X=l(P.invert(L).concat(W/P.k),Y.invert(L).concat(W/Y.k));return function(ne){if(ne===1)ne=Y;else{var ie=X(ne),se=W/ie[2];ne=new Je(se,L[0]-ie[0]*se,L[1]-ie[1]*se)}I.zoom(null,ne)}})}function H(f,N,v){return!v&&f.__zooming||new O(f,N)}function O(f,N){this.that=f,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(f,N),this.taps=0}O.prototype={event:function(f){return f&&(this.sourceEvent=f),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(f,N){return this.mouse&&f!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&f!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&f!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(f){var N=ze(this.that).datum();u.call(f,this.that,new Ed(f,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),N)}};function V(f,...N){if(!e.apply(this,arguments))return;var v=H(this,N).event(f),k=this.__zoom,S=Math.max(r[0],Math.min(r[1],k.k*Math.pow(2,o.apply(this,arguments)))),T=Fe(f);if(v.wheel)(v.mouse[0][0]!==T[0]||v.mouse[0][1]!==T[1])&&(v.mouse[1]=k.invert(v.mouse[0]=T)),clearTimeout(v.wheel);else{if(k.k===S)return;v.mouse=[T,k.invert(T)],Hn(this),v.start()}Xt(f),v.wheel=setTimeout(I,x),v.zoom("mouse",n(w(A(k,S),v.mouse[0],v.mouse[1]),v.extent,s));function I(){v.wheel=null,v.end()}}function J(f,...N){if(h||!e.apply(this,arguments))return;var v=f.currentTarget,k=H(this,N,!0).event(f),S=ze(f.view).on("mousemove.zoom",L,!0).on("mouseup.zoom",W,!0),T=Fe(f,v),I=f.clientX,z=f.clientY;ss(f.view),To(f),k.mouse=[T,this.__zoom.invert(T)],Hn(this),k.start();function L(P){if(Xt(P),!k.moved){var Y=P.clientX-I,X=P.clientY-z;k.moved=Y*Y+X*X>$}k.event(P).zoom("mouse",n(w(k.that.__zoom,k.mouse[0]=Fe(P,v),k.mouse[1]),k.extent,s))}function W(P){S.on("mousemove.zoom mouseup.zoom",null),as(P.view,k.moved),Xt(P),k.event(P).end()}}function R(f,...N){if(e.apply(this,arguments)){var v=this.__zoom,k=Fe(f.changedTouches?f.changedTouches[0]:f,this),S=v.invert(k),T=v.k*(f.shiftKey?.5:2),I=n(w(A(v,T),k,S),t.apply(this,N),s);Xt(f),a>0?ze(this).transition().duration(a).call(B,I,k,f):ze(this).call(b.transform,I,k,f)}}function F(f,...N){if(e.apply(this,arguments)){var v=f.touches,k=v.length,S=H(this,N,f.changedTouches.length===k).event(f),T,I,z,L;for(To(f),I=0;I<k;++I)z=v[I],L=Fe(z,this),L=[L,this.__zoom.invert(L),z.identifier],S.touch0?!S.touch1&&S.touch0[2]!==L[2]&&(S.touch1=L,S.taps=0):(S.touch0=L,T=!0,S.taps=1+!!c);c&&(c=clearTimeout(c)),T&&(S.taps<2&&(d=L[0],c=setTimeout(function(){c=null},g)),Hn(this),S.start())}}function M(f,...N){if(this.__zooming){var v=H(this,N).event(f),k=f.changedTouches,S=k.length,T,I,z,L;for(Xt(f),T=0;T<S;++T)I=k[T],z=Fe(I,this),v.touch0&&v.touch0[2]===I.identifier?v.touch0[0]=z:v.touch1&&v.touch1[2]===I.identifier&&(v.touch1[0]=z);if(I=v.that.__zoom,v.touch1){var W=v.touch0[0],P=v.touch0[1],Y=v.touch1[0],X=v.touch1[1],ne=(ne=Y[0]-W[0])*ne+(ne=Y[1]-W[1])*ne,ie=(ie=X[0]-P[0])*ie+(ie=X[1]-P[1])*ie;I=A(I,Math.sqrt(ne/ie)),z=[(W[0]+Y[0])/2,(W[1]+Y[1])/2],L=[(P[0]+X[0])/2,(P[1]+X[1])/2]}else if(v.touch0)z=v.touch0[0],L=v.touch0[1];else return;v.zoom("touch",n(w(I,z,L),v.extent,s))}}function Z(f,...N){if(this.__zooming){var v=H(this,N).event(f),k=f.changedTouches,S=k.length,T,I;for(To(f),h&&clearTimeout(h),h=setTimeout(function(){h=null},g),T=0;T<S;++T)I=k[T],v.touch0&&v.touch0[2]===I.identifier?delete v.touch0:v.touch1&&v.touch1[2]===I.identifier&&delete v.touch1;if(v.touch1&&!v.touch0&&(v.touch0=v.touch1,delete v.touch1),v.touch0)v.touch0[1]=this.__zoom.invert(v.touch0[0]);else if(v.end(),v.taps===2&&(I=Fe(I,this),Math.hypot(d[0]-I[0],d[1]-I[1])<E)){var z=ze(this).on("dblclick.zoom");z&&z.apply(this,arguments)}}}return b.wheelDelta=function(f){return arguments.length?(o=typeof f=="function"?f:En(+f),b):o},b.filter=function(f){return arguments.length?(e=typeof f=="function"?f:En(!!f),b):e},b.touchable=function(f){return arguments.length?(i=typeof f=="function"?f:En(!!f),b):i},b.extent=function(f){return arguments.length?(t=typeof f=="function"?f:En([[+f[0][0],+f[0][1]],[+f[1][0],+f[1][1]]]),b):t},b.scaleExtent=function(f){return arguments.length?(r[0]=+f[0],r[1]=+f[1],b):[r[0],r[1]]},b.translateExtent=function(f){return arguments.length?(s[0][0]=+f[0][0],s[1][0]=+f[1][0],s[0][1]=+f[0][1],s[1][1]=+f[1][1],b):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},b.constrain=function(f){return arguments.length?(n=f,b):n},b.duration=function(f){return arguments.length?(a=+f,b):a},b.interpolate=function(f){return arguments.length?(l=f,b):l},b.on=function(){var f=u.on.apply(u,arguments);return f===u?b:f},b.clickDistance=function(f){return arguments.length?($=(f=+f)*f,b):Math.sqrt($)},b.tapDistance=function(f){return arguments.length?(E=+f,b):E},b}var j=(e=>(e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom",e))(j||{}),$i=(e=>(e.Partial="partial",e.Full="full",e))($i||{}),vt=(e=>(e.Bezier="default",e.SimpleBezier="simple-bezier",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e))(vt||{}),dt=(e=>(e.Strict="strict",e.Loose="loose",e))(dt||{}),Qo=(e=>(e.Arrow="arrow",e.ArrowClosed="arrowclosed",e))(Qo||{}),jt=(e=>(e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal",e))(jt||{}),$s=(e=>(e.TopLeft="top-left",e.TopCenter="top-center",e.TopRight="top-right",e.BottomLeft="bottom-left",e.BottomCenter="bottom-center",e.BottomRight="bottom-right",e))($s||{});const Td=["INPUT","SELECT","TEXTAREA"],Ad=typeof document<"u"?document:null;function Jo(e){var t,n;const o=((n=(t=e.composedPath)==null?void 0:t.call(e))==null?void 0:n[0])||e.target,i=typeof o?.hasAttribute=="function"?o.hasAttribute("contenteditable"):!1,r=typeof o?.closest=="function"?o.closest(".nokey"):null;return Td.includes(o?.nodeName)||i||!!r}function Dd(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey}function ji(e,t,n,o){const i=t.replace("+",`
|
|
2
|
+
`).replace(`
|
|
3
|
+
|
|
4
|
+
`,`
|
|
5
|
+
+`).split(`
|
|
6
|
+
`).map(s=>s.trim().toLowerCase());if(i.length===1)return e.toLowerCase()===t.toLowerCase();o||n.add(e.toLowerCase());const r=i.every((s,a)=>n.has(s)&&Array.from(n.values())[a]===i[a]);return o&&n.delete(e.toLowerCase()),r}function zd(e,t){return n=>{if(!n.code&&!n.key)return!1;const o=Pd(n.code,e);return Array.isArray(e)?e.some(i=>ji(n[o],i,t,n.type==="keyup")):ji(n[o],e,t,n.type==="keyup")}}function Pd(e,t){return t.includes(e)?"code":"key"}function en(e,t){const n=oe(()=>ce(t?.target)??Ad),o=Gn(ce(e)===!0);let i=!1;const r=new Set;let s=l(ce(e));me(()=>ce(e),(u,c)=>{typeof c=="boolean"&&typeof u!="boolean"&&a(),s=l(u)},{immediate:!0}),Zr(["blur","contextmenu"],a),Pi((...u)=>s(...u),u=>{var c,d;const h=ce(t?.actInsideInputWithModifier)??!0,g=ce(t?.preventDefault)??!1;if(i=Dd(u),(!i||i&&!h)&&Jo(u))return;const $=((d=(c=u.composedPath)==null?void 0:c.call(u))==null?void 0:d[0])||u.target,E=$?.nodeName==="BUTTON"||$?.nodeName==="A";!g&&(i||!E)&&u.preventDefault(),o.value=!0},{eventName:"keydown",target:n}),Pi((...u)=>s(...u),u=>{const c=ce(t?.actInsideInputWithModifier)??!0;if(o.value){if((!i||i&&!c)&&Jo(u))return;i=!1,o.value=!1}},{eventName:"keyup",target:n});function a(){i=!1,r.clear(),o.value=ce(e)===!0}function l(u){return u===null?(a(),()=>!1):typeof u=="boolean"?(a(),o.value=u,()=>!1):Array.isArray(u)||typeof u=="string"?zd(u,r):u}return o}const bs="vue-flow__node-desc",xs="vue-flow__edge-desc",Bd="vue-flow__aria-live",Es=["Enter"," ","Escape"],Dt={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};function to(e){return{...e.computedPosition||{x:0,y:0},width:e.dimensions.width||0,height:e.dimensions.height||0}}function no(e,t){const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)}function mo(e){return{width:e.offsetWidth,height:e.offsetHeight}}function Nt(e,t=0,n=1){return Math.min(Math.max(e,t),n)}function Ss(e,t){return{x:Nt(e.x,t[0][0],t[1][0]),y:Nt(e.y,t[0][1],t[1][1])}}function er(e){const t=e.getRootNode();return"elementFromPoint"in t?t:window.document}function ft(e){return e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e}function $t(e){return e&&typeof e=="object"&&"id"in e&&"position"in e&&!ft(e)}function Kt(e){return $t(e)&&"computedPosition"in e}function Sn(e){return!Number.isNaN(e)&&Number.isFinite(e)}function Od(e){return Sn(e.width)&&Sn(e.height)&&Sn(e.x)&&Sn(e.y)}function Rd(e,t,n){const o={id:e.id.toString(),type:e.type??"default",dimensions:Pn({width:0,height:0}),computedPosition:Pn({z:0,...e.position}),handleBounds:{source:[],target:[]},draggable:void 0,selectable:void 0,connectable:void 0,focusable:void 0,selected:!1,dragging:!1,resizing:!1,initialized:!1,isParent:!1,position:{x:0,y:0},data:be(e.data)?e.data:{},events:Pn(be(e.events)?e.events:{})};return Object.assign(t??o,e,{id:e.id.toString(),parentNode:n})}function Ns(e,t,n){var o,i;const r={id:e.id.toString(),type:e.type??t?.type??"default",source:e.source.toString(),target:e.target.toString(),sourceHandle:(o=e.sourceHandle)==null?void 0:o.toString(),targetHandle:(i=e.targetHandle)==null?void 0:i.toString(),updatable:e.updatable??n?.updatable,selectable:e.selectable??n?.selectable,focusable:e.focusable??n?.focusable,data:be(e.data)?e.data:{},events:Pn(be(e.events)?e.events:{}),label:e.label??"",interactionWidth:e.interactionWidth??n?.interactionWidth,...n??{}};return Object.assign(t??r,e,{id:e.id.toString()})}function Ms(e,t,n,o){const i=typeof e=="string"?e:e.id,r=new Set,s=o==="source"?"target":"source";for(const a of n)a[s]===i&&r.add(a[o]);return t.filter(a=>r.has(a.id))}function Vd(...e){if(e.length===3){const[r,s,a]=e;return Ms(r,s,a,"target")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(r=>ft(r)&&r.source===o).map(r=>n.find(s=>$t(s)&&s.id===r.target))}function Hd(...e){if(e.length===3){const[r,s,a]=e;return Ms(r,s,a,"source")}const[t,n]=e,o=typeof t=="string"?t:t.id;return n.filter(r=>ft(r)&&r.target===o).map(r=>n.find(s=>$t(s)&&s.id===r.source))}function Cs({source:e,sourceHandle:t,target:n,targetHandle:o}){return`vueflow__edge-${e}${t??""}-${n}${o??""}`}function Fd(e,t){return t.some(n=>ft(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))}function an({x:e,y:t},{x:n,y:o,zoom:i}){return{x:e*i+n,y:t*i+o}}function ln({x:e,y:t},{x:n,y:o,zoom:i},r=!1,s=[1,1]){const a={x:(e-n)/i,y:(t-o)/i};return r?yo(a,s):a}function ks(e,t){return{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)}}function oo({x:e,y:t,width:n,height:o}){return{x:e,y:t,x2:e+n,y2:t+o}}function Is({x:e,y:t,x2:n,y2:o}){return{x:e,y:t,width:n-e,height:o-t}}function Ld(e,t){return Is(ks(oo(e),oo(t)))}function bi(e){let t={x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};for(let n=0;n<e.length;n++){const o=e[n];t=ks(t,oo({...o.computedPosition,...o.dimensions}))}return Is(t)}function Ts(e,t,n={x:0,y:0,zoom:1},o=!1,i=!1){const r={...ln(t,n),width:t.width/n.zoom,height:t.height/n.zoom},s=[];for(const a of e){const{dimensions:l,selectable:u=!0,hidden:c=!1}=a,d=l.width??a.width??null,h=l.height??a.height??null;if(i&&!u||c)continue;const g=no(r,to(a)),x=d===null||h===null,$=o&&g>0,E=(d??0)*(h??0);(x||$||g>=E||a.dragging)&&s.push(a)}return s}function pt(e,t){const n=new Set;if(typeof e=="string")n.add(e);else if(e.length>=1)for(const o of e)n.add(o.id);return t.filter(o=>n.has(o.source)||n.has(o.target))}function It(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=Number.parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=Number.parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return mn(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Yd(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=It(e,n),i=It(e,t);return{top:o,right:i,bottom:o,left:i,x:i*2,y:o*2}}if(typeof e=="object"){const o=It(e.top??e.y??0,n),i=It(e.bottom??e.y??0,n),r=It(e.left??e.x??0,t),s=It(e.right??e.x??0,t);return{top:o,right:s,bottom:i,left:r,x:r+s,y:o+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Xd(e,t,n,o,i,r){const{x:s,y:a}=an(e,{x:t,y:n,zoom:o}),{x:l,y:u}=an({x:e.x+e.width,y:e.y+e.height},{x:t,y:n,zoom:o}),c=i-l,d=r-u;return{left:Math.floor(s),top:Math.floor(a),right:Math.floor(c),bottom:Math.floor(d)}}function tr(e,t,n,o,i,r=.1){const s=Yd(r,t,n),a=(t-s.x)/e.width,l=(n-s.y)/e.height,u=Math.min(a,l),c=Nt(u,o,i),d=e.x+e.width/2,h=e.y+e.height/2,g=t/2-d*c,x=n/2-h*c,$=Xd(e,g,x,c,t,n),E={left:Math.min($.left-s.left,0),top:Math.min($.top-s.top,0),right:Math.min($.right-s.right,0),bottom:Math.min($.bottom-s.bottom,0)};return{x:g-E.left+E.right,y:x-E.top+E.bottom,zoom:c}}function Gd(e,t){return{x:t.x+e.x,y:t.y+e.y,z:(e.z>t.z?e.z:t.z)+1}}function As(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:As(n,t):!1}function un(e,t){return typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`}function jo(e){const t=e.ctrlKey&&cn()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t}function nr(e,t,n){return e<t?Nt(Math.abs(e-t),1,t)/t:e>n?-Nt(Math.abs(e-n),1,t)/t:0}function Ds(e,t,n=15,o=40){const i=nr(e.x,o,t.width-o)*n,r=nr(e.y,o,t.height-o)*n;return[i,r]}function Ao(e,t){if(t){const n=e.position.x+e.dimensions.width-t.dimensions.width,o=e.position.y+e.dimensions.height-t.dimensions.height;if(n>0||o>0||e.position.x<0||e.position.y<0){let i={};if(typeof t.style=="function"?i={...t.style(t)}:t.style&&(i={...t.style}),i.width=i.width??`${t.dimensions.width}px`,i.height=i.height??`${t.dimensions.height}px`,n>0)if(typeof i.width=="string"){const r=Number(i.width.replace("px",""));i.width=`${r+n}px`}else i.width+=n;if(o>0)if(typeof i.height=="string"){const r=Number(i.height.replace("px",""));i.height=`${r+o}px`}else i.height+=o;if(e.position.x<0){const r=Math.abs(e.position.x);if(t.position.x=t.position.x-r,typeof i.width=="string"){const s=Number(i.width.replace("px",""));i.width=`${s+r}px`}else i.width+=r;e.position.x=0}if(e.position.y<0){const r=Math.abs(e.position.y);if(t.position.y=t.position.y-r,typeof i.height=="string"){const s=Number(i.height.replace("px",""));i.height=`${s+r}px`}else i.height+=r;e.position.y=0}t.dimensions.width=Number(i.width.toString().replace("px","")),t.dimensions.height=Number(i.height.toString().replace("px","")),typeof t.style=="function"?t.style=r=>{const s=t.style;return{...s(r),...i}}:t.style={...t.style,...i}}}}function or(e,t){var n,o;const i=e.filter(s=>s.type==="add"||s.type==="remove");for(const s of i)if(s.type==="add")t.findIndex(l=>l.id===s.item.id)===-1&&t.push(s.item);else if(s.type==="remove"){const a=t.findIndex(l=>l.id===s.id);a!==-1&&t.splice(a,1)}const r=t.map(s=>s.id);for(const s of t)for(const a of e)if(a.id===s.id)switch(a.type){case"select":s.selected=a.selected;break;case"position":if(Kt(s)&&(typeof a.position<"u"&&(s.position=a.position),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&s.parentNode)){const l=t[r.indexOf(s.parentNode)];l&&Kt(l)&&Ao(s,l)}break;case"dimensions":if(Kt(s)&&(typeof a.dimensions<"u"&&(s.dimensions=a.dimensions),typeof a.updateStyle<"u"&&a.updateStyle&&(s.style={...s.style||{},width:`${(n=a.dimensions)==null?void 0:n.width}px`,height:`${(o=a.dimensions)==null?void 0:o.height}px`}),typeof a.resizing<"u"&&(s.resizing=a.resizing),s.expandParent&&s.parentNode)){const l=t[r.indexOf(s.parentNode)];l&&Kt(l)&&(!!l.dimensions.width&&!!l.dimensions.height?Ao(s,l):tt(()=>{Ao(s,l)}))}break}return t}function rt(e,t){return{id:e,type:"select",selected:t}}function ir(e){return{item:e,type:"add"}}function rr(e){return{id:e,type:"remove"}}function sr(e,t,n,o,i){return{id:e,source:t,target:n,sourceHandle:o||null,targetHandle:i||null,type:"remove"}}function at(e,t=new Set,n=!1){const o=[];for(const[i,r]of e){const s=t.has(i);!(r.selected===void 0&&!s)&&r.selected!==s&&(n&&(r.selected=s),o.push(rt(r.id,s)))}return o}const ar=()=>{};function G(e){const t=new Set;let n=ar,o=()=>!1;const i=()=>t.size>0||o(),r=h=>{n=h},s=()=>{n=ar},a=h=>{o=h},l=()=>{o=()=>!1},u=h=>{t.delete(h)};return{on:h=>{t.add(h);const g=()=>u(h);return tn(g),{off:g}},off:u,trigger:h=>{const g=[n];return i()?g.push(...t):e&&g.push(e),Promise.allSettled(g.map(x=>x(h)))},hasListeners:i,listeners:t,setEmitter:r,removeEmitter:s,setHasEmitListeners:a,removeHasEmitListeners:l}}function lr(e,t,n){let o=e;do{if(o&&o.matches(t))return!0;if(o===n)return!1;o=o.parentElement}while(o);return!1}function Ud(e,t,n,o){var i,r;const s=new Map;for(const[a,l]of e)(l.selected||l.id===o)&&(!l.parentNode||!As(l,e))&&(l.draggable||t&&typeof l.draggable>"u")&&e.get(a)&&s.set(a,{id:l.id,position:l.position||{x:0,y:0},distance:{x:n.x-((i=l.computedPosition)==null?void 0:i.x)||0,y:n.y-((r=l.computedPosition)==null?void 0:r.y)||0},from:{x:l.computedPosition.x,y:l.computedPosition.y},extent:l.extent,parentNode:l.parentNode,dimensions:{...l.dimensions},expandParent:l.expandParent});return Array.from(s.values())}function Do({id:e,dragItems:t,findNode:n}){const o=[];for(const i of t){const r=n(i.id);r&&o.push(r)}return[e?o.find(i=>i.id===e):o[0],o]}function zs(e){if(Array.isArray(e))switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;default:return[0,0,0,0]}return[e,e,e,e]}function Zd(e,t,n){const[o,i,r,s]=typeof e!="string"?zs(e.padding):[0,0,0,0];return n&&typeof n.computedPosition.x<"u"&&typeof n.computedPosition.y<"u"&&typeof n.dimensions.width<"u"&&typeof n.dimensions.height<"u"?[[n.computedPosition.x+s,n.computedPosition.y+o],[n.computedPosition.x+n.dimensions.width-i,n.computedPosition.y+n.dimensions.height-r]]:!1}function Wd(e,t,n,o){let i=e.extent||n;if((i==="parent"||!Array.isArray(i)&&i?.range==="parent")&&!e.expandParent)if(e.parentNode&&o&&e.dimensions.width&&e.dimensions.height){const r=Zd(i,e,o);r&&(i=r)}else t(new Se(Ee.NODE_EXTENT_INVALID,e.id)),i=n;else if(Array.isArray(i)){const r=o?.computedPosition.x||0,s=o?.computedPosition.y||0;i=[[i[0][0]+r,i[0][1]+s],[i[1][0]+r,i[1][1]+s]]}else if(i!=="parent"&&i?.range&&Array.isArray(i.range)){const[r,s,a,l]=zs(i.padding),u=o?.computedPosition.x||0,c=o?.computedPosition.y||0;i=[[i.range[0][0]+u+l,i.range[0][1]+c+r],[i.range[1][0]+u-s,i.range[1][1]+c-a]]}return i==="parent"?[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]]:i}function Kd({width:e,height:t},n){return[n[0],[n[1][0]-(e||0),n[1][1]-(t||0)]]}function xi(e,t,n,o,i){const r=Kd(e.dimensions,Wd(e,n,o,i)),s=Ss(t,r);return{position:{x:s.x-(i?.computedPosition.x||0),y:s.y-(i?.computedPosition.y||0)},computedPosition:s}}function Rt(e,t,n=j.Left,o=!1){const i=(t?.x??0)+e.computedPosition.x,r=(t?.y??0)+e.computedPosition.y,{width:s,height:a}=t??jd(e);if(o)return{x:i+s/2,y:r+a/2};switch(t?.position??n){case j.Top:return{x:i+s/2,y:r};case j.Right:return{x:i+s,y:r+a/2};case j.Bottom:return{x:i+s/2,y:r+a};case j.Left:return{x:i,y:r+a/2}}}function ur(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function qd({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:r,width:s,height:a,viewport:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+o,t.y+r)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=oo({x:(0-l.x)/l.zoom,y:(0-l.y)/l.zoom,width:s/l.zoom,height:a/l.zoom}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),h=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*h)>0}function Qd(e,t,n=!1){const o=typeof e.zIndex=="number";let i=o?e.zIndex:0;const r=t(e.source),s=t(e.target);return!r||!s?0:(n&&(i=o?e.zIndex:Math.max(r.computedPosition.z||0,s.computedPosition.z||0)),i)}var Ee=(e=>(e.MISSING_STYLES="MISSING_STYLES",e.MISSING_VIEWPORT_DIMENSIONS="MISSING_VIEWPORT_DIMENSIONS",e.NODE_INVALID="NODE_INVALID",e.NODE_NOT_FOUND="NODE_NOT_FOUND",e.NODE_MISSING_PARENT="NODE_MISSING_PARENT",e.NODE_TYPE_MISSING="NODE_TYPE_MISSING",e.NODE_EXTENT_INVALID="NODE_EXTENT_INVALID",e.EDGE_INVALID="EDGE_INVALID",e.EDGE_NOT_FOUND="EDGE_NOT_FOUND",e.EDGE_SOURCE_MISSING="EDGE_SOURCE_MISSING",e.EDGE_TARGET_MISSING="EDGE_TARGET_MISSING",e.EDGE_TYPE_MISSING="EDGE_TYPE_MISSING",e.EDGE_SOURCE_TARGET_SAME="EDGE_SOURCE_TARGET_SAME",e.EDGE_SOURCE_TARGET_MISSING="EDGE_SOURCE_TARGET_MISSING",e.EDGE_ORPHANED="EDGE_ORPHANED",e.USEVUEFLOW_OPTIONS="USEVUEFLOW_OPTIONS",e))(Ee||{});const cr={MISSING_STYLES:()=>"It seems that you haven't loaded the necessary styles. Please import '@vue-flow/core/dist/style.css' to ensure that the graph is rendered correctly",MISSING_VIEWPORT_DIMENSIONS:()=>"The Vue Flow parent container needs a width and a height to render the graph",NODE_INVALID:e=>`Node is invalid
|
|
7
|
+
Node: ${e}`,NODE_NOT_FOUND:e=>`Node not found
|
|
8
|
+
Node: ${e}`,NODE_MISSING_PARENT:(e,t)=>`Node is missing a parent
|
|
9
|
+
Node: ${e}
|
|
10
|
+
Parent: ${t}`,NODE_TYPE_MISSING:e=>`Node type is missing
|
|
11
|
+
Type: ${e}`,NODE_EXTENT_INVALID:e=>`Only child nodes can use a parent extent
|
|
12
|
+
Node: ${e}`,EDGE_INVALID:e=>`An edge needs a source and a target
|
|
13
|
+
Edge: ${e}`,EDGE_SOURCE_MISSING:(e,t)=>`Edge source is missing
|
|
14
|
+
Edge: ${e}
|
|
15
|
+
Source: ${t}`,EDGE_TARGET_MISSING:(e,t)=>`Edge target is missing
|
|
16
|
+
Edge: ${e}
|
|
17
|
+
Target: ${t}`,EDGE_TYPE_MISSING:e=>`Edge type is missing
|
|
18
|
+
Type: ${e}`,EDGE_SOURCE_TARGET_SAME:(e,t,n)=>`Edge source and target are the same
|
|
19
|
+
Edge: ${e}
|
|
20
|
+
Source: ${t}
|
|
21
|
+
Target: ${n}`,EDGE_SOURCE_TARGET_MISSING:(e,t,n)=>`Edge source or target is missing
|
|
22
|
+
Edge: ${e}
|
|
23
|
+
Source: ${t}
|
|
24
|
+
Target: ${n}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed
|
|
25
|
+
Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found
|
|
26
|
+
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Se extends Error{constructor(t,...n){var o;super((o=cr[t])==null?void 0:o.call(cr,...n)),this.name="VueFlowError",this.code=t,this.args=n}}function Ei(e){return"clientX"in e}function Jd(e){return"sourceEvent"in e}function Ye(e,t){const n=Ei(e);let o,i;return n?(o=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(o=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(o=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(o=0,i=0),{x:o-(t?.left??0),y:i-(t?.top??0)}}const cn=()=>{var e;return typeof navigator<"u"&&((e=navigator?.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function jd(e){var t,n;return{width:((t=e.dimensions)==null?void 0:t.width)??e.width??0,height:((n=e.dimensions)==null?void 0:n.height)??e.height??0}}function yo(e,t=[1,1]){return{x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}}const ef=()=>!0;function zo(e){e?.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function tf(e,t,n){const o=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const r of t.values())no(i,to(r))>0&&o.push(r);return o}const nf=250;function of(e,t,n,o){var i,r;let s=[],a=Number.POSITIVE_INFINITY;const l=tf(e,n,t+nf);for(const u of l){const c=[...((i=u.handleBounds)==null?void 0:i.source)??[],...((r=u.handleBounds)==null?void 0:r.target)??[]];for(const d of c){if(o.nodeId===d.nodeId&&o.type===d.type&&o.id===d.id)continue;const{x:h,y:g}=Rt(u,d,d.position,!0),x=Math.sqrt((h-e.x)**2+(g-e.y)**2);x>t||(x<a?(s=[{...d,x:h,y:g}],a=x):x===a&&s.push({...d,x:h,y:g}))}}if(!s.length)return null;if(s.length>1){const u=o.type==="source"?"target":"source";return s.find(c=>c.type===u)??s[0]}return s[0]}function dr(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:i,fromType:r,doc:s,lib:a,flowId:l,isValidConnection:u=ef},c,d,h,g){const x=r==="target",$=t?s.querySelector(`.${a}-flow__handle[data-id="${l}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:E,y:b}=Ye(e),A=s.elementFromPoint(E,b),w=A?.classList.contains(`${a}-flow__handle`)?A:$,C={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const B=Ps(void 0,w),H=w.getAttribute("data-nodeid"),O=w.getAttribute("data-handleid"),V=w.classList.contains("connectable"),J=w.classList.contains("connectableend");if(!H||!B)return C;const R={source:x?H:o,sourceHandle:x?O:i,target:x?o:H,targetHandle:x?i:O};C.connection=R;const M=V&&J&&(n===dt.Strict?x&&B==="source"||!x&&B==="target":H!==o||O!==i);C.isValid=M&&u(R,{nodes:d,edges:c,sourceNode:h(R.source),targetNode:h(R.target)}),C.toHandle=Bs(H,B,O,g,n,!0)}return C}function Ps(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function rf(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function sf(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}function Bs(e,t,n,o,i,r=!1){var s,a,l;const u=o.get(e);if(!u)return null;const c=i===dt.Strict?(s=u.handleBounds)==null?void 0:s[t]:[...((a=u.handleBounds)==null?void 0:a.source)??[],...((l=u.handleBounds)==null?void 0:l.target)??[]],d=(n?c?.find(h=>h.id===n):c?.[0])??null;return d&&r?{...d,...Rt(u,d,d.position,!0)}:d}const ei={[j.Left]:j.Right,[j.Right]:j.Left,[j.Top]:j.Bottom,[j.Bottom]:j.Top},af=["production","prod"];function mn(e,...t){Os()&&console.warn(`[Vue Flow]: ${e}`,...t)}function Os(){return!af.includes("production")}function fr(e,t,n,o,i){const r=t.querySelectorAll(`.vue-flow__handle.${e}`);return r?.length?Array.from(r).map(s=>{const a=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:i,position:s.getAttribute("data-handlepos"),x:(a.left-n.left)/o,y:(a.top-n.top)/o,...mo(s)}}):null}function ti(e,t,n,o,i,r=!1,s){i.value=!1,e.selected?(r||e.selected&&t)&&(o([e]),tt(()=>{s.blur()})):n([e])}function be(e){return typeof U(e)<"u"}function lf(e,t,n,o){if(!e||!e.source||!e.target)return n(new Se(Ee.EDGE_INVALID,e?.id??"[ID UNKNOWN]")),!1;let i;return ft(e)?i=e:i={...e,id:Cs(e)},i=Ns(i,void 0,o),Fd(i,t)?!1:i}function uf(e,t,n,o,i){if(!t.source||!t.target)return i(new Se(Ee.EDGE_INVALID,e.id)),!1;if(!n)return i(new Se(Ee.EDGE_NOT_FOUND,e.id)),!1;const{id:r,...s}=e;return{...s,id:o?Cs(t):r,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle}}function hr(e,t,n){const o={},i=[];for(let r=0;r<e.length;++r){const s=e[r];if(!$t(s)){n(new Se(Ee.NODE_INVALID,s?.id)||`[ID UNKNOWN|INDEX ${r}]`);continue}const a=Rd(s,t(s.id),s.parentNode);s.parentNode&&(o[s.parentNode]=!0),i[r]=a}for(const r of i){const s=t(r.parentNode)||i.find(a=>a.id===r.parentNode);r.parentNode&&!s&&n(new Se(Ee.NODE_MISSING_PARENT,r.id,r.parentNode)),(r.parentNode||o[r.id])&&(o[r.id]&&(r.isParent=!0),s&&(s.isParent=!0))}return i}function gr(e,t,n,o,i,r){let s=i;const a=o.get(s)||new Map;o.set(s,a.set(n,t)),s=`${i}-${e}`;const l=o.get(s)||new Map;if(o.set(s,l.set(n,t)),r){s=`${i}-${e}-${r}`;const u=o.get(s)||new Map;o.set(s,u.set(n,t))}}function Po(e,t,n){e.clear();for(const o of n){const{source:i,target:r,sourceHandle:s=null,targetHandle:a=null}=o,l={edgeId:o.id,source:i,target:r,sourceHandle:s,targetHandle:a},u=`${i}-${s}--${r}-${a}`,c=`${r}-${a}--${i}-${s}`;gr("source",l,c,e,i,s),gr("target",l,u,e,r,a)}}function vr(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Bo(e,t,n,o,i,r,s,a){const l=[];for(const u of e){const c=ft(u)?u:lf(u,a,i,r);if(!c)continue;const d=n(c.source),h=n(c.target);if(!d||!h){i(new Se(Ee.EDGE_SOURCE_TARGET_MISSING,c.id,c.source,c.target));continue}if(!d){i(new Se(Ee.EDGE_SOURCE_MISSING,c.id,c.source));continue}if(!h){i(new Se(Ee.EDGE_TARGET_MISSING,c.id,c.target));continue}if(t&&!t(c,{edges:a,nodes:s,sourceNode:d,targetNode:h})){i(new Se(Ee.EDGE_INVALID,c.id));continue}const g=o(c.id);l.push({...Ns(c,g,r),sourceNode:d,targetNode:h})}return l}const pr=Symbol("vueFlow"),Rs=Symbol("nodeId"),Vs=Symbol("nodeRef"),cf=Symbol("edgeId"),df=Symbol("edgeRef"),wo=Symbol("slots");function Hs(e){const{vueFlowRef:t,snapToGrid:n,snapGrid:o,noDragClassName:i,nodeLookup:r,nodeExtent:s,nodeDragThreshold:a,viewport:l,autoPanOnNodeDrag:u,autoPanSpeed:c,nodesDraggable:d,panBy:h,findNode:g,multiSelectionActive:x,nodesSelectionActive:$,selectNodesOnDrag:E,removeSelectedElements:b,addSelectedNodes:A,updateNodePositions:w,emits:C}=we(),{onStart:B,onDrag:H,onStop:O,onClick:V,el:J,disabled:R,id:F,selectable:M,dragHandle:Z}=e,f=Gn(!1);let N=[],v,k=null,S={x:void 0,y:void 0},T={x:0,y:0},I=null,z=!1,L=!1,W=0,P=!1;const Y=gf(),X=({x:re,y:ue})=>{S={x:re,y:ue};let m=!1;if(N=N.map(p=>{const _={x:re-p.distance.x,y:ue-p.distance.y},{computedPosition:y}=xi(p,n.value?yo(_,o.value):_,C.error,s.value,p.parentNode?g(p.parentNode):void 0);return m=m||p.position.x!==y.x||p.position.y!==y.y,p.position=y,p}),L=L||m,!!m&&(w(N,!0,!0),f.value=!0,I)){const[p,_]=Do({id:F,dragItems:N,findNode:g});H({event:I,node:p,nodes:_})}},ne=()=>{if(!k)return;const[re,ue]=Ds(T,k,c.value);if(re!==0||ue!==0){const m={x:(S.x??0)-re/l.value.zoom,y:(S.y??0)-ue/l.value.zoom};h({x:re,y:ue})&&X(m)}W=requestAnimationFrame(ne)},ie=(re,ue)=>{z=!0;const m=g(F);!E.value&&!x.value&&m&&(m.selected||b()),m&&ce(M)&&E.value&&ti(m,x.value,A,b,$,!1,ue);const p=Y(re.sourceEvent);if(S=p,N=Ud(r.value,d.value,p,F),N.length){const[_,y]=Do({id:F,dragItems:N,findNode:g});B({event:re.sourceEvent,node:_,nodes:y})}},se=(re,ue)=>{var m;re.sourceEvent.type==="touchmove"&&re.sourceEvent.touches.length>1||(L=!1,a.value===0&&ie(re,ue),S=Y(re.sourceEvent),k=((m=t.value)==null?void 0:m.getBoundingClientRect())||null,T=Ye(re.sourceEvent,k))},fe=(re,ue)=>{const m=Y(re.sourceEvent);if(!P&&z&&u.value&&(P=!0,ne()),!z){const p=m.xSnapped-(S.x??0),_=m.ySnapped-(S.y??0);Math.sqrt(p*p+_*_)>a.value&&ie(re,ue)}(S.x!==m.xSnapped||S.y!==m.ySnapped)&&N.length&&z&&(I=re.sourceEvent,T=Ye(re.sourceEvent,k),X(m))},pe=re=>{let ue=!1;if(!z&&!f.value&&!x.value){const m=re.sourceEvent,p=Y(m),_=p.xSnapped-(S.x??0),y=p.ySnapped-(S.y??0),D=Math.sqrt(_*_+y*y);D!==0&&D<=a.value&&(V?.(m),ue=!0)}if(N.length&&!ue){L&&(w(N,!1,!1),L=!1);const[m,p]=Do({id:F,dragItems:N,findNode:g});O({event:re.sourceEvent,node:m,nodes:p})}N=[],f.value=!1,P=!1,z=!1,S={x:void 0,y:void 0},cancelAnimationFrame(W)};return me([()=>ce(R),J],([re,ue],m,p)=>{if(ue){const _=ze(ue);re||(v=Ou().on("start",y=>se(y,ue)).on("drag",y=>fe(y,ue)).on("end",y=>pe(y)).filter(y=>{const D=y.target,K=ce(Z);return!y.button&&(!i.value||!lr(D,`.${i.value}`,ue)&&(!K||lr(D,K,ue)))}),_.call(v)),p(()=>{_.on(".drag",null),v&&(v.on("start",null),v.on("drag",null),v.on("end",null))})}}),f}function ff(){return{doubleClick:G(),click:G(),mouseEnter:G(),mouseMove:G(),mouseLeave:G(),contextMenu:G(),updateStart:G(),update:G(),updateEnd:G()}}function hf(e,t){const n=ff();return n.doubleClick.on(o=>{var i,r;t.edgeDoubleClick(o),(r=(i=e.events)==null?void 0:i.doubleClick)==null||r.call(i,o)}),n.click.on(o=>{var i,r;t.edgeClick(o),(r=(i=e.events)==null?void 0:i.click)==null||r.call(i,o)}),n.mouseEnter.on(o=>{var i,r;t.edgeMouseEnter(o),(r=(i=e.events)==null?void 0:i.mouseEnter)==null||r.call(i,o)}),n.mouseMove.on(o=>{var i,r;t.edgeMouseMove(o),(r=(i=e.events)==null?void 0:i.mouseMove)==null||r.call(i,o)}),n.mouseLeave.on(o=>{var i,r;t.edgeMouseLeave(o),(r=(i=e.events)==null?void 0:i.mouseLeave)==null||r.call(i,o)}),n.contextMenu.on(o=>{var i,r;t.edgeContextMenu(o),(r=(i=e.events)==null?void 0:i.contextMenu)==null||r.call(i,o)}),n.updateStart.on(o=>{var i,r;t.edgeUpdateStart(o),(r=(i=e.events)==null?void 0:i.updateStart)==null||r.call(i,o)}),n.update.on(o=>{var i,r;t.edgeUpdate(o),(r=(i=e.events)==null?void 0:i.update)==null||r.call(i,o)}),n.updateEnd.on(o=>{var i,r;t.edgeUpdateEnd(o),(r=(i=e.events)==null?void 0:i.updateEnd)==null||r.call(i,o)}),Object.entries(n).reduce((o,[i,r])=>(o.emit[i]=r.trigger,o.on[i]=r.on,o),{emit:{},on:{}})}function gf(){const{viewport:e,snapGrid:t,snapToGrid:n,vueFlowRef:o}=we();return i=>{var r;const s=((r=o.value)==null?void 0:r.getBoundingClientRect())??{left:0,top:0},a=Jd(i)?i.sourceEvent:i,{x:l,y:u}=Ye(a,s),c=ln({x:l,y:u},e.value),{x:d,y:h}=n.value?yo(c,t.value):c;return{xSnapped:d,ySnapped:h,...c}}}function Nn(){return!0}function Fs({handleId:e,nodeId:t,type:n,isValidConnection:o,edgeUpdaterType:i,onEdgeUpdate:r,onEdgeUpdateEnd:s}){const{id:a,vueFlowRef:l,connectionMode:u,connectionRadius:c,connectOnClick:d,connectionClickStartHandle:h,nodesConnectable:g,autoPanOnConnect:x,autoPanSpeed:$,findNode:E,panBy:b,startConnection:A,updateConnection:w,endConnection:C,emits:B,viewport:H,edges:O,nodes:V,isValidConnection:J,nodeLookup:R}=we();let F=null,M=!1,Z=null;function f(v){var k;const S=ce(n)==="target",T=Ei(v),I=er(v.target),z=v.currentTarget;if(z&&(T&&v.button===0||!T)){let L=function(ee){m=Ye(ee,pe),X=of(ln(m,H.value,!1,[1,1]),c.value,R.value,y),p||(_(),p=!0);const ae=dr(ee,{handle:X,connectionMode:u.value,fromNodeId:ce(t),fromHandleId:ce(e),fromType:S?"target":"source",isValidConnection:Y,doc:I,lib:"vue",flowId:a,nodeLookup:R.value},O.value,V.value,E,R.value);Z=ae.handleDomNode,F=ae.connection,M=sf(!!X,ae.isValid);const de={...Q,isValid:M,to:ae.toHandle&&M?an({x:ae.toHandle.x,y:ae.toHandle.y},H.value):m,toHandle:ae.toHandle,toPosition:M&&ae.toHandle?ae.toHandle.position:ei[y.position],toNode:ae.toHandle?R.value.get(ae.toHandle.nodeId):null};if(M&&X&&Q?.toHandle&&de.toHandle&&Q.toHandle.type===de.toHandle.type&&Q.toHandle.nodeId===de.toHandle.nodeId&&Q.toHandle.id===de.toHandle.id&&Q.to.x===de.to.x&&Q.to.y===de.to.y)return;const he=X??ae.toHandle;if(w(he&&M?an({x:he.x,y:he.y},H.value):m,ae.toHandle,rf(!!he,M)),Q=de,!X&&!M&&!Z)return zo(ue);F&&F.source!==F.target&&Z&&(zo(ue),ue=Z,Z.classList.add("connecting","vue-flow__handle-connecting"),Z.classList.toggle("valid",!!M),Z.classList.toggle("vue-flow__handle-valid",!!M))},W=function(ee){"touches"in ee&&ee.touches.length>0||((X||Z)&&F&&M&&(r?r(ee,F):B.connect(F)),B.connectEnd(ee),i&&s?.(ee),zo(ue),cancelAnimationFrame(ne),C(ee),p=!1,M=!1,F=null,Z=null,I.removeEventListener("mousemove",L),I.removeEventListener("mouseup",W),I.removeEventListener("touchmove",L),I.removeEventListener("touchend",W))};const P=E(ce(t));let Y=ce(o)||J.value||Nn;!Y&&P&&(Y=(S?P.isValidSourcePos:P.isValidTargetPos)||Nn);let X,ne=0;const{x:ie,y:se}=Ye(v),fe=Ps(ce(i),z),pe=(k=l.value)==null?void 0:k.getBoundingClientRect();if(!pe||!fe)return;const re=Bs(ce(t),fe,ce(e),R.value,u.value);if(!re)return;let ue,m=Ye(v,pe),p=!1;const _=()=>{if(!x.value)return;const[ee,ae]=Ds(m,pe,$.value);b({x:ee,y:ae}),ne=requestAnimationFrame(_)},y={...re,nodeId:ce(t),type:fe,position:re.position},D=R.value.get(ce(t)),q={inProgress:!0,isValid:null,from:Rt(D,y,j.Left,!0),fromHandle:y,fromPosition:y.position,fromNode:D,to:m,toHandle:null,toPosition:ei[y.position],toNode:null};A({nodeId:ce(t),id:ce(e),type:fe,position:z?.getAttribute("data-handlepos")||j.Top,...m},{x:ie-pe.left,y:se-pe.top}),B.connectStart({event:v,nodeId:ce(t),handleId:ce(e),handleType:fe});let Q=q;I.addEventListener("mousemove",L),I.addEventListener("mouseup",W),I.addEventListener("touchmove",L),I.addEventListener("touchend",W)}}function N(v){var k,S;if(!d.value)return;const T=ce(n)==="target";if(!h.value){B.clickConnectStart({event:v,nodeId:ce(t),handleId:ce(e)}),A({nodeId:ce(t),type:ce(n),id:ce(e),position:j.Top,...Ye(v)},void 0,!0);return}let I=ce(o)||J.value||Nn;const z=E(ce(t));if(!I&&z&&(I=(T?z.isValidSourcePos:z.isValidTargetPos)||Nn),z&&(typeof z.connectable>"u"?g.value:z.connectable)===!1)return;const L=er(v.target),W=dr(v,{handle:{nodeId:ce(t),id:ce(e),type:ce(n),position:j.Top,...Ye(v)},connectionMode:u.value,fromNodeId:h.value.nodeId,fromHandleId:h.value.id??null,fromType:h.value.type,isValidConnection:I,doc:L,lib:"vue",flowId:a,nodeLookup:R.value},O.value,V.value,E,R.value),P=((k=W.connection)==null?void 0:k.source)===((S=W.connection)==null?void 0:S.target);W.isValid&&W.connection&&!P&&B.connect(W.connection),B.clickConnectEnd(v),C(v,!0)}return{handlePointerDown:f,handleClick:N}}function vf(){return Ct(Rs,"")}function Ls(e){const t=e??vf()??"",n=Ct(Vs,$e(null)),{findNode:o,edges:i,emits:r}=we(),s=o(t);return s||r.error(new Se(Ee.NODE_NOT_FOUND,t)),{id:t,nodeEl:n,node:s,parentNode:oe(()=>o(s.parentNode)),connectedEdges:oe(()=>pt([s],i.value))}}function pf(){return{doubleClick:G(),click:G(),mouseEnter:G(),mouseMove:G(),mouseLeave:G(),contextMenu:G(),dragStart:G(),drag:G(),dragStop:G()}}function mf(e,t){const n=pf();return n.doubleClick.on(o=>{var i,r;t.nodeDoubleClick(o),(r=(i=e.events)==null?void 0:i.doubleClick)==null||r.call(i,o)}),n.click.on(o=>{var i,r;t.nodeClick(o),(r=(i=e.events)==null?void 0:i.click)==null||r.call(i,o)}),n.mouseEnter.on(o=>{var i,r;t.nodeMouseEnter(o),(r=(i=e.events)==null?void 0:i.mouseEnter)==null||r.call(i,o)}),n.mouseMove.on(o=>{var i,r;t.nodeMouseMove(o),(r=(i=e.events)==null?void 0:i.mouseMove)==null||r.call(i,o)}),n.mouseLeave.on(o=>{var i,r;t.nodeMouseLeave(o),(r=(i=e.events)==null?void 0:i.mouseLeave)==null||r.call(i,o)}),n.contextMenu.on(o=>{var i,r;t.nodeContextMenu(o),(r=(i=e.events)==null?void 0:i.contextMenu)==null||r.call(i,o)}),n.dragStart.on(o=>{var i,r;t.nodeDragStart(o),(r=(i=e.events)==null?void 0:i.dragStart)==null||r.call(i,o)}),n.drag.on(o=>{var i,r;t.nodeDrag(o),(r=(i=e.events)==null?void 0:i.drag)==null||r.call(i,o)}),n.dragStop.on(o=>{var i,r;t.nodeDragStop(o),(r=(i=e.events)==null?void 0:i.dragStop)==null||r.call(i,o)}),Object.entries(n).reduce((o,[i,r])=>(o.emit[i]=r.trigger,o.on[i]=r.on,o),{emit:{},on:{}})}function Ys(){const{getSelectedNodes:e,nodeExtent:t,updateNodePositions:n,findNode:o,snapGrid:i,snapToGrid:r,nodesDraggable:s,emits:a}=we();return(l,u=!1)=>{const c=r.value?i.value[0]:5,d=r.value?i.value[1]:5,h=u?4:1,g=l.x*c*h,x=l.y*d*h,$=[];for(const E of e.value)if(E.draggable||s&&typeof E.draggable>"u"){const b={x:E.computedPosition.x+g,y:E.computedPosition.y+x},{computedPosition:A}=xi(E,b,a.error,t.value,E.parentNode?o(E.parentNode):void 0);$.push({id:E.id,position:A,from:E.position,distance:{x:l.x,y:l.y},dimensions:E.dimensions})}n($,!0,!1)}}const Mn=.1,yf=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function it(){return mn("Viewport not initialized yet."),Promise.resolve(!1)}const wf={zoomIn:it,zoomOut:it,zoomTo:it,fitView:it,setCenter:it,fitBounds:it,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:it,setTransform:it,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function _f(e){function t(o,i){return new Promise(r=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate(i?.interpolate==="linear"?Jt:On).scaleBy(Oo(e.d3Selection,i?.duration,i?.ease,()=>{r(!0)}),o):r(!1)})}function n(o,i,r,s){return new Promise(a=>{var l;const{x:u,y:c}=Ss({x:-o,y:-i},e.translateExtent),d=Ot.translate(-u,-c).scale(r);e.d3Selection&&e.d3Zoom?(l=e.d3Zoom)==null||l.interpolate(s?.interpolate==="linear"?Jt:On).transform(Oo(e.d3Selection,s?.duration,s?.ease,()=>{a(!0)}),d):a(!1)})}return oe(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>t(1.2,i),zoomOut:i=>t(1/1.2,i),zoomTo:(i,r)=>new Promise(s=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate(r?.interpolate==="linear"?Jt:On).scaleTo(Oo(e.d3Selection,r?.duration,r?.ease,()=>{s(!0)}),i):s(!1)}),setViewport:(i,r)=>n(i.x,i.y,i.zoom,r),setTransform:(i,r)=>n(i.x,i.y,i.zoom,r),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Mn,includeHiddenNodes:!1,duration:0})=>{var r,s;const a=[];for(const h of e.nodes)h.dimensions.width&&h.dimensions.height&&(i?.includeHiddenNodes||!h.hidden)&&(!((r=i.nodes)!=null&&r.length)||(s=i.nodes)!=null&&s.length&&i.nodes.includes(h.id))&&a.push(h);if(!a.length)return Promise.resolve(!1);const l=bi(a),{x:u,y:c,zoom:d}=tr(l,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Mn);return n(u,c,d,i)},setCenter:(i,r,s)=>{const a=typeof s?.zoom<"u"?s.zoom:e.maxZoom,l=e.dimensions.width/2-i*a,u=e.dimensions.height/2-r*a;return n(l,u,a,s)},fitBounds:(i,r={padding:Mn})=>{const{x:s,y:a,zoom:l}=tr(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,r.padding??Mn);return n(s,a,l,r)},project:i=>ln(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:r,y:s}=e.vueFlowRef.getBoundingClientRect(),a={x:i.x-r,y:i.y-s};return ln(a,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:r,y:s}=e.vueFlowRef.getBoundingClientRect(),a={x:i.x+r,y:i.y+s};return an(a,e.viewport)}return{x:0,y:0}}}:wf)}function Oo(e,t=0,n=yf,o=()=>{}){const i=typeof t=="number"&&t>0;return i||o(),i?e.transition().duration(t).ease(n).on("end",o):e}function $f(e,t,n){const o=Fr(!0);return o.run(()=>{const i=()=>{o.run(()=>{let $,E,b=!!(n.nodes.value.length||n.edges.value.length);$=kt([e.modelValue,()=>{var A,w;return(w=(A=e.modelValue)==null?void 0:A.value)==null?void 0:w.length}],([A])=>{A&&Array.isArray(A)&&(E?.pause(),n.setElements(A),!E&&!b&&A.length?b=!0:E?.resume())}),E=kt([n.nodes,n.edges,()=>n.edges.value.length,()=>n.nodes.value.length],([A,w])=>{var C;(C=e.modelValue)!=null&&C.value&&Array.isArray(e.modelValue.value)&&($?.pause(),e.modelValue.value=[...A,...w],tt(()=>{$?.resume()}))},{immediate:b}),zn(()=>{$?.stop(),E?.stop()})})},r=()=>{o.run(()=>{let $,E,b=!!n.nodes.value.length;$=kt([e.nodes,()=>{var A,w;return(w=(A=e.nodes)==null?void 0:A.value)==null?void 0:w.length}],([A])=>{A&&Array.isArray(A)&&(E?.pause(),n.setNodes(A),!E&&!b&&A.length?b=!0:E?.resume())}),E=kt([n.nodes,()=>n.nodes.value.length],([A])=>{var w;(w=e.nodes)!=null&&w.value&&Array.isArray(e.nodes.value)&&($?.pause(),e.nodes.value=[...A],tt(()=>{$?.resume()}))},{immediate:b}),zn(()=>{$?.stop(),E?.stop()})})},s=()=>{o.run(()=>{let $,E,b=!!n.edges.value.length;$=kt([e.edges,()=>{var A,w;return(w=(A=e.edges)==null?void 0:A.value)==null?void 0:w.length}],([A])=>{A&&Array.isArray(A)&&(E?.pause(),n.setEdges(A),!E&&!b&&A.length?b=!0:E?.resume())}),E=kt([n.edges,()=>n.edges.value.length],([A])=>{var w;(w=e.edges)!=null&&w.value&&Array.isArray(e.edges.value)&&($?.pause(),e.edges.value=[...A],tt(()=>{$?.resume()}))},{immediate:b}),zn(()=>{$?.stop(),E?.stop()})})},a=()=>{o.run(()=>{me(()=>t.maxZoom,()=>{t.maxZoom&&be(t.maxZoom)&&n.setMaxZoom(t.maxZoom)},{immediate:!0})})},l=()=>{o.run(()=>{me(()=>t.minZoom,()=>{t.minZoom&&be(t.minZoom)&&n.setMinZoom(t.minZoom)},{immediate:!0})})},u=()=>{o.run(()=>{me(()=>t.translateExtent,()=>{t.translateExtent&&be(t.translateExtent)&&n.setTranslateExtent(t.translateExtent)},{immediate:!0})})},c=()=>{o.run(()=>{me(()=>t.nodeExtent,()=>{t.nodeExtent&&be(t.nodeExtent)&&n.setNodeExtent(t.nodeExtent)},{immediate:!0})})},d=()=>{o.run(()=>{me(()=>t.applyDefault,()=>{be(t.applyDefault)&&(n.applyDefault.value=t.applyDefault)},{immediate:!0})})},h=()=>{o.run(()=>{const $=async E=>{let b=E;typeof t.autoConnect=="function"&&(b=await t.autoConnect(E)),b!==!1&&n.addEdges([b])};me(()=>t.autoConnect,()=>{be(t.autoConnect)&&(n.autoConnect.value=t.autoConnect)},{immediate:!0}),me(n.autoConnect,(E,b,A)=>{E?n.onConnect($):n.hooks.value.connect.off($),A(()=>{n.hooks.value.connect.off($)})},{immediate:!0})})},g=()=>{const $=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const E of Object.keys(t)){const b=E;if(!$.includes(b)){const A=ge(()=>t[b]),w=n[b];fi(w)&&o.run(()=>{me(A,C=>{be(C)&&(w.value=C)},{immediate:!0})})}}};(()=>{i(),r(),s(),l(),a(),u(),c(),d(),h(),g()})()}),()=>o.stop()}function bf(){return{edgesChange:G(),nodesChange:G(),nodeDoubleClick:G(),nodeClick:G(),nodeMouseEnter:G(),nodeMouseMove:G(),nodeMouseLeave:G(),nodeContextMenu:G(),nodeDragStart:G(),nodeDrag:G(),nodeDragStop:G(),nodesInitialized:G(),miniMapNodeClick:G(),miniMapNodeDoubleClick:G(),miniMapNodeMouseEnter:G(),miniMapNodeMouseMove:G(),miniMapNodeMouseLeave:G(),connect:G(),connectStart:G(),connectEnd:G(),clickConnectStart:G(),clickConnectEnd:G(),paneReady:G(),init:G(),move:G(),moveStart:G(),moveEnd:G(),selectionDragStart:G(),selectionDrag:G(),selectionDragStop:G(),selectionContextMenu:G(),selectionStart:G(),selectionEnd:G(),viewportChangeStart:G(),viewportChange:G(),viewportChangeEnd:G(),paneScroll:G(),paneClick:G(),paneContextMenu:G(),paneMouseEnter:G(),paneMouseMove:G(),paneMouseLeave:G(),edgeContextMenu:G(),edgeMouseEnter:G(),edgeMouseMove:G(),edgeMouseLeave:G(),edgeDoubleClick:G(),edgeClick:G(),edgeUpdateStart:G(),edgeUpdate:G(),edgeUpdateEnd:G(),updateNodeInternals:G(),error:G(e=>mn(e.message))}}function xf(e,t){const n=Ft();Ia(()=>{for(const[i,r]of Object.entries(t.value)){const s=a=>{e(i,a)};r.setEmitter(s),tn(r.removeEmitter),r.setHasEmitListeners(()=>o(i)),tn(r.removeHasEmitListeners)}});function o(i){var r;const s=Ef(i);return!!((r=n?.vnode.props)==null?void 0:r[s])}}function Ef(e){const[t,...n]=e.split(":");return`on${t.replace(/(?:^|-)(\w)/g,(i,r)=>r.toUpperCase())}${n.length?`:${n.join(":")}`:""}`}function Xs(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:$i.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:jt.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:vt.Bezier,style:{}},connectionMode:dt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:cn()?"Meta":"Control",zoomActivationKeyCode:cn()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:bf(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const Sf=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function Nf(e,t,n){const o=_f(e),i=m=>{const p=m??[];e.hooks.updateNodeInternals.trigger(p)},r=m=>Hd(m,e.nodes,e.edges),s=m=>Vd(m,e.nodes,e.edges),a=m=>pt(m,e.edges),l=({id:m,type:p,nodeId:_})=>{var y;const D=m?`-${p}-${m}`:`-${p}`;return Array.from(((y=e.connectionLookup.get(`${_}${D}`))==null?void 0:y.values())??[])},u=m=>{if(m)return t.value.get(m)},c=m=>{if(m)return n.value.get(m)},d=(m,p,_)=>{var y,D;const K=[];for(const q of m){const Q={id:q.id,type:"position",dragging:_,from:q.from};if(p&&(Q.position=q.position,q.parentNode)){const ee=u(q.parentNode);Q.position={x:Q.position.x-(((y=ee?.computedPosition)==null?void 0:y.x)??0),y:Q.position.y-(((D=ee?.computedPosition)==null?void 0:D.y)??0)}}K.push(Q)}K?.length&&e.hooks.nodesChange.trigger(K)},h=m=>{if(!e.vueFlowRef)return;const p=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!p)return;const _=window.getComputedStyle(p),{m22:y}=new window.DOMMatrixReadOnly(_.transform),D=[];for(const K of m){const q=K,Q=u(q.id);if(Q){const ee=mo(q.nodeElement);if(!!(ee.width&&ee.height&&(Q.dimensions.width!==ee.width||Q.dimensions.height!==ee.height||q.forceUpdate))){const de=q.nodeElement.getBoundingClientRect();Q.dimensions=ee,Q.handleBounds.source=fr("source",q.nodeElement,de,y,Q.id),Q.handleBounds.target=fr("target",q.nodeElement,de,y,Q.id),D.push({id:Q.id,type:"dimensions",dimensions:ee})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&o.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),D.length&&e.hooks.nodesChange.trigger(D)},g=(m,p)=>{const _=new Set,y=new Set;for(const q of m)$t(q)?_.add(q.id):ft(q)&&y.add(q.id);const D=at(t.value,_,!0),K=at(n.value,y);if(e.multiSelectionActive){for(const q of _)D.push(rt(q,p));for(const q of y)K.push(rt(q,p))}D.length&&e.hooks.nodesChange.trigger(D),K.length&&e.hooks.edgesChange.trigger(K)},x=m=>{if(e.multiSelectionActive){const p=m.map(_=>rt(_.id,!0));e.hooks.nodesChange.trigger(p);return}e.hooks.nodesChange.trigger(at(t.value,new Set(m.map(p=>p.id)),!0)),e.hooks.edgesChange.trigger(at(n.value))},$=m=>{if(e.multiSelectionActive){const p=m.map(_=>rt(_.id,!0));e.hooks.edgesChange.trigger(p);return}e.hooks.edgesChange.trigger(at(n.value,new Set(m.map(p=>p.id)))),e.hooks.nodesChange.trigger(at(t.value,new Set,!0))},E=m=>{g(m,!0)},b=m=>{const _=(m||e.nodes).map(y=>(y.selected=!1,rt(y.id,!1)));e.hooks.nodesChange.trigger(_)},A=m=>{const _=(m||e.edges).map(y=>(y.selected=!1,rt(y.id,!1)));e.hooks.edgesChange.trigger(_)},w=m=>{if(!m||!m.length)return g([],!1);const p=m.reduce((_,y)=>{const D=rt(y.id,!1);return $t(y)?_.nodes.push(D):_.edges.push(D),_},{nodes:[],edges:[]});p.nodes.length&&e.hooks.nodesChange.trigger(p.nodes),p.edges.length&&e.hooks.edgesChange.trigger(p.edges)},C=m=>{var p;(p=e.d3Zoom)==null||p.scaleExtent([m,e.maxZoom]),e.minZoom=m},B=m=>{var p;(p=e.d3Zoom)==null||p.scaleExtent([e.minZoom,m]),e.maxZoom=m},H=m=>{var p;(p=e.d3Zoom)==null||p.translateExtent(m),e.translateExtent=m},O=m=>{e.nodeExtent=m,i()},V=m=>{var p;(p=e.d3Zoom)==null||p.clickDistance(m)},J=m=>{e.nodesDraggable=m,e.nodesConnectable=m,e.elementsSelectable=m},R=m=>{const p=m instanceof Function?m(e.nodes):m;!e.initialized&&!p.length||(e.nodes=hr(p,u,e.hooks.error.trigger))},F=m=>{const p=m instanceof Function?m(e.edges):m;if(!e.initialized&&!p.length)return;const _=Bo(p,e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Po(e.connectionLookup,n.value,_),e.edges=_},M=m=>{const p=m instanceof Function?m([...e.nodes,...e.edges]):m;!e.initialized&&!p.length||(R(p.filter($t)),F(p.filter(ft)))},Z=m=>{let p=m instanceof Function?m(e.nodes):m;p=Array.isArray(p)?p:[p];const _=hr(p,u,e.hooks.error.trigger),y=[];for(const D of _)y.push(ir(D));y.length&&e.hooks.nodesChange.trigger(y)},f=m=>{let p=m instanceof Function?m(e.edges):m;p=Array.isArray(p)?p:[p];const _=Bo(p,e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),y=[];for(const D of _)y.push(ir(D));y.length&&e.hooks.edgesChange.trigger(y)},N=(m,p=!0,_=!1)=>{const y=m instanceof Function?m(e.nodes):m,D=Array.isArray(y)?y:[y],K=[],q=[];function Q(ae){const de=a(ae);for(const he of de)(!be(he.deletable)||he.deletable)&&q.push(sr(he.id,he.source,he.target,he.sourceHandle,he.targetHandle))}function ee(ae){const de=[];for(const he of e.nodes)he.parentNode===ae&&de.push(he);if(de.length){for(const he of de)K.push(rr(he.id));p&&Q(de);for(const he of de)ee(he.id)}}for(const ae of D){const de=typeof ae=="string"?u(ae):ae;de&&(be(de.deletable)&&!de.deletable||(K.push(rr(de.id)),p&&Q([de]),_&&ee(de.id)))}q.length&&e.hooks.edgesChange.trigger(q),K.length&&e.hooks.nodesChange.trigger(K)},v=m=>{const p=m instanceof Function?m(e.edges):m,_=Array.isArray(p)?p:[p],y=[];for(const D of _){const K=typeof D=="string"?c(D):D;K&&(be(K.deletable)&&!K.deletable||y.push(sr(typeof D=="string"?D:D.id,K.source,K.target,K.sourceHandle,K.targetHandle)))}e.hooks.edgesChange.trigger(y)},k=(m,p,_=!0)=>{const y=c(m.id);if(!y)return!1;const D=e.edges.indexOf(y),K=uf(m,p,y,_,e.hooks.error.trigger);if(K){const[q]=Bo([K],e.isValidConnection,u,c,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((Q,ee)=>ee===D?q:Q),Po(e.connectionLookup,n.value,[q]),q}return!1},S=(m,p,_={replace:!1})=>{const y=c(m);if(!y)return;const D=typeof p=="function"?p(y):p;y.data=_.replace?D:{...y.data,...D}},T=m=>or(m,e.nodes),I=m=>{const p=or(m,e.edges);return Po(e.connectionLookup,n.value,p),p},z=(m,p,_={replace:!1})=>{const y=u(m);if(!y)return;const D=typeof p=="function"?p(y):p;_.replace?e.nodes.splice(e.nodes.indexOf(y),1,D):Object.assign(y,D)},L=(m,p,_={replace:!1})=>{const y=u(m);if(!y)return;const D=typeof p=="function"?p(y):p;y.data=_.replace?D:{...y.data,...D}},W=(m,p,_=!1)=>{_?e.connectionClickStartHandle=m:e.connectionStartHandle=m,e.connectionEndHandle=null,e.connectionStatus=null,p&&(e.connectionPosition=p)},P=(m,p=null,_=null)=>{e.connectionStartHandle&&(e.connectionPosition=m,e.connectionEndHandle=p,e.connectionStatus=_)},Y=(m,p)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,p?e.connectionClickStartHandle=null:e.connectionStartHandle=null},X=m=>{const p=Od(m),_=p?null:Kt(m)?m:u(m.id);return!p&&!_?[null,null,p]:[p?m:to(_),_,p]},ne=(m,p=!0,_=e.nodes)=>{const[y,D,K]=X(m);if(!y)return[];const q=[];for(const Q of _||e.nodes){if(!K&&(Q.id===D.id||!Q.computedPosition))continue;const ee=to(Q),ae=no(ee,y);(p&&ae>0||ae>=ee.width*ee.height||ae>=Number(y.width)*Number(y.height))&&q.push(Q)}return q},ie=(m,p,_=!0)=>{const[y]=X(m);if(!y)return!1;const D=no(y,p);return _&&D>0||D>=Number(y.width)*Number(y.height)},se=m=>{const{viewport:p,dimensions:_,d3Zoom:y,d3Selection:D,translateExtent:K}=e;if(!y||!D||!m.x&&!m.y)return!1;const q=Ot.translate(p.x+m.x,p.y+m.y).scale(p.zoom),Q=[[0,0],[_.width,_.height]],ee=y.constrain()(q,Q,K),ae=e.viewport.x!==ee.x||e.viewport.y!==ee.y||e.viewport.zoom!==ee.k;return y.transform(D,ee),ae},fe=m=>{const p=m instanceof Function?m(e):m,_=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];be(p.defaultEdgeOptions)&&(e.defaultEdgeOptions=p.defaultEdgeOptions);const y=p.modelValue||p.nodes||p.edges?[]:void 0;y&&(p.modelValue&&y.push(...p.modelValue),p.nodes&&y.push(...p.nodes),p.edges&&y.push(...p.edges),M(y));const D=()=>{be(p.maxZoom)&&B(p.maxZoom),be(p.minZoom)&&C(p.minZoom),be(p.translateExtent)&&H(p.translateExtent)};for(const K of Object.keys(p)){const q=K,Q=p[q];![...Sf,..._].includes(q)&&be(Q)&&(e[q]=Q)}Lo(()=>e.d3Zoom).not.toBeNull().then(D),e.initialized||(e.initialized=!0)};return{updateNodePositions:d,updateNodeDimensions:h,setElements:M,setNodes:R,setEdges:F,addNodes:Z,addEdges:f,removeNodes:N,removeEdges:v,findNode:u,findEdge:c,updateEdge:k,updateEdgeData:S,updateNode:z,updateNodeData:L,applyEdgeChanges:I,applyNodeChanges:T,addSelectedElements:E,addSelectedNodes:x,addSelectedEdges:$,setMinZoom:C,setMaxZoom:B,setTranslateExtent:H,setNodeExtent:O,setPaneClickDistance:V,removeSelectedElements:w,removeSelectedNodes:b,removeSelectedEdges:A,startConnection:W,updateConnection:P,endConnection:Y,setInteractive:J,setState:fe,getIntersectingNodes:ne,getIncomers:r,getOutgoers:s,getConnectedEdges:a,getHandleConnections:l,isNodeIntersecting:ie,panBy:se,fitView:m=>o.value.fitView(m),zoomIn:m=>o.value.zoomIn(m),zoomOut:m=>o.value.zoomOut(m),zoomTo:(m,p)=>o.value.zoomTo(m,p),setViewport:(m,p)=>o.value.setViewport(m,p),setTransform:(m,p)=>o.value.setTransform(m,p),getViewport:()=>o.value.getViewport(),getTransform:()=>o.value.getTransform(),setCenter:(m,p,_)=>o.value.setCenter(m,p,_),fitBounds:(m,p)=>o.value.fitBounds(m,p),project:m=>o.value.project(m),screenToFlowCoordinate:m=>o.value.screenToFlowCoordinate(m),flowToScreenCoordinate:m=>o.value.flowToScreenCoordinate(m),toObject:()=>{const m=[],p=[];for(const _ of e.nodes){const{computedPosition:y,handleBounds:D,selected:K,dimensions:q,isParent:Q,resizing:ee,dragging:ae,events:de,...he}=_;m.push(he)}for(const _ of e.edges){const{selected:y,sourceNode:D,targetNode:K,events:q,...Q}=_;p.push(Q)}return JSON.parse(JSON.stringify({nodes:m,edges:p,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:m=>new Promise(p=>{const{nodes:_,edges:y,position:D,zoom:K,viewport:q}=m;if(_&&R(_),y&&F(y),q?.x&&q?.y||D){const Q=q?.x||D[0],ee=q?.y||D[1],ae=q?.zoom||K||e.viewport.zoom;return Lo(()=>o.value.viewportInitialized).toBe(!0).then(()=>{o.value.setViewport({x:Q,y:ee,zoom:ae}).then(()=>{p(!0)})})}else p(!0)}),updateNodeInternals:i,viewportHelper:o,$reset:()=>{const m=Xs();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const p=Ot.translate(m.defaultViewport.x??0,m.defaultViewport.y??0).scale(Nt(m.defaultViewport.zoom??1,m.minZoom,m.maxZoom)),_=e.viewportRef.getBoundingClientRect(),y=[[0,0],[_.width,_.height]],D=e.d3Zoom.constrain()(p,y,m.translateExtent);e.d3Zoom.transform(e.d3Selection,D)}fe(m)},$destroy:()=>{}}}const Mf=["data-id","data-handleid","data-nodeid","data-handlepos"],Cf={name:"Handle",compatConfig:{MODE:3}},io=ye({...Cf,props:{id:{default:null},type:{},position:{default:()=>j.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:t}){const n=Ma(e,["position","connectable","connectableStart","connectableEnd","id"]),o=ge(()=>n.type??"source"),i=ge(()=>n.isValidConnection??null),{id:r,connectionStartHandle:s,connectionClickStartHandle:a,connectionEndHandle:l,vueFlowRef:u,nodesConnectable:c,noDragClassName:d,noPanClassName:h}=we(),{id:g,node:x,nodeEl:$,connectedEdges:E}=Ls(),b=$e(),A=ge(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),w=ge(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),C=ge(()=>{var F,M,Z,f,N,v;return((F=s.value)==null?void 0:F.nodeId)===g&&((M=s.value)==null?void 0:M.id)===e.id&&((Z=s.value)==null?void 0:Z.type)===o.value||((f=l.value)==null?void 0:f.nodeId)===g&&((N=l.value)==null?void 0:N.id)===e.id&&((v=l.value)==null?void 0:v.type)===o.value}),B=ge(()=>{var F,M,Z;return((F=a.value)==null?void 0:F.nodeId)===g&&((M=a.value)==null?void 0:M.id)===e.id&&((Z=a.value)==null?void 0:Z.type)===o.value}),{handlePointerDown:H,handleClick:O}=Fs({nodeId:g,handleId:e.id,isValidConnection:i,type:o}),V=oe(()=>typeof e.connectable=="string"&&e.connectable==="single"?!E.value.some(F=>{const M=F[`${o.value}Handle`];return F[o.value]!==g?!1:M?M===e.id:!0}):typeof e.connectable=="number"?E.value.filter(F=>{const M=F[`${o.value}Handle`];return F[o.value]!==g?!1:M?M===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(x,E.value):be(e.connectable)?e.connectable:c.value);ht(()=>{var F;if(!x.dimensions.width||!x.dimensions.height)return;const M=(F=x.handleBounds[o.value])==null?void 0:F.find(T=>T.id===e.id);if(!u.value||M)return;const Z=u.value.querySelector(".vue-flow__transformationpane");if(!$.value||!b.value||!Z||!e.id)return;const f=$.value.getBoundingClientRect(),N=b.value.getBoundingClientRect(),v=window.getComputedStyle(Z),{m22:k}=new window.DOMMatrixReadOnly(v.transform),S={id:e.id,position:e.position,x:(N.left-f.left)/k,y:(N.top-f.top)/k,type:o.value,nodeId:g,...mo(b.value)};x.handleBounds[o.value]=[...x.handleBounds[o.value]??[],S]});function J(F){const M=Ei(F);V.value&&A.value&&(M&&F.button===0||!M)&&H(F)}function R(F){!g||!a.value&&!A.value||V.value&&O(F)}return t({handleClick:O,handlePointerDown:H,onClick:R,onPointerDown:J}),(F,M)=>(te(),le("div",{ref_key:"handle",ref:b,"data-id":`${U(r)}-${U(g)}-${e.id}-${o.value}`,"data-handleid":e.id,"data-nodeid":U(g),"data-handlepos":F.position,class:ct(["vue-flow__handle",[`vue-flow__handle-${F.position}`,`vue-flow__handle-${e.id}`,U(d),U(h),o.value,{connectable:V.value,connecting:B.value,connectablestart:A.value,connectableend:w.value,connectionindicator:V.value&&(A.value&&!C.value||w.value&&C.value)}]]),onMousedown:J,onTouchstartPassive:J,onClick:R},[_e(F.$slots,"default",{id:F.id})],42,Mf))}}),_o=function({sourcePosition:e=j.Bottom,targetPosition:t=j.Top,label:n,connectable:o=!0,isValidTargetPos:i,isValidSourcePos:r,data:s}){const a=s.label??n;return[ve(io,{type:"target",position:t,connectable:o,isValidConnection:i}),typeof a!="string"&&a?ve(a):ve(Ie,[a]),ve(io,{type:"source",position:e,connectable:o,isValidConnection:r})]};_o.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"];_o.inheritAttrs=!1;_o.compatConfig={MODE:3};const kf=_o,$o=function({targetPosition:e=j.Top,label:t,connectable:n=!0,isValidTargetPos:o,data:i}){const r=i.label??t;return[ve(io,{type:"target",position:e,connectable:n,isValidConnection:o}),typeof r!="string"&&r?ve(r):ve(Ie,[r])]};$o.props=["targetPosition","label","isValidTargetPos","connectable","data"];$o.inheritAttrs=!1;$o.compatConfig={MODE:3};const If=$o,bo=function({sourcePosition:e=j.Bottom,label:t,connectable:n=!0,isValidSourcePos:o,data:i}){const r=i.label??t;return[typeof r!="string"&&r?ve(r):ve(Ie,[r]),ve(io,{type:"source",position:e,connectable:n,isValidConnection:o})]};bo.props=["sourcePosition","label","isValidSourcePos","connectable","data"];bo.inheritAttrs=!1;bo.compatConfig={MODE:3};const Tf=bo,Af=["transform"],Df=["width","height","x","y","rx","ry"],zf=["y"],Pf={name:"EdgeText",compatConfig:{MODE:3}},Bf=ye({...Pf,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const t=$e({x:0,y:0,width:0,height:0}),n=$e(null),o=oe(()=>`translate(${e.x-t.value.width/2} ${e.y-t.value.height/2})`);ht(i),me([()=>e.x,()=>e.y,n,()=>e.label],i);function i(){if(!n.value)return;const r=n.value.getBBox();(r.width!==t.value.width||r.height!==t.value.height)&&(t.value=r)}return(r,s)=>(te(),le("g",{transform:o.value,class:"vue-flow__edge-textwrapper"},[r.labelShowBg?(te(),le("rect",{key:0,class:"vue-flow__edge-textbg",width:`${t.value.width+2*r.labelBgPadding[0]}px`,height:`${t.value.height+2*r.labelBgPadding[1]}px`,x:-r.labelBgPadding[0],y:-r.labelBgPadding[1],style:Oe(r.labelBgStyle),rx:r.labelBgBorderRadius,ry:r.labelBgBorderRadius},null,12,Df)):xe("",!0),Me("text",Zn(r.$attrs,{ref_key:"el",ref:n,class:"vue-flow__edge-text",y:t.value.height/2,dy:"0.3em",style:r.labelStyle}),[_e(r.$slots,"default",{},()=>[typeof r.label!="string"?(te(),Ne(gt(r.label),{key:0})):(te(),le(Ie,{key:1},[za(Un(r.label),1)],64))])],16,zf)],8,Af))}}),Of=["id","d","marker-end","marker-start"],Rf=["d","stroke-width"],Vf={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},xo=ye({...Vf,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:t}){const n=$e(null),o=$e(null),i=$e(null),r=hi();return t({pathEl:n,interactionEl:o,labelEl:i}),(s,a)=>(te(),le(Ie,null,[Me("path",Zn(U(r),{id:s.id,ref_key:"pathEl",ref:n,d:s.path,class:"vue-flow__edge-path","marker-end":s.markerEnd,"marker-start":s.markerStart}),null,16,Of),s.interactionWidth?(te(),le("path",{key:0,ref_key:"interactionEl",ref:o,fill:"none",d:s.path,"stroke-width":s.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,Rf)):xe("",!0),s.label&&s.labelX&&s.labelY?(te(),Ne(Bf,{key:1,ref_key:"labelEl",ref:i,x:s.labelX,y:s.labelY,label:s.label,"label-show-bg":s.labelShowBg,"label-bg-style":s.labelBgStyle,"label-bg-padding":s.labelBgPadding,"label-bg-border-radius":s.labelBgBorderRadius,"label-style":s.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):xe("",!0)],64))}});function Gs({sourceX:e,sourceY:t,targetX:n,targetY:o}){const i=Math.abs(n-e)/2,r=n<e?n+i:n-i,s=Math.abs(o-t)/2,a=o<t?o+s:o-s;return[r,a,i,s]}function Us({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:i,sourceControlY:r,targetControlX:s,targetControlY:a}){const l=e*.125+i*.375+s*.375+n*.125,u=t*.125+r*.375+a*.375+o*.125,c=Math.abs(l-e),d=Math.abs(u-t);return[l,u,c,d]}function Cn(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function mr({pos:e,x1:t,y1:n,x2:o,y2:i,c:r}){let s,a;switch(e){case j.Left:s=t-Cn(t-o,r),a=n;break;case j.Right:s=t+Cn(o-t,r),a=n;break;case j.Top:s=t,a=n-Cn(n-i,r);break;case j.Bottom:s=t,a=n+Cn(i-n,r);break}return[s,a]}function Zs(e){const{sourceX:t,sourceY:n,sourcePosition:o=j.Bottom,targetX:i,targetY:r,targetPosition:s=j.Top,curvature:a=.25}=e,[l,u]=mr({pos:o,x1:t,y1:n,x2:i,y2:r,c:a}),[c,d]=mr({pos:s,x1:i,y1:r,x2:t,y2:n,c:a}),[h,g,x,$]=Us({sourceX:t,sourceY:n,targetX:i,targetY:r,sourceControlX:l,sourceControlY:u,targetControlX:c,targetControlY:d});return[`M${t},${n} C${l},${u} ${c},${d} ${i},${r}`,h,g,x,$]}function yr({pos:e,x1:t,y1:n,x2:o,y2:i}){let r,s;switch(e){case j.Left:case j.Right:r=.5*(t+o),s=n;break;case j.Top:case j.Bottom:r=t,s=.5*(n+i);break}return[r,s]}function Ws(e){const{sourceX:t,sourceY:n,sourcePosition:o=j.Bottom,targetX:i,targetY:r,targetPosition:s=j.Top}=e,[a,l]=yr({pos:o,x1:t,y1:n,x2:i,y2:r}),[u,c]=yr({pos:s,x1:i,y1:r,x2:t,y2:n}),[d,h,g,x]=Us({sourceX:t,sourceY:n,targetX:i,targetY:r,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${t},${n} C${a},${l} ${u},${c} ${i},${r}`,d,h,g,x]}const wr={[j.Left]:{x:-1,y:0},[j.Right]:{x:1,y:0},[j.Top]:{x:0,y:-1},[j.Bottom]:{x:0,y:1}};function Hf({source:e,sourcePosition:t=j.Bottom,target:n}){return t===j.Left||t===j.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}}function _r(e,t){return Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)}function Ff({source:e,sourcePosition:t=j.Bottom,target:n,targetPosition:o=j.Top,center:i,offset:r}){const s=wr[t],a=wr[o],l={x:e.x+s.x*r,y:e.y+s.y*r},u={x:n.x+a.x*r,y:n.y+a.y*r},c=Hf({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",h=c[d];let g,x,$;const E={x:0,y:0},b={x:0,y:0},[A,w,C,B]=Gs({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){x=i.x??A,$=i.y??w;const O=[{x,y:l.y},{x,y:u.y}],V=[{x:l.x,y:$},{x:u.x,y:$}];s[d]===h?g=d==="x"?O:V:g=d==="x"?V:O}else{const O=[{x:l.x,y:u.y}],V=[{x:u.x,y:l.y}];if(d==="x"?g=s.x===h?V:O:g=s.y===h?O:V,t===o){const Z=Math.abs(e[d]-n[d]);if(Z<=r){const f=Math.min(r-1,r-Z);s[d]===h?E[d]=(l[d]>e[d]?-1:1)*f:b[d]=(u[d]>n[d]?-1:1)*f}}if(t!==o){const Z=d==="x"?"y":"x",f=s[d]===a[Z],N=l[Z]>u[Z],v=l[Z]<u[Z];(s[d]===1&&(!f&&N||f&&v)||s[d]!==1&&(!f&&v||f&&N))&&(g=d==="x"?O:V)}const J={x:l.x+E.x,y:l.y+E.y},R={x:u.x+b.x,y:u.y+b.y},F=Math.max(Math.abs(J.x-g[0].x),Math.abs(R.x-g[0].x)),M=Math.max(Math.abs(J.y-g[0].y),Math.abs(R.y-g[0].y));F>=M?(x=(J.x+R.x)/2,$=g[0].y):(x=g[0].x,$=(J.y+R.y)/2)}return[[e,{x:l.x+E.x,y:l.y+E.y},...g,{x:u.x+b.x,y:u.y+b.y},n],x,$,C,B]}function Lf(e,t,n,o){const i=Math.min(_r(e,t)/2,_r(t,n)/2,o),{x:r,y:s}=t;if(e.x===r&&r===n.x||e.y===s&&s===n.y)return`L${r} ${s}`;if(e.y===s){const u=e.x<n.x?-1:1,c=e.y<n.y?1:-1;return`L ${r+i*u},${s}Q ${r},${s} ${r},${s+i*c}`}const a=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${r},${s+i*l}Q ${r},${s} ${r+i*a},${s}`}function ni(e){const{sourceX:t,sourceY:n,sourcePosition:o=j.Bottom,targetX:i,targetY:r,targetPosition:s=j.Top,borderRadius:a=5,centerX:l,centerY:u,offset:c=20}=e,[d,h,g,x,$]=Ff({source:{x:t,y:n},sourcePosition:o,target:{x:i,y:r},targetPosition:s,center:{x:l,y:u},offset:c});return[d.reduce((b,A,w)=>{let C;return w>0&&w<d.length-1?C=Lf(d[w-1],A,d[w+1],a):C=`${w===0?"M":"L"}${A.x} ${A.y}`,b+=C,b},""),h,g,x,$]}function Yf(e){const{sourceX:t,sourceY:n,targetX:o,targetY:i}=e,[r,s,a,l]=Gs({sourceX:t,sourceY:n,targetX:o,targetY:i});return[`M ${t},${n}L ${o},${i}`,r,s,a,l]}const Xf=ye({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,i]=Yf(e);return ve(xo,{path:n,labelX:o,labelY:i,...t,...e})}}}),Gf=Xf,Uf=ye({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,i]=ni({...e,sourcePosition:e.sourcePosition??j.Bottom,targetPosition:e.targetPosition??j.Top});return ve(xo,{path:n,labelX:o,labelY:i,...t,...e})}}}),Ks=Uf,Zf=ye({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:t}){return()=>ve(Ks,{...e,...t,borderRadius:0})}}),Wf=Zf,Kf=ye({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,i]=Zs({...e,sourcePosition:e.sourcePosition??j.Bottom,targetPosition:e.targetPosition??j.Top});return ve(xo,{path:n,labelX:o,labelY:i,...t,...e})}}}),qf=Kf,Qf=ye({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:t}){return()=>{const[n,o,i]=Ws({...e,sourcePosition:e.sourcePosition??j.Bottom,targetPosition:e.targetPosition??j.Top});return ve(xo,{path:n,labelX:o,labelY:i,...t,...e})}}}),Jf=Qf,jf={input:Tf,default:kf,output:If},eh={default:qf,straight:Gf,step:Wf,smoothstep:Ks,simplebezier:Jf};function th(e,t,n){const o=oe(()=>$=>t.value.get($)),i=oe(()=>$=>n.value.get($)),r=oe(()=>{const $={...eh,...e.edgeTypes},E=Object.keys($);for(const b of e.edges)b.type&&!E.includes(b.type)&&($[b.type]=b.type);return $}),s=oe(()=>{const $={...jf,...e.nodeTypes},E=Object.keys($);for(const b of e.nodes)b.type&&!E.includes(b.type)&&($[b.type]=b.type);return $}),a=oe(()=>e.onlyRenderVisibleElements?Ts(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),l=oe(()=>{if(e.onlyRenderVisibleElements){const $=[];for(const E of e.edges){const b=t.value.get(E.source),A=t.value.get(E.target);qd({sourcePos:b.computedPosition||{x:0,y:0},targetPos:A.computedPosition||{x:0,y:0},sourceWidth:b.dimensions.width,sourceHeight:b.dimensions.height,targetWidth:A.dimensions.width,targetHeight:A.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&$.push(E)}return $}return e.edges}),u=oe(()=>[...a.value,...l.value]),c=oe(()=>{const $=[];for(const E of e.nodes)E.selected&&$.push(E);return $}),d=oe(()=>{const $=[];for(const E of e.edges)E.selected&&$.push(E);return $}),h=oe(()=>[...c.value,...d.value]),g=oe(()=>{const $=[];for(const E of e.nodes)E.dimensions.width&&E.dimensions.height&&E.handleBounds!==void 0&&$.push(E);return $}),x=oe(()=>a.value.length>0&&g.value.length===a.value.length);return{getNode:o,getEdge:i,getElements:u,getEdgeTypes:r,getNodeTypes:s,getEdges:l,getNodes:a,getSelectedElements:h,getSelectedNodes:c,getSelectedEdges:d,getNodesInitialized:g,areNodesInitialized:x}}class mt{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var t;const n=(t=Ft())==null?void 0:t.appContext.app,o=n?.config.globalProperties.$vueFlowStorage??mt.instance;return mt.instance=o??new mt,n&&(n.config.globalProperties.$vueFlowStorage=mt.instance),mt.instance}set(t,n){return this.flows.set(t,n)}get(t){return this.flows.get(t)}remove(t){return this.flows.delete(t)}create(t,n){const o=Xs(),i=ka(o),r={};for(const[h,g]of Object.entries(i.hooks)){const x=`on${h.charAt(0).toUpperCase()+h.slice(1)}`;r[x]=g.on}const s={};for(const[h,g]of Object.entries(i.hooks))s[h]=g.trigger;const a=oe(()=>{const h=new Map;for(const g of i.nodes)h.set(g.id,g);return h}),l=oe(()=>{const h=new Map;for(const g of i.edges)h.set(g.id,g);return h}),u=th(i,a,l),c=Nf(i,a,l);c.setState({...i,...n});const d={...r,...u,...c,...Ua(i),nodeLookup:a,edgeLookup:l,emits:s,id:t,vueFlowVersion:"1.47.0",$destroy:()=>{this.remove(t)}};return this.set(t,d),d}getId(){return`vue-flow-${this.currentId++}`}}function we(e){const t=mt.getInstance(),n=Hr(),o=typeof e=="object",i=o?e:{id:e},r=i.id,s=r??n?.vueFlowId;let a;if(n){const l=Ct(pr,null);typeof l<"u"&&l!==null&&(!s||l.id===s)&&(a=l)}if(a||s&&(a=t.get(s)),!a||s&&a.id!==s){const l=r??t.getId(),u=t.create(l,i);a=u,(n??Fr(!0)).run(()=>{me(u.applyDefault,(d,h,g)=>{const x=E=>{u.applyNodeChanges(E)},$=E=>{u.applyEdgeChanges(E)};d?(u.onNodesChange(x),u.onEdgesChange($)):(u.hooks.value.nodesChange.off(x),u.hooks.value.edgesChange.off($)),g(()=>{u.hooks.value.nodesChange.off(x),u.hooks.value.edgesChange.off($)})},{immediate:!0}),tn(()=>{if(a){const d=t.get(a.id);d?d.$destroy():mn(`No store instance found for id ${a.id} in storage.`)}})})}else o&&a.setState(i);if(n&&(xt(pr,a),n.vueFlowId=a.id),o){const l=Ft();l?.type.name!=="VueFlow"&&a.emits.error(new Se(Ee.USEVUEFLOW_OPTIONS))}return a}function nh(e){const{emits:t,dimensions:n}=we();let o;ht(()=>{const i=()=>{var r,s;if(!e.value||!(((s=(r=e.value).checkVisibility)==null?void 0:s.call(r))??!0))return;const a=mo(e.value);(a.width===0||a.height===0)&&t.error(new Se(Ee.MISSING_VIEWPORT_DIMENSIONS)),n.value={width:a.width||500,height:a.height||500}};i(),window.addEventListener("resize",i),e.value&&(o=new ResizeObserver(()=>i()),o.observe(e.value)),Yr(()=>{window.removeEventListener("resize",i),o&&e.value&&o.unobserve(e.value)})})}const oh={name:"UserSelection",compatConfig:{MODE:3}},ih=ye({...oh,props:{userSelectionRect:{}},setup(e){return(t,n)=>(te(),le("div",{class:"vue-flow__selection vue-flow__container",style:Oe({width:`${t.userSelectionRect.width}px`,height:`${t.userSelectionRect.height}px`,transform:`translate(${t.userSelectionRect.x}px, ${t.userSelectionRect.y}px)`})},null,4))}}),rh=["tabIndex"],sh={name:"NodesSelection",compatConfig:{MODE:3}},ah=ye({...sh,setup(e){const{emits:t,viewport:n,getSelectedNodes:o,noPanClassName:i,disableKeyboardA11y:r,userSelectionActive:s}=we(),a=Ys(),l=$e(null),u=Hs({el:l,onStart(x){t.selectionDragStart(x),t.nodeDragStart(x)},onDrag(x){t.selectionDrag(x),t.nodeDrag(x)},onStop(x){t.selectionDragStop(x),t.nodeDragStop(x)}});ht(()=>{var x;r.value||(x=l.value)==null||x.focus({preventScroll:!0})});const c=oe(()=>bi(o.value)),d=oe(()=>({width:`${c.value.width}px`,height:`${c.value.height}px`,top:`${c.value.y}px`,left:`${c.value.x}px`}));function h(x){t.selectionContextMenu({event:x,nodes:o.value})}function g(x){r||Dt[x.key]&&(x.preventDefault(),a({x:Dt[x.key].x,y:Dt[x.key].y},x.shiftKey))}return(x,$)=>!U(s)&&c.value.width&&c.value.height?(te(),le("div",{key:0,class:ct(["vue-flow__nodesselection vue-flow__container",U(i)]),style:Oe({transform:`translate(${U(n).x}px,${U(n).y}px) scale(${U(n).zoom})`})},[Me("div",{ref_key:"el",ref:l,class:ct([{dragging:U(u)},"vue-flow__nodesselection-rect"]),style:Oe(d.value),tabIndex:U(r)?void 0:-1,onContextmenu:h,onKeydown:g},null,46,rh)],6)):xe("",!0)}});function lh(e,t){return{x:e.clientX-t.left,y:e.clientY-t.top}}const uh={name:"Pane",compatConfig:{MODE:3}},ch=ye({...uh,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:t,nodes:n,viewport:o,emits:i,userSelectionActive:r,removeSelectedElements:s,userSelectionRect:a,elementsSelectable:l,nodesSelectionActive:u,getSelectedEdges:c,getSelectedNodes:d,removeNodes:h,removeEdges:g,selectionMode:x,deleteKeyCode:$,multiSelectionKeyCode:E,multiSelectionActive:b,edgeLookup:A,nodeLookup:w,connectionLookup:C,defaultEdgeOptions:B,connectionStartHandle:H}=we(),O=$e(null),V=$e(new Set),J=$e(new Set),R=$e(),F=ge(()=>l.value&&(e.isSelecting||r.value)),M=ge(()=>H.value!==null);let Z=!1,f=!1;const N=en($,{actInsideInputWithModifier:!1}),v=en(E);me(N,P=>{P&&(h(d.value),g(c.value),u.value=!1)}),me(v,P=>{b.value=P});function k(P,Y){return X=>{X.target===Y&&P?.(X)}}function S(P){if(Z||M.value){Z=!1;return}i.paneClick(P),s(),u.value=!1}function T(P){P.preventDefault(),P.stopPropagation(),i.paneContextMenu(P)}function I(P){i.paneScroll(P)}function z(P){var Y,X,ne;if(R.value=(Y=t.value)==null?void 0:Y.getBoundingClientRect(),!l.value||!e.isSelecting||P.button!==0||P.target!==O.value||!R.value)return;(ne=(X=P.target)==null?void 0:X.setPointerCapture)==null||ne.call(X,P.pointerId);const{x:ie,y:se}=lh(P,R.value);f=!0,Z=!1,s(),a.value={width:0,height:0,startX:ie,startY:se,x:ie,y:se},i.selectionStart(P)}function L(P){var Y;if(!R.value||!a.value)return;Z=!0;const{x:X,y:ne}=Ye(P,R.value),{startX:ie=0,startY:se=0}=a.value,fe={startX:ie,startY:se,x:X<ie?X:ie,y:ne<se?ne:se,width:Math.abs(X-ie),height:Math.abs(ne-se)},pe=V.value,re=J.value;V.value=new Set(Ts(n.value,fe,o.value,x.value===$i.Partial,!0).map(m=>m.id)),J.value=new Set;const ue=((Y=B.value)==null?void 0:Y.selectable)??!0;for(const m of V.value){const p=C.value.get(m);if(p)for(const{edgeId:_}of p.values()){const y=A.value.get(_);y&&(y.selectable??ue)&&J.value.add(_)}}if(!vr(pe,V.value)){const m=at(w.value,V.value,!0);i.nodesChange(m)}if(!vr(re,J.value)){const m=at(A.value,J.value);i.edgesChange(m)}a.value=fe,r.value=!0,u.value=!1}function W(P){var Y;P.button!==0||!f||((Y=P.target)==null||Y.releasePointerCapture(P.pointerId),!r.value&&a.value&&P.target===O.value&&S(P),r.value=!1,a.value=null,u.value=V.value.size>0,i.selectionEnd(P),e.selectionKeyPressed&&(Z=!1),f=!1)}return(P,Y)=>(te(),le("div",{ref_key:"container",ref:O,class:ct(["vue-flow__pane vue-flow__container",{selection:P.isSelecting}]),onClick:Y[0]||(Y[0]=X=>F.value?void 0:k(S,O.value)(X)),onContextmenu:Y[1]||(Y[1]=X=>k(T,O.value)(X)),onWheelPassive:Y[2]||(Y[2]=X=>k(I,O.value)(X)),onPointerenter:Y[3]||(Y[3]=X=>F.value?void 0:U(i).paneMouseEnter(X)),onPointerdown:Y[4]||(Y[4]=X=>F.value?z(X):U(i).paneMouseMove(X)),onPointermove:Y[5]||(Y[5]=X=>F.value?L(X):U(i).paneMouseMove(X)),onPointerup:Y[6]||(Y[6]=X=>F.value?W(X):void 0),onPointerleave:Y[7]||(Y[7]=X=>U(i).paneMouseLeave(X))},[_e(P.$slots,"default"),U(r)&&U(a)?(te(),Ne(ih,{key:0,"user-selection-rect":U(a)},null,8,["user-selection-rect"])):xe("",!0),U(u)&&U(d).length?(te(),Ne(ah,{key:1})):xe("",!0)],34))}}),dh={name:"Transform",compatConfig:{MODE:3}},fh=ye({...dh,setup(e){const{viewport:t,fitViewOnInit:n,fitViewOnInitDone:o}=we(),i=oe(()=>n.value?!o.value:!1),r=oe(()=>`translate(${t.value.x}px,${t.value.y}px) scale(${t.value.zoom})`);return(s,a)=>(te(),le("div",{class:"vue-flow__transformationpane vue-flow__container",style:Oe({transform:r.value,opacity:i.value?0:void 0})},[_e(s.$slots,"default")],4))}}),hh={name:"Viewport",compatConfig:{MODE:3}},gh=ye({...hh,setup(e){const{minZoom:t,maxZoom:n,defaultViewport:o,translateExtent:i,zoomActivationKeyCode:r,selectionKeyCode:s,panActivationKeyCode:a,panOnScroll:l,panOnScrollMode:u,panOnScrollSpeed:c,panOnDrag:d,zoomOnDoubleClick:h,zoomOnPinch:g,zoomOnScroll:x,preventScrolling:$,noWheelClassName:E,noPanClassName:b,emits:A,connectionStartHandle:w,userSelectionActive:C,paneDragging:B,d3Zoom:H,d3Selection:O,d3ZoomHandler:V,viewport:J,viewportRef:R,paneClickDistance:F}=we();nh(R);const M=Gn(!1),Z=Gn(!1);let f=null,N=!1,v=0,k={x:0,y:0,zoom:0};const S=en(a),T=en(s),I=en(r),z=ge(()=>(!T.value||T.value&&s.value===!0)&&(S.value||d.value)),L=ge(()=>S.value||l.value),W=ge(()=>T.value||s.value===!0&&z.value!==!0),P=ge(()=>w.value!==null);ht(()=>{if(!R.value){mn("Viewport element is missing");return}const se=R.value,fe=se.getBoundingClientRect(),pe=Id().clickDistance(F.value).scaleExtent([t.value,n.value]).translateExtent(i.value),re=ze(se).call(pe),ue=re.on("wheel.zoom"),m=Ot.translate(o.value.x??0,o.value.y??0).scale(Nt(o.value.zoom??1,t.value,n.value)),p=[[0,0],[fe.width,fe.height]],_=pe.constrain()(m,p,i.value);pe.transform(re,_),pe.wheelDelta(jo),H.value=pe,O.value=re,V.value=ue,J.value={x:_.x,y:_.y,zoom:_.k},pe.on("start",y=>{var D;if(!y.sourceEvent)return null;v=y.sourceEvent.button,M.value=!0;const K=ne(y.transform);((D=y.sourceEvent)==null?void 0:D.type)==="mousedown"&&(B.value=!0),k=K,A.viewportChangeStart(K),A.moveStart({event:y,flowTransform:K})}),pe.on("end",y=>{if(!y.sourceEvent)return null;if(M.value=!1,B.value=!1,Y(z.value,v??0)&&!N&&A.paneContextMenu(y.sourceEvent),N=!1,X(k,y.transform)){const D=ne(y.transform);k=D,A.viewportChangeEnd(D),A.moveEnd({event:y,flowTransform:D})}}),pe.filter(y=>{var D;const K=I.value||x.value,q=g.value&&y.ctrlKey,Q=y.button,ee=y.type==="wheel";if(Q===1&&y.type==="mousedown"&&(ie(y,"vue-flow__node")||ie(y,"vue-flow__edge")))return!0;if(!z.value&&!K&&!L.value&&!h.value&&!g.value||C.value||P.value&&!ee||!h.value&&y.type==="dblclick"||ie(y,E.value)&&ee||ie(y,b.value)&&(!ee||L.value&&ee&&!I.value)||!g.value&&y.ctrlKey&&ee||!K&&!L.value&&!q&&ee)return!1;if(!g&&y.type==="touchstart"&&((D=y.touches)==null?void 0:D.length)>1)return y.preventDefault(),!1;if(!z.value&&(y.type==="mousedown"||y.type==="touchstart")||s.value===!0&&Array.isArray(d.value)&&d.value.includes(0)&&Q===0||Array.isArray(d.value)&&!d.value.includes(Q)&&(y.type==="mousedown"||y.type==="touchstart"))return!1;const ae=Array.isArray(d.value)&&d.value.includes(Q)||s.value===!0&&Array.isArray(d.value)&&!d.value.includes(0)||!Q||Q<=1;return(!y.ctrlKey||S.value||ee)&&ae}),me([C,z],()=>{C.value&&!M.value?pe.on("zoom",null):C.value||pe.on("zoom",y=>{J.value={x:y.transform.x,y:y.transform.y,zoom:y.transform.k};const D=ne(y.transform);N=Y(z.value,v??0),A.viewportChange(D),A.move({event:y,flowTransform:D})})},{immediate:!0}),me([C,L,u,I,g,$,E],()=>{L.value&&!I.value&&!C.value?re.on("wheel.zoom",y=>{if(ie(y,E.value))return!1;const D=I.value||x.value,K=g.value&&y.ctrlKey;if(!(!$.value||L.value||D||K))return!1;y.preventDefault(),y.stopImmediatePropagation();const Q=re.property("__zoom").k||1,ee=cn();if(!S.value&&y.ctrlKey&&g.value&&ee){const Lt=Fe(y),Sa=jo(y),Na=Q*2**Sa;pe.scaleTo(re,Na,Lt,y);return}const ae=y.deltaMode===1?20:1;let de=u.value===jt.Vertical?0:y.deltaX*ae,he=u.value===jt.Horizontal?0:y.deltaY*ae;!ee&&y.shiftKey&&u.value!==jt.Vertical&&!de&&he&&(de=he,he=0),pe.translateBy(re,-(de/Q)*c.value,-(he/Q)*c.value);const He=ne(re.property("__zoom"));f&&clearTimeout(f),Z.value?(A.move({event:y,flowTransform:He}),A.viewportChange(He),f=setTimeout(()=>{A.moveEnd({event:y,flowTransform:He}),A.viewportChangeEnd(He),Z.value=!1},150)):(Z.value=!0,A.moveStart({event:y,flowTransform:He}),A.viewportChangeStart(He))},{passive:!1}):typeof ue<"u"&&re.on("wheel.zoom",function(y,D){const K=!$.value&&y.type==="wheel"&&!y.ctrlKey,q=I.value||x.value,Q=g.value&&y.ctrlKey;if(!q&&!l.value&&!Q&&y.type==="wheel"||K||ie(y,E.value))return null;y.preventDefault(),ue.call(this,y,D)},{passive:!1})},{immediate:!0})});function Y(se,fe){return fe===2&&Array.isArray(se)&&se.includes(2)}function X(se,fe){return se.x!==fe.x&&!Number.isNaN(fe.x)||se.y!==fe.y&&!Number.isNaN(fe.y)||se.zoom!==fe.k&&!Number.isNaN(fe.k)}function ne(se){return{x:se.x,y:se.y,zoom:se.k}}function ie(se,fe){return se.target.closest(`.${fe}`)}return(se,fe)=>(te(),le("div",{ref_key:"viewportRef",ref:R,class:"vue-flow__viewport vue-flow__container"},[De(ch,{"is-selecting":W.value,"selection-key-pressed":U(T),class:ct({connecting:P.value,dragging:U(B),draggable:U(d)===!0||Array.isArray(U(d))&&U(d).includes(0)})},{default:qe(()=>[De(fh,null,{default:qe(()=>[_e(se.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),vh=["id"],ph=["id"],mh=["id"],yh={name:"A11yDescriptions",compatConfig:{MODE:3}},wh=ye({...yh,setup(e){const{id:t,disableKeyboardA11y:n,ariaLiveMessage:o}=we();return(i,r)=>(te(),le(Ie,null,[Me("div",{id:`${U(bs)}-${U(t)}`,style:{display:"none"}}," Press enter or space to select a node. "+Un(U(n)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,vh),Me("div",{id:`${U(xs)}-${U(t)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,ph),U(n)?xe("",!0):(te(),le("div",{key:0,id:`${U(Bd)}-${U(t)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},Un(U(o)),9,mh))],64))}});function _h(){const e=we();me(()=>e.viewportHelper.value.viewportInitialized,t=>{t&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function $h(e,t,n){return n===j.Left?e-t:n===j.Right?e+t:e}function bh(e,t,n){return n===j.Top?e-t:n===j.Bottom?e+t:e}const Si=function({radius:e=10,centerX:t=0,centerY:n=0,position:o=j.Top,type:i}){return ve("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:$h(t,e,o),cy:bh(n,e,o),r:e,stroke:"transparent",fill:"transparent"})};Si.props=["radius","centerX","centerY","position","type"];Si.compatConfig={MODE:3};const $r=Si,xh=ye({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:t,addSelectedEdges:n,connectionMode:o,edgeUpdaterRadius:i,emits:r,nodesSelectionActive:s,noPanClassName:a,getEdgeTypes:l,removeSelectedEdges:u,findEdge:c,findNode:d,isValidConnection:h,multiSelectionActive:g,disableKeyboardA11y:x,elementsSelectable:$,edgesUpdatable:E,edgesFocusable:b,hooks:A}=we(),w=oe(()=>c(e.id)),{emit:C,on:B}=hf(w.value,r),H=Ct(wo),O=Ft(),V=$e(!1),J=$e(!1),R=$e(""),F=$e(null),M=$e("source"),Z=$e(null),f=ge(()=>typeof w.value.selectable>"u"?$.value:w.value.selectable),N=ge(()=>typeof w.value.updatable>"u"?E.value:w.value.updatable),v=ge(()=>typeof w.value.focusable>"u"?b.value:w.value.focusable);xt(cf,e.id),xt(df,Z);const k=oe(()=>w.value.class instanceof Function?w.value.class(w.value):w.value.class),S=oe(()=>w.value.style instanceof Function?w.value.style(w.value):w.value.style),T=oe(()=>{const p=w.value.type||"default",_=H?.[`edge-${p}`];if(_)return _;let y=w.value.template??l.value[p];if(typeof y=="string"&&O){const D=Object.keys(O.appContext.components);D&&D.includes(p)&&(y=Xr(p,!1))}return y&&typeof y!="string"?y:(r.error(new Se(Ee.EDGE_TYPE_MISSING,y)),!1)}),{handlePointerDown:I}=Fs({nodeId:R,handleId:F,type:M,isValidConnection:h,edgeUpdaterType:M,onEdgeUpdate:W,onEdgeUpdateEnd:P});return()=>{const p=d(w.value.source),_=d(w.value.target),y="pathOptions"in w.value?w.value.pathOptions:{};if(!p&&!_)return r.error(new Se(Ee.EDGE_SOURCE_TARGET_MISSING,w.value.id,w.value.source,w.value.target)),null;if(!p)return r.error(new Se(Ee.EDGE_SOURCE_MISSING,w.value.id,w.value.source)),null;if(!_)return r.error(new Se(Ee.EDGE_TARGET_MISSING,w.value.id,w.value.target)),null;if(!w.value||w.value.hidden||p.hidden||_.hidden)return null;let D;o.value===dt.Strict?D=p.handleBounds.source:D=[...p.handleBounds.source||[],...p.handleBounds.target||[]];const K=ur(D,w.value.sourceHandle);let q;o.value===dt.Strict?q=_.handleBounds.target:q=[..._.handleBounds.target||[],..._.handleBounds.source||[]];const Q=ur(q,w.value.targetHandle),ee=K?.position||j.Bottom,ae=Q?.position||j.Top,{x:de,y:he}=Rt(p,K,ee),{x:He,y:Lt}=Rt(_,Q,ae);return w.value.sourceX=de,w.value.sourceY=he,w.value.targetX=He,w.value.targetY=Lt,ve("g",{ref:Z,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${T.value===!1?"default":w.value.type||"default"}`,a.value,k.value,{updating:V.value,selected:w.value.selected,animated:w.value.animated,inactive:!f.value&&!A.value.edgeClick.hasListeners()}],tabIndex:v.value?0:void 0,"aria-label":w.value.ariaLabel===null?void 0:w.value.ariaLabel??`Edge from ${w.value.source} to ${w.value.target}`,"aria-describedby":v.value?`${xs}-${t}`:void 0,"aria-roledescription":"edge",role:v.value?"group":"img",...w.value.domAttributes,onClick:X,onContextmenu:ne,onDblclick:ie,onMouseenter:se,onMousemove:fe,onMouseleave:pe,onKeyDown:v.value?m:void 0},[J.value?null:ve(T.value===!1?l.value.default:T.value,{id:e.id,sourceNode:p,targetNode:_,source:w.value.source,target:w.value.target,type:w.value.type,updatable:N.value,selected:w.value.selected,animated:w.value.animated,label:w.value.label,labelStyle:w.value.labelStyle,labelShowBg:w.value.labelShowBg,labelBgStyle:w.value.labelBgStyle,labelBgPadding:w.value.labelBgPadding,labelBgBorderRadius:w.value.labelBgBorderRadius,data:w.value.data,events:{...w.value.events,...B},style:S.value,markerStart:`url('#${un(w.value.markerStart,t)}')`,markerEnd:`url('#${un(w.value.markerEnd,t)}')`,sourcePosition:ee,targetPosition:ae,sourceX:de,sourceY:he,targetX:He,targetY:Lt,sourceHandleId:w.value.sourceHandle,targetHandleId:w.value.targetHandle,interactionWidth:w.value.interactionWidth,...y}),[N.value==="source"||N.value===!0?[ve("g",{onMousedown:re,onMouseenter:z,onMouseout:L},ve($r,{position:ee,centerX:de,centerY:he,radius:i.value,type:"source","data-type":"source"}))]:null,N.value==="target"||N.value===!0?[ve("g",{onMousedown:ue,onMouseenter:z,onMouseout:L},ve($r,{position:ae,centerX:He,centerY:Lt,radius:i.value,type:"target","data-type":"target"}))]:null]])};function z(){V.value=!0}function L(){V.value=!1}function W(p,_){C.update({event:p,edge:w.value,connection:_})}function P(p){C.updateEnd({event:p,edge:w.value}),J.value=!1}function Y(p,_){p.button===0&&(J.value=!0,R.value=_?w.value.target:w.value.source,F.value=(_?w.value.targetHandle:w.value.sourceHandle)??null,M.value=_?"target":"source",C.updateStart({event:p,edge:w.value}),I(p))}function X(p){var _;const y={event:p,edge:w.value};f.value&&(s.value=!1,w.value.selected&&g.value?(u([w.value]),(_=Z.value)==null||_.blur()):n([w.value])),C.click(y)}function ne(p){C.contextMenu({event:p,edge:w.value})}function ie(p){C.doubleClick({event:p,edge:w.value})}function se(p){C.mouseEnter({event:p,edge:w.value})}function fe(p){C.mouseMove({event:p,edge:w.value})}function pe(p){C.mouseLeave({event:p,edge:w.value})}function re(p){Y(p,!0)}function ue(p){Y(p,!1)}function m(p){var _;!x.value&&Es.includes(p.key)&&f.value&&(p.key==="Escape"?((_=Z.value)==null||_.blur(),u([c(e.id)])):n([c(e.id)]))}}}),Eh=xh,Sh=ye({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:t,connectionMode:n,connectionStartHandle:o,connectionEndHandle:i,connectionPosition:r,connectionLineType:s,connectionLineStyle:a,connectionLineOptions:l,connectionStatus:u,viewport:c,findNode:d}=we(),h=(e=Ct(wo))==null?void 0:e["connection-line"],g=oe(()=>{var A;return d((A=o.value)==null?void 0:A.nodeId)}),x=oe(()=>{var A;return d((A=i.value)==null?void 0:A.nodeId)??null}),$=oe(()=>({x:(r.value.x-c.value.x)/c.value.zoom,y:(r.value.y-c.value.y)/c.value.zoom})),E=oe(()=>l.value.markerStart?`url(#${un(l.value.markerStart,t)})`:""),b=oe(()=>l.value.markerEnd?`url(#${un(l.value.markerEnd,t)})`:"");return()=>{var A,w,C;if(!g.value||!o.value)return null;const B=o.value.id,H=o.value.type,O=g.value.handleBounds;let V=O?.[H]??[];if(n.value===dt.Loose){const S=O?.[H==="source"?"target":"source"]??[];V=[...V,...S]}if(!V)return null;const J=(B?V.find(S=>S.id===B):V[0])??null,R=J?.position??j.Top,{x:F,y:M}=Rt(g.value,J,R);let Z=null;x.value&&(n.value===dt.Strict?Z=((A=x.value.handleBounds[H==="source"?"target":"source"])==null?void 0:A.find(S=>{var T;return S.id===((T=i.value)==null?void 0:T.id)}))||null:Z=((w=[...x.value.handleBounds.source??[],...x.value.handleBounds.target??[]])==null?void 0:w.find(S=>{var T;return S.id===((T=i.value)==null?void 0:T.id)}))||null);const f=((C=i.value)==null?void 0:C.position)??(R?ei[R]:null);if(!R||!f)return null;const N=s.value??l.value.type??vt.Bezier;let v="";const k={sourceX:F,sourceY:M,sourcePosition:R,targetX:$.value.x,targetY:$.value.y,targetPosition:f};return N===vt.Bezier?[v]=Zs(k):N===vt.Step?[v]=ni({...k,borderRadius:0}):N===vt.SmoothStep?[v]=ni(k):N===vt.SimpleBezier?[v]=Ws(k):v=`M${F},${M} ${$.value.x},${$.value.y}`,ve("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},ve("g",{class:"vue-flow__connection"},h?ve(h,{sourceX:F,sourceY:M,sourcePosition:R,targetX:$.value.x,targetY:$.value.y,targetPosition:f,sourceNode:g.value,sourceHandle:J,targetNode:x.value,targetHandle:Z,markerEnd:b.value,markerStart:E.value,connectionStatus:u.value}):ve("path",{d:v,class:[l.value.class,u.value,"vue-flow__connection-path"],style:{...a.value,...l.value.style},"marker-end":b.value,"marker-start":E.value})))}}}),Nh=Sh,Mh=["id","markerWidth","markerHeight","markerUnits","orient"],Ch={name:"MarkerType",compatConfig:{MODE:3}},kh=ye({...Ch,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(t,n)=>(te(),le("marker",{id:t.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${t.width}`,markerHeight:`${t.height}`,markerUnits:t.markerUnits,orient:t.orient},[t.type===U(Qo).ArrowClosed?(te(),le("polyline",{key:0,style:Oe({stroke:t.color,fill:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):xe("",!0),t.type===U(Qo).Arrow?(te(),le("polyline",{key:1,style:Oe({stroke:t.color,strokeWidth:t.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):xe("",!0)],8,Mh))}}),Ih={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},Th={name:"MarkerDefinitions",compatConfig:{MODE:3}},Ah=ye({...Th,setup(e){const{id:t,edges:n,connectionLineOptions:o,defaultMarkerColor:i}=we(),r=oe(()=>{const s=new Set,a=[],l=u=>{if(u){const c=un(u,t);s.has(c)||(typeof u=="object"?a.push({...u,id:c,color:u.color||i.value}):a.push({id:c,color:i.value,type:u}),s.add(c))}};for(const u of[o.value.markerEnd,o.value.markerStart])l(u);for(const u of n.value)for(const c of[u.markerStart,u.markerEnd])l(c);return a.sort((u,c)=>u.id.localeCompare(c.id))});return(s,a)=>(te(),le("svg",Ih,[Me("defs",null,[(te(!0),le(Ie,null,fo(r.value,l=>(te(),Ne(kh,{id:l.id,key:l.id,type:l.type,color:l.color,width:l.width,height:l.height,markerUnits:l.markerUnits,"stroke-width":l.strokeWidth,orient:l.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),Dh={name:"Edges",compatConfig:{MODE:3}},zh=ye({...Dh,setup(e){const{findNode:t,getEdges:n,elevateEdgesOnSelect:o}=we();return(i,r)=>(te(),le(Ie,null,[De(Ah),(te(!0),le(Ie,null,fo(U(n),s=>(te(),le("svg",{key:s.id,class:"vue-flow__edges vue-flow__container",style:Oe({zIndex:U(Qd)(s,U(t),U(o))})},[De(U(Eh),{id:s.id},null,8,["id"])],4))),128)),De(U(Nh))],64))}}),Ph=ye({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:t,noPanClassName:n,selectNodesOnDrag:o,nodesSelectionActive:i,multiSelectionActive:r,emits:s,removeSelectedNodes:a,addSelectedNodes:l,updateNodeDimensions:u,onUpdateNodeInternals:c,getNodeTypes:d,nodeExtent:h,elevateNodesOnSelect:g,disableKeyboardA11y:x,ariaLiveMessage:$,snapToGrid:E,snapGrid:b,nodeDragThreshold:A,nodesDraggable:w,elementsSelectable:C,nodesConnectable:B,nodesFocusable:H,hooks:O}=we(),V=$e(null);xt(Vs,V),xt(Rs,e.id);const J=Ct(wo),R=Ft(),F=Ys(),{node:M,parentNode:Z}=Ls(e.id),{emit:f,on:N}=mf(M,s),v=ge(()=>typeof M.draggable>"u"?w.value:M.draggable),k=ge(()=>typeof M.selectable>"u"?C.value:M.selectable),S=ge(()=>typeof M.connectable>"u"?B.value:M.connectable),T=ge(()=>typeof M.focusable>"u"?H.value:M.focusable),I=oe(()=>k.value||v.value||O.value.nodeClick.hasListeners()||O.value.nodeDoubleClick.hasListeners()||O.value.nodeMouseEnter.hasListeners()||O.value.nodeMouseMove.hasListeners()||O.value.nodeMouseLeave.hasListeners()),z=ge(()=>!!M.dimensions.width&&!!M.dimensions.height),L=oe(()=>{const _=M.type||"default",y=J?.[`node-${_}`];if(y)return y;let D=M.template||d.value[_];if(typeof D=="string"&&R){const K=Object.keys(R.appContext.components);K&&K.includes(_)&&(D=Xr(_,!1))}return D&&typeof D!="string"?D:(s.error(new Se(Ee.NODE_TYPE_MISSING,D)),!1)}),W=Hs({id:e.id,el:V,disabled:()=>!v.value,selectable:k,dragHandle:()=>M.dragHandle,onStart(_){f.dragStart(_)},onDrag(_){f.drag(_)},onStop(_){f.dragStop(_)},onClick(_){m(_)}}),P=oe(()=>M.class instanceof Function?M.class(M):M.class),Y=oe(()=>{const _=(M.style instanceof Function?M.style(M):M.style)||{},y=M.width instanceof Function?M.width(M):M.width,D=M.height instanceof Function?M.height(M):M.height;return!_.width&&y&&(_.width=typeof y=="string"?y:`${y}px`),!_.height&&D&&(_.height=typeof D=="string"?D:`${D}px`),_}),X=ge(()=>Number(M.zIndex??Y.value.zIndex??0));return c(_=>{(_.includes(e.id)||!_.length)&&ie()}),ht(()=>{me(()=>M.hidden,(_=!1,y,D)=>{!_&&V.value&&(e.resizeObserver.observe(V.value),D(()=>{V.value&&e.resizeObserver.unobserve(V.value)}))},{immediate:!0,flush:"post"})}),me([()=>M.type,()=>M.sourcePosition,()=>M.targetPosition],()=>{tt(()=>{u([{id:e.id,nodeElement:V.value,forceUpdate:!0}])})}),me([()=>M.position.x,()=>M.position.y,()=>{var _;return(_=Z.value)==null?void 0:_.computedPosition.x},()=>{var _;return(_=Z.value)==null?void 0:_.computedPosition.y},()=>{var _;return(_=Z.value)==null?void 0:_.computedPosition.z},X,()=>M.selected,()=>M.dimensions.height,()=>M.dimensions.width,()=>{var _;return(_=Z.value)==null?void 0:_.dimensions.height},()=>{var _;return(_=Z.value)==null?void 0:_.dimensions.width}],([_,y,D,K,q,Q])=>{const ee={x:_,y,z:Q+(g.value&&M.selected?1e3:0)};typeof D<"u"&&typeof K<"u"?M.computedPosition=Gd({x:D,y:K,z:q},ee):M.computedPosition=ee},{flush:"post",immediate:!0}),me([()=>M.extent,h],([_,y],[D,K])=>{(_!==D||y!==K)&&ne()}),M.extent==="parent"||typeof M.extent=="object"&&"range"in M.extent&&M.extent.range==="parent"?Lo(()=>z).toBe(!0).then(ne):ne(),()=>M.hidden?null:ve("div",{ref:V,"data-id":M.id,class:["vue-flow__node",`vue-flow__node-${L.value===!1?"default":M.type||"default"}`,{[n.value]:v.value,dragging:W?.value,draggable:v.value,selected:M.selected,selectable:k.value,parent:M.isParent},P.value],style:{visibility:z.value?"visible":"hidden",zIndex:M.computedPosition.z??X.value,transform:`translate(${M.computedPosition.x}px,${M.computedPosition.y}px)`,pointerEvents:I.value?"all":"none",...Y.value},tabIndex:T.value?0:void 0,role:T.value?"group":void 0,"aria-describedby":x.value?void 0:`${bs}-${t}`,"aria-label":M.ariaLabel,"aria-roledescription":"node",...M.domAttributes,onMouseenter:se,onMousemove:fe,onMouseleave:pe,onContextmenu:re,onClick:m,onDblclick:ue,onKeydown:p},[ve(L.value===!1?d.value.default:L.value,{id:M.id,type:M.type,data:M.data,events:{...M.events,...N},selected:M.selected,resizing:M.resizing,dragging:W.value,connectable:S.value,position:M.computedPosition,dimensions:M.dimensions,isValidTargetPos:M.isValidTargetPos,isValidSourcePos:M.isValidSourcePos,parent:M.parentNode,parentNodeId:M.parentNode,zIndex:M.computedPosition.z??X.value,targetPosition:M.targetPosition,sourcePosition:M.sourcePosition,label:M.label,dragHandle:M.dragHandle,onUpdateNodeInternals:ie})]);function ne(){const _=M.computedPosition,{computedPosition:y,position:D}=xi(M,E.value?yo(_,b.value):_,s.error,h.value,Z.value);(M.computedPosition.x!==y.x||M.computedPosition.y!==y.y)&&(M.computedPosition={...M.computedPosition,...y}),(M.position.x!==D.x||M.position.y!==D.y)&&(M.position=D)}function ie(){V.value&&u([{id:e.id,nodeElement:V.value,forceUpdate:!0}])}function se(_){W?.value||f.mouseEnter({event:_,node:M})}function fe(_){W?.value||f.mouseMove({event:_,node:M})}function pe(_){W?.value||f.mouseLeave({event:_,node:M})}function re(_){return f.contextMenu({event:_,node:M})}function ue(_){return f.doubleClick({event:_,node:M})}function m(_){k.value&&(!o.value||!v.value||A.value>0)&&ti(M,r.value,l,a,i,!1,V.value),f.click({event:_,node:M})}function p(_){if(!(Jo(_)||x.value))if(Es.includes(_.key)&&k.value){const y=_.key==="Escape";ti(M,r.value,l,a,i,y,V.value)}else v.value&&M.selected&&Dt[_.key]&&(_.preventDefault(),$.value=`Moved selected node ${_.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~M.position.x}, y: ${~~M.position.y}`,F({x:Dt[_.key].x,y:Dt[_.key].y},_.shiftKey))}}}),Bh=Ph;function Oh(e={includeHiddenNodes:!1}){const{nodes:t}=we();return oe(()=>{if(t.value.length===0)return!1;for(const n of t.value)if((e.includeHiddenNodes||!n.hidden)&&(n?.handleBounds===void 0||n.dimensions.width===0||n.dimensions.height===0))return!1;return!0})}const Rh={class:"vue-flow__nodes vue-flow__container"},Vh={name:"Nodes",compatConfig:{MODE:3}},Hh=ye({...Vh,setup(e){const{getNodes:t,updateNodeDimensions:n,emits:o}=we(),i=Oh(),r=$e();return me(i,s=>{s&&tt(()=>{o.nodesInitialized(t.value)})},{immediate:!0}),ht(()=>{r.value=new ResizeObserver(s=>{const a=s.map(l=>({id:l.target.getAttribute("data-id"),nodeElement:l.target,forceUpdate:!0}));tt(()=>n(a))})}),Yr(()=>{var s;return(s=r.value)==null?void 0:s.disconnect()}),(s,a)=>(te(),le("div",Rh,[r.value?(te(!0),le(Ie,{key:0},fo(U(t),(l,u,c,d)=>{const h=[l.id];if(d&&d.key===l.id&&Ta(d,h))return d;const g=(te(),Ne(U(Bh),{id:l.id,key:l.id,"resize-observer":r.value},null,8,["id","resize-observer"]));return g.memo=h,g},a,0),128)):xe("",!0)]))}});function Fh(){const{emits:e}=we();ht(()=>{if(Os()){const t=document.querySelector(".vue-flow__pane");t&&window.getComputedStyle(t).zIndex!=="1"&&e.error(new Se(Ee.MISSING_STYLES))}})}const Lh=Me("div",{class:"vue-flow__edge-labels"},null,-1),Yh={name:"VueFlow",compatConfig:{MODE:3}},u0=ye({...Yh,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:t,emit:n}){const o=e,i=Lr(),r=Mo(o,"modelValue",n),s=Mo(o,"nodes",n),a=Mo(o,"edges",n),l=we(o),u=$f({modelValue:r,nodes:s,edges:a},o,l);return xf(n,l.hooks),_h(),Fh(),xt(wo,i),Ca(u),t(l),(c,d)=>(te(),le("div",{ref:U(l).vueFlowRef,class:"vue-flow"},[De(gh,null,{default:qe(()=>[De(zh),Lh,De(Hh),_e(c.$slots,"zoom-pane")]),_:3}),_e(c.$slots,"default"),De(wh)],512))}}),Xh={name:"Panel",compatConfig:{MODE:3}},qs=ye({...Xh,props:{position:{}},setup(e){const t=e,{userSelectionActive:n}=we(),o=oe(()=>`${t.position}`.split("-"));return(i,r)=>(te(),le("div",{class:ct(["vue-flow__panel",o.value]),style:Oe({pointerEvents:U(n)?"none":"all"})},[_e(i.$slots,"default")],6))}});var je=(e=>(e.Lines="lines",e.Dots="dots",e))(je||{});const Qs=function({dimensions:e,size:t,color:n}){return ve("path",{stroke:n,"stroke-width":t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Js=function({radius:e,color:t}){return ve("circle",{cx:e,cy:e,r:e,fill:t})};je.Lines+"",je.Dots+"";const Gh={[je.Dots]:"#81818a",[je.Lines]:"#eee"},Uh=["id","x","y","width","height","patternTransform"],Zh={key:2,height:"100",width:"100"},Wh=["fill"],Kh=["x","y","fill"],qh={name:"Background",compatConfig:{MODE:3}},c0=ye({...qh,props:{id:{},variant:{default:()=>je.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:t,viewport:n}=we(),o=oe(()=>{const s=n.value.zoom,[a,l]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],u=[a*s||1,l*s||1],c=e.size*s,[d,h]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],g=[d*s||1+u[0]/2,h*s||1+u[1]/2];return{scaledGap:u,offset:g,size:c}}),i=ge(()=>`pattern-${t}${e.id?`-${e.id}`:""}`),r=ge(()=>e.color||e.patternColor||Gh[e.variant||je.Dots]);return(s,a)=>(te(),le("svg",{class:"vue-flow__background vue-flow__container",style:Oe({height:`${s.height>100?100:s.height}%`,width:`${s.width>100?100:s.width}%`})},[_e(s.$slots,"pattern-container",{id:i.value},()=>[Me("pattern",{id:i.value,x:U(n).x%o.value.scaledGap[0],y:U(n).y%o.value.scaledGap[1],width:o.value.scaledGap[0],height:o.value.scaledGap[1],patternTransform:`translate(-${o.value.offset[0]},-${o.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[_e(s.$slots,"pattern",{},()=>[s.variant===U(je).Lines?(te(),Ne(U(Qs),{key:0,size:s.lineWidth,color:r.value,dimensions:o.value.scaledGap},null,8,["size","color","dimensions"])):s.variant===U(je).Dots?(te(),Ne(U(Js),{key:1,color:r.value,radius:o.value.size/2},null,8,["color","radius"])):xe("",!0),s.bgColor?(te(),le("svg",Zh,[Me("rect",{width:"100%",height:"100%",fill:s.bgColor},null,8,Wh)])):xe("",!0)])],8,Uh)]),Me("rect",{x:s.x,y:s.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,Kh),_e(s.$slots,"default",{id:i.value})],4))}}),Qh={name:"ControlButton",compatConfig:{MODE:3}},Jh=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n},jh={type:"button",class:"vue-flow__controls-button"};function eg(e,t,n,o,i,r){return te(),le("button",jh,[_e(e.$slots,"default")])}const kn=Jh(Qh,[["render",eg]]),tg={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},ng=Me("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1),og=[ng];function ig(e,t){return te(),le("svg",tg,og)}const rg={render:ig},sg={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},ag=Me("path",{d:"M0 0h32v4.2H0z"},null,-1),lg=[ag];function ug(e,t){return te(),le("svg",sg,lg)}const cg={render:ug},dg={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},fg=Me("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 0 0 27.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.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1),hg=[fg];function gg(e,t){return te(),le("svg",dg,hg)}const vg={render:gg},pg={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},mg=Me("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 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-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"},null,-1),yg=[mg];function wg(e,t){return te(),le("svg",pg,yg)}const _g={render:wg},$g={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},bg=Me("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 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1),xg=[bg];function Eg(e,t){return te(),le("svg",$g,xg)}const Sg={render:Eg},Ng={name:"Controls",compatConfig:{MODE:3}},d0=ye({...Ng,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>$s.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:t}){const{nodesDraggable:n,nodesConnectable:o,elementsSelectable:i,setInteractive:r,zoomIn:s,zoomOut:a,fitView:l,viewport:u,minZoom:c,maxZoom:d}=we(),h=ge(()=>n.value||o.value||i.value),g=ge(()=>u.value.zoom<=c.value),x=ge(()=>u.value.zoom>=d.value);function $(){s(),t("zoomIn")}function E(){a(),t("zoomOut")}function b(){l(e.fitViewParams),t("fitView")}function A(){r(!h.value),t("interactionChange",!h.value)}return(w,C)=>(te(),Ne(U(qs),{class:"vue-flow__controls",position:w.position},{default:qe(()=>[_e(w.$slots,"top"),w.showZoom?(te(),le(Ie,{key:0},[_e(w.$slots,"control-zoom-in",{},()=>[De(kn,{class:"vue-flow__controls-zoomin",disabled:x.value,onClick:$},{default:qe(()=>[_e(w.$slots,"icon-zoom-in",{},()=>[(te(),Ne(gt(U(rg))))])]),_:3},8,["disabled"])]),_e(w.$slots,"control-zoom-out",{},()=>[De(kn,{class:"vue-flow__controls-zoomout",disabled:g.value,onClick:E},{default:qe(()=>[_e(w.$slots,"icon-zoom-out",{},()=>[(te(),Ne(gt(U(cg))))])]),_:3},8,["disabled"])])],64)):xe("",!0),w.showFitView?_e(w.$slots,"control-fit-view",{key:1},()=>[De(kn,{class:"vue-flow__controls-fitview",onClick:b},{default:qe(()=>[_e(w.$slots,"icon-fit-view",{},()=>[(te(),Ne(gt(U(vg))))])]),_:3})]):xe("",!0),w.showInteractive?_e(w.$slots,"control-interactive",{key:2},()=>[w.showInteractive?(te(),Ne(kn,{key:0,class:"vue-flow__controls-interactive",onClick:A},{default:qe(()=>[h.value?_e(w.$slots,"icon-unlock",{key:0},()=>[(te(),Ne(gt(U(Sg))))]):xe("",!0),h.value?xe("",!0):_e(w.$slots,"icon-lock",{key:1},()=>[(te(),Ne(gt(U(_g))))])]),_:3})):xe("",!0)]):xe("",!0),_e(w.$slots,"default")]),_:3},8,["position"]))}});var Mg={value:()=>{}};function Ni(){for(var e=0,t=arguments.length,n={},o;e<t;++e){if(!(o=arguments[e]+"")||o in n||/[\s.]/.test(o))throw new Error("illegal type: "+o);n[o]=[]}return new Fn(n)}function Fn(e){this._=e}function Cg(e,t){return e.trim().split(/^|\s+/).map(function(n){var o="",i=n.indexOf(".");if(i>=0&&(o=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}Fn.prototype=Ni.prototype={constructor:Fn,on:function(e,t){var n=this._,o=Cg(e+"",n),i,r=-1,s=o.length;if(arguments.length<2){for(;++r<s;)if((i=(e=o[r]).type)&&(i=kg(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++r<s;)if(i=(e=o[r]).type)n[i]=br(n[i],e.name,t);else if(t==null)for(i in n)n[i]=br(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Fn(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),o=0,i,r;o<i;++o)n[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],i=0,r=o.length;i<r;++i)o[i].value.apply(t,n)}};function kg(e,t){for(var n=0,o=e.length,i;n<o;++n)if((i=e[n]).name===t)return i.value}function br(e,t,n){for(var o=0,i=e.length;o<i;++o)if(e[o].name===t){e[o]=Mg,e=e.slice(0,o).concat(e.slice(o+1));break}return n!=null&&e.push({name:t,value:n}),e}var oi="http://www.w3.org/1999/xhtml";const xr={svg:"http://www.w3.org/2000/svg",xhtml:oi,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Eo(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),xr.hasOwnProperty(t)?{space:xr[t],local:e}:e}function Ig(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===oi&&t.documentElement.namespaceURI===oi?t.createElement(e):t.createElementNS(n,e)}}function Tg(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function js(e){var t=Eo(e);return(t.local?Tg:Ig)(t)}function Ag(){}function Mi(e){return e==null?Ag:function(){return this.querySelector(e)}}function Dg(e){typeof e!="function"&&(e=Mi(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],s=r.length,a=o[i]=new Array(s),l,u,c=0;c<s;++c)(l=r[c])&&(u=e.call(l,l.__data__,c,r))&&("__data__"in l&&(u.__data__=l.__data__),a[c]=u);return new Ae(o,this._parents)}function zg(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Pg(){return[]}function ea(e){return e==null?Pg:function(){return this.querySelectorAll(e)}}function Bg(e){return function(){return zg(e.apply(this,arguments))}}function Og(e){typeof e=="function"?e=Bg(e):e=ea(e);for(var t=this._groups,n=t.length,o=[],i=[],r=0;r<n;++r)for(var s=t[r],a=s.length,l,u=0;u<a;++u)(l=s[u])&&(o.push(e.call(l,l.__data__,u,s)),i.push(l));return new Ae(o,i)}function ta(e){return function(){return this.matches(e)}}function na(e){return function(t){return t.matches(e)}}var Rg=Array.prototype.find;function Vg(e){return function(){return Rg.call(this.children,e)}}function Hg(){return this.firstElementChild}function Fg(e){return this.select(e==null?Hg:Vg(typeof e=="function"?e:na(e)))}var Lg=Array.prototype.filter;function Yg(){return Array.from(this.children)}function Xg(e){return function(){return Lg.call(this.children,e)}}function Gg(e){return this.selectAll(e==null?Yg:Xg(typeof e=="function"?e:na(e)))}function Ug(e){typeof e!="function"&&(e=ta(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],s=r.length,a=o[i]=[],l,u=0;u<s;++u)(l=r[u])&&e.call(l,l.__data__,u,r)&&a.push(l);return new Ae(o,this._parents)}function oa(e){return new Array(e.length)}function Zg(){return new Ae(this._enter||this._groups.map(oa),this._parents)}function ro(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}ro.prototype={constructor:ro,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 Wg(e){return function(){return e}}function Kg(e,t,n,o,i,r){for(var s=0,a,l=t.length,u=r.length;s<u;++s)(a=t[s])?(a.__data__=r[s],o[s]=a):n[s]=new ro(e,r[s]);for(;s<l;++s)(a=t[s])&&(i[s]=a)}function qg(e,t,n,o,i,r,s){var a,l,u=new Map,c=t.length,d=r.length,h=new Array(c),g;for(a=0;a<c;++a)(l=t[a])&&(h[a]=g=s.call(l,l.__data__,a,t)+"",u.has(g)?i[a]=l:u.set(g,l));for(a=0;a<d;++a)g=s.call(e,r[a],a,r)+"",(l=u.get(g))?(o[a]=l,l.__data__=r[a],u.delete(g)):n[a]=new ro(e,r[a]);for(a=0;a<c;++a)(l=t[a])&&u.get(h[a])===l&&(i[a]=l)}function Qg(e){return e.__data__}function Jg(e,t){if(!arguments.length)return Array.from(this,Qg);var n=t?qg:Kg,o=this._parents,i=this._groups;typeof e!="function"&&(e=Wg(e));for(var r=i.length,s=new Array(r),a=new Array(r),l=new Array(r),u=0;u<r;++u){var c=o[u],d=i[u],h=d.length,g=jg(e.call(c,c&&c.__data__,u,o)),x=g.length,$=a[u]=new Array(x),E=s[u]=new Array(x),b=l[u]=new Array(h);n(c,d,$,E,b,g,t);for(var A=0,w=0,C,B;A<x;++A)if(C=$[A]){for(A>=w&&(w=A+1);!(B=E[w])&&++w<x;);C._next=B||null}}return s=new Ae(s,o),s._enter=a,s._exit=l,s}function jg(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function ev(){return new Ae(this._exit||this._groups.map(oa),this._parents)}function tv(e,t,n){var o=this.enter(),i=this,r=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?r.remove():n(r),o&&i?o.merge(i).order():i}function nv(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,i=n.length,r=o.length,s=Math.min(i,r),a=new Array(i),l=0;l<s;++l)for(var u=n[l],c=o[l],d=u.length,h=a[l]=new Array(d),g,x=0;x<d;++x)(g=u[x]||c[x])&&(h[x]=g);for(;l<i;++l)a[l]=n[l];return new Ae(a,this._parents)}function ov(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o=e[t],i=o.length-1,r=o[i],s;--i>=0;)(s=o[i])&&(r&&s.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(s,r),r=s);return this}function iv(e){e||(e=rv);function t(d,h){return d&&h?e(d.__data__,h.__data__):!d-!h}for(var n=this._groups,o=n.length,i=new Array(o),r=0;r<o;++r){for(var s=n[r],a=s.length,l=i[r]=new Array(a),u,c=0;c<a;++c)(u=s[c])&&(l[c]=u);l.sort(t)}return new Ae(i,this._parents).order()}function rv(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function sv(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function av(){return Array.from(this)}function lv(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],i=0,r=o.length;i<r;++i){var s=o[i];if(s)return s}return null}function uv(){let e=0;for(const t of this)++e;return e}function cv(){return!this.node()}function dv(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var i=t[n],r=0,s=i.length,a;r<s;++r)(a=i[r])&&e.call(a,a.__data__,r,i);return this}function fv(e){return function(){this.removeAttribute(e)}}function hv(e){return function(){this.removeAttributeNS(e.space,e.local)}}function gv(e,t){return function(){this.setAttribute(e,t)}}function vv(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function pv(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function mv(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 yv(e,t){var n=Eo(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((t==null?n.local?hv:fv:typeof t=="function"?n.local?mv:pv:n.local?vv:gv)(n,t))}function ia(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function wv(e){return function(){this.style.removeProperty(e)}}function _v(e,t,n){return function(){this.style.setProperty(e,t,n)}}function $v(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function bv(e,t,n){return arguments.length>1?this.each((t==null?wv:typeof t=="function"?$v:_v)(e,t,n??"")):Vt(this.node(),e)}function Vt(e,t){return e.style.getPropertyValue(t)||ia(e).getComputedStyle(e,null).getPropertyValue(t)}function xv(e){return function(){delete this[e]}}function Ev(e,t){return function(){this[e]=t}}function Sv(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Nv(e,t){return arguments.length>1?this.each((t==null?xv:typeof t=="function"?Sv:Ev)(e,t)):this.node()[e]}function ra(e){return e.trim().split(/^|\s+/)}function Ci(e){return e.classList||new sa(e)}function sa(e){this._node=e,this._names=ra(e.getAttribute("class")||"")}sa.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 aa(e,t){for(var n=Ci(e),o=-1,i=t.length;++o<i;)n.add(t[o])}function la(e,t){for(var n=Ci(e),o=-1,i=t.length;++o<i;)n.remove(t[o])}function Mv(e){return function(){aa(this,e)}}function Cv(e){return function(){la(this,e)}}function kv(e,t){return function(){(t.apply(this,arguments)?aa:la)(this,e)}}function Iv(e,t){var n=ra(e+"");if(arguments.length<2){for(var o=Ci(this.node()),i=-1,r=n.length;++i<r;)if(!o.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?kv:t?Mv:Cv)(n,t))}function Tv(){this.textContent=""}function Av(e){return function(){this.textContent=e}}function Dv(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function zv(e){return arguments.length?this.each(e==null?Tv:(typeof e=="function"?Dv:Av)(e)):this.node().textContent}function Pv(){this.innerHTML=""}function Bv(e){return function(){this.innerHTML=e}}function Ov(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Rv(e){return arguments.length?this.each(e==null?Pv:(typeof e=="function"?Ov:Bv)(e)):this.node().innerHTML}function Vv(){this.nextSibling&&this.parentNode.appendChild(this)}function Hv(){return this.each(Vv)}function Fv(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Lv(){return this.each(Fv)}function Yv(e){var t=typeof e=="function"?e:js(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Xv(){return null}function Gv(e,t){var n=typeof e=="function"?e:js(e),o=t==null?Xv:typeof t=="function"?t:Mi(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function Uv(){var e=this.parentNode;e&&e.removeChild(this)}function Zv(){return this.each(Uv)}function Wv(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Kv(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function qv(e){return this.select(e?Kv:Wv)}function Qv(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Jv(e){return function(t){e.call(this,t,this.__data__)}}function jv(e){return e.trim().split(/^|\s+/).map(function(t){var n="",o=t.indexOf(".");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function ep(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,i=t.length,r;n<i;++n)r=t[n],(!e.type||r.type===e.type)&&r.name===e.name?this.removeEventListener(r.type,r.listener,r.options):t[++o]=r;++o?t.length=o:delete this.__on}}}function tp(e,t,n){return function(){var o=this.__on,i,r=Jv(t);if(o){for(var s=0,a=o.length;s<a;++s)if((i=o[s]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=r,i.options=n),i.value=t;return}}this.addEventListener(e.type,r,n),i={type:e.type,name:e.name,value:t,listener:r,options:n},o?o.push(i):this.__on=[i]}}function np(e,t,n){var o=jv(e+""),i,r=o.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var l=0,u=a.length,c;l<u;++l)for(i=0,c=a[l];i<r;++i)if((s=o[i]).type===c.type&&s.name===c.name)return c.value}return}for(a=t?tp:ep,i=0;i<r;++i)this.each(a(o[i],t,n));return this}function ua(e,t,n){var o=ia(e),i=o.CustomEvent;typeof i=="function"?i=new i(t,n):(i=o.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function op(e,t){return function(){return ua(this,e,t)}}function ip(e,t){return function(){return ua(this,e,t.apply(this,arguments))}}function rp(e,t){return this.each((typeof t=="function"?ip:op)(e,t))}function*sp(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],i=0,r=o.length,s;i<r;++i)(s=o[i])&&(yield s)}var ca=[null];function Ae(e,t){this._groups=e,this._parents=t}function yn(){return new Ae([[document.documentElement]],ca)}function ap(){return this}Ae.prototype=yn.prototype={constructor:Ae,select:Dg,selectAll:Og,selectChild:Fg,selectChildren:Gg,filter:Ug,data:Jg,enter:Zg,exit:ev,join:tv,merge:nv,selection:ap,order:ov,sort:iv,call:sv,nodes:av,node:lv,size:uv,empty:cv,each:dv,attr:yv,style:bv,property:Nv,classed:Iv,text:zv,html:Rv,raise:Hv,lower:Lv,append:Yv,insert:Gv,remove:Zv,clone:qv,datum:Qv,on:np,dispatch:rp,[Symbol.iterator]:sp};function ut(e){return typeof e=="string"?new Ae([[document.querySelector(e)]],[document.documentElement]):new Ae([[e]],ca)}function lp(e){let t;for(;t=e.sourceEvent;)e=t;return e}function st(e,t){if(e=lp(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const ii={capture:!0,passive:!1};function ri(e){e.preventDefault(),e.stopImmediatePropagation()}function up(e){var t=e.document.documentElement,n=ut(e).on("dragstart.drag",ri,ii);"onselectstart"in t?n.on("selectstart.drag",ri,ii):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function cp(e,t){var n=e.document.documentElement,o=ut(e).on("dragstart.drag",null);t&&(o.on("click.drag",ri,ii),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function ki(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function da(e,t){var n=Object.create(e.prototype);for(var o in t)n[o]=t[o];return n}function wn(){}var dn=.7,so=1/dn,zt="\\s*([+-]?\\d+)\\s*",fn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ge="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",dp=/^#([0-9a-f]{3,8})$/,fp=new RegExp(`^rgb\\(${zt},${zt},${zt}\\)$`),hp=new RegExp(`^rgb\\(${Ge},${Ge},${Ge}\\)$`),gp=new RegExp(`^rgba\\(${zt},${zt},${zt},${fn}\\)$`),vp=new RegExp(`^rgba\\(${Ge},${Ge},${Ge},${fn}\\)$`),pp=new RegExp(`^hsl\\(${fn},${Ge},${Ge}\\)$`),mp=new RegExp(`^hsla\\(${fn},${Ge},${Ge},${fn}\\)$`),Er={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ki(wn,hn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Sr,formatHex:Sr,formatHex8:yp,formatHsl:wp,formatRgb:Nr,toString:Nr});function Sr(){return this.rgb().formatHex()}function yp(){return this.rgb().formatHex8()}function wp(){return fa(this).formatHsl()}function Nr(){return this.rgb().formatRgb()}function hn(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=dp.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Mr(t):n===3?new ke(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?In(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?In(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=fp.exec(e))?new ke(t[1],t[2],t[3],1):(t=hp.exec(e))?new ke(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=gp.exec(e))?In(t[1],t[2],t[3],t[4]):(t=vp.exec(e))?In(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=pp.exec(e))?Ir(t[1],t[2]/100,t[3]/100,1):(t=mp.exec(e))?Ir(t[1],t[2]/100,t[3]/100,t[4]):Er.hasOwnProperty(e)?Mr(Er[e]):e==="transparent"?new ke(NaN,NaN,NaN,0):null}function Mr(e){return new ke(e>>16&255,e>>8&255,e&255,1)}function In(e,t,n,o){return o<=0&&(e=t=n=NaN),new ke(e,t,n,o)}function _p(e){return e instanceof wn||(e=hn(e)),e?(e=e.rgb(),new ke(e.r,e.g,e.b,e.opacity)):new ke}function si(e,t,n,o){return arguments.length===1?_p(e):new ke(e,t,n,o??1)}function ke(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}ki(ke,si,da(wn,{brighter(e){return e=e==null?so:Math.pow(so,e),new ke(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?dn:Math.pow(dn,e),new ke(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ke(bt(this.r),bt(this.g),bt(this.b),ao(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Cr,formatHex:Cr,formatHex8:$p,formatRgb:kr,toString:kr}));function Cr(){return`#${wt(this.r)}${wt(this.g)}${wt(this.b)}`}function $p(){return`#${wt(this.r)}${wt(this.g)}${wt(this.b)}${wt((isNaN(this.opacity)?1:this.opacity)*255)}`}function kr(){const e=ao(this.opacity);return`${e===1?"rgb(":"rgba("}${bt(this.r)}, ${bt(this.g)}, ${bt(this.b)}${e===1?")":`, ${e})`}`}function ao(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function bt(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function wt(e){return e=bt(e),(e<16?"0":"")+e.toString(16)}function Ir(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Be(e,t,n,o)}function fa(e){if(e instanceof Be)return new Be(e.h,e.s,e.l,e.opacity);if(e instanceof wn||(e=hn(e)),!e)return new Be;if(e instanceof Be)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,i=Math.min(t,n,o),r=Math.max(t,n,o),s=NaN,a=r-i,l=(r+i)/2;return a?(t===r?s=(n-o)/a+(n<o)*6:n===r?s=(o-t)/a+2:s=(t-n)/a+4,a/=l<.5?r+i:2-r-i,s*=60):a=l>0&&l<1?0:s,new Be(s,a,l,e.opacity)}function bp(e,t,n,o){return arguments.length===1?fa(e):new Be(e,t,n,o??1)}function Be(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}ki(Be,bp,da(wn,{brighter(e){return e=e==null?so:Math.pow(so,e),new Be(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?dn:Math.pow(dn,e),new Be(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,o=n+(n<.5?n:1-n)*t,i=2*n-o;return new ke(Ro(e>=240?e-240:e+120,i,o),Ro(e,i,o),Ro(e<120?e+240:e-120,i,o),this.opacity)},clamp(){return new Be(Tr(this.h),Tn(this.s),Tn(this.l),ao(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ao(this.opacity);return`${e===1?"hsl(":"hsla("}${Tr(this.h)}, ${Tn(this.s)*100}%, ${Tn(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Tr(e){return e=(e||0)%360,e<0?e+360:e}function Tn(e){return Math.max(0,Math.min(1,e||0))}function Ro(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const ha=e=>()=>e;function xp(e,t){return function(n){return e+n*t}}function Ep(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function Sp(e){return(e=+e)==1?ga:function(t,n){return n-t?Ep(t,n,e):ha(isNaN(t)?n:t)}}function ga(e,t){var n=t-e;return n?xp(e,n):ha(isNaN(e)?t:e)}const Ar=(function e(t){var n=Sp(t);function o(i,r){var s=n((i=si(i)).r,(r=si(r)).r),a=n(i.g,r.g),l=n(i.b,r.b),u=ga(i.opacity,r.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return o.gamma=e,o})(1);function lt(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var ai=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Vo=new RegExp(ai.source,"g");function Np(e){return function(){return e}}function Mp(e){return function(t){return e(t)+""}}function Cp(e,t){var n=ai.lastIndex=Vo.lastIndex=0,o,i,r,s=-1,a=[],l=[];for(e=e+"",t=t+"";(o=ai.exec(e))&&(i=Vo.exec(t));)(r=i.index)>n&&(r=t.slice(n,r),a[s]?a[s]+=r:a[++s]=r),(o=o[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:lt(o,i)})),n=Vo.lastIndex;return n<t.length&&(r=t.slice(n),a[s]?a[s]+=r:a[++s]=r),a.length<2?l[0]?Mp(l[0].x):Np(t):(t=l.length,function(u){for(var c=0,d;c<t;++c)a[(d=l[c]).i]=d.x(u);return a.join("")})}var Dr=180/Math.PI,li={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function va(e,t,n,o,i,r){var s,a,l;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(l=e*n+t*o)&&(n-=e*l,o-=t*l),(a=Math.sqrt(n*n+o*o))&&(n/=a,o/=a,l/=a),e*o<t*n&&(e=-e,t=-t,l=-l,s=-s),{translateX:i,translateY:r,rotate:Math.atan2(t,e)*Dr,skewX:Math.atan(l)*Dr,scaleX:s,scaleY:a}}var An;function kp(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?li:va(t.a,t.b,t.c,t.d,t.e,t.f)}function Ip(e){return e==null||(An||(An=document.createElementNS("http://www.w3.org/2000/svg","g")),An.setAttribute("transform",e),!(e=An.transform.baseVal.consolidate()))?li:(e=e.matrix,va(e.a,e.b,e.c,e.d,e.e,e.f))}function pa(e,t,n,o){function i(u){return u.length?u.pop()+" ":""}function r(u,c,d,h,g,x){if(u!==d||c!==h){var $=g.push("translate(",null,t,null,n);x.push({i:$-4,x:lt(u,d)},{i:$-2,x:lt(c,h)})}else(d||h)&&g.push("translate("+d+t+h+n)}function s(u,c,d,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:d.push(i(d)+"rotate(",null,o)-2,x:lt(u,c)})):c&&d.push(i(d)+"rotate("+c+o)}function a(u,c,d,h){u!==c?h.push({i:d.push(i(d)+"skewX(",null,o)-2,x:lt(u,c)}):c&&d.push(i(d)+"skewX("+c+o)}function l(u,c,d,h,g,x){if(u!==d||c!==h){var $=g.push(i(g)+"scale(",null,",",null,")");x.push({i:$-4,x:lt(u,d)},{i:$-2,x:lt(c,h)})}else(d!==1||h!==1)&&g.push(i(g)+"scale("+d+","+h+")")}return function(u,c){var d=[],h=[];return u=e(u),c=e(c),r(u.translateX,u.translateY,c.translateX,c.translateY,d,h),s(u.rotate,c.rotate,d,h),a(u.skewX,c.skewX,d,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,h),u=c=null,function(g){for(var x=-1,$=h.length,E;++x<$;)d[(E=h[x]).i]=E.x(g);return d.join("")}}}var Tp=pa(kp,"px, ","px)","deg)"),Ap=pa(Ip,", ",")",")"),Dp=1e-12;function zr(e){return((e=Math.exp(e))+1/e)/2}function zp(e){return((e=Math.exp(e))-1/e)/2}function Pp(e){return((e=Math.exp(2*e))-1)/(e+1)}const Bp=(function e(t,n,o){function i(r,s){var a=r[0],l=r[1],u=r[2],c=s[0],d=s[1],h=s[2],g=c-a,x=d-l,$=g*g+x*x,E,b;if($<Dp)b=Math.log(h/u)/t,E=function(O){return[a+O*g,l+O*x,u*Math.exp(t*O*b)]};else{var A=Math.sqrt($),w=(h*h-u*u+o*$)/(2*u*n*A),C=(h*h-u*u-o*$)/(2*h*n*A),B=Math.log(Math.sqrt(w*w+1)-w),H=Math.log(Math.sqrt(C*C+1)-C);b=(H-B)/t,E=function(O){var V=O*b,J=zr(B),R=u/(n*A)*(J*Pp(t*V+B)-zp(B));return[a+R*g,l+R*x,u*J/zr(t*V+B)]}}return E.duration=b*1e3*t/Math.SQRT2,E}return i.rho=function(r){var s=Math.max(.001,+r),a=s*s,l=a*a;return e(s,a,l)},i})(Math.SQRT2,2,4);var Ht=0,qt=0,Gt=0,ma=1e3,lo,Qt,uo=0,Mt=0,So=0,gn=typeof performance=="object"&&performance.now?performance:Date,ya=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Ii(){return Mt||(ya(Op),Mt=gn.now()+So)}function Op(){Mt=0}function co(){this._call=this._time=this._next=null}co.prototype=wa.prototype={constructor:co,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Ii():+n)+(t==null?0:+t),!this._next&&Qt!==this&&(Qt?Qt._next=this:lo=this,Qt=this),this._call=e,this._time=n,ui()},stop:function(){this._call&&(this._call=null,this._time=1/0,ui())}};function wa(e,t,n){var o=new co;return o.restart(e,t,n),o}function Rp(){Ii(),++Ht;for(var e=lo,t;e;)(t=Mt-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Ht}function Pr(){Mt=(uo=gn.now())+So,Ht=qt=0;try{Rp()}finally{Ht=0,Hp(),Mt=0}}function Vp(){var e=gn.now(),t=e-uo;t>ma&&(So-=t,uo=e)}function Hp(){for(var e,t=lo,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:lo=n);Qt=e,ui(o)}function ui(e){if(!Ht){qt&&(qt=clearTimeout(qt));var t=e-Mt;t>24?(e<1/0&&(qt=setTimeout(Pr,e-gn.now()-So)),Gt&&(Gt=clearInterval(Gt))):(Gt||(uo=gn.now(),Gt=setInterval(Vp,ma)),Ht=1,ya(Pr))}}function Br(e,t,n){var o=new co;return t=t==null?0:+t,o.restart(i=>{o.stop(),e(i+t)},t,n),o}var Fp=Ni("start","end","cancel","interrupt"),Lp=[],_a=0,Or=1,ci=2,Ln=3,Rr=4,di=5,Yn=6;function No(e,t,n,o,i,r){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Yp(e,n,{name:t,index:o,group:i,on:Fp,tween:Lp,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:_a})}function Ti(e,t){var n=Ve(e,t);if(n.state>_a)throw new Error("too late; already scheduled");return n}function Ze(e,t){var n=Ve(e,t);if(n.state>Ln)throw new Error("too late; already running");return n}function Ve(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Yp(e,t,n){var o=e.__transition,i;o[t]=n,n.timer=wa(r,0,n.time);function r(u){n.state=Or,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,h,g;if(n.state!==Or)return l();for(c in o)if(g=o[c],g.name===n.name){if(g.state===Ln)return Br(s);g.state===Rr?(g.state=Yn,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete o[c]):+c<t&&(g.state=Yn,g.timer.stop(),g.on.call("cancel",e,e.__data__,g.index,g.group),delete o[c])}if(Br(function(){n.state===Ln&&(n.state=Rr,n.timer.restart(a,n.delay,n.time),a(u))}),n.state=ci,n.on.call("start",e,e.__data__,n.index,n.group),n.state===ci){for(n.state=Ln,i=new Array(h=n.tween.length),c=0,d=-1;c<h;++c)(g=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(i[++d]=g);i.length=d+1}}function a(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=di,1),d=-1,h=i.length;++d<h;)i[d].call(e,c);n.state===di&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=Yn,n.timer.stop(),delete o[t];for(var u in o)return;delete e.__transition}}function Xn(e,t){var n=e.__transition,o,i,r=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((o=n[s]).name!==t){r=!1;continue}i=o.state>ci&&o.state<di,o.state=Yn,o.timer.stop(),o.on.call(i?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[s]}r&&delete e.__transition}}function Xp(e){return this.each(function(){Xn(this,e)})}function Gp(e,t){var n,o;return function(){var i=Ze(this,e),r=i.tween;if(r!==n){o=n=r;for(var s=0,a=o.length;s<a;++s)if(o[s].name===t){o=o.slice(),o.splice(s,1);break}}i.tween=o}}function Up(e,t,n){var o,i;if(typeof n!="function")throw new Error;return function(){var r=Ze(this,e),s=r.tween;if(s!==o){i=(o=s).slice();for(var a={name:t,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===t){i[l]=a;break}l===u&&i.push(a)}r.tween=i}}function Zp(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o=Ve(this.node(),n).tween,i=0,r=o.length,s;i<r;++i)if((s=o[i]).name===e)return s.value;return null}return this.each((t==null?Gp:Up)(n,e,t))}function Ai(e,t,n){var o=e._id;return e.each(function(){var i=Ze(this,o);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return Ve(i,o).value[t]}}function $a(e,t){var n;return(typeof t=="number"?lt:t instanceof hn?Ar:(n=hn(t))?(t=n,Ar):Cp)(e,t)}function Wp(e){return function(){this.removeAttribute(e)}}function Kp(e){return function(){this.removeAttributeNS(e.space,e.local)}}function qp(e,t,n){var o,i=n+"",r;return function(){var s=this.getAttribute(e);return s===i?null:s===o?r:r=t(o=s,n)}}function Qp(e,t,n){var o,i=n+"",r;return function(){var s=this.getAttributeNS(e.space,e.local);return s===i?null:s===o?r:r=t(o=s,n)}}function Jp(e,t,n){var o,i,r;return function(){var s,a=n(this),l;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),l=a+"",s===l?null:s===o&&l===i?r:(i=l,r=t(o=s,a)))}}function jp(e,t,n){var o,i,r;return function(){var s,a=n(this),l;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),l=a+"",s===l?null:s===o&&l===i?r:(i=l,r=t(o=s,a)))}}function em(e,t){var n=Eo(e),o=n==="transform"?Ap:$a;return this.attrTween(e,typeof t=="function"?(n.local?jp:Jp)(n,o,Ai(this,"attr."+e,t)):t==null?(n.local?Kp:Wp)(n):(n.local?Qp:qp)(n,o,t))}function tm(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function nm(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function om(e,t){var n,o;function i(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&nm(e,r)),n}return i._value=t,i}function im(e,t){var n,o;function i(){var r=t.apply(this,arguments);return r!==o&&(n=(o=r)&&tm(e,r)),n}return i._value=t,i}function rm(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 o=Eo(e);return this.tween(n,(o.local?om:im)(o,t))}function sm(e,t){return function(){Ti(this,e).delay=+t.apply(this,arguments)}}function am(e,t){return t=+t,function(){Ti(this,e).delay=t}}function lm(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?sm:am)(t,e)):Ve(this.node(),t).delay}function um(e,t){return function(){Ze(this,e).duration=+t.apply(this,arguments)}}function cm(e,t){return t=+t,function(){Ze(this,e).duration=t}}function dm(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?um:cm)(t,e)):Ve(this.node(),t).duration}function fm(e,t){if(typeof t!="function")throw new Error;return function(){Ze(this,e).ease=t}}function hm(e){var t=this._id;return arguments.length?this.each(fm(t,e)):Ve(this.node(),t).ease}function gm(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Ze(this,e).ease=n}}function vm(e){if(typeof e!="function")throw new Error;return this.each(gm(this._id,e))}function pm(e){typeof e!="function"&&(e=ta(e));for(var t=this._groups,n=t.length,o=new Array(n),i=0;i<n;++i)for(var r=t[i],s=r.length,a=o[i]=[],l,u=0;u<s;++u)(l=r[u])&&e.call(l,l.__data__,u,r)&&a.push(l);return new ot(o,this._parents,this._name,this._id)}function mm(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,i=n.length,r=Math.min(o,i),s=new Array(o),a=0;a<r;++a)for(var l=t[a],u=n[a],c=l.length,d=s[a]=new Array(c),h,g=0;g<c;++g)(h=l[g]||u[g])&&(d[g]=h);for(;a<o;++a)s[a]=t[a];return new ot(s,this._parents,this._name,this._id)}function ym(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 wm(e,t,n){var o,i,r=ym(t)?Ti:Ze;return function(){var s=r(this,e),a=s.on;a!==o&&(i=(o=a).copy()).on(t,n),s.on=i}}function _m(e,t){var n=this._id;return arguments.length<2?Ve(this.node(),n).on.on(e):this.each(wm(n,e,t))}function $m(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function bm(){return this.on("end.remove",$m(this._id))}function xm(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Mi(e));for(var o=this._groups,i=o.length,r=new Array(i),s=0;s<i;++s)for(var a=o[s],l=a.length,u=r[s]=new Array(l),c,d,h=0;h<l;++h)(c=a[h])&&(d=e.call(c,c.__data__,h,a))&&("__data__"in c&&(d.__data__=c.__data__),u[h]=d,No(u[h],t,n,h,u,Ve(c,n)));return new ot(r,this._parents,t,n)}function Em(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ea(e));for(var o=this._groups,i=o.length,r=[],s=[],a=0;a<i;++a)for(var l=o[a],u=l.length,c,d=0;d<u;++d)if(c=l[d]){for(var h=e.call(c,c.__data__,d,l),g,x=Ve(c,n),$=0,E=h.length;$<E;++$)(g=h[$])&&No(g,t,n,$,h,x);r.push(h),s.push(c)}return new ot(r,s,t,n)}var Sm=yn.prototype.constructor;function Nm(){return new Sm(this._groups,this._parents)}function Mm(e,t){var n,o,i;return function(){var r=Vt(this,e),s=(this.style.removeProperty(e),Vt(this,e));return r===s?null:r===n&&s===o?i:i=t(n=r,o=s)}}function ba(e){return function(){this.style.removeProperty(e)}}function Cm(e,t,n){var o,i=n+"",r;return function(){var s=Vt(this,e);return s===i?null:s===o?r:r=t(o=s,n)}}function km(e,t,n){var o,i,r;return function(){var s=Vt(this,e),a=n(this),l=a+"";return a==null&&(l=a=(this.style.removeProperty(e),Vt(this,e))),s===l?null:s===o&&l===i?r:(i=l,r=t(o=s,a))}}function Im(e,t){var n,o,i,r="style."+t,s="end."+r,a;return function(){var l=Ze(this,e),u=l.on,c=l.value[r]==null?a||(a=ba(t)):void 0;(u!==n||i!==c)&&(o=(n=u).copy()).on(s,i=c),l.on=o}}function Tm(e,t,n){var o=(e+="")=="transform"?Tp:$a;return t==null?this.styleTween(e,Mm(e,o)).on("end.style."+e,ba(e)):typeof t=="function"?this.styleTween(e,km(e,o,Ai(this,"style."+e,t))).each(Im(this._id,e)):this.styleTween(e,Cm(e,o,t),n).on("end.style."+e,null)}function Am(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function Dm(e,t,n){var o,i;function r(){var s=t.apply(this,arguments);return s!==i&&(o=(i=s)&&Am(e,s,n)),o}return r._value=t,r}function zm(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,Dm(e,t,n??""))}function Pm(e){return function(){this.textContent=e}}function Bm(e){return function(){var t=e(this);this.textContent=t??""}}function Om(e){return this.tween("text",typeof e=="function"?Bm(Ai(this,"text",e)):Pm(e==null?"":e+""))}function Rm(e){return function(t){this.textContent=e.call(this,t)}}function Vm(e){var t,n;function o(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&Rm(i)),t}return o._value=e,o}function Hm(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,Vm(e))}function Fm(){for(var e=this._name,t=this._id,n=xa(),o=this._groups,i=o.length,r=0;r<i;++r)for(var s=o[r],a=s.length,l,u=0;u<a;++u)if(l=s[u]){var c=Ve(l,t);No(l,e,n,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new ot(o,this._parents,e,n)}function Lm(){var e,t,n=this,o=n._id,i=n.size();return new Promise(function(r,s){var a={value:s},l={value:function(){--i===0&&r()}};n.each(function(){var u=Ze(this,o),c=u.on;c!==e&&(t=(e=c).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(l)),u.on=t}),i===0&&r()})}var Ym=0;function ot(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function xa(){return++Ym}var Ke=yn.prototype;ot.prototype={constructor:ot,select:xm,selectAll:Em,selectChild:Ke.selectChild,selectChildren:Ke.selectChildren,filter:pm,merge:mm,selection:Nm,transition:Fm,call:Ke.call,nodes:Ke.nodes,node:Ke.node,size:Ke.size,empty:Ke.empty,each:Ke.each,on:_m,attr:em,attrTween:rm,style:Tm,styleTween:zm,text:Om,textTween:Hm,remove:bm,tween:Zp,delay:lm,duration:dm,ease:hm,easeVarying:vm,end:Lm,[Symbol.iterator]:Ke[Symbol.iterator]};function Xm(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Gm={time:null,delay:0,duration:250,ease:Xm};function Um(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 Zm(e){var t,n;e instanceof ot?(t=e._id,e=e._name):(t=xa(),(n=Gm).time=Ii(),e=e==null?null:e+"");for(var o=this._groups,i=o.length,r=0;r<i;++r)for(var s=o[r],a=s.length,l,u=0;u<a;++u)(l=s[u])&&No(l,e,t,u,s,n||Um(l,t));return new ot(o,this._parents,e,t)}yn.prototype.interrupt=Xp;yn.prototype.transition=Zm;const Dn=e=>()=>e;function Wm(e,{sourceEvent:t,target:n,transform:o,dispatch:i}){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:o,enumerable:!0,configurable:!0},_:{value:i}})}function et(e,t,n){this.k=e,this.x=t,this.y=n}et.prototype={constructor:et,scale:function(e){return e===1?this:new et(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new et(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 Di=new et(1,0,0);et.prototype;function Ho(e){e.stopImmediatePropagation()}function Ut(e){e.preventDefault(),e.stopImmediatePropagation()}function Km(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function qm(){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 Vr(){return this.__zoom||Di}function Qm(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Jm(){return navigator.maxTouchPoints||"ontouchstart"in this}function jm(e,t,n){var o=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i),s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s))}function e0(){var e=Km,t=qm,n=jm,o=Qm,i=Jm,r=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Bp,u=Ni("start","zoom","end"),c,d,h,g=500,x=150,$=0,E=10;function b(f){f.property("__zoom",Vr).on("wheel.zoom",V,{passive:!1}).on("mousedown.zoom",J).on("dblclick.zoom",R).filter(i).on("touchstart.zoom",F).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",Z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(f,N,v,k){var S=f.selection?f.selection():f;S.property("__zoom",Vr),f!==S?B(f,N,v,k):S.interrupt().each(function(){H(this,arguments).event(k).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},b.scaleBy=function(f,N,v,k){b.scaleTo(f,function(){var S=this.__zoom.k,T=typeof N=="function"?N.apply(this,arguments):N;return S*T},v,k)},b.scaleTo=function(f,N,v,k){b.transform(f,function(){var S=t.apply(this,arguments),T=this.__zoom,I=v==null?C(S):typeof v=="function"?v.apply(this,arguments):v,z=T.invert(I),L=typeof N=="function"?N.apply(this,arguments):N;return n(w(A(T,L),I,z),S,s)},v,k)},b.translateBy=function(f,N,v,k){b.transform(f,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof v=="function"?v.apply(this,arguments):v),t.apply(this,arguments),s)},null,k)},b.translateTo=function(f,N,v,k,S){b.transform(f,function(){var T=t.apply(this,arguments),I=this.__zoom,z=k==null?C(T):typeof k=="function"?k.apply(this,arguments):k;return n(Di.translate(z[0],z[1]).scale(I.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof v=="function"?-v.apply(this,arguments):-v),T,s)},k,S)};function A(f,N){return N=Math.max(r[0],Math.min(r[1],N)),N===f.k?f:new et(N,f.x,f.y)}function w(f,N,v){var k=N[0]-v[0]*f.k,S=N[1]-v[1]*f.k;return k===f.x&&S===f.y?f:new et(f.k,k,S)}function C(f){return[(+f[0][0]+ +f[1][0])/2,(+f[0][1]+ +f[1][1])/2]}function B(f,N,v,k){f.on("start.zoom",function(){H(this,arguments).event(k).start()}).on("interrupt.zoom end.zoom",function(){H(this,arguments).event(k).end()}).tween("zoom",function(){var S=this,T=arguments,I=H(S,T).event(k),z=t.apply(S,T),L=v==null?C(z):typeof v=="function"?v.apply(S,T):v,W=Math.max(z[1][0]-z[0][0],z[1][1]-z[0][1]),P=S.__zoom,Y=typeof N=="function"?N.apply(S,T):N,X=l(P.invert(L).concat(W/P.k),Y.invert(L).concat(W/Y.k));return function(ne){if(ne===1)ne=Y;else{var ie=X(ne),se=W/ie[2];ne=new et(se,L[0]-ie[0]*se,L[1]-ie[1]*se)}I.zoom(null,ne)}})}function H(f,N,v){return!v&&f.__zooming||new O(f,N)}function O(f,N){this.that=f,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(f,N),this.taps=0}O.prototype={event:function(f){return f&&(this.sourceEvent=f),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(f,N){return this.mouse&&f!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&f!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&f!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(f){var N=ut(this.that).datum();u.call(f,this.that,new Wm(f,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),N)}};function V(f,...N){if(!e.apply(this,arguments))return;var v=H(this,N).event(f),k=this.__zoom,S=Math.max(r[0],Math.min(r[1],k.k*Math.pow(2,o.apply(this,arguments)))),T=st(f);if(v.wheel)(v.mouse[0][0]!==T[0]||v.mouse[0][1]!==T[1])&&(v.mouse[1]=k.invert(v.mouse[0]=T)),clearTimeout(v.wheel);else{if(k.k===S)return;v.mouse=[T,k.invert(T)],Xn(this),v.start()}Ut(f),v.wheel=setTimeout(I,x),v.zoom("mouse",n(w(A(k,S),v.mouse[0],v.mouse[1]),v.extent,s));function I(){v.wheel=null,v.end()}}function J(f,...N){if(h||!e.apply(this,arguments))return;var v=f.currentTarget,k=H(this,N,!0).event(f),S=ut(f.view).on("mousemove.zoom",L,!0).on("mouseup.zoom",W,!0),T=st(f,v),I=f.clientX,z=f.clientY;up(f.view),Ho(f),k.mouse=[T,this.__zoom.invert(T)],Xn(this),k.start();function L(P){if(Ut(P),!k.moved){var Y=P.clientX-I,X=P.clientY-z;k.moved=Y*Y+X*X>$}k.event(P).zoom("mouse",n(w(k.that.__zoom,k.mouse[0]=st(P,v),k.mouse[1]),k.extent,s))}function W(P){S.on("mousemove.zoom mouseup.zoom",null),cp(P.view,k.moved),Ut(P),k.event(P).end()}}function R(f,...N){if(e.apply(this,arguments)){var v=this.__zoom,k=st(f.changedTouches?f.changedTouches[0]:f,this),S=v.invert(k),T=v.k*(f.shiftKey?.5:2),I=n(w(A(v,T),k,S),t.apply(this,N),s);Ut(f),a>0?ut(this).transition().duration(a).call(B,I,k,f):ut(this).call(b.transform,I,k,f)}}function F(f,...N){if(e.apply(this,arguments)){var v=f.touches,k=v.length,S=H(this,N,f.changedTouches.length===k).event(f),T,I,z,L;for(Ho(f),I=0;I<k;++I)z=v[I],L=st(z,this),L=[L,this.__zoom.invert(L),z.identifier],S.touch0?!S.touch1&&S.touch0[2]!==L[2]&&(S.touch1=L,S.taps=0):(S.touch0=L,T=!0,S.taps=1+!!c);c&&(c=clearTimeout(c)),T&&(S.taps<2&&(d=L[0],c=setTimeout(function(){c=null},g)),Xn(this),S.start())}}function M(f,...N){if(this.__zooming){var v=H(this,N).event(f),k=f.changedTouches,S=k.length,T,I,z,L;for(Ut(f),T=0;T<S;++T)I=k[T],z=st(I,this),v.touch0&&v.touch0[2]===I.identifier?v.touch0[0]=z:v.touch1&&v.touch1[2]===I.identifier&&(v.touch1[0]=z);if(I=v.that.__zoom,v.touch1){var W=v.touch0[0],P=v.touch0[1],Y=v.touch1[0],X=v.touch1[1],ne=(ne=Y[0]-W[0])*ne+(ne=Y[1]-W[1])*ne,ie=(ie=X[0]-P[0])*ie+(ie=X[1]-P[1])*ie;I=A(I,Math.sqrt(ne/ie)),z=[(W[0]+Y[0])/2,(W[1]+Y[1])/2],L=[(P[0]+X[0])/2,(P[1]+X[1])/2]}else if(v.touch0)z=v.touch0[0],L=v.touch0[1];else return;v.zoom("touch",n(w(I,z,L),v.extent,s))}}function Z(f,...N){if(this.__zooming){var v=H(this,N).event(f),k=f.changedTouches,S=k.length,T,I;for(Ho(f),h&&clearTimeout(h),h=setTimeout(function(){h=null},g),T=0;T<S;++T)I=k[T],v.touch0&&v.touch0[2]===I.identifier?delete v.touch0:v.touch1&&v.touch1[2]===I.identifier&&delete v.touch1;if(v.touch1&&!v.touch0&&(v.touch0=v.touch1,delete v.touch1),v.touch0)v.touch0[1]=this.__zoom.invert(v.touch0[0]);else if(v.end(),v.taps===2&&(I=st(I,this),Math.hypot(d[0]-I[0],d[1]-I[1])<E)){var z=ut(this).on("dblclick.zoom");z&&z.apply(this,arguments)}}}return b.wheelDelta=function(f){return arguments.length?(o=typeof f=="function"?f:Dn(+f),b):o},b.filter=function(f){return arguments.length?(e=typeof f=="function"?f:Dn(!!f),b):e},b.touchable=function(f){return arguments.length?(i=typeof f=="function"?f:Dn(!!f),b):i},b.extent=function(f){return arguments.length?(t=typeof f=="function"?f:Dn([[+f[0][0],+f[0][1]],[+f[1][0],+f[1][1]]]),b):t},b.scaleExtent=function(f){return arguments.length?(r[0]=+f[0],r[1]=+f[1],b):[r[0],r[1]]},b.translateExtent=function(f){return arguments.length?(s[0][0]=+f[0][0],s[1][0]=+f[1][0],s[0][1]=+f[0][1],s[1][1]=+f[1][1],b):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},b.constrain=function(f){return arguments.length?(n=f,b):n},b.duration=function(f){return arguments.length?(a=+f,b):a},b.interpolate=function(f){return arguments.length?(l=f,b):l},b.on=function(){var f=u.on.apply(u,arguments);return f===u?b:f},b.clickDistance=function(f){return arguments.length?($=(f=+f)*f,b):Math.sqrt($)},b.tapDistance=function(f){return arguments.length?(E=+f,b):E},b}const Ea=Symbol("MiniMapSlots"),t0=["id","x","y","rx","ry","width","height","fill","stroke","stroke-width","shape-rendering"],n0={name:"MiniMapNode",compatConfig:{MODE:3},inheritAttrs:!1},o0=ye({...n0,props:{id:{},type:{},selected:{type:Boolean},dragging:{type:Boolean},position:{},dimensions:{},borderRadius:{},color:{},shapeRendering:{},strokeColor:{},strokeWidth:{},hidden:{type:Boolean}},emits:["click","dblclick","mouseenter","mousemove","mouseleave"],setup(e,{emit:t}){const n=e,o=Ct(Ea),i=hi(),r=ge(()=>i.style??{});function s(d){t("click",d)}function a(d){t("dblclick",d)}function l(d){t("mouseenter",d)}function u(d){t("mousemove",d)}function c(d){t("mouseleave",d)}return(d,h)=>!d.hidden&&d.dimensions.width!==0&&d.dimensions.height!==0?(te(),le(Ie,{key:0},[U(o)[`node-${n.type}`]?(te(),Ne(gt(U(o)[`node-${n.type}`]),Oa(Zn({key:0},{...n,...d.$attrs})),null,16)):(te(),le("rect",Zn({key:1,id:d.id},d.$attrs,{class:["vue-flow__minimap-node",{selected:d.selected,dragging:d.dragging}],x:d.position.x,y:d.position.y,rx:d.borderRadius,ry:d.borderRadius,width:d.dimensions.width,height:d.dimensions.height,fill:d.color||r.value.background||r.value.backgroundColor,stroke:d.strokeColor,"stroke-width":d.strokeWidth,"shape-rendering":d.shapeRendering,onClick:s,onDblclick:a,onMouseenter:l,onMousemove:u,onMouseleave:c}),null,16,t0))],64)):xe("",!0)}}),i0=["width","height","viewBox","aria-labelledby"],r0=["id"],s0=["d","fill","stroke","stroke-width"],a0={name:"MiniMap",compatConfig:{MODE:3}},f0=ye({...a0,props:{nodeColor:{type:[String,Function],default:"#e2e2e2"},nodeStrokeColor:{type:[String,Function],default:"transparent"},nodeClassName:{type:[String,Function]},nodeBorderRadius:{default:5},nodeStrokeWidth:{default:2},maskColor:{default:"rgb(240, 240, 240, 0.6)"},maskStrokeColor:{default:"none"},maskStrokeWidth:{default:1},position:{default:"bottom-right"},pannable:{type:Boolean,default:!1},zoomable:{type:Boolean,default:!1},width:{},height:{},ariaLabel:{default:"Vue Flow mini map"},inversePan:{type:Boolean,default:!1},zoomStep:{default:1},offsetScale:{default:5},maskBorderRadius:{default:0}},emits:["click","nodeClick","nodeDblclick","nodeMouseenter","nodeMousemove","nodeMouseleave"],setup(e,{emit:t}){const n=Lr(),o=hi(),i=200,r=150,{id:s,edges:a,viewport:l,translateExtent:u,dimensions:c,emits:d,d3Selection:h,d3Zoom:g,getNodesInitialized:x}=we(),$=$e();xt(Ea,n);const E=ge(()=>{var S;return e.width??((S=o.style)==null?void 0:S.width)??i}),b=ge(()=>{var S;return e.height??((S=o.style)==null?void 0:S.height)??r}),A=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision",w=oe(()=>typeof e.nodeColor=="string"?()=>e.nodeColor:e.nodeColor),C=oe(()=>typeof e.nodeStrokeColor=="string"?()=>e.nodeStrokeColor:e.nodeStrokeColor),B=oe(()=>typeof e.nodeClassName=="string"?()=>e.nodeClassName:typeof e.nodeClassName=="function"?e.nodeClassName:()=>""),H=oe(()=>bi(x.value.filter(S=>!S.hidden))),O=oe(()=>({x:-l.value.x/l.value.zoom,y:-l.value.y/l.value.zoom,width:c.value.width/l.value.zoom,height:c.value.height/l.value.zoom})),V=oe(()=>x.value&&x.value.length?Ld(H.value,O.value):O.value),J=oe(()=>{const S=V.value.width/E.value,T=V.value.height/b.value;return Math.max(S,T)}),R=oe(()=>{const S=J.value*E.value,T=J.value*b.value,I=e.offsetScale*J.value;return{offset:I,x:V.value.x-(S-V.value.width)/2-I,y:V.value.y-(T-V.value.height)/2-I,width:S+I*2,height:T+I*2}}),F=oe(()=>!R.value.x||!R.value.y?"":`
|
|
27
|
+
M${R.value.x-R.value.offset},${R.value.y-R.value.offset}
|
|
28
|
+
h${R.value.width+R.value.offset*2}
|
|
29
|
+
v${R.value.height+R.value.offset*2}
|
|
30
|
+
h${-R.value.width-R.value.offset*2}z
|
|
31
|
+
M${O.value.x+e.maskBorderRadius},${O.value.y}
|
|
32
|
+
h${O.value.width-2*e.maskBorderRadius}
|
|
33
|
+
a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 ${e.maskBorderRadius},${e.maskBorderRadius}
|
|
34
|
+
v${O.value.height-2*e.maskBorderRadius}
|
|
35
|
+
a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 -${e.maskBorderRadius},${e.maskBorderRadius}
|
|
36
|
+
h${-(O.value.width-2*e.maskBorderRadius)}
|
|
37
|
+
a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 -${e.maskBorderRadius},-${e.maskBorderRadius}
|
|
38
|
+
v${-(O.value.height-2*e.maskBorderRadius)}
|
|
39
|
+
a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 ${e.maskBorderRadius},-${e.maskBorderRadius}z`);Ba(S=>{if($.value){const T=ut($.value),I=W=>{if(W.sourceEvent.type!=="wheel"||!h.value||!g.value)return;const P=W.sourceEvent.ctrlKey&&cn()?10:1,Y=-W.sourceEvent.deltaY*(W.sourceEvent.deltaMode===1?.05:W.sourceEvent.deltaMode?1:.002)*e.zoomStep,X=l.value.zoom*2**(Y*P);g.value.scaleTo(h.value,X)},z=W=>{if(W.sourceEvent.type!=="mousemove"||!h.value||!g.value)return;const P=J.value*Math.max(1,l.value.zoom)*(e.inversePan?-1:1),Y={x:l.value.x-W.sourceEvent.movementX*P,y:l.value.y-W.sourceEvent.movementY*P},X=[[0,0],[c.value.width,c.value.height]],ne=Di.translate(Y.x,Y.y).scale(l.value.zoom),ie=g.value.constrain()(ne,X,u.value);g.value.transform(h.value,ie)},L=e0().wheelDelta(W=>jo(W)*(e.zoomStep/10)).on("zoom",e.pannable?z:()=>{}).on("zoom.wheel",e.zoomable?I:()=>{});T.call(L),S(()=>{T.on("zoom",null)})}},{flush:"post"});function M(S){const[T,I]=st(S);t("click",{event:S,position:{x:T,y:I}})}function Z(S,T){const I={event:S,node:T,connectedEdges:pt([T],a.value)};d.miniMapNodeClick(I),t("nodeClick",I)}function f(S,T){const I={event:S,node:T,connectedEdges:pt([T],a.value)};d.miniMapNodeDoubleClick(I),t("nodeDblclick",I)}function N(S,T){const I={event:S,node:T,connectedEdges:pt([T],a.value)};d.miniMapNodeMouseEnter(I),t("nodeMouseenter",I)}function v(S,T){const I={event:S,node:T,connectedEdges:pt([T],a.value)};d.miniMapNodeMouseMove(I),t("nodeMousemove",I)}function k(S,T){const I={event:S,node:T,connectedEdges:pt([T],a.value)};d.miniMapNodeMouseLeave(I),t("nodeMouseleave",I)}return(S,T)=>(te(),Ne(U(qs),{position:S.position,class:ct(["vue-flow__minimap",{pannable:S.pannable,zoomable:S.zoomable}])},{default:qe(()=>[(te(),le("svg",{ref_key:"el",ref:$,width:E.value,height:b.value,viewBox:[R.value.x,R.value.y,R.value.width,R.value.height].join(" "),role:"img","aria-labelledby":`vue-flow__minimap-${U(s)}`,onClick:M},[S.ariaLabel?(te(),le("title",{key:0,id:`vue-flow__minimap-${U(s)}`},Un(S.ariaLabel),9,r0)):xe("",!0),(te(!0),le(Ie,null,fo(U(x),I=>(te(),Ne(o0,{id:I.id,key:I.id,f:"",position:I.computedPosition,dimensions:I.dimensions,selected:I.selected,dragging:I.dragging,style:Oe(I.style),class:ct(B.value(I)),color:w.value(I),"border-radius":S.nodeBorderRadius,"stroke-color":C.value(I),"stroke-width":S.nodeStrokeWidth,"shape-rendering":U(A),type:I.type,hidden:I.hidden,onClick:z=>Z(z,I),onDblclick:z=>f(z,I),onMouseenter:z=>N(z,I),onMousemove:z=>v(z,I),onMouseleave:z=>k(z,I)},null,8,["id","position","dimensions","selected","dragging","style","class","color","border-radius","stroke-color","stroke-width","shape-rendering","type","hidden","onClick","onDblclick","onMouseenter","onMousemove","onMouseleave"]))),128)),Me("path",{class:"vue-flow__minimap-mask",d:F.value,fill:S.maskColor,stroke:S.maskStrokeColor,"stroke-width":S.maskStrokeWidth,"fill-rule":"evenodd"},null,8,s0)],8,i0))]),_:1},8,["position","class"]))}});export{j as P,io as _,u0 as a,c0 as b,d0 as c,f0 as d,we as u};
|