@enruana/claude-orka 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +134 -44
- package/dist/electron/main/main.js +122 -29
- package/dist/electron/main/main.js.map +1 -1
- package/dist/electron/preload/preload.js +1 -0
- package/dist/electron/preload/preload.js.map +1 -1
- package/dist/electron/renderer/assets/main-BMC8JuEx.js +66 -0
- package/dist/electron/renderer/index.html +1 -1
- package/dist/src/cli/commands/fork.js +1 -1
- package/dist/src/cli/commands/fork.js.map +1 -1
- package/dist/src/cli/commands/session.d.ts.map +1 -1
- package/dist/src/cli/commands/session.js +5 -3
- package/dist/src/cli/commands/session.js.map +1 -1
- package/dist/src/cli/utils/output.d.ts.map +1 -1
- package/dist/src/cli/utils/output.js +13 -10
- package/dist/src/cli/utils/output.js.map +1 -1
- package/dist/src/core/ClaudeOrka.d.ts +10 -0
- package/dist/src/core/ClaudeOrka.d.ts.map +1 -1
- package/dist/src/core/ClaudeOrka.js +12 -0
- package/dist/src/core/ClaudeOrka.js.map +1 -1
- package/dist/src/core/SessionManager.d.ts +10 -0
- package/dist/src/core/SessionManager.d.ts.map +1 -1
- package/dist/src/core/SessionManager.js +27 -3
- package/dist/src/core/SessionManager.js.map +1 -1
- package/dist/src/core/StateManager.d.ts +5 -0
- package/dist/src/core/StateManager.d.ts.map +1 -1
- package/dist/src/core/StateManager.js +49 -0
- package/dist/src/core/StateManager.js.map +1 -1
- package/dist/src/models/Session.d.ts +9 -0
- package/dist/src/models/Session.d.ts.map +1 -1
- package/dist/src/utils/tmux.d.ts +1 -1
- package/dist/src/utils/tmux.d.ts.map +1 -1
- package/dist/src/utils/tmux.js +14 -7
- package/dist/src/utils/tmux.js.map +1 -1
- package/package.json +1 -1
- package/dist/electron/renderer/assets/main-CcTQJJH_.js +0 -66
package/dist/src/utils/tmux.js
CHANGED
|
@@ -44,7 +44,7 @@ export class TmuxCommands {
|
|
|
44
44
|
await execa('tmux', ['new-session', '-d', '-s', name, '-c', projectPath]);
|
|
45
45
|
logger.info(`Tmux session created: ${name}`);
|
|
46
46
|
// Apply Claude-Orka custom theme
|
|
47
|
-
await this.applyOrkaTheme(name);
|
|
47
|
+
await this.applyOrkaTheme(name, projectPath);
|
|
48
48
|
}
|
|
49
49
|
catch (error) {
|
|
50
50
|
throw new TmuxError(`Failed to create tmux session: ${name}`, `tmux new-session -d -s ${name} -c ${projectPath}`, error);
|
|
@@ -53,17 +53,24 @@ export class TmuxCommands {
|
|
|
53
53
|
/**
|
|
54
54
|
* Apply Claude-Orka custom tmux theme to a session
|
|
55
55
|
*/
|
|
56
|
-
static async applyOrkaTheme(sessionName) {
|
|
56
|
+
static async applyOrkaTheme(sessionName, projectPath) {
|
|
57
57
|
try {
|
|
58
|
-
// Find the config file
|
|
58
|
+
// Find the config file - prioritize project-local config
|
|
59
59
|
const possiblePaths = [
|
|
60
|
-
//
|
|
60
|
+
// PRIORITY 1: Project-local theme (copied during orka init)
|
|
61
|
+
...(projectPath ? [path.join(projectPath, '.claude-orka', '.tmux.orka.conf')] : []),
|
|
62
|
+
// PRIORITY 2: Current working directory project
|
|
63
|
+
path.join(process.cwd(), '.claude-orka', '.tmux.orka.conf'),
|
|
64
|
+
// FALLBACK: Package installation paths
|
|
65
|
+
// When installed globally via npm (dist/ -> package root)
|
|
66
|
+
path.join(__dirname, '../.tmux.orka.conf'),
|
|
67
|
+
// When running from source (src/utils/ -> package root)
|
|
61
68
|
path.join(__dirname, '../../.tmux.orka.conf'),
|
|
62
|
-
// When running from
|
|
69
|
+
// When running from current working directory (legacy)
|
|
63
70
|
path.join(process.cwd(), '.tmux.orka.conf'),
|
|
64
|
-
// Fallback: check in the module directory
|
|
65
|
-
path.join(__dirname, '../../../.tmux.orka.conf'),
|
|
66
71
|
];
|
|
72
|
+
logger.debug(`Looking for Orka theme config. __dirname: ${__dirname}`);
|
|
73
|
+
logger.debug(`Possible paths: ${possiblePaths.map(p => path.resolve(p)).join(', ')}`);
|
|
67
74
|
let configPath = null;
|
|
68
75
|
for (const p of possiblePaths) {
|
|
69
76
|
if (fs.existsSync(p)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../../src/utils/tmux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,yCAAyC;AACzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAE1C;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IACE;IAAwB;IAA5D,YAAY,OAAe,EAAS,OAAe,EAAS,aAAmB;QAC7E,KAAK,CAAC,OAAO,CAAC,CAAA;QADoB,YAAO,GAAP,OAAO,CAAQ;QAAS,kBAAa,GAAb,aAAa,CAAM;QAE7E,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;IACzB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,WAAmB;QAC1D,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,OAAO,WAAW,EAAE,CAAC,CAAA;YAChE,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;YACzE,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAA;YAE5C,iCAAiC;YACjC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../../../src/utils/tmux.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import{r as so,g as ai,R as k,a as ci,b as S,c as Te,j as M,F as li,T as ui,d as fi}from"./terminal-BTLiXhkP.js";function ie(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=ie(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var pn={exports:{}},gn={},yn={exports:{}},xn={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* use-sync-external-store-shim.production.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var dr;function di(){if(dr)return xn;dr=1;var e=so();function t(f,d){return f===d&&(f!==0||1/f===1/d)||f!==f&&d!==d}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,i=e.useLayoutEffect,s=e.useDebugValue;function a(f,d){var m=d(),w=r({inst:{value:m,getSnapshot:d}}),p=w[0].inst,v=w[1];return i(function(){p.value=m,p.getSnapshot=d,u(p)&&v({inst:p})},[f,m,d]),o(function(){return u(p)&&v({inst:p}),f(function(){u(p)&&v({inst:p})})},[f]),s(m),m}function u(f){var d=f.getSnapshot;f=f.value;try{var m=d();return!n(f,m)}catch{return!0}}function l(f,d){return d()}var c=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?l:a;return xn.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:c,xn}var hr;function hi(){return hr||(hr=1,yn.exports=di()),yn.exports}/**
|
|
10
|
-
* @license React
|
|
11
|
-
* use-sync-external-store-shim/with-selector.production.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var mr;function mi(){if(mr)return gn;mr=1;var e=so(),t=hi();function n(l,c){return l===c&&(l!==0||1/l===1/c)||l!==l&&c!==c}var r=typeof Object.is=="function"?Object.is:n,o=t.useSyncExternalStore,i=e.useRef,s=e.useEffect,a=e.useMemo,u=e.useDebugValue;return gn.useSyncExternalStoreWithSelector=function(l,c,f,d,m){var w=i(null);if(w.current===null){var p={hasValue:!1,value:null};w.current=p}else p=w.current;w=a(function(){function g(T){if(!_){if(_=!0,C=T,T=d(T),m!==void 0&&p.hasValue){var D=p.value;if(m(D,T))return y=D}return y=T}if(D=y,r(C,T))return D;var H=d(T);return m!==void 0&&m(D,H)?(C=T,D):(C=T,y=H)}var _=!1,C,y,A=f===void 0?null:f;return[function(){return g(c())},A===null?void 0:function(){return g(A())}]},[c,f,d,m]);var v=o(l,w[0],w[1]);return s(function(){p.hasValue=!0,p.value=v},[v]),u(v),v},gn}var pr;function pi(){return pr||(pr=1,pn.exports=mi()),pn.exports}var gi=pi();const yi=ai(gi),xi={},gr=e=>{let t;const n=new Set,r=(c,f)=>{const d=typeof c=="function"?c(t):c;if(!Object.is(d,t)){const m=t;t=f??(typeof d!="object"||d===null)?d:Object.assign({},t,d),n.forEach(w=>w(t,m))}},o=()=>t,u={setState:r,getState:o,getInitialState:()=>l,subscribe:c=>(n.add(c),()=>n.delete(c)),destroy:()=>{(xi?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},l=t=e(r,o,u);return u},wi=e=>e?gr(e):gr,{useDebugValue:vi}=k,{useSyncExternalStoreWithSelector:bi}=yi,_i=e=>e;function io(e,t=_i,n){const r=bi(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return vi(r),r}const yr=(e,t)=>{const n=wi(e),r=(o,i=t)=>io(n,o,i);return Object.assign(r,n),r},Ei=(e,t)=>e?yr(e,t):yr;function se(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,o]of e)if(!Object.is(o,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var Si={value:()=>{}};function sn(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new qt(n)}function qt(e){this._=e}function Ni(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",o=n.indexOf(".");if(o>=0&&(r=n.slice(o+1),n=n.slice(0,o)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}qt.prototype=sn.prototype={constructor:qt,on:function(e,t){var n=this._,r=Ni(e+"",n),o,i=-1,s=r.length;if(arguments.length<2){for(;++i<s;)if((o=(e=r[i]).type)&&(o=ki(n[o],e.name)))return o;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<s;)if(o=(e=r[i]).type)n[o]=xr(n[o],e.name,t);else if(t==null)for(o in n)n[o]=xr(n[o],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new qt(e)},call:function(e,t){if((o=arguments.length-2)>0)for(var n=new Array(o),r=0,o,i;r<o;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],r=0,o=i.length;r<o;++r)i[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}};function ki(e,t){for(var n=0,r=e.length,o;n<r;++n)if((o=e[n]).name===t)return o.value}function xr(e,t,n){for(var r=0,o=e.length;r<o;++r)if(e[r].name===t){e[r]=Si,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var An="http://www.w3.org/1999/xhtml";const wr={svg:"http://www.w3.org/2000/svg",xhtml:An,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function an(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),wr.hasOwnProperty(t)?{space:wr[t],local:e}:e}function Ci(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===An&&t.documentElement.namespaceURI===An?t.createElement(e):t.createElementNS(n,e)}}function Ai(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ao(e){var t=an(e);return(t.local?Ai:Ci)(t)}function Mi(){}function Xn(e){return e==null?Mi:function(){return this.querySelector(e)}}function $i(e){typeof e!="function"&&(e=Xn(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],s=i.length,a=r[o]=new Array(s),u,l,c=0;c<s;++c)(u=i[c])&&(l=e.call(u,u.__data__,c,i))&&("__data__"in u&&(l.__data__=u.__data__),a[c]=l);return new le(r,this._parents)}function Ti(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ii(){return[]}function co(e){return e==null?Ii:function(){return this.querySelectorAll(e)}}function zi(e){return function(){return Ti(e.apply(this,arguments))}}function Di(e){typeof e=="function"?e=zi(e):e=co(e);for(var t=this._groups,n=t.length,r=[],o=[],i=0;i<n;++i)for(var s=t[i],a=s.length,u,l=0;l<a;++l)(u=s[l])&&(r.push(e.call(u,u.__data__,l,s)),o.push(u));return new le(r,o)}function lo(e){return function(){return this.matches(e)}}function uo(e){return function(t){return t.matches(e)}}var Ri=Array.prototype.find;function Pi(e){return function(){return Ri.call(this.children,e)}}function Hi(){return this.firstElementChild}function Fi(e){return this.select(e==null?Hi:Pi(typeof e=="function"?e:uo(e)))}var Vi=Array.prototype.filter;function Li(){return Array.from(this.children)}function Bi(e){return function(){return Vi.call(this.children,e)}}function ji(e){return this.selectAll(e==null?Li:Bi(typeof e=="function"?e:uo(e)))}function Oi(e){typeof e!="function"&&(e=lo(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],s=i.length,a=r[o]=[],u,l=0;l<s;++l)(u=i[l])&&e.call(u,u.__data__,l,i)&&a.push(u);return new le(r,this._parents)}function fo(e){return new Array(e.length)}function Xi(){return new le(this._enter||this._groups.map(fo),this._parents)}function Kt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Kt.prototype={constructor:Kt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Yi(e){return function(){return e}}function Ui(e,t,n,r,o,i){for(var s=0,a,u=t.length,l=i.length;s<l;++s)(a=t[s])?(a.__data__=i[s],r[s]=a):n[s]=new Kt(e,i[s]);for(;s<u;++s)(a=t[s])&&(o[s]=a)}function qi(e,t,n,r,o,i,s){var a,u,l=new Map,c=t.length,f=i.length,d=new Array(c),m;for(a=0;a<c;++a)(u=t[a])&&(d[a]=m=s.call(u,u.__data__,a,t)+"",l.has(m)?o[a]=u:l.set(m,u));for(a=0;a<f;++a)m=s.call(e,i[a],a,i)+"",(u=l.get(m))?(r[a]=u,u.__data__=i[a],l.delete(m)):n[a]=new Kt(e,i[a]);for(a=0;a<c;++a)(u=t[a])&&l.get(d[a])===u&&(o[a]=u)}function Wi(e){return e.__data__}function Gi(e,t){if(!arguments.length)return Array.from(this,Wi);var n=t?qi:Ui,r=this._parents,o=this._groups;typeof e!="function"&&(e=Yi(e));for(var i=o.length,s=new Array(i),a=new Array(i),u=new Array(i),l=0;l<i;++l){var c=r[l],f=o[l],d=f.length,m=Zi(e.call(c,c&&c.__data__,l,r)),w=m.length,p=a[l]=new Array(w),v=s[l]=new Array(w),g=u[l]=new Array(d);n(c,f,p,v,g,m,t);for(var _=0,C=0,y,A;_<w;++_)if(y=p[_]){for(_>=C&&(C=_+1);!(A=v[C])&&++C<w;);y._next=A||null}}return s=new le(s,r),s._enter=a,s._exit=u,s}function Zi(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Ki(){return new le(this._exit||this._groups.map(fo),this._parents)}function Qi(e,t,n){var r=this.enter(),o=this,i=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(o=t(o),o&&(o=o.selection())),n==null?i.remove():n(i),r&&o?r.merge(o).order():o}function Ji(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,s=Math.min(o,i),a=new Array(o),u=0;u<s;++u)for(var l=n[u],c=r[u],f=l.length,d=a[u]=new Array(f),m,w=0;w<f;++w)(m=l[w]||c[w])&&(d[w]=m);for(;u<o;++u)a[u]=n[u];return new le(a,this._parents)}function ea(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],o=r.length-1,i=r[o],s;--o>=0;)(s=r[o])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function ta(e){e||(e=na);function t(f,d){return f&&d?e(f.__data__,d.__data__):!f-!d}for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var s=n[i],a=s.length,u=o[i]=new Array(a),l,c=0;c<a;++c)(l=s[c])&&(u[c]=l);u.sort(t)}return new le(o,this._parents).order()}function na(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function ra(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function oa(){return Array.from(this)}function sa(){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 s=r[o];if(s)return s}return null}function ia(){let e=0;for(const t of this)++e;return e}function aa(){return!this.node()}function ca(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o=t[n],i=0,s=o.length,a;i<s;++i)(a=o[i])&&e.call(a,a.__data__,i,o);return this}function la(e){return function(){this.removeAttribute(e)}}function ua(e){return function(){this.removeAttributeNS(e.space,e.local)}}function fa(e,t){return function(){this.setAttribute(e,t)}}function da(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ha(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function ma(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function pa(e,t){var n=an(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?ua:la:typeof t=="function"?n.local?ma:ha:n.local?da:fa)(n,t))}function ho(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function ga(e){return function(){this.style.removeProperty(e)}}function ya(e,t,n){return function(){this.style.setProperty(e,t,n)}}function xa(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function wa(e,t,n){return arguments.length>1?this.each((t==null?ga:typeof t=="function"?xa:ya)(e,t,n??"")):dt(this.node(),e)}function dt(e,t){return e.style.getPropertyValue(t)||ho(e).getComputedStyle(e,null).getPropertyValue(t)}function va(e){return function(){delete this[e]}}function ba(e,t){return function(){this[e]=t}}function _a(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ea(e,t){return arguments.length>1?this.each((t==null?va:typeof t=="function"?_a:ba)(e,t)):this.node()[e]}function mo(e){return e.trim().split(/^|\s+/)}function Yn(e){return e.classList||new po(e)}function po(e){this._node=e,this._names=mo(e.getAttribute("class")||"")}po.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function go(e,t){for(var n=Yn(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function yo(e,t){for(var n=Yn(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function Sa(e){return function(){go(this,e)}}function Na(e){return function(){yo(this,e)}}function ka(e,t){return function(){(t.apply(this,arguments)?go:yo)(this,e)}}function Ca(e,t){var n=mo(e+"");if(arguments.length<2){for(var r=Yn(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each((typeof t=="function"?ka:t?Sa:Na)(n,t))}function Aa(){this.textContent=""}function Ma(e){return function(){this.textContent=e}}function $a(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Ta(e){return arguments.length?this.each(e==null?Aa:(typeof e=="function"?$a:Ma)(e)):this.node().textContent}function Ia(){this.innerHTML=""}function za(e){return function(){this.innerHTML=e}}function Da(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Ra(e){return arguments.length?this.each(e==null?Ia:(typeof e=="function"?Da:za)(e)):this.node().innerHTML}function Pa(){this.nextSibling&&this.parentNode.appendChild(this)}function Ha(){return this.each(Pa)}function Fa(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Va(){return this.each(Fa)}function La(e){var t=typeof e=="function"?e:ao(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Ba(){return null}function ja(e,t){var n=typeof e=="function"?e:ao(e),r=t==null?Ba:typeof t=="function"?t:Xn(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function Oa(){var e=this.parentNode;e&&e.removeChild(this)}function Xa(){return this.each(Oa)}function Ya(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Ua(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function qa(e){return this.select(e?Ua:Ya)}function Wa(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Ga(e){return function(t){e.call(this,t,this.__data__)}}function Za(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Ka(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,o=t.length,i;n<o;++n)i=t[n],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++r]=i;++r?t.length=r:delete this.__on}}}function Qa(e,t,n){return function(){var r=this.__on,o,i=Ga(t);if(r){for(var s=0,a=r.length;s<a;++s)if((o=r[s]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=t;return}}this.addEventListener(e.type,i,n),o={type:e.type,name:e.name,value:t,listener:i,options:n},r?r.push(o):this.__on=[o]}}function Ja(e,t,n){var r=Za(e+""),o,i=r.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var u=0,l=a.length,c;u<l;++u)for(o=0,c=a[u];o<i;++o)if((s=r[o]).type===c.type&&s.name===c.name)return c.value}return}for(a=t?Qa:Ka,o=0;o<i;++o)this.each(a(r[o],t,n));return this}function xo(e,t,n){var r=ho(e),o=r.CustomEvent;typeof o=="function"?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)}function ec(e,t){return function(){return xo(this,e,t)}}function tc(e,t){return function(){return xo(this,e,t.apply(this,arguments))}}function nc(e,t){return this.each((typeof t=="function"?tc:ec)(e,t))}function*rc(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length,s;o<i;++o)(s=r[o])&&(yield s)}var wo=[null];function le(e,t){this._groups=e,this._parents=t}function Rt(){return new le([[document.documentElement]],wo)}function oc(){return this}le.prototype=Rt.prototype={constructor:le,select:$i,selectAll:Di,selectChild:Fi,selectChildren:ji,filter:Oi,data:Gi,enter:Xi,exit:Ki,join:Qi,merge:Ji,selection:oc,order:ea,sort:ta,call:ra,nodes:oa,node:sa,size:ia,empty:aa,each:ca,attr:pa,style:wa,property:Ea,classed:Ca,text:Ta,html:Ra,raise:Ha,lower:Va,append:La,insert:ja,remove:Xa,clone:qa,datum:Wa,on:Ja,dispatch:nc,[Symbol.iterator]:rc};function ge(e){return typeof e=="string"?new le([[document.querySelector(e)]],[document.documentElement]):new le([[e]],wo)}function sc(e){let t;for(;t=e.sourceEvent;)e=t;return e}function _e(e,t){if(e=sc(e),t===void 0&&(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()),[r.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]}const ic={passive:!1},Ct={capture:!0,passive:!1};function wn(e){e.stopImmediatePropagation()}function ct(e){e.preventDefault(),e.stopImmediatePropagation()}function vo(e){var t=e.document.documentElement,n=ge(e).on("dragstart.drag",ct,Ct);"onselectstart"in t?n.on("selectstart.drag",ct,Ct):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function bo(e,t){var n=e.document.documentElement,r=ge(e).on("dragstart.drag",null);t&&(r.on("click.drag",ct,Ct),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const Ft=e=>()=>e;function Mn(e,{sourceEvent:t,subject:n,target:r,identifier:o,active:i,x:s,y:a,dx:u,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}Mn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function ac(e){return!e.ctrlKey&&!e.button}function cc(){return this.parentNode}function lc(e,t){return t??{x:e.x,y:e.y}}function uc(){return navigator.maxTouchPoints||"ontouchstart"in this}function fc(){var e=ac,t=cc,n=lc,r=uc,o={},i=sn("start","drag","end"),s=0,a,u,l,c,f=0;function d(y){y.on("mousedown.drag",m).filter(r).on("touchstart.drag",v).on("touchmove.drag",g,ic).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(y,A){if(!(c||!e.call(this,y,A))){var T=C(this,t.call(this,y,A),y,A,"mouse");T&&(ge(y.view).on("mousemove.drag",w,Ct).on("mouseup.drag",p,Ct),vo(y.view),wn(y),l=!1,a=y.clientX,u=y.clientY,T("start",y))}}function w(y){if(ct(y),!l){var A=y.clientX-a,T=y.clientY-u;l=A*A+T*T>f}o.mouse("drag",y)}function p(y){ge(y.view).on("mousemove.drag mouseup.drag",null),bo(y.view,l),ct(y),o.mouse("end",y)}function v(y,A){if(e.call(this,y,A)){var T=y.changedTouches,D=t.call(this,y,A),H=T.length,I,V;for(I=0;I<H;++I)(V=C(this,D,y,A,T[I].identifier,T[I]))&&(wn(y),V("start",y,T[I]))}}function g(y){var A=y.changedTouches,T=A.length,D,H;for(D=0;D<T;++D)(H=o[A[D].identifier])&&(ct(y),H("drag",y,A[D]))}function _(y){var A=y.changedTouches,T=A.length,D,H;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),D=0;D<T;++D)(H=o[A[D].identifier])&&(wn(y),H("end",y,A[D]))}function C(y,A,T,D,H,I){var V=i.copy(),F=_e(I||T,A),B,L,h;if((h=n.call(y,new Mn("beforestart",{sourceEvent:T,target:d,identifier:H,active:s,x:F[0],y:F[1],dx:0,dy:0,dispatch:V}),D))!=null)return B=h.x-F[0]||0,L=h.y-F[1]||0,function N(b,E,z){var x=F,$;switch(b){case"start":o[H]=N,$=s++;break;case"end":delete o[H],--s;case"drag":F=_e(z||E,A),$=s;break}V.call(b,y,new Mn(b,{sourceEvent:E,subject:h,target:d,identifier:H,active:$,x:F[0]+B,y:F[1]+L,dx:F[0]-x[0],dy:F[1]-x[1],dispatch:V}),D)}}return d.filter=function(y){return arguments.length?(e=typeof y=="function"?y:Ft(!!y),d):e},d.container=function(y){return arguments.length?(t=typeof y=="function"?y:Ft(y),d):t},d.subject=function(y){return arguments.length?(n=typeof y=="function"?y:Ft(y),d):n},d.touchable=function(y){return arguments.length?(r=typeof y=="function"?y:Ft(!!y),d):r},d.on=function(){var y=i.on.apply(i,arguments);return y===i?d:y},d.clickDistance=function(y){return arguments.length?(f=(y=+y)*y,d):Math.sqrt(f)},d}function Un(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function _o(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Pt(){}var At=.7,Qt=1/At,lt="\\s*([+-]?\\d+)\\s*",Mt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ee="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",dc=/^#([0-9a-f]{3,8})$/,hc=new RegExp(`^rgb\\(${lt},${lt},${lt}\\)$`),mc=new RegExp(`^rgb\\(${Ee},${Ee},${Ee}\\)$`),pc=new RegExp(`^rgba\\(${lt},${lt},${lt},${Mt}\\)$`),gc=new RegExp(`^rgba\\(${Ee},${Ee},${Ee},${Mt}\\)$`),yc=new RegExp(`^hsl\\(${Mt},${Ee},${Ee}\\)$`),xc=new RegExp(`^hsla\\(${Mt},${Ee},${Ee},${Mt}\\)$`),vr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Un(Pt,$t,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:br,formatHex:br,formatHex8:wc,formatHsl:vc,formatRgb:_r,toString:_r});function br(){return this.rgb().formatHex()}function wc(){return this.rgb().formatHex8()}function vc(){return Eo(this).formatHsl()}function _r(){return this.rgb().formatRgb()}function $t(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=dc.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Er(t):n===3?new ae(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Vt(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Vt(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=hc.exec(e))?new ae(t[1],t[2],t[3],1):(t=mc.exec(e))?new ae(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=pc.exec(e))?Vt(t[1],t[2],t[3],t[4]):(t=gc.exec(e))?Vt(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=yc.exec(e))?kr(t[1],t[2]/100,t[3]/100,1):(t=xc.exec(e))?kr(t[1],t[2]/100,t[3]/100,t[4]):vr.hasOwnProperty(e)?Er(vr[e]):e==="transparent"?new ae(NaN,NaN,NaN,0):null}function Er(e){return new ae(e>>16&255,e>>8&255,e&255,1)}function Vt(e,t,n,r){return r<=0&&(e=t=n=NaN),new ae(e,t,n,r)}function bc(e){return e instanceof Pt||(e=$t(e)),e?(e=e.rgb(),new ae(e.r,e.g,e.b,e.opacity)):new ae}function $n(e,t,n,r){return arguments.length===1?bc(e):new ae(e,t,n,r??1)}function ae(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Un(ae,$n,_o(Pt,{brighter(e){return e=e==null?Qt:Math.pow(Qt,e),new ae(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?At:Math.pow(At,e),new ae(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ae(Ge(this.r),Ge(this.g),Ge(this.b),Jt(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:Sr,formatHex:Sr,formatHex8:_c,formatRgb:Nr,toString:Nr}));function Sr(){return`#${qe(this.r)}${qe(this.g)}${qe(this.b)}`}function _c(){return`#${qe(this.r)}${qe(this.g)}${qe(this.b)}${qe((isNaN(this.opacity)?1:this.opacity)*255)}`}function Nr(){const e=Jt(this.opacity);return`${e===1?"rgb(":"rgba("}${Ge(this.r)}, ${Ge(this.g)}, ${Ge(this.b)}${e===1?")":`, ${e})`}`}function Jt(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ge(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function qe(e){return e=Ge(e),(e<16?"0":"")+e.toString(16)}function kr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ye(e,t,n,r)}function Eo(e){if(e instanceof ye)return new ye(e.h,e.s,e.l,e.opacity);if(e instanceof Pt||(e=$t(e)),!e)return new ye;if(e instanceof ye)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),s=NaN,a=i-o,u=(i+o)/2;return a?(t===i?s=(n-r)/a+(n<r)*6:n===i?s=(r-t)/a+2:s=(t-n)/a+4,a/=u<.5?i+o:2-i-o,s*=60):a=u>0&&u<1?0:s,new ye(s,a,u,e.opacity)}function Ec(e,t,n,r){return arguments.length===1?Eo(e):new ye(e,t,n,r??1)}function ye(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Un(ye,Ec,_o(Pt,{brighter(e){return e=e==null?Qt:Math.pow(Qt,e),new ye(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?At:Math.pow(At,e),new ye(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 ae(vn(e>=240?e-240:e+120,o,r),vn(e,o,r),vn(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new ye(Cr(this.h),Lt(this.s),Lt(this.l),Jt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Jt(this.opacity);return`${e===1?"hsl(":"hsla("}${Cr(this.h)}, ${Lt(this.s)*100}%, ${Lt(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Cr(e){return e=(e||0)%360,e<0?e+360:e}function Lt(e){return Math.max(0,Math.min(1,e||0))}function vn(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const So=e=>()=>e;function Sc(e,t){return function(n){return e+n*t}}function Nc(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function kc(e){return(e=+e)==1?No:function(t,n){return n-t?Nc(t,n,e):So(isNaN(t)?n:t)}}function No(e,t){var n=t-e;return n?Sc(e,n):So(isNaN(e)?t:e)}const Ar=(function e(t){var n=kc(t);function r(o,i){var s=n((o=$n(o)).r,(i=$n(i)).r),a=n(o.g,i.g),u=n(o.b,i.b),l=No(o.opacity,i.opacity);return function(c){return o.r=s(c),o.g=a(c),o.b=u(c),o.opacity=l(c),o+""}}return r.gamma=e,r})(1);function ze(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Tn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bn=new RegExp(Tn.source,"g");function Cc(e){return function(){return e}}function Ac(e){return function(t){return e(t)+""}}function Mc(e,t){var n=Tn.lastIndex=bn.lastIndex=0,r,o,i,s=-1,a=[],u=[];for(e=e+"",t=t+"";(r=Tn.exec(e))&&(o=bn.exec(t));)(i=o.index)>n&&(i=t.slice(n,i),a[s]?a[s]+=i:a[++s]=i),(r=r[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,u.push({i:s,x:ze(r,o)})),n=bn.lastIndex;return n<t.length&&(i=t.slice(n),a[s]?a[s]+=i:a[++s]=i),a.length<2?u[0]?Ac(u[0].x):Cc(t):(t=u.length,function(l){for(var c=0,f;c<t;++c)a[(f=u[c]).i]=f.x(l);return a.join("")})}var Mr=180/Math.PI,In={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ko(e,t,n,r,o,i){var s,a,u;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,u/=a),e*r<t*n&&(e=-e,t=-t,u=-u,s=-s),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*Mr,skewX:Math.atan(u)*Mr,scaleX:s,scaleY:a}}var Bt;function $c(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?In:ko(t.a,t.b,t.c,t.d,t.e,t.f)}function Tc(e){return e==null||(Bt||(Bt=document.createElementNS("http://www.w3.org/2000/svg","g")),Bt.setAttribute("transform",e),!(e=Bt.transform.baseVal.consolidate()))?In:(e=e.matrix,ko(e.a,e.b,e.c,e.d,e.e,e.f))}function Co(e,t,n,r){function o(l){return l.length?l.pop()+" ":""}function i(l,c,f,d,m,w){if(l!==f||c!==d){var p=m.push("translate(",null,t,null,n);w.push({i:p-4,x:ze(l,f)},{i:p-2,x:ze(c,d)})}else(f||d)&&m.push("translate("+f+t+d+n)}function s(l,c,f,d){l!==c?(l-c>180?c+=360:c-l>180&&(l+=360),d.push({i:f.push(o(f)+"rotate(",null,r)-2,x:ze(l,c)})):c&&f.push(o(f)+"rotate("+c+r)}function a(l,c,f,d){l!==c?d.push({i:f.push(o(f)+"skewX(",null,r)-2,x:ze(l,c)}):c&&f.push(o(f)+"skewX("+c+r)}function u(l,c,f,d,m,w){if(l!==f||c!==d){var p=m.push(o(m)+"scale(",null,",",null,")");w.push({i:p-4,x:ze(l,f)},{i:p-2,x:ze(c,d)})}else(f!==1||d!==1)&&m.push(o(m)+"scale("+f+","+d+")")}return function(l,c){var f=[],d=[];return l=e(l),c=e(c),i(l.translateX,l.translateY,c.translateX,c.translateY,f,d),s(l.rotate,c.rotate,f,d),a(l.skewX,c.skewX,f,d),u(l.scaleX,l.scaleY,c.scaleX,c.scaleY,f,d),l=c=null,function(m){for(var w=-1,p=d.length,v;++w<p;)f[(v=d[w]).i]=v.x(m);return f.join("")}}}var Ic=Co($c,"px, ","px)","deg)"),zc=Co(Tc,", ",")",")"),Dc=1e-12;function $r(e){return((e=Math.exp(e))+1/e)/2}function Rc(e){return((e=Math.exp(e))-1/e)/2}function Pc(e){return((e=Math.exp(2*e))-1)/(e+1)}const Hc=(function e(t,n,r){function o(i,s){var a=i[0],u=i[1],l=i[2],c=s[0],f=s[1],d=s[2],m=c-a,w=f-u,p=m*m+w*w,v,g;if(p<Dc)g=Math.log(d/l)/t,v=function(D){return[a+D*m,u+D*w,l*Math.exp(t*D*g)]};else{var _=Math.sqrt(p),C=(d*d-l*l+r*p)/(2*l*n*_),y=(d*d-l*l-r*p)/(2*d*n*_),A=Math.log(Math.sqrt(C*C+1)-C),T=Math.log(Math.sqrt(y*y+1)-y);g=(T-A)/t,v=function(D){var H=D*g,I=$r(A),V=l/(n*_)*(I*Pc(t*H+A)-Rc(A));return[a+V*m,u+V*w,l*I/$r(t*H+A)]}}return v.duration=g*1e3*t/Math.SQRT2,v}return o.rho=function(i){var s=Math.max(.001,+i),a=s*s,u=a*a;return e(s,a,u)},o})(Math.SQRT2,2,4);var ht=0,St=0,wt=0,Ao=1e3,en,Nt,tn=0,Ze=0,cn=0,Tt=typeof performance=="object"&&performance.now?performance:Date,Mo=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function qn(){return Ze||(Mo(Fc),Ze=Tt.now()+cn)}function Fc(){Ze=0}function nn(){this._call=this._time=this._next=null}nn.prototype=$o.prototype={constructor:nn,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?qn():+n)+(t==null?0:+t),!this._next&&Nt!==this&&(Nt?Nt._next=this:en=this,Nt=this),this._call=e,this._time=n,zn()},stop:function(){this._call&&(this._call=null,this._time=1/0,zn())}};function $o(e,t,n){var r=new nn;return r.restart(e,t,n),r}function Vc(){qn(),++ht;for(var e=en,t;e;)(t=Ze-e._time)>=0&&e._call.call(void 0,t),e=e._next;--ht}function Tr(){Ze=(tn=Tt.now())+cn,ht=St=0;try{Vc()}finally{ht=0,Bc(),Ze=0}}function Lc(){var e=Tt.now(),t=e-tn;t>Ao&&(cn-=t,tn=e)}function Bc(){for(var e,t=en,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:en=n);Nt=e,zn(r)}function zn(e){if(!ht){St&&(St=clearTimeout(St));var t=e-Ze;t>24?(e<1/0&&(St=setTimeout(Tr,e-Tt.now()-cn)),wt&&(wt=clearInterval(wt))):(wt||(tn=Tt.now(),wt=setInterval(Lc,Ao)),ht=1,Mo(Tr))}}function Ir(e,t,n){var r=new nn;return t=t==null?0:+t,r.restart(o=>{r.stop(),e(o+t)},t,n),r}var jc=sn("start","end","cancel","interrupt"),Oc=[],To=0,zr=1,Dn=2,Wt=3,Dr=4,Rn=5,Gt=6;function ln(e,t,n,r,o,i){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Xc(e,n,{name:t,index:r,group:o,on:jc,tween:Oc,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:To})}function Wn(e,t){var n=we(e,t);if(n.state>To)throw new Error("too late; already scheduled");return n}function Se(e,t){var n=we(e,t);if(n.state>Wt)throw new Error("too late; already running");return n}function we(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Xc(e,t,n){var r=e.__transition,o;r[t]=n,n.timer=$o(i,0,n.time);function i(l){n.state=zr,n.timer.restart(s,n.delay,n.time),n.delay<=l&&s(l-n.delay)}function s(l){var c,f,d,m;if(n.state!==zr)return u();for(c in r)if(m=r[c],m.name===n.name){if(m.state===Wt)return Ir(s);m.state===Dr?(m.state=Gt,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete r[c]):+c<t&&(m.state=Gt,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete r[c])}if(Ir(function(){n.state===Wt&&(n.state=Dr,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=Dn,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Dn){for(n.state=Wt,o=new Array(d=n.tween.length),c=0,f=-1;c<d;++c)(m=n.tween[c].value.call(e,e.__data__,n.index,n.group))&&(o[++f]=m);o.length=f+1}}function a(l){for(var c=l<n.duration?n.ease.call(null,l/n.duration):(n.timer.restart(u),n.state=Rn,1),f=-1,d=o.length;++f<d;)o[f].call(e,c);n.state===Rn&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=Gt,n.timer.stop(),delete r[t];for(var l in r)return;delete e.__transition}}function Zt(e,t){var n=e.__transition,r,o,i=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((r=n[s]).name!==t){i=!1;continue}o=r.state>Dn&&r.state<Rn,r.state=Gt,r.timer.stop(),r.on.call(o?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[s]}i&&delete e.__transition}}function Yc(e){return this.each(function(){Zt(this,e)})}function Uc(e,t){var n,r;return function(){var o=Se(this,e),i=o.tween;if(i!==n){r=n=i;for(var s=0,a=r.length;s<a;++s)if(r[s].name===t){r=r.slice(),r.splice(s,1);break}}o.tween=r}}function qc(e,t,n){var r,o;if(typeof n!="function")throw new Error;return function(){var i=Se(this,e),s=i.tween;if(s!==r){o=(r=s).slice();for(var a={name:t,value:n},u=0,l=o.length;u<l;++u)if(o[u].name===t){o[u]=a;break}u===l&&o.push(a)}i.tween=o}}function Wc(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=we(this.node(),n).tween,o=0,i=r.length,s;o<i;++o)if((s=r[o]).name===e)return s.value;return null}return this.each((t==null?Uc:qc)(n,e,t))}function Gn(e,t,n){var r=e._id;return e.each(function(){var o=Se(this,r);(o.value||(o.value={}))[t]=n.apply(this,arguments)}),function(o){return we(o,r).value[t]}}function Io(e,t){var n;return(typeof t=="number"?ze:t instanceof $t?Ar:(n=$t(t))?(t=n,Ar):Mc)(e,t)}function Gc(e){return function(){this.removeAttribute(e)}}function Zc(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Kc(e,t,n){var r,o=n+"",i;return function(){var s=this.getAttribute(e);return s===o?null:s===r?i:i=t(r=s,n)}}function Qc(e,t,n){var r,o=n+"",i;return function(){var s=this.getAttributeNS(e.space,e.local);return s===o?null:s===r?i:i=t(r=s,n)}}function Jc(e,t,n){var r,o,i;return function(){var s,a=n(this),u;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),u=a+"",s===u?null:s===r&&u===o?i:(o=u,i=t(r=s,a)))}}function el(e,t,n){var r,o,i;return function(){var s,a=n(this),u;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),u=a+"",s===u?null:s===r&&u===o?i:(o=u,i=t(r=s,a)))}}function tl(e,t){var n=an(e),r=n==="transform"?zc:Io;return this.attrTween(e,typeof t=="function"?(n.local?el:Jc)(n,r,Gn(this,"attr."+e,t)):t==null?(n.local?Zc:Gc)(n):(n.local?Qc:Kc)(n,r,t))}function nl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function rl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function ol(e,t){var n,r;function o(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&rl(e,i)),n}return o._value=t,o}function sl(e,t){var n,r;function o(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&nl(e,i)),n}return o._value=t,o}function il(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=an(e);return this.tween(n,(r.local?ol:sl)(r,t))}function al(e,t){return function(){Wn(this,e).delay=+t.apply(this,arguments)}}function cl(e,t){return t=+t,function(){Wn(this,e).delay=t}}function ll(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?al:cl)(t,e)):we(this.node(),t).delay}function ul(e,t){return function(){Se(this,e).duration=+t.apply(this,arguments)}}function fl(e,t){return t=+t,function(){Se(this,e).duration=t}}function dl(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?ul:fl)(t,e)):we(this.node(),t).duration}function hl(e,t){if(typeof t!="function")throw new Error;return function(){Se(this,e).ease=t}}function ml(e){var t=this._id;return arguments.length?this.each(hl(t,e)):we(this.node(),t).ease}function pl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Se(this,e).ease=n}}function gl(e){if(typeof e!="function")throw new Error;return this.each(pl(this._id,e))}function yl(e){typeof e!="function"&&(e=lo(e));for(var t=this._groups,n=t.length,r=new Array(n),o=0;o<n;++o)for(var i=t[o],s=i.length,a=r[o]=[],u,l=0;l<s;++l)(u=i[l])&&e.call(u,u.__data__,l,i)&&a.push(u);return new Me(r,this._parents,this._name,this._id)}function xl(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),s=new Array(r),a=0;a<i;++a)for(var u=t[a],l=n[a],c=u.length,f=s[a]=new Array(c),d,m=0;m<c;++m)(d=u[m]||l[m])&&(f[m]=d);for(;a<r;++a)s[a]=t[a];return new Me(s,this._parents,this._name,this._id)}function wl(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function vl(e,t,n){var r,o,i=wl(t)?Wn:Se;return function(){var s=i(this,e),a=s.on;a!==r&&(o=(r=a).copy()).on(t,n),s.on=o}}function bl(e,t){var n=this._id;return arguments.length<2?we(this.node(),n).on.on(e):this.each(vl(n,e,t))}function _l(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function El(){return this.on("end.remove",_l(this._id))}function Sl(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Xn(e));for(var r=this._groups,o=r.length,i=new Array(o),s=0;s<o;++s)for(var a=r[s],u=a.length,l=i[s]=new Array(u),c,f,d=0;d<u;++d)(c=a[d])&&(f=e.call(c,c.__data__,d,a))&&("__data__"in c&&(f.__data__=c.__data__),l[d]=f,ln(l[d],t,n,d,l,we(c,n)));return new Me(i,this._parents,t,n)}function Nl(e){var t=this._name,n=this._id;typeof e!="function"&&(e=co(e));for(var r=this._groups,o=r.length,i=[],s=[],a=0;a<o;++a)for(var u=r[a],l=u.length,c,f=0;f<l;++f)if(c=u[f]){for(var d=e.call(c,c.__data__,f,u),m,w=we(c,n),p=0,v=d.length;p<v;++p)(m=d[p])&&ln(m,t,n,p,d,w);i.push(d),s.push(c)}return new Me(i,s,t,n)}var kl=Rt.prototype.constructor;function Cl(){return new kl(this._groups,this._parents)}function Al(e,t){var n,r,o;return function(){var i=dt(this,e),s=(this.style.removeProperty(e),dt(this,e));return i===s?null:i===n&&s===r?o:o=t(n=i,r=s)}}function zo(e){return function(){this.style.removeProperty(e)}}function Ml(e,t,n){var r,o=n+"",i;return function(){var s=dt(this,e);return s===o?null:s===r?i:i=t(r=s,n)}}function $l(e,t,n){var r,o,i;return function(){var s=dt(this,e),a=n(this),u=a+"";return a==null&&(u=a=(this.style.removeProperty(e),dt(this,e))),s===u?null:s===r&&u===o?i:(o=u,i=t(r=s,a))}}function Tl(e,t){var n,r,o,i="style."+t,s="end."+i,a;return function(){var u=Se(this,e),l=u.on,c=u.value[i]==null?a||(a=zo(t)):void 0;(l!==n||o!==c)&&(r=(n=l).copy()).on(s,o=c),u.on=r}}function Il(e,t,n){var r=(e+="")=="transform"?Ic:Io;return t==null?this.styleTween(e,Al(e,r)).on("end.style."+e,zo(e)):typeof t=="function"?this.styleTween(e,$l(e,r,Gn(this,"style."+e,t))).each(Tl(this._id,e)):this.styleTween(e,Ml(e,r,t),n).on("end.style."+e,null)}function zl(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Dl(e,t,n){var r,o;function i(){var s=t.apply(this,arguments);return s!==o&&(r=(o=s)&&zl(e,s,n)),r}return i._value=t,i}function Rl(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,Dl(e,t,n??""))}function Pl(e){return function(){this.textContent=e}}function Hl(e){return function(){var t=e(this);this.textContent=t??""}}function Fl(e){return this.tween("text",typeof e=="function"?Hl(Gn(this,"text",e)):Pl(e==null?"":e+""))}function Vl(e){return function(t){this.textContent=e.call(this,t)}}function Ll(e){var t,n;function r(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&Vl(o)),t}return r._value=e,r}function Bl(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,Ll(e))}function jl(){for(var e=this._name,t=this._id,n=Do(),r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,u,l=0;l<a;++l)if(u=s[l]){var c=we(u,t);ln(u,e,n,l,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Me(r,this._parents,e,n)}function Ol(){var e,t,n=this,r=n._id,o=n.size();return new Promise(function(i,s){var a={value:s},u={value:function(){--o===0&&i()}};n.each(function(){var l=Se(this,r),c=l.on;c!==e&&(t=(e=c).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(u)),l.on=t}),o===0&&i()})}var Xl=0;function Me(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Do(){return++Xl}var Ce=Rt.prototype;Me.prototype={constructor:Me,select:Sl,selectAll:Nl,selectChild:Ce.selectChild,selectChildren:Ce.selectChildren,filter:yl,merge:xl,selection:Cl,transition:jl,call:Ce.call,nodes:Ce.nodes,node:Ce.node,size:Ce.size,empty:Ce.empty,each:Ce.each,on:bl,attr:tl,attrTween:il,style:Il,styleTween:Rl,text:Fl,textTween:Bl,remove:El,tween:Wc,delay:ll,duration:dl,ease:ml,easeVarying:gl,end:Ol,[Symbol.iterator]:Ce[Symbol.iterator]};function Yl(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ul={time:null,delay:0,duration:250,ease:Yl};function ql(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function Wl(e){var t,n;e instanceof Me?(t=e._id,e=e._name):(t=Do(),(n=Ul).time=qn(),e=e==null?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,u,l=0;l<a;++l)(u=s[l])&&ln(u,e,t,l,s,n||ql(u,t));return new Me(r,this._parents,e,t)}Rt.prototype.interrupt=Yc;Rt.prototype.transition=Wl;const jt=e=>()=>e;function Gl(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 Ae(e,t,n){this.k=e,this.x=t,this.y=n}Ae.prototype={constructor:Ae,scale:function(e){return e===1?this:new Ae(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ae(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 Pe=new Ae(1,0,0);Ae.prototype;function _n(e){e.stopImmediatePropagation()}function vt(e){e.preventDefault(),e.stopImmediatePropagation()}function Zl(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Kl(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Rr(){return this.__zoom||Pe}function Ql(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Jl(){return navigator.maxTouchPoints||"ontouchstart"in this}function eu(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],s=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function tu(){var e=Zl,t=Kl,n=eu,r=Ql,o=Jl,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,u=Hc,l=sn("start","zoom","end"),c,f,d,m=500,w=150,p=0,v=10;function g(h){h.property("__zoom",Rr).on("wheel.zoom",H,{passive:!1}).on("mousedown.zoom",I).on("dblclick.zoom",V).filter(o).on("touchstart.zoom",F).on("touchmove.zoom",B).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(h,N,b,E){var z=h.selection?h.selection():h;z.property("__zoom",Rr),h!==z?A(h,N,b,E):z.interrupt().each(function(){T(this,arguments).event(E).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},g.scaleBy=function(h,N,b,E){g.scaleTo(h,function(){var z=this.__zoom.k,x=typeof N=="function"?N.apply(this,arguments):N;return z*x},b,E)},g.scaleTo=function(h,N,b,E){g.transform(h,function(){var z=t.apply(this,arguments),x=this.__zoom,$=b==null?y(z):typeof b=="function"?b.apply(this,arguments):b,R=x.invert($),P=typeof N=="function"?N.apply(this,arguments):N;return n(C(_(x,P),$,R),z,s)},b,E)},g.translateBy=function(h,N,b,E){g.transform(h,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof b=="function"?b.apply(this,arguments):b),t.apply(this,arguments),s)},null,E)},g.translateTo=function(h,N,b,E,z){g.transform(h,function(){var x=t.apply(this,arguments),$=this.__zoom,R=E==null?y(x):typeof E=="function"?E.apply(this,arguments):E;return n(Pe.translate(R[0],R[1]).scale($.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof b=="function"?-b.apply(this,arguments):-b),x,s)},E,z)};function _(h,N){return N=Math.max(i[0],Math.min(i[1],N)),N===h.k?h:new Ae(N,h.x,h.y)}function C(h,N,b){var E=N[0]-b[0]*h.k,z=N[1]-b[1]*h.k;return E===h.x&&z===h.y?h:new Ae(h.k,E,z)}function y(h){return[(+h[0][0]+ +h[1][0])/2,(+h[0][1]+ +h[1][1])/2]}function A(h,N,b,E){h.on("start.zoom",function(){T(this,arguments).event(E).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(E).end()}).tween("zoom",function(){var z=this,x=arguments,$=T(z,x).event(E),R=t.apply(z,x),P=b==null?y(R):typeof b=="function"?b.apply(z,x):b,O=Math.max(R[1][0]-R[0][0],R[1][1]-R[0][1]),j=z.__zoom,U=typeof N=="function"?N.apply(z,x):N,W=u(j.invert(P).concat(O/j.k),U.invert(P).concat(O/U.k));return function(G){if(G===1)G=U;else{var Z=W(G),ee=O/Z[2];G=new Ae(ee,P[0]-Z[0]*ee,P[1]-Z[1]*ee)}$.zoom(null,G)}})}function T(h,N,b){return!b&&h.__zooming||new D(h,N)}function D(h,N){this.that=h,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(h,N),this.taps=0}D.prototype={event:function(h){return h&&(this.sourceEvent=h),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(h,N){return this.mouse&&h!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&h!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&h!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(h){var N=ge(this.that).datum();l.call(h,this.that,new Gl(h,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:l}),N)}};function H(h,...N){if(!e.apply(this,arguments))return;var b=T(this,N).event(h),E=this.__zoom,z=Math.max(i[0],Math.min(i[1],E.k*Math.pow(2,r.apply(this,arguments)))),x=_e(h);if(b.wheel)(b.mouse[0][0]!==x[0]||b.mouse[0][1]!==x[1])&&(b.mouse[1]=E.invert(b.mouse[0]=x)),clearTimeout(b.wheel);else{if(E.k===z)return;b.mouse=[x,E.invert(x)],Zt(this),b.start()}vt(h),b.wheel=setTimeout($,w),b.zoom("mouse",n(C(_(E,z),b.mouse[0],b.mouse[1]),b.extent,s));function $(){b.wheel=null,b.end()}}function I(h,...N){if(d||!e.apply(this,arguments))return;var b=h.currentTarget,E=T(this,N,!0).event(h),z=ge(h.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",O,!0),x=_e(h,b),$=h.clientX,R=h.clientY;vo(h.view),_n(h),E.mouse=[x,this.__zoom.invert(x)],Zt(this),E.start();function P(j){if(vt(j),!E.moved){var U=j.clientX-$,W=j.clientY-R;E.moved=U*U+W*W>p}E.event(j).zoom("mouse",n(C(E.that.__zoom,E.mouse[0]=_e(j,b),E.mouse[1]),E.extent,s))}function O(j){z.on("mousemove.zoom mouseup.zoom",null),bo(j.view,E.moved),vt(j),E.event(j).end()}}function V(h,...N){if(e.apply(this,arguments)){var b=this.__zoom,E=_e(h.changedTouches?h.changedTouches[0]:h,this),z=b.invert(E),x=b.k*(h.shiftKey?.5:2),$=n(C(_(b,x),E,z),t.apply(this,N),s);vt(h),a>0?ge(this).transition().duration(a).call(A,$,E,h):ge(this).call(g.transform,$,E,h)}}function F(h,...N){if(e.apply(this,arguments)){var b=h.touches,E=b.length,z=T(this,N,h.changedTouches.length===E).event(h),x,$,R,P;for(_n(h),$=0;$<E;++$)R=b[$],P=_e(R,this),P=[P,this.__zoom.invert(P),R.identifier],z.touch0?!z.touch1&&z.touch0[2]!==P[2]&&(z.touch1=P,z.taps=0):(z.touch0=P,x=!0,z.taps=1+!!c);c&&(c=clearTimeout(c)),x&&(z.taps<2&&(f=P[0],c=setTimeout(function(){c=null},m)),Zt(this),z.start())}}function B(h,...N){if(this.__zooming){var b=T(this,N).event(h),E=h.changedTouches,z=E.length,x,$,R,P;for(vt(h),x=0;x<z;++x)$=E[x],R=_e($,this),b.touch0&&b.touch0[2]===$.identifier?b.touch0[0]=R:b.touch1&&b.touch1[2]===$.identifier&&(b.touch1[0]=R);if($=b.that.__zoom,b.touch1){var O=b.touch0[0],j=b.touch0[1],U=b.touch1[0],W=b.touch1[1],G=(G=U[0]-O[0])*G+(G=U[1]-O[1])*G,Z=(Z=W[0]-j[0])*Z+(Z=W[1]-j[1])*Z;$=_($,Math.sqrt(G/Z)),R=[(O[0]+U[0])/2,(O[1]+U[1])/2],P=[(j[0]+W[0])/2,(j[1]+W[1])/2]}else if(b.touch0)R=b.touch0[0],P=b.touch0[1];else return;b.zoom("touch",n(C($,R,P),b.extent,s))}}function L(h,...N){if(this.__zooming){var b=T(this,N).event(h),E=h.changedTouches,z=E.length,x,$;for(_n(h),d&&clearTimeout(d),d=setTimeout(function(){d=null},m),x=0;x<z;++x)$=E[x],b.touch0&&b.touch0[2]===$.identifier?delete b.touch0:b.touch1&&b.touch1[2]===$.identifier&&delete b.touch1;if(b.touch1&&!b.touch0&&(b.touch0=b.touch1,delete b.touch1),b.touch0)b.touch0[1]=this.__zoom.invert(b.touch0[0]);else if(b.end(),b.taps===2&&($=_e($,this),Math.hypot(f[0]-$[0],f[1]-$[1])<v)){var R=ge(this).on("dblclick.zoom");R&&R.apply(this,arguments)}}}return g.wheelDelta=function(h){return arguments.length?(r=typeof h=="function"?h:jt(+h),g):r},g.filter=function(h){return arguments.length?(e=typeof h=="function"?h:jt(!!h),g):e},g.touchable=function(h){return arguments.length?(o=typeof h=="function"?h:jt(!!h),g):o},g.extent=function(h){return arguments.length?(t=typeof h=="function"?h:jt([[+h[0][0],+h[0][1]],[+h[1][0],+h[1][1]]]),g):t},g.scaleExtent=function(h){return arguments.length?(i[0]=+h[0],i[1]=+h[1],g):[i[0],i[1]]},g.translateExtent=function(h){return arguments.length?(s[0][0]=+h[0][0],s[1][0]=+h[1][0],s[0][1]=+h[0][1],s[1][1]=+h[1][1],g):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},g.constrain=function(h){return arguments.length?(n=h,g):n},g.duration=function(h){return arguments.length?(a=+h,g):a},g.interpolate=function(h){return arguments.length?(u=h,g):u},g.on=function(){var h=l.on.apply(l,arguments);return h===l?g:h},g.clickDistance=function(h){return arguments.length?(p=(h=+h)*h,g):Math.sqrt(p)},g.tapDistance=function(h){return arguments.length?(v=+h,g):v},g}ci();const un=S.createContext(null),nu=un.Provider,$e={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},Ro=$e.error001();function J(e,t){const n=S.useContext(un);if(n===null)throw new Error(Ro);return io(n,e,t)}const re=()=>{const e=S.useContext(un);if(e===null)throw new Error(Ro);return S.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},ru=e=>e.userSelectionActive?"none":"all";function Po({position:e,children:t,className:n,style:r,...o}){const i=J(ru),s=`${e}`.split("-");return k.createElement("div",{className:ie(["react-flow__panel",n,...s]),style:{...r,pointerEvents:i},...o},t)}function ou({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:k.createElement(Po,{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"},k.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const su=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:o=!0,labelBgStyle:i={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:u,className:l,...c})=>{const f=S.useRef(null),[d,m]=S.useState({x:0,y:0,width:0,height:0}),w=ie(["react-flow__edge-textwrapper",l]);return S.useEffect(()=>{if(f.current){const p=f.current.getBBox();m({x:p.x,y:p.y,width:p.width,height:p.height})}},[n]),typeof n>"u"||!n?null:k.createElement("g",{transform:`translate(${e-d.width/2} ${t-d.height/2})`,className:w,visibility:d.width?"visible":"hidden",...c},o&&k.createElement("rect",{width:d.width+2*s[0],x:-s[0],y:-s[1],height:d.height+2*s[1],className:"react-flow__edge-textbg",style:i,rx:a,ry:a}),k.createElement("text",{className:"react-flow__edge-text",y:d.height/2,dy:"0.3em",ref:f,style:r},n),u)};var iu=S.memo(su);const Zn=e=>({width:e.offsetWidth,height:e.offsetHeight}),mt=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Kn=(e={x:0,y:0},t)=>({x:mt(e.x,t[0][0],t[1][0]),y:mt(e.y,t[0][1],t[1][1])}),Pr=(e,t,n)=>e<t?mt(Math.abs(e-t),1,50)/50:e>n?-mt(Math.abs(e-n),1,50)/50:0,Ho=(e,t)=>{const n=Pr(e.x,35,t.width-35)*20,r=Pr(e.y,35,t.height-35)*20;return[n,r]},Fo=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},au=(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)}),Qn=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),cu=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Hr=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),Pn=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},lu=e=>de(e.width)&&de(e.height)&&de(e.x)&&de(e.y),de=e=>!isNaN(e)&&isFinite(e),te=Symbol.for("internals"),Vo=["Enter"," ","Escape"],uu=(e,t)=>{},fu=e=>"nativeEvent"in e;function Hn(e){var o,i;const t=fu(e)?e.nativeEvent:e,n=((i=(o=t.composedPath)==null?void 0:o.call(t))==null?void 0:i[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const Lo=e=>"clientX"in e,He=(e,t)=>{var i,s;const n=Lo(e),r=n?e.clientX:(i=e.touches)==null?void 0:i[0].clientX,o=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:o-((t==null?void 0:t.top)??0)}},rn=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},Ht=({id:e,path:t,labelX:n,labelY:r,label:o,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:l,style:c,markerEnd:f,markerStart:d,interactionWidth:m=20})=>k.createElement(k.Fragment,null,k.createElement("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:d}),m&&k.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:m,className:"react-flow__edge-interaction"}),o&&de(n)&&de(r)?k.createElement(iu,{x:n,y:r,label:o,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:l}):null);Ht.displayName="BaseEdge";function bt(e,t,n){return n===void 0?n:r=>{const o=t().edges.find(i=>i.id===e);o&&n(r,{...o})}}function Bo({sourceX:e,sourceY:t,targetX:n,targetY:r}){const o=Math.abs(n-e)/2,i=n<e?n+o:n-o,s=Math.abs(r-t)/2,a=r<t?r+s:r-s;return[i,a,o,s]}function jo({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:o,sourceControlY:i,targetControlX:s,targetControlY:a}){const u=e*.125+o*.375+s*.375+n*.125,l=t*.125+i*.375+a*.375+r*.125,c=Math.abs(u-e),f=Math.abs(l-t);return[u,l,c,f]}var Ke;(function(e){e.Strict="strict",e.Loose="loose"})(Ke||(Ke={}));var We;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(We||(We={}));var It;(function(e){e.Partial="partial",e.Full="full"})(It||(It={}));var Re;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Re||(Re={}));var zt;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(zt||(zt={}));var X;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(X||(X={}));function Fr({pos:e,x1:t,y1:n,x2:r,y2:o}){return e===X.Left||e===X.Right?[.5*(t+r),n]:[t,.5*(n+o)]}function Oo({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:o,targetPosition:i=X.Top}){const[s,a]=Fr({pos:n,x1:e,y1:t,x2:r,y2:o}),[u,l]=Fr({pos:i,x1:r,y1:o,x2:e,y2:t}),[c,f,d,m]=jo({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:a,targetControlX:u,targetControlY:l});return[`M${e},${t} C${s},${a} ${u},${l} ${r},${o}`,c,f,d,m]}const Jn=S.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:o=X.Bottom,targetPosition:i=X.Top,label:s,labelStyle:a,labelShowBg:u,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:f,style:d,markerEnd:m,markerStart:w,interactionWidth:p})=>{const[v,g,_]=Oo({sourceX:e,sourceY:t,sourcePosition:o,targetX:n,targetY:r,targetPosition:i});return k.createElement(Ht,{path:v,labelX:g,labelY:_,label:s,labelStyle:a,labelShowBg:u,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:f,style:d,markerEnd:m,markerStart:w,interactionWidth:p})});Jn.displayName="SimpleBezierEdge";const Vr={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},du=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.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},Lr=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function hu({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:o,offset:i}){const s=Vr[t],a=Vr[r],u={x:e.x+s.x*i,y:e.y+s.y*i},l={x:n.x+a.x*i,y:n.y+a.y*i},c=du({source:u,sourcePosition:t,target:l}),f=c.x!==0?"x":"y",d=c[f];let m=[],w,p;const v={x:0,y:0},g={x:0,y:0},[_,C,y,A]=Bo({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){w=o.x??_,p=o.y??C;const D=[{x:w,y:u.y},{x:w,y:l.y}],H=[{x:u.x,y:p},{x:l.x,y:p}];s[f]===d?m=f==="x"?D:H:m=f==="x"?H:D}else{const D=[{x:u.x,y:l.y}],H=[{x:l.x,y:u.y}];if(f==="x"?m=s.x===d?H:D:m=s.y===d?D:H,t===r){const L=Math.abs(e[f]-n[f]);if(L<=i){const h=Math.min(i-1,i-L);s[f]===d?v[f]=(u[f]>e[f]?-1:1)*h:g[f]=(l[f]>n[f]?-1:1)*h}}if(t!==r){const L=f==="x"?"y":"x",h=s[f]===a[L],N=u[L]>l[L],b=u[L]<l[L];(s[f]===1&&(!h&&N||h&&b)||s[f]!==1&&(!h&&b||h&&N))&&(m=f==="x"?D:H)}const I={x:u.x+v.x,y:u.y+v.y},V={x:l.x+g.x,y:l.y+g.y},F=Math.max(Math.abs(I.x-m[0].x),Math.abs(V.x-m[0].x)),B=Math.max(Math.abs(I.y-m[0].y),Math.abs(V.y-m[0].y));F>=B?(w=(I.x+V.x)/2,p=m[0].y):(w=m[0].x,p=(I.y+V.y)/2)}return[[e,{x:u.x+v.x,y:u.y+v.y},...m,{x:l.x+g.x,y:l.y+g.y},n],w,p,y,A]}function mu(e,t,n,r){const o=Math.min(Lr(e,t)/2,Lr(t,n)/2,r),{x:i,y:s}=t;if(e.x===i&&i===n.x||e.y===s&&s===n.y)return`L${i} ${s}`;if(e.y===s){const l=e.x<n.x?-1:1,c=e.y<n.y?1:-1;return`L ${i+o*l},${s}Q ${i},${s} ${i},${s+o*c}`}const a=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${i},${s+o*u}Q ${i},${s} ${i+o*a},${s}`}function Fn({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:o,targetPosition:i=X.Top,borderRadius:s=5,centerX:a,centerY:u,offset:l=20}){const[c,f,d,m,w]=hu({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:o},targetPosition:i,center:{x:a,y:u},offset:l});return[c.reduce((v,g,_)=>{let C="";return _>0&&_<c.length-1?C=mu(c[_-1],g,c[_+1],s):C=`${_===0?"M":"L"}${g.x} ${g.y}`,v+=C,v},""),f,d,m,w]}const fn=S.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:o,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:l,style:c,sourcePosition:f=X.Bottom,targetPosition:d=X.Top,markerEnd:m,markerStart:w,pathOptions:p,interactionWidth:v})=>{const[g,_,C]=Fn({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:d,borderRadius:p==null?void 0:p.borderRadius,offset:p==null?void 0:p.offset});return k.createElement(Ht,{path:g,labelX:_,labelY:C,label:o,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:l,style:c,markerEnd:m,markerStart:w,interactionWidth:v})});fn.displayName="SmoothStepEdge";const er=S.memo(e=>{var t;return k.createElement(fn,{...e,pathOptions:S.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});er.displayName="StepEdge";function pu({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[o,i,s,a]=Bo({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,o,i,s,a]}const tr=S.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:o,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:l,style:c,markerEnd:f,markerStart:d,interactionWidth:m})=>{const[w,p,v]=pu({sourceX:e,sourceY:t,targetX:n,targetY:r});return k.createElement(Ht,{path:w,labelX:p,labelY:v,label:o,labelStyle:i,labelShowBg:s,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:l,style:c,markerEnd:f,markerStart:d,interactionWidth:m})});tr.displayName="StraightEdge";function Ot(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Br({pos:e,x1:t,y1:n,x2:r,y2:o,c:i}){switch(e){case X.Left:return[t-Ot(t-r,i),n];case X.Right:return[t+Ot(r-t,i),n];case X.Top:return[t,n-Ot(n-o,i)];case X.Bottom:return[t,n+Ot(o-n,i)]}}function Xo({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:o,targetPosition:i=X.Top,curvature:s=.25}){const[a,u]=Br({pos:n,x1:e,y1:t,x2:r,y2:o,c:s}),[l,c]=Br({pos:i,x1:r,y1:o,x2:e,y2:t,c:s}),[f,d,m,w]=jo({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:a,sourceControlY:u,targetControlX:l,targetControlY:c});return[`M${e},${t} C${a},${u} ${l},${c} ${r},${o}`,f,d,m,w]}const on=S.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:o=X.Bottom,targetPosition:i=X.Top,label:s,labelStyle:a,labelShowBg:u,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:f,style:d,markerEnd:m,markerStart:w,pathOptions:p,interactionWidth:v})=>{const[g,_,C]=Xo({sourceX:e,sourceY:t,sourcePosition:o,targetX:n,targetY:r,targetPosition:i,curvature:p==null?void 0:p.curvature});return k.createElement(Ht,{path:g,labelX:_,labelY:C,label:s,labelStyle:a,labelShowBg:u,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:f,style:d,markerEnd:m,markerStart:w,interactionWidth:v})});on.displayName="BezierEdge";const nr=S.createContext(null),gu=nr.Provider;nr.Consumer;const yu=()=>S.useContext(nr),xu=e=>"id"in e&&"source"in e&&"target"in e,wu=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,Vn=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,vu=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),bu=(e,t)=>{if(!e.source||!e.target)return t;let n;return xu(e)?n={...e}:n={...e,id:wu(e)},vu(n,t)?t:t.concat(n)},Ln=({x:e,y:t},[n,r,o],i,[s,a])=>{const u={x:(e-n)/o,y:(t-r)/o};return i?{x:s*Math.round(u.x/s),y:a*Math.round(u.y/a)}:u},Yo=({x:e,y:t},[n,r,o])=>({x:e*o+n,y:t*o+r}),ut=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const 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}},rr=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,o)=>{const{x:i,y:s}=ut(o,t).positionAbsolute;return au(r,Qn({x:i,y:s,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return cu(n)},Uo=(e,t,[n,r,o]=[0,0,1],i=!1,s=!1,a=[0,0])=>{const u={x:(t.x-n)/o,y:(t.y-r)/o,width:t.width/o,height:t.height/o},l=[];return e.forEach(c=>{const{width:f,height:d,selectable:m=!0,hidden:w=!1}=c;if(s&&!m||w)return!1;const{positionAbsolute:p}=ut(c,a),v={x:p.x,y:p.y,width:f||0,height:d||0},g=Pn(u,v),_=typeof f>"u"||typeof d>"u"||f===null||d===null,C=i&&g>0,y=(f||0)*(d||0);(_||C||g>=y||c.dragging)&&l.push(c)}),l},qo=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},Wo=(e,t,n,r,o,i=.1)=>{const s=t/(e.width*(1+i)),a=n/(e.height*(1+i)),u=Math.min(s,a),l=mt(u,r,o),c=e.x+e.width/2,f=e.y+e.height/2,d=t/2-c*l,m=n/2-f*l;return{x:d,y:m,zoom:l}},Ue=(e,t=0)=>e.transition().duration(t);function jr(e,t,n,r){return(t[n]||[]).reduce((o,i)=>{var s,a;return`${e.id}-${i.id}-${n}`!==r&&o.push({id:i.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+i.x+i.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+i.y+i.height/2}),o},[])}function _u(e,t,n,r,o,i){const{x:s,y:a}=He(e),l=t.elementsFromPoint(s,a).find(w=>w.classList.contains("react-flow__handle"));if(l){const w=l.getAttribute("data-nodeid");if(w){const p=or(void 0,l),v=l.getAttribute("data-handleid"),g=i({nodeId:w,id:v,type:p});if(g){const _=o.find(C=>C.nodeId===w&&C.type===p&&C.id===v);return{handle:{id:v,type:p,nodeId:w,x:(_==null?void 0:_.x)||n.x,y:(_==null?void 0:_.y)||n.y},validHandleResult:g}}}}let c=[],f=1/0;if(o.forEach(w=>{const p=Math.sqrt((w.x-n.x)**2+(w.y-n.y)**2);if(p<=r){const v=i(w);p<=f&&(p<f?c=[{handle:w,validHandleResult:v}]:p===f&&c.push({handle:w,validHandleResult:v}),f=p)}}),!c.length)return{handle:null,validHandleResult:Go()};if(c.length===1)return c[0];const d=c.some(({validHandleResult:w})=>w.isValid),m=c.some(({handle:w})=>w.type==="target");return c.find(({handle:w,validHandleResult:p})=>m?w.type==="target":d?p.isValid:!0)||c[0]}const Eu={source:null,target:null,sourceHandle:null,targetHandle:null},Go=()=>({handleDomNode:null,isValid:!1,connection:Eu,endHandle:null});function Zo(e,t,n,r,o,i,s){const a=o==="target",u=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),l={...Go(),handleDomNode:u};if(u){const c=or(void 0,u),f=u.getAttribute("data-nodeid"),d=u.getAttribute("data-handleid"),m=u.classList.contains("connectable"),w=u.classList.contains("connectableend"),p={source:a?f:n,sourceHandle:a?d:r,target:a?n:f,targetHandle:a?r:d};l.connection=p,m&&w&&(t===Ke.Strict?a&&c==="source"||!a&&c==="target":f!==n||d!==r)&&(l.endHandle={nodeId:f,handleId:d,type:c},l.isValid=i(p))}return l}function Su({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((o,i)=>{if(i[te]){const{handleBounds:s}=i[te];let a=[],u=[];s&&(a=jr(i,s,"source",`${t}-${n}-${r}`),u=jr(i,s,"target",`${t}-${n}-${r}`)),o.push(...a,...u)}return o},[])}function or(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function En(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function Nu(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function Ko({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:o,getState:i,setState:s,isValidConnection:a,edgeUpdaterType:u,onReconnectEnd:l}){const c=Fo(e.target),{connectionMode:f,domNode:d,autoPanOnConnect:m,connectionRadius:w,onConnectStart:p,panBy:v,getNodes:g,cancelConnection:_}=i();let C=0,y;const{x:A,y:T}=He(e),D=c==null?void 0:c.elementFromPoint(A,T),H=or(u,D),I=d==null?void 0:d.getBoundingClientRect();if(!I||!H)return;let V,F=He(e,I),B=!1,L=null,h=!1,N=null;const b=Su({nodes:g(),nodeId:n,handleId:t,handleType:H}),E=()=>{if(!m)return;const[$,R]=Ho(F,I);v({x:$,y:R}),C=requestAnimationFrame(E)};s({connectionPosition:F,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:H,connectionStartHandle:{nodeId:n,handleId:t,type:H},connectionEndHandle:null}),p==null||p(e,{nodeId:n,handleId:t,handleType:H});function z($){const{transform:R}=i();F=He($,I);const{handle:P,validHandleResult:O}=_u($,c,Ln(F,R,!1,[1,1]),w,b,j=>Zo(j,f,n,t,o?"target":"source",a,c));if(y=P,B||(E(),B=!0),N=O.handleDomNode,L=O.connection,h=O.isValid,s({connectionPosition:y&&h?Yo({x:y.x,y:y.y},R):F,connectionStatus:Nu(!!y,h),connectionEndHandle:O.endHandle}),!y&&!h&&!N)return En(V);L.source!==L.target&&N&&(En(V),V=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",h),N.classList.toggle("react-flow__handle-valid",h))}function x($){var R,P;(y||N)&&L&&h&&(r==null||r(L)),(P=(R=i()).onConnectEnd)==null||P.call(R,$),u&&(l==null||l($)),En(V),_(),cancelAnimationFrame(C),B=!1,h=!1,L=null,N=null,c.removeEventListener("mousemove",z),c.removeEventListener("mouseup",x),c.removeEventListener("touchmove",z),c.removeEventListener("touchend",x)}c.addEventListener("mousemove",z),c.addEventListener("mouseup",x),c.addEventListener("touchmove",z),c.addEventListener("touchend",x)}const Or=()=>!0,ku=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Cu=(e,t,n)=>r=>{const{connectionStartHandle:o,connectionEndHandle:i,connectionClickStartHandle:s}=r;return{connecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n||(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},Qo=S.forwardRef(({type:e="source",position:t=X.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:o=!0,isConnectableEnd:i=!0,id:s,onConnect:a,children:u,className:l,onMouseDown:c,onTouchStart:f,...d},m)=>{var I,V;const w=s||null,p=e==="target",v=re(),g=yu(),{connectOnClick:_,noPanClassName:C}=J(ku,se),{connecting:y,clickConnecting:A}=J(Cu(g,w,e),se);g||(V=(I=v.getState()).onError)==null||V.call(I,"010",$e.error010());const T=F=>{const{defaultEdgeOptions:B,onConnect:L,hasDefaultEdges:h}=v.getState(),N={...B,...F};if(h){const{edges:b,setEdges:E}=v.getState();E(bu(N,b))}L==null||L(N),a==null||a(N)},D=F=>{if(!g)return;const B=Lo(F);o&&(B&&F.button===0||!B)&&Ko({event:F,handleId:w,nodeId:g,onConnect:T,isTarget:p,getState:v.getState,setState:v.setState,isValidConnection:n||v.getState().isValidConnection||Or}),B?c==null||c(F):f==null||f(F)},H=F=>{const{onClickConnectStart:B,onClickConnectEnd:L,connectionClickStartHandle:h,connectionMode:N,isValidConnection:b}=v.getState();if(!g||!h&&!o)return;if(!h){B==null||B(F,{nodeId:g,handleId:w,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:g,type:e,handleId:w}});return}const E=Fo(F.target),z=n||b||Or,{connection:x,isValid:$}=Zo({nodeId:g,id:w,type:e},N,h.nodeId,h.handleId||null,h.type,z,E);$&&T(x),L==null||L(F),v.setState({connectionClickStartHandle:null})};return k.createElement("div",{"data-handleid":w,"data-nodeid":g,"data-handlepos":t,"data-id":`${g}-${w}-${e}`,className:ie(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",C,l,{source:!p,target:p,connectable:r,connectablestart:o,connectableend:i,connecting:A,connectionindicator:r&&(o&&!y||i&&y)}]),onMouseDown:D,onTouchStart:D,onClick:_?H:void 0,ref:m,...d},u)});Qo.displayName="Handle";var Fe=S.memo(Qo);const Jo=({data:e,isConnectable:t,targetPosition:n=X.Top,sourcePosition:r=X.Bottom})=>k.createElement(k.Fragment,null,k.createElement(Fe,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,k.createElement(Fe,{type:"source",position:r,isConnectable:t}));Jo.displayName="DefaultNode";var Bn=S.memo(Jo);const es=({data:e,isConnectable:t,sourcePosition:n=X.Bottom})=>k.createElement(k.Fragment,null,e==null?void 0:e.label,k.createElement(Fe,{type:"source",position:n,isConnectable:t}));es.displayName="InputNode";var ts=S.memo(es);const ns=({data:e,isConnectable:t,targetPosition:n=X.Top})=>k.createElement(k.Fragment,null,k.createElement(Fe,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label);ns.displayName="OutputNode";var rs=S.memo(ns);const sr=()=>null;sr.displayName="GroupNode";const Au=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected).map(t=>({...t}))}),Xt=e=>e.id;function Mu(e,t){return se(e.selectedNodes.map(Xt),t.selectedNodes.map(Xt))&&se(e.selectedEdges.map(Xt),t.selectedEdges.map(Xt))}const os=S.memo(({onSelectionChange:e})=>{const t=re(),{selectedNodes:n,selectedEdges:r}=J(Au,Mu);return S.useEffect(()=>{const o={nodes:n,edges:r};e==null||e(o),t.getState().onSelectionChange.forEach(i=>i(o))},[n,r,e]),null});os.displayName="SelectionListener";const $u=e=>!!e.onSelectionChange;function Tu({onSelectionChange:e}){const t=J($u);return e||t?k.createElement(os,{onSelectionChange:e}):null}const Iu=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 rt(e,t){S.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function q(e,t,n){S.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const zu=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:o,onConnectStart:i,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:u,nodesDraggable:l,nodesConnectable:c,nodesFocusable:f,edgesFocusable:d,edgesUpdatable:m,elevateNodesOnSelect:w,minZoom:p,maxZoom:v,nodeExtent:g,onNodesChange:_,onEdgesChange:C,elementsSelectable:y,connectionMode:A,snapGrid:T,snapToGrid:D,translateExtent:H,connectOnClick:I,defaultEdgeOptions:V,fitView:F,fitViewOptions:B,onNodesDelete:L,onEdgesDelete:h,onNodeDrag:N,onNodeDragStart:b,onNodeDragStop:E,onSelectionDrag:z,onSelectionDragStart:x,onSelectionDragStop:$,noPanClassName:R,nodeOrigin:P,rfId:O,autoPanOnConnect:j,autoPanOnNodeDrag:U,onError:W,connectionRadius:G,isValidConnection:Z,nodeDragThreshold:ee})=>{const{setNodes:K,setEdges:he,setDefaultNodesAndEdges:ue,setMinZoom:me,setMaxZoom:fe,setTranslateExtent:ne,setNodeExtent:ve,reset:Q}=J(Iu,se),Y=re();return S.useEffect(()=>{const ce=r==null?void 0:r.map(Ve=>({...Ve,...V}));return ue(n,ce),()=>{Q()}},[]),q("defaultEdgeOptions",V,Y.setState),q("connectionMode",A,Y.setState),q("onConnect",o,Y.setState),q("onConnectStart",i,Y.setState),q("onConnectEnd",s,Y.setState),q("onClickConnectStart",a,Y.setState),q("onClickConnectEnd",u,Y.setState),q("nodesDraggable",l,Y.setState),q("nodesConnectable",c,Y.setState),q("nodesFocusable",f,Y.setState),q("edgesFocusable",d,Y.setState),q("edgesUpdatable",m,Y.setState),q("elementsSelectable",y,Y.setState),q("elevateNodesOnSelect",w,Y.setState),q("snapToGrid",D,Y.setState),q("snapGrid",T,Y.setState),q("onNodesChange",_,Y.setState),q("onEdgesChange",C,Y.setState),q("connectOnClick",I,Y.setState),q("fitViewOnInit",F,Y.setState),q("fitViewOnInitOptions",B,Y.setState),q("onNodesDelete",L,Y.setState),q("onEdgesDelete",h,Y.setState),q("onNodeDrag",N,Y.setState),q("onNodeDragStart",b,Y.setState),q("onNodeDragStop",E,Y.setState),q("onSelectionDrag",z,Y.setState),q("onSelectionDragStart",x,Y.setState),q("onSelectionDragStop",$,Y.setState),q("noPanClassName",R,Y.setState),q("nodeOrigin",P,Y.setState),q("rfId",O,Y.setState),q("autoPanOnConnect",j,Y.setState),q("autoPanOnNodeDrag",U,Y.setState),q("onError",W,Y.setState),q("connectionRadius",G,Y.setState),q("isValidConnection",Z,Y.setState),q("nodeDragThreshold",ee,Y.setState),rt(e,K),rt(t,he),rt(p,me),rt(v,fe),rt(H,ne),rt(g,ve),null},Xr={display:"none"},Du={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ss="react-flow__node-desc",is="react-flow__edge-desc",Ru="react-flow__aria-live",Pu=e=>e.ariaLiveMessage;function Hu({rfId:e}){const t=J(Pu);return k.createElement("div",{id:`${Ru}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Du},t)}function Fu({rfId:e,disableKeyboardA11y:t}){return k.createElement(k.Fragment,null,k.createElement("div",{id:`${ss}-${e}`,style:Xr},"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."," "),k.createElement("div",{id:`${is}-${e}`,style:Xr},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&k.createElement(Hu,{rfId:e}))}var Dt=(e=null,t={actInsideInputWithModifier:!0})=>{const[n,r]=S.useState(!1),o=S.useRef(!1),i=S.useRef(new Set([])),[s,a]=S.useMemo(()=>{if(e!==null){const l=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),c=l.reduce((f,d)=>f.concat(...d),[]);return[l,c]}return[[],[]]},[e]);return S.useEffect(()=>{const u=typeof document<"u"?document:null,l=(t==null?void 0:t.target)||u;if(e!==null){const c=m=>{if(o.current=m.ctrlKey||m.metaKey||m.shiftKey,(!o.current||o.current&&!t.actInsideInputWithModifier)&&Hn(m))return!1;const p=Ur(m.code,a);i.current.add(m[p]),Yr(s,i.current,!1)&&(m.preventDefault(),r(!0))},f=m=>{if((!o.current||o.current&&!t.actInsideInputWithModifier)&&Hn(m))return!1;const p=Ur(m.code,a);Yr(s,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(m[p]),m.key==="Meta"&&i.current.clear(),o.current=!1},d=()=>{i.current.clear(),r(!1)};return l==null||l.addEventListener("keydown",c),l==null||l.addEventListener("keyup",f),window.addEventListener("blur",d),()=>{l==null||l.removeEventListener("keydown",c),l==null||l.removeEventListener("keyup",f),window.removeEventListener("blur",d)}}},[e,r]),n};function Yr(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(o=>t.has(o)))}function Ur(e,t){return t.includes(e)?"code":"key"}function as(e,t,n,r){var a,u;const o=e.parentNode||e.parentId;if(!o)return n;const i=t.get(o),s=ut(i,r);return as(i,t,{x:(n.x??0)+s.x,y:(n.y??0)+s.y,z:(((a=i[te])==null?void 0:a.z)??0)>(n.z??0)?((u=i[te])==null?void 0:u.z)??0:n.z??0},r)}function cs(e,t,n){e.forEach(r=>{var i;const o=r.parentNode||r.parentId;if(o&&!e.has(o))throw new Error(`Parent node ${o} not found`);if(o||n!=null&&n[r.id]){const{x:s,y:a,z:u}=as(r,e,{...r.position,z:((i=r[te])==null?void 0:i.z)??0},t);r.positionAbsolute={x:s,y:a},r[te].z=u,n!=null&&n[r.id]&&(r[te].isParent=!0)}})}function Sn(e,t,n,r){const o=new Map,i={},s=r?1e3:0;return e.forEach(a=>{var m;const u=(de(a.zIndex)?a.zIndex:0)+(a.selected?s:0),l=t.get(a.id),c={...a,positionAbsolute:{x:a.position.x,y:a.position.y}},f=a.parentNode||a.parentId;f&&(i[f]=!0);const d=(l==null?void 0:l.type)&&(l==null?void 0:l.type)!==a.type;Object.defineProperty(c,te,{enumerable:!1,value:{handleBounds:d||(m=l==null?void 0:l[te])==null?void 0:m.handleBounds,z:u}}),o.set(a.id,c)}),cs(o,n,i),o}function ls(e,t={}){const{getNodes:n,width:r,height:o,minZoom:i,maxZoom:s,d3Zoom:a,d3Selection:u,fitViewOnInitDone:l,fitViewOnInit:c,nodeOrigin:f}=e(),d=t.initial&&!l&&c;if(a&&u&&(d||!t.initial)){const w=n().filter(v=>{var _;const g=t.includeHiddenNodes?v.width&&v.height:!v.hidden;return(_=t.nodes)!=null&&_.length?g&&t.nodes.some(C=>C.id===v.id):g}),p=w.every(v=>v.width&&v.height);if(w.length>0&&p){const v=rr(w,f),{x:g,y:_,zoom:C}=Wo(v,r,o,t.minZoom??i,t.maxZoom??s,t.padding??.1),y=Pe.translate(g,_).scale(C);return typeof t.duration=="number"&&t.duration>0?a.transform(Ue(u,t.duration),y):a.transform(u,y),!0}}return!1}function Vu(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[te]:r[te],selected:n.selected})}),new Map(t)}function Lu(e,t){return t.map(n=>{const r=e.find(o=>o.id===n.id);return r&&(n.selected=r.selected),n})}function Yt({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:o,edges:i,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:u,hasDefaultEdges:l}=n();e!=null&&e.length&&(u&&r({nodeInternals:Vu(e,o)}),s==null||s(e)),t!=null&&t.length&&(l&&r({edges:Lu(t,i)}),a==null||a(t))}const ot=()=>{},Bu={zoomIn:ot,zoomOut:ot,zoomTo:ot,getZoom:()=>1,setViewport:ot,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:ot,fitBounds:ot,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},ju=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Ou=()=>{const e=re(),{d3Zoom:t,d3Selection:n}=J(ju,se);return S.useMemo(()=>n&&t?{zoomIn:o=>t.scaleBy(Ue(n,o==null?void 0:o.duration),1.2),zoomOut:o=>t.scaleBy(Ue(n,o==null?void 0:o.duration),1/1.2),zoomTo:(o,i)=>t.scaleTo(Ue(n,i==null?void 0:i.duration),o),getZoom:()=>e.getState().transform[2],setViewport:(o,i)=>{const[s,a,u]=e.getState().transform,l=Pe.translate(o.x??s,o.y??a).scale(o.zoom??u);t.transform(Ue(n,i==null?void 0:i.duration),l)},getViewport:()=>{const[o,i,s]=e.getState().transform;return{x:o,y:i,zoom:s}},fitView:o=>ls(e.getState,o),setCenter:(o,i,s)=>{const{width:a,height:u,maxZoom:l}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:l,f=a/2-o*c,d=u/2-i*c,m=Pe.translate(f,d).scale(c);t.transform(Ue(n,s==null?void 0:s.duration),m)},fitBounds:(o,i)=>{const{width:s,height:a,minZoom:u,maxZoom:l}=e.getState(),{x:c,y:f,zoom:d}=Wo(o,s,a,u,l,(i==null?void 0:i.padding)??.1),m=Pe.translate(c,f).scale(d);t.transform(Ue(n,i==null?void 0:i.duration),m)},project:o=>{const{transform:i,snapToGrid:s,snapGrid:a}=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"),Ln(o,i,s,a)},screenToFlowPosition:o=>{const{transform:i,snapToGrid:s,snapGrid:a,domNode:u}=e.getState();if(!u)return o;const{x:l,y:c}=u.getBoundingClientRect(),f={x:o.x-l,y:o.y-c};return Ln(f,i,s,a)},flowToScreenPosition:o=>{const{transform:i,domNode:s}=e.getState();if(!s)return o;const{x:a,y:u}=s.getBoundingClientRect(),l=Yo(o,i);return{x:l.x+a,y:l.y+u}},viewportInitialized:!0}:Bu,[t,n])};function ir(){const e=Ou(),t=re(),n=S.useCallback(()=>t.getState().getNodes().map(p=>({...p})),[]),r=S.useCallback(p=>t.getState().nodeInternals.get(p),[]),o=S.useCallback(()=>{const{edges:p=[]}=t.getState();return p.map(v=>({...v}))},[]),i=S.useCallback(p=>{const{edges:v=[]}=t.getState();return v.find(g=>g.id===p)},[]),s=S.useCallback(p=>{const{getNodes:v,setNodes:g,hasDefaultNodes:_,onNodesChange:C}=t.getState(),y=v(),A=typeof p=="function"?p(y):p;if(_)g(A);else if(C){const T=A.length===0?y.map(D=>({type:"remove",id:D.id})):A.map(D=>({item:D,type:"reset"}));C(T)}},[]),a=S.useCallback(p=>{const{edges:v=[],setEdges:g,hasDefaultEdges:_,onEdgesChange:C}=t.getState(),y=typeof p=="function"?p(v):p;if(_)g(y);else if(C){const A=y.length===0?v.map(T=>({type:"remove",id:T.id})):y.map(T=>({item:T,type:"reset"}));C(A)}},[]),u=S.useCallback(p=>{const v=Array.isArray(p)?p:[p],{getNodes:g,setNodes:_,hasDefaultNodes:C,onNodesChange:y}=t.getState();if(C){const T=[...g(),...v];_(T)}else if(y){const A=v.map(T=>({item:T,type:"add"}));y(A)}},[]),l=S.useCallback(p=>{const v=Array.isArray(p)?p:[p],{edges:g=[],setEdges:_,hasDefaultEdges:C,onEdgesChange:y}=t.getState();if(C)_([...g,...v]);else if(y){const A=v.map(T=>({item:T,type:"add"}));y(A)}},[]),c=S.useCallback(()=>{const{getNodes:p,edges:v=[],transform:g}=t.getState(),[_,C,y]=g;return{nodes:p().map(A=>({...A})),edges:v.map(A=>({...A})),viewport:{x:_,y:C,zoom:y}}},[]),f=S.useCallback(({nodes:p,edges:v})=>{const{nodeInternals:g,getNodes:_,edges:C,hasDefaultNodes:y,hasDefaultEdges:A,onNodesDelete:T,onEdgesDelete:D,onNodesChange:H,onEdgesChange:I}=t.getState(),V=(p||[]).map(N=>N.id),F=(v||[]).map(N=>N.id),B=_().reduce((N,b)=>{const E=b.parentNode||b.parentId,z=!V.includes(b.id)&&E&&N.find($=>$.id===E);return(typeof b.deletable=="boolean"?b.deletable:!0)&&(V.includes(b.id)||z)&&N.push(b),N},[]),L=C.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),h=L.filter(N=>F.includes(N.id));if(B||h){const N=qo(B,L),b=[...h,...N],E=b.reduce((z,x)=>(z.includes(x.id)||z.push(x.id),z),[]);if((A||y)&&(A&&t.setState({edges:C.filter(z=>!E.includes(z.id))}),y&&(B.forEach(z=>{g.delete(z.id)}),t.setState({nodeInternals:new Map(g)}))),E.length>0&&(D==null||D(b),I&&I(E.map(z=>({id:z,type:"remove"})))),B.length>0&&(T==null||T(B),H)){const z=B.map(x=>({id:x.id,type:"remove"}));H(z)}}},[]),d=S.useCallback(p=>{const v=lu(p),g=v?null:t.getState().nodeInternals.get(p.id);return!v&&!g?[null,null,v]:[v?p:Hr(g),g,v]},[]),m=S.useCallback((p,v=!0,g)=>{const[_,C,y]=d(p);return _?(g||t.getState().getNodes()).filter(A=>{if(!y&&(A.id===C.id||!A.positionAbsolute))return!1;const T=Hr(A),D=Pn(T,_);return v&&D>0||D>=_.width*_.height}):[]},[]),w=S.useCallback((p,v,g=!0)=>{const[_]=d(p);if(!_)return!1;const C=Pn(_,v);return g&&C>0||C>=_.width*_.height},[]);return S.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:o,getEdge:i,setNodes:s,setEdges:a,addNodes:u,addEdges:l,toObject:c,deleteElements:f,getIntersectingNodes:m,isNodeIntersecting:w}),[e,n,r,o,i,s,a,u,l,c,f,m,w])}const Xu={actInsideInputWithModifier:!1};var Yu=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=re(),{deleteElements:r}=ir(),o=Dt(e,Xu),i=Dt(t);S.useEffect(()=>{if(o){const{edges:s,getNodes:a}=n.getState(),u=a().filter(c=>c.selected),l=s.filter(c=>c.selected);r({nodes:u,edges:l}),n.setState({nodesSelectionActive:!1})}},[o]),S.useEffect(()=>{n.setState({multiSelectionActive:i})},[i])};function Uu(e){const t=re();S.useEffect(()=>{let n;const r=()=>{var i,s;if(!e.current)return;const o=Zn(e.current);(o.height===0||o.width===0)&&((s=(i=t.getState()).onError)==null||s.call(i,"004",$e.error004())),t.setState({width:o.width||500,height:o.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const ar={position:"absolute",width:"100%",height:"100%",top:0,left:0},qu=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Ut=e=>({x:e.x,y:e.y,zoom:e.k}),st=(e,t)=>e.target.closest(`.${t}`),qr=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Wr=e=>{const t=e.ctrlKey&&rn()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t},Wu=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Gu=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:o=!0,zoomOnPinch:i=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:u=We.Free,zoomOnDoubleClick:l=!0,elementsSelectable:c,panOnDrag:f=!0,defaultViewport:d,translateExtent:m,minZoom:w,maxZoom:p,zoomActivationKeyCode:v,preventScrolling:g=!0,children:_,noWheelClassName:C,noPanClassName:y})=>{const A=S.useRef(),T=re(),D=S.useRef(!1),H=S.useRef(!1),I=S.useRef(null),V=S.useRef({x:0,y:0,zoom:0}),{d3Zoom:F,d3Selection:B,d3ZoomHandler:L,userSelectionActive:h}=J(Wu,se),N=Dt(v),b=S.useRef(0),E=S.useRef(!1),z=S.useRef();return Uu(I),S.useEffect(()=>{if(I.current){const x=I.current.getBoundingClientRect(),$=tu().scaleExtent([w,p]).translateExtent(m),R=ge(I.current).call($),P=Pe.translate(d.x,d.y).scale(mt(d.zoom,w,p)),O=[[0,0],[x.width,x.height]],j=$.constrain()(P,O,m);$.transform(R,j),$.wheelDelta(Wr),T.setState({d3Zoom:$,d3Selection:R,d3ZoomHandler:R.on("wheel.zoom"),transform:[j.x,j.y,j.k],domNode:I.current.closest(".react-flow")})}},[]),S.useEffect(()=>{B&&F&&(s&&!N&&!h?B.on("wheel.zoom",x=>{if(st(x,C))return!1;x.preventDefault(),x.stopImmediatePropagation();const $=B.property("__zoom").k||1;if(x.ctrlKey&&i){const Z=_e(x),ee=Wr(x),K=$*Math.pow(2,ee);F.scaleTo(B,K,Z,x);return}const R=x.deltaMode===1?20:1;let P=u===We.Vertical?0:x.deltaX*R,O=u===We.Horizontal?0:x.deltaY*R;!rn()&&x.shiftKey&&u!==We.Vertical&&(P=x.deltaY*R,O=0),F.translateBy(B,-(P/$)*a,-(O/$)*a,{internal:!0});const j=Ut(B.property("__zoom")),{onViewportChangeStart:U,onViewportChange:W,onViewportChangeEnd:G}=T.getState();clearTimeout(z.current),E.current||(E.current=!0,t==null||t(x,j),U==null||U(j)),E.current&&(e==null||e(x,j),W==null||W(j),z.current=setTimeout(()=>{n==null||n(x,j),G==null||G(j),E.current=!1},150))},{passive:!1}):typeof L<"u"&&B.on("wheel.zoom",function(x,$){if(!g&&x.type==="wheel"&&!x.ctrlKey||st(x,C))return null;x.preventDefault(),L.call(this,x,$)},{passive:!1}))},[h,s,u,B,F,L,N,i,g,C,t,e,n]),S.useEffect(()=>{F&&F.on("start",x=>{var P,O;if(!x.sourceEvent||x.sourceEvent.internal)return null;b.current=(P=x.sourceEvent)==null?void 0:P.button;const{onViewportChangeStart:$}=T.getState(),R=Ut(x.transform);D.current=!0,V.current=R,((O=x.sourceEvent)==null?void 0:O.type)==="mousedown"&&T.setState({paneDragging:!0}),$==null||$(R),t==null||t(x.sourceEvent,R)})},[F,t]),S.useEffect(()=>{F&&(h&&!D.current?F.on("zoom",null):h||F.on("zoom",x=>{var R;const{onViewportChange:$}=T.getState();if(T.setState({transform:[x.transform.x,x.transform.y,x.transform.k]}),H.current=!!(r&&qr(f,b.current??0)),(e||$)&&!((R=x.sourceEvent)!=null&&R.internal)){const P=Ut(x.transform);$==null||$(P),e==null||e(x.sourceEvent,P)}}))},[h,F,e,f,r]),S.useEffect(()=>{F&&F.on("end",x=>{if(!x.sourceEvent||x.sourceEvent.internal)return null;const{onViewportChangeEnd:$}=T.getState();if(D.current=!1,T.setState({paneDragging:!1}),r&&qr(f,b.current??0)&&!H.current&&r(x.sourceEvent),H.current=!1,(n||$)&&qu(V.current,x.transform)){const R=Ut(x.transform);V.current=R,clearTimeout(A.current),A.current=setTimeout(()=>{$==null||$(R),n==null||n(x.sourceEvent,R)},s?150:0)}})},[F,s,f,n,r]),S.useEffect(()=>{F&&F.filter(x=>{const $=N||o,R=i&&x.ctrlKey;if((f===!0||Array.isArray(f)&&f.includes(1))&&x.button===1&&x.type==="mousedown"&&(st(x,"react-flow__node")||st(x,"react-flow__edge")))return!0;if(!f&&!$&&!s&&!l&&!i||h||!l&&x.type==="dblclick"||st(x,C)&&x.type==="wheel"||st(x,y)&&(x.type!=="wheel"||s&&x.type==="wheel"&&!N)||!i&&x.ctrlKey&&x.type==="wheel"||!$&&!s&&!R&&x.type==="wheel"||!f&&(x.type==="mousedown"||x.type==="touchstart")||Array.isArray(f)&&!f.includes(x.button)&&x.type==="mousedown")return!1;const P=Array.isArray(f)&&f.includes(x.button)||!x.button||x.button<=1;return(!x.ctrlKey||x.type==="wheel")&&P})},[h,F,o,i,s,l,f,c,N]),k.createElement("div",{className:"react-flow__renderer",ref:I,style:ar},_)},Zu=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Ku(){const{userSelectionActive:e,userSelectionRect:t}=J(Zu,se);return e&&t?k.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 Gr(e,t){const n=t.parentNode||t.parentId,r=e.find(o=>o.id===n);if(r){const o=t.position.x+t.width-r.width,i=t.position.y+t.height-r.height;if(o>0||i>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,o>0&&(r.style.width+=o),i>0&&(r.style.height+=i),t.position.x<0){const s=Math.abs(t.position.x);r.position.x=r.position.x-s,r.style.width+=s,t.position.x=0}if(t.position.y<0){const s=Math.abs(t.position.y);r.position.y=r.position.y-s,r.style.height+=s,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function Qu(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,o)=>{const i=e.filter(a=>a.id===o.id);if(i.length===0)return r.push(o),r;const s={...o};for(const a of i)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&Gr(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&Gr(r,s);break}case"remove":return r}return r.push(s),r},n)}function Ju(e,t){return Qu(e,t)}const De=(e,t)=>({id:e,type:"select",selected:t});function at(e,t){return e.reduce((n,r)=>{const o=t.includes(r.id);return!r.selected&&o?(r.selected=!0,n.push(De(r.id,!0))):r.selected&&!o&&(r.selected=!1,n.push(De(r.id,!1))),n},[])}const Nn=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},ef=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),us=S.memo(({isSelecting:e,selectionMode:t=It.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:o,onPaneClick:i,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:u,onPaneMouseMove:l,onPaneMouseLeave:c,children:f})=>{const d=S.useRef(null),m=re(),w=S.useRef(0),p=S.useRef(0),v=S.useRef(),{userSelectionActive:g,elementsSelectable:_,dragging:C}=J(ef,se),y=()=>{m.setState({userSelectionActive:!1,userSelectionRect:null}),w.current=0,p.current=0},A=L=>{i==null||i(L),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1})},T=L=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){L.preventDefault();return}s==null||s(L)},D=a?L=>a(L):void 0,H=L=>{const{resetSelectedElements:h,domNode:N}=m.getState();if(v.current=N==null?void 0:N.getBoundingClientRect(),!_||!e||L.button!==0||L.target!==d.current||!v.current)return;const{x:b,y:E}=He(L,v.current);h(),m.setState({userSelectionRect:{width:0,height:0,startX:b,startY:E,x:b,y:E}}),r==null||r(L)},I=L=>{const{userSelectionRect:h,nodeInternals:N,edges:b,transform:E,onNodesChange:z,onEdgesChange:x,nodeOrigin:$,getNodes:R}=m.getState();if(!e||!v.current||!h)return;m.setState({userSelectionActive:!0,nodesSelectionActive:!1});const P=He(L,v.current),O=h.startX??0,j=h.startY??0,U={...h,x:P.x<O?P.x:O,y:P.y<j?P.y:j,width:Math.abs(P.x-O),height:Math.abs(P.y-j)},W=R(),G=Uo(N,U,E,t===It.Partial,!0,$),Z=qo(G,b).map(K=>K.id),ee=G.map(K=>K.id);if(w.current!==ee.length){w.current=ee.length;const K=at(W,ee);K.length&&(z==null||z(K))}if(p.current!==Z.length){p.current=Z.length;const K=at(b,Z);K.length&&(x==null||x(K))}m.setState({userSelectionRect:U})},V=L=>{if(L.button!==0)return;const{userSelectionRect:h}=m.getState();!g&&h&&L.target===d.current&&(A==null||A(L)),m.setState({nodesSelectionActive:w.current>0}),y(),o==null||o(L)},F=L=>{g&&(m.setState({nodesSelectionActive:w.current>0}),o==null||o(L)),y()},B=_&&(e||g);return k.createElement("div",{className:ie(["react-flow__pane",{dragging:C,selection:e}]),onClick:B?void 0:Nn(A,d),onContextMenu:Nn(T,d),onWheel:Nn(D,d),onMouseEnter:B?void 0:u,onMouseDown:B?H:void 0,onMouseMove:B?I:l,onMouseUp:B?V:void 0,onMouseLeave:B?F:c,ref:d,style:ar},f,k.createElement(Ku,null))});us.displayName="Pane";function fs(e,t){const n=e.parentNode||e.parentId;if(!n)return!1;const r=t.get(n);return r?r.selected?!0:fs(r,t):!1}function Zr(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function tf(e,t,n,r){return Array.from(e.values()).filter(o=>(o.selected||o.id===r)&&(!o.parentNode||o.parentId||!fs(o,e))&&(o.draggable||t&&typeof o.draggable>"u")).map(o=>{var i,s;return{id:o.id,position:o.position||{x:0,y:0},positionAbsolute:o.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((i=o.positionAbsolute)==null?void 0:i.x)??0),y:n.y-(((s=o.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:o.extent,parentNode:o.parentNode||o.parentId,parentId:o.parentNode||o.parentId,width:o.width,height:o.height,expandParent:o.expandParent}})}function nf(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function ds(e,t,n,r,o=[0,0],i){const s=nf(e,e.extent||r);let a=s;const u=e.parentNode||e.parentId;if(e.extent==="parent"&&!e.expandParent)if(u&&e.width&&e.height){const f=n.get(u),{x:d,y:m}=ut(f,o).positionAbsolute;a=f&&de(d)&&de(m)&&de(f.width)&&de(f.height)?[[d+e.width*o[0],m+e.height*o[1]],[d+f.width-e.width+e.width*o[0],m+f.height-e.height+e.height*o[1]]]:a}else i==null||i("005",$e.error005()),a=s;else if(e.extent&&u&&e.extent!=="parent"){const f=n.get(u),{x:d,y:m}=ut(f,o).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+m],[e.extent[1][0]+d,e.extent[1][1]+m]]}let l={x:0,y:0};if(u){const f=n.get(u);l=ut(f,o).positionAbsolute}const c=a&&a!=="parent"?Kn(t,a):t;return{position:{x:c.x-l.x,y:c.y-l.y},positionAbsolute:c}}function kn({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(o=>({...n.get(o.id),position:o.position,positionAbsolute:o.positionAbsolute}));return[e?r.find(o=>o.id===e):r[0],r]}const Kr=(e,t,n,r)=>{const o=t.querySelectorAll(e);if(!o||!o.length)return null;const i=Array.from(o),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return i.map(u=>{const l=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),position:u.getAttribute("data-handlepos"),x:(l.left-s.left-a.x)/n,y:(l.top-s.top-a.y)/n,...Zn(u)}})};function _t(e,t,n){return n===void 0?n:r=>{const o=t().nodeInternals.get(e);o&&n(r,{...o})}}function jn({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:o,unselectNodesAndEdges:i,multiSelectionActive:s,nodeInternals:a,onError:u}=t.getState(),l=a.get(e);if(!l){u==null||u("012",$e.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(i({nodes:[l],edges:[]}),requestAnimationFrame(()=>{var c;return(c=r==null?void 0:r.current)==null?void 0:c.blur()})):o([e])}function rf(){const e=re();return S.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:o,snapToGrid:i}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,u={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:i?o[0]*Math.round(u.x/o[0]):u.x,ySnapped:i?o[1]*Math.round(u.y/o[1]):u.y,...u}},[])}function Cn(e){return(t,n,r)=>e==null?void 0:e(t,r)}function hs({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:o,isSelectable:i,selectNodesOnDrag:s}){const a=re(),[u,l]=S.useState(!1),c=S.useRef([]),f=S.useRef({x:null,y:null}),d=S.useRef(0),m=S.useRef(null),w=S.useRef({x:0,y:0}),p=S.useRef(null),v=S.useRef(!1),g=S.useRef(!1),_=S.useRef(!1),C=rf();return S.useEffect(()=>{if(e!=null&&e.current){const y=ge(e.current),A=({x:H,y:I})=>{const{nodeInternals:V,onNodeDrag:F,onSelectionDrag:B,updateNodePositions:L,nodeExtent:h,snapGrid:N,snapToGrid:b,nodeOrigin:E,onError:z}=a.getState();f.current={x:H,y:I};let x=!1,$={x:0,y:0,x2:0,y2:0};if(c.current.length>1&&h){const P=rr(c.current,E);$=Qn(P)}if(c.current=c.current.map(P=>{const O={x:H-P.distance.x,y:I-P.distance.y};b&&(O.x=N[0]*Math.round(O.x/N[0]),O.y=N[1]*Math.round(O.y/N[1]));const j=[[h[0][0],h[0][1]],[h[1][0],h[1][1]]];c.current.length>1&&h&&!P.extent&&(j[0][0]=P.positionAbsolute.x-$.x+h[0][0],j[1][0]=P.positionAbsolute.x+(P.width??0)-$.x2+h[1][0],j[0][1]=P.positionAbsolute.y-$.y+h[0][1],j[1][1]=P.positionAbsolute.y+(P.height??0)-$.y2+h[1][1]);const U=ds(P,O,V,j,E,z);return x=x||P.position.x!==U.position.x||P.position.y!==U.position.y,P.position=U.position,P.positionAbsolute=U.positionAbsolute,P}),!x)return;L(c.current,!0,!0),l(!0);const R=o?F:Cn(B);if(R&&p.current){const[P,O]=kn({nodeId:o,dragItems:c.current,nodeInternals:V});R(p.current,P,O)}},T=()=>{if(!m.current)return;const[H,I]=Ho(w.current,m.current);if(H!==0||I!==0){const{transform:V,panBy:F}=a.getState();f.current.x=(f.current.x??0)-H/V[2],f.current.y=(f.current.y??0)-I/V[2],F({x:H,y:I})&&A(f.current)}d.current=requestAnimationFrame(T)},D=H=>{var E;const{nodeInternals:I,multiSelectionActive:V,nodesDraggable:F,unselectNodesAndEdges:B,onNodeDragStart:L,onSelectionDragStart:h}=a.getState();g.current=!0;const N=o?L:Cn(h);(!s||!i)&&!V&&o&&((E=I.get(o))!=null&&E.selected||B()),o&&i&&s&&jn({id:o,store:a,nodeRef:e});const b=C(H);if(f.current=b,c.current=tf(I,F,b,o),N&&c.current){const[z,x]=kn({nodeId:o,dragItems:c.current,nodeInternals:I});N(H.sourceEvent,z,x)}};if(t)y.on(".drag",null);else{const H=fc().on("start",I=>{const{domNode:V,nodeDragThreshold:F}=a.getState();F===0&&D(I),_.current=!1;const B=C(I);f.current=B,m.current=(V==null?void 0:V.getBoundingClientRect())||null,w.current=He(I.sourceEvent,m.current)}).on("drag",I=>{var L,h;const V=C(I),{autoPanOnNodeDrag:F,nodeDragThreshold:B}=a.getState();if(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1&&(_.current=!0),!_.current){if(!v.current&&g.current&&F&&(v.current=!0,T()),!g.current){const N=V.xSnapped-(((L=f==null?void 0:f.current)==null?void 0:L.x)??0),b=V.ySnapped-(((h=f==null?void 0:f.current)==null?void 0:h.y)??0);Math.sqrt(N*N+b*b)>B&&D(I)}(f.current.x!==V.xSnapped||f.current.y!==V.ySnapped)&&c.current&&g.current&&(p.current=I.sourceEvent,w.current=He(I.sourceEvent,m.current),A(V))}}).on("end",I=>{if(!(!g.current||_.current)&&(l(!1),v.current=!1,g.current=!1,cancelAnimationFrame(d.current),c.current)){const{updateNodePositions:V,nodeInternals:F,onNodeDragStop:B,onSelectionDragStop:L}=a.getState(),h=o?B:Cn(L);if(V(c.current,!1,!1),h){const[N,b]=kn({nodeId:o,dragItems:c.current,nodeInternals:F});h(I.sourceEvent,N,b)}}}).filter(I=>{const V=I.target;return!I.button&&(!n||!Zr(V,`.${n}`,e))&&(!r||Zr(V,r,e))});return y.call(H),()=>{y.on(".drag",null)}}}},[e,t,n,r,i,a,o,s,C]),u}function ms(){const e=re();return S.useCallback(n=>{const{nodeInternals:r,nodeExtent:o,updateNodePositions:i,getNodes:s,snapToGrid:a,snapGrid:u,onError:l,nodesDraggable:c}=e.getState(),f=s().filter(_=>_.selected&&(_.draggable||c&&typeof _.draggable>"u")),d=a?u[0]:5,m=a?u[1]:5,w=n.isShiftPressed?4:1,p=n.x*d*w,v=n.y*m*w,g=f.map(_=>{if(_.positionAbsolute){const C={x:_.positionAbsolute.x+p,y:_.positionAbsolute.y+v};a&&(C.x=u[0]*Math.round(C.x/u[0]),C.y=u[1]*Math.round(C.y/u[1]));const{positionAbsolute:y,position:A}=ds(_,C,r,o,void 0,l);_.position=A,_.positionAbsolute=y}return _});i(g,!0,!1)},[])}const ft={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Et=e=>{const t=({id:n,type:r,data:o,xPos:i,yPos:s,xPosOrigin:a,yPosOrigin:u,selected:l,onClick:c,onMouseEnter:f,onMouseMove:d,onMouseLeave:m,onContextMenu:w,onDoubleClick:p,style:v,className:g,isDraggable:_,isSelectable:C,isConnectable:y,isFocusable:A,selectNodesOnDrag:T,sourcePosition:D,targetPosition:H,hidden:I,resizeObserver:V,dragHandle:F,zIndex:B,isParent:L,noDragClassName:h,noPanClassName:N,initialized:b,disableKeyboardA11y:E,ariaLabel:z,rfId:x,hasHandleBounds:$})=>{const R=re(),P=S.useRef(null),O=S.useRef(null),j=S.useRef(D),U=S.useRef(H),W=S.useRef(r),G=C||_||c||f||d||m,Z=ms(),ee=_t(n,R.getState,f),K=_t(n,R.getState,d),he=_t(n,R.getState,m),ue=_t(n,R.getState,w),me=_t(n,R.getState,p),fe=Q=>{const{nodeDragThreshold:Y}=R.getState();if(C&&(!T||!_||Y>0)&&jn({id:n,store:R,nodeRef:P}),c){const ce=R.getState().nodeInternals.get(n);ce&&c(Q,{...ce})}},ne=Q=>{if(!Hn(Q)&&!E)if(Vo.includes(Q.key)&&C){const Y=Q.key==="Escape";jn({id:n,store:R,unselect:Y,nodeRef:P})}else _&&l&&Object.prototype.hasOwnProperty.call(ft,Q.key)&&(R.setState({ariaLiveMessage:`Moved selected node ${Q.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~i}, y: ${~~s}`}),Z({x:ft[Q.key].x,y:ft[Q.key].y,isShiftPressed:Q.shiftKey}))};S.useEffect(()=>()=>{O.current&&(V==null||V.unobserve(O.current),O.current=null)},[]),S.useEffect(()=>{if(P.current&&!I){const Q=P.current;(!b||!$||O.current!==Q)&&(O.current&&(V==null||V.unobserve(O.current)),V==null||V.observe(Q),O.current=Q)}},[I,b,$]),S.useEffect(()=>{const Q=W.current!==r,Y=j.current!==D,ce=U.current!==H;P.current&&(Q||Y||ce)&&(Q&&(W.current=r),Y&&(j.current=D),ce&&(U.current=H),R.getState().updateNodeDimensions([{id:n,nodeElement:P.current,forceUpdate:!0}]))},[n,r,D,H]);const ve=hs({nodeRef:P,disabled:I||!_,noDragClassName:h,handleSelector:F,nodeId:n,isSelectable:C,selectNodesOnDrag:T});return I?null:k.createElement("div",{className:ie(["react-flow__node",`react-flow__node-${r}`,{[N]:_},g,{selected:l,selectable:C,parent:L,dragging:ve}]),ref:P,style:{zIndex:B,transform:`translate(${a}px,${u}px)`,pointerEvents:G?"all":"none",visibility:b?"visible":"hidden",...v},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:ee,onMouseMove:K,onMouseLeave:he,onContextMenu:ue,onClick:fe,onDoubleClick:me,onKeyDown:A?ne:void 0,tabIndex:A?0:void 0,role:A?"button":void 0,"aria-describedby":E?void 0:`${ss}-${x}`,"aria-label":z},k.createElement(gu,{value:n},k.createElement(e,{id:n,data:o,type:r,xPos:i,yPos:s,selected:l,isConnectable:y,sourcePosition:D,targetPosition:H,dragging:ve,dragHandle:F,zIndex:B})))};return t.displayName="NodeWrapper",S.memo(t)};const of=e=>{const t=e.getNodes().filter(n=>n.selected);return{...rr(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function sf({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=re(),{width:o,height:i,x:s,y:a,transformString:u,userSelectionActive:l}=J(of,se),c=ms(),f=S.useRef(null);if(S.useEffect(()=>{var w;n||(w=f.current)==null||w.focus({preventScroll:!0})},[n]),hs({nodeRef:f}),l||!o||!i)return null;const d=e?w=>{const p=r.getState().getNodes().filter(v=>v.selected);e(w,p)}:void 0,m=w=>{Object.prototype.hasOwnProperty.call(ft,w.key)&&c({x:ft[w.key].x,y:ft[w.key].y,isShiftPressed:w.shiftKey})};return k.createElement("div",{className:ie(["react-flow__nodesselection","react-flow__container",t]),style:{transform:u}},k.createElement("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:d,tabIndex:n?void 0:-1,onKeyDown:n?void 0:m,style:{width:o,height:i,top:a,left:s}}))}var af=S.memo(sf);const cf=e=>e.nodesSelectionActive,ps=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:s,deleteKeyCode:a,onMove:u,onMoveStart:l,onMoveEnd:c,selectionKeyCode:f,selectionOnDrag:d,selectionMode:m,onSelectionStart:w,onSelectionEnd:p,multiSelectionKeyCode:v,panActivationKeyCode:g,zoomActivationKeyCode:_,elementsSelectable:C,zoomOnScroll:y,zoomOnPinch:A,panOnScroll:T,panOnScrollSpeed:D,panOnScrollMode:H,zoomOnDoubleClick:I,panOnDrag:V,defaultViewport:F,translateExtent:B,minZoom:L,maxZoom:h,preventScrolling:N,onSelectionContextMenu:b,noWheelClassName:E,noPanClassName:z,disableKeyboardA11y:x})=>{const $=J(cf),R=Dt(f),P=Dt(g),O=P||V,j=P||T,U=R||d&&O!==!0;return Yu({deleteKeyCode:a,multiSelectionKeyCode:v}),k.createElement(Gu,{onMove:u,onMoveStart:l,onMoveEnd:c,onPaneContextMenu:i,elementsSelectable:C,zoomOnScroll:y,zoomOnPinch:A,panOnScroll:j,panOnScrollSpeed:D,panOnScrollMode:H,zoomOnDoubleClick:I,panOnDrag:!R&&O,defaultViewport:F,translateExtent:B,minZoom:L,maxZoom:h,zoomActivationKeyCode:_,preventScrolling:N,noWheelClassName:E,noPanClassName:z},k.createElement(us,{onSelectionStart:w,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:s,panOnDrag:O,isSelecting:!!U,selectionMode:m},e,$&&k.createElement(af,{onSelectionContextMenu:b,noPanClassName:z,disableKeyboardA11y:x})))};ps.displayName="FlowRenderer";var lf=S.memo(ps);function uf(e){return J(S.useCallback(n=>e?Uo(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}function ff(e){const t={input:Et(e.input||ts),default:Et(e.default||Bn),output:Et(e.output||rs),group:Et(e.group||sr)},n={},r=Object.keys(e).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,i)=>(o[i]=Et(e[i]||Bn),o),n);return{...t,...r}}const df=({x:e,y:t,width:n,height:r,origin:o})=>!n||!r?{x:e,y:t}: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]},hf=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),gs=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:o,updateNodeDimensions:i,onError:s}=J(hf,se),a=uf(e.onlyRenderVisibleElements),u=S.useRef(),l=S.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(f=>{const d=f.map(m=>({id:m.target.getAttribute("data-id"),nodeElement:m.target,forceUpdate:!0}));i(d)});return u.current=c,c},[]);return S.useEffect(()=>()=>{var c;(c=u==null?void 0:u.current)==null||c.disconnect()},[]),k.createElement("div",{className:"react-flow__nodes",style:ar},a.map(c=>{var A,T,D;let f=c.type||"default";e.nodeTypes[f]||(s==null||s("003",$e.error003(f)),f="default");const d=e.nodeTypes[f]||e.nodeTypes.default,m=!!(c.draggable||t&&typeof c.draggable>"u"),w=!!(c.selectable||o&&typeof c.selectable>"u"),p=!!(c.connectable||n&&typeof c.connectable>"u"),v=!!(c.focusable||r&&typeof c.focusable>"u"),g=e.nodeExtent?Kn(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,_=(g==null?void 0:g.x)??0,C=(g==null?void 0:g.y)??0,y=df({x:_,y:C,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return k.createElement(d,{key:c.id,id:c.id,className:c.className,style:c.style,type:f,data:c.data,sourcePosition:c.sourcePosition||X.Bottom,targetPosition:c.targetPosition||X.Top,hidden:c.hidden,xPos:_,yPos:C,xPosOrigin:y.x,yPosOrigin:y.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:m,isSelectable:w,isConnectable:p,isFocusable:v,resizeObserver:l,dragHandle:c.dragHandle,zIndex:((A=c[te])==null?void 0:A.z)??0,isParent:!!((T=c[te])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel,hasHandleBounds:!!((D=c[te])!=null&&D.handleBounds)})}))};gs.displayName="NodeRenderer";var mf=S.memo(gs);const pf=(e,t,n)=>n===X.Left?e-t:n===X.Right?e+t:e,gf=(e,t,n)=>n===X.Top?e-t:n===X.Bottom?e+t:e,Qr="react-flow__edgeupdater",Jr=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:o,onMouseEnter:i,onMouseOut:s,type:a})=>k.createElement("circle",{onMouseDown:o,onMouseEnter:i,onMouseOut:s,className:ie([Qr,`${Qr}-${a}`]),cx:pf(t,r,e),cy:gf(n,r,e),r,stroke:"transparent",fill:"transparent"}),yf=()=>!0;var it=e=>{const t=({id:n,className:r,type:o,data:i,onClick:s,onEdgeDoubleClick:a,selected:u,animated:l,label:c,labelStyle:f,labelShowBg:d,labelBgStyle:m,labelBgPadding:w,labelBgBorderRadius:p,style:v,source:g,target:_,sourceX:C,sourceY:y,targetX:A,targetY:T,sourcePosition:D,targetPosition:H,elementsSelectable:I,hidden:V,sourceHandleId:F,targetHandleId:B,onContextMenu:L,onMouseEnter:h,onMouseMove:N,onMouseLeave:b,reconnectRadius:E,onReconnect:z,onReconnectStart:x,onReconnectEnd:$,markerEnd:R,markerStart:P,rfId:O,ariaLabel:j,isFocusable:U,isReconnectable:W,pathOptions:G,interactionWidth:Z,disableKeyboardA11y:ee})=>{const K=S.useRef(null),[he,ue]=S.useState(!1),[me,fe]=S.useState(!1),ne=re(),ve=S.useMemo(()=>`url('#${Vn(P,O)}')`,[P,O]),Q=S.useMemo(()=>`url('#${Vn(R,O)}')`,[R,O]);if(V)return null;const Y=oe=>{var be;const{edges:pe,addSelectedEdges:je,unselectNodesAndEdges:Oe,multiSelectionActive:Xe}=ne.getState(),ke=pe.find(yt=>yt.id===n);ke&&(I&&(ne.setState({nodesSelectionActive:!1}),ke.selected&&Xe?(Oe({nodes:[],edges:[ke]}),(be=K.current)==null||be.blur()):je([n])),s&&s(oe,ke))},ce=bt(n,ne.getState,a),Ve=bt(n,ne.getState,L),pt=bt(n,ne.getState,h),Qe=bt(n,ne.getState,N),Je=bt(n,ne.getState,b),Ne=(oe,pe)=>{if(oe.button!==0)return;const{edges:je,isValidConnection:Oe}=ne.getState(),Xe=pe?_:g,ke=(pe?B:F)||null,be=pe?"target":"source",yt=Oe||yf,dn=pe,xt=je.find(Ye=>Ye.id===n);fe(!0),x==null||x(oe,xt,be);const hn=Ye=>{fe(!1),$==null||$(Ye,xt,be)};Ko({event:oe,handleId:ke,nodeId:Xe,onConnect:Ye=>z==null?void 0:z(xt,Ye),isTarget:dn,getState:ne.getState,setState:ne.setState,isValidConnection:yt,edgeUpdaterType:be,onReconnectEnd:hn})},et=oe=>Ne(oe,!0),Le=oe=>Ne(oe,!1),Be=()=>ue(!0),tt=()=>ue(!1),nt=!I&&!s,gt=oe=>{var pe;if(!ee&&Vo.includes(oe.key)&&I){const{unselectNodesAndEdges:je,addSelectedEdges:Oe,edges:Xe}=ne.getState();oe.key==="Escape"?((pe=K.current)==null||pe.blur(),je({edges:[Xe.find(be=>be.id===n)]})):Oe([n])}};return k.createElement("g",{className:ie(["react-flow__edge",`react-flow__edge-${o}`,r,{selected:u,animated:l,inactive:nt,updating:he}]),onClick:Y,onDoubleClick:ce,onContextMenu:Ve,onMouseEnter:pt,onMouseMove:Qe,onMouseLeave:Je,onKeyDown:U?gt:void 0,tabIndex:U?0:void 0,role:U?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":j===null?void 0:j||`Edge from ${g} to ${_}`,"aria-describedby":U?`${is}-${O}`:void 0,ref:K},!me&&k.createElement(e,{id:n,source:g,target:_,selected:u,animated:l,label:c,labelStyle:f,labelShowBg:d,labelBgStyle:m,labelBgPadding:w,labelBgBorderRadius:p,data:i,style:v,sourceX:C,sourceY:y,targetX:A,targetY:T,sourcePosition:D,targetPosition:H,sourceHandleId:F,targetHandleId:B,markerStart:ve,markerEnd:Q,pathOptions:G,interactionWidth:Z}),W&&k.createElement(k.Fragment,null,(W==="source"||W===!0)&&k.createElement(Jr,{position:D,centerX:C,centerY:y,radius:E,onMouseDown:et,onMouseEnter:Be,onMouseOut:tt,type:"source"}),(W==="target"||W===!0)&&k.createElement(Jr,{position:H,centerX:A,centerY:T,radius:E,onMouseDown:Le,onMouseEnter:Be,onMouseOut:tt,type:"target"})))};return t.displayName="EdgeWrapper",S.memo(t)};function xf(e){const t={default:it(e.default||on),straight:it(e.bezier||tr),step:it(e.step||er),smoothstep:it(e.step||fn),simplebezier:it(e.simplebezier||Jn)},n={},r=Object.keys(e).filter(o=>!["default","bezier"].includes(o)).reduce((o,i)=>(o[i]=it(e[i]||on),o),n);return{...t,...r}}function eo(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,o=((n==null?void 0:n.y)||0)+t.y,i=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case X.Top:return{x:r+i/2,y:o};case X.Right:return{x:r+i,y:o+s/2};case X.Bottom:return{x:r+i/2,y:o+s};case X.Left:return{x:r,y:o+s/2}}}function to(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const wf=(e,t,n,r,o,i)=>{const s=eo(n,e,t),a=eo(i,r,o);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function vf({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:o,targetHeight:i,width:s,height:a,transform:u}){const l={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)};l.x===l.x2&&(l.x2+=1),l.y===l.y2&&(l.y2+=1);const c=Qn({x:(0-u[0])/u[2],y:(0-u[1])/u[2],width:s/u[2],height:a/u[2]}),f=Math.max(0,Math.min(c.x2,l.x2)-Math.max(c.x,l.x)),d=Math.max(0,Math.min(c.y2,l.y2)-Math.max(c.y,l.y));return Math.ceil(f*d)>0}function no(e){var r,o,i,s,a;const t=((r=e==null?void 0:e[te])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.x)<"u"&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}const bf=[{level:0,isMaxLevel:!0,edges:[]}];function _f(e,t,n=!1){let r=-1;const o=e.reduce((s,a)=>{var c,f;const u=de(a.zIndex);let l=u?a.zIndex:0;if(n){const d=t.get(a.target),m=t.get(a.source),w=a.selected||(d==null?void 0:d.selected)||(m==null?void 0:m.selected),p=Math.max(((c=m==null?void 0:m[te])==null?void 0:c.z)||0,((f=d==null?void 0:d[te])==null?void 0:f.z)||0,1e3);l=(u?a.zIndex:0)+(w?p:0)}return s[l]?s[l].push(a):s[l]=[a],r=l>r?l:r,s},{}),i=Object.entries(o).map(([s,a])=>{const u=+s;return{edges:a,level:u,isMaxLevel:u===r}});return i.length===0?bf:i}function Ef(e,t,n){const r=J(S.useCallback(o=>e?o.edges.filter(i=>{const s=t.get(i.source),a=t.get(i.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&vf({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[e,t]));return _f(r,t,n)}const Sf=({color:e="none",strokeWidth:t=1})=>k.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),Nf=({color:e="none",strokeWidth:t=1})=>k.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),ro={[zt.Arrow]:Sf,[zt.ArrowClosed]:Nf};function kf(e){const t=re();return S.useMemo(()=>{var o,i;return Object.prototype.hasOwnProperty.call(ro,e)?ro[e]:((i=(o=t.getState()).onError)==null||i.call(o,"009",$e.error009(e)),null)},[e])}const Cf=({id:e,type:t,color:n,width:r=12.5,height:o=12.5,markerUnits:i="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const u=kf(t);return u?k.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:a,refX:"0",refY:"0"},k.createElement(u,{color:n,strokeWidth:s})):null},Af=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((o,i)=>([i.markerStart,i.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=Vn(s,t);r.includes(a)||(o.push({id:a,color:s.color||e,...s}),r.push(a))}}),o),[]).sort((o,i)=>o.id.localeCompare(i.id))},ys=({defaultColor:e,rfId:t})=>{const n=J(S.useCallback(Af({defaultColor:e,rfId:t}),[e,t]),(r,o)=>!(r.length!==o.length||r.some((i,s)=>i.id!==o[s].id)));return k.createElement("defs",null,n.map(r=>k.createElement(Cf,{id:r.id,key:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient})))};ys.displayName="MarkerDefinitions";var Mf=S.memo(ys);const $f=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}),xs=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:o,noPanClassName:i,onEdgeContextMenu:s,onEdgeMouseEnter:a,onEdgeMouseMove:u,onEdgeMouseLeave:l,onEdgeClick:c,onEdgeDoubleClick:f,onReconnect:d,onReconnectStart:m,onReconnectEnd:w,reconnectRadius:p,children:v,disableKeyboardA11y:g})=>{const{edgesFocusable:_,edgesUpdatable:C,elementsSelectable:y,width:A,height:T,connectionMode:D,nodeInternals:H,onError:I}=J($f,se),V=Ef(t,H,n);return A?k.createElement(k.Fragment,null,V.map(({level:F,edges:B,isMaxLevel:L})=>k.createElement("svg",{key:F,style:{zIndex:F},width:A,height:T,className:"react-flow__edges react-flow__container"},L&&k.createElement(Mf,{defaultColor:e,rfId:r}),k.createElement("g",null,B.map(h=>{const[N,b,E]=no(H.get(h.source)),[z,x,$]=no(H.get(h.target));if(!E||!$)return null;let R=h.type||"default";o[R]||(I==null||I("011",$e.error011(R)),R="default");const P=o[R]||o.default,O=D===Ke.Strict?x.target:(x.target??[]).concat(x.source??[]),j=to(b.source,h.sourceHandle),U=to(O,h.targetHandle),W=(j==null?void 0:j.position)||X.Bottom,G=(U==null?void 0:U.position)||X.Top,Z=!!(h.focusable||_&&typeof h.focusable>"u"),ee=h.reconnectable||h.updatable,K=typeof d<"u"&&(ee||C&&typeof ee>"u");if(!j||!U)return I==null||I("008",$e.error008(j,h)),null;const{sourceX:he,sourceY:ue,targetX:me,targetY:fe}=wf(N,j,W,z,U,G);return k.createElement(P,{key:h.id,id:h.id,className:ie([h.className,i]),type:R,data:h.data,selected:!!h.selected,animated:!!h.animated,hidden:!!h.hidden,label:h.label,labelStyle:h.labelStyle,labelShowBg:h.labelShowBg,labelBgStyle:h.labelBgStyle,labelBgPadding:h.labelBgPadding,labelBgBorderRadius:h.labelBgBorderRadius,style:h.style,source:h.source,target:h.target,sourceHandleId:h.sourceHandle,targetHandleId:h.targetHandle,markerEnd:h.markerEnd,markerStart:h.markerStart,sourceX:he,sourceY:ue,targetX:me,targetY:fe,sourcePosition:W,targetPosition:G,elementsSelectable:y,onContextMenu:s,onMouseEnter:a,onMouseMove:u,onMouseLeave:l,onClick:c,onEdgeDoubleClick:f,onReconnect:d,onReconnectStart:m,onReconnectEnd:w,reconnectRadius:p,rfId:r,ariaLabel:h.ariaLabel,isFocusable:Z,isReconnectable:K,pathOptions:"pathOptions"in h?h.pathOptions:void 0,interactionWidth:h.interactionWidth,disableKeyboardA11y:g})})))),v):null};xs.displayName="EdgeRenderer";var Tf=S.memo(xs);const If=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function zf({children:e}){const t=J(If);return k.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}function Df(e){const t=ir(),n=S.useRef(!1);S.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Rf={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top},ws=({nodeId:e,handleType:t,style:n,type:r=Re.Bezier,CustomComponent:o,connectionStatus:i})=>{var T,D,H;const{fromNode:s,handleId:a,toX:u,toY:l,connectionMode:c}=J(S.useCallback(I=>({fromNode:I.nodeInternals.get(e),handleId:I.connectionHandleId,toX:(I.connectionPosition.x-I.transform[0])/I.transform[2],toY:(I.connectionPosition.y-I.transform[1])/I.transform[2],connectionMode:I.connectionMode}),[e]),se),f=(T=s==null?void 0:s[te])==null?void 0:T.handleBounds;let d=f==null?void 0:f[t];if(c===Ke.Loose&&(d=d||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!d)return null;const m=a?d.find(I=>I.id===a):d[0],w=m?m.x+m.width/2:(s.width??0)/2,p=m?m.y+m.height/2:s.height??0,v=(((D=s.positionAbsolute)==null?void 0:D.x)??0)+w,g=(((H=s.positionAbsolute)==null?void 0:H.y)??0)+p,_=m==null?void 0:m.position,C=_?Rf[_]:null;if(!_||!C)return null;if(o)return k.createElement(o,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:m,fromX:v,fromY:g,toX:u,toY:l,fromPosition:_,toPosition:C,connectionStatus:i});let y="";const A={sourceX:v,sourceY:g,sourcePosition:_,targetX:u,targetY:l,targetPosition:C};return r===Re.Bezier?[y]=Xo(A):r===Re.Step?[y]=Fn({...A,borderRadius:0}):r===Re.SmoothStep?[y]=Fn(A):r===Re.SimpleBezier?[y]=Oo(A):y=`M${v},${g} ${u},${l}`,k.createElement("path",{d:y,fill:"none",className:"react-flow__connection-path",style:n})};ws.displayName="ConnectionLine";const Pf=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Hf({containerStyle:e,style:t,type:n,component:r}){const{nodeId:o,handleType:i,nodesConnectable:s,width:a,height:u,connectionStatus:l}=J(Pf,se);return!(o&&i&&a&&s)?null:k.createElement("svg",{style:e,width:a,height:u,className:"react-flow__edges react-flow__connectionline react-flow__container"},k.createElement("g",{className:ie(["react-flow__connection",l])},k.createElement(ws,{nodeId:o,handleType:i,style:t,type:n,CustomComponent:r,connectionStatus:l})))}function oo(e,t){return S.useRef(null),re(),S.useMemo(()=>t(e),[e])}const vs=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:o,onInit:i,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:u,onEdgeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:m,onSelectionContextMenu:w,onSelectionStart:p,onSelectionEnd:v,connectionLineType:g,connectionLineStyle:_,connectionLineComponent:C,connectionLineContainerStyle:y,selectionKeyCode:A,selectionOnDrag:T,selectionMode:D,multiSelectionKeyCode:H,panActivationKeyCode:I,zoomActivationKeyCode:V,deleteKeyCode:F,onlyRenderVisibleElements:B,elementsSelectable:L,selectNodesOnDrag:h,defaultViewport:N,translateExtent:b,minZoom:E,maxZoom:z,preventScrolling:x,defaultMarkerColor:$,zoomOnScroll:R,zoomOnPinch:P,panOnScroll:O,panOnScrollSpeed:j,panOnScrollMode:U,zoomOnDoubleClick:W,panOnDrag:G,onPaneClick:Z,onPaneMouseEnter:ee,onPaneMouseMove:K,onPaneMouseLeave:he,onPaneScroll:ue,onPaneContextMenu:me,onEdgeContextMenu:fe,onEdgeMouseEnter:ne,onEdgeMouseMove:ve,onEdgeMouseLeave:Q,onReconnect:Y,onReconnectStart:ce,onReconnectEnd:Ve,reconnectRadius:pt,noDragClassName:Qe,noWheelClassName:Je,noPanClassName:Ne,elevateEdgesOnSelect:et,disableKeyboardA11y:Le,nodeOrigin:Be,nodeExtent:tt,rfId:nt})=>{const gt=oo(e,ff),oe=oo(t,xf);return Df(i),k.createElement(lf,{onPaneClick:Z,onPaneMouseEnter:ee,onPaneMouseMove:K,onPaneMouseLeave:he,onPaneContextMenu:me,onPaneScroll:ue,deleteKeyCode:F,selectionKeyCode:A,selectionOnDrag:T,selectionMode:D,onSelectionStart:p,onSelectionEnd:v,multiSelectionKeyCode:H,panActivationKeyCode:I,zoomActivationKeyCode:V,elementsSelectable:L,onMove:n,onMoveStart:r,onMoveEnd:o,zoomOnScroll:R,zoomOnPinch:P,zoomOnDoubleClick:W,panOnScroll:O,panOnScrollSpeed:j,panOnScrollMode:U,panOnDrag:G,defaultViewport:N,translateExtent:b,minZoom:E,maxZoom:z,onSelectionContextMenu:w,preventScrolling:x,noDragClassName:Qe,noWheelClassName:Je,noPanClassName:Ne,disableKeyboardA11y:Le},k.createElement(zf,null,k.createElement(Tf,{edgeTypes:oe,onEdgeClick:a,onEdgeDoubleClick:l,onlyRenderVisibleElements:B,onEdgeContextMenu:fe,onEdgeMouseEnter:ne,onEdgeMouseMove:ve,onEdgeMouseLeave:Q,onReconnect:Y,onReconnectStart:ce,onReconnectEnd:Ve,reconnectRadius:pt,defaultMarkerColor:$,noPanClassName:Ne,elevateEdgesOnSelect:!!et,disableKeyboardA11y:Le,rfId:nt},k.createElement(Hf,{style:_,type:g,component:C,containerStyle:y})),k.createElement("div",{className:"react-flow__edgelabel-renderer"}),k.createElement(mf,{nodeTypes:gt,onNodeClick:s,onNodeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:m,selectNodesOnDrag:h,onlyRenderVisibleElements:B,noPanClassName:Ne,noDragClassName:Qe,disableKeyboardA11y:Le,nodeOrigin:Be,nodeExtent:tt,rfId:nt})))};vs.displayName="GraphView";var Ff=S.memo(vs);const On=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ie={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:On,nodeExtent:On,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Ke.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:uu,isValidConnection:void 0},Vf=()=>Ei((e,t)=>({...Ie,setNodes:n=>{const{nodeInternals:r,nodeOrigin:o,elevateNodesOnSelect:i}=t();e({nodeInternals:Sn(n,r,o,i)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(o=>({...r,...o}))})},setDefaultNodesAndEdges:(n,r)=>{const o=typeof n<"u",i=typeof r<"u",s=o?Sn(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:i?r:[],hasDefaultNodes:o,hasDefaultEdges:i})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:o,fitViewOnInit:i,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:u,nodeOrigin:l}=t(),c=u==null?void 0:u.querySelector(".react-flow__viewport");if(!c)return;const f=window.getComputedStyle(c),{m22:d}=new window.DOMMatrixReadOnly(f.transform),m=n.reduce((p,v)=>{const g=o.get(v.id);if(g!=null&&g.hidden)o.set(g.id,{...g,[te]:{...g[te],handleBounds:void 0}});else if(g){const _=Zn(v.nodeElement);!!(_.width&&_.height&&(g.width!==_.width||g.height!==_.height||v.forceUpdate))&&(o.set(g.id,{...g,[te]:{...g[te],handleBounds:{source:Kr(".source",v.nodeElement,d,l),target:Kr(".target",v.nodeElement,d,l)}},..._}),p.push({id:g.id,type:"dimensions",dimensions:_}))}return p},[]);cs(o,l);const w=s||i&&!s&&ls(t,{initial:!0,...a});e({nodeInternals:new Map(o),fitViewOnInitDone:w}),(m==null?void 0:m.length)>0&&(r==null||r(m))},updateNodePositions:(n,r=!0,o=!1)=>{const{triggerNodeChanges:i}=t(),s=n.map(a=>{const u={id:a.id,type:"position",dragging:o};return r&&(u.positionAbsolute=a.positionAbsolute,u.position=a.position),u});i(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:o,hasDefaultNodes:i,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:u}=t();if(n!=null&&n.length){if(i){const l=Ju(n,a()),c=Sn(l,o,s,u);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:o,getNodes:i}=t();let s,a=null;r?s=n.map(u=>De(u,!0)):(s=at(i(),n),a=at(o,[])),Yt({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:o,getNodes:i}=t();let s,a=null;r?s=n.map(u=>De(u,!0)):(s=at(o,n),a=at(i(),[])),Yt({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:o,getNodes:i}=t(),s=n||i(),a=r||o,u=s.map(c=>(c.selected=!1,De(c.id,!1))),l=a.map(c=>De(c.id,!1));Yt({changedNodes:u,changedEdges:l,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:o}=t();r==null||r.scaleExtent([n,o]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:o}=t();r==null||r.scaleExtent([o,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),i=r().filter(a=>a.selected).map(a=>De(a.id,!1)),s=n.filter(a=>a.selected).map(a=>De(a.id,!1));Yt({changedNodes:i,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(o=>{o.positionAbsolute=Kn(o.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:o,height:i,d3Zoom:s,d3Selection:a,translateExtent:u}=t();if(!s||!a||!n.x&&!n.y)return!1;const l=Pe.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[o,i]],f=s==null?void 0:s.constrain()(l,c,u);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:Ie.connectionNodeId,connectionHandleId:Ie.connectionHandleId,connectionHandleType:Ie.connectionHandleType,connectionStatus:Ie.connectionStatus,connectionStartHandle:Ie.connectionStartHandle,connectionEndHandle:Ie.connectionEndHandle}),reset:()=>e({...Ie})}),Object.is),bs=({children:e})=>{const t=S.useRef(null);return t.current||(t.current=Vf()),k.createElement(nu,{value:t.current},e)};bs.displayName="ReactFlowProvider";const _s=({children:e})=>S.useContext(un)?k.createElement(k.Fragment,null,e):k.createElement(bs,null,e);_s.displayName="ReactFlowWrapper";const Lf={input:ts,default:Bn,output:rs,group:sr},Bf={default:on,straight:tr,step:er,smoothstep:fn,simplebezier:Jn},jf=[0,0],Of=[15,15],Xf={x:0,y:0,zoom:1},Yf={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Es=S.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:o,nodeTypes:i=Lf,edgeTypes:s=Bf,onNodeClick:a,onEdgeClick:u,onInit:l,onMove:c,onMoveStart:f,onMoveEnd:d,onConnect:m,onConnectStart:w,onConnectEnd:p,onClickConnectStart:v,onClickConnectEnd:g,onNodeMouseEnter:_,onNodeMouseMove:C,onNodeMouseLeave:y,onNodeContextMenu:A,onNodeDoubleClick:T,onNodeDragStart:D,onNodeDrag:H,onNodeDragStop:I,onNodesDelete:V,onEdgesDelete:F,onSelectionChange:B,onSelectionDragStart:L,onSelectionDrag:h,onSelectionDragStop:N,onSelectionContextMenu:b,onSelectionStart:E,onSelectionEnd:z,connectionMode:x=Ke.Strict,connectionLineType:$=Re.Bezier,connectionLineStyle:R,connectionLineComponent:P,connectionLineContainerStyle:O,deleteKeyCode:j="Backspace",selectionKeyCode:U="Shift",selectionOnDrag:W=!1,selectionMode:G=It.Full,panActivationKeyCode:Z="Space",multiSelectionKeyCode:ee=rn()?"Meta":"Control",zoomActivationKeyCode:K=rn()?"Meta":"Control",snapToGrid:he=!1,snapGrid:ue=Of,onlyRenderVisibleElements:me=!1,selectNodesOnDrag:fe=!0,nodesDraggable:ne,nodesConnectable:ve,nodesFocusable:Q,nodeOrigin:Y=jf,edgesFocusable:ce,edgesUpdatable:Ve,elementsSelectable:pt,defaultViewport:Qe=Xf,minZoom:Je=.5,maxZoom:Ne=2,translateExtent:et=On,preventScrolling:Le=!0,nodeExtent:Be,defaultMarkerColor:tt="#b1b1b7",zoomOnScroll:nt=!0,zoomOnPinch:gt=!0,panOnScroll:oe=!1,panOnScrollSpeed:pe=.5,panOnScrollMode:je=We.Free,zoomOnDoubleClick:Oe=!0,panOnDrag:Xe=!0,onPaneClick:ke,onPaneMouseEnter:be,onPaneMouseMove:yt,onPaneMouseLeave:dn,onPaneScroll:xt,onPaneContextMenu:hn,children:cr,onEdgeContextMenu:Ye,onEdgeDoubleClick:As,onEdgeMouseEnter:Ms,onEdgeMouseMove:$s,onEdgeMouseLeave:Ts,onEdgeUpdate:Is,onEdgeUpdateStart:zs,onEdgeUpdateEnd:Ds,onReconnect:Rs,onReconnectStart:Ps,onReconnectEnd:Hs,reconnectRadius:Fs=10,edgeUpdaterRadius:Vs=10,onNodesChange:Ls,onEdgesChange:Bs,noDragClassName:js="nodrag",noWheelClassName:Os="nowheel",noPanClassName:lr="nopan",fitView:Xs=!1,fitViewOptions:Ys,connectOnClick:Us=!0,attributionPosition:qs,proOptions:Ws,defaultEdgeOptions:Gs,elevateNodesOnSelect:Zs=!0,elevateEdgesOnSelect:Ks=!1,disableKeyboardA11y:ur=!1,autoPanOnConnect:Qs=!0,autoPanOnNodeDrag:Js=!0,connectionRadius:ei=20,isValidConnection:ti,onError:ni,style:ri,id:fr,nodeDragThreshold:oi,...si},ii)=>{const mn=fr||"1";return k.createElement("div",{...si,style:{...ri,...Yf},ref:ii,className:ie(["react-flow",o]),"data-testid":"rf__wrapper",id:fr},k.createElement(_s,null,k.createElement(Ff,{onInit:l,onMove:c,onMoveStart:f,onMoveEnd:d,onNodeClick:a,onEdgeClick:u,onNodeMouseEnter:_,onNodeMouseMove:C,onNodeMouseLeave:y,onNodeContextMenu:A,onNodeDoubleClick:T,nodeTypes:i,edgeTypes:s,connectionLineType:$,connectionLineStyle:R,connectionLineComponent:P,connectionLineContainerStyle:O,selectionKeyCode:U,selectionOnDrag:W,selectionMode:G,deleteKeyCode:j,multiSelectionKeyCode:ee,panActivationKeyCode:Z,zoomActivationKeyCode:K,onlyRenderVisibleElements:me,selectNodesOnDrag:fe,defaultViewport:Qe,translateExtent:et,minZoom:Je,maxZoom:Ne,preventScrolling:Le,zoomOnScroll:nt,zoomOnPinch:gt,zoomOnDoubleClick:Oe,panOnScroll:oe,panOnScrollSpeed:pe,panOnScrollMode:je,panOnDrag:Xe,onPaneClick:ke,onPaneMouseEnter:be,onPaneMouseMove:yt,onPaneMouseLeave:dn,onPaneScroll:xt,onPaneContextMenu:hn,onSelectionContextMenu:b,onSelectionStart:E,onSelectionEnd:z,onEdgeContextMenu:Ye,onEdgeDoubleClick:As,onEdgeMouseEnter:Ms,onEdgeMouseMove:$s,onEdgeMouseLeave:Ts,onReconnect:Rs??Is,onReconnectStart:Ps??zs,onReconnectEnd:Hs??Ds,reconnectRadius:Fs??Vs,defaultMarkerColor:tt,noDragClassName:js,noWheelClassName:Os,noPanClassName:lr,elevateEdgesOnSelect:Ks,rfId:mn,disableKeyboardA11y:ur,nodeOrigin:Y,nodeExtent:Be}),k.createElement(zu,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:m,onConnectStart:w,onConnectEnd:p,onClickConnectStart:v,onClickConnectEnd:g,nodesDraggable:ne,nodesConnectable:ve,nodesFocusable:Q,edgesFocusable:ce,edgesUpdatable:Ve,elementsSelectable:pt,elevateNodesOnSelect:Zs,minZoom:Je,maxZoom:Ne,nodeExtent:Be,onNodesChange:Ls,onEdgesChange:Bs,snapToGrid:he,snapGrid:ue,connectionMode:x,translateExtent:et,connectOnClick:Us,defaultEdgeOptions:Gs,fitView:Xs,fitViewOptions:Ys,onNodesDelete:V,onEdgesDelete:F,onNodeDragStart:D,onNodeDrag:H,onNodeDragStop:I,onSelectionDrag:h,onSelectionDragStart:L,onSelectionDragStop:N,noPanClassName:lr,nodeOrigin:Y,rfId:mn,autoPanOnConnect:Qs,autoPanOnNodeDrag:Js,onError:ni,connectionRadius:ei,isValidConnection:ti,nodeDragThreshold:oi}),k.createElement(Tu,{onSelectionChange:B}),cr,k.createElement(ou,{proOptions:Ws,position:qs}),k.createElement(Fu,{rfId:mn,disableKeyboardA11y:ur})))});Es.displayName="ReactFlow";function Uf(){return k.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},k.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function qf(){return k.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},k.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Wf(){return k.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},k.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 Gf(){return k.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},k.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 Zf(){return k.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},k.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const kt=({children:e,className:t,...n})=>k.createElement("button",{type:"button",className:ie(["react-flow__controls-button",t]),...n},e);kt.displayName="ControlButton";const Kf=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),Ss=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:o,onZoomIn:i,onZoomOut:s,onFitView:a,onInteractiveChange:u,className:l,children:c,position:f="bottom-left"})=>{const d=re(),[m,w]=S.useState(!1),{isInteractive:p,minZoomReached:v,maxZoomReached:g}=J(Kf,se),{zoomIn:_,zoomOut:C,fitView:y}=ir();if(S.useEffect(()=>{w(!0)},[]),!m)return null;const A=()=>{_(),i==null||i()},T=()=>{C(),s==null||s()},D=()=>{y(o),a==null||a()},H=()=>{d.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),u==null||u(!p)};return k.createElement(Po,{className:ie(["react-flow__controls",l]),position:f,style:e,"data-testid":"rf__controls"},t&&k.createElement(k.Fragment,null,k.createElement(kt,{onClick:A,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:g},k.createElement(Uf,null)),k.createElement(kt,{onClick:T,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:v},k.createElement(qf,null))),n&&k.createElement(kt,{className:"react-flow__controls-fitview",onClick:D,title:"fit view","aria-label":"fit view"},k.createElement(Wf,null)),r&&k.createElement(kt,{className:"react-flow__controls-interactive",onClick:H,title:"toggle interactivity","aria-label":"toggle interactivity"},p?k.createElement(Zf,null):k.createElement(Gf,null)),c)};Ss.displayName="Controls";var Qf=S.memo(Ss),xe;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(xe||(xe={}));function Jf({color:e,dimensions:t,lineWidth:n}){return k.createElement("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function ed({color:e,radius:t}){return k.createElement("circle",{cx:t,cy:t,r:t,fill:e})}const td={[xe.Dots]:"#91919a",[xe.Lines]:"#eee",[xe.Cross]:"#e2e2e2"},nd={[xe.Dots]:1,[xe.Lines]:1,[xe.Cross]:6},rd=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Ns({id:e,variant:t=xe.Dots,gap:n=20,size:r,lineWidth:o=1,offset:i=2,color:s,style:a,className:u}){const l=S.useRef(null),{transform:c,patternId:f}=J(rd,se),d=s||td[t],m=r||nd[t],w=t===xe.Dots,p=t===xe.Cross,v=Array.isArray(n)?n:[n,n],g=[v[0]*c[2]||1,v[1]*c[2]||1],_=m*c[2],C=p?[_,_]:g,y=w?[_/i,_/i]:[C[0]/i,C[1]/i];return k.createElement("svg",{className:ie(["react-flow__background",u]),style:{...a,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:l,"data-testid":"rf__background"},k.createElement("pattern",{id:f+e,x:c[0]%g[0],y:c[1]%g[1],width:g[0],height:g[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${y[0]},-${y[1]})`},w?k.createElement(ed,{color:d,radius:_/i}):k.createElement(Jf,{dimensions:C,color:d,lineWidth:o})),k.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${f+e})`}))}Ns.displayName="Background";var od=S.memo(Ns);/**
|
|
18
|
-
* @license lucide-react v0.554.0 - ISC
|
|
19
|
-
*
|
|
20
|
-
* This source code is licensed under the ISC license.
|
|
21
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
22
|
-
*/const sd=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],id=Te("circle-check-big",sd);/**
|
|
23
|
-
* @license lucide-react v0.554.0 - ISC
|
|
24
|
-
*
|
|
25
|
-
* This source code is licensed under the ISC license.
|
|
26
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
-
*/const ad=[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],cd=Te("circle-play",ad);/**
|
|
28
|
-
* @license lucide-react v0.554.0 - ISC
|
|
29
|
-
*
|
|
30
|
-
* This source code is licensed under the ISC license.
|
|
31
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
32
|
-
*/const ld=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ud=Te("circle",ld);/**
|
|
33
|
-
* @license lucide-react v0.554.0 - ISC
|
|
34
|
-
*
|
|
35
|
-
* This source code is licensed under the ISC license.
|
|
36
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
37
|
-
*/const fd=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],dd=Te("clock",fd);/**
|
|
38
|
-
* @license lucide-react v0.554.0 - ISC
|
|
39
|
-
*
|
|
40
|
-
* This source code is licensed under the ISC license.
|
|
41
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
-
*/const hd=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],md=Te("file-text",hd);/**
|
|
43
|
-
* @license lucide-react v0.554.0 - ISC
|
|
44
|
-
*
|
|
45
|
-
* This source code is licensed under the ISC license.
|
|
46
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
47
|
-
*/const pd=[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]],ks=Te("git-branch",pd);/**
|
|
48
|
-
* @license lucide-react v0.554.0 - ISC
|
|
49
|
-
*
|
|
50
|
-
* This source code is licensed under the ISC license.
|
|
51
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
52
|
-
*/const gd=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]],yd=Te("git-merge",gd);/**
|
|
53
|
-
* @license lucide-react v0.554.0 - ISC
|
|
54
|
-
*
|
|
55
|
-
* This source code is licensed under the ISC license.
|
|
56
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
57
|
-
*/const xd=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],wd=Te("upload",xd);/**
|
|
58
|
-
* @license lucide-react v0.554.0 - ISC
|
|
59
|
-
*
|
|
60
|
-
* This source code is licensed under the ISC license.
|
|
61
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
62
|
-
*/const vd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Cs=Te("x",vd);function bd({data:e}){const t=()=>{switch(e.status){case"active":return M.jsx(cd,{className:"status-icon active",size:16});case"saved":return M.jsx(id,{className:"status-icon saved",size:16});default:return M.jsx(ud,{className:"status-icon",size:16})}},n=()=>{switch(e.status){case"active":return"active";case"saved":return"saved";case"merged":return"merged";default:return""}};return M.jsxs("div",{className:`node-card ${e.selected?"selected":""} ${n()}`,children:[M.jsx(Fe,{type:"target",position:X.Top,className:"node-handle"}),M.jsxs("div",{className:"node-header",children:[t(),M.jsx("span",{className:"node-label",children:e.label})]}),e.claudeSessionId&&M.jsxs("div",{className:"node-id",children:[e.claudeSessionId.slice(0,8),"..."]}),M.jsx("div",{className:"node-status-badge",children:e.status}),M.jsx(Fe,{type:"source",position:X.Bottom,className:"node-handle"})]})}function _d({data:e}){const t=e.status==="merged"?"#94e2d5":"#f38ba8",n=e.status==="merged"?"rgba(148, 226, 213, 0.1)":"rgba(243, 139, 168, 0.1)";return M.jsxs("div",{style:{width:"48px",height:"48px",borderRadius:"50%",border:`3px solid ${t}`,background:e.selected?n:"rgba(30, 30, 46, 0.95)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",transition:"all 0.2s ease",backdropFilter:"blur(10px)"},title:`${e.label} (${e.status})`,children:[M.jsx(Fe,{type:"target",position:X.Top}),M.jsx("span",{style:{fontSize:"10px",fontWeight:600,color:t,textAlign:"center"},children:e.status==="merged"?"M":"C"}),M.jsx(Fe,{type:"source",position:X.Bottom})]})}const Ed={sessionNode:bd,compactNode:_d};function Sd({session:e,selectedNode:t,onNodeClick:n}){var a,u;const r=(l,c=new Set)=>{if(l==="main"||c.has(l))return 0;const f=e.forks.find(d=>d.id===l);return f?(c.add(l),1+r(f.parentId,c)):0},o=new Map;e.forks.forEach(l=>{const c=r(l.id);o.has(c)||o.set(c,[]),o.get(c).push(l)});const i=[{id:"main",type:"sessionNode",position:{x:250,y:50},data:{label:"MAIN",status:((a=e.main)==null?void 0:a.status)||e.status,claudeSessionId:(u=e.main)==null?void 0:u.claudeSessionId,selected:t==="main"}}];e.forks.forEach(l=>{const c=r(l.id),f=o.get(c)||[],d=f.indexOf(l),m=l.status==="closed"||l.status==="merged"?"compactNode":"sessionNode";i.push({id:l.id,type:m,position:{x:100+d*150-f.length*75+250,y:50+c*150},data:{label:l.name,status:l.status,claudeSessionId:l.claudeSessionId,selected:t===l.id}})});const s=e.forks.map(l=>({id:`${l.parentId}-${l.id}`,source:l.parentId,target:l.id,animated:l.status==="active",markerEnd:{type:zt.ArrowClosed},style:{stroke:l.status==="active"?"#a6e3a1":"#585b70",strokeWidth:2}}));return M.jsx("div",{style:{width:"100%",height:"100%"},children:M.jsxs(Es,{nodes:i,edges:s,nodeTypes:Ed,onNodeClick:(l,c)=>n(c.id),fitView:!0,minZoom:.5,maxZoom:1.5,defaultViewport:{x:0,y:0,zoom:1},proOptions:{hideAttribution:!0},children:[M.jsx(od,{}),M.jsx(Qf,{})]})})}function Nd({session:e}){const t=s=>{const a=new Date(s),l=new Date().getTime()-a.getTime(),c=Math.floor(l/(1e3*60*60)),f=Math.floor(c/24);return f>0?`${f} day${f>1?"s":""} ago`:c>0?`${c} hour${c>1?"s":""} ago`:"Just now"},n=async()=>{try{await window.electronAPI.openProjectFolder()}catch(s){console.error("Error opening project folder:",s)}},r=async()=>{try{await window.electronAPI.focusTerminal()}catch(s){console.error("Error focusing terminal:",s)}},o=e.forks.filter(s=>s.status==="active").length,i=e.forks.filter(s=>s.status==="saved").length;return M.jsxs("div",{className:"session-info",children:[M.jsxs("div",{className:"session-info-header",children:[M.jsx("h2",{className:"session-name",children:e.name||"Unnamed Session"}),M.jsx("div",{className:`session-status-badge ${e.status}`,children:e.status})]}),M.jsxs("div",{className:"session-meta",children:[M.jsxs("div",{className:"session-meta-item",children:[M.jsx(dd,{size:14}),M.jsx("span",{children:t(e.createdAt)})]}),M.jsxs("button",{className:"session-meta-item folder-button",onClick:n,title:"Open project folder (tries Cursor, VSCode, or Finder)",children:[M.jsx(li,{size:14}),M.jsx("span",{children:"Code"})]}),M.jsxs("button",{className:"session-meta-item terminal-button",onClick:r,title:"Focus terminal window",children:[M.jsx(ui,{size:14}),M.jsx("span",{children:"Terminal"})]}),M.jsxs("div",{className:"session-meta-item",children:[M.jsx(ks,{size:14}),M.jsxs("span",{children:[o+i," fork",o+i!==1?"s":""]})]})]})]})}function kd({selectedNode:e,onCreateFork:t,onExportFork:n,onMergeFork:r,onCloseFork:o,isCreatingFork:i,isExporting:s,isMerging:a,isClosing:u,canCreateFork:l,hasExport:c}){const f=e!=="main",d=i||s||a||u;return M.jsxs("div",{className:"action-panel",children:[M.jsx("div",{className:"action-panel-header",children:M.jsxs("span",{className:"action-panel-title",children:["Actions for: ",M.jsxs("strong",{children:[e==="main"?"MAIN":e.slice(0,8),"..."]})]})}),M.jsxs("div",{className:"action-buttons",children:[M.jsxs("button",{className:"action-button primary",onClick:t,disabled:!l||d,title:l?"Create a new fork from the current branch":"Claude Code limitation: Only one active fork allowed per branch. Merge the existing fork or create from it.",children:[M.jsx(ks,{size:18}),M.jsx("span",{children:i?"Creating...":"New Fork"})]}),M.jsxs("button",{className:"action-button",onClick:n,disabled:!f||d,title:"Export fork summary",children:[M.jsx(wd,{size:18}),M.jsx("span",{children:s?"Exporting...":"Export"})]}),M.jsxs("button",{className:"action-button",onClick:r,disabled:!f||d||!c,title:c?"Merge fork back to parent":"Export the fork first before merging",children:[M.jsx(yd,{size:18}),M.jsx("span",{children:a?"Merging...":"Merge"})]}),M.jsxs("button",{className:"action-button danger",onClick:o,disabled:!f||d,title:"Close fork (abandon experiment)",children:[M.jsx(Cs,{size:18}),M.jsx("span",{children:u?"Closing...":"Close"})]})]})]})}function Cd({fork:e,onClose:t,onOpenExport:n}){const r={active:"#a6e3a1",saved:"#f9e2af",closed:"#f38ba8",merged:"#94e2d5"}[e.status],o={active:"Active",saved:"Saved",closed:"Closed",merged:"Merged"}[e.status];return M.jsx("div",{className:"modal-overlay",onClick:t,children:M.jsxs("div",{className:"modal fork-info-modal",onClick:i=>i.stopPropagation(),children:[M.jsxs("div",{className:"modal-header",children:[M.jsx("h3",{children:"Fork Details"}),M.jsx("button",{className:"modal-close-btn",onClick:t,children:M.jsx(Cs,{size:18})})]}),M.jsxs("div",{className:"fork-info-content",children:[M.jsxs("div",{className:"info-row",children:[M.jsx("span",{className:"info-label",children:"Name:"}),M.jsx("span",{className:"info-value",children:e.name})]}),M.jsxs("div",{className:"info-row",children:[M.jsx("span",{className:"info-label",children:"ID:"}),M.jsx("span",{className:"info-value fork-id",children:e.id})]}),M.jsxs("div",{className:"info-row",children:[M.jsx("span",{className:"info-label",children:"Claude Session ID:"}),M.jsx("span",{className:"info-value fork-id",children:e.claudeSessionId})]}),M.jsxs("div",{className:"info-row",children:[M.jsx("span",{className:"info-label",children:"Status:"}),M.jsx("span",{className:"info-value",children:M.jsx("span",{className:"status-badge",style:{borderColor:r,color:r},children:o})})]}),M.jsxs("div",{className:"info-row",children:[M.jsx("span",{className:"info-label",children:"Created:"}),M.jsx("span",{className:"info-value",children:new Date(e.createdAt).toLocaleString()})]}),e.status==="merged"&&e.mergedAt&&M.jsxs("div",{className:"info-row",children:[M.jsx("span",{className:"info-label",children:"Merged:"}),M.jsx("span",{className:"info-value",children:new Date(e.mergedAt).toLocaleString()})]}),e.contextPath&&M.jsxs("div",{className:"info-row",children:[M.jsx("span",{className:"info-label",children:"Export Path:"}),M.jsx("span",{className:"info-value export-path",children:e.contextPath})]})]}),e.status==="merged"&&e.contextPath&&n&&M.jsx("div",{className:"modal-actions",children:M.jsxs("button",{className:"button-primary",onClick:n,children:[M.jsx(md,{size:16}),"Open Export File"]})})]})})}function Ad(){var b;const[e,t]=S.useState(null),[n,r]=S.useState("main"),[o,i]=S.useState(!0),[s,a]=S.useState(!1),[u,l]=S.useState(""),[c,f]=S.useState(!1),[d,m]=S.useState(!1),[w,p]=S.useState(!1),[v,g]=S.useState(!1),[_,C]=S.useState(!1),[y,A]=S.useState(null);S.useEffect(()=>{window.electronAPI.getSession().then(E=>{t(E),i(!1)}),window.electronAPI.onStateUpdate(E=>{t(E)})},[]);const T=async E=>{if(!e)return;const z=e.forks.find(x=>x.id===E);if(z&&(z.status==="closed"||z.status==="merged")){A(z),C(!0);return}r(E),await window.electronAPI.selectNode(E)},D=()=>{var z;if(!e){alert("No session available");return}if(e.forks.filter(x=>x.parentId===n&&x.status==="active").length>0){const x=n==="main"?"MAIN":((z=e.forks.find($=>$.id===n))==null?void 0:z.name)||n;alert(`Claude Code limitation: Only one active fork can exist from each branch.
|
|
63
|
-
|
|
64
|
-
The branch "${x}" already has an active fork. Close or merge the existing fork first, or create a fork from it.`);return}a(!0)},H=async()=>{if(!u.trim()){alert("Please enter a fork name");return}f(!0);try{await window.electronAPI.createFork(e.id,u,n),a(!1),l(""),alert("Fork created successfully!")}catch(E){alert(`Failed to create fork: ${E.message}`),console.error("Create fork error:",E)}finally{f(!1)}},I=()=>{a(!1),l("")},V=async()=>{if(!(!e||n==="main")){m(!0);try{await window.electronAPI.exportFork(e.id,n),alert("Export completed successfully!")}catch(E){alert(`Export failed: ${E.message}`),console.error("Export error:",E)}finally{m(!1)}}},F=async()=>{if(!(!e||n==="main"||!window.confirm(`Are you sure you want to merge "${n}" to main?`))){p(!0);try{await window.electronAPI.mergeFork(e.id,n),alert("Merge completed successfully!")}catch(z){alert(`Merge failed: ${z.message}`),console.error("Merge error:",z)}finally{p(!1)}}},B=async()=>{if(!e||n==="main")return;const E=e.forks.find(x=>x.id===n);if(window.confirm(`Are you sure you want to close "${(E==null?void 0:E.name)||n}"?
|
|
65
|
-
|
|
66
|
-
The fork will be saved and can be resumed later, but it will no longer be active.`)){g(!0);try{await window.electronAPI.closeFork(e.id,n),alert("Fork closed successfully!")}catch(x){alert(`Close failed: ${x.message}`),console.error("Close error:",x)}finally{g(!1)}}},L=async()=>{if(y!=null&&y.contextPath)try{await window.electronAPI.openExportFile(y.contextPath)}catch(E){alert(`Failed to open export file: ${E.message}`),console.error("Open export error:",E)}};if(o)return M.jsxs("div",{className:"loading",children:[M.jsx("div",{className:"spinner"}),M.jsx("p",{children:"Loading session..."})]});if(!e)return M.jsx("div",{className:"error",children:M.jsx("p",{children:"No session data available"})});const h=async()=>{await window.electronAPI.saveAndClose()},N=async()=>{await window.electronAPI.minimizeToTaskbar()};return M.jsxs("div",{className:"app",children:[M.jsxs("div",{className:"titlebar","data-tauri-drag-region":!0,children:[M.jsx("span",{className:"titlebar-text",children:"🎭 Claude-Orka"}),M.jsxs("div",{className:"titlebar-buttons",children:[M.jsx("button",{className:"titlebar-button minimize",onClick:N,children:"Minimize"}),M.jsx("button",{className:"titlebar-button save-close",onClick:h,children:"Save & Close"})]})]}),M.jsx(Nd,{session:e}),M.jsx("div",{className:"content",children:M.jsx(Sd,{session:e,selectedNode:n,onNodeClick:T})}),M.jsx(kd,{selectedNode:n,onCreateFork:D,onExportFork:V,onMergeFork:F,onCloseFork:B,isCreatingFork:c,isExporting:d,isMerging:w,isClosing:v,canCreateFork:e.forks.filter(E=>E.parentId===n&&E.status==="active").length===0,hasExport:n==="main"?!1:!!((b=e.forks.find(E=>E.id===n))!=null&&b.contextPath)}),s&&M.jsx("div",{className:"modal-overlay",children:M.jsxs("div",{className:"modal",children:[M.jsx("h3",{children:"Create New Fork"}),M.jsx("input",{type:"text",value:u,onChange:E=>l(E.target.value),placeholder:"Enter fork name...",autoFocus:!0,disabled:c,onKeyPress:E=>E.key==="Enter"&&!c&&H()}),M.jsxs("div",{className:"modal-buttons",children:[M.jsx("button",{onClick:I,className:"button-secondary",disabled:c,children:"Cancel"}),M.jsx("button",{onClick:H,className:"button-primary",disabled:c,children:c?"Creating...":"Create"})]})]})}),_&&y&&M.jsx(Cd,{fork:y,onClose:()=>{C(!1),A(null)},onOpenExport:y.status==="merged"?L:void 0})]})}fi.createRoot(document.getElementById("root")).render(M.jsx(k.StrictMode,{children:M.jsx(Ad,{})}));
|