@contextware/openshellpolicy 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/404/index.html +1 -1
- package/out/404.html +1 -1
- package/out/__next.__PAGE__.txt +1 -1
- package/out/__next._full.txt +3 -3
- package/out/__next._head.txt +1 -1
- package/out/__next._index.txt +2 -2
- package/out/__next._tree.txt +2 -2
- package/out/_next/static/chunks/{0q5sv1c3~f~6_.js → 00oso7-p10j4s.js} +2 -2
- package/out/_next/static/chunks/{1053mtp06d184.js → 06nbqselbcg3s.js} +1 -1
- package/out/_next/static/chunks/0u4pcq0~e4eqs.css +3 -0
- package/out/_not-found/__next._full.txt +2 -2
- package/out/_not-found/__next._head.txt +1 -1
- package/out/_not-found/__next._index.txt +2 -2
- package/out/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/out/_not-found/__next._not-found.txt +1 -1
- package/out/_not-found/__next._tree.txt +2 -2
- package/out/_not-found/index.html +1 -1
- package/out/_not-found/index.txt +2 -2
- package/out/editor/__next._full.txt +3 -3
- package/out/editor/__next._head.txt +1 -1
- package/out/editor/__next._index.txt +2 -2
- package/out/editor/__next._tree.txt +2 -2
- package/out/editor/__next.editor.__PAGE__.txt +2 -2
- package/out/editor/__next.editor.txt +1 -1
- package/out/editor/index.html +1 -1
- package/out/editor/index.txt +3 -3
- package/out/index.html +1 -1
- package/out/index.txt +3 -3
- package/package.json +1 -1
- package/out/_next/static/chunks/0.427cuqgjq95.css +0 -3
- /package/out/_next/static/{qtKVjw_mFYJmKTUDPeHHa → wNYCfqgSdekpP7qQKgXwZ}/_buildManifest.js +0 -0
- /package/out/_next/static/{qtKVjw_mFYJmKTUDPeHHa → wNYCfqgSdekpP7qQKgXwZ}/_clientMiddlewareManifest.js +0 -0
- /package/out/_next/static/{qtKVjw_mFYJmKTUDPeHHa → wNYCfqgSdekpP7qQKgXwZ}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55838,(e,t,n)=>{"use strict";var r=e.r(71645),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=r.useState,a=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),o=r[0].inst,c=r[1];return l(function(){o.value=n,o.getSnapshot=t,u(o)&&c({inst:o})},[e,n,t]),a(function(){return u(o)&&c({inst:o}),e(function(){u(o)&&c({inst:o})})},[e]),s(n),n};n.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},2239,(e,t,n)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,n)=>{"use strict";var r=e.r(71645),o=e.r(2239),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=o.useSyncExternalStore,l=r.useRef,s=r.useEffect,u=r.useMemo,c=r.useDebugValue;n.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=l(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var h=a(e,(d=u(function(){function e(e){if(!s){if(s=!0,a=e,e=r(e),void 0!==o&&f.hasValue){var t=f.value;if(o(t,e))return l=t}return l=e}if(t=l,i(a,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(a=e,t):(a=e,l=n)}var a,l,s=!1,u=void 0===n?null:n;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,n,r,o]))[0],d[1]);return s(function(){f.hasValue=!0,f.value=h},[h]),c(h),h}},30224,(e,t,n)=>{"use strict";t.exports=e.r(52822)},86492,e=>{"use strict";var t,n,r,o,i,a,l,s,u,c,d,f,h,p,m,g=e.i(43476),y=e.i(71645);function v(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)""!==(r=v(e[n]))&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}e.i(47167);var x=e.i(30224);let b={get url(){return`file://${e.P("node_modules/zustand/esm/vanilla.mjs")}`}},w=e=>{let t,n=new Set,r=(e,r)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,i={setState:r,getState:o,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{(b.env?b.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},a=t=e(r,o,i);return i},{useDebugValue:_}=y.default,{useSyncExternalStoreWithSelector:S}=x.default,E=e=>e;function M(e,t=E,n){let r=S(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return _(r),r}let k=(e,t)=>{let n=e?w(e):w,r=(e,r=t)=>M(n,e,r);return Object.assign(r,n),r};function N(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var C={value:()=>{}};function A(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw Error("illegal type: "+e);r[e]=[]}return new $(r)}function $(e){this._=e}function z(e,t,n){for(var r=0,o=e.length;r<o;++r)if(e[r].name===t){e[r]=C,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}function P(){}function R(e){return null==e?P:function(){return this.querySelector(e)}}function O(){return[]}function I(e){return null==e?O:function(){return this.querySelectorAll(e)}}function D(e){return function(){return this.matches(e)}}function T(e){return function(t){return t.matches(e)}}$.prototype=A.prototype={constructor:$,on:function(e,t){var n,r=this._,o=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!r.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),i=-1,a=o.length;if(arguments.length<2){for(;++i<a;)if((n=(e=o[i]).type)&&(n=function(e,t){for(var n,r=0,o=e.length;r<o;++r)if((n=e[r]).name===t)return n.value}(r[n],e.name)))return n;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++i<a;)if(n=(e=o[i]).type)r[n]=z(r[n],e.name,t);else if(null==t)for(n in r)r[n]=z(r[n],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new $(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,o=Array(n),i=0;i<n;++i)o[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(r=this._[e],i=0,n=r.length;i<n;++i)r[i].value.apply(t,o)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}};var B=Array.prototype.find;function H(){return this.firstElementChild}var L=Array.prototype.filter;function j(){return Array.from(this.children)}function V(e){return Array(e.length)}function X(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Y(e,t,n,r,o,i){for(var a,l=0,s=t.length,u=i.length;l<u;++l)(a=t[l])?(a.__data__=i[l],r[l]=a):n[l]=new X(e,i[l]);for(;l<s;++l)(a=t[l])&&(o[l]=a)}function F(e,t,n,r,o,i,a){var l,s,u,c=new Map,d=t.length,f=i.length,h=Array(d);for(l=0;l<d;++l)(s=t[l])&&(h[l]=u=a.call(s,s.__data__,l,t)+"",c.has(u)?o[l]=s:c.set(u,s));for(l=0;l<f;++l)u=a.call(e,i[l],l,i)+"",(s=c.get(u))?(r[l]=s,s.__data__=i[l],c.delete(u)):n[l]=new X(e,i[l]);for(l=0;l<d;++l)(s=t[l])&&c.get(h[l])===s&&(o[l]=s)}function W(e){return e.__data__}function K(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}X.prototype={constructor:X,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)}};var q="http://www.w3.org/1999/xhtml";let Z={svg:"http://www.w3.org/2000/svg",xhtml:q,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function U(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Z.hasOwnProperty(t)?{space:Z[t],local:e}:e}function G(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Q(e,t){return e.style.getPropertyValue(t)||G(e).getComputedStyle(e,null).getPropertyValue(t)}function J(e){return e.trim().split(/^|\s+/)}function ee(e){return e.classList||new et(e)}function et(e){this._node=e,this._names=J(e.getAttribute("class")||"")}function en(e,t){for(var n=ee(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function er(e,t){for(var n=ee(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function eo(){this.textContent=""}function ei(){this.innerHTML=""}function ea(){this.nextSibling&&this.parentNode.appendChild(this)}function el(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function es(e){var t=U(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===q&&t.documentElement.namespaceURI===q?t.createElement(e):t.createElementNS(n,e)}})(t)}function eu(){return null}function ec(){var e=this.parentNode;e&&e.removeChild(this)}function ed(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ef(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function eh(e){return function(){var t=this.__on;if(t){for(var n,r=0,o=-1,i=t.length;r<i;++r)(n=t[r],e.type&&n.type!==e.type||n.name!==e.name)?t[++o]=n:this.removeEventListener(n.type,n.listener,n.options);++o?t.length=o:delete this.__on}}}function ep(e,t,n){return function(){var r,o=this.__on,i=function(e){t.call(this,e,this.__data__)};if(o){for(var a=0,l=o.length;a<l;++a)if((r=o[a]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function em(e,t,n){var r=G(e),o=r.CustomEvent;"function"==typeof o?o=new o(t,n):(o=r.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}et.prototype={add:function(e){0>this._names.indexOf(e)&&(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}};var eg=[null];function ey(e,t){this._groups=e,this._parents=t}function ev(){return new ey([[document.documentElement]],eg)}function ex(e){return"string"==typeof e?new ey([[document.querySelector(e)]],[document.documentElement]):new ey([[e]],eg)}ey.prototype=ev.prototype={constructor:ey,select:function(e){"function"!=typeof e&&(e=R(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a,l=t[o],s=l.length,u=r[o]=Array(s),c=0;c<s;++c)(i=l[c])&&(a=e.call(i,i.__data__,c,l))&&("__data__"in i&&(a.__data__=i.__data__),u[c]=a);return new ey(r,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=I(e);for(var n=this._groups,r=n.length,o=[],i=[],a=0;a<r;++a)for(var l,s=n[a],u=s.length,c=0;c<u;++c)(l=s[c])&&(o.push(e.call(l,l.__data__,c,s)),i.push(l));return new ey(o,i)},selectChild:function(e){var t;return this.select(null==e?H:(t="function"==typeof e?e:T(e),function(){return B.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?j:(t="function"==typeof e?e:T(e),function(){return L.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=D(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a=t[o],l=a.length,s=r[o]=[],u=0;u<l;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&s.push(i);return new ey(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,W);var n=t?F:Y,r=this._parents,o=this._groups;"function"!=typeof e&&(v=e,e=function(){return v});for(var i=o.length,a=Array(i),l=Array(i),s=Array(i),u=0;u<i;++u){var c=r[u],d=o[u],f=d.length,h="object"==typeof(y=e.call(c,c&&c.__data__,u,r))&&"length"in y?y:Array.from(y),p=h.length,m=l[u]=Array(p),g=a[u]=Array(p);n(c,d,m,g,s[u]=Array(f),h,t);for(var y,v,x,b,w=0,_=0;w<p;++w)if(x=m[w]){for(w>=_&&(_=w+1);!(b=g[_])&&++_<p;);x._next=b||null}}return(a=new ey(a,r))._enter=l,a._exit=s,a},enter:function(){return new ey(this._enter||this._groups.map(V),this._parents)},exit:function(){return new ey(this._exit||this._groups.map(V),this._parents)},join:function(e,t,n){var r=this.enter(),o=this,i=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(o=t(o))&&(o=o.selection()),null==n?i.remove():n(i),r&&o?r.merge(o).order():o},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,a=Math.min(o,i),l=Array(o),s=0;s<a;++s)for(var u,c=n[s],d=r[s],f=c.length,h=l[s]=Array(f),p=0;p<f;++p)(u=c[p]||d[p])&&(h[p]=u);for(;s<o;++s)l[s]=n[s];return new ey(l,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,o=e[t],i=o.length-1,a=o[i];--i>=0;)(r=o[i])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=K);for(var n=this._groups,r=n.length,o=Array(r),i=0;i<r;++i){for(var a,l=n[i],s=l.length,u=o[i]=Array(s),c=0;c<s;++c)(a=l[c])&&(u[c]=a);u.sort(t)}return new ey(o,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o,i=t[n],a=0,l=i.length;a<l;++a)(o=i[a])&&e.call(o,o.__data__,a,i);return this},attr:function(e,t){var n=U(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?n.local?function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}:function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}:n.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}:function(e,t,n){return function(){this.style.setProperty(e,t,n)}})(e,t,null==n?"":n)):Q(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var n=J(e+"");if(arguments.length<2){for(var r=ee(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?en:er)(this,e)}}:t?function(e){return function(){en(this,e)}}:function(e){return function(){er(this,e)}})(n,t))},text:function(e){return arguments.length?this.each(null==e?eo:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?ei:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(ea)},lower:function(){return this.each(el)},append:function(e){var t="function"==typeof e?e:es(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:es(e),r=null==t?eu:"function"==typeof t?t:R(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(ec)},clone:function(e){return this.select(e?ef:ed)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,o,i=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}),a=i.length;if(arguments.length<2){var l=this.node().__on;if(l){for(var s,u=0,c=l.length;u<c;++u)for(r=0,s=l[u];r<a;++r)if((o=i[r]).type===s.type&&o.name===s.name)return s.value}return}for(r=0,l=t?ep:eh;r<a;++r)this.each(l(i[r],t,n));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return em(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return em(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,o=e[t],i=0,a=o.length;i<a;++i)(r=o[i])&&(yield r)}};let eb={passive:!1},ew={capture:!0,passive:!1};function e_(e){e.stopImmediatePropagation()}function eS(e){e.preventDefault(),e.stopImmediatePropagation()}function eE(e){var t=e.document.documentElement,n=ex(e).on("dragstart.drag",eS,ew);"onselectstart"in t?n.on("selectstart.drag",eS,ew):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function eM(e,t){var n=e.document.documentElement,r=ex(e).on("dragstart.drag",null);t&&(r.on("click.drag",eS,ew),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function ek(e){return((e=Math.exp(e))+1/e)/2}let eN=function e(t,n,r){function o(e,o){var i,a,l=e[0],s=e[1],u=e[2],c=o[0],d=o[1],f=o[2],h=c-l,p=d-s,m=h*h+p*p;if(m<1e-12)a=Math.log(f/u)/t,i=function(e){return[l+e*h,s+e*p,u*Math.exp(t*e*a)]};else{var g=Math.sqrt(m),y=(f*f-u*u+r*m)/(2*u*n*g),v=(f*f-u*u-r*m)/(2*f*n*g),x=Math.log(Math.sqrt(y*y+1)-y);a=(Math.log(Math.sqrt(v*v+1)-v)-x)/t,i=function(e){var r,o,i=e*a,c=ek(x),d=u/(n*g)*(c*(((r=Math.exp(2*(r=t*i+x)))-1)/(r+1))-((o=Math.exp(o=x))-1/o)/2);return[l+d*h,s+d*p,u*c/ek(t*i+x)]}}return i.duration=1e3*a*t/Math.SQRT2,i}return o.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},o}(Math.SQRT2,2,4);function eC(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}var eA,e$,ez=0,eP=0,eR=0,eO=0,eI=0,eD=0,eT="object"==typeof performance&&performance.now?performance:Date,eB="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function eH(){return eI||(eB(eL),eI=eT.now()+eD)}function eL(){eI=0}function ej(){this._call=this._time=this._next=null}function eV(e,t,n){var r=new ej;return r.restart(e,t,n),r}function eX(){eI=(eO=eT.now())+eD,ez=eP=0;try{eH(),++ez;for(var e,t=eA;t;)(e=eI-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ez}finally{ez=0,function(){for(var e,t,n=eA,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:eA=t);e$=e,eF(r)}(),eI=0}}function eY(){var e=eT.now(),t=e-eO;t>1e3&&(eD-=t,eO=e)}function eF(e){!ez&&(eP&&(eP=clearTimeout(eP)),e-eI>24?(e<1/0&&(eP=setTimeout(eX,e-eT.now()-eD)),eR&&(eR=clearInterval(eR))):(eR||(eO=eT.now(),eR=setInterval(eY,1e3)),ez=1,eB(eX)))}function eW(e,t,n){var r=new ej;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}ej.prototype=eV.prototype={constructor:ej,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?eH():+n)+(null==t?0:+t),this._next||e$===this||(e$?e$._next=this:eA=this,e$=this),this._call=e,this._time=n,eF()},stop:function(){this._call&&(this._call=null,this._time=1/0,eF())}};var eK=A("start","end","cancel","interrupt"),eq=[];function eZ(e,t,n,r,o,i){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,o=e.__transition;function i(s){var u,c,d,f;if(1!==n.state)return l();for(u in o)if((f=o[u]).name===n.name){if(3===f.state)return eW(i);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[u]):+u<t&&(f.state=6,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[u])}if(eW(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(s))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(u=0,n.state=3,r=Array(d=n.tween.length),c=-1;u<d;++u)(f=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function a(t){for(var o=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(l),n.state=5,1),i=-1,a=r.length;++i<a;)r[i].call(e,o);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var r in n.state=6,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=eV(function(e){n.state=1,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)},0,n.time)}(e,n,{name:t,index:r,group:o,on:eK,tween:eq,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function eU(e,t){var n=eQ(e,t);if(n.state>0)throw Error("too late; already scheduled");return n}function eG(e,t){var n=eQ(e,t);if(n.state>3)throw Error("too late; already running");return n}function eQ(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error("transition not found");return n}function eJ(e,t){var n,r,o,i=e.__transition,a=!0;if(i){for(o in t=null==t?null:t+"",i){if((n=i[o]).name!==t){a=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[o]}a&&delete e.__transition}}function e0(e,t){return e*=1,t*=1,function(n){return e*(1-n)+t*n}}var e1=180/Math.PI,e2={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function e3(e,t,n,r,o,i){var a,l,s;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(s=e*n+t*r)&&(n-=e*s,r-=t*s),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,s/=l),e*r<t*n&&(e=-e,t=-t,s=-s,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*e1,skewX:Math.atan(s)*e1,scaleX:a,scaleY:l}}function e5(e,t,n,r){function o(e){return e.length?e.pop()+" ":""}return function(i,a){var l,s,u,c,d=[],f=[];return i=e(i),a=e(a),!function(e,r,o,i,a,l){if(e!==o||r!==i){var s=a.push("translate(",null,t,null,n);l.push({i:s-4,x:e0(e,o)},{i:s-2,x:e0(r,i)})}else(o||i)&&a.push("translate("+o+t+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,d,f),l=i.rotate,s=a.rotate,l!==s?(l-s>180?s+=360:s-l>180&&(l+=360),f.push({i:d.push(o(d)+"rotate(",null,r)-2,x:e0(l,s)})):s&&d.push(o(d)+"rotate("+s+r),u=i.skewX,c=a.skewX,u!==c?f.push({i:d.push(o(d)+"skewX(",null,r)-2,x:e0(u,c)}):c&&d.push(o(d)+"skewX("+c+r),!function(e,t,n,r,i,a){if(e!==n||t!==r){var l=i.push(o(i)+"scale(",null,",",null,")");a.push({i:l-4,x:e0(e,n)},{i:l-2,x:e0(t,r)})}else(1!==n||1!==r)&&i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,d,f),i=a=null,function(e){for(var t,n=-1,r=f.length;++n<r;)d[(t=f[n]).i]=t.x(e);return d.join("")}}}var e4=e5(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?e2:e3(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),e6=e5(function(e){return null==e?e2:(s||(s=document.createElementNS("http://www.w3.org/2000/svg","g")),s.setAttribute("transform",e),e=s.transform.baseVal.consolidate())?e3((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):e2},", ",")",")");function e8(e,t,n){var r=e._id;return e.each(function(){var e=eG(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return eQ(e,r).value[t]}}function e9(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function e7(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function te(){}var tt="\\s*([+-]?\\d+)\\s*",tn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",tr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",to=/^#([0-9a-f]{3,8})$/,ti=RegExp(`^rgb\\(${tt},${tt},${tt}\\)$`),ta=RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),tl=RegExp(`^rgba\\(${tt},${tt},${tt},${tn}\\)$`),ts=RegExp(`^rgba\\(${tr},${tr},${tr},${tn}\\)$`),tu=RegExp(`^hsl\\(${tn},${tr},${tr}\\)$`),tc=RegExp(`^hsla\\(${tn},${tr},${tr},${tn}\\)$`),td={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function tf(){return this.rgb().formatHex()}function th(){return this.rgb().formatRgb()}function tp(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=to.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?tm(t):3===n?new tv(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?tg(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?tg(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ti.exec(e))?new tv(t[1],t[2],t[3],1):(t=ta.exec(e))?new tv(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=tl.exec(e))?tg(t[1],t[2],t[3],t[4]):(t=ts.exec(e))?tg(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=tu.exec(e))?tE(t[1],t[2]/100,t[3]/100,1):(t=tc.exec(e))?tE(t[1],t[2]/100,t[3]/100,t[4]):td.hasOwnProperty(e)?tm(td[e]):"transparent"===e?new tv(NaN,NaN,NaN,0):null}function tm(e){return new tv(e>>16&255,e>>8&255,255&e,1)}function tg(e,t,n,r){return r<=0&&(e=t=n=NaN),new tv(e,t,n,r)}function ty(e,t,n,r){var o;return 1==arguments.length?((o=e)instanceof te||(o=tp(o)),o)?new tv((o=o.rgb()).r,o.g,o.b,o.opacity):new tv:new tv(e,t,n,null==r?1:r)}function tv(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function tx(){return`#${tS(this.r)}${tS(this.g)}${tS(this.b)}`}function tb(){let e=tw(this.opacity);return`${1===e?"rgb(":"rgba("}${t_(this.r)}, ${t_(this.g)}, ${t_(this.b)}${1===e?")":`, ${e})`}`}function tw(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 tS(e){return((e=t_(e))<16?"0":"")+e.toString(16)}function tE(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new tk(e,t,n,r)}function tM(e){if(e instanceof tk)return new tk(e.h,e.s,e.l,e.opacity);if(e instanceof te||(e=tp(e)),!e)return new tk;if(e instanceof tk)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,l=i-o,s=(i+o)/2;return l?(a=t===i?(n-r)/l+(n<r)*6:n===i?(r-t)/l+2:(t-n)/l+4,l/=s<.5?i+o:2-i-o,a*=60):l=s>0&&s<1?0:a,new tk(a,l,s,e.opacity)}function tk(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function tN(e){return(e=(e||0)%360)<0?e+360:e}function tC(e){return Math.max(0,Math.min(1,e||0))}function tA(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function t$(e,t,n,r,o){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*n+(1+3*e+3*i-3*a)*r+a*o)/6}e9(te,tp,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:tf,formatHex:tf,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tM(this).formatHsl()},formatRgb:th,toString:th}),e9(tv,ty,e7(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new tv(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new tv(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new tv(t_(this.r),t_(this.g),t_(this.b),tw(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:tx,formatHex:tx,formatHex8:function(){return`#${tS(this.r)}${tS(this.g)}${tS(this.b)}${tS((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tb,toString:tb})),e9(tk,function(e,t,n,r){return 1==arguments.length?tM(e):new tk(e,t,n,null==r?1:r)},e7(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new tk(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new tk(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,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new tv(tA(e>=240?e-240:e+120,o,r),tA(e,o,r),tA(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new tk(tN(this.h),tC(this.s),tC(this.l),tw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=tw(this.opacity);return`${1===e?"hsl(":"hsla("}${tN(this.h)}, ${100*tC(this.s)}%, ${100*tC(this.l)}%${1===e?")":`, ${e})`}`}}));let tz=e=>()=>e;function tP(e,t){var n=t-e;return n?function(t){return e+t*n}:tz(isNaN(e)?t:e)}let tR=function e(t){var n,r=1==(n=+t)?tP:function(e,t){var r,o,i;return t-e?(r=e,o=t,r=Math.pow(r,i=n),o=Math.pow(o,i)-r,i=1/i,function(e){return Math.pow(r+e*o,i)}):tz(isNaN(e)?t:e)};function o(e,t){var n=r((e=ty(e)).r,(t=ty(t)).r),o=r(e.g,t.g),i=r(e.b,t.b),a=tP(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+""}}return o.gamma=e,o}(1);function tO(e){return function(t){var n,r,o=t.length,i=Array(o),a=Array(o),l=Array(o);for(n=0;n<o;++n)r=ty(t[n]),i[n]=r.r||0,a[n]=r.g||0,l[n]=r.b||0;return i=e(i),a=e(a),l=e(l),r.opacity=1,function(e){return r.r=i(e),r.g=a(e),r.b=l(e),r+""}}}tO(function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],a=r>0?e[r-1]:2*o-i,l=r<t-1?e[r+2]:2*i-o;return t$((n-r/t)*t,a,o,i,l)}}),tO(function(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),o=e[(r+t-1)%t],i=e[r%t],a=e[(r+1)%t],l=e[(r+2)%t];return t$((n-r/t)*t,o,i,a,l)}});var tI=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tD=RegExp(tI.source,"g");function tT(e,t){var n;return("number"==typeof t?e0:t instanceof tp?tR:(n=tp(t))?(t=n,tR):function(e,t){var n,r,o,i,a,l=tI.lastIndex=tD.lastIndex=0,s=-1,u=[],c=[];for(e+="",t+="";(o=tI.exec(e))&&(i=tD.exec(t));)(a=i.index)>l&&(a=t.slice(l,a),u[s]?u[s]+=a:u[++s]=a),(o=o[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,c.push({i:s,x:e0(o,i)})),l=tD.lastIndex;return l<t.length&&(a=t.slice(l),u[s]?u[s]+=a:u[++s]=a),u.length<2?c[0]?(n=c[0].x,function(e){return n(e)+""}):(r=t,function(){return r}):(t=c.length,function(e){for(var n,r=0;r<t;++r)u[(n=c[r]).i]=n.x(e);return u.join("")})})(e,t)}var tB=ev.prototype.constructor;function tH(e){return function(){this.style.removeProperty(e)}}var tL=0;function tj(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}var tV=ev.prototype;tj.prototype=(function(e){return ev().transition(e)}).prototype={constructor:tj,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=R(e));for(var r=this._groups,o=r.length,i=Array(o),a=0;a<o;++a)for(var l,s,u=r[a],c=u.length,d=i[a]=Array(c),f=0;f<c;++f)(l=u[f])&&(s=e.call(l,l.__data__,f,u))&&("__data__"in l&&(s.__data__=l.__data__),d[f]=s,eZ(d[f],t,n,f,d,eQ(l,n)));return new tj(i,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=I(e));for(var r=this._groups,o=r.length,i=[],a=[],l=0;l<o;++l)for(var s,u=r[l],c=u.length,d=0;d<c;++d)if(s=u[d]){for(var f,h=e.call(s,s.__data__,d,u),p=eQ(s,n),m=0,g=h.length;m<g;++m)(f=h[m])&&eZ(f,t,n,m,h,p);i.push(h),a.push(s)}return new tj(i,a,t,n)},selectChild:tV.selectChild,selectChildren:tV.selectChildren,filter:function(e){"function"!=typeof e&&(e=D(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a=t[o],l=a.length,s=r[o]=[],u=0;u<l;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&s.push(i);return new tj(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),a=Array(r),l=0;l<i;++l)for(var s,u=t[l],c=n[l],d=u.length,f=a[l]=Array(d),h=0;h<d;++h)(s=u[h]||c[h])&&(f[h]=s);for(;l<r;++l)a[l]=t[l];return new tj(a,this._parents,this._name,this._id)},selection:function(){return new tB(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=++tL,r=this._groups,o=r.length,i=0;i<o;++i)for(var a,l=r[i],s=l.length,u=0;u<s;++u)if(a=l[u]){var c=eQ(a,t);eZ(a,e,n,u,l,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new tj(r,this._parents,e,n)},call:tV.call,nodes:tV.nodes,node:tV.node,size:tV.size,empty:tV.empty,each:tV.each,on:function(e,t){var n,r,o,i,a,l,s=this._id;return arguments.length<2?eQ(this.node(),s).on.on(e):this.each((n=s,r=e,o=t,l=(r+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?eU:eG,function(){var e=l(this,n),t=e.on;t!==i&&(a=(i=t).copy()).on(r,o),e.on=a}))},attr:function(e,t){var n=U(e),r="transform"===n?e6:tT;return this.attrTween(e,"function"==typeof t?(n.local?function(e,t,n){var r,o,i;return function(){var a,l,s=n(this);return null==s?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local))===(l=s+"")?null:a===r&&l===o?i:(o=l,i=t(r=a,s))}}:function(e,t,n){var r,o,i;return function(){var a,l,s=n(this);return null==s?void this.removeAttribute(e):(a=this.getAttribute(e))===(l=s+"")?null:a===r&&l===o?i:(o=l,i=t(r=a,s))}})(n,r,e8(this,"attr."+e,t)):null==t?(n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(n):(n.local?function(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}:function(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}})(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();var r=U(e);return this.tween(n,(r.local?function(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&function(t){this.setAttributeNS(e.space,e.local,o.call(this,t))}),n}return o._value=t,o}:function(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&function(t){this.setAttribute(e,o.call(this,t))}),n}return o._value=t,o})(r,t))},style:function(e,t,n){var r,o,i,a,l,s,u,c,d,f,h,p,m,g,y,v,x,b,w,_,S,E="transform"==(e+="")?e4:tT;return null==t?this.styleTween(e,(r=e,function(){var e=Q(this,r),t=(this.style.removeProperty(r),Q(this,r));return e===t?null:e===o&&t===i?a:a=E(o=e,i=t)})).on("end.style."+e,tH(e)):"function"==typeof t?this.styleTween(e,(l=e,s=e8(this,"style."+e,t),function(){var e=Q(this,l),t=s(this),n=t+"";return null==t&&(this.style.removeProperty(l),n=t=Q(this,l)),e===n?null:e===u&&n===c?d:(c=n,d=E(u=e,t))})).each((f=this._id,x="end."+(v="style."+(h=e)),function(){var e=eG(this,f),t=e.on,n=null==e.value[v]?y||(y=tH(h)):void 0;(t!==p||g!==n)&&(m=(p=t).copy()).on(x,g=n),e.on=m})):this.styleTween(e,(b=e,S=t+"",function(){var e=Q(this,b);return e===S?null:e===w?_:_=E(w=e,t)}),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw Error();return this.tween(r,function(e,t,n){var r,o;function i(){var i=t.apply(this,arguments);return i!==o&&(r=(o=i)&&function(t){this.style.setProperty(e,i.call(this,t),n)}),r}return i._value=t,i}(e,t,null==n?"":n))},text:function(e){var t,n;return this.tween("text","function"==typeof e?(t=e8(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(n=null==e?"":e+"",function(){this.textContent=n}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){this.textContent=r.call(this,e)}),t}return r._value=e,r}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,o=eQ(this.node(),n).tween,i=0,a=o.length;i<a;++i)if((r=o[i]).name===e)return r.value;return null}return this.each((null==t?function(e,t){var n,r;return function(){var o=eG(this,e),i=o.tween;if(i!==n){r=n=i;for(var a=0,l=r.length;a<l;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}}o.tween=r}}:function(e,t,n){var r,o;if("function"!=typeof n)throw Error();return function(){var i=eG(this,e),a=i.tween;if(a!==r){o=(r=a).slice();for(var l={name:t,value:n},s=0,u=o.length;s<u;++s)if(o[s].name===t){o[s]=l;break}s===u&&o.push(l)}i.tween=o}})(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eU(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eU(this,e).delay=t}})(t,e)):eQ(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eG(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eG(this,e).duration=t}})(t,e)):eQ(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){eG(this,e).ease=t}}(t,e)):eQ(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw Error();eG(this,t).ease=n}))},end:function(){var e,t,n=this,r=n._id,o=n.size();return new Promise(function(i,a){var l={value:a},s={value:function(){0==--o&&i()}};n.each(function(){var n=eG(this,r),o=n.on;o!==e&&((t=(e=o).copy())._.cancel.push(l),t._.interrupt.push(l),t._.end.push(s)),n.on=t}),0===o&&i()})},[Symbol.iterator]:tV[Symbol.iterator]};var tX={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};ev.prototype.interrupt=function(e){return this.each(function(){eJ(this,e)})},ev.prototype.transition=function(e){var t,n;e instanceof tj?(t=e._id,e=e._name):(t=++tL,(n=tX).time=eH(),e=null==e?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a,l=r[i],s=l.length,u=0;u<s;++u)(a=l[u])&&eZ(a,e,t,u,l,n||function(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}(a,t));return new tj(r,this._parents,e,t)};let tY=e=>()=>e;function tF(e,{sourceEvent:t,target:n,transform:r,dispatch:o}){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:r,enumerable:!0,configurable:!0},_:{value:o}})}function tW(e,t,n){this.k=e,this.x=t,this.y=n}tW.prototype={constructor:tW,scale:function(e){return 1===e?this:new tW(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new tW(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 tK=new tW(1,0,0);function tq(e){e.stopImmediatePropagation()}function tZ(e){e.preventDefault(),e.stopImmediatePropagation()}function tU(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function tG(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).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 tQ(){return this.__zoom||tK}function tJ(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function t0(){return navigator.maxTouchPoints||"ontouchstart"in this}function t1(e,t,n){var r=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function t2(){var e,t,n,r=tU,o=tG,i=t1,a=tJ,l=t0,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,d=eN,f=A("start","zoom","end"),h=0,p=10;function m(e){e.property("__zoom",tQ).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",S).on("dblclick.zoom",E).filter(l).on("touchstart.zoom",M).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new tW(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,o=t[1]-n[1]*e.k;return r===e.x&&o===e.y?e:new tW(e.k,r,o)}function v(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,t,n,r){e.on("start.zoom",function(){b(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){b(this,arguments).event(r).end()}).tween("zoom",function(){var e=arguments,i=b(this,e).event(r),a=o.apply(this,e),l=null==n?v(a):"function"==typeof n?n.apply(this,e):n,s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,c="function"==typeof t?t.apply(this,e):t,f=d(u.invert(l).concat(s/u.k),c.invert(l).concat(s/c.k));return function(e){if(1===e)e=c;else{var t=f(e),n=s/t[2];e=new tW(n,l[0]-t[0]*n,l[1]-t[1]*n)}i.zoom(null,e)}})}function b(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function _(e,...t){if(r.apply(this,arguments)){var n=b(this,t).event(e),o=this.__zoom,l=Math.max(s[0],Math.min(s[1],o.k*Math.pow(2,a.apply(this,arguments)))),c=eC(e);if(n.wheel)(n.mouse[0][0]!==c[0]||n.mouse[0][1]!==c[1])&&(n.mouse[1]=o.invert(n.mouse[0]=c)),clearTimeout(n.wheel);else{if(o.k===l)return;n.mouse=[c,o.invert(c)],eJ(this),n.start()}tZ(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",i(y(g(o,l),n.mouse[0],n.mouse[1]),n.extent,u))}}function S(e,...t){if(!n&&r.apply(this,arguments)){var o=e.currentTarget,a=b(this,t,!0).event(e),l=ex(e.view).on("mousemove.zoom",function(e){if(tZ(e),!a.moved){var t=e.clientX-c,n=e.clientY-d;a.moved=t*t+n*n>h}a.event(e).zoom("mouse",i(y(a.that.__zoom,a.mouse[0]=eC(e,o),a.mouse[1]),a.extent,u))},!0).on("mouseup.zoom",function(e){l.on("mousemove.zoom mouseup.zoom",null),eM(e.view,a.moved),tZ(e),a.event(e).end()},!0),s=eC(e,o),c=e.clientX,d=e.clientY;eE(e.view),tq(e),a.mouse=[s,this.__zoom.invert(s)],eJ(this),a.start()}}function E(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,a=eC(e.changedTouches?e.changedTouches[0]:e,this),l=n.invert(a),s=n.k*(e.shiftKey?.5:2),d=i(y(g(n,s),a,l),o.apply(this,t),u);tZ(e),c>0?ex(this).transition().duration(c).call(x,d,a,e):ex(this).call(m.transform,d,a,e)}}function M(n,...o){if(r.apply(this,arguments)){var i,a,l,s,u=n.touches,c=u.length,d=b(this,o,n.changedTouches.length===c).event(n);for(tq(n),a=0;a<c;++a)s=[s=eC(l=u[a],this),this.__zoom.invert(s),l.identifier],d.touch0?d.touch1||d.touch0[2]===s[2]||(d.touch1=s,d.taps=0):(d.touch0=s,i=!0,d.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(d.taps<2&&(t=s[0],e=setTimeout(function(){e=null},500)),eJ(this),d.start())}}function k(e,...t){if(this.__zooming){var n,r,o,a,l=b(this,t).event(e),s=e.changedTouches,c=s.length;for(tZ(e),n=0;n<c;++n)o=eC(r=s[n],this),l.touch0&&l.touch0[2]===r.identifier?l.touch0[0]=o:l.touch1&&l.touch1[2]===r.identifier&&(l.touch1[0]=o);if(r=l.that.__zoom,l.touch1){var d=l.touch0[0],f=l.touch0[1],h=l.touch1[0],p=l.touch1[1],m=(m=h[0]-d[0])*m+(m=h[1]-d[1])*m,v=(v=p[0]-f[0])*v+(v=p[1]-f[1])*v;r=g(r,Math.sqrt(m/v)),o=[(d[0]+h[0])/2,(d[1]+h[1])/2],a=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!l.touch0)return;o=l.touch0[0],a=l.touch0[1]}l.zoom("touch",i(y(r,o,a),l.extent,u))}}function N(e,...r){if(this.__zooming){var o,i,a=b(this,r).event(e),l=e.changedTouches,s=l.length;for(tq(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),o=0;o<s;++o)i=l[o],a.touch0&&a.touch0[2]===i.identifier?delete a.touch0:a.touch1&&a.touch1[2]===i.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(i=eC(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<p)){var u=ex(this).on("dblclick.zoom");u&&u.apply(this,arguments)}}}return m.transform=function(e,t,n,r){var o=e.selection?e.selection():e;o.property("__zoom",tQ),e!==o?x(e,t,n,r):o.interrupt().each(function(){b(this,arguments).event(r).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},m.scaleBy=function(e,t,n,r){m.scaleTo(e,function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n},n,r)},m.scaleTo=function(e,t,n,r){m.transform(e,function(){var e=o.apply(this,arguments),r=this.__zoom,a=null==n?v(e):"function"==typeof n?n.apply(this,arguments):n,l=r.invert(a),s="function"==typeof t?t.apply(this,arguments):t;return i(y(g(r,s),a,l),e,u)},n,r)},m.translateBy=function(e,t,n,r){m.transform(e,function(){return i(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),u)},null,r)},m.translateTo=function(e,t,n,r,a){m.transform(e,function(){var e=o.apply(this,arguments),a=this.__zoom,l=null==r?v(e):"function"==typeof r?r.apply(this,arguments):r;return i(tK.translate(l[0],l[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,u)},r,a)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=ex(this.that).datum();f.call(e,this.that,new tF(e,{sourceEvent:this.sourceEvent,target:m,type:e,transform:this.that.__zoom,dispatch:f}),t)}},m.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:tY(+e),m):a},m.filter=function(e){return arguments.length?(r="function"==typeof e?e:tY(!!e),m):r},m.touchable=function(e){return arguments.length?(l="function"==typeof e?e:tY(!!e),m):l},m.extent=function(e){return arguments.length?(o="function"==typeof e?e:tY([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),m):o},m.scaleExtent=function(e){return arguments.length?(s[0]=+e[0],s[1]=+e[1],m):[s[0],s[1]]},m.translateExtent=function(e){return arguments.length?(u[0][0]=+e[0][0],u[1][0]=+e[1][0],u[0][1]=+e[0][1],u[1][1]=+e[1][1],m):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},m.constrain=function(e){return arguments.length?(i=e,m):i},m.duration=function(e){return arguments.length?(c=+e,m):c},m.interpolate=function(e){return arguments.length?(d=e,m):d},m.on=function(){var e=f.on.apply(f,arguments);return e===f?m:e},m.clickDistance=function(e){return arguments.length?(h=(e*=1)*e,m):Math.sqrt(h)},m.tapDistance=function(e){return arguments.length?(p=+e,m):p},m}tW.prototype;let t3=e=>()=>e;function t5(e,{sourceEvent:t,subject:n,target:r,identifier:o,active:i,x:a,y:l,dx:s,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:r,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}function t4(e){return!e.ctrlKey&&!e.button}function t6(){return this.parentNode}function t8(e,t){return null==t?{x:e.x,y:e.y}:t}function t9(){return navigator.maxTouchPoints||"ontouchstart"in this}t5.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e},e.i(74080);let t7=(0,y.createContext)(null),ne=t7.Provider,nt="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function nn(e,t){let n=(0,y.useContext)(t7);if(null===n)throw Error(nt);return M(n,e,t)}let nr=()=>{let e=(0,y.useContext)(t7);if(null===e)throw Error(nt);return(0,y.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},no=e=>e.userSelectionActive?"none":"all";function ni({position:e,children:t,className:n,style:r,...o}){let i=nn(no),a=`${e}`.split("-");return y.default.createElement("div",{className:v(["react-flow__panel",n,...a]),style:{...r,pointerEvents:i},...o},t)}function na({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:y.default.createElement(ni,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},y.default.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var nl=(0,y.memo)(({x:e,y:t,label:n,labelStyle:r={},labelShowBg:o=!0,labelBgStyle:i={},labelBgPadding:a=[2,4],labelBgBorderRadius:l=2,children:s,className:u,...c})=>{let d=(0,y.useRef)(null),[f,h]=(0,y.useState)({x:0,y:0,width:0,height:0}),p=v(["react-flow__edge-textwrapper",u]);return((0,y.useEffect)(()=>{if(d.current){let e=d.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),void 0!==n&&n)?y.default.createElement("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c},o&&y.default.createElement("rect",{width:f.width+2*a[0],x:-a[0],y:-a[1],height:f.height+2*a[1],className:"react-flow__edge-textbg",style:i,rx:l,ry:l}),y.default.createElement("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r},n),s):null});let ns=e=>({width:e.offsetWidth,height:e.offsetHeight}),nu=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),nc=(e={x:0,y:0},t)=>({x:nu(e.x,t[0][0],t[1][0]),y:nu(e.y,t[0][1],t[1][1])}),nd=(e,t,n)=>e<t?nu(Math.abs(e-t),1,50)/50:e>n?-nu(Math.abs(e-n),1,50)/50:0,nf=(e,t)=>[20*nd(e.x,35,t.width-35),20*nd(e.y,35,t.height-35)],nh=e=>e.getRootNode?.()||window?.document,np=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),nm=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ng=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ny=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),nv=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),nx=e=>!isNaN(e)&&isFinite(e),nb=Symbol.for("internals"),nw=["Enter"," ","Escape"],n_=(e,t)=>{};function nS(e){let t="nativeEvent"in e?e.nativeEvent:e,n=t.composedPath?.()?.[0]||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n?.nodeName)||n?.hasAttribute("contenteditable")||!!n?.closest(".nokey")}let nE=(e,t)=>{let n="clientX"in e,r=n?e.clientX:e.touches?.[0].clientX,o=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:o-(t?.top??0)}},nM=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0,nk=({id:e,path:t,labelX:n,labelY:r,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>y.default.createElement(y.default.Fragment,null,y.default.createElement("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&y.default.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),o&&nx(n)&&nx(r)?y.default.createElement(nl,{x:n,y:r,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u}):null);function nN(e,t,n){return void 0===n?n:r=>{let o=t().edges.find(t=>t.id===e);o&&n(r,{...o})}}function nC({sourceX:e,sourceY:t,targetX:n,targetY:r}){let o=Math.abs(n-e)/2,i=Math.abs(r-t)/2;return[n<e?n+o:n-o,r<t?r+i:r-i,o,i]}function nA({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:o,sourceControlY:i,targetControlX:a,targetControlY:l}){let s=.125*e+.375*o+.375*a+.125*n,u=.125*t+.375*i+.375*l+.125*r,c=Math.abs(s-e),d=Math.abs(u-t);return[s,u,c,d]}function n$({pos:e,x1:t,y1:n,x2:r,y2:o}){return e===p.Left||e===p.Right?[.5*(t+r),n]:[t,.5*(n+o)]}function nz({sourceX:e,sourceY:t,sourcePosition:n=p.Bottom,targetX:r,targetY:o,targetPosition:i=p.Top}){let[a,l]=n$({pos:n,x1:e,y1:t,x2:r,y2:o}),[s,u]=n$({pos:i,x1:r,y1:o,x2:e,y2:t}),[c,d,f,h]=nA({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:a,sourceControlY:l,targetControlX:s,targetControlY:u});return[`M${e},${t} C${a},${l} ${s},${u} ${r},${o}`,c,d,f,h]}nk.displayName="BaseEdge",(t=u||(u={})).Strict="strict",t.Loose="loose",(n=c||(c={})).Free="free",n.Vertical="vertical",n.Horizontal="horizontal",(r=d||(d={})).Partial="partial",r.Full="full",(o=f||(f={})).Bezier="default",o.Straight="straight",o.Step="step",o.SmoothStep="smoothstep",o.SimpleBezier="simplebezier",(i=h||(h={})).Arrow="arrow",i.ArrowClosed="arrowclosed",(a=p||(p={})).Left="left",a.Top="top",a.Right="right",a.Bottom="bottom";let nP=(0,y.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:o=p.Bottom,targetPosition:i=p.Top,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:m,interactionWidth:g})=>{let[v,x,b]=nz({sourceX:e,sourceY:t,sourcePosition:o,targetX:n,targetY:r,targetPosition:i});return y.default.createElement(nk,{path:v,labelX:x,labelY:b,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:m,interactionWidth:g})});nP.displayName="SimpleBezierEdge";let nR={[p.Left]:{x:-1,y:0},[p.Right]:{x:1,y:0},[p.Top]:{x:0,y:-1},[p.Bottom]:{x:0,y:1}},nO=({source:e,sourcePosition:t=p.Bottom,target:n})=>t===p.Left||t===p.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},nI=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function nD({sourceX:e,sourceY:t,sourcePosition:n=p.Bottom,targetX:r,targetY:o,targetPosition:i=p.Top,borderRadius:a=5,centerX:l,centerY:s,offset:u=20}){let[c,d,f,h,m]=function({source:e,sourcePosition:t=p.Bottom,target:n,targetPosition:r=p.Top,center:o,offset:i}){let a,l,s=nR[t],u=nR[r],c={x:e.x+s.x*i,y:e.y+s.y*i},d={x:n.x+u.x*i,y:n.y+u.y*i},f=nO({source:c,sourcePosition:t,target:d}),h=0!==f.x?"x":"y",m=f[h],g=[],y={x:0,y:0},v={x:0,y:0},[x,b,w,_]=nC({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[h]*u[h]==-1){a=o.x??x,l=o.y??b;let e=[{x:a,y:c.y},{x:a,y:d.y}],t=[{x:c.x,y:l},{x:d.x,y:l}];g=s[h]===m?"x"===h?e:t:"x"===h?t:e}else{let o=[{x:c.x,y:d.y}],f=[{x:d.x,y:c.y}];if(g="x"===h?s.x===m?f:o:s.y===m?o:f,t===r){let t=Math.abs(e[h]-n[h]);if(t<=i){let r=Math.min(i-1,i-t);s[h]===m?y[h]=(c[h]>e[h]?-1:1)*r:v[h]=(d[h]>n[h]?-1:1)*r}}if(t!==r){let e="x"===h?"y":"x",t=s[h]===u[e],n=c[e]>d[e],r=c[e]<d[e];(1===s[h]&&(!t&&n||t&&r)||1!==s[h]&&(!t&&r||t&&n))&&(g="x"===h?o:f)}let p={x:c.x+y.x,y:c.y+y.y},x={x:d.x+v.x,y:d.y+v.y};Math.max(Math.abs(p.x-g[0].x),Math.abs(x.x-g[0].x))>=Math.max(Math.abs(p.y-g[0].y),Math.abs(x.y-g[0].y))?(a=(p.x+x.x)/2,l=g[0].y):(a=g[0].x,l=(p.y+x.y)/2)}return[[e,{x:c.x+y.x,y:c.y+y.y},...g,{x:d.x+v.x,y:d.y+v.y},n],a,l,w,_]}({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:o},targetPosition:i,center:{x:l,y:s},offset:u});return[c.reduce((e,t,n)=>e+(n>0&&n<c.length-1?function(e,t,n,r){let o=Math.min(nI(e,t)/2,nI(t,n)/2,r),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return`L${i} ${a}`;if(e.y===a){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${i+o*t},${a}Q ${i},${a} ${i},${a+o*r}`}let l=e.x<n.x?1:-1,s=e.y<n.y?-1:1;return`L ${i},${a+o*s}Q ${i},${a} ${i+o*l},${a}`}(c[n-1],t,c[n+1],a):`${0===n?"M":"L"}${t.x} ${t.y}`),""),d,f,h,m]}let nT=(0,y.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,sourcePosition:d=p.Bottom,targetPosition:f=p.Top,markerEnd:h,markerStart:m,pathOptions:g,interactionWidth:v})=>{let[x,b,w]=nD({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:g?.borderRadius,offset:g?.offset});return y.default.createElement(nk,{path:x,labelX:b,labelY:w,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:m,interactionWidth:v})});nT.displayName="SmoothStepEdge";let nB=(0,y.memo)(e=>y.default.createElement(nT,{...e,pathOptions:(0,y.useMemo)(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])}));nB.displayName="StepEdge";let nH=(0,y.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{let[p,m,g]=function({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[o,i,a,l]=nC({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,o,i,a,l]}({sourceX:e,sourceY:t,targetX:n,targetY:r});return y.default.createElement(nk,{path:p,labelX:m,labelY:g,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});function nL(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function nj({pos:e,x1:t,y1:n,x2:r,y2:o,c:i}){switch(e){case p.Left:return[t-nL(t-r,i),n];case p.Right:return[t+nL(r-t,i),n];case p.Top:return[t,n-nL(n-o,i)];case p.Bottom:return[t,n+nL(o-n,i)]}}function nV({sourceX:e,sourceY:t,sourcePosition:n=p.Bottom,targetX:r,targetY:o,targetPosition:i=p.Top,curvature:a=.25}){let[l,s]=nj({pos:n,x1:e,y1:t,x2:r,y2:o,c:a}),[u,c]=nj({pos:i,x1:r,y1:o,x2:e,y2:t,c:a}),[d,f,h,m]=nA({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:l,sourceControlY:s,targetControlX:u,targetControlY:c});return[`M${e},${t} C${l},${s} ${u},${c} ${r},${o}`,d,f,h,m]}nH.displayName="StraightEdge";let nX=(0,y.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:o=p.Bottom,targetPosition:i=p.Top,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:m,pathOptions:g,interactionWidth:v})=>{let[x,b,w]=nV({sourceX:e,sourceY:t,sourcePosition:o,targetX:n,targetY:r,targetPosition:i,curvature:g?.curvature});return y.default.createElement(nk,{path:x,labelX:b,labelY:w,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:m,interactionWidth:v})});nX.displayName="BezierEdge";let nY=(0,y.createContext)(null),nF=nY.Provider;nY.Consumer;let nW=(e,t)=>{if(void 0===e)return"";if("string"==typeof e)return e;let n=t?`${t}__`:"";return`${n}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`},nK=(e,t)=>{let n,r;return e.source&&e.target?(r=n="id"in e&&"source"in e&&"target"in e?{...e}:{...e,id:(({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`)(e)},t.some(e=>e.source===r.source&&e.target===r.target&&(e.sourceHandle===r.sourceHandle||!e.sourceHandle&&!r.sourceHandle)&&(e.targetHandle===r.targetHandle||!e.targetHandle&&!r.targetHandle)))?t:t.concat(n):(n_("006","Can't create edge. An edge needs a source and a target."),t)},nq=({x:e,y:t},[n,r,o],i,[a,l])=>{let s={x:(e-n)/o,y:(t-r)/o};return i?{x:a*Math.round(s.x/a),y:l*Math.round(s.y/l)}:s},nZ=({x:e,y:t},[n,r,o])=>({x:e*o+n,y:t*o+r}),nU=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(e.width??0)*t[0],r=(e.height??0)*t[1],o={x:e.position.x-n,y:e.position.y-r};return{...o,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:o}},nG=(e,t=[0,0])=>0===e.length?{x:0,y:0,width:0,height:0}:ng(e.reduce((e,n)=>{let{x:r,y:o}=nU(n,t).positionAbsolute;return np(e,nm({x:r,y:o,width:n.width||0,height:n.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nQ=(e,t,[n,r,o]=[0,0,1],i=!1,a=!1,l=[0,0])=>{let s={x:(t.x-n)/o,y:(t.y-r)/o,width:t.width/o,height:t.height/o},u=[];return e.forEach(e=>{let{width:t,height:n,selectable:r=!0,hidden:o=!1}=e;if(a&&!r||o)return!1;let{positionAbsolute:c}=nU(e,l),d=nv(s,{x:c.x,y:c.y,width:t||0,height:n||0}),f=void 0===t||void 0===n||null===t||null===n,h=(t||0)*(n||0);(f||i&&d>0||d>=h||e.dragging)&&u.push(e)}),u},nJ=(e,t)=>{let n=e.map(e=>e.id);return t.filter(e=>n.includes(e.source)||n.includes(e.target))},n0=(e,t,n,r,o,i=.1)=>{let a=nu(Math.min(t/(e.width*(1+i)),n/(e.height*(1+i))),r,o);return{x:t/2-(e.x+e.width/2)*a,y:n/2-(e.y+e.height/2)*a,zoom:a}},n1=(e,t=0)=>e.transition().duration(t);function n2(e,t,n,r){return(t[n]||[]).reduce((t,o)=>(`${e.id}-${o.id}-${n}`!==r&&t.push({id:o.id||null,type:n,nodeId:e.id,x:(e.positionAbsolute?.x??0)+o.x+o.width/2,y:(e.positionAbsolute?.y??0)+o.y+o.height/2}),t),[])}let n3={source:null,target:null,sourceHandle:null,targetHandle:null},n5=()=>({handleDomNode:null,isValid:!1,connection:n3,endHandle:null});function n4(e,t,n,r,o,i,a){let l="target"===o,s=a.querySelector(`.react-flow__handle[data-id="${e?.nodeId}-${e?.id}-${e?.type}"]`),c={...n5(),handleDomNode:s};if(s){let e=n6(void 0,s),o=s.getAttribute("data-nodeid"),a=s.getAttribute("data-handleid"),d=s.classList.contains("connectable"),f=s.classList.contains("connectableend"),h={source:l?o:n,sourceHandle:l?a:r,target:l?n:o,targetHandle:l?r:a};c.connection=h,d&&f&&(t===u.Strict?l&&"source"===e||!l&&"target"===e:o!==n||a!==r)&&(c.endHandle={nodeId:o,handleId:a,type:e},c.isValid=i(h))}return c}function n6(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}function n8(e){e?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function n9({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:o,getState:i,setState:a,isValidConnection:l,edgeUpdaterType:s,onReconnectEnd:u}){let c,d,f=nh(e.target),{connectionMode:h,domNode:p,autoPanOnConnect:m,connectionRadius:g,onConnectStart:y,panBy:v,getNodes:x,cancelConnection:b}=i(),w=0,{x:_,y:S}=nE(e),E=n6(s,f?.elementFromPoint(_,S)),M=p?.getBoundingClientRect();if(!M||!E)return;let k=nE(e,M),N=!1,C=null,A=!1,$=null,z=function({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((e,o)=>{if(o[nb]){let{handleBounds:i}=o[nb],a=[],l=[];i&&(a=n2(o,i,"source",`${t}-${n}-${r}`),l=n2(o,i,"target",`${t}-${n}-${r}`)),e.push(...a,...l)}return e},[])}({nodes:x(),nodeId:n,handleId:t,handleType:E}),P=()=>{if(!m)return;let[e,t]=nf(k,M);v({x:e,y:t}),w=requestAnimationFrame(P)};function R(e){var r,s;let u,{transform:p}=i();k=nE(e,M);let{handle:m,validHandleResult:y}=function(e,t,n,r,o,i){let{x:a,y:l}=nE(e),s=t.elementsFromPoint(a,l).find(e=>e.classList.contains("react-flow__handle"));if(s){let e=s.getAttribute("data-nodeid");if(e){let t=n6(void 0,s),r=s.getAttribute("data-handleid"),a=i({nodeId:e,id:r,type:t});if(a){let i=o.find(n=>n.nodeId===e&&n.type===t&&n.id===r);return{handle:{id:r,type:t,nodeId:e,x:i?.x||n.x,y:i?.y||n.y},validHandleResult:a}}}}let u=[],c=1/0;if(o.forEach(e=>{let t=Math.sqrt((e.x-n.x)**2+(e.y-n.y)**2);if(t<=r){let n=i(e);t<=c&&(t<c?u=[{handle:e,validHandleResult:n}]:t===c&&u.push({handle:e,validHandleResult:n}),c=t)}}),!u.length)return{handle:null,validHandleResult:n5()};if(1===u.length)return u[0];let d=u.some(({validHandleResult:e})=>e.isValid),f=u.some(({handle:e})=>"target"===e.type);return u.find(({handle:e,validHandleResult:t})=>f?"target"===e.type:!d||t.isValid)||u[0]}(e,f,nq(k,p,!1,[1,1]),g,z,e=>n4(e,h,n,t,o?"target":"source",l,f));if(c=m,N||(P(),N=!0),$=y.handleDomNode,C=y.connection,A=y.isValid,a({connectionPosition:c&&A?nZ({x:c.x,y:c.y},p):k,connectionStatus:(r=!!c,u=null,(s=A)?u="valid":r&&!s&&(u="invalid"),u),connectionEndHandle:y.endHandle}),!c&&!A&&!$)return n8(d);C.source!==C.target&&$&&(n8(d),d=$,$.classList.add("connecting","react-flow__handle-connecting"),$.classList.toggle("valid",A),$.classList.toggle("react-flow__handle-valid",A))}function O(e){(c||$)&&C&&A&&r?.(C),i().onConnectEnd?.(e),s&&u?.(e),n8(d),b(),cancelAnimationFrame(w),N=!1,A=!1,C=null,$=null,f.removeEventListener("mousemove",R),f.removeEventListener("mouseup",O),f.removeEventListener("touchmove",R),f.removeEventListener("touchend",O)}a({connectionPosition:k,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:E,connectionStartHandle:{nodeId:n,handleId:t,type:E},connectionEndHandle:null}),y?.(e,{nodeId:n,handleId:t,handleType:E}),f.addEventListener("mousemove",R),f.addEventListener("mouseup",O),f.addEventListener("touchmove",R),f.addEventListener("touchend",O)}let n7=()=>!0,re=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),rt=(0,y.forwardRef)(({type:e="source",position:t=p.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:o=!0,isConnectableEnd:i=!0,id:a,onConnect:l,children:s,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{let m=a||null,g="target"===e,x=nr(),b=(0,y.useContext)(nY),{connectOnClick:w,noPanClassName:_}=nn(re,N),{connecting:S,clickConnecting:E}=nn(t=>{let{connectionStartHandle:n,connectionEndHandle:r,connectionClickStartHandle:o}=t;return{connecting:n?.nodeId===b&&n?.handleId===m&&n?.type===e||r?.nodeId===b&&r?.handleId===m&&r?.type===e,clickConnecting:o?.nodeId===b&&o?.handleId===m&&o?.type===e}},N);b||x.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let M=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=x.getState(),o={...t,...e};if(r){let{edges:e,setEdges:t}=x.getState();t(nK(o,e))}n?.(o),l?.(o)},k=e=>{if(!b)return;let t="clientX"in e;o&&(t&&0===e.button||!t)&&n9({event:e,handleId:m,nodeId:b,onConnect:M,isTarget:g,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||n7}),t?c?.(e):d?.(e)};return y.default.createElement("div",{"data-handleid":m,"data-nodeid":b,"data-handlepos":t,"data-id":`${b}-${m}-${e}`,className:v(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",_,u,{source:!g,target:g,connectable:r,connectablestart:o,connectableend:i,connecting:E,connectionindicator:r&&(o&&!S||i&&S)}]),onMouseDown:k,onTouchStart:k,onClick:w?t=>{let{onClickConnectStart:r,onClickConnectEnd:i,connectionClickStartHandle:a,connectionMode:l,isValidConnection:s}=x.getState();if(!b||!a&&!o)return;if(!a){r?.(t,{nodeId:b,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:b,type:e,handleId:m}});return}let u=nh(t.target),c=n||s||n7,{connection:d,isValid:f}=n4({nodeId:b,id:m,type:e},l,a.nodeId,a.handleId||null,a.type,c,u);f&&M(d),i?.(t),x.setState({connectionClickStartHandle:null})}:void 0,ref:h,...f},s)});rt.displayName="Handle";var rn=(0,y.memo)(rt);let rr=({data:e,isConnectable:t,targetPosition:n=p.Top,sourcePosition:r=p.Bottom})=>y.default.createElement(y.default.Fragment,null,y.default.createElement(rn,{type:"target",position:n,isConnectable:t}),e?.label,y.default.createElement(rn,{type:"source",position:r,isConnectable:t}));rr.displayName="DefaultNode";var ro=(0,y.memo)(rr);let ri=({data:e,isConnectable:t,sourcePosition:n=p.Bottom})=>y.default.createElement(y.default.Fragment,null,e?.label,y.default.createElement(rn,{type:"source",position:n,isConnectable:t}));ri.displayName="InputNode";var ra=(0,y.memo)(ri);let rl=({data:e,isConnectable:t,targetPosition:n=p.Top})=>y.default.createElement(y.default.Fragment,null,y.default.createElement(rn,{type:"target",position:n,isConnectable:t}),e?.label);rl.displayName="OutputNode";var rs=(0,y.memo)(rl);let ru=()=>null;ru.displayName="GroupNode";let rc=e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected).map(e=>({...e}))}),rd=e=>e.id;function rf(e,t){return N(e.selectedNodes.map(rd),t.selectedNodes.map(rd))&&N(e.selectedEdges.map(rd),t.selectedEdges.map(rd))}let rh=(0,y.memo)(({onSelectionChange:e})=>{let t=nr(),{selectedNodes:n,selectedEdges:r}=nn(rc,rf);return(0,y.useEffect)(()=>{let o={nodes:n,edges:r};e?.(o),t.getState().onSelectionChange.forEach(e=>e(o))},[n,r,e]),null});rh.displayName="SelectionListener";let rp=e=>!!e.onSelectionChange;function rm({onSelectionChange:e}){let t=nn(rp);return e||t?y.default.createElement(rh,{onSelectionChange:e}):null}let rg=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function ry(e,t){(0,y.useEffect)(()=>{void 0!==e&&t(e)},[e])}function rv(e,t,n){(0,y.useEffect)(()=>{void 0!==t&&n({[e]:t})},[t])}let rx=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:o,onConnectStart:i,onConnectEnd:a,onClickConnectStart:l,onClickConnectEnd:s,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:g,nodeExtent:v,onNodesChange:x,onEdgesChange:b,elementsSelectable:w,connectionMode:_,snapGrid:S,snapToGrid:E,translateExtent:M,connectOnClick:k,defaultEdgeOptions:C,fitView:A,fitViewOptions:$,onNodesDelete:z,onEdgesDelete:P,onNodeDrag:R,onNodeDragStart:O,onNodeDragStop:I,onSelectionDrag:D,onSelectionDragStart:T,onSelectionDragStop:B,noPanClassName:H,nodeOrigin:L,rfId:j,autoPanOnConnect:V,autoPanOnNodeDrag:X,onError:Y,connectionRadius:F,isValidConnection:W,nodeDragThreshold:K})=>{let{setNodes:q,setEdges:Z,setDefaultNodesAndEdges:U,setMinZoom:G,setMaxZoom:Q,setTranslateExtent:J,setNodeExtent:ee,reset:et}=nn(rg,N),en=nr();return(0,y.useEffect)(()=>(U(n,r?.map(e=>({...e,...C}))),()=>{et()}),[]),rv("defaultEdgeOptions",C,en.setState),rv("connectionMode",_,en.setState),rv("onConnect",o,en.setState),rv("onConnectStart",i,en.setState),rv("onConnectEnd",a,en.setState),rv("onClickConnectStart",l,en.setState),rv("onClickConnectEnd",s,en.setState),rv("nodesDraggable",u,en.setState),rv("nodesConnectable",c,en.setState),rv("nodesFocusable",d,en.setState),rv("edgesFocusable",f,en.setState),rv("edgesUpdatable",h,en.setState),rv("elementsSelectable",w,en.setState),rv("elevateNodesOnSelect",p,en.setState),rv("snapToGrid",E,en.setState),rv("snapGrid",S,en.setState),rv("onNodesChange",x,en.setState),rv("onEdgesChange",b,en.setState),rv("connectOnClick",k,en.setState),rv("fitViewOnInit",A,en.setState),rv("fitViewOnInitOptions",$,en.setState),rv("onNodesDelete",z,en.setState),rv("onEdgesDelete",P,en.setState),rv("onNodeDrag",R,en.setState),rv("onNodeDragStart",O,en.setState),rv("onNodeDragStop",I,en.setState),rv("onSelectionDrag",D,en.setState),rv("onSelectionDragStart",T,en.setState),rv("onSelectionDragStop",B,en.setState),rv("noPanClassName",H,en.setState),rv("nodeOrigin",L,en.setState),rv("rfId",j,en.setState),rv("autoPanOnConnect",V,en.setState),rv("autoPanOnNodeDrag",X,en.setState),rv("onError",Y,en.setState),rv("connectionRadius",F,en.setState),rv("isValidConnection",W,en.setState),rv("nodeDragThreshold",K,en.setState),ry(e,q),ry(t,Z),ry(m,G),ry(g,Q),ry(M,J),ry(v,ee),null},rb={display:"none"},rw={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},r_="react-flow__node-desc",rS="react-flow__edge-desc",rE=e=>e.ariaLiveMessage;function rM({rfId:e}){let t=nn(rE);return y.default.createElement("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:rw},t)}function rk({rfId:e,disableKeyboardA11y:t}){return y.default.createElement(y.default.Fragment,null,y.default.createElement("div",{id:`${r_}-${e}`,style:rb},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),y.default.createElement("div",{id:`${rS}-${e}`,style:rb},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&y.default.createElement(rM,{rfId:e}))}var rN=(e=null,t={actInsideInputWithModifier:!0})=>{let[n,r]=(0,y.useState)(!1),o=(0,y.useRef)(!1),i=(0,y.useRef)(new Set([])),[a,l]=(0,y.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.split("+")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,y.useEffect)(()=>{let n="u">typeof document?document:null,s=t?.target||n;if(null!==e){let e=e=>{if(o.current=e.ctrlKey||e.metaKey||e.shiftKey,(!o.current||o.current&&!t.actInsideInputWithModifier)&&nS(e))return!1;let n=rA(e.code,l);i.current.add(e[n]),rC(a,i.current,!1)&&(e.preventDefault(),r(!0))},n=e=>{if((!o.current||o.current&&!t.actInsideInputWithModifier)&&nS(e))return!1;let n=rA(e.code,l);rC(a,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(e[n]),"Meta"===e.key&&i.current.clear(),o.current=!1},u=()=>{i.current.clear(),r(!1)};return s?.addEventListener("keydown",e),s?.addEventListener("keyup",n),window.addEventListener("blur",u),()=>{s?.removeEventListener("keydown",e),s?.removeEventListener("keyup",n),window.removeEventListener("blur",u)}}},[e,r]),n};function rC(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function rA(e,t){return t.includes(e)?"code":"key"}function r$(e,t,n){e.forEach(r=>{let o=r.parentNode||r.parentId;if(o&&!e.has(o))throw Error(`Parent node ${o} not found`);if(o||n?.[r.id]){let{x:o,y:i,z:a}=function e(t,n,r,o){let i=t.parentNode||t.parentId;if(!i)return r;let a=n.get(i),l=nU(a,o);return e(a,n,{x:(r.x??0)+l.x,y:(r.y??0)+l.y,z:(a[nb]?.z??0)>(r.z??0)?a[nb]?.z??0:r.z??0},o)}(r,e,{...r.position,z:r[nb]?.z??0},t);r.positionAbsolute={x:o,y:i},r[nb].z=a,n?.[r.id]&&(r[nb].isParent=!0)}})}function rz(e,t,n,r){let o=new Map,i={},a=1e3*!!r;return e.forEach(e=>{let n=(nx(e.zIndex)?e.zIndex:0)+(e.selected?a:0),r=t.get(e.id),l={...e,positionAbsolute:{x:e.position.x,y:e.position.y}},s=e.parentNode||e.parentId;s&&(i[s]=!0),Object.defineProperty(l,nb,{enumerable:!1,value:{handleBounds:r?.type&&r?.type!==e.type?void 0:r?.[nb]?.handleBounds,z:n}}),o.set(e.id,l)}),r$(o,n,i),o}function rP(e,t={}){let{getNodes:n,width:r,height:o,minZoom:i,maxZoom:a,d3Zoom:l,d3Selection:s,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(l&&s&&(f||!t.initial)){let e=n().filter(e=>{let n=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?n&&t.nodes.some(t=>t.id===e.id):n}),u=e.every(e=>e.width&&e.height);if(e.length>0&&u){let{x:n,y:u,zoom:c}=n0(nG(e,d),r,o,t.minZoom??i,t.maxZoom??a,t.padding??.1),f=tK.translate(n,u).scale(c);return"number"==typeof t.duration&&t.duration>0?l.transform(n1(s,t.duration),f):l.transform(s,f),!0}}return!1}function rR({changedNodes:e,changedEdges:t,get:n,set:r}){let{nodeInternals:o,edges:i,onNodesChange:a,onEdgesChange:l,hasDefaultNodes:s,hasDefaultEdges:u}=n();e?.length&&(s&&r({nodeInternals:(e.forEach(e=>{let t=o.get(e.id);t&&o.set(t.id,{...t,[nb]:t[nb],selected:e.selected})}),new Map(o))}),a?.(e)),t?.length&&(u&&r({edges:i.map(e=>{let n=t.find(t=>t.id===e.id);return n&&(e.selected=n.selected),e})}),l?.(t))}let rO=()=>{},rI={zoomIn:rO,zoomOut:rO,zoomTo:rO,getZoom:()=>1,setViewport:rO,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:rO,fitBounds:rO,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},rD=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection});function rT(){let e=(()=>{let e=nr(),{d3Zoom:t,d3Selection:n}=nn(rD,N);return(0,y.useMemo)(()=>n&&t?{zoomIn:e=>t.scaleBy(n1(n,e?.duration),1.2),zoomOut:e=>t.scaleBy(n1(n,e?.duration),1/1.2),zoomTo:(e,r)=>t.scaleTo(n1(n,r?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(r,o)=>{let[i,a,l]=e.getState().transform,s=tK.translate(r.x??i,r.y??a).scale(r.zoom??l);t.transform(n1(n,o?.duration),s)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},fitView:t=>rP(e.getState,t),setCenter:(r,o,i)=>{let{width:a,height:l,maxZoom:s}=e.getState(),u=void 0!==i?.zoom?i.zoom:s,c=a/2-r*u,d=l/2-o*u,f=tK.translate(c,d).scale(u);t.transform(n1(n,i?.duration),f)},fitBounds:(r,o)=>{let{width:i,height:a,minZoom:l,maxZoom:s}=e.getState(),{x:u,y:c,zoom:d}=n0(r,i,a,l,s,o?.padding??.1),f=tK.translate(u,c).scale(d);t.transform(n1(n,o?.duration),f)},project:t=>{let{transform:n,snapToGrid:r,snapGrid:o}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),nq(t,n,r,o)},screenToFlowPosition:t=>{let{transform:n,snapToGrid:r,snapGrid:o,domNode:i}=e.getState();if(!i)return t;let{x:a,y:l}=i.getBoundingClientRect();return nq({x:t.x-a,y:t.y-l},n,r,o)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:o,y:i}=r.getBoundingClientRect(),a=nZ(t,n);return{x:a.x+o,y:a.y+i}},viewportInitialized:!0}:rI,[t,n])})(),t=nr(),n=(0,y.useCallback)(()=>t.getState().getNodes().map(e=>({...e})),[]),r=(0,y.useCallback)(e=>t.getState().nodeInternals.get(e),[]),o=(0,y.useCallback)(()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},[]),i=(0,y.useCallback)(e=>{let{edges:n=[]}=t.getState();return n.find(t=>t.id===e)},[]),a=(0,y.useCallback)(e=>{let{getNodes:n,setNodes:r,hasDefaultNodes:o,onNodesChange:i}=t.getState(),a=n(),l="function"==typeof e?e(a):e;o?r(l):i&&i(0===l.length?a.map(e=>({type:"remove",id:e.id})):l.map(e=>({item:e,type:"reset"})))},[]),l=(0,y.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:o,onEdgesChange:i}=t.getState(),a="function"==typeof e?e(n):e;o?r(a):i&&i(0===a.length?n.map(e=>({type:"remove",id:e.id})):a.map(e=>({item:e,type:"reset"})))},[]),s=(0,y.useCallback)(e=>{let n=Array.isArray(e)?e:[e],{getNodes:r,setNodes:o,hasDefaultNodes:i,onNodesChange:a}=t.getState();i?o([...r(),...n]):a&&a(n.map(e=>({item:e,type:"add"})))},[]),u=(0,y.useCallback)(e=>{let n=Array.isArray(e)?e:[e],{edges:r=[],setEdges:o,hasDefaultEdges:i,onEdgesChange:a}=t.getState();i?o([...r,...n]):a&&a(n.map(e=>({item:e,type:"add"})))},[]),c=(0,y.useCallback)(()=>{let{getNodes:e,edges:n=[],transform:r}=t.getState(),[o,i,a]=r;return{nodes:e().map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:o,y:i,zoom:a}}},[]),d=(0,y.useCallback)(({nodes:e,edges:n})=>{let{nodeInternals:r,getNodes:o,edges:i,hasDefaultNodes:a,hasDefaultEdges:l,onNodesDelete:s,onEdgesDelete:u,onNodesChange:c,onEdgesChange:d}=t.getState(),f=(e||[]).map(e=>e.id),h=(n||[]).map(e=>e.id),p=o().reduce((e,t)=>{let n=t.parentNode||t.parentId,r=!f.includes(t.id)&&n&&e.find(e=>e.id===n);return("boolean"!=typeof t.deletable||t.deletable)&&(f.includes(t.id)||r)&&e.push(t),e},[]),m=i.filter(e=>"boolean"!=typeof e.deletable||e.deletable),g=m.filter(e=>h.includes(e.id));if(p||g){let e=[...g,...nJ(p,m)],n=e.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);(l||a)&&(l&&t.setState({edges:i.filter(e=>!n.includes(e.id))}),a&&(p.forEach(e=>{r.delete(e.id)}),t.setState({nodeInternals:new Map(r)}))),n.length>0&&(u?.(e),d&&d(n.map(e=>({id:e,type:"remove"})))),p.length>0&&(s?.(p),c&&c(p.map(e=>({id:e.id,type:"remove"}))))}},[]),f=(0,y.useCallback)(e=>{let n=nx(e.width)&&nx(e.height)&&nx(e.x)&&nx(e.y),r=n?null:t.getState().nodeInternals.get(e.id);return n||r?[n?e:ny(r),r,n]:[null,null,n]},[]),h=(0,y.useCallback)((e,n=!0,r)=>{let[o,i,a]=f(e);return o?(r||t.getState().getNodes()).filter(e=>{if(!a&&(e.id===i.id||!e.positionAbsolute))return!1;let t=nv(ny(e),o);return n&&t>0||t>=o.width*o.height}):[]},[]),p=(0,y.useCallback)((e,t,n=!0)=>{let[r]=f(e);if(!r)return!1;let o=nv(r,t);return n&&o>0||o>=r.width*r.height},[]);return(0,y.useMemo)(()=>({...e,getNodes:n,getNode:r,getEdges:o,getEdge:i,setNodes:a,setEdges:l,addNodes:s,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,o,i,a,l,s,u,c,d,h,p])}let rB={actInsideInputWithModifier:!1},rH={position:"absolute",width:"100%",height:"100%",top:0,left:0},rL=e=>({x:e.x,y:e.y,zoom:e.k}),rj=(e,t)=>e.target.closest(`.${t}`),rV=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),rX=e=>{let t=e.ctrlKey&&nM()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t},rY=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),rF=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:o=!0,zoomOnPinch:i=!0,panOnScroll:a=!1,panOnScrollSpeed:l=.5,panOnScrollMode:s=c.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:h,translateExtent:p,minZoom:m,maxZoom:g,zoomActivationKeyCode:v,preventScrolling:x=!0,children:b,noWheelClassName:w,noPanClassName:_})=>{let S,E=(0,y.useRef)(),M=nr(),k=(0,y.useRef)(!1),C=(0,y.useRef)(!1),A=(0,y.useRef)(null),$=(0,y.useRef)({x:0,y:0,zoom:0}),{d3Zoom:z,d3Selection:P,d3ZoomHandler:R,userSelectionActive:O}=nn(rY,N),I=rN(v),D=(0,y.useRef)(0),T=(0,y.useRef)(!1),B=(0,y.useRef)();return S=nr(),(0,y.useEffect)(()=>{let e,t=()=>{if(!A.current)return;let e=ns(A.current);(0===e.height||0===e.width)&&S.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),S.setState({width:e.width||500,height:e.height||500})};return t(),window.addEventListener("resize",t),A.current&&(e=new ResizeObserver(()=>t())).observe(A.current),()=>{window.removeEventListener("resize",t),e&&A.current&&e.unobserve(A.current)}},[]),(0,y.useEffect)(()=>{if(A.current){let e=A.current.getBoundingClientRect(),t=t2().scaleExtent([m,g]).translateExtent(p),n=ex(A.current).call(t),r=tK.translate(h.x,h.y).scale(nu(h.zoom,m,g)),o=[[0,0],[e.width,e.height]],i=t.constrain()(r,o,p);t.transform(n,i),t.wheelDelta(rX),M.setState({d3Zoom:t,d3Selection:n,d3ZoomHandler:n.on("wheel.zoom"),transform:[i.x,i.y,i.k],domNode:A.current.closest(".react-flow")})}},[]),(0,y.useEffect)(()=>{P&&z&&(!a||I||O?void 0!==R&&P.on("wheel.zoom",function(e,t){if(!x&&"wheel"===e.type&&!e.ctrlKey||rj(e,w))return null;e.preventDefault(),R.call(this,e,t)},{passive:!1}):P.on("wheel.zoom",r=>{if(rj(r,w))return!1;r.preventDefault(),r.stopImmediatePropagation();let o=P.property("__zoom").k||1;if(r.ctrlKey&&i){let e=eC(r),t=o*Math.pow(2,rX(r));z.scaleTo(P,t,e,r);return}let a=1===r.deltaMode?20:1,u=s===c.Vertical?0:r.deltaX*a,d=s===c.Horizontal?0:r.deltaY*a;!nM()&&r.shiftKey&&s!==c.Vertical&&(u=r.deltaY*a,d=0),z.translateBy(P,-(u/o)*l,-(d/o)*l,{internal:!0});let f=rL(P.property("__zoom")),{onViewportChangeStart:h,onViewportChange:p,onViewportChangeEnd:m}=M.getState();clearTimeout(B.current),T.current||(T.current=!0,t?.(r,f),h?.(f)),T.current&&(e?.(r,f),p?.(f),B.current=setTimeout(()=>{n?.(r,f),m?.(f),T.current=!1},150))},{passive:!1}))},[O,a,s,P,z,R,I,i,x,w,t,e,n]),(0,y.useEffect)(()=>{z&&z.on("start",e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;D.current=e.sourceEvent?.button;let{onViewportChangeStart:n}=M.getState(),r=rL(e.transform);k.current=!0,$.current=r,e.sourceEvent?.type==="mousedown"&&M.setState({paneDragging:!0}),n?.(r),t?.(e.sourceEvent,r)})},[z,t]),(0,y.useEffect)(()=>{z&&(O&&!k.current?z.on("zoom",null):O||z.on("zoom",t=>{let{onViewportChange:n}=M.getState();if(M.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),C.current=!!(r&&rV(f,D.current??0)),(e||n)&&!t.sourceEvent?.internal){let r=rL(t.transform);n?.(r),e?.(t.sourceEvent,r)}}))},[O,z,e,f,r]),(0,y.useEffect)(()=>{z&&z.on("end",e=>{let t,o;if(!e.sourceEvent||e.sourceEvent.internal)return null;let{onViewportChangeEnd:i}=M.getState();if(k.current=!1,M.setState({paneDragging:!1}),r&&rV(f,D.current??0)&&!C.current&&r(e.sourceEvent),C.current=!1,(n||i)&&(t=$.current,o=e.transform,t.x!==o.x||t.y!==o.y||t.zoom!==o.k)){let t=rL(e.transform);$.current=t,clearTimeout(E.current),E.current=setTimeout(()=>{i?.(t),n?.(e.sourceEvent,t)},150*!!a)}})},[z,a,f,n,r]),(0,y.useEffect)(()=>{z&&z.filter(e=>{let t=I||o,n=i&&e.ctrlKey;if((!0===f||Array.isArray(f)&&f.includes(1))&&1===e.button&&"mousedown"===e.type&&(rj(e,"react-flow__node")||rj(e,"react-flow__edge")))return!0;if(!f&&!t&&!a&&!u&&!i||O||!u&&"dblclick"===e.type||rj(e,w)&&"wheel"===e.type||rj(e,_)&&("wheel"!==e.type||a&&"wheel"===e.type&&!I)||!i&&e.ctrlKey&&"wheel"===e.type||!t&&!a&&!n&&"wheel"===e.type||!f&&("mousedown"===e.type||"touchstart"===e.type)||Array.isArray(f)&&!f.includes(e.button)&&"mousedown"===e.type)return!1;let r=Array.isArray(f)&&f.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&r})},[O,z,o,i,a,u,f,d,I]),y.default.createElement("div",{className:"react-flow__renderer",ref:A,style:rH},b)},rW=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function rK(){let{userSelectionActive:e,userSelectionRect:t}=nn(rW,N);return e&&t?y.default.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function rq(e,t){let n=t.parentNode||t.parentId,r=e.find(e=>e.id===n);if(r){let e=t.position.x+t.width-r.width,n=t.position.y+t.height-r.height;if(e>0||n>0||t.position.x<0||t.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,e>0&&(r.style.width+=e),n>0&&(r.style.height+=n),t.position.x<0){let e=Math.abs(t.position.x);r.position.x=r.position.x-e,r.style.width+=e,t.position.x=0}if(t.position.y<0){let e=Math.abs(t.position.y);r.position.y=r.position.y-e,r.style.height+=e,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function rZ(e,t){if(e.some(e=>"reset"===e.type))return e.filter(e=>"reset"===e.type).map(e=>e.item);let n=e.filter(e=>"add"===e.type).map(e=>e.item);return t.reduce((t,n)=>{let r=e.filter(e=>e.id===n.id);if(0===r.length)return t.push(n),t;let o={...n};for(let e of r)if(e)switch(e.type){case"select":o.selected=e.selected;break;case"position":void 0!==e.position&&(o.position=e.position),void 0!==e.positionAbsolute&&(o.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(o.dragging=e.dragging),o.expandParent&&rq(t,o);break;case"dimensions":void 0!==e.dimensions&&(o.width=e.dimensions.width,o.height=e.dimensions.height),void 0!==e.updateStyle&&(o.style={...o.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(o.resizing=e.resizing),o.expandParent&&rq(t,o);break;case"remove":return t}return t.push(o),t},n)}function rU(e,t){return rZ(e,t)}let rG=(e,t)=>({id:e,type:"select",selected:t});function rQ(e,t){return e.reduce((e,n)=>{let r=t.includes(n.id);return!n.selected&&r?(n.selected=!0,e.push(rG(n.id,!0))):n.selected&&!r&&(n.selected=!1,e.push(rG(n.id,!1))),e},[])}let rJ=(e,t)=>n=>{n.target===t.current&&e?.(n)},r0=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),r1=(0,y.memo)(({isSelecting:e,selectionMode:t=d.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:o,onPaneClick:i,onPaneContextMenu:a,onPaneScroll:l,onPaneMouseEnter:s,onPaneMouseMove:u,onPaneMouseLeave:c,children:f})=>{let h=(0,y.useRef)(null),p=nr(),m=(0,y.useRef)(0),g=(0,y.useRef)(0),x=(0,y.useRef)(),{userSelectionActive:b,elementsSelectable:w,dragging:_}=nn(r0,N),S=()=>{p.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,g.current=0},E=e=>{i?.(e),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},M=w&&(e||b);return y.default.createElement("div",{className:v(["react-flow__pane",{dragging:_,selection:e}]),onClick:M?void 0:rJ(E,h),onContextMenu:rJ(e=>{Array.isArray(n)&&n?.includes(2)?e.preventDefault():a?.(e)},h),onWheel:rJ(l?e=>l(e):void 0,h),onMouseEnter:M?void 0:s,onMouseDown:M?t=>{let{resetSelectedElements:n,domNode:o}=p.getState();if(x.current=o?.getBoundingClientRect(),!w||!e||0!==t.button||t.target!==h.current||!x.current)return;let{x:i,y:a}=nE(t,x.current);n(),p.setState({userSelectionRect:{width:0,height:0,startX:i,startY:a,x:i,y:a}}),r?.(t)}:void 0,onMouseMove:M?n=>{let{userSelectionRect:r,nodeInternals:o,edges:i,transform:a,onNodesChange:l,onEdgesChange:s,nodeOrigin:u,getNodes:c}=p.getState();if(!e||!x.current||!r)return;p.setState({userSelectionActive:!0,nodesSelectionActive:!1});let f=nE(n,x.current),h=r.startX??0,y=r.startY??0,v={...r,x:f.x<h?f.x:h,y:f.y<y?f.y:y,width:Math.abs(f.x-h),height:Math.abs(f.y-y)},b=c(),w=nQ(o,v,a,t===d.Partial,!0,u),_=nJ(w,i).map(e=>e.id),S=w.map(e=>e.id);if(m.current!==S.length){m.current=S.length;let e=rQ(b,S);e.length&&l?.(e)}if(g.current!==_.length){g.current=_.length;let e=rQ(i,_);e.length&&s?.(e)}p.setState({userSelectionRect:v})}:u,onMouseUp:M?e=>{if(0!==e.button)return;let{userSelectionRect:t}=p.getState();!b&&t&&e.target===h.current&&E?.(e),p.setState({nodesSelectionActive:m.current>0}),S(),o?.(e)}:void 0,onMouseLeave:M?e=>{b&&(p.setState({nodesSelectionActive:m.current>0}),o?.(e)),S()}:c,ref:h,style:rH},f,y.default.createElement(rK,null))});function r2(e,t,n){let r=e;do{if(r?.matches(t))return!0;if(r===n.current)break;r=r.parentElement}while(r)return!1}function r3(e,t,n,r,o=[0,0],i){var a;let l=(a=e.extent||r)&&"parent"!==a?[a[0],[a[1][0]-(e.width||0),a[1][1]-(e.height||0)]]:a,s=l,u=e.parentNode||e.parentId;if("parent"!==e.extent||e.expandParent){if(e.extent&&u&&"parent"!==e.extent){let{x:t,y:r}=nU(n.get(u),o).positionAbsolute;s=[[e.extent[0][0]+t,e.extent[0][1]+r],[e.extent[1][0]+t,e.extent[1][1]+r]]}}else if(u&&e.width&&e.height){let t=n.get(u),{x:r,y:i}=nU(t,o).positionAbsolute;s=t&&nx(r)&&nx(i)&&nx(t.width)&&nx(t.height)?[[r+e.width*o[0],i+e.height*o[1]],[r+t.width-e.width+e.width*o[0],i+t.height-e.height+e.height*o[1]]]:s}else i?.("005","Only child nodes can use a parent extent."),s=l;let c={x:0,y:0};u&&(c=nU(n.get(u),o).positionAbsolute);let d=s&&"parent"!==s?nc(t,s):t;return{position:{x:d.x-c.x,y:d.y-c.y},positionAbsolute:d}}function r5({nodeId:e,dragItems:t,nodeInternals:n}){let r=t.map(e=>({...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}));return[e?r.find(t=>t.id===e):r[0],r]}r1.displayName="Pane";let r4=(e,t,n,r)=>{let o=t.querySelectorAll(e);if(!o||!o.length)return null;let i=Array.from(o),a=t.getBoundingClientRect(),l={x:a.width*r[0],y:a.height*r[1]};return i.map(e=>{let t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-a.left-l.x)/n,y:(t.top-a.top-l.y)/n,...ns(e)}})};function r6(e,t,n){return void 0===n?n:r=>{let o=t().nodeInternals.get(e);o&&n(r,{...o})}}function r8({id:e,store:t,unselect:n=!1,nodeRef:r}){let o,{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:l,nodeInternals:s,onError:u}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&l)&&(a({nodes:[c],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])):u?.("012",(o=e,`Node with id "${o}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function r9(e){return(t,n,r)=>e?.(t,r)}function r7({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:o,isSelectable:i,selectNodesOnDrag:a}){let l,s=nr(),[u,c]=(0,y.useState)(!1),d=(0,y.useRef)([]),f=(0,y.useRef)({x:null,y:null}),h=(0,y.useRef)(0),p=(0,y.useRef)(null),m=(0,y.useRef)({x:0,y:0}),g=(0,y.useRef)(null),v=(0,y.useRef)(!1),x=(0,y.useRef)(!1),b=(0,y.useRef)(!1),w=(l=nr(),(0,y.useCallback)(({sourceEvent:e})=>{let{transform:t,snapGrid:n,snapToGrid:r}=l.getState(),o=e.touches?e.touches[0].clientX:e.clientX,i=e.touches?e.touches[0].clientY:e.clientY,a={x:(o-t[0])/t[2],y:(i-t[1])/t[2]};return{xSnapped:r?n[0]*Math.round(a.x/n[0]):a.x,ySnapped:r?n[1]*Math.round(a.y/n[1]):a.y,...a}},[]));return(0,y.useEffect)(()=>{if(e?.current){let l=ex(e.current),u=({x:e,y:t})=>{let{nodeInternals:n,onNodeDrag:r,onSelectionDrag:i,updateNodePositions:a,nodeExtent:l,snapGrid:u,snapToGrid:h,nodeOrigin:p,onError:m}=s.getState();f.current={x:e,y:t};let y=!1,v={x:0,y:0,x2:0,y2:0};if(d.current.length>1&&l&&(v=nm(nG(d.current,p))),d.current=d.current.map(r=>{let o={x:e-r.distance.x,y:t-r.distance.y};h&&(o.x=u[0]*Math.round(o.x/u[0]),o.y=u[1]*Math.round(o.y/u[1]));let i=[[l[0][0],l[0][1]],[l[1][0],l[1][1]]];d.current.length>1&&l&&!r.extent&&(i[0][0]=r.positionAbsolute.x-v.x+l[0][0],i[1][0]=r.positionAbsolute.x+(r.width??0)-v.x2+l[1][0],i[0][1]=r.positionAbsolute.y-v.y+l[0][1],i[1][1]=r.positionAbsolute.y+(r.height??0)-v.y2+l[1][1]);let a=r3(r,o,n,i,p,m);return y=y||r.position.x!==a.position.x||r.position.y!==a.position.y,r.position=a.position,r.positionAbsolute=a.positionAbsolute,r}),!y)return;a(d.current,!0,!0),c(!0);let x=o?r:r9(i);if(x&&g.current){let[e,t]=r5({nodeId:o,dragItems:d.current,nodeInternals:n});x(g.current,e,t)}},y=()=>{if(!p.current)return;let[e,t]=nf(m.current,p.current);if(0!==e||0!==t){let{transform:n,panBy:r}=s.getState();f.current.x=(f.current.x??0)-e/n[2],f.current.y=(f.current.y??0)-t/n[2],r({x:e,y:t})&&u(f.current)}h.current=requestAnimationFrame(y)},_=t=>{let{nodeInternals:n,multiSelectionActive:r,nodesDraggable:l,unselectNodesAndEdges:u,onNodeDragStart:c,onSelectionDragStart:h}=s.getState();x.current=!0;let p=o?c:r9(h);a&&i||r||!o||n.get(o)?.selected||u(),o&&i&&a&&r8({id:o,store:s,nodeRef:e});let m=w(t);if(f.current=m,d.current=Array.from(n.values()).filter(e=>(e.selected||e.id===o)&&(!e.parentNode||e.parentId||!function e(t,n){let r=t.parentNode||t.parentId;if(!r)return!1;let o=n.get(r);return!!o&&(!!o.selected||e(o,n))}(e,n))&&(e.draggable||l&&void 0===e.draggable)).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:m.x-(e.positionAbsolute?.x??0),y:m.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode||e.parentId,parentId:e.parentNode||e.parentId,width:e.width,height:e.height,expandParent:e.expandParent})),p&&d.current){let[e,r]=r5({nodeId:o,dragItems:d.current,nodeInternals:n});p(t.sourceEvent,e,r)}};if(t)l.on(".drag",null);else{let t=(function(){var e,t,n,r,o=t4,i=t6,a=t8,l=t9,s={},u=A("start","drag","end"),c=0,d=0;function f(e){e.on("mousedown.drag",h).filter(l).on("touchstart.drag",g).on("touchmove.drag",y,eb).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(a,l){if(!r&&o.call(this,a,l)){var s=x(this,i.call(this,a,l),a,l,"mouse");s&&(ex(a.view).on("mousemove.drag",p,ew).on("mouseup.drag",m,ew),eE(a.view),e_(a),n=!1,e=a.clientX,t=a.clientY,s("start",a))}}function p(r){if(eS(r),!n){var o=r.clientX-e,i=r.clientY-t;n=o*o+i*i>d}s.mouse("drag",r)}function m(e){ex(e.view).on("mousemove.drag mouseup.drag",null),eM(e.view,n),eS(e),s.mouse("end",e)}function g(e,t){if(o.call(this,e,t)){var n,r,a=e.changedTouches,l=i.call(this,e,t),s=a.length;for(n=0;n<s;++n)(r=x(this,l,e,t,a[n].identifier,a[n]))&&(e_(e),r("start",e,a[n]))}}function y(e){var t,n,r=e.changedTouches,o=r.length;for(t=0;t<o;++t)(n=s[r[t].identifier])&&(eS(e),n("drag",e,r[t]))}function v(e){var t,n,o=e.changedTouches,i=o.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<i;++t)(n=s[o[t].identifier])&&(e_(e),n("end",e,o[t]))}function x(e,t,n,r,o,i){var l,d,h,p=u.copy(),m=eC(i||n,t);if(null!=(h=a.call(e,new t5("beforestart",{sourceEvent:n,target:f,identifier:o,active:c,x:m[0],y:m[1],dx:0,dy:0,dispatch:p}),r)))return l=h.x-m[0]||0,d=h.y-m[1]||0,function n(i,a,u){var g,y=m;switch(i){case"start":s[o]=n,g=c++;break;case"end":delete s[o],--c;case"drag":m=eC(u||a,t),g=c}p.call(i,e,new t5(i,{sourceEvent:a,subject:h,target:f,identifier:o,active:g,x:m[0]+l,y:m[1]+d,dx:m[0]-y[0],dy:m[1]-y[1],dispatch:p}),r)}}return f.filter=function(e){return arguments.length?(o="function"==typeof e?e:t3(!!e),f):o},f.container=function(e){return arguments.length?(i="function"==typeof e?e:t3(e),f):i},f.subject=function(e){return arguments.length?(a="function"==typeof e?e:t3(e),f):a},f.touchable=function(e){return arguments.length?(l="function"==typeof e?e:t3(!!e),f):l},f.on=function(){var e=u.on.apply(u,arguments);return e===u?f:e},f.clickDistance=function(e){return arguments.length?(d=(e*=1)*e,f):Math.sqrt(d)},f})().on("start",e=>{let{domNode:t,nodeDragThreshold:n}=s.getState();0===n&&_(e),b.current=!1,f.current=w(e),p.current=t?.getBoundingClientRect()||null,m.current=nE(e.sourceEvent,p.current)}).on("drag",e=>{let t=w(e),{autoPanOnNodeDrag:n,nodeDragThreshold:r}=s.getState();if("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1&&(b.current=!0),!b.current){if(!v.current&&x.current&&n&&(v.current=!0,y()),!x.current){let n=t.xSnapped-(f?.current?.x??0),o=t.ySnapped-(f?.current?.y??0);Math.sqrt(n*n+o*o)>r&&_(e)}(f.current.x!==t.xSnapped||f.current.y!==t.ySnapped)&&d.current&&x.current&&(g.current=e.sourceEvent,m.current=nE(e.sourceEvent,p.current),u(t))}}).on("end",e=>{if(x.current&&!b.current&&(c(!1),v.current=!1,x.current=!1,cancelAnimationFrame(h.current),d.current)){let{updateNodePositions:t,nodeInternals:n,onNodeDragStop:r,onSelectionDragStop:i}=s.getState(),a=o?r:r9(i);if(t(d.current,!1,!1),a){let[t,r]=r5({nodeId:o,dragItems:d.current,nodeInternals:n});a(e.sourceEvent,t,r)}}}).filter(t=>{let o=t.target;return!t.button&&(!n||!r2(o,`.${n}`,e))&&(!r||r2(o,r,e))});return l.call(t),()=>{l.on(".drag",null)}}}},[e,t,n,r,i,s,o,a,w]),u}function oe(){let e=nr();return(0,y.useCallback)(t=>{let{nodeInternals:n,nodeExtent:r,updateNodePositions:o,getNodes:i,snapToGrid:a,snapGrid:l,onError:s,nodesDraggable:u}=e.getState(),c=i().filter(e=>e.selected&&(e.draggable||u&&void 0===e.draggable)),d=a?l[0]:5,f=a?l[1]:5,h=t.isShiftPressed?4:1,p=t.x*d*h,m=t.y*f*h;o(c.map(e=>{if(e.positionAbsolute){let t={x:e.positionAbsolute.x+p,y:e.positionAbsolute.y+m};a&&(t.x=l[0]*Math.round(t.x/l[0]),t.y=l[1]*Math.round(t.y/l[1]));let{positionAbsolute:o,position:i}=r3(e,t,n,r,void 0,s);e.position=i,e.positionAbsolute=o}return e}),!0,!1)},[])}let ot={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var on=e=>{let t=({id:t,type:n,data:r,xPos:o,yPos:i,xPosOrigin:a,yPosOrigin:l,selected:s,onClick:u,onMouseEnter:c,onMouseMove:d,onMouseLeave:f,onContextMenu:h,onDoubleClick:p,style:m,className:g,isDraggable:x,isSelectable:b,isConnectable:w,isFocusable:_,selectNodesOnDrag:S,sourcePosition:E,targetPosition:M,hidden:k,resizeObserver:N,dragHandle:C,zIndex:A,isParent:$,noDragClassName:z,noPanClassName:P,initialized:R,disableKeyboardA11y:O,ariaLabel:I,rfId:D,hasHandleBounds:T})=>{let B=nr(),H=(0,y.useRef)(null),L=(0,y.useRef)(null),j=(0,y.useRef)(E),V=(0,y.useRef)(M),X=(0,y.useRef)(n),Y=b||x||u||c||d||f,F=oe(),W=r6(t,B.getState,c),K=r6(t,B.getState,d),q=r6(t,B.getState,f),Z=r6(t,B.getState,h),U=r6(t,B.getState,p);(0,y.useEffect)(()=>()=>{L.current&&(N?.unobserve(L.current),L.current=null)},[]),(0,y.useEffect)(()=>{if(H.current&&!k){let e=H.current;R&&T&&L.current===e||(L.current&&N?.unobserve(L.current),N?.observe(e),L.current=e)}},[k,R,T]),(0,y.useEffect)(()=>{let e=X.current!==n,r=j.current!==E,o=V.current!==M;H.current&&(e||r||o)&&(e&&(X.current=n),r&&(j.current=E),o&&(V.current=M),B.getState().updateNodeDimensions([{id:t,nodeElement:H.current,forceUpdate:!0}]))},[t,n,E,M]);let G=r7({nodeRef:H,disabled:k||!x,noDragClassName:z,handleSelector:C,nodeId:t,isSelectable:b,selectNodesOnDrag:S});return k?null:y.default.createElement("div",{className:v(["react-flow__node",`react-flow__node-${n}`,{[P]:x},g,{selected:s,selectable:b,parent:$,dragging:G}]),ref:H,style:{zIndex:A,transform:`translate(${a}px,${l}px)`,pointerEvents:Y?"all":"none",visibility:R?"visible":"hidden",...m},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:W,onMouseMove:K,onMouseLeave:q,onContextMenu:Z,onClick:e=>{let{nodeDragThreshold:n}=B.getState();if(b&&(!S||!x||n>0)&&r8({id:t,store:B,nodeRef:H}),u){let n=B.getState().nodeInternals.get(t);n&&u(e,{...n})}},onDoubleClick:U,onKeyDown:_?e=>{nS(e)||!O&&(nw.includes(e.key)&&b?r8({id:t,store:B,unselect:"Escape"===e.key,nodeRef:H}):x&&s&&Object.prototype.hasOwnProperty.call(ot,e.key)&&(B.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~i}`}),F({x:ot[e.key].x,y:ot[e.key].y,isShiftPressed:e.shiftKey})))}:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":O?void 0:`${r_}-${D}`,"aria-label":I},y.default.createElement(nF,{value:t},y.default.createElement(e,{id:t,data:r,type:n,xPos:o,yPos:i,selected:s,isConnectable:w,sourcePosition:E,targetPosition:M,dragging:G,dragHandle:C,zIndex:A})))};return t.displayName="NodeWrapper",(0,y.memo)(t)};let or=e=>({...nG(e.getNodes().filter(e=>e.selected),e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive});var oo=(0,y.memo)(function({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=nr(),{width:o,height:i,x:a,y:l,transformString:s,userSelectionActive:u}=nn(or,N),c=oe(),d=(0,y.useRef)(null);if((0,y.useEffect)(()=>{n||d.current?.focus({preventScroll:!0})},[n]),r7({nodeRef:d}),u||!o||!i)return null;let f=e?t=>{e(t,r.getState().getNodes().filter(e=>e.selected))}:void 0;return y.default.createElement("div",{className:v(["react-flow__nodesselection","react-flow__container",t]),style:{transform:s}},y.default.createElement("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(ot,e.key)&&c({x:ot[e.key].x,y:ot[e.key].y,isShiftPressed:e.shiftKey})},style:{width:o,height:i,top:l,left:a}}))});let oi=e=>e.nodesSelectionActive,oa=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:a,deleteKeyCode:l,onMove:s,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:g,panActivationKeyCode:v,zoomActivationKeyCode:x,elementsSelectable:b,zoomOnScroll:w,zoomOnPinch:_,panOnScroll:S,panOnScrollSpeed:E,panOnScrollMode:M,zoomOnDoubleClick:k,panOnDrag:N,defaultViewport:C,translateExtent:A,minZoom:$,maxZoom:z,preventScrolling:P,onSelectionContextMenu:R,noWheelClassName:O,noPanClassName:I,disableKeyboardA11y:D})=>{let T=nn(oi),B=rN(d),H=rN(v),L=H||N,j=H||S,V=B||f&&!0!==L;return(({deleteKeyCode:e,multiSelectionKeyCode:t})=>{let n=nr(),{deleteElements:r}=rT(),o=rN(e,rB),i=rN(t);(0,y.useEffect)(()=>{if(o){let{edges:e,getNodes:t}=n.getState();r({nodes:t().filter(e=>e.selected),edges:e.filter(e=>e.selected)}),n.setState({nodesSelectionActive:!1})}},[o]),(0,y.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])})({deleteKeyCode:l,multiSelectionKeyCode:g}),y.default.createElement(rF,{onMove:s,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:i,elementsSelectable:b,zoomOnScroll:w,zoomOnPinch:_,panOnScroll:j,panOnScrollSpeed:E,panOnScrollMode:M,zoomOnDoubleClick:k,panOnDrag:!B&&L,defaultViewport:C,translateExtent:A,minZoom:$,maxZoom:z,zoomActivationKeyCode:x,preventScrolling:P,noWheelClassName:O,noPanClassName:I},y.default.createElement(r1,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:a,panOnDrag:L,isSelecting:!!V,selectionMode:h},e,T&&y.default.createElement(oo,{onSelectionContextMenu:R,noPanClassName:I,disableKeyboardA11y:D})))};oa.displayName="FlowRenderer";var ol=(0,y.memo)(oa);function os(e){let t={input:on(e.input||ra),default:on(e.default||ro),output:on(e.output||rs),group:on(e.group||ru)},n=Object.keys(e).filter(e=>!["input","default","output","group"].includes(e)).reduce((t,n)=>(t[n]=on(e[n]||ro),t),{});return{...t,...n}}let ou=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),oc=e=>{var t;let{nodesDraggable:n,nodesConnectable:r,nodesFocusable:o,elementsSelectable:i,updateNodeDimensions:a,onError:l}=nn(ou,N),s=(t=e.onlyRenderVisibleElements,nn((0,y.useCallback)(e=>t?nQ(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))),u=(0,y.useRef)(),c=(0,y.useMemo)(()=>{if("u"<typeof ResizeObserver)return null;let e=new ResizeObserver(e=>{a(e.map(e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0})))});return u.current=e,e},[]);return(0,y.useEffect)(()=>()=>{u?.current?.disconnect()},[]),y.default.createElement("div",{className:"react-flow__nodes",style:rH},s.map(t=>{let a,s=t.type||"default";e.nodeTypes[s]||(l?.("003",(a=s,`Node type "${a}" not found. Using fallback type "default".`)),s="default");let u=e.nodeTypes[s]||e.nodeTypes.default,d=!!(t.draggable||n&&void 0===t.draggable),f=!!(t.selectable||i&&void 0===t.selectable),h=!!(t.connectable||r&&void 0===t.connectable),m=!!(t.focusable||o&&void 0===t.focusable),g=e.nodeExtent?nc(t.positionAbsolute,e.nodeExtent):t.positionAbsolute,v=g?.x??0,x=g?.y??0,b=(({x:e,y:t,width:n,height:r,origin:o})=>!n||!r||o[0]<0||o[1]<0||o[0]>1||o[1]>1?{x:e,y:t}:{x:e-n*o[0],y:t-r*o[1]})({x:v,y:x,width:t.width??0,height:t.height??0,origin:e.nodeOrigin});return y.default.createElement(u,{key:t.id,id:t.id,className:t.className,style:t.style,type:s,data:t.data,sourcePosition:t.sourcePosition||p.Bottom,targetPosition:t.targetPosition||p.Top,hidden:t.hidden,xPos:v,yPos:x,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!t.selected,isDraggable:d,isSelectable:f,isConnectable:h,isFocusable:m,resizeObserver:c,dragHandle:t.dragHandle,zIndex:t[nb]?.z??0,isParent:!!t[nb]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!t.width&&!!t.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:t.ariaLabel,hasHandleBounds:!!t[nb]?.handleBounds})}))};oc.displayName="NodeRenderer";var od=(0,y.memo)(oc);let of="react-flow__edgeupdater",oh=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:o,onMouseEnter:i,onMouseOut:a,type:l})=>y.default.createElement("circle",{onMouseDown:o,onMouseEnter:i,onMouseOut:a,className:v([of,`${of}-${l}`]),cx:e===p.Left?t-r:e===p.Right?t+r:t,cy:e===p.Top?n-r:e===p.Bottom?n+r:n,r:r,stroke:"transparent",fill:"transparent"}),op=()=>!0;var om=e=>{let t=({id:t,className:n,type:r,data:o,onClick:i,onEdgeDoubleClick:a,selected:l,animated:s,label:u,labelStyle:c,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:m,source:g,target:x,sourceX:b,sourceY:w,targetX:_,targetY:S,sourcePosition:E,targetPosition:M,elementsSelectable:k,hidden:N,sourceHandleId:C,targetHandleId:A,onContextMenu:$,onMouseEnter:z,onMouseMove:P,onMouseLeave:R,reconnectRadius:O,onReconnect:I,onReconnectStart:D,onReconnectEnd:T,markerEnd:B,markerStart:H,rfId:L,ariaLabel:j,isFocusable:V,isReconnectable:X,pathOptions:Y,interactionWidth:F,disableKeyboardA11y:W})=>{let K=(0,y.useRef)(null),[q,Z]=(0,y.useState)(!1),[U,G]=(0,y.useState)(!1),Q=nr(),J=(0,y.useMemo)(()=>`url('#${nW(H,L)}')`,[H,L]),ee=(0,y.useMemo)(()=>`url('#${nW(B,L)}')`,[B,L]);if(N)return null;let et=nN(t,Q.getState,a),en=nN(t,Q.getState,$),er=nN(t,Q.getState,z),eo=nN(t,Q.getState,P),ei=nN(t,Q.getState,R),ea=(e,n)=>{if(0!==e.button)return;let{edges:r,isValidConnection:o}=Q.getState(),i=n?x:g,a=(n?A:C)||null,l=n?"target":"source",s=r.find(e=>e.id===t);G(!0),D?.(e,s,l),n9({event:e,handleId:a,nodeId:i,onConnect:e=>I?.(s,e),isTarget:n,getState:Q.getState,setState:Q.setState,isValidConnection:o||op,edgeUpdaterType:l,onReconnectEnd:e=>{G(!1),T?.(e,s,l)}})},el=()=>Z(!0),es=()=>Z(!1);return y.default.createElement("g",{className:v(["react-flow__edge",`react-flow__edge-${r}`,n,{selected:l,animated:s,inactive:!k&&!i,updating:q}]),onClick:e=>{let{edges:n,addSelectedEdges:r,unselectNodesAndEdges:o,multiSelectionActive:a}=Q.getState(),l=n.find(e=>e.id===t);l&&(k&&(Q.setState({nodesSelectionActive:!1}),l.selected&&a?(o({nodes:[],edges:[l]}),K.current?.blur()):r([t])),i&&i(e,l))},onDoubleClick:et,onContextMenu:en,onMouseEnter:er,onMouseMove:eo,onMouseLeave:ei,onKeyDown:V?e=>{if(!W&&nw.includes(e.key)&&k){let{unselectNodesAndEdges:n,addSelectedEdges:r,edges:o}=Q.getState();"Escape"===e.key?(K.current?.blur(),n({edges:[o.find(e=>e.id===t)]})):r([t])}}:void 0,tabIndex:V?0:void 0,role:V?"button":"img","data-testid":`rf__edge-${t}`,"aria-label":null===j?void 0:j||`Edge from ${g} to ${x}`,"aria-describedby":V?`${rS}-${L}`:void 0,ref:K},!U&&y.default.createElement(e,{id:t,source:g,target:x,selected:l,animated:s,label:u,labelStyle:c,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,data:o,style:m,sourceX:b,sourceY:w,targetX:_,targetY:S,sourcePosition:E,targetPosition:M,sourceHandleId:C,targetHandleId:A,markerStart:J,markerEnd:ee,pathOptions:Y,interactionWidth:F}),X&&y.default.createElement(y.default.Fragment,null,("source"===X||!0===X)&&y.default.createElement(oh,{position:E,centerX:b,centerY:w,radius:O,onMouseDown:e=>ea(e,!0),onMouseEnter:el,onMouseOut:es,type:"source"}),("target"===X||!0===X)&&y.default.createElement(oh,{position:M,centerX:_,centerY:S,radius:O,onMouseDown:e=>ea(e,!1),onMouseEnter:el,onMouseOut:es,type:"target"})))};return t.displayName="EdgeWrapper",(0,y.memo)(t)};function og(e){let t={default:om(e.default||nX),straight:om(e.bezier||nH),step:om(e.step||nB),smoothstep:om(e.step||nT),simplebezier:om(e.simplebezier||nP)},n=Object.keys(e).filter(e=>!["default","bezier"].includes(e)).reduce((t,n)=>(t[n]=om(e[n]||nX),t),{});return{...t,...n}}function oy(e,t,n=null){let r=(n?.x||0)+t.x,o=(n?.y||0)+t.y,i=n?.width||t.width,a=n?.height||t.height;switch(e){case p.Top:return{x:r+i/2,y:o};case p.Right:return{x:r+i,y:o+a/2};case p.Bottom:return{x:r+i/2,y:o+a};case p.Left:return{x:r,y:o+a/2}}}function ov(e,t){return e?1!==e.length&&t?t&&e.find(e=>e.id===t)||null:e[0]:null}function ox(e){let t=e?.[nb]?.handleBounds||null,n=t&&e?.width&&e?.height&&void 0!==e?.positionAbsolute?.x&&void 0!==e?.positionAbsolute?.y;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!n]}let ob=[{level:0,isMaxLevel:!0,edges:[]}],ow={[h.Arrow]:({color:e="none",strokeWidth:t=1})=>y.default.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[h.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>y.default.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},o_=({id:e,type:t,color:n,width:r=12.5,height:o=12.5,markerUnits:i="strokeWidth",strokeWidth:a,orient:l="auto-start-reverse"})=>{let s,u=(s=nr(),(0,y.useMemo)(()=>{let e;return Object.prototype.hasOwnProperty.call(ow,t)?ow[t]:(s.getState().onError?.("009",(e=t,`Marker type "${e}" doesn't exist.`)),null)},[t]));return u?y.default.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:l,refX:"0",refY:"0"},y.default.createElement(u,{color:n,strokeWidth:a})):null},oS=({defaultColor:e,rfId:t})=>{let n=nn((0,y.useCallback)((({defaultColor:e,rfId:t})=>n=>{let r=[];return n.edges.reduce((n,o)=>([o.markerStart,o.markerEnd].forEach(o=>{if(o&&"object"==typeof o){let i=nW(o,t);r.includes(i)||(n.push({id:i,color:o.color||e,...o}),r.push(i))}}),n),[]).sort((e,t)=>e.id.localeCompare(t.id))})({defaultColor:e,rfId:t}),[e,t]),(e,t)=>!(e.length!==t.length||e.some((e,n)=>e.id!==t[n].id)));return y.default.createElement("defs",null,n.map(e=>y.default.createElement(o_,{id:e.id,key:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient})))};oS.displayName="MarkerDefinitions";var oE=(0,y.memo)(oS);let oM=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),ok=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:o,noPanClassName:i,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:d,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:m,onReconnectEnd:g,reconnectRadius:x,children:b,disableKeyboardA11y:w})=>{let{edgesFocusable:_,edgesUpdatable:S,elementsSelectable:E,width:M,height:k,connectionMode:C,nodeInternals:A,onError:$}=nn(oM,N),z=function(e,t,n=!1){let r=-1,o=Object.entries(e.reduce((e,o)=>{let i=nx(o.zIndex),a=i?o.zIndex:0;if(n){let e=t.get(o.target),n=t.get(o.source),r=o.selected||e?.selected||n?.selected,l=Math.max(n?.[nb]?.z||0,e?.[nb]?.z||0,1e3);a=(i?o.zIndex:0)+(r?l:0)}return e[a]?e[a].push(o):e[a]=[o],r=a>r?a:r,e},{})).map(([e,t])=>{let n=+e;return{edges:t,level:n,isMaxLevel:n===r}});return 0===o.length?ob:o}(nn((0,y.useCallback)(e=>t?e.edges.filter(t=>{let n=A.get(t.source),r=A.get(t.target);return n?.width&&n?.height&&r?.width&&r?.height&&function({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:o,targetHeight:i,width:a,height:l,transform:s}){let u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+o),y2:Math.max(e.y+r,t.y+i)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);let c=nm({x:(0-s[0])/s[2],y:(0-s[1])/s[2],width:a/s[2],height:l/s[2]});return Math.ceil(Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x))*Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y)))>0}({sourcePos:n.positionAbsolute||{x:0,y:0},targetPos:r.positionAbsolute||{x:0,y:0},sourceWidth:n.width,sourceHeight:n.height,targetWidth:r.width,targetHeight:r.height,width:e.width,height:e.height,transform:e.transform})}):e.edges,[t,A])),A,n);return M?y.default.createElement(y.default.Fragment,null,z.map(({level:t,edges:n,isMaxLevel:b})=>y.default.createElement("svg",{key:t,style:{zIndex:t},width:M,height:k,className:"react-flow__edges react-flow__container"},b&&y.default.createElement(oE,{defaultColor:e,rfId:r}),y.default.createElement("g",null,n.map(e=>{let t,n,b,[M,k,N]=ox(A.get(e.source)),[z,P,R]=ox(A.get(e.target));if(!N||!R)return null;let O=e.type||"default";o[O]||($?.("011",(t=O,`Edge type "${t}" not found. Using fallback type "default".`)),O="default");let I=o[O]||o.default,D=C===u.Strict?P.target:(P.target??[]).concat(P.source??[]),T=ov(k.source,e.sourceHandle),B=ov(D,e.targetHandle),H=T?.position||p.Bottom,L=B?.position||p.Top,j=!!(e.focusable||_&&void 0===e.focusable),V=e.reconnectable||e.updatable;if(!T||!B){let t,n;return $?.("008",(t=T,n=e,`Couldn't create edge for ${!t?"source":"target"} handle id: "${!t?n.sourceHandle:n.targetHandle}", edge id: ${n.id}.`)),null}let{sourceX:X,sourceY:Y,targetX:F,targetY:W}=(n=oy(H,M,T),b=oy(L,z,B),{sourceX:n.x,sourceY:n.y,targetX:b.x,targetY:b.y});return y.default.createElement(I,{key:e.id,id:e.id,className:v([e.className,i]),type:O,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:X,sourceY:Y,targetX:F,targetY:W,sourcePosition:H,targetPosition:L,elementsSelectable:E,onContextMenu:a,onMouseEnter:l,onMouseMove:s,onMouseLeave:c,onClick:d,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:m,onReconnectEnd:g,reconnectRadius:x,rfId:r,ariaLabel:e.ariaLabel,isFocusable:j,isReconnectable:void 0!==h&&(V||S&&void 0===V),pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth,disableKeyboardA11y:w})})))),b):null};ok.displayName="EdgeRenderer";var oN=(0,y.memo)(ok);let oC=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function oA({children:e}){let t=nn(oC);return y.default.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}let o$={[p.Left]:p.Right,[p.Right]:p.Left,[p.Top]:p.Bottom,[p.Bottom]:p.Top},oz=({nodeId:e,handleType:t,style:n,type:r=f.Bezier,CustomComponent:o,connectionStatus:i})=>{let{fromNode:a,handleId:l,toX:s,toY:c,connectionMode:d}=nn((0,y.useCallback)(t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode}),[e]),N),h=a?.[nb]?.handleBounds,p=h?.[t];if(d===u.Loose&&(p=p||h?.["source"===t?"target":"source"]),!a||!p)return null;let m=l?p.find(e=>e.id===l):p[0],g=m?m.x+m.width/2:(a.width??0)/2,v=m?m.y+m.height/2:a.height??0,x=(a.positionAbsolute?.x??0)+g,b=(a.positionAbsolute?.y??0)+v,w=m?.position,_=w?o$[w]:null;if(!w||!_)return null;if(o)return y.default.createElement(o,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:m,fromX:x,fromY:b,toX:s,toY:c,fromPosition:w,toPosition:_,connectionStatus:i});let S="",E={sourceX:x,sourceY:b,sourcePosition:w,targetX:s,targetY:c,targetPosition:_};return r===f.Bezier?[S]=nV(E):r===f.Step?[S]=nD({...E,borderRadius:0}):r===f.SmoothStep?[S]=nD(E):r===f.SimpleBezier?[S]=nz(E):S=`M${x},${b} ${s},${c}`,y.default.createElement("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};oz.displayName="ConnectionLine";let oP=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function oR({containerStyle:e,style:t,type:n,component:r}){let{nodeId:o,handleType:i,nodesConnectable:a,width:l,height:s,connectionStatus:u}=nn(oP,N);return o&&i&&l&&a?y.default.createElement("svg",{style:e,width:l,height:s,className:"react-flow__edges react-flow__connectionline react-flow__container"},y.default.createElement("g",{className:v(["react-flow__connection",u])},y.default.createElement(oz,{nodeId:o,handleType:i,style:t,type:n,CustomComponent:r,connectionStatus:u}))):null}function oO(e,t){return(0,y.useRef)(null),nr(),(0,y.useMemo)(()=>t(e),[e])}let oI=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:o,onInit:i,onNodeClick:a,onEdgeClick:l,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:g,connectionLineType:v,connectionLineStyle:x,connectionLineComponent:b,connectionLineContainerStyle:w,selectionKeyCode:_,selectionOnDrag:S,selectionMode:E,multiSelectionKeyCode:M,panActivationKeyCode:k,zoomActivationKeyCode:N,deleteKeyCode:C,onlyRenderVisibleElements:A,elementsSelectable:$,selectNodesOnDrag:z,defaultViewport:P,translateExtent:R,minZoom:O,maxZoom:I,preventScrolling:D,defaultMarkerColor:T,zoomOnScroll:B,zoomOnPinch:H,panOnScroll:L,panOnScrollSpeed:j,panOnScrollMode:V,zoomOnDoubleClick:X,panOnDrag:Y,onPaneClick:F,onPaneMouseEnter:W,onPaneMouseMove:K,onPaneMouseLeave:q,onPaneScroll:Z,onPaneContextMenu:U,onEdgeContextMenu:G,onEdgeMouseEnter:Q,onEdgeMouseMove:J,onEdgeMouseLeave:ee,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,reconnectRadius:eo,noDragClassName:ei,noWheelClassName:ea,noPanClassName:el,elevateEdgesOnSelect:es,disableKeyboardA11y:eu,nodeOrigin:ec,nodeExtent:ed,rfId:ef})=>{let eh,ep,em=oO(e,os),eg=oO(t,og);return eh=rT(),ep=(0,y.useRef)(!1),(0,y.useEffect)(()=>{!ep.current&&eh.viewportInitialized&&i&&(setTimeout(()=>i(eh),1),ep.current=!0)},[i,eh.viewportInitialized]),y.default.createElement(ol,{onPaneClick:F,onPaneMouseEnter:W,onPaneMouseMove:K,onPaneMouseLeave:q,onPaneContextMenu:U,onPaneScroll:Z,deleteKeyCode:C,selectionKeyCode:_,selectionOnDrag:S,selectionMode:E,onSelectionStart:m,onSelectionEnd:g,multiSelectionKeyCode:M,panActivationKeyCode:k,zoomActivationKeyCode:N,elementsSelectable:$,onMove:n,onMoveStart:r,onMoveEnd:o,zoomOnScroll:B,zoomOnPinch:H,zoomOnDoubleClick:X,panOnScroll:L,panOnScrollSpeed:j,panOnScrollMode:V,panOnDrag:Y,defaultViewport:P,translateExtent:R,minZoom:O,maxZoom:I,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:ei,noWheelClassName:ea,noPanClassName:el,disableKeyboardA11y:eu},y.default.createElement(oA,null,y.default.createElement(oN,{edgeTypes:eg,onEdgeClick:l,onEdgeDoubleClick:u,onlyRenderVisibleElements:A,onEdgeContextMenu:G,onEdgeMouseEnter:Q,onEdgeMouseMove:J,onEdgeMouseLeave:ee,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,reconnectRadius:eo,defaultMarkerColor:T,noPanClassName:el,elevateEdgesOnSelect:!!es,disableKeyboardA11y:eu,rfId:ef},y.default.createElement(oR,{style:x,type:v,component:b,containerStyle:w})),y.default.createElement("div",{className:"react-flow__edgelabel-renderer"}),y.default.createElement(od,{nodeTypes:em,onNodeClick:a,onNodeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:z,onlyRenderVisibleElements:A,noPanClassName:el,noDragClassName:ei,disableKeyboardA11y:eu,nodeOrigin:ec,nodeExtent:ed,rfId:ef})))};oI.displayName="GraphView";var oD=(0,y.memo)(oI);let oT=[[-1/0,-1/0],[1/0,1/0]],oB={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:oT,nodeExtent:oT,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:u.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:n_,isValidConnection:void 0},oH=({children:e})=>{let t,n,r=(0,y.useRef)(null);return r.current||(t=(e,t)=>({...oB,setNodes:n=>{let{nodeInternals:r,nodeOrigin:o,elevateNodesOnSelect:i}=t();e({nodeInternals:rz(n,r,o,i)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:r={}}=t();e({edges:n.map(e=>({...r,...e}))})},setDefaultNodesAndEdges:(n,r)=>{let o=void 0!==n,i=void 0!==r;e({nodeInternals:o?rz(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map,edges:i?r:[],hasDefaultNodes:o,hasDefaultEdges:i})},updateNodeDimensions:n=>{let{onNodesChange:r,nodeInternals:o,fitViewOnInit:i,fitViewOnInitDone:a,fitViewOnInitOptions:l,domNode:s,nodeOrigin:u}=t(),c=s?.querySelector(".react-flow__viewport");if(!c)return;let d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((e,t)=>{let n=o.get(t.id);if(n?.hidden)o.set(n.id,{...n,[nb]:{...n[nb],handleBounds:void 0}});else if(n){let r=ns(t.nodeElement);r.width&&r.height&&(n.width!==r.width||n.height!==r.height||t.forceUpdate)&&(o.set(n.id,{...n,[nb]:{...n[nb],handleBounds:{source:r4(".source",t.nodeElement,f,u),target:r4(".target",t.nodeElement,f,u)}},...r}),e.push({id:n.id,type:"dimensions",dimensions:r}))}return e},[]);r$(o,u);let p=a||i&&!a&&rP(t,{initial:!0,...l});e({nodeInternals:new Map(o),fitViewOnInitDone:p}),h?.length>0&&r?.(h)},updateNodePositions:(e,n=!0,r=!1)=>{let{triggerNodeChanges:o}=t();o(e.map(e=>{let t={id:e.id,type:"position",dragging:r};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t}))},triggerNodeChanges:n=>{let{onNodesChange:r,nodeInternals:o,hasDefaultNodes:i,nodeOrigin:a,getNodes:l,elevateNodesOnSelect:s}=t();n?.length&&(i&&e({nodeInternals:rz(rU(n,l()),o,a,s)}),r?.(n))},addSelectedNodes:n=>{let r,{multiSelectionActive:o,edges:i,getNodes:a}=t(),l=null;o?r=n.map(e=>rG(e,!0)):(r=rQ(a(),n),l=rQ(i,[])),rR({changedNodes:r,changedEdges:l,get:t,set:e})},addSelectedEdges:n=>{let r,{multiSelectionActive:o,edges:i,getNodes:a}=t(),l=null;o?r=n.map(e=>rG(e,!0)):(r=rQ(i,n),l=rQ(a(),[])),rR({changedNodes:l,changedEdges:r,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{let{edges:o,getNodes:i}=t();rR({changedNodes:(n||i()).map(e=>(e.selected=!1,rG(e.id,!1))),changedEdges:(r||o).map(e=>rG(e.id,!1)),get:t,set:e})},setMinZoom:n=>{let{d3Zoom:r,maxZoom:o}=t();r?.scaleExtent([n,o]),e({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:r,minZoom:o}=t();r?.scaleExtent([o,n]),e({maxZoom:n})},setTranslateExtent:n=>{t().d3Zoom?.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:r}=t();rR({changedNodes:r().filter(e=>e.selected).map(e=>rG(e.id,!1)),changedEdges:n.filter(e=>e.selected).map(e=>rG(e.id,!1)),get:t,set:e})},setNodeExtent:n=>{let{nodeInternals:r}=t();r.forEach(e=>{e.positionAbsolute=nc(e.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:e=>{let{transform:n,width:r,height:o,d3Zoom:i,d3Selection:a,translateExtent:l}=t();if(!i||!a||!e.x&&!e.y)return!1;let s=tK.translate(n[0]+e.x,n[1]+e.y).scale(n[2]),u=i?.constrain()(s,[[0,0],[r,o]],l);return i.transform(a,u),n[0]!==u.x||n[1]!==u.y||n[2]!==u.k},cancelConnection:()=>e({connectionNodeId:oB.connectionNodeId,connectionHandleId:oB.connectionHandleId,connectionHandleType:oB.connectionHandleType,connectionStatus:oB.connectionStatus,connectionStartHandle:oB.connectionStartHandle,connectionEndHandle:oB.connectionEndHandle}),reset:()=>e({...oB})}),n=Object.is,r.current=t?k(t,n):k),y.default.createElement(ne,{value:r.current},e)};oH.displayName="ReactFlowProvider";let oL=({children:e})=>(0,y.useContext)(t7)?y.default.createElement(y.default.Fragment,null,e):y.default.createElement(oH,null,e);oL.displayName="ReactFlowWrapper";let oj={input:ra,default:ro,output:rs,group:ru},oV={default:nX,straight:nH,step:nB,smoothstep:nT,simplebezier:nP},oX=[0,0],oY=[15,15],oF={x:0,y:0,zoom:1},oW={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},oK=(0,y.forwardRef)(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:o,nodeTypes:i=oj,edgeTypes:a=oV,onNodeClick:l,onEdgeClick:s,onInit:h,onMove:p,onMoveStart:m,onMoveEnd:g,onConnect:x,onConnectStart:b,onConnectEnd:w,onClickConnectStart:_,onClickConnectEnd:S,onNodeMouseEnter:E,onNodeMouseMove:M,onNodeMouseLeave:k,onNodeContextMenu:N,onNodeDoubleClick:C,onNodeDragStart:A,onNodeDrag:$,onNodeDragStop:z,onNodesDelete:P,onEdgesDelete:R,onSelectionChange:O,onSelectionDragStart:I,onSelectionDrag:D,onSelectionDragStop:T,onSelectionContextMenu:B,onSelectionStart:H,onSelectionEnd:L,connectionMode:j=u.Strict,connectionLineType:V=f.Bezier,connectionLineStyle:X,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:W="Backspace",selectionKeyCode:K="Shift",selectionOnDrag:q=!1,selectionMode:Z=d.Full,panActivationKeyCode:U="Space",multiSelectionKeyCode:G=nM()?"Meta":"Control",zoomActivationKeyCode:Q=nM()?"Meta":"Control",snapToGrid:J=!1,snapGrid:ee=oY,onlyRenderVisibleElements:et=!1,selectNodesOnDrag:en=!0,nodesDraggable:er,nodesConnectable:eo,nodesFocusable:ei,nodeOrigin:ea=oX,edgesFocusable:el,edgesUpdatable:es,elementsSelectable:eu,defaultViewport:ec=oF,minZoom:ed=.5,maxZoom:ef=2,translateExtent:eh=oT,preventScrolling:ep=!0,nodeExtent:em,defaultMarkerColor:eg="#b1b1b7",zoomOnScroll:ey=!0,zoomOnPinch:ev=!0,panOnScroll:ex=!1,panOnScrollSpeed:eb=.5,panOnScrollMode:ew=c.Free,zoomOnDoubleClick:e_=!0,panOnDrag:eS=!0,onPaneClick:eE,onPaneMouseEnter:eM,onPaneMouseMove:ek,onPaneMouseLeave:eN,onPaneScroll:eC,onPaneContextMenu:eA,children:e$,onEdgeContextMenu:ez,onEdgeDoubleClick:eP,onEdgeMouseEnter:eR,onEdgeMouseMove:eO,onEdgeMouseLeave:eI,onEdgeUpdate:eD,onEdgeUpdateStart:eT,onEdgeUpdateEnd:eB,onReconnect:eH,onReconnectStart:eL,onReconnectEnd:ej,reconnectRadius:eV=10,edgeUpdaterRadius:eX=10,onNodesChange:eY,onEdgesChange:eF,noDragClassName:eW="nodrag",noWheelClassName:eK="nowheel",noPanClassName:eq="nopan",fitView:eZ=!1,fitViewOptions:eU,connectOnClick:eG=!0,attributionPosition:eQ,proOptions:eJ,defaultEdgeOptions:e0,elevateNodesOnSelect:e1=!0,elevateEdgesOnSelect:e2=!1,disableKeyboardA11y:e3=!1,autoPanOnConnect:e5=!0,autoPanOnNodeDrag:e4=!0,connectionRadius:e6=20,isValidConnection:e8,onError:e9,style:e7,id:te,nodeDragThreshold:tt,...tn},tr)=>{let to=te||"1";return y.default.createElement("div",{...tn,style:{...e7,...oW},ref:tr,className:v(["react-flow",o]),"data-testid":"rf__wrapper",id:te},y.default.createElement(oL,null,y.default.createElement(oD,{onInit:h,onMove:p,onMoveStart:m,onMoveEnd:g,onNodeClick:l,onEdgeClick:s,onNodeMouseEnter:E,onNodeMouseMove:M,onNodeMouseLeave:k,onNodeContextMenu:N,onNodeDoubleClick:C,nodeTypes:i,edgeTypes:a,connectionLineType:V,connectionLineStyle:X,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:K,selectionOnDrag:q,selectionMode:Z,deleteKeyCode:W,multiSelectionKeyCode:G,panActivationKeyCode:U,zoomActivationKeyCode:Q,onlyRenderVisibleElements:et,selectNodesOnDrag:en,defaultViewport:ec,translateExtent:eh,minZoom:ed,maxZoom:ef,preventScrolling:ep,zoomOnScroll:ey,zoomOnPinch:ev,zoomOnDoubleClick:e_,panOnScroll:ex,panOnScrollSpeed:eb,panOnScrollMode:ew,panOnDrag:eS,onPaneClick:eE,onPaneMouseEnter:eM,onPaneMouseMove:ek,onPaneMouseLeave:eN,onPaneScroll:eC,onPaneContextMenu:eA,onSelectionContextMenu:B,onSelectionStart:H,onSelectionEnd:L,onEdgeContextMenu:ez,onEdgeDoubleClick:eP,onEdgeMouseEnter:eR,onEdgeMouseMove:eO,onEdgeMouseLeave:eI,onReconnect:eH??eD,onReconnectStart:eL??eT,onReconnectEnd:ej??eB,reconnectRadius:eV??eX,defaultMarkerColor:eg,noDragClassName:eW,noWheelClassName:eK,noPanClassName:eq,elevateEdgesOnSelect:e2,rfId:to,disableKeyboardA11y:e3,nodeOrigin:ea,nodeExtent:em}),y.default.createElement(rx,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:x,onConnectStart:b,onConnectEnd:w,onClickConnectStart:_,onClickConnectEnd:S,nodesDraggable:er,nodesConnectable:eo,nodesFocusable:ei,edgesFocusable:el,edgesUpdatable:es,elementsSelectable:eu,elevateNodesOnSelect:e1,minZoom:ed,maxZoom:ef,nodeExtent:em,onNodesChange:eY,onEdgesChange:eF,snapToGrid:J,snapGrid:ee,connectionMode:j,translateExtent:eh,connectOnClick:eG,defaultEdgeOptions:e0,fitView:eZ,fitViewOptions:eU,onNodesDelete:P,onEdgesDelete:R,onNodeDragStart:A,onNodeDrag:$,onNodeDragStop:z,onSelectionDrag:D,onSelectionDragStart:I,onSelectionDragStop:T,noPanClassName:eq,nodeOrigin:ea,rfId:to,autoPanOnConnect:e5,autoPanOnNodeDrag:e4,onError:e9,connectionRadius:e6,isValidConnection:e8,nodeDragThreshold:tt}),y.default.createElement(rm,{onSelectionChange:O}),e$,y.default.createElement(na,{proOptions:eJ,position:eQ}),y.default.createElement(rk,{rfId:to,disableKeyboardA11y:e3})))});function oq(e){return t=>{let[n,r]=(0,y.useState)(t),o=(0,y.useCallback)(t=>r(n=>e(t,n)),[]);return[n,r,o]}}oK.displayName="ReactFlow";let oZ=oq(rU),oU=oq(function(e,t){return rZ(e,t)});function oG({color:e,dimensions:t,lineWidth:n}){return y.default.createElement("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function oQ({color:e,radius:t}){return y.default.createElement("circle",{cx:t,cy:t,r:t,fill:e})}(l=m||(m={})).Lines="lines",l.Dots="dots",l.Cross="cross";let oJ={[m.Dots]:"#91919a",[m.Lines]:"#eee",[m.Cross]:"#e2e2e2"},o0={[m.Dots]:1,[m.Lines]:1,[m.Cross]:6},o1=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function o2({id:e,variant:t=m.Dots,gap:n=20,size:r,lineWidth:o=1,offset:i=2,color:a,style:l,className:s}){let u=(0,y.useRef)(null),{transform:c,patternId:d}=nn(o1,N),f=a||oJ[t],h=r||o0[t],p=t===m.Dots,g=t===m.Cross,x=Array.isArray(n)?n:[n,n],b=[x[0]*c[2]||1,x[1]*c[2]||1],w=h*c[2],_=g?[w,w]:b,S=p?[w/i,w/i]:[_[0]/i,_[1]/i];return y.default.createElement("svg",{className:v(["react-flow__background",s]),style:{...l,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:u,"data-testid":"rf__background"},y.default.createElement("pattern",{id:d+e,x:c[0]%b[0],y:c[1]%b[1],width:b[0],height:b[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`},p?y.default.createElement(oQ,{color:f,radius:w/i}):y.default.createElement(oG,{dimensions:_,color:f,lineWidth:o})),y.default.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${d+e})`}))}o2.displayName="Background";var o3=(0,y.memo)(o2);function o5(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},y.default.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function o4(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},y.default.createElement("path",{d:"M0 0h32v4.2H0z"}))}function o6(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},y.default.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function o8(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},y.default.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function o9(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},y.default.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}let o7=({children:e,className:t,...n})=>y.default.createElement("button",{type:"button",className:v(["react-flow__controls-button",t]),...n},e);o7.displayName="ControlButton";let ie=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),it=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:o,onZoomIn:i,onZoomOut:a,onFitView:l,onInteractiveChange:s,className:u,children:c,position:d="bottom-left"})=>{let f=nr(),[h,p]=(0,y.useState)(!1),{isInteractive:m,minZoomReached:g,maxZoomReached:x}=nn(ie,N),{zoomIn:b,zoomOut:w,fitView:_}=rT();return((0,y.useEffect)(()=>{p(!0)},[]),h)?y.default.createElement(ni,{className:v(["react-flow__controls",u]),position:d,style:e,"data-testid":"rf__controls"},t&&y.default.createElement(y.default.Fragment,null,y.default.createElement(o7,{onClick:()=>{b(),i?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:x},y.default.createElement(o5,null)),y.default.createElement(o7,{onClick:()=>{w(),a?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:g},y.default.createElement(o4,null))),n&&y.default.createElement(o7,{className:"react-flow__controls-fitview",onClick:()=>{_(o),l?.()},title:"fit view","aria-label":"fit view"},y.default.createElement(o6,null)),r&&y.default.createElement(o7,{className:"react-flow__controls-interactive",onClick:()=>{f.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),s?.(!m)},title:"toggle interactivity","aria-label":"toggle interactivity"},m?y.default.createElement(o9,null):y.default.createElement(o8,null)),c):null};it.displayName="Controls";var ir=(0,y.memo)(it);let io=({id:e,x:t,y:n,width:r,height:o,style:i,color:a,strokeColor:l,strokeWidth:s,className:u,borderRadius:c,shapeRendering:d,onClick:f,selected:h})=>{let{background:p,backgroundColor:m}=i||{};return y.default.createElement("rect",{className:v(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:c,ry:c,width:r,height:o,fill:a||p||m,stroke:l,strokeWidth:s,shapeRendering:d,onClick:f?t=>f(t,e):void 0})};io.displayName="MiniMapNode";var ii=(0,y.memo)(io);let ia=e=>e.nodeOrigin,il=e=>e.getNodes().filter(e=>!e.hidden&&e.width&&e.height),is=e=>e instanceof Function?e:()=>e;var iu=(0,y.memo)(function({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:i=ii,onClick:a}){let l=nn(il,N),s=nn(ia),u=is(t),c=is(e),d=is(n),f="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return y.default.createElement(y.default.Fragment,null,l.map(e=>{let{x:t,y:n}=nU(e,s).positionAbsolute;return y.default.createElement(i,{key:e.id,x:t,y:n,width:e.width,height:e.height,style:e.style,selected:e.selected,className:d(e),color:u(e),borderRadius:r,strokeColor:c(e),strokeWidth:o,shapeRendering:f,onClick:a,id:e.id})}))});let ic=e=>{let t,n=e.getNodes(),r={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:r,boundingRect:n.length>0?(t=nG(n,e.nodeOrigin),ng(np(nm(t),nm(r)))):r,rfId:e.rfId}};function id({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:i=5,nodeStrokeWidth:a=2,nodeComponent:l,maskColor:s="rgb(240, 240, 240, 0.6)",maskStrokeColor:u="none",maskStrokeWidth:c=1,position:d="bottom-right",onClick:f,onNodeClick:h,pannable:p=!1,zoomable:m=!1,ariaLabel:g="React Flow mini map",inversePan:x=!1,zoomStep:b=10,offsetScale:w=5}){let _=nr(),S=(0,y.useRef)(null),{boundingRect:E,viewBB:M,rfId:k}=nn(ic,N),C=e?.width??200,A=e?.height??150,$=Math.max(E.width/C,E.height/A),z=$*C,P=$*A,R=w*$,O=E.x-(z-E.width)/2-R,I=E.y-(P-E.height)/2-R,D=z+2*R,T=P+2*R,B=`react-flow__minimap-desc-${k}`,H=(0,y.useRef)(0);H.current=$,(0,y.useEffect)(()=>{if(S.current){let e=ex(S.current),t=t2().on("zoom",p?e=>{let{transform:t,d3Selection:n,d3Zoom:r,translateExtent:o,width:i,height:a}=_.getState();if("mousemove"!==e.sourceEvent.type||!n||!r)return;let l=H.current*Math.max(1,t[2])*(x?-1:1),s={x:t[0]-e.sourceEvent.movementX*l,y:t[1]-e.sourceEvent.movementY*l},u=tK.translate(s.x,s.y).scale(t[2]),c=r.constrain()(u,[[0,0],[i,a]],o);r.transform(n,c)}:null).on("zoom.wheel",m?e=>{let{transform:t,d3Selection:n,d3Zoom:r}=_.getState();if("wheel"!==e.sourceEvent.type||!n||!r)return;let o=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*b,i=t[2]*Math.pow(2,o);r.scaleTo(n,i)}:null);return e.call(t),()=>{e.on("zoom",null)}}},[p,m,x,b]);let L=f?e=>{let t=eC(e);f(e,{x:t[0],y:t[1]})}:void 0,j=h?(e,t)=>{h(e,_.getState().nodeInternals.get(t))}:void 0;return y.default.createElement(ni,{position:d,style:e,className:v(["react-flow__minimap",t]),"data-testid":"rf__minimap"},y.default.createElement("svg",{width:C,height:A,viewBox:`${O} ${I} ${D} ${T}`,role:"img","aria-labelledby":B,ref:S,onClick:L},g&&y.default.createElement("title",{id:B},g),y.default.createElement(iu,{onClick:j,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:l}),y.default.createElement("path",{className:"react-flow__minimap-mask",d:`M${O-R},${I-R}h${D+2*R}v${T+2*R}h${-D-2*R}z
|
|
2
|
-
M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fill:s,fillRule:"evenodd",stroke:u,strokeWidth:c,pointerEvents:"none"})))}id.displayName="MiniMap";var ih=(0,y.memo)(id),ip=e.i(74447),
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55838,(e,t,n)=>{"use strict";var r=e.r(71645),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=r.useState,a=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),o=r[0].inst,c=r[1];return l(function(){o.value=n,o.getSnapshot=t,u(o)&&c({inst:o})},[e,n,t]),a(function(){return u(o)&&c({inst:o}),e(function(){u(o)&&c({inst:o})})},[e]),s(n),n};n.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},2239,(e,t,n)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,n)=>{"use strict";var r=e.r(71645),o=e.r(2239),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=o.useSyncExternalStore,l=r.useRef,s=r.useEffect,u=r.useMemo,c=r.useDebugValue;n.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=l(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var h=a(e,(d=u(function(){function e(e){if(!s){if(s=!0,a=e,e=r(e),void 0!==o&&f.hasValue){var t=f.value;if(o(t,e))return l=t}return l=e}if(t=l,i(a,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(a=e,t):(a=e,l=n)}var a,l,s=!1,u=void 0===n?null:n;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,n,r,o]))[0],d[1]);return s(function(){f.hasValue=!0,f.value=h},[h]),c(h),h}},30224,(e,t,n)=>{"use strict";t.exports=e.r(52822)},86492,e=>{"use strict";var t,n,r,o,i,a,l,s,u,c,d,f,h,p,g,m=e.i(43476),y=e.i(71645);function v(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)""!==(r=v(e[n]))&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}e.i(47167);var x=e.i(30224);let b={get url(){return`file://${e.P("node_modules/zustand/esm/vanilla.mjs")}`}},w=e=>{let t,n=new Set,r=(e,r)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,i={setState:r,getState:o,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{(b.env?b.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},a=t=e(r,o,i);return i},{useDebugValue:_}=y.default,{useSyncExternalStoreWithSelector:S}=x.default,E=e=>e;function M(e,t=E,n){let r=S(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return _(r),r}let k=(e,t)=>{let n=e?w(e):w,r=(e,r=t)=>M(n,e,r);return Object.assign(r,n),r};function N(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var C={value:()=>{}};function A(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw Error("illegal type: "+e);r[e]=[]}return new $(r)}function $(e){this._=e}function z(e,t,n){for(var r=0,o=e.length;r<o;++r)if(e[r].name===t){e[r]=C,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}function P(){}function R(e){return null==e?P:function(){return this.querySelector(e)}}function O(){return[]}function I(e){return null==e?O:function(){return this.querySelectorAll(e)}}function D(e){return function(){return this.matches(e)}}function T(e){return function(t){return t.matches(e)}}$.prototype=A.prototype={constructor:$,on:function(e,t){var n,r=this._,o=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!r.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),i=-1,a=o.length;if(arguments.length<2){for(;++i<a;)if((n=(e=o[i]).type)&&(n=function(e,t){for(var n,r=0,o=e.length;r<o;++r)if((n=e[r]).name===t)return n.value}(r[n],e.name)))return n;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++i<a;)if(n=(e=o[i]).type)r[n]=z(r[n],e.name,t);else if(null==t)for(n in r)r[n]=z(r[n],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new $(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,o=Array(n),i=0;i<n;++i)o[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(r=this._[e],i=0,n=r.length;i<n;++i)r[i].value.apply(t,o)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}};var B=Array.prototype.find;function H(){return this.firstElementChild}var L=Array.prototype.filter;function j(){return Array.from(this.children)}function V(e){return Array(e.length)}function X(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Y(e,t,n,r,o,i){for(var a,l=0,s=t.length,u=i.length;l<u;++l)(a=t[l])?(a.__data__=i[l],r[l]=a):n[l]=new X(e,i[l]);for(;l<s;++l)(a=t[l])&&(o[l]=a)}function F(e,t,n,r,o,i,a){var l,s,u,c=new Map,d=t.length,f=i.length,h=Array(d);for(l=0;l<d;++l)(s=t[l])&&(h[l]=u=a.call(s,s.__data__,l,t)+"",c.has(u)?o[l]=s:c.set(u,s));for(l=0;l<f;++l)u=a.call(e,i[l],l,i)+"",(s=c.get(u))?(r[l]=s,s.__data__=i[l],c.delete(u)):n[l]=new X(e,i[l]);for(l=0;l<d;++l)(s=t[l])&&c.get(h[l])===s&&(o[l]=s)}function W(e){return e.__data__}function K(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}X.prototype={constructor:X,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)}};var q="http://www.w3.org/1999/xhtml";let Z={svg:"http://www.w3.org/2000/svg",xhtml:q,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function U(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Z.hasOwnProperty(t)?{space:Z[t],local:e}:e}function G(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Q(e,t){return e.style.getPropertyValue(t)||G(e).getComputedStyle(e,null).getPropertyValue(t)}function J(e){return e.trim().split(/^|\s+/)}function ee(e){return e.classList||new et(e)}function et(e){this._node=e,this._names=J(e.getAttribute("class")||"")}function en(e,t){for(var n=ee(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function er(e,t){for(var n=ee(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function eo(){this.textContent=""}function ei(){this.innerHTML=""}function ea(){this.nextSibling&&this.parentNode.appendChild(this)}function el(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function es(e){var t=U(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===q&&t.documentElement.namespaceURI===q?t.createElement(e):t.createElementNS(n,e)}})(t)}function eu(){return null}function ec(){var e=this.parentNode;e&&e.removeChild(this)}function ed(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ef(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function eh(e){return function(){var t=this.__on;if(t){for(var n,r=0,o=-1,i=t.length;r<i;++r)(n=t[r],e.type&&n.type!==e.type||n.name!==e.name)?t[++o]=n:this.removeEventListener(n.type,n.listener,n.options);++o?t.length=o:delete this.__on}}}function ep(e,t,n){return function(){var r,o=this.__on,i=function(e){t.call(this,e,this.__data__)};if(o){for(var a=0,l=o.length;a<l;++a)if((r=o[a]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function eg(e,t,n){var r=G(e),o=r.CustomEvent;"function"==typeof o?o=new o(t,n):(o=r.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}et.prototype={add:function(e){0>this._names.indexOf(e)&&(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}};var em=[null];function ey(e,t){this._groups=e,this._parents=t}function ev(){return new ey([[document.documentElement]],em)}function ex(e){return"string"==typeof e?new ey([[document.querySelector(e)]],[document.documentElement]):new ey([[e]],em)}ey.prototype=ev.prototype={constructor:ey,select:function(e){"function"!=typeof e&&(e=R(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a,l=t[o],s=l.length,u=r[o]=Array(s),c=0;c<s;++c)(i=l[c])&&(a=e.call(i,i.__data__,c,l))&&("__data__"in i&&(a.__data__=i.__data__),u[c]=a);return new ey(r,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=I(e);for(var n=this._groups,r=n.length,o=[],i=[],a=0;a<r;++a)for(var l,s=n[a],u=s.length,c=0;c<u;++c)(l=s[c])&&(o.push(e.call(l,l.__data__,c,s)),i.push(l));return new ey(o,i)},selectChild:function(e){var t;return this.select(null==e?H:(t="function"==typeof e?e:T(e),function(){return B.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?j:(t="function"==typeof e?e:T(e),function(){return L.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=D(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a=t[o],l=a.length,s=r[o]=[],u=0;u<l;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&s.push(i);return new ey(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,W);var n=t?F:Y,r=this._parents,o=this._groups;"function"!=typeof e&&(v=e,e=function(){return v});for(var i=o.length,a=Array(i),l=Array(i),s=Array(i),u=0;u<i;++u){var c=r[u],d=o[u],f=d.length,h="object"==typeof(y=e.call(c,c&&c.__data__,u,r))&&"length"in y?y:Array.from(y),p=h.length,g=l[u]=Array(p),m=a[u]=Array(p);n(c,d,g,m,s[u]=Array(f),h,t);for(var y,v,x,b,w=0,_=0;w<p;++w)if(x=g[w]){for(w>=_&&(_=w+1);!(b=m[_])&&++_<p;);x._next=b||null}}return(a=new ey(a,r))._enter=l,a._exit=s,a},enter:function(){return new ey(this._enter||this._groups.map(V),this._parents)},exit:function(){return new ey(this._exit||this._groups.map(V),this._parents)},join:function(e,t,n){var r=this.enter(),o=this,i=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(o=t(o))&&(o=o.selection()),null==n?i.remove():n(i),r&&o?r.merge(o).order():o},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,a=Math.min(o,i),l=Array(o),s=0;s<a;++s)for(var u,c=n[s],d=r[s],f=c.length,h=l[s]=Array(f),p=0;p<f;++p)(u=c[p]||d[p])&&(h[p]=u);for(;s<o;++s)l[s]=n[s];return new ey(l,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,o=e[t],i=o.length-1,a=o[i];--i>=0;)(r=o[i])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=K);for(var n=this._groups,r=n.length,o=Array(r),i=0;i<r;++i){for(var a,l=n[i],s=l.length,u=o[i]=Array(s),c=0;c<s;++c)(a=l[c])&&(u[c]=a);u.sort(t)}return new ey(o,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o,i=t[n],a=0,l=i.length;a<l;++a)(o=i[a])&&e.call(o,o.__data__,a,i);return this},attr:function(e,t){var n=U(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?n.local?function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}:function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}:n.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}:function(e,t,n){return function(){this.style.setProperty(e,t,n)}})(e,t,null==n?"":n)):Q(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var n=J(e+"");if(arguments.length<2){for(var r=ee(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?en:er)(this,e)}}:t?function(e){return function(){en(this,e)}}:function(e){return function(){er(this,e)}})(n,t))},text:function(e){return arguments.length?this.each(null==e?eo:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?ei:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(ea)},lower:function(){return this.each(el)},append:function(e){var t="function"==typeof e?e:es(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:es(e),r=null==t?eu:"function"==typeof t?t:R(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(ec)},clone:function(e){return this.select(e?ef:ed)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,o,i=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}),a=i.length;if(arguments.length<2){var l=this.node().__on;if(l){for(var s,u=0,c=l.length;u<c;++u)for(r=0,s=l[u];r<a;++r)if((o=i[r]).type===s.type&&o.name===s.name)return s.value}return}for(r=0,l=t?ep:eh;r<a;++r)this.each(l(i[r],t,n));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return eg(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return eg(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,o=e[t],i=0,a=o.length;i<a;++i)(r=o[i])&&(yield r)}};let eb={passive:!1},ew={capture:!0,passive:!1};function e_(e){e.stopImmediatePropagation()}function eS(e){e.preventDefault(),e.stopImmediatePropagation()}function eE(e){var t=e.document.documentElement,n=ex(e).on("dragstart.drag",eS,ew);"onselectstart"in t?n.on("selectstart.drag",eS,ew):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function eM(e,t){var n=e.document.documentElement,r=ex(e).on("dragstart.drag",null);t&&(r.on("click.drag",eS,ew),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function ek(e){return((e=Math.exp(e))+1/e)/2}let eN=function e(t,n,r){function o(e,o){var i,a,l=e[0],s=e[1],u=e[2],c=o[0],d=o[1],f=o[2],h=c-l,p=d-s,g=h*h+p*p;if(g<1e-12)a=Math.log(f/u)/t,i=function(e){return[l+e*h,s+e*p,u*Math.exp(t*e*a)]};else{var m=Math.sqrt(g),y=(f*f-u*u+r*g)/(2*u*n*m),v=(f*f-u*u-r*g)/(2*f*n*m),x=Math.log(Math.sqrt(y*y+1)-y);a=(Math.log(Math.sqrt(v*v+1)-v)-x)/t,i=function(e){var r,o,i=e*a,c=ek(x),d=u/(n*m)*(c*(((r=Math.exp(2*(r=t*i+x)))-1)/(r+1))-((o=Math.exp(o=x))-1/o)/2);return[l+d*h,s+d*p,u*c/ek(t*i+x)]}}return i.duration=1e3*a*t/Math.SQRT2,i}return o.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},o}(Math.SQRT2,2,4);function eC(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}var eA,e$,ez=0,eP=0,eR=0,eO=0,eI=0,eD=0,eT="object"==typeof performance&&performance.now?performance:Date,eB="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function eH(){return eI||(eB(eL),eI=eT.now()+eD)}function eL(){eI=0}function ej(){this._call=this._time=this._next=null}function eV(e,t,n){var r=new ej;return r.restart(e,t,n),r}function eX(){eI=(eO=eT.now())+eD,ez=eP=0;try{eH(),++ez;for(var e,t=eA;t;)(e=eI-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ez}finally{ez=0,function(){for(var e,t,n=eA,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:eA=t);e$=e,eF(r)}(),eI=0}}function eY(){var e=eT.now(),t=e-eO;t>1e3&&(eD-=t,eO=e)}function eF(e){!ez&&(eP&&(eP=clearTimeout(eP)),e-eI>24?(e<1/0&&(eP=setTimeout(eX,e-eT.now()-eD)),eR&&(eR=clearInterval(eR))):(eR||(eO=eT.now(),eR=setInterval(eY,1e3)),ez=1,eB(eX)))}function eW(e,t,n){var r=new ej;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}ej.prototype=eV.prototype={constructor:ej,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?eH():+n)+(null==t?0:+t),this._next||e$===this||(e$?e$._next=this:eA=this,e$=this),this._call=e,this._time=n,eF()},stop:function(){this._call&&(this._call=null,this._time=1/0,eF())}};var eK=A("start","end","cancel","interrupt"),eq=[];function eZ(e,t,n,r,o,i){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,o=e.__transition;function i(s){var u,c,d,f;if(1!==n.state)return l();for(u in o)if((f=o[u]).name===n.name){if(3===f.state)return eW(i);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[u]):+u<t&&(f.state=6,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[u])}if(eW(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(s))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(u=0,n.state=3,r=Array(d=n.tween.length),c=-1;u<d;++u)(f=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function a(t){for(var o=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(l),n.state=5,1),i=-1,a=r.length;++i<a;)r[i].call(e,o);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var r in n.state=6,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=eV(function(e){n.state=1,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)},0,n.time)}(e,n,{name:t,index:r,group:o,on:eK,tween:eq,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function eU(e,t){var n=eQ(e,t);if(n.state>0)throw Error("too late; already scheduled");return n}function eG(e,t){var n=eQ(e,t);if(n.state>3)throw Error("too late; already running");return n}function eQ(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error("transition not found");return n}function eJ(e,t){var n,r,o,i=e.__transition,a=!0;if(i){for(o in t=null==t?null:t+"",i){if((n=i[o]).name!==t){a=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[o]}a&&delete e.__transition}}function e0(e,t){return e*=1,t*=1,function(n){return e*(1-n)+t*n}}var e1=180/Math.PI,e2={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function e3(e,t,n,r,o,i){var a,l,s;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(s=e*n+t*r)&&(n-=e*s,r-=t*s),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,s/=l),e*r<t*n&&(e=-e,t=-t,s=-s,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*e1,skewX:Math.atan(s)*e1,scaleX:a,scaleY:l}}function e5(e,t,n,r){function o(e){return e.length?e.pop()+" ":""}return function(i,a){var l,s,u,c,d=[],f=[];return i=e(i),a=e(a),!function(e,r,o,i,a,l){if(e!==o||r!==i){var s=a.push("translate(",null,t,null,n);l.push({i:s-4,x:e0(e,o)},{i:s-2,x:e0(r,i)})}else(o||i)&&a.push("translate("+o+t+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,d,f),l=i.rotate,s=a.rotate,l!==s?(l-s>180?s+=360:s-l>180&&(l+=360),f.push({i:d.push(o(d)+"rotate(",null,r)-2,x:e0(l,s)})):s&&d.push(o(d)+"rotate("+s+r),u=i.skewX,c=a.skewX,u!==c?f.push({i:d.push(o(d)+"skewX(",null,r)-2,x:e0(u,c)}):c&&d.push(o(d)+"skewX("+c+r),!function(e,t,n,r,i,a){if(e!==n||t!==r){var l=i.push(o(i)+"scale(",null,",",null,")");a.push({i:l-4,x:e0(e,n)},{i:l-2,x:e0(t,r)})}else(1!==n||1!==r)&&i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,d,f),i=a=null,function(e){for(var t,n=-1,r=f.length;++n<r;)d[(t=f[n]).i]=t.x(e);return d.join("")}}}var e4=e5(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?e2:e3(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),e6=e5(function(e){return null==e?e2:(s||(s=document.createElementNS("http://www.w3.org/2000/svg","g")),s.setAttribute("transform",e),e=s.transform.baseVal.consolidate())?e3((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):e2},", ",")",")");function e8(e,t,n){var r=e._id;return e.each(function(){var e=eG(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return eQ(e,r).value[t]}}function e9(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function e7(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function te(){}var tt="\\s*([+-]?\\d+)\\s*",tn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",tr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",to=/^#([0-9a-f]{3,8})$/,ti=RegExp(`^rgb\\(${tt},${tt},${tt}\\)$`),ta=RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),tl=RegExp(`^rgba\\(${tt},${tt},${tt},${tn}\\)$`),ts=RegExp(`^rgba\\(${tr},${tr},${tr},${tn}\\)$`),tu=RegExp(`^hsl\\(${tn},${tr},${tr}\\)$`),tc=RegExp(`^hsla\\(${tn},${tr},${tr},${tn}\\)$`),td={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function tf(){return this.rgb().formatHex()}function th(){return this.rgb().formatRgb()}function tp(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=to.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?tg(t):3===n?new tv(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?tm(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?tm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ti.exec(e))?new tv(t[1],t[2],t[3],1):(t=ta.exec(e))?new tv(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=tl.exec(e))?tm(t[1],t[2],t[3],t[4]):(t=ts.exec(e))?tm(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=tu.exec(e))?tE(t[1],t[2]/100,t[3]/100,1):(t=tc.exec(e))?tE(t[1],t[2]/100,t[3]/100,t[4]):td.hasOwnProperty(e)?tg(td[e]):"transparent"===e?new tv(NaN,NaN,NaN,0):null}function tg(e){return new tv(e>>16&255,e>>8&255,255&e,1)}function tm(e,t,n,r){return r<=0&&(e=t=n=NaN),new tv(e,t,n,r)}function ty(e,t,n,r){var o;return 1==arguments.length?((o=e)instanceof te||(o=tp(o)),o)?new tv((o=o.rgb()).r,o.g,o.b,o.opacity):new tv:new tv(e,t,n,null==r?1:r)}function tv(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function tx(){return`#${tS(this.r)}${tS(this.g)}${tS(this.b)}`}function tb(){let e=tw(this.opacity);return`${1===e?"rgb(":"rgba("}${t_(this.r)}, ${t_(this.g)}, ${t_(this.b)}${1===e?")":`, ${e})`}`}function tw(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 tS(e){return((e=t_(e))<16?"0":"")+e.toString(16)}function tE(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new tk(e,t,n,r)}function tM(e){if(e instanceof tk)return new tk(e.h,e.s,e.l,e.opacity);if(e instanceof te||(e=tp(e)),!e)return new tk;if(e instanceof tk)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,l=i-o,s=(i+o)/2;return l?(a=t===i?(n-r)/l+(n<r)*6:n===i?(r-t)/l+2:(t-n)/l+4,l/=s<.5?i+o:2-i-o,a*=60):l=s>0&&s<1?0:a,new tk(a,l,s,e.opacity)}function tk(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function tN(e){return(e=(e||0)%360)<0?e+360:e}function tC(e){return Math.max(0,Math.min(1,e||0))}function tA(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function t$(e,t,n,r,o){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*n+(1+3*e+3*i-3*a)*r+a*o)/6}e9(te,tp,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:tf,formatHex:tf,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tM(this).formatHsl()},formatRgb:th,toString:th}),e9(tv,ty,e7(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new tv(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new tv(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new tv(t_(this.r),t_(this.g),t_(this.b),tw(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:tx,formatHex:tx,formatHex8:function(){return`#${tS(this.r)}${tS(this.g)}${tS(this.b)}${tS((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tb,toString:tb})),e9(tk,function(e,t,n,r){return 1==arguments.length?tM(e):new tk(e,t,n,null==r?1:r)},e7(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new tk(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new tk(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,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new tv(tA(e>=240?e-240:e+120,o,r),tA(e,o,r),tA(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new tk(tN(this.h),tC(this.s),tC(this.l),tw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=tw(this.opacity);return`${1===e?"hsl(":"hsla("}${tN(this.h)}, ${100*tC(this.s)}%, ${100*tC(this.l)}%${1===e?")":`, ${e})`}`}}));let tz=e=>()=>e;function tP(e,t){var n=t-e;return n?function(t){return e+t*n}:tz(isNaN(e)?t:e)}let tR=function e(t){var n,r=1==(n=+t)?tP:function(e,t){var r,o,i;return t-e?(r=e,o=t,r=Math.pow(r,i=n),o=Math.pow(o,i)-r,i=1/i,function(e){return Math.pow(r+e*o,i)}):tz(isNaN(e)?t:e)};function o(e,t){var n=r((e=ty(e)).r,(t=ty(t)).r),o=r(e.g,t.g),i=r(e.b,t.b),a=tP(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+""}}return o.gamma=e,o}(1);function tO(e){return function(t){var n,r,o=t.length,i=Array(o),a=Array(o),l=Array(o);for(n=0;n<o;++n)r=ty(t[n]),i[n]=r.r||0,a[n]=r.g||0,l[n]=r.b||0;return i=e(i),a=e(a),l=e(l),r.opacity=1,function(e){return r.r=i(e),r.g=a(e),r.b=l(e),r+""}}}tO(function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],a=r>0?e[r-1]:2*o-i,l=r<t-1?e[r+2]:2*i-o;return t$((n-r/t)*t,a,o,i,l)}}),tO(function(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),o=e[(r+t-1)%t],i=e[r%t],a=e[(r+1)%t],l=e[(r+2)%t];return t$((n-r/t)*t,o,i,a,l)}});var tI=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tD=RegExp(tI.source,"g");function tT(e,t){var n;return("number"==typeof t?e0:t instanceof tp?tR:(n=tp(t))?(t=n,tR):function(e,t){var n,r,o,i,a,l=tI.lastIndex=tD.lastIndex=0,s=-1,u=[],c=[];for(e+="",t+="";(o=tI.exec(e))&&(i=tD.exec(t));)(a=i.index)>l&&(a=t.slice(l,a),u[s]?u[s]+=a:u[++s]=a),(o=o[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,c.push({i:s,x:e0(o,i)})),l=tD.lastIndex;return l<t.length&&(a=t.slice(l),u[s]?u[s]+=a:u[++s]=a),u.length<2?c[0]?(n=c[0].x,function(e){return n(e)+""}):(r=t,function(){return r}):(t=c.length,function(e){for(var n,r=0;r<t;++r)u[(n=c[r]).i]=n.x(e);return u.join("")})})(e,t)}var tB=ev.prototype.constructor;function tH(e){return function(){this.style.removeProperty(e)}}var tL=0;function tj(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}var tV=ev.prototype;tj.prototype=(function(e){return ev().transition(e)}).prototype={constructor:tj,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=R(e));for(var r=this._groups,o=r.length,i=Array(o),a=0;a<o;++a)for(var l,s,u=r[a],c=u.length,d=i[a]=Array(c),f=0;f<c;++f)(l=u[f])&&(s=e.call(l,l.__data__,f,u))&&("__data__"in l&&(s.__data__=l.__data__),d[f]=s,eZ(d[f],t,n,f,d,eQ(l,n)));return new tj(i,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=I(e));for(var r=this._groups,o=r.length,i=[],a=[],l=0;l<o;++l)for(var s,u=r[l],c=u.length,d=0;d<c;++d)if(s=u[d]){for(var f,h=e.call(s,s.__data__,d,u),p=eQ(s,n),g=0,m=h.length;g<m;++g)(f=h[g])&&eZ(f,t,n,g,h,p);i.push(h),a.push(s)}return new tj(i,a,t,n)},selectChild:tV.selectChild,selectChildren:tV.selectChildren,filter:function(e){"function"!=typeof e&&(e=D(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a=t[o],l=a.length,s=r[o]=[],u=0;u<l;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&s.push(i);return new tj(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),a=Array(r),l=0;l<i;++l)for(var s,u=t[l],c=n[l],d=u.length,f=a[l]=Array(d),h=0;h<d;++h)(s=u[h]||c[h])&&(f[h]=s);for(;l<r;++l)a[l]=t[l];return new tj(a,this._parents,this._name,this._id)},selection:function(){return new tB(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=++tL,r=this._groups,o=r.length,i=0;i<o;++i)for(var a,l=r[i],s=l.length,u=0;u<s;++u)if(a=l[u]){var c=eQ(a,t);eZ(a,e,n,u,l,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new tj(r,this._parents,e,n)},call:tV.call,nodes:tV.nodes,node:tV.node,size:tV.size,empty:tV.empty,each:tV.each,on:function(e,t){var n,r,o,i,a,l,s=this._id;return arguments.length<2?eQ(this.node(),s).on.on(e):this.each((n=s,r=e,o=t,l=(r+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?eU:eG,function(){var e=l(this,n),t=e.on;t!==i&&(a=(i=t).copy()).on(r,o),e.on=a}))},attr:function(e,t){var n=U(e),r="transform"===n?e6:tT;return this.attrTween(e,"function"==typeof t?(n.local?function(e,t,n){var r,o,i;return function(){var a,l,s=n(this);return null==s?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local))===(l=s+"")?null:a===r&&l===o?i:(o=l,i=t(r=a,s))}}:function(e,t,n){var r,o,i;return function(){var a,l,s=n(this);return null==s?void this.removeAttribute(e):(a=this.getAttribute(e))===(l=s+"")?null:a===r&&l===o?i:(o=l,i=t(r=a,s))}})(n,r,e8(this,"attr."+e,t)):null==t?(n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(n):(n.local?function(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}:function(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}})(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();var r=U(e);return this.tween(n,(r.local?function(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&function(t){this.setAttributeNS(e.space,e.local,o.call(this,t))}),n}return o._value=t,o}:function(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&function(t){this.setAttribute(e,o.call(this,t))}),n}return o._value=t,o})(r,t))},style:function(e,t,n){var r,o,i,a,l,s,u,c,d,f,h,p,g,m,y,v,x,b,w,_,S,E="transform"==(e+="")?e4:tT;return null==t?this.styleTween(e,(r=e,function(){var e=Q(this,r),t=(this.style.removeProperty(r),Q(this,r));return e===t?null:e===o&&t===i?a:a=E(o=e,i=t)})).on("end.style."+e,tH(e)):"function"==typeof t?this.styleTween(e,(l=e,s=e8(this,"style."+e,t),function(){var e=Q(this,l),t=s(this),n=t+"";return null==t&&(this.style.removeProperty(l),n=t=Q(this,l)),e===n?null:e===u&&n===c?d:(c=n,d=E(u=e,t))})).each((f=this._id,x="end."+(v="style."+(h=e)),function(){var e=eG(this,f),t=e.on,n=null==e.value[v]?y||(y=tH(h)):void 0;(t!==p||m!==n)&&(g=(p=t).copy()).on(x,m=n),e.on=g})):this.styleTween(e,(b=e,S=t+"",function(){var e=Q(this,b);return e===S?null:e===w?_:_=E(w=e,t)}),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw Error();return this.tween(r,function(e,t,n){var r,o;function i(){var i=t.apply(this,arguments);return i!==o&&(r=(o=i)&&function(t){this.style.setProperty(e,i.call(this,t),n)}),r}return i._value=t,i}(e,t,null==n?"":n))},text:function(e){var t,n;return this.tween("text","function"==typeof e?(t=e8(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(n=null==e?"":e+"",function(){this.textContent=n}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){this.textContent=r.call(this,e)}),t}return r._value=e,r}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,o=eQ(this.node(),n).tween,i=0,a=o.length;i<a;++i)if((r=o[i]).name===e)return r.value;return null}return this.each((null==t?function(e,t){var n,r;return function(){var o=eG(this,e),i=o.tween;if(i!==n){r=n=i;for(var a=0,l=r.length;a<l;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}}o.tween=r}}:function(e,t,n){var r,o;if("function"!=typeof n)throw Error();return function(){var i=eG(this,e),a=i.tween;if(a!==r){o=(r=a).slice();for(var l={name:t,value:n},s=0,u=o.length;s<u;++s)if(o[s].name===t){o[s]=l;break}s===u&&o.push(l)}i.tween=o}})(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eU(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eU(this,e).delay=t}})(t,e)):eQ(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eG(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eG(this,e).duration=t}})(t,e)):eQ(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){eG(this,e).ease=t}}(t,e)):eQ(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw Error();eG(this,t).ease=n}))},end:function(){var e,t,n=this,r=n._id,o=n.size();return new Promise(function(i,a){var l={value:a},s={value:function(){0==--o&&i()}};n.each(function(){var n=eG(this,r),o=n.on;o!==e&&((t=(e=o).copy())._.cancel.push(l),t._.interrupt.push(l),t._.end.push(s)),n.on=t}),0===o&&i()})},[Symbol.iterator]:tV[Symbol.iterator]};var tX={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};ev.prototype.interrupt=function(e){return this.each(function(){eJ(this,e)})},ev.prototype.transition=function(e){var t,n;e instanceof tj?(t=e._id,e=e._name):(t=++tL,(n=tX).time=eH(),e=null==e?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a,l=r[i],s=l.length,u=0;u<s;++u)(a=l[u])&&eZ(a,e,t,u,l,n||function(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}(a,t));return new tj(r,this._parents,e,t)};let tY=e=>()=>e;function tF(e,{sourceEvent:t,target:n,transform:r,dispatch:o}){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:r,enumerable:!0,configurable:!0},_:{value:o}})}function tW(e,t,n){this.k=e,this.x=t,this.y=n}tW.prototype={constructor:tW,scale:function(e){return 1===e?this:new tW(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new tW(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 tK=new tW(1,0,0);function tq(e){e.stopImmediatePropagation()}function tZ(e){e.preventDefault(),e.stopImmediatePropagation()}function tU(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function tG(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).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 tQ(){return this.__zoom||tK}function tJ(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function t0(){return navigator.maxTouchPoints||"ontouchstart"in this}function t1(e,t,n){var r=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function t2(){var e,t,n,r=tU,o=tG,i=t1,a=tJ,l=t0,s=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,d=eN,f=A("start","zoom","end"),h=0,p=10;function g(e){e.property("__zoom",tQ).on("wheel.zoom",_,{passive:!1}).on("mousedown.zoom",S).on("dblclick.zoom",E).filter(l).on("touchstart.zoom",M).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new tW(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,o=t[1]-n[1]*e.k;return r===e.x&&o===e.y?e:new tW(e.k,r,o)}function v(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,t,n,r){e.on("start.zoom",function(){b(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){b(this,arguments).event(r).end()}).tween("zoom",function(){var e=arguments,i=b(this,e).event(r),a=o.apply(this,e),l=null==n?v(a):"function"==typeof n?n.apply(this,e):n,s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,c="function"==typeof t?t.apply(this,e):t,f=d(u.invert(l).concat(s/u.k),c.invert(l).concat(s/c.k));return function(e){if(1===e)e=c;else{var t=f(e),n=s/t[2];e=new tW(n,l[0]-t[0]*n,l[1]-t[1]*n)}i.zoom(null,e)}})}function b(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function _(e,...t){if(r.apply(this,arguments)){var n=b(this,t).event(e),o=this.__zoom,l=Math.max(s[0],Math.min(s[1],o.k*Math.pow(2,a.apply(this,arguments)))),c=eC(e);if(n.wheel)(n.mouse[0][0]!==c[0]||n.mouse[0][1]!==c[1])&&(n.mouse[1]=o.invert(n.mouse[0]=c)),clearTimeout(n.wheel);else{if(o.k===l)return;n.mouse=[c,o.invert(c)],eJ(this),n.start()}tZ(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",i(y(m(o,l),n.mouse[0],n.mouse[1]),n.extent,u))}}function S(e,...t){if(!n&&r.apply(this,arguments)){var o=e.currentTarget,a=b(this,t,!0).event(e),l=ex(e.view).on("mousemove.zoom",function(e){if(tZ(e),!a.moved){var t=e.clientX-c,n=e.clientY-d;a.moved=t*t+n*n>h}a.event(e).zoom("mouse",i(y(a.that.__zoom,a.mouse[0]=eC(e,o),a.mouse[1]),a.extent,u))},!0).on("mouseup.zoom",function(e){l.on("mousemove.zoom mouseup.zoom",null),eM(e.view,a.moved),tZ(e),a.event(e).end()},!0),s=eC(e,o),c=e.clientX,d=e.clientY;eE(e.view),tq(e),a.mouse=[s,this.__zoom.invert(s)],eJ(this),a.start()}}function E(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,a=eC(e.changedTouches?e.changedTouches[0]:e,this),l=n.invert(a),s=n.k*(e.shiftKey?.5:2),d=i(y(m(n,s),a,l),o.apply(this,t),u);tZ(e),c>0?ex(this).transition().duration(c).call(x,d,a,e):ex(this).call(g.transform,d,a,e)}}function M(n,...o){if(r.apply(this,arguments)){var i,a,l,s,u=n.touches,c=u.length,d=b(this,o,n.changedTouches.length===c).event(n);for(tq(n),a=0;a<c;++a)s=[s=eC(l=u[a],this),this.__zoom.invert(s),l.identifier],d.touch0?d.touch1||d.touch0[2]===s[2]||(d.touch1=s,d.taps=0):(d.touch0=s,i=!0,d.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(d.taps<2&&(t=s[0],e=setTimeout(function(){e=null},500)),eJ(this),d.start())}}function k(e,...t){if(this.__zooming){var n,r,o,a,l=b(this,t).event(e),s=e.changedTouches,c=s.length;for(tZ(e),n=0;n<c;++n)o=eC(r=s[n],this),l.touch0&&l.touch0[2]===r.identifier?l.touch0[0]=o:l.touch1&&l.touch1[2]===r.identifier&&(l.touch1[0]=o);if(r=l.that.__zoom,l.touch1){var d=l.touch0[0],f=l.touch0[1],h=l.touch1[0],p=l.touch1[1],g=(g=h[0]-d[0])*g+(g=h[1]-d[1])*g,v=(v=p[0]-f[0])*v+(v=p[1]-f[1])*v;r=m(r,Math.sqrt(g/v)),o=[(d[0]+h[0])/2,(d[1]+h[1])/2],a=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!l.touch0)return;o=l.touch0[0],a=l.touch0[1]}l.zoom("touch",i(y(r,o,a),l.extent,u))}}function N(e,...r){if(this.__zooming){var o,i,a=b(this,r).event(e),l=e.changedTouches,s=l.length;for(tq(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),o=0;o<s;++o)i=l[o],a.touch0&&a.touch0[2]===i.identifier?delete a.touch0:a.touch1&&a.touch1[2]===i.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(i=eC(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<p)){var u=ex(this).on("dblclick.zoom");u&&u.apply(this,arguments)}}}return g.transform=function(e,t,n,r){var o=e.selection?e.selection():e;o.property("__zoom",tQ),e!==o?x(e,t,n,r):o.interrupt().each(function(){b(this,arguments).event(r).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},g.scaleBy=function(e,t,n,r){g.scaleTo(e,function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n},n,r)},g.scaleTo=function(e,t,n,r){g.transform(e,function(){var e=o.apply(this,arguments),r=this.__zoom,a=null==n?v(e):"function"==typeof n?n.apply(this,arguments):n,l=r.invert(a),s="function"==typeof t?t.apply(this,arguments):t;return i(y(m(r,s),a,l),e,u)},n,r)},g.translateBy=function(e,t,n,r){g.transform(e,function(){return i(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),u)},null,r)},g.translateTo=function(e,t,n,r,a){g.transform(e,function(){var e=o.apply(this,arguments),a=this.__zoom,l=null==r?v(e):"function"==typeof r?r.apply(this,arguments):r;return i(tK.translate(l[0],l[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,u)},r,a)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=ex(this.that).datum();f.call(e,this.that,new tF(e,{sourceEvent:this.sourceEvent,target:g,type:e,transform:this.that.__zoom,dispatch:f}),t)}},g.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:tY(+e),g):a},g.filter=function(e){return arguments.length?(r="function"==typeof e?e:tY(!!e),g):r},g.touchable=function(e){return arguments.length?(l="function"==typeof e?e:tY(!!e),g):l},g.extent=function(e){return arguments.length?(o="function"==typeof e?e:tY([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),g):o},g.scaleExtent=function(e){return arguments.length?(s[0]=+e[0],s[1]=+e[1],g):[s[0],s[1]]},g.translateExtent=function(e){return arguments.length?(u[0][0]=+e[0][0],u[1][0]=+e[1][0],u[0][1]=+e[0][1],u[1][1]=+e[1][1],g):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},g.constrain=function(e){return arguments.length?(i=e,g):i},g.duration=function(e){return arguments.length?(c=+e,g):c},g.interpolate=function(e){return arguments.length?(d=e,g):d},g.on=function(){var e=f.on.apply(f,arguments);return e===f?g:e},g.clickDistance=function(e){return arguments.length?(h=(e*=1)*e,g):Math.sqrt(h)},g.tapDistance=function(e){return arguments.length?(p=+e,g):p},g}tW.prototype;let t3=e=>()=>e;function t5(e,{sourceEvent:t,subject:n,target:r,identifier:o,active:i,x:a,y:l,dx:s,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:r,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}function t4(e){return!e.ctrlKey&&!e.button}function t6(){return this.parentNode}function t8(e,t){return null==t?{x:e.x,y:e.y}:t}function t9(){return navigator.maxTouchPoints||"ontouchstart"in this}t5.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e},e.i(74080);let t7=(0,y.createContext)(null),ne=t7.Provider,nt="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function nn(e,t){let n=(0,y.useContext)(t7);if(null===n)throw Error(nt);return M(n,e,t)}let nr=()=>{let e=(0,y.useContext)(t7);if(null===e)throw Error(nt);return(0,y.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},no=e=>e.userSelectionActive?"none":"all";function ni({position:e,children:t,className:n,style:r,...o}){let i=nn(no),a=`${e}`.split("-");return y.default.createElement("div",{className:v(["react-flow__panel",n,...a]),style:{...r,pointerEvents:i},...o},t)}function na({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:y.default.createElement(ni,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},y.default.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var nl=(0,y.memo)(({x:e,y:t,label:n,labelStyle:r={},labelShowBg:o=!0,labelBgStyle:i={},labelBgPadding:a=[2,4],labelBgBorderRadius:l=2,children:s,className:u,...c})=>{let d=(0,y.useRef)(null),[f,h]=(0,y.useState)({x:0,y:0,width:0,height:0}),p=v(["react-flow__edge-textwrapper",u]);return((0,y.useEffect)(()=>{if(d.current){let e=d.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),void 0!==n&&n)?y.default.createElement("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c},o&&y.default.createElement("rect",{width:f.width+2*a[0],x:-a[0],y:-a[1],height:f.height+2*a[1],className:"react-flow__edge-textbg",style:i,rx:l,ry:l}),y.default.createElement("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r},n),s):null});let ns=e=>({width:e.offsetWidth,height:e.offsetHeight}),nu=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),nc=(e={x:0,y:0},t)=>({x:nu(e.x,t[0][0],t[1][0]),y:nu(e.y,t[0][1],t[1][1])}),nd=(e,t,n)=>e<t?nu(Math.abs(e-t),1,50)/50:e>n?-nu(Math.abs(e-n),1,50)/50:0,nf=(e,t)=>[20*nd(e.x,35,t.width-35),20*nd(e.y,35,t.height-35)],nh=e=>e.getRootNode?.()||window?.document,np=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),ng=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),nm=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ny=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),nv=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),nx=e=>!isNaN(e)&&isFinite(e),nb=Symbol.for("internals"),nw=["Enter"," ","Escape"],n_=(e,t)=>{};function nS(e){let t="nativeEvent"in e?e.nativeEvent:e,n=t.composedPath?.()?.[0]||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n?.nodeName)||n?.hasAttribute("contenteditable")||!!n?.closest(".nokey")}let nE=(e,t)=>{let n="clientX"in e,r=n?e.clientX:e.touches?.[0].clientX,o=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:o-(t?.top??0)}},nM=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0,nk=({id:e,path:t,labelX:n,labelY:r,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>y.default.createElement(y.default.Fragment,null,y.default.createElement("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&y.default.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),o&&nx(n)&&nx(r)?y.default.createElement(nl,{x:n,y:r,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u}):null);function nN(e,t,n){return void 0===n?n:r=>{let o=t().edges.find(t=>t.id===e);o&&n(r,{...o})}}function nC({sourceX:e,sourceY:t,targetX:n,targetY:r}){let o=Math.abs(n-e)/2,i=Math.abs(r-t)/2;return[n<e?n+o:n-o,r<t?r+i:r-i,o,i]}function nA({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:o,sourceControlY:i,targetControlX:a,targetControlY:l}){let s=.125*e+.375*o+.375*a+.125*n,u=.125*t+.375*i+.375*l+.125*r,c=Math.abs(s-e),d=Math.abs(u-t);return[s,u,c,d]}function n$({pos:e,x1:t,y1:n,x2:r,y2:o}){return e===p.Left||e===p.Right?[.5*(t+r),n]:[t,.5*(n+o)]}function nz({sourceX:e,sourceY:t,sourcePosition:n=p.Bottom,targetX:r,targetY:o,targetPosition:i=p.Top}){let[a,l]=n$({pos:n,x1:e,y1:t,x2:r,y2:o}),[s,u]=n$({pos:i,x1:r,y1:o,x2:e,y2:t}),[c,d,f,h]=nA({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:a,sourceControlY:l,targetControlX:s,targetControlY:u});return[`M${e},${t} C${a},${l} ${s},${u} ${r},${o}`,c,d,f,h]}nk.displayName="BaseEdge",(t=u||(u={})).Strict="strict",t.Loose="loose",(n=c||(c={})).Free="free",n.Vertical="vertical",n.Horizontal="horizontal",(r=d||(d={})).Partial="partial",r.Full="full",(o=f||(f={})).Bezier="default",o.Straight="straight",o.Step="step",o.SmoothStep="smoothstep",o.SimpleBezier="simplebezier",(i=h||(h={})).Arrow="arrow",i.ArrowClosed="arrowclosed",(a=p||(p={})).Left="left",a.Top="top",a.Right="right",a.Bottom="bottom";let nP=(0,y.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:o=p.Bottom,targetPosition:i=p.Top,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:g,interactionWidth:m})=>{let[v,x,b]=nz({sourceX:e,sourceY:t,sourcePosition:o,targetX:n,targetY:r,targetPosition:i});return y.default.createElement(nk,{path:v,labelX:x,labelY:b,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:g,interactionWidth:m})});nP.displayName="SimpleBezierEdge";let nR={[p.Left]:{x:-1,y:0},[p.Right]:{x:1,y:0},[p.Top]:{x:0,y:-1},[p.Bottom]:{x:0,y:1}},nO=({source:e,sourcePosition:t=p.Bottom,target:n})=>t===p.Left||t===p.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},nI=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function nD({sourceX:e,sourceY:t,sourcePosition:n=p.Bottom,targetX:r,targetY:o,targetPosition:i=p.Top,borderRadius:a=5,centerX:l,centerY:s,offset:u=20}){let[c,d,f,h,g]=function({source:e,sourcePosition:t=p.Bottom,target:n,targetPosition:r=p.Top,center:o,offset:i}){let a,l,s=nR[t],u=nR[r],c={x:e.x+s.x*i,y:e.y+s.y*i},d={x:n.x+u.x*i,y:n.y+u.y*i},f=nO({source:c,sourcePosition:t,target:d}),h=0!==f.x?"x":"y",g=f[h],m=[],y={x:0,y:0},v={x:0,y:0},[x,b,w,_]=nC({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[h]*u[h]==-1){a=o.x??x,l=o.y??b;let e=[{x:a,y:c.y},{x:a,y:d.y}],t=[{x:c.x,y:l},{x:d.x,y:l}];m=s[h]===g?"x"===h?e:t:"x"===h?t:e}else{let o=[{x:c.x,y:d.y}],f=[{x:d.x,y:c.y}];if(m="x"===h?s.x===g?f:o:s.y===g?o:f,t===r){let t=Math.abs(e[h]-n[h]);if(t<=i){let r=Math.min(i-1,i-t);s[h]===g?y[h]=(c[h]>e[h]?-1:1)*r:v[h]=(d[h]>n[h]?-1:1)*r}}if(t!==r){let e="x"===h?"y":"x",t=s[h]===u[e],n=c[e]>d[e],r=c[e]<d[e];(1===s[h]&&(!t&&n||t&&r)||1!==s[h]&&(!t&&r||t&&n))&&(m="x"===h?o:f)}let p={x:c.x+y.x,y:c.y+y.y},x={x:d.x+v.x,y:d.y+v.y};Math.max(Math.abs(p.x-m[0].x),Math.abs(x.x-m[0].x))>=Math.max(Math.abs(p.y-m[0].y),Math.abs(x.y-m[0].y))?(a=(p.x+x.x)/2,l=m[0].y):(a=m[0].x,l=(p.y+x.y)/2)}return[[e,{x:c.x+y.x,y:c.y+y.y},...m,{x:d.x+v.x,y:d.y+v.y},n],a,l,w,_]}({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:o},targetPosition:i,center:{x:l,y:s},offset:u});return[c.reduce((e,t,n)=>e+(n>0&&n<c.length-1?function(e,t,n,r){let o=Math.min(nI(e,t)/2,nI(t,n)/2,r),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return`L${i} ${a}`;if(e.y===a){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${i+o*t},${a}Q ${i},${a} ${i},${a+o*r}`}let l=e.x<n.x?1:-1,s=e.y<n.y?-1:1;return`L ${i},${a+o*s}Q ${i},${a} ${i+o*l},${a}`}(c[n-1],t,c[n+1],a):`${0===n?"M":"L"}${t.x} ${t.y}`),""),d,f,h,g]}let nT=(0,y.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,sourcePosition:d=p.Bottom,targetPosition:f=p.Top,markerEnd:h,markerStart:g,pathOptions:m,interactionWidth:v})=>{let[x,b,w]=nD({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m?.borderRadius,offset:m?.offset});return y.default.createElement(nk,{path:x,labelX:b,labelY:w,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:g,interactionWidth:v})});nT.displayName="SmoothStepEdge";let nB=(0,y.memo)(e=>y.default.createElement(nT,{...e,pathOptions:(0,y.useMemo)(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])}));nB.displayName="StepEdge";let nH=(0,y.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{let[p,g,m]=function({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[o,i,a,l]=nC({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,o,i,a,l]}({sourceX:e,sourceY:t,targetX:n,targetY:r});return y.default.createElement(nk,{path:p,labelX:g,labelY:m,label:o,labelStyle:i,labelShowBg:a,labelBgStyle:l,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});function nL(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function nj({pos:e,x1:t,y1:n,x2:r,y2:o,c:i}){switch(e){case p.Left:return[t-nL(t-r,i),n];case p.Right:return[t+nL(r-t,i),n];case p.Top:return[t,n-nL(n-o,i)];case p.Bottom:return[t,n+nL(o-n,i)]}}function nV({sourceX:e,sourceY:t,sourcePosition:n=p.Bottom,targetX:r,targetY:o,targetPosition:i=p.Top,curvature:a=.25}){let[l,s]=nj({pos:n,x1:e,y1:t,x2:r,y2:o,c:a}),[u,c]=nj({pos:i,x1:r,y1:o,x2:e,y2:t,c:a}),[d,f,h,g]=nA({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:l,sourceControlY:s,targetControlX:u,targetControlY:c});return[`M${e},${t} C${l},${s} ${u},${c} ${r},${o}`,d,f,h,g]}nH.displayName="StraightEdge";let nX=(0,y.memo)(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:o=p.Bottom,targetPosition:i=p.Top,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:g,pathOptions:m,interactionWidth:v})=>{let[x,b,w]=nV({sourceX:e,sourceY:t,sourcePosition:o,targetX:n,targetY:r,targetPosition:i,curvature:m?.curvature});return y.default.createElement(nk,{path:x,labelX:b,labelY:w,label:a,labelStyle:l,labelShowBg:s,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:g,interactionWidth:v})});nX.displayName="BezierEdge";let nY=(0,y.createContext)(null),nF=nY.Provider;nY.Consumer;let nW=(e,t)=>{if(void 0===e)return"";if("string"==typeof e)return e;let n=t?`${t}__`:"";return`${n}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`},nK=(e,t)=>{let n,r;return e.source&&e.target?(r=n="id"in e&&"source"in e&&"target"in e?{...e}:{...e,id:(({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`)(e)},t.some(e=>e.source===r.source&&e.target===r.target&&(e.sourceHandle===r.sourceHandle||!e.sourceHandle&&!r.sourceHandle)&&(e.targetHandle===r.targetHandle||!e.targetHandle&&!r.targetHandle)))?t:t.concat(n):(n_("006","Can't create edge. An edge needs a source and a target."),t)},nq=({x:e,y:t},[n,r,o],i,[a,l])=>{let s={x:(e-n)/o,y:(t-r)/o};return i?{x:a*Math.round(s.x/a),y:l*Math.round(s.y/l)}:s},nZ=({x:e,y:t},[n,r,o])=>({x:e*o+n,y:t*o+r}),nU=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(e.width??0)*t[0],r=(e.height??0)*t[1],o={x:e.position.x-n,y:e.position.y-r};return{...o,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:o}},nG=(e,t=[0,0])=>0===e.length?{x:0,y:0,width:0,height:0}:nm(e.reduce((e,n)=>{let{x:r,y:o}=nU(n,t).positionAbsolute;return np(e,ng({x:r,y:o,width:n.width||0,height:n.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nQ=(e,t,[n,r,o]=[0,0,1],i=!1,a=!1,l=[0,0])=>{let s={x:(t.x-n)/o,y:(t.y-r)/o,width:t.width/o,height:t.height/o},u=[];return e.forEach(e=>{let{width:t,height:n,selectable:r=!0,hidden:o=!1}=e;if(a&&!r||o)return!1;let{positionAbsolute:c}=nU(e,l),d=nv(s,{x:c.x,y:c.y,width:t||0,height:n||0}),f=void 0===t||void 0===n||null===t||null===n,h=(t||0)*(n||0);(f||i&&d>0||d>=h||e.dragging)&&u.push(e)}),u},nJ=(e,t)=>{let n=e.map(e=>e.id);return t.filter(e=>n.includes(e.source)||n.includes(e.target))},n0=(e,t,n,r,o,i=.1)=>{let a=nu(Math.min(t/(e.width*(1+i)),n/(e.height*(1+i))),r,o);return{x:t/2-(e.x+e.width/2)*a,y:n/2-(e.y+e.height/2)*a,zoom:a}},n1=(e,t=0)=>e.transition().duration(t);function n2(e,t,n,r){return(t[n]||[]).reduce((t,o)=>(`${e.id}-${o.id}-${n}`!==r&&t.push({id:o.id||null,type:n,nodeId:e.id,x:(e.positionAbsolute?.x??0)+o.x+o.width/2,y:(e.positionAbsolute?.y??0)+o.y+o.height/2}),t),[])}let n3={source:null,target:null,sourceHandle:null,targetHandle:null},n5=()=>({handleDomNode:null,isValid:!1,connection:n3,endHandle:null});function n4(e,t,n,r,o,i,a){let l="target"===o,s=a.querySelector(`.react-flow__handle[data-id="${e?.nodeId}-${e?.id}-${e?.type}"]`),c={...n5(),handleDomNode:s};if(s){let e=n6(void 0,s),o=s.getAttribute("data-nodeid"),a=s.getAttribute("data-handleid"),d=s.classList.contains("connectable"),f=s.classList.contains("connectableend"),h={source:l?o:n,sourceHandle:l?a:r,target:l?n:o,targetHandle:l?r:a};c.connection=h,d&&f&&(t===u.Strict?l&&"source"===e||!l&&"target"===e:o!==n||a!==r)&&(c.endHandle={nodeId:o,handleId:a,type:e},c.isValid=i(h))}return c}function n6(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}function n8(e){e?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function n9({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:o,getState:i,setState:a,isValidConnection:l,edgeUpdaterType:s,onReconnectEnd:u}){let c,d,f=nh(e.target),{connectionMode:h,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:y,panBy:v,getNodes:x,cancelConnection:b}=i(),w=0,{x:_,y:S}=nE(e),E=n6(s,f?.elementFromPoint(_,S)),M=p?.getBoundingClientRect();if(!M||!E)return;let k=nE(e,M),N=!1,C=null,A=!1,$=null,z=function({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((e,o)=>{if(o[nb]){let{handleBounds:i}=o[nb],a=[],l=[];i&&(a=n2(o,i,"source",`${t}-${n}-${r}`),l=n2(o,i,"target",`${t}-${n}-${r}`)),e.push(...a,...l)}return e},[])}({nodes:x(),nodeId:n,handleId:t,handleType:E}),P=()=>{if(!g)return;let[e,t]=nf(k,M);v({x:e,y:t}),w=requestAnimationFrame(P)};function R(e){var r,s;let u,{transform:p}=i();k=nE(e,M);let{handle:g,validHandleResult:y}=function(e,t,n,r,o,i){let{x:a,y:l}=nE(e),s=t.elementsFromPoint(a,l).find(e=>e.classList.contains("react-flow__handle"));if(s){let e=s.getAttribute("data-nodeid");if(e){let t=n6(void 0,s),r=s.getAttribute("data-handleid"),a=i({nodeId:e,id:r,type:t});if(a){let i=o.find(n=>n.nodeId===e&&n.type===t&&n.id===r);return{handle:{id:r,type:t,nodeId:e,x:i?.x||n.x,y:i?.y||n.y},validHandleResult:a}}}}let u=[],c=1/0;if(o.forEach(e=>{let t=Math.sqrt((e.x-n.x)**2+(e.y-n.y)**2);if(t<=r){let n=i(e);t<=c&&(t<c?u=[{handle:e,validHandleResult:n}]:t===c&&u.push({handle:e,validHandleResult:n}),c=t)}}),!u.length)return{handle:null,validHandleResult:n5()};if(1===u.length)return u[0];let d=u.some(({validHandleResult:e})=>e.isValid),f=u.some(({handle:e})=>"target"===e.type);return u.find(({handle:e,validHandleResult:t})=>f?"target"===e.type:!d||t.isValid)||u[0]}(e,f,nq(k,p,!1,[1,1]),m,z,e=>n4(e,h,n,t,o?"target":"source",l,f));if(c=g,N||(P(),N=!0),$=y.handleDomNode,C=y.connection,A=y.isValid,a({connectionPosition:c&&A?nZ({x:c.x,y:c.y},p):k,connectionStatus:(r=!!c,u=null,(s=A)?u="valid":r&&!s&&(u="invalid"),u),connectionEndHandle:y.endHandle}),!c&&!A&&!$)return n8(d);C.source!==C.target&&$&&(n8(d),d=$,$.classList.add("connecting","react-flow__handle-connecting"),$.classList.toggle("valid",A),$.classList.toggle("react-flow__handle-valid",A))}function O(e){(c||$)&&C&&A&&r?.(C),i().onConnectEnd?.(e),s&&u?.(e),n8(d),b(),cancelAnimationFrame(w),N=!1,A=!1,C=null,$=null,f.removeEventListener("mousemove",R),f.removeEventListener("mouseup",O),f.removeEventListener("touchmove",R),f.removeEventListener("touchend",O)}a({connectionPosition:k,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:E,connectionStartHandle:{nodeId:n,handleId:t,type:E},connectionEndHandle:null}),y?.(e,{nodeId:n,handleId:t,handleType:E}),f.addEventListener("mousemove",R),f.addEventListener("mouseup",O),f.addEventListener("touchmove",R),f.addEventListener("touchend",O)}let n7=()=>!0,re=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),rt=(0,y.forwardRef)(({type:e="source",position:t=p.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:o=!0,isConnectableEnd:i=!0,id:a,onConnect:l,children:s,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{let g=a||null,m="target"===e,x=nr(),b=(0,y.useContext)(nY),{connectOnClick:w,noPanClassName:_}=nn(re,N),{connecting:S,clickConnecting:E}=nn(t=>{let{connectionStartHandle:n,connectionEndHandle:r,connectionClickStartHandle:o}=t;return{connecting:n?.nodeId===b&&n?.handleId===g&&n?.type===e||r?.nodeId===b&&r?.handleId===g&&r?.type===e,clickConnecting:o?.nodeId===b&&o?.handleId===g&&o?.type===e}},N);b||x.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let M=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=x.getState(),o={...t,...e};if(r){let{edges:e,setEdges:t}=x.getState();t(nK(o,e))}n?.(o),l?.(o)},k=e=>{if(!b)return;let t="clientX"in e;o&&(t&&0===e.button||!t)&&n9({event:e,handleId:g,nodeId:b,onConnect:M,isTarget:m,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||n7}),t?c?.(e):d?.(e)};return y.default.createElement("div",{"data-handleid":g,"data-nodeid":b,"data-handlepos":t,"data-id":`${b}-${g}-${e}`,className:v(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",_,u,{source:!m,target:m,connectable:r,connectablestart:o,connectableend:i,connecting:E,connectionindicator:r&&(o&&!S||i&&S)}]),onMouseDown:k,onTouchStart:k,onClick:w?t=>{let{onClickConnectStart:r,onClickConnectEnd:i,connectionClickStartHandle:a,connectionMode:l,isValidConnection:s}=x.getState();if(!b||!a&&!o)return;if(!a){r?.(t,{nodeId:b,handleId:g,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:b,type:e,handleId:g}});return}let u=nh(t.target),c=n||s||n7,{connection:d,isValid:f}=n4({nodeId:b,id:g,type:e},l,a.nodeId,a.handleId||null,a.type,c,u);f&&M(d),i?.(t),x.setState({connectionClickStartHandle:null})}:void 0,ref:h,...f},s)});rt.displayName="Handle";var rn=(0,y.memo)(rt);let rr=({data:e,isConnectable:t,targetPosition:n=p.Top,sourcePosition:r=p.Bottom})=>y.default.createElement(y.default.Fragment,null,y.default.createElement(rn,{type:"target",position:n,isConnectable:t}),e?.label,y.default.createElement(rn,{type:"source",position:r,isConnectable:t}));rr.displayName="DefaultNode";var ro=(0,y.memo)(rr);let ri=({data:e,isConnectable:t,sourcePosition:n=p.Bottom})=>y.default.createElement(y.default.Fragment,null,e?.label,y.default.createElement(rn,{type:"source",position:n,isConnectable:t}));ri.displayName="InputNode";var ra=(0,y.memo)(ri);let rl=({data:e,isConnectable:t,targetPosition:n=p.Top})=>y.default.createElement(y.default.Fragment,null,y.default.createElement(rn,{type:"target",position:n,isConnectable:t}),e?.label);rl.displayName="OutputNode";var rs=(0,y.memo)(rl);let ru=()=>null;ru.displayName="GroupNode";let rc=e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected).map(e=>({...e}))}),rd=e=>e.id;function rf(e,t){return N(e.selectedNodes.map(rd),t.selectedNodes.map(rd))&&N(e.selectedEdges.map(rd),t.selectedEdges.map(rd))}let rh=(0,y.memo)(({onSelectionChange:e})=>{let t=nr(),{selectedNodes:n,selectedEdges:r}=nn(rc,rf);return(0,y.useEffect)(()=>{let o={nodes:n,edges:r};e?.(o),t.getState().onSelectionChange.forEach(e=>e(o))},[n,r,e]),null});rh.displayName="SelectionListener";let rp=e=>!!e.onSelectionChange;function rg({onSelectionChange:e}){let t=nn(rp);return e||t?y.default.createElement(rh,{onSelectionChange:e}):null}let rm=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function ry(e,t){(0,y.useEffect)(()=>{void 0!==e&&t(e)},[e])}function rv(e,t,n){(0,y.useEffect)(()=>{void 0!==t&&n({[e]:t})},[t])}let rx=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:o,onConnectStart:i,onConnectEnd:a,onClickConnectStart:l,onClickConnectEnd:s,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:g,maxZoom:m,nodeExtent:v,onNodesChange:x,onEdgesChange:b,elementsSelectable:w,connectionMode:_,snapGrid:S,snapToGrid:E,translateExtent:M,connectOnClick:k,defaultEdgeOptions:C,fitView:A,fitViewOptions:$,onNodesDelete:z,onEdgesDelete:P,onNodeDrag:R,onNodeDragStart:O,onNodeDragStop:I,onSelectionDrag:D,onSelectionDragStart:T,onSelectionDragStop:B,noPanClassName:H,nodeOrigin:L,rfId:j,autoPanOnConnect:V,autoPanOnNodeDrag:X,onError:Y,connectionRadius:F,isValidConnection:W,nodeDragThreshold:K})=>{let{setNodes:q,setEdges:Z,setDefaultNodesAndEdges:U,setMinZoom:G,setMaxZoom:Q,setTranslateExtent:J,setNodeExtent:ee,reset:et}=nn(rm,N),en=nr();return(0,y.useEffect)(()=>(U(n,r?.map(e=>({...e,...C}))),()=>{et()}),[]),rv("defaultEdgeOptions",C,en.setState),rv("connectionMode",_,en.setState),rv("onConnect",o,en.setState),rv("onConnectStart",i,en.setState),rv("onConnectEnd",a,en.setState),rv("onClickConnectStart",l,en.setState),rv("onClickConnectEnd",s,en.setState),rv("nodesDraggable",u,en.setState),rv("nodesConnectable",c,en.setState),rv("nodesFocusable",d,en.setState),rv("edgesFocusable",f,en.setState),rv("edgesUpdatable",h,en.setState),rv("elementsSelectable",w,en.setState),rv("elevateNodesOnSelect",p,en.setState),rv("snapToGrid",E,en.setState),rv("snapGrid",S,en.setState),rv("onNodesChange",x,en.setState),rv("onEdgesChange",b,en.setState),rv("connectOnClick",k,en.setState),rv("fitViewOnInit",A,en.setState),rv("fitViewOnInitOptions",$,en.setState),rv("onNodesDelete",z,en.setState),rv("onEdgesDelete",P,en.setState),rv("onNodeDrag",R,en.setState),rv("onNodeDragStart",O,en.setState),rv("onNodeDragStop",I,en.setState),rv("onSelectionDrag",D,en.setState),rv("onSelectionDragStart",T,en.setState),rv("onSelectionDragStop",B,en.setState),rv("noPanClassName",H,en.setState),rv("nodeOrigin",L,en.setState),rv("rfId",j,en.setState),rv("autoPanOnConnect",V,en.setState),rv("autoPanOnNodeDrag",X,en.setState),rv("onError",Y,en.setState),rv("connectionRadius",F,en.setState),rv("isValidConnection",W,en.setState),rv("nodeDragThreshold",K,en.setState),ry(e,q),ry(t,Z),ry(g,G),ry(m,Q),ry(M,J),ry(v,ee),null},rb={display:"none"},rw={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},r_="react-flow__node-desc",rS="react-flow__edge-desc",rE=e=>e.ariaLiveMessage;function rM({rfId:e}){let t=nn(rE);return y.default.createElement("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:rw},t)}function rk({rfId:e,disableKeyboardA11y:t}){return y.default.createElement(y.default.Fragment,null,y.default.createElement("div",{id:`${r_}-${e}`,style:rb},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),y.default.createElement("div",{id:`${rS}-${e}`,style:rb},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&y.default.createElement(rM,{rfId:e}))}var rN=(e=null,t={actInsideInputWithModifier:!0})=>{let[n,r]=(0,y.useState)(!1),o=(0,y.useRef)(!1),i=(0,y.useRef)(new Set([])),[a,l]=(0,y.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.split("+")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,y.useEffect)(()=>{let n="u">typeof document?document:null,s=t?.target||n;if(null!==e){let e=e=>{if(o.current=e.ctrlKey||e.metaKey||e.shiftKey,(!o.current||o.current&&!t.actInsideInputWithModifier)&&nS(e))return!1;let n=rA(e.code,l);i.current.add(e[n]),rC(a,i.current,!1)&&(e.preventDefault(),r(!0))},n=e=>{if((!o.current||o.current&&!t.actInsideInputWithModifier)&&nS(e))return!1;let n=rA(e.code,l);rC(a,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(e[n]),"Meta"===e.key&&i.current.clear(),o.current=!1},u=()=>{i.current.clear(),r(!1)};return s?.addEventListener("keydown",e),s?.addEventListener("keyup",n),window.addEventListener("blur",u),()=>{s?.removeEventListener("keydown",e),s?.removeEventListener("keyup",n),window.removeEventListener("blur",u)}}},[e,r]),n};function rC(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function rA(e,t){return t.includes(e)?"code":"key"}function r$(e,t,n){e.forEach(r=>{let o=r.parentNode||r.parentId;if(o&&!e.has(o))throw Error(`Parent node ${o} not found`);if(o||n?.[r.id]){let{x:o,y:i,z:a}=function e(t,n,r,o){let i=t.parentNode||t.parentId;if(!i)return r;let a=n.get(i),l=nU(a,o);return e(a,n,{x:(r.x??0)+l.x,y:(r.y??0)+l.y,z:(a[nb]?.z??0)>(r.z??0)?a[nb]?.z??0:r.z??0},o)}(r,e,{...r.position,z:r[nb]?.z??0},t);r.positionAbsolute={x:o,y:i},r[nb].z=a,n?.[r.id]&&(r[nb].isParent=!0)}})}function rz(e,t,n,r){let o=new Map,i={},a=1e3*!!r;return e.forEach(e=>{let n=(nx(e.zIndex)?e.zIndex:0)+(e.selected?a:0),r=t.get(e.id),l={...e,positionAbsolute:{x:e.position.x,y:e.position.y}},s=e.parentNode||e.parentId;s&&(i[s]=!0),Object.defineProperty(l,nb,{enumerable:!1,value:{handleBounds:r?.type&&r?.type!==e.type?void 0:r?.[nb]?.handleBounds,z:n}}),o.set(e.id,l)}),r$(o,n,i),o}function rP(e,t={}){let{getNodes:n,width:r,height:o,minZoom:i,maxZoom:a,d3Zoom:l,d3Selection:s,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(l&&s&&(f||!t.initial)){let e=n().filter(e=>{let n=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?n&&t.nodes.some(t=>t.id===e.id):n}),u=e.every(e=>e.width&&e.height);if(e.length>0&&u){let{x:n,y:u,zoom:c}=n0(nG(e,d),r,o,t.minZoom??i,t.maxZoom??a,t.padding??.1),f=tK.translate(n,u).scale(c);return"number"==typeof t.duration&&t.duration>0?l.transform(n1(s,t.duration),f):l.transform(s,f),!0}}return!1}function rR({changedNodes:e,changedEdges:t,get:n,set:r}){let{nodeInternals:o,edges:i,onNodesChange:a,onEdgesChange:l,hasDefaultNodes:s,hasDefaultEdges:u}=n();e?.length&&(s&&r({nodeInternals:(e.forEach(e=>{let t=o.get(e.id);t&&o.set(t.id,{...t,[nb]:t[nb],selected:e.selected})}),new Map(o))}),a?.(e)),t?.length&&(u&&r({edges:i.map(e=>{let n=t.find(t=>t.id===e.id);return n&&(e.selected=n.selected),e})}),l?.(t))}let rO=()=>{},rI={zoomIn:rO,zoomOut:rO,zoomTo:rO,getZoom:()=>1,setViewport:rO,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:rO,fitBounds:rO,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},rD=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection});function rT(){let e=(()=>{let e=nr(),{d3Zoom:t,d3Selection:n}=nn(rD,N);return(0,y.useMemo)(()=>n&&t?{zoomIn:e=>t.scaleBy(n1(n,e?.duration),1.2),zoomOut:e=>t.scaleBy(n1(n,e?.duration),1/1.2),zoomTo:(e,r)=>t.scaleTo(n1(n,r?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(r,o)=>{let[i,a,l]=e.getState().transform,s=tK.translate(r.x??i,r.y??a).scale(r.zoom??l);t.transform(n1(n,o?.duration),s)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},fitView:t=>rP(e.getState,t),setCenter:(r,o,i)=>{let{width:a,height:l,maxZoom:s}=e.getState(),u=void 0!==i?.zoom?i.zoom:s,c=a/2-r*u,d=l/2-o*u,f=tK.translate(c,d).scale(u);t.transform(n1(n,i?.duration),f)},fitBounds:(r,o)=>{let{width:i,height:a,minZoom:l,maxZoom:s}=e.getState(),{x:u,y:c,zoom:d}=n0(r,i,a,l,s,o?.padding??.1),f=tK.translate(u,c).scale(d);t.transform(n1(n,o?.duration),f)},project:t=>{let{transform:n,snapToGrid:r,snapGrid:o}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),nq(t,n,r,o)},screenToFlowPosition:t=>{let{transform:n,snapToGrid:r,snapGrid:o,domNode:i}=e.getState();if(!i)return t;let{x:a,y:l}=i.getBoundingClientRect();return nq({x:t.x-a,y:t.y-l},n,r,o)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:o,y:i}=r.getBoundingClientRect(),a=nZ(t,n);return{x:a.x+o,y:a.y+i}},viewportInitialized:!0}:rI,[t,n])})(),t=nr(),n=(0,y.useCallback)(()=>t.getState().getNodes().map(e=>({...e})),[]),r=(0,y.useCallback)(e=>t.getState().nodeInternals.get(e),[]),o=(0,y.useCallback)(()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},[]),i=(0,y.useCallback)(e=>{let{edges:n=[]}=t.getState();return n.find(t=>t.id===e)},[]),a=(0,y.useCallback)(e=>{let{getNodes:n,setNodes:r,hasDefaultNodes:o,onNodesChange:i}=t.getState(),a=n(),l="function"==typeof e?e(a):e;o?r(l):i&&i(0===l.length?a.map(e=>({type:"remove",id:e.id})):l.map(e=>({item:e,type:"reset"})))},[]),l=(0,y.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:o,onEdgesChange:i}=t.getState(),a="function"==typeof e?e(n):e;o?r(a):i&&i(0===a.length?n.map(e=>({type:"remove",id:e.id})):a.map(e=>({item:e,type:"reset"})))},[]),s=(0,y.useCallback)(e=>{let n=Array.isArray(e)?e:[e],{getNodes:r,setNodes:o,hasDefaultNodes:i,onNodesChange:a}=t.getState();i?o([...r(),...n]):a&&a(n.map(e=>({item:e,type:"add"})))},[]),u=(0,y.useCallback)(e=>{let n=Array.isArray(e)?e:[e],{edges:r=[],setEdges:o,hasDefaultEdges:i,onEdgesChange:a}=t.getState();i?o([...r,...n]):a&&a(n.map(e=>({item:e,type:"add"})))},[]),c=(0,y.useCallback)(()=>{let{getNodes:e,edges:n=[],transform:r}=t.getState(),[o,i,a]=r;return{nodes:e().map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:o,y:i,zoom:a}}},[]),d=(0,y.useCallback)(({nodes:e,edges:n})=>{let{nodeInternals:r,getNodes:o,edges:i,hasDefaultNodes:a,hasDefaultEdges:l,onNodesDelete:s,onEdgesDelete:u,onNodesChange:c,onEdgesChange:d}=t.getState(),f=(e||[]).map(e=>e.id),h=(n||[]).map(e=>e.id),p=o().reduce((e,t)=>{let n=t.parentNode||t.parentId,r=!f.includes(t.id)&&n&&e.find(e=>e.id===n);return("boolean"!=typeof t.deletable||t.deletable)&&(f.includes(t.id)||r)&&e.push(t),e},[]),g=i.filter(e=>"boolean"!=typeof e.deletable||e.deletable),m=g.filter(e=>h.includes(e.id));if(p||m){let e=[...m,...nJ(p,g)],n=e.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);(l||a)&&(l&&t.setState({edges:i.filter(e=>!n.includes(e.id))}),a&&(p.forEach(e=>{r.delete(e.id)}),t.setState({nodeInternals:new Map(r)}))),n.length>0&&(u?.(e),d&&d(n.map(e=>({id:e,type:"remove"})))),p.length>0&&(s?.(p),c&&c(p.map(e=>({id:e.id,type:"remove"}))))}},[]),f=(0,y.useCallback)(e=>{let n=nx(e.width)&&nx(e.height)&&nx(e.x)&&nx(e.y),r=n?null:t.getState().nodeInternals.get(e.id);return n||r?[n?e:ny(r),r,n]:[null,null,n]},[]),h=(0,y.useCallback)((e,n=!0,r)=>{let[o,i,a]=f(e);return o?(r||t.getState().getNodes()).filter(e=>{if(!a&&(e.id===i.id||!e.positionAbsolute))return!1;let t=nv(ny(e),o);return n&&t>0||t>=o.width*o.height}):[]},[]),p=(0,y.useCallback)((e,t,n=!0)=>{let[r]=f(e);if(!r)return!1;let o=nv(r,t);return n&&o>0||o>=r.width*r.height},[]);return(0,y.useMemo)(()=>({...e,getNodes:n,getNode:r,getEdges:o,getEdge:i,setNodes:a,setEdges:l,addNodes:s,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,o,i,a,l,s,u,c,d,h,p])}let rB={actInsideInputWithModifier:!1},rH={position:"absolute",width:"100%",height:"100%",top:0,left:0},rL=e=>({x:e.x,y:e.y,zoom:e.k}),rj=(e,t)=>e.target.closest(`.${t}`),rV=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),rX=e=>{let t=e.ctrlKey&&nM()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t},rY=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),rF=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:o=!0,zoomOnPinch:i=!0,panOnScroll:a=!1,panOnScrollSpeed:l=.5,panOnScrollMode:s=c.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:h,translateExtent:p,minZoom:g,maxZoom:m,zoomActivationKeyCode:v,preventScrolling:x=!0,children:b,noWheelClassName:w,noPanClassName:_})=>{let S,E=(0,y.useRef)(),M=nr(),k=(0,y.useRef)(!1),C=(0,y.useRef)(!1),A=(0,y.useRef)(null),$=(0,y.useRef)({x:0,y:0,zoom:0}),{d3Zoom:z,d3Selection:P,d3ZoomHandler:R,userSelectionActive:O}=nn(rY,N),I=rN(v),D=(0,y.useRef)(0),T=(0,y.useRef)(!1),B=(0,y.useRef)();return S=nr(),(0,y.useEffect)(()=>{let e,t=()=>{if(!A.current)return;let e=ns(A.current);(0===e.height||0===e.width)&&S.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),S.setState({width:e.width||500,height:e.height||500})};return t(),window.addEventListener("resize",t),A.current&&(e=new ResizeObserver(()=>t())).observe(A.current),()=>{window.removeEventListener("resize",t),e&&A.current&&e.unobserve(A.current)}},[]),(0,y.useEffect)(()=>{if(A.current){let e=A.current.getBoundingClientRect(),t=t2().scaleExtent([g,m]).translateExtent(p),n=ex(A.current).call(t),r=tK.translate(h.x,h.y).scale(nu(h.zoom,g,m)),o=[[0,0],[e.width,e.height]],i=t.constrain()(r,o,p);t.transform(n,i),t.wheelDelta(rX),M.setState({d3Zoom:t,d3Selection:n,d3ZoomHandler:n.on("wheel.zoom"),transform:[i.x,i.y,i.k],domNode:A.current.closest(".react-flow")})}},[]),(0,y.useEffect)(()=>{P&&z&&(!a||I||O?void 0!==R&&P.on("wheel.zoom",function(e,t){if(!x&&"wheel"===e.type&&!e.ctrlKey||rj(e,w))return null;e.preventDefault(),R.call(this,e,t)},{passive:!1}):P.on("wheel.zoom",r=>{if(rj(r,w))return!1;r.preventDefault(),r.stopImmediatePropagation();let o=P.property("__zoom").k||1;if(r.ctrlKey&&i){let e=eC(r),t=o*Math.pow(2,rX(r));z.scaleTo(P,t,e,r);return}let a=1===r.deltaMode?20:1,u=s===c.Vertical?0:r.deltaX*a,d=s===c.Horizontal?0:r.deltaY*a;!nM()&&r.shiftKey&&s!==c.Vertical&&(u=r.deltaY*a,d=0),z.translateBy(P,-(u/o)*l,-(d/o)*l,{internal:!0});let f=rL(P.property("__zoom")),{onViewportChangeStart:h,onViewportChange:p,onViewportChangeEnd:g}=M.getState();clearTimeout(B.current),T.current||(T.current=!0,t?.(r,f),h?.(f)),T.current&&(e?.(r,f),p?.(f),B.current=setTimeout(()=>{n?.(r,f),g?.(f),T.current=!1},150))},{passive:!1}))},[O,a,s,P,z,R,I,i,x,w,t,e,n]),(0,y.useEffect)(()=>{z&&z.on("start",e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;D.current=e.sourceEvent?.button;let{onViewportChangeStart:n}=M.getState(),r=rL(e.transform);k.current=!0,$.current=r,e.sourceEvent?.type==="mousedown"&&M.setState({paneDragging:!0}),n?.(r),t?.(e.sourceEvent,r)})},[z,t]),(0,y.useEffect)(()=>{z&&(O&&!k.current?z.on("zoom",null):O||z.on("zoom",t=>{let{onViewportChange:n}=M.getState();if(M.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),C.current=!!(r&&rV(f,D.current??0)),(e||n)&&!t.sourceEvent?.internal){let r=rL(t.transform);n?.(r),e?.(t.sourceEvent,r)}}))},[O,z,e,f,r]),(0,y.useEffect)(()=>{z&&z.on("end",e=>{let t,o;if(!e.sourceEvent||e.sourceEvent.internal)return null;let{onViewportChangeEnd:i}=M.getState();if(k.current=!1,M.setState({paneDragging:!1}),r&&rV(f,D.current??0)&&!C.current&&r(e.sourceEvent),C.current=!1,(n||i)&&(t=$.current,o=e.transform,t.x!==o.x||t.y!==o.y||t.zoom!==o.k)){let t=rL(e.transform);$.current=t,clearTimeout(E.current),E.current=setTimeout(()=>{i?.(t),n?.(e.sourceEvent,t)},150*!!a)}})},[z,a,f,n,r]),(0,y.useEffect)(()=>{z&&z.filter(e=>{let t=I||o,n=i&&e.ctrlKey;if((!0===f||Array.isArray(f)&&f.includes(1))&&1===e.button&&"mousedown"===e.type&&(rj(e,"react-flow__node")||rj(e,"react-flow__edge")))return!0;if(!f&&!t&&!a&&!u&&!i||O||!u&&"dblclick"===e.type||rj(e,w)&&"wheel"===e.type||rj(e,_)&&("wheel"!==e.type||a&&"wheel"===e.type&&!I)||!i&&e.ctrlKey&&"wheel"===e.type||!t&&!a&&!n&&"wheel"===e.type||!f&&("mousedown"===e.type||"touchstart"===e.type)||Array.isArray(f)&&!f.includes(e.button)&&"mousedown"===e.type)return!1;let r=Array.isArray(f)&&f.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&r})},[O,z,o,i,a,u,f,d,I]),y.default.createElement("div",{className:"react-flow__renderer",ref:A,style:rH},b)},rW=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function rK(){let{userSelectionActive:e,userSelectionRect:t}=nn(rW,N);return e&&t?y.default.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function rq(e,t){let n=t.parentNode||t.parentId,r=e.find(e=>e.id===n);if(r){let e=t.position.x+t.width-r.width,n=t.position.y+t.height-r.height;if(e>0||n>0||t.position.x<0||t.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,e>0&&(r.style.width+=e),n>0&&(r.style.height+=n),t.position.x<0){let e=Math.abs(t.position.x);r.position.x=r.position.x-e,r.style.width+=e,t.position.x=0}if(t.position.y<0){let e=Math.abs(t.position.y);r.position.y=r.position.y-e,r.style.height+=e,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function rZ(e,t){if(e.some(e=>"reset"===e.type))return e.filter(e=>"reset"===e.type).map(e=>e.item);let n=e.filter(e=>"add"===e.type).map(e=>e.item);return t.reduce((t,n)=>{let r=e.filter(e=>e.id===n.id);if(0===r.length)return t.push(n),t;let o={...n};for(let e of r)if(e)switch(e.type){case"select":o.selected=e.selected;break;case"position":void 0!==e.position&&(o.position=e.position),void 0!==e.positionAbsolute&&(o.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(o.dragging=e.dragging),o.expandParent&&rq(t,o);break;case"dimensions":void 0!==e.dimensions&&(o.width=e.dimensions.width,o.height=e.dimensions.height),void 0!==e.updateStyle&&(o.style={...o.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(o.resizing=e.resizing),o.expandParent&&rq(t,o);break;case"remove":return t}return t.push(o),t},n)}function rU(e,t){return rZ(e,t)}let rG=(e,t)=>({id:e,type:"select",selected:t});function rQ(e,t){return e.reduce((e,n)=>{let r=t.includes(n.id);return!n.selected&&r?(n.selected=!0,e.push(rG(n.id,!0))):n.selected&&!r&&(n.selected=!1,e.push(rG(n.id,!1))),e},[])}let rJ=(e,t)=>n=>{n.target===t.current&&e?.(n)},r0=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),r1=(0,y.memo)(({isSelecting:e,selectionMode:t=d.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:o,onPaneClick:i,onPaneContextMenu:a,onPaneScroll:l,onPaneMouseEnter:s,onPaneMouseMove:u,onPaneMouseLeave:c,children:f})=>{let h=(0,y.useRef)(null),p=nr(),g=(0,y.useRef)(0),m=(0,y.useRef)(0),x=(0,y.useRef)(),{userSelectionActive:b,elementsSelectable:w,dragging:_}=nn(r0,N),S=()=>{p.setState({userSelectionActive:!1,userSelectionRect:null}),g.current=0,m.current=0},E=e=>{i?.(e),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},M=w&&(e||b);return y.default.createElement("div",{className:v(["react-flow__pane",{dragging:_,selection:e}]),onClick:M?void 0:rJ(E,h),onContextMenu:rJ(e=>{Array.isArray(n)&&n?.includes(2)?e.preventDefault():a?.(e)},h),onWheel:rJ(l?e=>l(e):void 0,h),onMouseEnter:M?void 0:s,onMouseDown:M?t=>{let{resetSelectedElements:n,domNode:o}=p.getState();if(x.current=o?.getBoundingClientRect(),!w||!e||0!==t.button||t.target!==h.current||!x.current)return;let{x:i,y:a}=nE(t,x.current);n(),p.setState({userSelectionRect:{width:0,height:0,startX:i,startY:a,x:i,y:a}}),r?.(t)}:void 0,onMouseMove:M?n=>{let{userSelectionRect:r,nodeInternals:o,edges:i,transform:a,onNodesChange:l,onEdgesChange:s,nodeOrigin:u,getNodes:c}=p.getState();if(!e||!x.current||!r)return;p.setState({userSelectionActive:!0,nodesSelectionActive:!1});let f=nE(n,x.current),h=r.startX??0,y=r.startY??0,v={...r,x:f.x<h?f.x:h,y:f.y<y?f.y:y,width:Math.abs(f.x-h),height:Math.abs(f.y-y)},b=c(),w=nQ(o,v,a,t===d.Partial,!0,u),_=nJ(w,i).map(e=>e.id),S=w.map(e=>e.id);if(g.current!==S.length){g.current=S.length;let e=rQ(b,S);e.length&&l?.(e)}if(m.current!==_.length){m.current=_.length;let e=rQ(i,_);e.length&&s?.(e)}p.setState({userSelectionRect:v})}:u,onMouseUp:M?e=>{if(0!==e.button)return;let{userSelectionRect:t}=p.getState();!b&&t&&e.target===h.current&&E?.(e),p.setState({nodesSelectionActive:g.current>0}),S(),o?.(e)}:void 0,onMouseLeave:M?e=>{b&&(p.setState({nodesSelectionActive:g.current>0}),o?.(e)),S()}:c,ref:h,style:rH},f,y.default.createElement(rK,null))});function r2(e,t,n){let r=e;do{if(r?.matches(t))return!0;if(r===n.current)break;r=r.parentElement}while(r)return!1}function r3(e,t,n,r,o=[0,0],i){var a;let l=(a=e.extent||r)&&"parent"!==a?[a[0],[a[1][0]-(e.width||0),a[1][1]-(e.height||0)]]:a,s=l,u=e.parentNode||e.parentId;if("parent"!==e.extent||e.expandParent){if(e.extent&&u&&"parent"!==e.extent){let{x:t,y:r}=nU(n.get(u),o).positionAbsolute;s=[[e.extent[0][0]+t,e.extent[0][1]+r],[e.extent[1][0]+t,e.extent[1][1]+r]]}}else if(u&&e.width&&e.height){let t=n.get(u),{x:r,y:i}=nU(t,o).positionAbsolute;s=t&&nx(r)&&nx(i)&&nx(t.width)&&nx(t.height)?[[r+e.width*o[0],i+e.height*o[1]],[r+t.width-e.width+e.width*o[0],i+t.height-e.height+e.height*o[1]]]:s}else i?.("005","Only child nodes can use a parent extent."),s=l;let c={x:0,y:0};u&&(c=nU(n.get(u),o).positionAbsolute);let d=s&&"parent"!==s?nc(t,s):t;return{position:{x:d.x-c.x,y:d.y-c.y},positionAbsolute:d}}function r5({nodeId:e,dragItems:t,nodeInternals:n}){let r=t.map(e=>({...n.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}));return[e?r.find(t=>t.id===e):r[0],r]}r1.displayName="Pane";let r4=(e,t,n,r)=>{let o=t.querySelectorAll(e);if(!o||!o.length)return null;let i=Array.from(o),a=t.getBoundingClientRect(),l={x:a.width*r[0],y:a.height*r[1]};return i.map(e=>{let t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-a.left-l.x)/n,y:(t.top-a.top-l.y)/n,...ns(e)}})};function r6(e,t,n){return void 0===n?n:r=>{let o=t().nodeInternals.get(e);o&&n(r,{...o})}}function r8({id:e,store:t,unselect:n=!1,nodeRef:r}){let o,{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:l,nodeInternals:s,onError:u}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&l)&&(a({nodes:[c],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])):u?.("012",(o=e,`Node with id "${o}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function r9(e){return(t,n,r)=>e?.(t,r)}function r7({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:o,isSelectable:i,selectNodesOnDrag:a}){let l,s=nr(),[u,c]=(0,y.useState)(!1),d=(0,y.useRef)([]),f=(0,y.useRef)({x:null,y:null}),h=(0,y.useRef)(0),p=(0,y.useRef)(null),g=(0,y.useRef)({x:0,y:0}),m=(0,y.useRef)(null),v=(0,y.useRef)(!1),x=(0,y.useRef)(!1),b=(0,y.useRef)(!1),w=(l=nr(),(0,y.useCallback)(({sourceEvent:e})=>{let{transform:t,snapGrid:n,snapToGrid:r}=l.getState(),o=e.touches?e.touches[0].clientX:e.clientX,i=e.touches?e.touches[0].clientY:e.clientY,a={x:(o-t[0])/t[2],y:(i-t[1])/t[2]};return{xSnapped:r?n[0]*Math.round(a.x/n[0]):a.x,ySnapped:r?n[1]*Math.round(a.y/n[1]):a.y,...a}},[]));return(0,y.useEffect)(()=>{if(e?.current){let l=ex(e.current),u=({x:e,y:t})=>{let{nodeInternals:n,onNodeDrag:r,onSelectionDrag:i,updateNodePositions:a,nodeExtent:l,snapGrid:u,snapToGrid:h,nodeOrigin:p,onError:g}=s.getState();f.current={x:e,y:t};let y=!1,v={x:0,y:0,x2:0,y2:0};if(d.current.length>1&&l&&(v=ng(nG(d.current,p))),d.current=d.current.map(r=>{let o={x:e-r.distance.x,y:t-r.distance.y};h&&(o.x=u[0]*Math.round(o.x/u[0]),o.y=u[1]*Math.round(o.y/u[1]));let i=[[l[0][0],l[0][1]],[l[1][0],l[1][1]]];d.current.length>1&&l&&!r.extent&&(i[0][0]=r.positionAbsolute.x-v.x+l[0][0],i[1][0]=r.positionAbsolute.x+(r.width??0)-v.x2+l[1][0],i[0][1]=r.positionAbsolute.y-v.y+l[0][1],i[1][1]=r.positionAbsolute.y+(r.height??0)-v.y2+l[1][1]);let a=r3(r,o,n,i,p,g);return y=y||r.position.x!==a.position.x||r.position.y!==a.position.y,r.position=a.position,r.positionAbsolute=a.positionAbsolute,r}),!y)return;a(d.current,!0,!0),c(!0);let x=o?r:r9(i);if(x&&m.current){let[e,t]=r5({nodeId:o,dragItems:d.current,nodeInternals:n});x(m.current,e,t)}},y=()=>{if(!p.current)return;let[e,t]=nf(g.current,p.current);if(0!==e||0!==t){let{transform:n,panBy:r}=s.getState();f.current.x=(f.current.x??0)-e/n[2],f.current.y=(f.current.y??0)-t/n[2],r({x:e,y:t})&&u(f.current)}h.current=requestAnimationFrame(y)},_=t=>{let{nodeInternals:n,multiSelectionActive:r,nodesDraggable:l,unselectNodesAndEdges:u,onNodeDragStart:c,onSelectionDragStart:h}=s.getState();x.current=!0;let p=o?c:r9(h);a&&i||r||!o||n.get(o)?.selected||u(),o&&i&&a&&r8({id:o,store:s,nodeRef:e});let g=w(t);if(f.current=g,d.current=Array.from(n.values()).filter(e=>(e.selected||e.id===o)&&(!e.parentNode||e.parentId||!function e(t,n){let r=t.parentNode||t.parentId;if(!r)return!1;let o=n.get(r);return!!o&&(!!o.selected||e(o,n))}(e,n))&&(e.draggable||l&&void 0===e.draggable)).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:g.x-(e.positionAbsolute?.x??0),y:g.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode||e.parentId,parentId:e.parentNode||e.parentId,width:e.width,height:e.height,expandParent:e.expandParent})),p&&d.current){let[e,r]=r5({nodeId:o,dragItems:d.current,nodeInternals:n});p(t.sourceEvent,e,r)}};if(t)l.on(".drag",null);else{let t=(function(){var e,t,n,r,o=t4,i=t6,a=t8,l=t9,s={},u=A("start","drag","end"),c=0,d=0;function f(e){e.on("mousedown.drag",h).filter(l).on("touchstart.drag",m).on("touchmove.drag",y,eb).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(a,l){if(!r&&o.call(this,a,l)){var s=x(this,i.call(this,a,l),a,l,"mouse");s&&(ex(a.view).on("mousemove.drag",p,ew).on("mouseup.drag",g,ew),eE(a.view),e_(a),n=!1,e=a.clientX,t=a.clientY,s("start",a))}}function p(r){if(eS(r),!n){var o=r.clientX-e,i=r.clientY-t;n=o*o+i*i>d}s.mouse("drag",r)}function g(e){ex(e.view).on("mousemove.drag mouseup.drag",null),eM(e.view,n),eS(e),s.mouse("end",e)}function m(e,t){if(o.call(this,e,t)){var n,r,a=e.changedTouches,l=i.call(this,e,t),s=a.length;for(n=0;n<s;++n)(r=x(this,l,e,t,a[n].identifier,a[n]))&&(e_(e),r("start",e,a[n]))}}function y(e){var t,n,r=e.changedTouches,o=r.length;for(t=0;t<o;++t)(n=s[r[t].identifier])&&(eS(e),n("drag",e,r[t]))}function v(e){var t,n,o=e.changedTouches,i=o.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<i;++t)(n=s[o[t].identifier])&&(e_(e),n("end",e,o[t]))}function x(e,t,n,r,o,i){var l,d,h,p=u.copy(),g=eC(i||n,t);if(null!=(h=a.call(e,new t5("beforestart",{sourceEvent:n,target:f,identifier:o,active:c,x:g[0],y:g[1],dx:0,dy:0,dispatch:p}),r)))return l=h.x-g[0]||0,d=h.y-g[1]||0,function n(i,a,u){var m,y=g;switch(i){case"start":s[o]=n,m=c++;break;case"end":delete s[o],--c;case"drag":g=eC(u||a,t),m=c}p.call(i,e,new t5(i,{sourceEvent:a,subject:h,target:f,identifier:o,active:m,x:g[0]+l,y:g[1]+d,dx:g[0]-y[0],dy:g[1]-y[1],dispatch:p}),r)}}return f.filter=function(e){return arguments.length?(o="function"==typeof e?e:t3(!!e),f):o},f.container=function(e){return arguments.length?(i="function"==typeof e?e:t3(e),f):i},f.subject=function(e){return arguments.length?(a="function"==typeof e?e:t3(e),f):a},f.touchable=function(e){return arguments.length?(l="function"==typeof e?e:t3(!!e),f):l},f.on=function(){var e=u.on.apply(u,arguments);return e===u?f:e},f.clickDistance=function(e){return arguments.length?(d=(e*=1)*e,f):Math.sqrt(d)},f})().on("start",e=>{let{domNode:t,nodeDragThreshold:n}=s.getState();0===n&&_(e),b.current=!1,f.current=w(e),p.current=t?.getBoundingClientRect()||null,g.current=nE(e.sourceEvent,p.current)}).on("drag",e=>{let t=w(e),{autoPanOnNodeDrag:n,nodeDragThreshold:r}=s.getState();if("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1&&(b.current=!0),!b.current){if(!v.current&&x.current&&n&&(v.current=!0,y()),!x.current){let n=t.xSnapped-(f?.current?.x??0),o=t.ySnapped-(f?.current?.y??0);Math.sqrt(n*n+o*o)>r&&_(e)}(f.current.x!==t.xSnapped||f.current.y!==t.ySnapped)&&d.current&&x.current&&(m.current=e.sourceEvent,g.current=nE(e.sourceEvent,p.current),u(t))}}).on("end",e=>{if(x.current&&!b.current&&(c(!1),v.current=!1,x.current=!1,cancelAnimationFrame(h.current),d.current)){let{updateNodePositions:t,nodeInternals:n,onNodeDragStop:r,onSelectionDragStop:i}=s.getState(),a=o?r:r9(i);if(t(d.current,!1,!1),a){let[t,r]=r5({nodeId:o,dragItems:d.current,nodeInternals:n});a(e.sourceEvent,t,r)}}}).filter(t=>{let o=t.target;return!t.button&&(!n||!r2(o,`.${n}`,e))&&(!r||r2(o,r,e))});return l.call(t),()=>{l.on(".drag",null)}}}},[e,t,n,r,i,s,o,a,w]),u}function oe(){let e=nr();return(0,y.useCallback)(t=>{let{nodeInternals:n,nodeExtent:r,updateNodePositions:o,getNodes:i,snapToGrid:a,snapGrid:l,onError:s,nodesDraggable:u}=e.getState(),c=i().filter(e=>e.selected&&(e.draggable||u&&void 0===e.draggable)),d=a?l[0]:5,f=a?l[1]:5,h=t.isShiftPressed?4:1,p=t.x*d*h,g=t.y*f*h;o(c.map(e=>{if(e.positionAbsolute){let t={x:e.positionAbsolute.x+p,y:e.positionAbsolute.y+g};a&&(t.x=l[0]*Math.round(t.x/l[0]),t.y=l[1]*Math.round(t.y/l[1]));let{positionAbsolute:o,position:i}=r3(e,t,n,r,void 0,s);e.position=i,e.positionAbsolute=o}return e}),!0,!1)},[])}let ot={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var on=e=>{let t=({id:t,type:n,data:r,xPos:o,yPos:i,xPosOrigin:a,yPosOrigin:l,selected:s,onClick:u,onMouseEnter:c,onMouseMove:d,onMouseLeave:f,onContextMenu:h,onDoubleClick:p,style:g,className:m,isDraggable:x,isSelectable:b,isConnectable:w,isFocusable:_,selectNodesOnDrag:S,sourcePosition:E,targetPosition:M,hidden:k,resizeObserver:N,dragHandle:C,zIndex:A,isParent:$,noDragClassName:z,noPanClassName:P,initialized:R,disableKeyboardA11y:O,ariaLabel:I,rfId:D,hasHandleBounds:T})=>{let B=nr(),H=(0,y.useRef)(null),L=(0,y.useRef)(null),j=(0,y.useRef)(E),V=(0,y.useRef)(M),X=(0,y.useRef)(n),Y=b||x||u||c||d||f,F=oe(),W=r6(t,B.getState,c),K=r6(t,B.getState,d),q=r6(t,B.getState,f),Z=r6(t,B.getState,h),U=r6(t,B.getState,p);(0,y.useEffect)(()=>()=>{L.current&&(N?.unobserve(L.current),L.current=null)},[]),(0,y.useEffect)(()=>{if(H.current&&!k){let e=H.current;R&&T&&L.current===e||(L.current&&N?.unobserve(L.current),N?.observe(e),L.current=e)}},[k,R,T]),(0,y.useEffect)(()=>{let e=X.current!==n,r=j.current!==E,o=V.current!==M;H.current&&(e||r||o)&&(e&&(X.current=n),r&&(j.current=E),o&&(V.current=M),B.getState().updateNodeDimensions([{id:t,nodeElement:H.current,forceUpdate:!0}]))},[t,n,E,M]);let G=r7({nodeRef:H,disabled:k||!x,noDragClassName:z,handleSelector:C,nodeId:t,isSelectable:b,selectNodesOnDrag:S});return k?null:y.default.createElement("div",{className:v(["react-flow__node",`react-flow__node-${n}`,{[P]:x},m,{selected:s,selectable:b,parent:$,dragging:G}]),ref:H,style:{zIndex:A,transform:`translate(${a}px,${l}px)`,pointerEvents:Y?"all":"none",visibility:R?"visible":"hidden",...g},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:W,onMouseMove:K,onMouseLeave:q,onContextMenu:Z,onClick:e=>{let{nodeDragThreshold:n}=B.getState();if(b&&(!S||!x||n>0)&&r8({id:t,store:B,nodeRef:H}),u){let n=B.getState().nodeInternals.get(t);n&&u(e,{...n})}},onDoubleClick:U,onKeyDown:_?e=>{nS(e)||!O&&(nw.includes(e.key)&&b?r8({id:t,store:B,unselect:"Escape"===e.key,nodeRef:H}):x&&s&&Object.prototype.hasOwnProperty.call(ot,e.key)&&(B.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~i}`}),F({x:ot[e.key].x,y:ot[e.key].y,isShiftPressed:e.shiftKey})))}:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":O?void 0:`${r_}-${D}`,"aria-label":I},y.default.createElement(nF,{value:t},y.default.createElement(e,{id:t,data:r,type:n,xPos:o,yPos:i,selected:s,isConnectable:w,sourcePosition:E,targetPosition:M,dragging:G,dragHandle:C,zIndex:A})))};return t.displayName="NodeWrapper",(0,y.memo)(t)};let or=e=>({...nG(e.getNodes().filter(e=>e.selected),e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive});var oo=(0,y.memo)(function({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=nr(),{width:o,height:i,x:a,y:l,transformString:s,userSelectionActive:u}=nn(or,N),c=oe(),d=(0,y.useRef)(null);if((0,y.useEffect)(()=>{n||d.current?.focus({preventScroll:!0})},[n]),r7({nodeRef:d}),u||!o||!i)return null;let f=e?t=>{e(t,r.getState().getNodes().filter(e=>e.selected))}:void 0;return y.default.createElement("div",{className:v(["react-flow__nodesselection","react-flow__container",t]),style:{transform:s}},y.default.createElement("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(ot,e.key)&&c({x:ot[e.key].x,y:ot[e.key].y,isShiftPressed:e.shiftKey})},style:{width:o,height:i,top:l,left:a}}))});let oi=e=>e.nodesSelectionActive,oa=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:a,deleteKeyCode:l,onMove:s,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:m,panActivationKeyCode:v,zoomActivationKeyCode:x,elementsSelectable:b,zoomOnScroll:w,zoomOnPinch:_,panOnScroll:S,panOnScrollSpeed:E,panOnScrollMode:M,zoomOnDoubleClick:k,panOnDrag:N,defaultViewport:C,translateExtent:A,minZoom:$,maxZoom:z,preventScrolling:P,onSelectionContextMenu:R,noWheelClassName:O,noPanClassName:I,disableKeyboardA11y:D})=>{let T=nn(oi),B=rN(d),H=rN(v),L=H||N,j=H||S,V=B||f&&!0!==L;return(({deleteKeyCode:e,multiSelectionKeyCode:t})=>{let n=nr(),{deleteElements:r}=rT(),o=rN(e,rB),i=rN(t);(0,y.useEffect)(()=>{if(o){let{edges:e,getNodes:t}=n.getState();r({nodes:t().filter(e=>e.selected),edges:e.filter(e=>e.selected)}),n.setState({nodesSelectionActive:!1})}},[o]),(0,y.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])})({deleteKeyCode:l,multiSelectionKeyCode:m}),y.default.createElement(rF,{onMove:s,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:i,elementsSelectable:b,zoomOnScroll:w,zoomOnPinch:_,panOnScroll:j,panOnScrollSpeed:E,panOnScrollMode:M,zoomOnDoubleClick:k,panOnDrag:!B&&L,defaultViewport:C,translateExtent:A,minZoom:$,maxZoom:z,zoomActivationKeyCode:x,preventScrolling:P,noWheelClassName:O,noPanClassName:I},y.default.createElement(r1,{onSelectionStart:p,onSelectionEnd:g,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:a,panOnDrag:L,isSelecting:!!V,selectionMode:h},e,T&&y.default.createElement(oo,{onSelectionContextMenu:R,noPanClassName:I,disableKeyboardA11y:D})))};oa.displayName="FlowRenderer";var ol=(0,y.memo)(oa);function os(e){let t={input:on(e.input||ra),default:on(e.default||ro),output:on(e.output||rs),group:on(e.group||ru)},n=Object.keys(e).filter(e=>!["input","default","output","group"].includes(e)).reduce((t,n)=>(t[n]=on(e[n]||ro),t),{});return{...t,...n}}let ou=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),oc=e=>{var t;let{nodesDraggable:n,nodesConnectable:r,nodesFocusable:o,elementsSelectable:i,updateNodeDimensions:a,onError:l}=nn(ou,N),s=(t=e.onlyRenderVisibleElements,nn((0,y.useCallback)(e=>t?nQ(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))),u=(0,y.useRef)(),c=(0,y.useMemo)(()=>{if("u"<typeof ResizeObserver)return null;let e=new ResizeObserver(e=>{a(e.map(e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0})))});return u.current=e,e},[]);return(0,y.useEffect)(()=>()=>{u?.current?.disconnect()},[]),y.default.createElement("div",{className:"react-flow__nodes",style:rH},s.map(t=>{let a,s=t.type||"default";e.nodeTypes[s]||(l?.("003",(a=s,`Node type "${a}" not found. Using fallback type "default".`)),s="default");let u=e.nodeTypes[s]||e.nodeTypes.default,d=!!(t.draggable||n&&void 0===t.draggable),f=!!(t.selectable||i&&void 0===t.selectable),h=!!(t.connectable||r&&void 0===t.connectable),g=!!(t.focusable||o&&void 0===t.focusable),m=e.nodeExtent?nc(t.positionAbsolute,e.nodeExtent):t.positionAbsolute,v=m?.x??0,x=m?.y??0,b=(({x:e,y:t,width:n,height:r,origin:o})=>!n||!r||o[0]<0||o[1]<0||o[0]>1||o[1]>1?{x:e,y:t}:{x:e-n*o[0],y:t-r*o[1]})({x:v,y:x,width:t.width??0,height:t.height??0,origin:e.nodeOrigin});return y.default.createElement(u,{key:t.id,id:t.id,className:t.className,style:t.style,type:s,data:t.data,sourcePosition:t.sourcePosition||p.Bottom,targetPosition:t.targetPosition||p.Top,hidden:t.hidden,xPos:v,yPos:x,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!t.selected,isDraggable:d,isSelectable:f,isConnectable:h,isFocusable:g,resizeObserver:c,dragHandle:t.dragHandle,zIndex:t[nb]?.z??0,isParent:!!t[nb]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!t.width&&!!t.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:t.ariaLabel,hasHandleBounds:!!t[nb]?.handleBounds})}))};oc.displayName="NodeRenderer";var od=(0,y.memo)(oc);let of="react-flow__edgeupdater",oh=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:o,onMouseEnter:i,onMouseOut:a,type:l})=>y.default.createElement("circle",{onMouseDown:o,onMouseEnter:i,onMouseOut:a,className:v([of,`${of}-${l}`]),cx:e===p.Left?t-r:e===p.Right?t+r:t,cy:e===p.Top?n-r:e===p.Bottom?n+r:n,r:r,stroke:"transparent",fill:"transparent"}),op=()=>!0;var og=e=>{let t=({id:t,className:n,type:r,data:o,onClick:i,onEdgeDoubleClick:a,selected:l,animated:s,label:u,labelStyle:c,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,style:g,source:m,target:x,sourceX:b,sourceY:w,targetX:_,targetY:S,sourcePosition:E,targetPosition:M,elementsSelectable:k,hidden:N,sourceHandleId:C,targetHandleId:A,onContextMenu:$,onMouseEnter:z,onMouseMove:P,onMouseLeave:R,reconnectRadius:O,onReconnect:I,onReconnectStart:D,onReconnectEnd:T,markerEnd:B,markerStart:H,rfId:L,ariaLabel:j,isFocusable:V,isReconnectable:X,pathOptions:Y,interactionWidth:F,disableKeyboardA11y:W})=>{let K=(0,y.useRef)(null),[q,Z]=(0,y.useState)(!1),[U,G]=(0,y.useState)(!1),Q=nr(),J=(0,y.useMemo)(()=>`url('#${nW(H,L)}')`,[H,L]),ee=(0,y.useMemo)(()=>`url('#${nW(B,L)}')`,[B,L]);if(N)return null;let et=nN(t,Q.getState,a),en=nN(t,Q.getState,$),er=nN(t,Q.getState,z),eo=nN(t,Q.getState,P),ei=nN(t,Q.getState,R),ea=(e,n)=>{if(0!==e.button)return;let{edges:r,isValidConnection:o}=Q.getState(),i=n?x:m,a=(n?A:C)||null,l=n?"target":"source",s=r.find(e=>e.id===t);G(!0),D?.(e,s,l),n9({event:e,handleId:a,nodeId:i,onConnect:e=>I?.(s,e),isTarget:n,getState:Q.getState,setState:Q.setState,isValidConnection:o||op,edgeUpdaterType:l,onReconnectEnd:e=>{G(!1),T?.(e,s,l)}})},el=()=>Z(!0),es=()=>Z(!1);return y.default.createElement("g",{className:v(["react-flow__edge",`react-flow__edge-${r}`,n,{selected:l,animated:s,inactive:!k&&!i,updating:q}]),onClick:e=>{let{edges:n,addSelectedEdges:r,unselectNodesAndEdges:o,multiSelectionActive:a}=Q.getState(),l=n.find(e=>e.id===t);l&&(k&&(Q.setState({nodesSelectionActive:!1}),l.selected&&a?(o({nodes:[],edges:[l]}),K.current?.blur()):r([t])),i&&i(e,l))},onDoubleClick:et,onContextMenu:en,onMouseEnter:er,onMouseMove:eo,onMouseLeave:ei,onKeyDown:V?e=>{if(!W&&nw.includes(e.key)&&k){let{unselectNodesAndEdges:n,addSelectedEdges:r,edges:o}=Q.getState();"Escape"===e.key?(K.current?.blur(),n({edges:[o.find(e=>e.id===t)]})):r([t])}}:void 0,tabIndex:V?0:void 0,role:V?"button":"img","data-testid":`rf__edge-${t}`,"aria-label":null===j?void 0:j||`Edge from ${m} to ${x}`,"aria-describedby":V?`${rS}-${L}`:void 0,ref:K},!U&&y.default.createElement(e,{id:t,source:m,target:x,selected:l,animated:s,label:u,labelStyle:c,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:p,data:o,style:g,sourceX:b,sourceY:w,targetX:_,targetY:S,sourcePosition:E,targetPosition:M,sourceHandleId:C,targetHandleId:A,markerStart:J,markerEnd:ee,pathOptions:Y,interactionWidth:F}),X&&y.default.createElement(y.default.Fragment,null,("source"===X||!0===X)&&y.default.createElement(oh,{position:E,centerX:b,centerY:w,radius:O,onMouseDown:e=>ea(e,!0),onMouseEnter:el,onMouseOut:es,type:"source"}),("target"===X||!0===X)&&y.default.createElement(oh,{position:M,centerX:_,centerY:S,radius:O,onMouseDown:e=>ea(e,!1),onMouseEnter:el,onMouseOut:es,type:"target"})))};return t.displayName="EdgeWrapper",(0,y.memo)(t)};function om(e){let t={default:og(e.default||nX),straight:og(e.bezier||nH),step:og(e.step||nB),smoothstep:og(e.step||nT),simplebezier:og(e.simplebezier||nP)},n=Object.keys(e).filter(e=>!["default","bezier"].includes(e)).reduce((t,n)=>(t[n]=og(e[n]||nX),t),{});return{...t,...n}}function oy(e,t,n=null){let r=(n?.x||0)+t.x,o=(n?.y||0)+t.y,i=n?.width||t.width,a=n?.height||t.height;switch(e){case p.Top:return{x:r+i/2,y:o};case p.Right:return{x:r+i,y:o+a/2};case p.Bottom:return{x:r+i/2,y:o+a};case p.Left:return{x:r,y:o+a/2}}}function ov(e,t){return e?1!==e.length&&t?t&&e.find(e=>e.id===t)||null:e[0]:null}function ox(e){let t=e?.[nb]?.handleBounds||null,n=t&&e?.width&&e?.height&&void 0!==e?.positionAbsolute?.x&&void 0!==e?.positionAbsolute?.y;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!n]}let ob=[{level:0,isMaxLevel:!0,edges:[]}],ow={[h.Arrow]:({color:e="none",strokeWidth:t=1})=>y.default.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[h.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>y.default.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},o_=({id:e,type:t,color:n,width:r=12.5,height:o=12.5,markerUnits:i="strokeWidth",strokeWidth:a,orient:l="auto-start-reverse"})=>{let s,u=(s=nr(),(0,y.useMemo)(()=>{let e;return Object.prototype.hasOwnProperty.call(ow,t)?ow[t]:(s.getState().onError?.("009",(e=t,`Marker type "${e}" doesn't exist.`)),null)},[t]));return u?y.default.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:l,refX:"0",refY:"0"},y.default.createElement(u,{color:n,strokeWidth:a})):null},oS=({defaultColor:e,rfId:t})=>{let n=nn((0,y.useCallback)((({defaultColor:e,rfId:t})=>n=>{let r=[];return n.edges.reduce((n,o)=>([o.markerStart,o.markerEnd].forEach(o=>{if(o&&"object"==typeof o){let i=nW(o,t);r.includes(i)||(n.push({id:i,color:o.color||e,...o}),r.push(i))}}),n),[]).sort((e,t)=>e.id.localeCompare(t.id))})({defaultColor:e,rfId:t}),[e,t]),(e,t)=>!(e.length!==t.length||e.some((e,n)=>e.id!==t[n].id)));return y.default.createElement("defs",null,n.map(e=>y.default.createElement(o_,{id:e.id,key:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient})))};oS.displayName="MarkerDefinitions";var oE=(0,y.memo)(oS);let oM=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),ok=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:o,noPanClassName:i,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:d,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:g,onReconnectEnd:m,reconnectRadius:x,children:b,disableKeyboardA11y:w})=>{let{edgesFocusable:_,edgesUpdatable:S,elementsSelectable:E,width:M,height:k,connectionMode:C,nodeInternals:A,onError:$}=nn(oM,N),z=function(e,t,n=!1){let r=-1,o=Object.entries(e.reduce((e,o)=>{let i=nx(o.zIndex),a=i?o.zIndex:0;if(n){let e=t.get(o.target),n=t.get(o.source),r=o.selected||e?.selected||n?.selected,l=Math.max(n?.[nb]?.z||0,e?.[nb]?.z||0,1e3);a=(i?o.zIndex:0)+(r?l:0)}return e[a]?e[a].push(o):e[a]=[o],r=a>r?a:r,e},{})).map(([e,t])=>{let n=+e;return{edges:t,level:n,isMaxLevel:n===r}});return 0===o.length?ob:o}(nn((0,y.useCallback)(e=>t?e.edges.filter(t=>{let n=A.get(t.source),r=A.get(t.target);return n?.width&&n?.height&&r?.width&&r?.height&&function({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:o,targetHeight:i,width:a,height:l,transform:s}){let u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+o),y2:Math.max(e.y+r,t.y+i)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);let c=ng({x:(0-s[0])/s[2],y:(0-s[1])/s[2],width:a/s[2],height:l/s[2]});return Math.ceil(Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x))*Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y)))>0}({sourcePos:n.positionAbsolute||{x:0,y:0},targetPos:r.positionAbsolute||{x:0,y:0},sourceWidth:n.width,sourceHeight:n.height,targetWidth:r.width,targetHeight:r.height,width:e.width,height:e.height,transform:e.transform})}):e.edges,[t,A])),A,n);return M?y.default.createElement(y.default.Fragment,null,z.map(({level:t,edges:n,isMaxLevel:b})=>y.default.createElement("svg",{key:t,style:{zIndex:t},width:M,height:k,className:"react-flow__edges react-flow__container"},b&&y.default.createElement(oE,{defaultColor:e,rfId:r}),y.default.createElement("g",null,n.map(e=>{let t,n,b,[M,k,N]=ox(A.get(e.source)),[z,P,R]=ox(A.get(e.target));if(!N||!R)return null;let O=e.type||"default";o[O]||($?.("011",(t=O,`Edge type "${t}" not found. Using fallback type "default".`)),O="default");let I=o[O]||o.default,D=C===u.Strict?P.target:(P.target??[]).concat(P.source??[]),T=ov(k.source,e.sourceHandle),B=ov(D,e.targetHandle),H=T?.position||p.Bottom,L=B?.position||p.Top,j=!!(e.focusable||_&&void 0===e.focusable),V=e.reconnectable||e.updatable;if(!T||!B){let t,n;return $?.("008",(t=T,n=e,`Couldn't create edge for ${!t?"source":"target"} handle id: "${!t?n.sourceHandle:n.targetHandle}", edge id: ${n.id}.`)),null}let{sourceX:X,sourceY:Y,targetX:F,targetY:W}=(n=oy(H,M,T),b=oy(L,z,B),{sourceX:n.x,sourceY:n.y,targetX:b.x,targetY:b.y});return y.default.createElement(I,{key:e.id,id:e.id,className:v([e.className,i]),type:O,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:X,sourceY:Y,targetX:F,targetY:W,sourcePosition:H,targetPosition:L,elementsSelectable:E,onContextMenu:a,onMouseEnter:l,onMouseMove:s,onMouseLeave:c,onClick:d,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:g,onReconnectEnd:m,reconnectRadius:x,rfId:r,ariaLabel:e.ariaLabel,isFocusable:j,isReconnectable:void 0!==h&&(V||S&&void 0===V),pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth,disableKeyboardA11y:w})})))),b):null};ok.displayName="EdgeRenderer";var oN=(0,y.memo)(ok);let oC=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function oA({children:e}){let t=nn(oC);return y.default.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}let o$={[p.Left]:p.Right,[p.Right]:p.Left,[p.Top]:p.Bottom,[p.Bottom]:p.Top},oz=({nodeId:e,handleType:t,style:n,type:r=f.Bezier,CustomComponent:o,connectionStatus:i})=>{let{fromNode:a,handleId:l,toX:s,toY:c,connectionMode:d}=nn((0,y.useCallback)(t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode}),[e]),N),h=a?.[nb]?.handleBounds,p=h?.[t];if(d===u.Loose&&(p=p||h?.["source"===t?"target":"source"]),!a||!p)return null;let g=l?p.find(e=>e.id===l):p[0],m=g?g.x+g.width/2:(a.width??0)/2,v=g?g.y+g.height/2:a.height??0,x=(a.positionAbsolute?.x??0)+m,b=(a.positionAbsolute?.y??0)+v,w=g?.position,_=w?o$[w]:null;if(!w||!_)return null;if(o)return y.default.createElement(o,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:g,fromX:x,fromY:b,toX:s,toY:c,fromPosition:w,toPosition:_,connectionStatus:i});let S="",E={sourceX:x,sourceY:b,sourcePosition:w,targetX:s,targetY:c,targetPosition:_};return r===f.Bezier?[S]=nV(E):r===f.Step?[S]=nD({...E,borderRadius:0}):r===f.SmoothStep?[S]=nD(E):r===f.SimpleBezier?[S]=nz(E):S=`M${x},${b} ${s},${c}`,y.default.createElement("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};oz.displayName="ConnectionLine";let oP=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function oR({containerStyle:e,style:t,type:n,component:r}){let{nodeId:o,handleType:i,nodesConnectable:a,width:l,height:s,connectionStatus:u}=nn(oP,N);return o&&i&&l&&a?y.default.createElement("svg",{style:e,width:l,height:s,className:"react-flow__edges react-flow__connectionline react-flow__container"},y.default.createElement("g",{className:v(["react-flow__connection",u])},y.default.createElement(oz,{nodeId:o,handleType:i,style:t,type:n,CustomComponent:r,connectionStatus:u}))):null}function oO(e,t){return(0,y.useRef)(null),nr(),(0,y.useMemo)(()=>t(e),[e])}let oI=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:o,onInit:i,onNodeClick:a,onEdgeClick:l,onNodeDoubleClick:s,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:g,onSelectionEnd:m,connectionLineType:v,connectionLineStyle:x,connectionLineComponent:b,connectionLineContainerStyle:w,selectionKeyCode:_,selectionOnDrag:S,selectionMode:E,multiSelectionKeyCode:M,panActivationKeyCode:k,zoomActivationKeyCode:N,deleteKeyCode:C,onlyRenderVisibleElements:A,elementsSelectable:$,selectNodesOnDrag:z,defaultViewport:P,translateExtent:R,minZoom:O,maxZoom:I,preventScrolling:D,defaultMarkerColor:T,zoomOnScroll:B,zoomOnPinch:H,panOnScroll:L,panOnScrollSpeed:j,panOnScrollMode:V,zoomOnDoubleClick:X,panOnDrag:Y,onPaneClick:F,onPaneMouseEnter:W,onPaneMouseMove:K,onPaneMouseLeave:q,onPaneScroll:Z,onPaneContextMenu:U,onEdgeContextMenu:G,onEdgeMouseEnter:Q,onEdgeMouseMove:J,onEdgeMouseLeave:ee,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,reconnectRadius:eo,noDragClassName:ei,noWheelClassName:ea,noPanClassName:el,elevateEdgesOnSelect:es,disableKeyboardA11y:eu,nodeOrigin:ec,nodeExtent:ed,rfId:ef})=>{let eh,ep,eg=oO(e,os),em=oO(t,om);return eh=rT(),ep=(0,y.useRef)(!1),(0,y.useEffect)(()=>{!ep.current&&eh.viewportInitialized&&i&&(setTimeout(()=>i(eh),1),ep.current=!0)},[i,eh.viewportInitialized]),y.default.createElement(ol,{onPaneClick:F,onPaneMouseEnter:W,onPaneMouseMove:K,onPaneMouseLeave:q,onPaneContextMenu:U,onPaneScroll:Z,deleteKeyCode:C,selectionKeyCode:_,selectionOnDrag:S,selectionMode:E,onSelectionStart:g,onSelectionEnd:m,multiSelectionKeyCode:M,panActivationKeyCode:k,zoomActivationKeyCode:N,elementsSelectable:$,onMove:n,onMoveStart:r,onMoveEnd:o,zoomOnScroll:B,zoomOnPinch:H,zoomOnDoubleClick:X,panOnScroll:L,panOnScrollSpeed:j,panOnScrollMode:V,panOnDrag:Y,defaultViewport:P,translateExtent:R,minZoom:O,maxZoom:I,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:ei,noWheelClassName:ea,noPanClassName:el,disableKeyboardA11y:eu},y.default.createElement(oA,null,y.default.createElement(oN,{edgeTypes:em,onEdgeClick:l,onEdgeDoubleClick:u,onlyRenderVisibleElements:A,onEdgeContextMenu:G,onEdgeMouseEnter:Q,onEdgeMouseMove:J,onEdgeMouseLeave:ee,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,reconnectRadius:eo,defaultMarkerColor:T,noPanClassName:el,elevateEdgesOnSelect:!!es,disableKeyboardA11y:eu,rfId:ef},y.default.createElement(oR,{style:x,type:v,component:b,containerStyle:w})),y.default.createElement("div",{className:"react-flow__edgelabel-renderer"}),y.default.createElement(od,{nodeTypes:eg,onNodeClick:a,onNodeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:z,onlyRenderVisibleElements:A,noPanClassName:el,noDragClassName:ei,disableKeyboardA11y:eu,nodeOrigin:ec,nodeExtent:ed,rfId:ef})))};oI.displayName="GraphView";var oD=(0,y.memo)(oI);let oT=[[-1/0,-1/0],[1/0,1/0]],oB={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:oT,nodeExtent:oT,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:u.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:n_,isValidConnection:void 0},oH=({children:e})=>{let t,n,r=(0,y.useRef)(null);return r.current||(t=(e,t)=>({...oB,setNodes:n=>{let{nodeInternals:r,nodeOrigin:o,elevateNodesOnSelect:i}=t();e({nodeInternals:rz(n,r,o,i)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:r={}}=t();e({edges:n.map(e=>({...r,...e}))})},setDefaultNodesAndEdges:(n,r)=>{let o=void 0!==n,i=void 0!==r;e({nodeInternals:o?rz(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map,edges:i?r:[],hasDefaultNodes:o,hasDefaultEdges:i})},updateNodeDimensions:n=>{let{onNodesChange:r,nodeInternals:o,fitViewOnInit:i,fitViewOnInitDone:a,fitViewOnInitOptions:l,domNode:s,nodeOrigin:u}=t(),c=s?.querySelector(".react-flow__viewport");if(!c)return;let d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((e,t)=>{let n=o.get(t.id);if(n?.hidden)o.set(n.id,{...n,[nb]:{...n[nb],handleBounds:void 0}});else if(n){let r=ns(t.nodeElement);r.width&&r.height&&(n.width!==r.width||n.height!==r.height||t.forceUpdate)&&(o.set(n.id,{...n,[nb]:{...n[nb],handleBounds:{source:r4(".source",t.nodeElement,f,u),target:r4(".target",t.nodeElement,f,u)}},...r}),e.push({id:n.id,type:"dimensions",dimensions:r}))}return e},[]);r$(o,u);let p=a||i&&!a&&rP(t,{initial:!0,...l});e({nodeInternals:new Map(o),fitViewOnInitDone:p}),h?.length>0&&r?.(h)},updateNodePositions:(e,n=!0,r=!1)=>{let{triggerNodeChanges:o}=t();o(e.map(e=>{let t={id:e.id,type:"position",dragging:r};return n&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t}))},triggerNodeChanges:n=>{let{onNodesChange:r,nodeInternals:o,hasDefaultNodes:i,nodeOrigin:a,getNodes:l,elevateNodesOnSelect:s}=t();n?.length&&(i&&e({nodeInternals:rz(rU(n,l()),o,a,s)}),r?.(n))},addSelectedNodes:n=>{let r,{multiSelectionActive:o,edges:i,getNodes:a}=t(),l=null;o?r=n.map(e=>rG(e,!0)):(r=rQ(a(),n),l=rQ(i,[])),rR({changedNodes:r,changedEdges:l,get:t,set:e})},addSelectedEdges:n=>{let r,{multiSelectionActive:o,edges:i,getNodes:a}=t(),l=null;o?r=n.map(e=>rG(e,!0)):(r=rQ(i,n),l=rQ(a(),[])),rR({changedNodes:l,changedEdges:r,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{let{edges:o,getNodes:i}=t();rR({changedNodes:(n||i()).map(e=>(e.selected=!1,rG(e.id,!1))),changedEdges:(r||o).map(e=>rG(e.id,!1)),get:t,set:e})},setMinZoom:n=>{let{d3Zoom:r,maxZoom:o}=t();r?.scaleExtent([n,o]),e({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:r,minZoom:o}=t();r?.scaleExtent([o,n]),e({maxZoom:n})},setTranslateExtent:n=>{t().d3Zoom?.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:r}=t();rR({changedNodes:r().filter(e=>e.selected).map(e=>rG(e.id,!1)),changedEdges:n.filter(e=>e.selected).map(e=>rG(e.id,!1)),get:t,set:e})},setNodeExtent:n=>{let{nodeInternals:r}=t();r.forEach(e=>{e.positionAbsolute=nc(e.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:e=>{let{transform:n,width:r,height:o,d3Zoom:i,d3Selection:a,translateExtent:l}=t();if(!i||!a||!e.x&&!e.y)return!1;let s=tK.translate(n[0]+e.x,n[1]+e.y).scale(n[2]),u=i?.constrain()(s,[[0,0],[r,o]],l);return i.transform(a,u),n[0]!==u.x||n[1]!==u.y||n[2]!==u.k},cancelConnection:()=>e({connectionNodeId:oB.connectionNodeId,connectionHandleId:oB.connectionHandleId,connectionHandleType:oB.connectionHandleType,connectionStatus:oB.connectionStatus,connectionStartHandle:oB.connectionStartHandle,connectionEndHandle:oB.connectionEndHandle}),reset:()=>e({...oB})}),n=Object.is,r.current=t?k(t,n):k),y.default.createElement(ne,{value:r.current},e)};oH.displayName="ReactFlowProvider";let oL=({children:e})=>(0,y.useContext)(t7)?y.default.createElement(y.default.Fragment,null,e):y.default.createElement(oH,null,e);oL.displayName="ReactFlowWrapper";let oj={input:ra,default:ro,output:rs,group:ru},oV={default:nX,straight:nH,step:nB,smoothstep:nT,simplebezier:nP},oX=[0,0],oY=[15,15],oF={x:0,y:0,zoom:1},oW={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},oK=(0,y.forwardRef)(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:o,nodeTypes:i=oj,edgeTypes:a=oV,onNodeClick:l,onEdgeClick:s,onInit:h,onMove:p,onMoveStart:g,onMoveEnd:m,onConnect:x,onConnectStart:b,onConnectEnd:w,onClickConnectStart:_,onClickConnectEnd:S,onNodeMouseEnter:E,onNodeMouseMove:M,onNodeMouseLeave:k,onNodeContextMenu:N,onNodeDoubleClick:C,onNodeDragStart:A,onNodeDrag:$,onNodeDragStop:z,onNodesDelete:P,onEdgesDelete:R,onSelectionChange:O,onSelectionDragStart:I,onSelectionDrag:D,onSelectionDragStop:T,onSelectionContextMenu:B,onSelectionStart:H,onSelectionEnd:L,connectionMode:j=u.Strict,connectionLineType:V=f.Bezier,connectionLineStyle:X,connectionLineComponent:Y,connectionLineContainerStyle:F,deleteKeyCode:W="Backspace",selectionKeyCode:K="Shift",selectionOnDrag:q=!1,selectionMode:Z=d.Full,panActivationKeyCode:U="Space",multiSelectionKeyCode:G=nM()?"Meta":"Control",zoomActivationKeyCode:Q=nM()?"Meta":"Control",snapToGrid:J=!1,snapGrid:ee=oY,onlyRenderVisibleElements:et=!1,selectNodesOnDrag:en=!0,nodesDraggable:er,nodesConnectable:eo,nodesFocusable:ei,nodeOrigin:ea=oX,edgesFocusable:el,edgesUpdatable:es,elementsSelectable:eu,defaultViewport:ec=oF,minZoom:ed=.5,maxZoom:ef=2,translateExtent:eh=oT,preventScrolling:ep=!0,nodeExtent:eg,defaultMarkerColor:em="#b1b1b7",zoomOnScroll:ey=!0,zoomOnPinch:ev=!0,panOnScroll:ex=!1,panOnScrollSpeed:eb=.5,panOnScrollMode:ew=c.Free,zoomOnDoubleClick:e_=!0,panOnDrag:eS=!0,onPaneClick:eE,onPaneMouseEnter:eM,onPaneMouseMove:ek,onPaneMouseLeave:eN,onPaneScroll:eC,onPaneContextMenu:eA,children:e$,onEdgeContextMenu:ez,onEdgeDoubleClick:eP,onEdgeMouseEnter:eR,onEdgeMouseMove:eO,onEdgeMouseLeave:eI,onEdgeUpdate:eD,onEdgeUpdateStart:eT,onEdgeUpdateEnd:eB,onReconnect:eH,onReconnectStart:eL,onReconnectEnd:ej,reconnectRadius:eV=10,edgeUpdaterRadius:eX=10,onNodesChange:eY,onEdgesChange:eF,noDragClassName:eW="nodrag",noWheelClassName:eK="nowheel",noPanClassName:eq="nopan",fitView:eZ=!1,fitViewOptions:eU,connectOnClick:eG=!0,attributionPosition:eQ,proOptions:eJ,defaultEdgeOptions:e0,elevateNodesOnSelect:e1=!0,elevateEdgesOnSelect:e2=!1,disableKeyboardA11y:e3=!1,autoPanOnConnect:e5=!0,autoPanOnNodeDrag:e4=!0,connectionRadius:e6=20,isValidConnection:e8,onError:e9,style:e7,id:te,nodeDragThreshold:tt,...tn},tr)=>{let to=te||"1";return y.default.createElement("div",{...tn,style:{...e7,...oW},ref:tr,className:v(["react-flow",o]),"data-testid":"rf__wrapper",id:te},y.default.createElement(oL,null,y.default.createElement(oD,{onInit:h,onMove:p,onMoveStart:g,onMoveEnd:m,onNodeClick:l,onEdgeClick:s,onNodeMouseEnter:E,onNodeMouseMove:M,onNodeMouseLeave:k,onNodeContextMenu:N,onNodeDoubleClick:C,nodeTypes:i,edgeTypes:a,connectionLineType:V,connectionLineStyle:X,connectionLineComponent:Y,connectionLineContainerStyle:F,selectionKeyCode:K,selectionOnDrag:q,selectionMode:Z,deleteKeyCode:W,multiSelectionKeyCode:G,panActivationKeyCode:U,zoomActivationKeyCode:Q,onlyRenderVisibleElements:et,selectNodesOnDrag:en,defaultViewport:ec,translateExtent:eh,minZoom:ed,maxZoom:ef,preventScrolling:ep,zoomOnScroll:ey,zoomOnPinch:ev,zoomOnDoubleClick:e_,panOnScroll:ex,panOnScrollSpeed:eb,panOnScrollMode:ew,panOnDrag:eS,onPaneClick:eE,onPaneMouseEnter:eM,onPaneMouseMove:ek,onPaneMouseLeave:eN,onPaneScroll:eC,onPaneContextMenu:eA,onSelectionContextMenu:B,onSelectionStart:H,onSelectionEnd:L,onEdgeContextMenu:ez,onEdgeDoubleClick:eP,onEdgeMouseEnter:eR,onEdgeMouseMove:eO,onEdgeMouseLeave:eI,onReconnect:eH??eD,onReconnectStart:eL??eT,onReconnectEnd:ej??eB,reconnectRadius:eV??eX,defaultMarkerColor:em,noDragClassName:eW,noWheelClassName:eK,noPanClassName:eq,elevateEdgesOnSelect:e2,rfId:to,disableKeyboardA11y:e3,nodeOrigin:ea,nodeExtent:eg}),y.default.createElement(rx,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:x,onConnectStart:b,onConnectEnd:w,onClickConnectStart:_,onClickConnectEnd:S,nodesDraggable:er,nodesConnectable:eo,nodesFocusable:ei,edgesFocusable:el,edgesUpdatable:es,elementsSelectable:eu,elevateNodesOnSelect:e1,minZoom:ed,maxZoom:ef,nodeExtent:eg,onNodesChange:eY,onEdgesChange:eF,snapToGrid:J,snapGrid:ee,connectionMode:j,translateExtent:eh,connectOnClick:eG,defaultEdgeOptions:e0,fitView:eZ,fitViewOptions:eU,onNodesDelete:P,onEdgesDelete:R,onNodeDragStart:A,onNodeDrag:$,onNodeDragStop:z,onSelectionDrag:D,onSelectionDragStart:I,onSelectionDragStop:T,noPanClassName:eq,nodeOrigin:ea,rfId:to,autoPanOnConnect:e5,autoPanOnNodeDrag:e4,onError:e9,connectionRadius:e6,isValidConnection:e8,nodeDragThreshold:tt}),y.default.createElement(rg,{onSelectionChange:O}),e$,y.default.createElement(na,{proOptions:eJ,position:eQ}),y.default.createElement(rk,{rfId:to,disableKeyboardA11y:e3})))});function oq(e){return t=>{let[n,r]=(0,y.useState)(t),o=(0,y.useCallback)(t=>r(n=>e(t,n)),[]);return[n,r,o]}}oK.displayName="ReactFlow";let oZ=oq(rU),oU=oq(function(e,t){return rZ(e,t)});function oG({color:e,dimensions:t,lineWidth:n}){return y.default.createElement("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function oQ({color:e,radius:t}){return y.default.createElement("circle",{cx:t,cy:t,r:t,fill:e})}(l=g||(g={})).Lines="lines",l.Dots="dots",l.Cross="cross";let oJ={[g.Dots]:"#91919a",[g.Lines]:"#eee",[g.Cross]:"#e2e2e2"},o0={[g.Dots]:1,[g.Lines]:1,[g.Cross]:6},o1=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function o2({id:e,variant:t=g.Dots,gap:n=20,size:r,lineWidth:o=1,offset:i=2,color:a,style:l,className:s}){let u=(0,y.useRef)(null),{transform:c,patternId:d}=nn(o1,N),f=a||oJ[t],h=r||o0[t],p=t===g.Dots,m=t===g.Cross,x=Array.isArray(n)?n:[n,n],b=[x[0]*c[2]||1,x[1]*c[2]||1],w=h*c[2],_=m?[w,w]:b,S=p?[w/i,w/i]:[_[0]/i,_[1]/i];return y.default.createElement("svg",{className:v(["react-flow__background",s]),style:{...l,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:u,"data-testid":"rf__background"},y.default.createElement("pattern",{id:d+e,x:c[0]%b[0],y:c[1]%b[1],width:b[0],height:b[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`},p?y.default.createElement(oQ,{color:f,radius:w/i}):y.default.createElement(oG,{dimensions:_,color:f,lineWidth:o})),y.default.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${d+e})`}))}o2.displayName="Background";var o3=(0,y.memo)(o2);function o5(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},y.default.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function o4(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},y.default.createElement("path",{d:"M0 0h32v4.2H0z"}))}function o6(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},y.default.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function o8(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},y.default.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function o9(){return y.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},y.default.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}let o7=({children:e,className:t,...n})=>y.default.createElement("button",{type:"button",className:v(["react-flow__controls-button",t]),...n},e);o7.displayName="ControlButton";let ie=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),it=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:o,onZoomIn:i,onZoomOut:a,onFitView:l,onInteractiveChange:s,className:u,children:c,position:d="bottom-left"})=>{let f=nr(),[h,p]=(0,y.useState)(!1),{isInteractive:g,minZoomReached:m,maxZoomReached:x}=nn(ie,N),{zoomIn:b,zoomOut:w,fitView:_}=rT();return((0,y.useEffect)(()=>{p(!0)},[]),h)?y.default.createElement(ni,{className:v(["react-flow__controls",u]),position:d,style:e,"data-testid":"rf__controls"},t&&y.default.createElement(y.default.Fragment,null,y.default.createElement(o7,{onClick:()=>{b(),i?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:x},y.default.createElement(o5,null)),y.default.createElement(o7,{onClick:()=>{w(),a?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:m},y.default.createElement(o4,null))),n&&y.default.createElement(o7,{className:"react-flow__controls-fitview",onClick:()=>{_(o),l?.()},title:"fit view","aria-label":"fit view"},y.default.createElement(o6,null)),r&&y.default.createElement(o7,{className:"react-flow__controls-interactive",onClick:()=>{f.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),s?.(!g)},title:"toggle interactivity","aria-label":"toggle interactivity"},g?y.default.createElement(o9,null):y.default.createElement(o8,null)),c):null};it.displayName="Controls";var ir=(0,y.memo)(it);let io=({id:e,x:t,y:n,width:r,height:o,style:i,color:a,strokeColor:l,strokeWidth:s,className:u,borderRadius:c,shapeRendering:d,onClick:f,selected:h})=>{let{background:p,backgroundColor:g}=i||{};return y.default.createElement("rect",{className:v(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:c,ry:c,width:r,height:o,fill:a||p||g,stroke:l,strokeWidth:s,shapeRendering:d,onClick:f?t=>f(t,e):void 0})};io.displayName="MiniMapNode";var ii=(0,y.memo)(io);let ia=e=>e.nodeOrigin,il=e=>e.getNodes().filter(e=>!e.hidden&&e.width&&e.height),is=e=>e instanceof Function?e:()=>e;var iu=(0,y.memo)(function({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:i=ii,onClick:a}){let l=nn(il,N),s=nn(ia),u=is(t),c=is(e),d=is(n),f="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return y.default.createElement(y.default.Fragment,null,l.map(e=>{let{x:t,y:n}=nU(e,s).positionAbsolute;return y.default.createElement(i,{key:e.id,x:t,y:n,width:e.width,height:e.height,style:e.style,selected:e.selected,className:d(e),color:u(e),borderRadius:r,strokeColor:c(e),strokeWidth:o,shapeRendering:f,onClick:a,id:e.id})}))});let ic=e=>{let t,n=e.getNodes(),r={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:r,boundingRect:n.length>0?(t=nG(n,e.nodeOrigin),nm(np(ng(t),ng(r)))):r,rfId:e.rfId}};function id({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:i=5,nodeStrokeWidth:a=2,nodeComponent:l,maskColor:s="rgb(240, 240, 240, 0.6)",maskStrokeColor:u="none",maskStrokeWidth:c=1,position:d="bottom-right",onClick:f,onNodeClick:h,pannable:p=!1,zoomable:g=!1,ariaLabel:m="React Flow mini map",inversePan:x=!1,zoomStep:b=10,offsetScale:w=5}){let _=nr(),S=(0,y.useRef)(null),{boundingRect:E,viewBB:M,rfId:k}=nn(ic,N),C=e?.width??200,A=e?.height??150,$=Math.max(E.width/C,E.height/A),z=$*C,P=$*A,R=w*$,O=E.x-(z-E.width)/2-R,I=E.y-(P-E.height)/2-R,D=z+2*R,T=P+2*R,B=`react-flow__minimap-desc-${k}`,H=(0,y.useRef)(0);H.current=$,(0,y.useEffect)(()=>{if(S.current){let e=ex(S.current),t=t2().on("zoom",p?e=>{let{transform:t,d3Selection:n,d3Zoom:r,translateExtent:o,width:i,height:a}=_.getState();if("mousemove"!==e.sourceEvent.type||!n||!r)return;let l=H.current*Math.max(1,t[2])*(x?-1:1),s={x:t[0]-e.sourceEvent.movementX*l,y:t[1]-e.sourceEvent.movementY*l},u=tK.translate(s.x,s.y).scale(t[2]),c=r.constrain()(u,[[0,0],[i,a]],o);r.transform(n,c)}:null).on("zoom.wheel",g?e=>{let{transform:t,d3Selection:n,d3Zoom:r}=_.getState();if("wheel"!==e.sourceEvent.type||!n||!r)return;let o=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*b,i=t[2]*Math.pow(2,o);r.scaleTo(n,i)}:null);return e.call(t),()=>{e.on("zoom",null)}}},[p,g,x,b]);let L=f?e=>{let t=eC(e);f(e,{x:t[0],y:t[1]})}:void 0,j=h?(e,t)=>{h(e,_.getState().nodeInternals.get(t))}:void 0;return y.default.createElement(ni,{position:d,style:e,className:v(["react-flow__minimap",t]),"data-testid":"rf__minimap"},y.default.createElement("svg",{width:C,height:A,viewBox:`${O} ${I} ${D} ${T}`,role:"img","aria-labelledby":B,ref:S,onClick:L},m&&y.default.createElement("title",{id:B},m),y.default.createElement(iu,{onClick:j,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:l}),y.default.createElement("path",{className:"react-flow__minimap-mask",d:`M${O-R},${I-R}h${D+2*R}v${T+2*R}h${-D-2*R}z
|
|
2
|
+
M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fill:s,fillRule:"evenodd",stroke:u,strokeWidth:c,pointerEvents:"none"})))}id.displayName="MiniMap";var ih=(0,y.memo)(id),ip=e.i(74447),ig=e.i(20381);let im={background:"#1a2a0a",border:"2px solid #76b900",borderRadius:10,padding:"10px 20px",color:"#76b900",fontWeight:700,minWidth:140,textAlign:"center"},iy={background:"#0d1a2a",border:"2px solid #2563eb",borderRadius:8,padding:"8px 14px",color:"#93c5fd",fontSize:12,minWidth:130,textAlign:"center"},iv={background:"#1a1a1a",border:"2px solid #6b7280",borderRadius:8,padding:"8px 14px",color:"#9ca3af",fontSize:12,minWidth:130,textAlign:"center"};e.s(["default",0,function(){let e=(0,ip.usePolicy)();(0,ip.usePolicyDispatch)();let[t,n,r]=oZ([]),[o,i,a]=oU([]),[l,s]=(0,y.useState)(null),u=(0,y.useCallback)((e,t)=>{s({key:e,entry:t})},[]);(0,y.useEffect)(()=>{let t,r,o,a,l,s,{nodes:c,edges:d}=(t=[],r=[],o=e.process?.run_as_user??"sandbox",l=Math.ceil(Math.sqrt((a=Object.entries(e.network_policies??{})).length))||1,s=0===a.length?60:300,t.push({id:"sandbox",type:"default",position:{x:400,y:s},data:{label:(0,m.jsxs)("div",{style:im,children:[(0,m.jsx)("div",{style:{fontSize:11,opacity:.7},children:"sandbox"}),(0,m.jsx)("div",{children:o})]})},style:{border:"none",background:"transparent",padding:0}}),a.forEach(([e,n],o)=>{var i,a;let s,c=Math.floor(o/l),d=50+o%l*200,f=50+120*c,p=`ep-${e}`;t.push({id:p,type:"default",position:{x:d,y:f},data:{label:(0,m.jsxs)("div",{style:iy,onClick:()=>u(e,n),title:"Click to edit",children:[(0,m.jsx)("div",{style:{fontWeight:600},children:n.name||e}),n.endpoints.slice(0,2).map((e,t)=>(0,m.jsxs)("div",{style:{opacity:.7,fontSize:11},children:[e.host,":",e.port]},t)),n.endpoints.length>2&&(0,m.jsxs)("div",{style:{opacity:.5,fontSize:10},children:["+",n.endpoints.length-2," more"]})]})},style:{border:"none",background:"transparent",padding:0}});let g=n.endpoints[0],y=g?(i=g.enforcement,a=g.access,i===ig.Enforcement.AUDIT?"#f97316":"#76b900"):"#76b900",v=(s=n.endpoints[0])?s.access?s.access:s.rules&&s.rules.length>0?`${s.rules.length} rule(s)`:s.enforcement===ig.Enforcement.AUDIT?"audit":"allowed":"";r.push({id:`edge-${e}`,source:p,target:"sandbox",label:v,markerEnd:{type:h.ArrowClosed,color:y},style:{stroke:y,strokeWidth:2},labelStyle:{fill:"#9ca3af",fontSize:10},animated:g?.enforcement===ig.Enforcement.AUDIT}),(n.binaries??[]).forEach((n,o)=>{let i=`bin-${e}-${o}`;t.push({id:i,type:"default",position:{x:d+220,y:f+80*o},data:{label:(0,m.jsxs)("div",{style:iv,children:[(0,m.jsx)("div",{style:{fontSize:10,opacity:.6},children:"binary"}),(0,m.jsx)("div",{style:{overflow:"hidden",textOverflow:"ellipsis",maxWidth:120,whiteSpace:"nowrap"},title:n.path,children:n.path.split("/").pop()??n.path})]})},style:{border:"none",background:"transparent",padding:0}}),r.push({id:`bin-edge-${e}-${o}`,source:i,target:"sandbox",style:{stroke:"#4b5563",strokeWidth:1,strokeDasharray:"4 3"},markerEnd:{type:h.ArrowClosed,color:"#4b5563"}})})}),{nodes:t,edges:r});n(c),i(d)},[e,u,n,i]);let c=(0,y.useCallback)(e=>i(t=>nK(e,t)),[i]);return(0,m.jsxs)("div",{style:{width:"100%",height:"100%"},children:[(0,m.jsxs)(oK,{nodes:t,edges:o,onNodesChange:r,onEdgesChange:a,onConnect:c,fitView:!0,fitViewOptions:{padding:.2},proOptions:{hideAttribution:!0},children:[(0,m.jsx)(o3,{color:"#374151",gap:20}),(0,m.jsx)(ir,{}),(0,m.jsx)(ih,{nodeColor:e=>"sandbox"===e.id?"#76b900":e.id.startsWith("ep-")?"#2563eb":"#4b5563",style:{background:"#111827"}})]}),0===Object.keys(e.network_policies??{}).length&&(0,m.jsx)("div",{className:"absolute bottom-8 inset-x-0 flex justify-center pointer-events-none",children:(0,m.jsxs)("div",{className:"text-center text-gray-600",children:[(0,m.jsx)("p",{className:"text-sm font-medium",children:"No network policies yet"}),(0,m.jsx)("p",{className:"text-xs mt-1",children:"Use the left panel to add a policy entry"})]})})]})}],86492)},50218,e=>{e.n(e.i(86492))}]);
|