@marimo-team/frontend 0.19.7-dev45 → 0.19.7-dev47

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.
Files changed (67) hide show
  1. package/dist/assets/{CellStatus-BFim6YKS.js → CellStatus-C5UGkPn6.js} +1 -1
  2. package/dist/assets/{JsonOutput-DkVhF91W.js → JsonOutput-CknFTI_u.js} +1 -1
  3. package/dist/assets/{MarimoErrorOutput-DWQ55i9r.js → MarimoErrorOutput-5rudBbo3.js} +1 -1
  4. package/dist/assets/{RenderHTML-a-roMXlk.js → RenderHTML-CQZqVk1Z.js} +1 -1
  5. package/dist/assets/{add-cell-with-ai-BR7IVCSW.js → add-cell-with-ai-pVFp5LZG.js} +1 -1
  6. package/dist/assets/{add-database-form-ClfjsEtC.js → add-database-form-3g4nuZN1.js} +1 -1
  7. package/dist/assets/{agent-panel-DSORiKrx.js → agent-panel-DboxNcTk.js} +1 -1
  8. package/dist/assets/{ai-model-dropdown-JY5c7nJK.js → ai-model-dropdown-71lgLrLy.js} +1 -1
  9. package/dist/assets/{app-config-button-Jz087HD-.js → app-config-button-d7RvqO40.js} +1 -1
  10. package/dist/assets/{cell-editor-B6FY0jdx.js → cell-editor-CeBmoryT.js} +1 -1
  11. package/dist/assets/{cell-link-D2K7clF4.js → cell-link-Bw5bzt4a.js} +1 -1
  12. package/dist/assets/{cells-Dxpbusw1.js → cells-BpZ7g6ok.js} +40 -40
  13. package/dist/assets/{chat-components-B6qBxIzc.js → chat-components-CGlO4yUw.js} +1 -1
  14. package/dist/assets/{chat-display-CPulKLCm.js → chat-display-B4mGvJ0X.js} +1 -1
  15. package/dist/assets/{chat-panel-COGD6xs1.js → chat-panel-CrWYAGFe.js} +1 -1
  16. package/dist/assets/{column-preview-D3y9pwSu.js → column-preview-CxMrs0B_.js} +1 -1
  17. package/dist/assets/{command-BqcYTnlg.js → command-DhzFN2CJ.js} +1 -1
  18. package/dist/assets/{command-palette-BaR-SOA3.js → command-palette-CK_YtcI5.js} +1 -1
  19. package/dist/assets/{common-DuZx4dBP.js → common-dAEMv5ry.js} +1 -1
  20. package/dist/assets/{datasource-BA7iQQaN.js → datasource-B0OJBphG.js} +1 -1
  21. package/dist/assets/{dependency-graph-panel-C27DHbPF.js → dependency-graph-panel-BxuHF8Tr.js} +1 -1
  22. package/dist/assets/{documentation-panel-COvuCjB2.js → documentation-panel-DLCX-Vvr.js} +1 -1
  23. package/dist/assets/{download-DZGL4UAN.js → download-BhCZMKuQ.js} +1 -1
  24. package/dist/assets/{edit-page-CoNmmXUy.js → edit-page-D3Eg7nUs.js} +3 -3
  25. package/dist/assets/{error-panel-BHPn8JVQ.js → error-panel-CZ-XjEWh.js} +1 -1
  26. package/dist/assets/{file-explorer-panel-CozR65iO.js → file-explorer-panel-DUA58FLp.js} +1 -1
  27. package/dist/assets/{floating-outline-CY6lTY5s.js → floating-outline-DcxjrFFt.js} +1 -1
  28. package/dist/assets/{focus-BLcChWyg.js → focus-D51fcwZX.js} +1 -1
  29. package/dist/assets/{form-CKnYm6ml.js → form-DUA_Rz_a.js} +1 -1
  30. package/dist/assets/{globals-Dd-Dr3p2.js → globals-DKH14XH0.js} +1 -1
  31. package/dist/assets/{home-page-Ds6etoNv.js → home-page-B7vvwjUd.js} +1 -1
  32. package/dist/assets/{hooks-B1vW9UPB.js → hooks-CotXIFzV.js} +1 -1
  33. package/dist/assets/{html-to-image-DSMiAoU4.js → html-to-image-DjukyIj4.js} +1 -1
  34. package/dist/assets/{index-B_qRlPME.js → index-DGasP9Lh.js} +3 -3
  35. package/dist/assets/{kiosk-mode-x5QGVyC6.js → kiosk-mode-B5u1Ptdj.js} +1 -1
  36. package/dist/assets/{layout-BVZJ0wNL.js → layout-B1RE_FQ4.js} +1 -1
  37. package/dist/assets/{logs-panel-W6lnhN9B.js → logs-panel-1gpGfzHV.js} +1 -1
  38. package/dist/assets/{markdown-renderer-Bx2DfaSd.js → markdown-renderer-DhMlG2dP.js} +1 -1
  39. package/dist/assets/{mode-BQL1qb7F.js → mode-DX8pdI-l.js} +1 -1
  40. package/dist/assets/{name-cell-input-B3FIAxBj.js → name-cell-input-FC1vzor8.js} +1 -1
  41. package/dist/assets/{outline-panel-AJlQUjZ_.js → outline-panel-e_rdB4-A.js} +1 -1
  42. package/dist/assets/{packages-panel-BJsvZ-68.js → packages-panel-CWeSsfWc.js} +1 -1
  43. package/dist/assets/{panels-CZFKs6IJ.js → panels-DdW0Mr43.js} +1 -1
  44. package/dist/assets/{process-output-DK8a3ADA.js → process-output-CagdHMzs.js} +1 -1
  45. package/dist/assets/{readonly-python-code-tAbt2ya8.js → readonly-python-code-DyP9LVLc.js} +1 -1
  46. package/dist/assets/{run-page-BpOFopIQ.js → run-page-4ks5Ng3f.js} +1 -1
  47. package/dist/assets/{scratchpad-panel-DfCsTT2f.js → scratchpad-panel-BKlpCchw.js} +1 -1
  48. package/dist/assets/{session-panel-Dd73AAIv.js → session-panel-Bsntt1Wf.js} +1 -1
  49. package/dist/assets/{snippets-panel-HEdYHO0z.js → snippets-panel-BgCAYJln.js} +1 -1
  50. package/dist/assets/{state-BMdr2nMy.js → state-BfXVTTtD.js} +1 -1
  51. package/dist/assets/{switch-uE7-SGTN.js → switch-8sn_4qbh.js} +1 -1
  52. package/dist/assets/{textarea-Dnc9oNCJ.js → textarea-DBO30D7K.js} +1 -1
  53. package/dist/assets/{tracing-CsZXkSMG.js → tracing-DcLhmYc2.js} +1 -1
  54. package/dist/assets/{tracing-panel-DzL1Eutt.js → tracing-panel-CLF67O54.js} +2 -2
  55. package/dist/assets/{types-BjS1POBx.js → types-DuQOSW7G.js} +1 -1
  56. package/dist/assets/{useAddCell-fK8ZFPPQ.js → useAddCell-BmeZUK02.js} +1 -1
  57. package/dist/assets/{useCellActionButton-BBXD0ZNf.js → useCellActionButton-DNI-LzxR.js} +1 -1
  58. package/dist/assets/{useDeleteCell-BFvljUOH.js → useDeleteCell-5uYlTcQZ.js} +1 -1
  59. package/dist/assets/{useDependencyPanelTab-4_zo1zmo.js → useDependencyPanelTab-P4LD32r5.js} +1 -1
  60. package/dist/assets/{useNotebookActions---KuaMmt.js → useNotebookActions-BkFpDvzl.js} +1 -1
  61. package/dist/assets/{useRunCells-ChluEx0W.js → useRunCells-24p6hn99.js} +1 -1
  62. package/dist/assets/{useSplitCell-BYSgH1JP.js → useSplitCell-C8MYZz7z.js} +1 -1
  63. package/dist/assets/{utilities.esm-CgPvBw6L.js → utilities.esm-CIPARd6-.js} +1 -1
  64. package/dist/index.html +31 -31
  65. package/package.json +2 -2
  66. package/src/core/codemirror/language/languages/python.ts +1 -1
  67. package/src/core/codemirror/lsp/notebook-lsp.ts +36 -16
@@ -1,4 +1,4 @@
1
- var Vr=Object.defineProperty;var Xr=(t,e,n)=>e in t?Vr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ie=(t,e,n)=>Xr(t,typeof e!="symbol"?e+"":e,n);import{s as _t,t as q}from"./chunk-LvLJmgfZ.js";import{i as Pt,l as bn,n as Fr,p as jt,u as It}from"./useEvent-DO6uJBas.js";import{t as Wr}from"./react-BGmjiNul.js";import{$t as Yr,Bn as xn,E as Zr,M as Kr,St as Gr,T as Ur,a as qr,bn as Jr,f as Qr,k as Dt,vn as wn,vt as ea,w as ta}from"./cells-Dxpbusw1.js";import{t as na}from"./react-dom-C9fstfnp.js";import{t as Re}from"./compiler-runtime-DeeZ7FnK.js";import"./config-CIrPQIbt.js";import{t as oa}from"./jsx-runtime-ZmTK25f3.js";import{r as ra,t as rt}from"./button-YC1gW_kJ.js";import{t as Ve}from"./cn-BKtXLv3a.js";import"./dist-DBwNzi3C.js";import{r as aa}from"./once-Bul8mtFs.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-_Aax6sXd.js";import{t as Rt}from"./createLucideIcon-CnW3RofX.js";import{a as ia,i as sa,t as la}from"./useDependencyPanelTab-4_zo1zmo.js";import{h as da}from"./select-V5IdpNiR.js";import{f as ca,p as ua}from"./download-DZGL4UAN.js";import{t as ha}from"./ellipsis-vertical-C7jYiLCo.js";import{t as ga}from"./settings-DOXWMfVd.js";import{t as fa}from"./square-function-CqXXKtIq.js";import{t as pa}from"./workflow-CMjI9cxl.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import"./Combination-CMPwuAmi.js";import{t as ma}from"./tooltip-CEc2ajau.js";import{i as ya,l as va,r as ba,s as xa,t as wa,u as En}from"./popover-Gz-GJzym.js";import{n as Ea}from"./useDebounce-D5NcotGm.js";import{i as Sa,t as At}from"./cell-link-D2K7clF4.js";import"./html-to-image-DSMiAoU4.js";import{a as Ca,i as Na,t as ka}from"./focus-BLcChWyg.js";import{t as Ma}from"./label-Be1daUcS.js";import"./esm-DpMp6qko.js";import{b as Oa}from"./timer-ffBO1paY.js";import{a as Bt,c as zt,i as _a,l as Lt,n as Xe,o as Pa,r as ja,s as Sn,t as Ia,u as ht}from"./src-Cf4NnJCp.js";import{r as Da}from"./name-cell-input-B3FIAxBj.js";import"./multi-icon-DZsiUPo5.js";import{n as Ra,t as Cn}from"./common-DuZx4dBP.js";import{r as Aa}from"./panel-context-B7WTvLhE.js";var Ba=Rt("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]),za=Rt("arrow-right-to-line",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]),La=Rt("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);function he(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,o;n<t.length;n++)(o=he(t[n]))!==""&&(e+=(e&&" ")+o);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var v=_t(Wr(),1),$a=_t(ca(),1),{useDebugValue:Ta}=v.default,{useSyncExternalStoreWithSelector:Ha}=$a.default,Va=t=>t;function Nn(t,e=Va,n){let o=Ha(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Ta(o),o}var kn=(t,e)=>{let n=ua(t),o=(i,l=e)=>Nn(n,i,l);return Object.assign(o,n),o},Xa=(t,e)=>t?kn(t,e):kn;function ue(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}var gt=t=>()=>t;function $t(t,{sourceEvent:e,subject:n,target:o,identifier:i,active:l,x:a,y:d,dx:s,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:d,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}$t.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Fa(t){return!t.ctrlKey&&!t.button}function Wa(){return this.parentNode}function Ya(t,e){return e??{x:t.x,y:t.y}}function Za(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ka(){var t=Fa,e=Wa,n=Ya,o=Za,i={},l=Oa("start","drag","end"),a=0,d,s,c,u,r=0;function g(p){p.on("mousedown.drag",h).filter(o).on("touchstart.drag",y).on("touchmove.drag",x,Pa).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(p,S){if(!(u||!t.call(this,p,S))){var k=N(this,e.call(this,p,S),p,S,"mouse");k&&(ht(p.view).on("mousemove.drag",m,Sn).on("mouseup.drag",f,Sn),ja(p.view),zt(p),c=!1,d=p.clientX,s=p.clientY,k("start",p))}}function m(p){if(Bt(p),!c){var S=p.clientX-d,k=p.clientY-s;c=S*S+k*k>r}i.mouse("drag",p)}function f(p){ht(p.view).on("mousemove.drag mouseup.drag",null),_a(p.view,c),Bt(p),i.mouse("end",p)}function y(p,S){if(t.call(this,p,S)){var k=p.changedTouches,_=e.call(this,p,S),P=k.length,j,w;for(j=0;j<P;++j)(w=N(this,_,p,S,k[j].identifier,k[j]))&&(zt(p),w("start",p,k[j]))}}function x(p){var S=p.changedTouches,k=S.length,_,P;for(_=0;_<k;++_)(P=i[S[_].identifier])&&(Bt(p),P("drag",p,S[_]))}function b(p){var S=p.changedTouches,k=S.length,_,P;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),_=0;_<k;++_)(P=i[S[_].identifier])&&(zt(p),P("end",p,S[_]))}function N(p,S,k,_,P,j){var w=l.copy(),E=Lt(j||k,S),O,M,C;if((C=n.call(p,new $t("beforestart",{sourceEvent:k,target:g,identifier:P,active:a,x:E[0],y:E[1],dx:0,dy:0,dispatch:w}),_))!=null)return O=C.x-E[0]||0,M=C.y-E[1]||0,function R(L,H,F){var D=E,$;switch(L){case"start":i[P]=R,$=a++;break;case"end":delete i[P],--a;case"drag":E=Lt(F||H,S),$=a;break}w.call(L,p,new $t(L,{sourceEvent:H,subject:C,target:g,identifier:P,active:$,x:E[0]+O,y:E[1]+M,dx:E[0]-D[0],dy:E[1]-D[1],dispatch:w}),_)}}return g.filter=function(p){return arguments.length?(t=typeof p=="function"?p:gt(!!p),g):t},g.container=function(p){return arguments.length?(e=typeof p=="function"?p:gt(p),g):e},g.subject=function(p){return arguments.length?(n=typeof p=="function"?p:gt(p),g):n},g.touchable=function(p){return arguments.length?(o=typeof p=="function"?p:gt(!!p),g):o},g.on=function(){var p=l.on.apply(l,arguments);return p===l?g:p},g.clickDistance=function(p){return arguments.length?(r=(p=+p)*p,g):Math.sqrt(r)},g}na();var ft=(0,v.createContext)(null),Ga=ft.Provider,xe={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:t=>`Node type "${t}" 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:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,e)=>`Couldn't create edge for ${t?"target":"source"} handle id: "${t?e.targetHandle:e.sourceHandle}", edge id: ${e.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},Mn=xe.error001();function ne(t,e){let n=(0,v.useContext)(ft);if(n===null)throw Error(Mn);return Nn(n,t,e)}var le=()=>{let t=(0,v.useContext)(ft);if(t===null)throw Error(Mn);return(0,v.useMemo)(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}),[t])},Ua=t=>t.userSelectionActive?"none":"all";function pt({position:t,children:e,className:n,style:o,...i}){let l=ne(Ua),a=`${t}`.split("-");return v.createElement("div",{className:he(["react-flow__panel",n,...a]),style:{...o,pointerEvents:l},...i},e)}function qa({proOptions:t,position:e="bottom-right"}){return t!=null&&t.hideAttribution?null:v.createElement(pt,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},v.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var Ja=(0,v.memo)(({x:t,y:e,label:n,labelStyle:o={},labelShowBg:i=!0,labelBgStyle:l={},labelBgPadding:a=[2,4],labelBgBorderRadius:d=2,children:s,className:c,...u})=>{let r=(0,v.useRef)(null),[g,h]=(0,v.useState)({x:0,y:0,width:0,height:0}),m=he(["react-flow__edge-textwrapper",c]);return(0,v.useEffect)(()=>{if(r.current){let f=r.current.getBBox();h({x:f.x,y:f.y,width:f.width,height:f.height})}},[n]),n===void 0||!n?null:v.createElement("g",{transform:`translate(${t-g.width/2} ${e-g.height/2})`,className:m,visibility:g.width?"visible":"hidden",...u},i&&v.createElement("rect",{width:g.width+2*a[0],x:-a[0],y:-a[1],height:g.height+2*a[1],className:"react-flow__edge-textbg",style:l,rx:d,ry:d}),v.createElement("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:r,style:o},n),s)}),Tt=t=>({width:t.offsetWidth,height:t.offsetHeight}),Fe=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),Ht=(t={x:0,y:0},e)=>({x:Fe(t.x,e[0][0],e[1][0]),y:Fe(t.y,e[0][1],e[1][1])}),On=(t,e,n)=>t<e?Fe(Math.abs(t-e),1,50)/50:t>n?-Fe(Math.abs(t-n),1,50)/50:0,_n=(t,e)=>[On(t.x,35,e.width-35)*20,On(t.y,35,e.height-35)*20],Pn=t=>{var e;return((e=t.getRootNode)==null?void 0:e.call(t))||(window==null?void 0:window.document)},Qa=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),Vt=({x:t,y:e,width:n,height:o})=>({x:t,y:e,x2:t+n,y2:e+o}),ei=({x:t,y:e,x2:n,y2:o})=>({x:t,y:e,width:n-t,height:o-e}),jn=t=>({...t.positionAbsolute||{x:0,y:0},width:t.width||0,height:t.height||0}),Xt=(t,e)=>{let n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*o)},ti=t=>me(t.width)&&me(t.height)&&me(t.x)&&me(t.y),me=t=>!isNaN(t)&&isFinite(t),re=Symbol.for("internals"),In=["Enter"," ","Escape"],ni=(t,e)=>{},oi=t=>"nativeEvent"in t;function Ft(t){var n,o,i;let e=((i=(o=(n=oi(t)?t.nativeEvent:t).composedPath)==null?void 0:o.call(n))==null?void 0:i[0])||t.target;return["INPUT","SELECT","TEXTAREA"].includes(e==null?void 0:e.nodeName)||(e==null?void 0:e.hasAttribute("contenteditable"))||!!(e!=null&&e.closest(".nokey"))}var Dn=t=>"clientX"in t,Se=(t,e)=>{var l,a;let n=Dn(t),o=n?t.clientX:(l=t.touches)==null?void 0:l[0].clientX,i=n?t.clientY:(a=t.touches)==null?void 0:a[0].clientY;return{x:o-((e==null?void 0:e.left)??0),y:i-((e==null?void 0:e.top)??0)}},mt=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0},at=({id:t,path:e,labelX:n,labelY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h=20})=>v.createElement(v.Fragment,null,v.createElement("path",{id:t,style:u,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:r,markerStart:g}),h&&v.createElement("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&me(n)&&me(o)?v.createElement(Ja,{x:n,y:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c}):null);at.displayName="BaseEdge";function it(t,e,n){return n===void 0?n:o=>{let i=e().edges.find(l=>l.id===t);i&&n(o,{...i})}}function Rn({sourceX:t,sourceY:e,targetX:n,targetY:o}){let i=Math.abs(n-t)/2,l=n<t?n+i:n-i,a=Math.abs(o-e)/2;return[l,o<e?o+a:o-a,i,a]}function An({sourceX:t,sourceY:e,targetX:n,targetY:o,sourceControlX:i,sourceControlY:l,targetControlX:a,targetControlY:d}){let s=t*.125+i*.375+a*.375+n*.125,c=e*.125+l*.375+d*.375+o*.125;return[s,c,Math.abs(s-t),Math.abs(c-e)]}var We;(function(t){t.Strict="strict",t.Loose="loose"})(We||(We={}));var Ye;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(Ye||(Ye={}));var yt;(function(t){t.Partial="partial",t.Full="full"})(yt||(yt={}));var Ae;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Ae||(Ae={}));var vt;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(vt||(vt={}));var W;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(W||(W={}));function Bn({pos:t,x1:e,y1:n,x2:o,y2:i}){return t===W.Left||t===W.Right?[.5*(e+o),n]:[e,.5*(n+i)]}function zn({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top}){let[a,d]=Bn({pos:n,x1:t,y1:e,x2:o,y2:i}),[s,c]=Bn({pos:l,x1:o,y1:i,x2:t,y2:e}),[u,r,g,h]=An({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:a,sourceControlY:d,targetControlX:s,targetControlY:c});return[`M${t},${e} C${a},${d} ${s},${c} ${o},${i}`,u,r,g,h]}var Wt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=W.Bottom,targetPosition:l=W.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:f})=>{let[y,x,b]=zn({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l});return v.createElement(at,{path:y,labelX:x,labelY:b,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:f})});Wt.displayName="SimpleBezierEdge";var Ln={[W.Left]:{x:-1,y:0},[W.Right]:{x:1,y:0},[W.Top]:{x:0,y:-1},[W.Bottom]:{x:0,y:1}},ri=({source:t,sourcePosition:e=W.Bottom,target:n})=>e===W.Left||e===W.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},$n=(t,e)=>Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2);function ai({source:t,sourcePosition:e=W.Bottom,target:n,targetPosition:o=W.Top,center:i,offset:l}){let a=Ln[e],d=Ln[o],s={x:t.x+a.x*l,y:t.y+a.y*l},c={x:n.x+d.x*l,y:n.y+d.y*l},u=ri({source:s,sourcePosition:e,target:c}),r=u.x===0?"y":"x",g=u[r],h=[],m,f,y={x:0,y:0},x={x:0,y:0},[b,N,p,S]=Rn({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(a[r]*d[r]===-1){m=i.x??b,f=i.y??N;let k=[{x:m,y:s.y},{x:m,y:c.y}],_=[{x:s.x,y:f},{x:c.x,y:f}];h=a[r]===g?r==="x"?k:_:r==="x"?_:k}else{let k=[{x:s.x,y:c.y}],_=[{x:c.x,y:s.y}];if(h=r==="x"?a.x===g?_:k:a.y===g?k:_,e===o){let w=Math.abs(t[r]-n[r]);if(w<=l){let E=Math.min(l-1,l-w);a[r]===g?y[r]=(s[r]>t[r]?-1:1)*E:x[r]=(c[r]>n[r]?-1:1)*E}}if(e!==o){let w=r==="x"?"y":"x",E=a[r]===d[w],O=s[w]>c[w],M=s[w]<c[w];(a[r]===1&&(!E&&O||E&&M)||a[r]!==1&&(!E&&M||E&&O))&&(h=r==="x"?k:_)}let P={x:s.x+y.x,y:s.y+y.y},j={x:c.x+x.x,y:c.y+x.y};Math.max(Math.abs(P.x-h[0].x),Math.abs(j.x-h[0].x))>=Math.max(Math.abs(P.y-h[0].y),Math.abs(j.y-h[0].y))?(m=(P.x+j.x)/2,f=h[0].y):(m=h[0].x,f=(P.y+j.y)/2)}return[[t,{x:s.x+y.x,y:s.y+y.y},...h,{x:c.x+x.x,y:c.y+x.y},n],m,f,p,S]}function ii(t,e,n,o){let i=Math.min($n(t,e)/2,$n(e,n)/2,o),{x:l,y:a}=e;if(t.x===l&&l===n.x||t.y===a&&a===n.y)return`L${l} ${a}`;if(t.y===a){let s=t.x<n.x?-1:1,c=t.y<n.y?1:-1;return`L ${l+i*s},${a}Q ${l},${a} ${l},${a+i*c}`}let d=t.x<n.x?1:-1;return`L ${l},${a+i*(t.y<n.y?-1:1)}Q ${l},${a} ${l+i*d},${a}`}function Yt({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top,borderRadius:a=5,centerX:d,centerY:s,offset:c=20}){let[u,r,g,h,m]=ai({source:{x:t,y:e},sourcePosition:n,target:{x:o,y:i},targetPosition:l,center:{x:d,y:s},offset:c});return[u.reduce((f,y,x)=>{let b="";return b=x>0&&x<u.length-1?ii(u[x-1],y,u[x+1],a):`${x===0?"M":"L"}${y.x} ${y.y}`,f+=b,f},""),r,g,h,m]}var bt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,sourcePosition:r=W.Bottom,targetPosition:g=W.Top,markerEnd:h,markerStart:m,pathOptions:f,interactionWidth:y})=>{let[x,b,N]=Yt({sourceX:t,sourceY:e,sourcePosition:r,targetX:n,targetY:o,targetPosition:g,borderRadius:f==null?void 0:f.borderRadius,offset:f==null?void 0:f.offset});return v.createElement(at,{path:x,labelX:b,labelY:N,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:h,markerStart:m,interactionWidth:y})});bt.displayName="SmoothStepEdge";var Zt=(0,v.memo)(t=>{var e;return v.createElement(bt,{...t,pathOptions:(0,v.useMemo)(()=>{var n;return{borderRadius:0,offset:(n=t.pathOptions)==null?void 0:n.offset}},[(e=t.pathOptions)==null?void 0:e.offset])})});Zt.displayName="StepEdge";function si({sourceX:t,sourceY:e,targetX:n,targetY:o}){let[i,l,a,d]=Rn({sourceX:t,sourceY:e,targetX:n,targetY:o});return[`M ${t},${e}L ${n},${o}`,i,l,a,d]}var Kt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})=>{let[m,f,y]=si({sourceX:t,sourceY:e,targetX:n,targetY:o});return v.createElement(at,{path:m,labelX:f,labelY:y,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})});Kt.displayName="StraightEdge";function xt(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function Tn({pos:t,x1:e,y1:n,x2:o,y2:i,c:l}){switch(t){case W.Left:return[e-xt(e-o,l),n];case W.Right:return[e+xt(o-e,l),n];case W.Top:return[e,n-xt(n-i,l)];case W.Bottom:return[e,n+xt(i-n,l)]}}function Hn({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top,curvature:a=.25}){let[d,s]=Tn({pos:n,x1:t,y1:e,x2:o,y2:i,c:a}),[c,u]=Tn({pos:l,x1:o,y1:i,x2:t,y2:e,c:a}),[r,g,h,m]=An({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:d,sourceControlY:s,targetControlX:c,targetControlY:u});return[`M${t},${e} C${d},${s} ${c},${u} ${o},${i}`,r,g,h,m]}var wt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=W.Bottom,targetPosition:l=W.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,pathOptions:f,interactionWidth:y})=>{let[x,b,N]=Hn({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l,curvature:f==null?void 0:f.curvature});return v.createElement(at,{path:x,labelX:b,labelY:N,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:y})});wt.displayName="BezierEdge";var Gt=(0,v.createContext)(null),li=Gt.Provider;Gt.Consumer;var di=()=>(0,v.useContext)(Gt),ci=t=>"id"in t&&"source"in t&&"target"in t,ui=({source:t,sourceHandle:e,target:n,targetHandle:o})=>`reactflow__edge-${t}${e||""}-${n}${o||""}`,Ut=(t,e)=>t===void 0?"":typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(n=>`${n}=${t[n]}`).join("&")}`,hi=(t,e)=>e.some(n=>n.source===t.source&&n.target===t.target&&(n.sourceHandle===t.sourceHandle||!n.sourceHandle&&!t.sourceHandle)&&(n.targetHandle===t.targetHandle||!n.targetHandle&&!t.targetHandle)),gi=(t,e)=>{if(!t.source||!t.target)return xe.error006(),e;let n;return n=ci(t)?{...t}:{...t,id:ui(t)},hi(n,e)?e:e.concat(n)},qt=({x:t,y:e},[n,o,i],l,[a,d])=>{let s={x:(t-n)/i,y:(e-o)/i};return l?{x:a*Math.round(s.x/a),y:d*Math.round(s.y/d)}:s},Vn=({x:t,y:e},[n,o,i])=>({x:t*i+n,y:e*i+o}),Ze=(t,e=[0,0])=>{if(!t)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(t.width??0)*e[0],o=(t.height??0)*e[1],i={x:t.position.x-n,y:t.position.y-o};return{...i,positionAbsolute:t.positionAbsolute?{x:t.positionAbsolute.x-n,y:t.positionAbsolute.y-o}:i}},Jt=(t,e=[0,0])=>t.length===0?{x:0,y:0,width:0,height:0}:ei(t.reduce((n,o)=>{let{x:i,y:l}=Ze(o,e).positionAbsolute;return Qa(n,Vt({x:i,y:l,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),Xn=(t,e,[n,o,i]=[0,0,1],l=!1,a=!1,d=[0,0])=>{let s={x:(e.x-n)/i,y:(e.y-o)/i,width:e.width/i,height:e.height/i},c=[];return t.forEach(u=>{let{width:r,height:g,selectable:h=!0,hidden:m=!1}=u;if(a&&!h||m)return!1;let{positionAbsolute:f}=Ze(u,d),y=Xt(s,{x:f.x,y:f.y,width:r||0,height:g||0}),x=r===void 0||g===void 0||r===null||g===null,b=l&&y>0,N=(r||0)*(g||0);(x||b||y>=N||u.dragging)&&c.push(u)}),c},Fn=(t,e)=>{let n=t.map(o=>o.id);return e.filter(o=>n.includes(o.source)||n.includes(o.target))},Wn=(t,e,n,o,i,l=.1)=>{let a=e/(t.width*(1+l)),d=n/(t.height*(1+l)),s=Fe(Math.min(a,d),o,i),c=t.x+t.width/2,u=t.y+t.height/2;return{x:e/2-c*s,y:n/2-u*s,zoom:s}},Be=(t,e=0)=>t.transition().duration(e);function Yn(t,e,n,o){return(e[n]||[]).reduce((i,l)=>{var a,d;return`${t.id}-${l.id}-${n}`!==o&&i.push({id:l.id||null,type:n,nodeId:t.id,x:(((a=t.positionAbsolute)==null?void 0:a.x)??0)+l.x+l.width/2,y:(((d=t.positionAbsolute)==null?void 0:d.y)??0)+l.y+l.height/2}),i},[])}function fi(t,e,n,o,i,l){let{x:a,y:d}=Se(t),s=e.elementsFromPoint(a,d).find(h=>h.classList.contains("react-flow__handle"));if(s){let h=s.getAttribute("data-nodeid");if(h){let m=Qt(void 0,s),f=s.getAttribute("data-handleid"),y=l({nodeId:h,id:f,type:m});if(y){let x=i.find(b=>b.nodeId===h&&b.type===m&&b.id===f);return{handle:{id:f,type:m,nodeId:h,x:(x==null?void 0:x.x)||n.x,y:(x==null?void 0:x.y)||n.y},validHandleResult:y}}}}let c=[],u=1/0;if(i.forEach(h=>{let m=Math.sqrt((h.x-n.x)**2+(h.y-n.y)**2);if(m<=o){let f=l(h);m<=u&&(m<u?c=[{handle:h,validHandleResult:f}]:m===u&&c.push({handle:h,validHandleResult:f}),u=m)}}),!c.length)return{handle:null,validHandleResult:Zn()};if(c.length===1)return c[0];let r=c.some(({validHandleResult:h})=>h.isValid),g=c.some(({handle:h})=>h.type==="target");return c.find(({handle:h,validHandleResult:m})=>g?h.type==="target":r?m.isValid:!0)||c[0]}var pi={source:null,target:null,sourceHandle:null,targetHandle:null},Zn=()=>({handleDomNode:null,isValid:!1,connection:pi,endHandle:null});function Kn(t,e,n,o,i,l,a){let d=i==="target",s=a.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),c={...Zn(),handleDomNode:s};if(s){let u=Qt(void 0,s),r=s.getAttribute("data-nodeid"),g=s.getAttribute("data-handleid"),h=s.classList.contains("connectable"),m=s.classList.contains("connectableend"),f={source:d?r:n,sourceHandle:d?g:o,target:d?n:r,targetHandle:d?o:g};c.connection=f,h&&m&&(e===We.Strict?d&&u==="source"||!d&&u==="target":r!==n||g!==o)&&(c.endHandle={nodeId:r,handleId:g,type:u},c.isValid=l(f))}return c}function mi({nodes:t,nodeId:e,handleId:n,handleType:o}){return t.reduce((i,l)=>{if(l[re]){let{handleBounds:a}=l[re],d=[],s=[];a&&(d=Yn(l,a,"source",`${e}-${n}-${o}`),s=Yn(l,a,"target",`${e}-${n}-${o}`)),i.push(...d,...s)}return i},[])}function Qt(t,e){return t||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function en(t){t==null||t.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function yi(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}function Gn({event:t,handleId:e,nodeId:n,onConnect:o,isTarget:i,getState:l,setState:a,isValidConnection:d,edgeUpdaterType:s,onReconnectEnd:c}){let u=Pn(t.target),{connectionMode:r,domNode:g,autoPanOnConnect:h,connectionRadius:m,onConnectStart:f,panBy:y,getNodes:x,cancelConnection:b}=l(),N=0,p,{x:S,y:k}=Se(t),_=u==null?void 0:u.elementFromPoint(S,k),P=Qt(s,_),j=g==null?void 0:g.getBoundingClientRect();if(!j||!P)return;let w,E=Se(t,j),O=!1,M=null,C=!1,R=null,L=mi({nodes:x(),nodeId:n,handleId:e,handleType:P}),H=()=>{if(!h)return;let[$,V]=_n(E,j);y({x:$,y:V}),N=requestAnimationFrame(H)};a({connectionPosition:E,connectionStatus:null,connectionNodeId:n,connectionHandleId:e,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:e,type:P},connectionEndHandle:null}),f==null||f(t,{nodeId:n,handleId:e,handleType:P});function F($){let{transform:V}=l();E=Se($,j);let{handle:X,validHandleResult:Z}=fi($,u,qt(E,V,!1,[1,1]),m,L,U=>Kn(U,r,n,e,i?"target":"source",d,u));if(p=X,O||(O=(H(),!0)),R=Z.handleDomNode,M=Z.connection,C=Z.isValid,a({connectionPosition:p&&C?Vn({x:p.x,y:p.y},V):E,connectionStatus:yi(!!p,C),connectionEndHandle:Z.endHandle}),!p&&!C&&!R)return en(w);M.source!==M.target&&R&&(en(w),w=R,R.classList.add("connecting","react-flow__handle-connecting"),R.classList.toggle("valid",C),R.classList.toggle("react-flow__handle-valid",C))}function D($){var V,X;(p||R)&&M&&C&&(o==null||o(M)),(X=(V=l()).onConnectEnd)==null||X.call(V,$),s&&(c==null||c($)),en(w),b(),cancelAnimationFrame(N),O=!1,C=!1,M=null,R=null,u.removeEventListener("mousemove",F),u.removeEventListener("mouseup",D),u.removeEventListener("touchmove",F),u.removeEventListener("touchend",D)}u.addEventListener("mousemove",F),u.addEventListener("mouseup",D),u.addEventListener("touchmove",F),u.addEventListener("touchend",D)}var Un=()=>!0,vi=t=>({connectionStartHandle:t.connectionStartHandle,connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName}),bi=(t,e,n)=>o=>{let{connectionStartHandle:i,connectionEndHandle:l,connectionClickStartHandle:a}=o;return{connecting:(i==null?void 0:i.nodeId)===t&&(i==null?void 0:i.handleId)===e&&(i==null?void 0:i.type)===n||(l==null?void 0:l.nodeId)===t&&(l==null?void 0:l.handleId)===e&&(l==null?void 0:l.type)===n,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.handleId)===e&&(a==null?void 0:a.type)===n}},qn=(0,v.forwardRef)(({type:t="source",position:e=W.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:i=!0,isConnectableEnd:l=!0,id:a,onConnect:d,children:s,className:c,onMouseDown:u,onTouchStart:r,...g},h)=>{var j,w;let m=a||null,f=t==="target",y=le(),x=di(),{connectOnClick:b,noPanClassName:N}=ne(vi,ue),{connecting:p,clickConnecting:S}=ne(bi(x,m,t),ue);x||((w=(j=y.getState()).onError)==null||w.call(j,"010",xe.error010()));let k=E=>{let{defaultEdgeOptions:O,onConnect:M,hasDefaultEdges:C}=y.getState(),R={...O,...E};if(C){let{edges:L,setEdges:H}=y.getState();H(gi(R,L))}M==null||M(R),d==null||d(R)},_=E=>{if(!x)return;let O=Dn(E);i&&(O&&E.button===0||!O)&&Gn({event:E,handleId:m,nodeId:x,onConnect:k,isTarget:f,getState:y.getState,setState:y.setState,isValidConnection:n||y.getState().isValidConnection||Un}),O?u==null||u(E):r==null||r(E)},P=E=>{let{onClickConnectStart:O,onClickConnectEnd:M,connectionClickStartHandle:C,connectionMode:R,isValidConnection:L}=y.getState();if(!x||!C&&!i)return;if(!C){O==null||O(E,{nodeId:x,handleId:m,handleType:t}),y.setState({connectionClickStartHandle:{nodeId:x,type:t,handleId:m}});return}let H=Pn(E.target),F=n||L||Un,{connection:D,isValid:$}=Kn({nodeId:x,id:m,type:t},R,C.nodeId,C.handleId||null,C.type,F,H);$&&k(D),M==null||M(E),y.setState({connectionClickStartHandle:null})};return v.createElement("div",{"data-handleid":m,"data-nodeid":x,"data-handlepos":e,"data-id":`${x}-${m}-${t}`,className:he(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",N,c,{source:!f,target:f,connectable:o,connectablestart:i,connectableend:l,connecting:S,connectionindicator:o&&(i&&!p||l&&p)}]),onMouseDown:_,onTouchStart:_,onClick:b?P:void 0,ref:h,...g},s)});qn.displayName="Handle";var Ce=(0,v.memo)(qn),Jn=({data:t,isConnectable:e,targetPosition:n=W.Top,sourcePosition:o=W.Bottom})=>v.createElement(v.Fragment,null,v.createElement(Ce,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label,v.createElement(Ce,{type:"source",position:o,isConnectable:e}));Jn.displayName="DefaultNode";var tn=(0,v.memo)(Jn),Qn=({data:t,isConnectable:e,sourcePosition:n=W.Bottom})=>v.createElement(v.Fragment,null,t==null?void 0:t.label,v.createElement(Ce,{type:"source",position:n,isConnectable:e}));Qn.displayName="InputNode";var eo=(0,v.memo)(Qn),to=({data:t,isConnectable:e,targetPosition:n=W.Top})=>v.createElement(v.Fragment,null,v.createElement(Ce,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label);to.displayName="OutputNode";var no=(0,v.memo)(to),nn=()=>null;nn.displayName="GroupNode";var xi=t=>({selectedNodes:t.getNodes().filter(e=>e.selected),selectedEdges:t.edges.filter(e=>e.selected).map(e=>({...e}))}),Et=t=>t.id;function wi(t,e){return ue(t.selectedNodes.map(Et),e.selectedNodes.map(Et))&&ue(t.selectedEdges.map(Et),e.selectedEdges.map(Et))}var oo=(0,v.memo)(({onSelectionChange:t})=>{let e=le(),{selectedNodes:n,selectedEdges:o}=ne(xi,wi);return(0,v.useEffect)(()=>{let i={nodes:n,edges:o};t==null||t(i),e.getState().onSelectionChange.forEach(l=>l(i))},[n,o,t]),null});oo.displayName="SelectionListener";var Ei=t=>!!t.onSelectionChange;function Si({onSelectionChange:t}){let e=ne(Ei);return t||e?v.createElement(oo,{onSelectionChange:t}):null}var Ci=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset});function Ke(t,e){(0,v.useEffect)(()=>{t!==void 0&&e(t)},[t])}function J(t,e,n){(0,v.useEffect)(()=>{e!==void 0&&n({[t]:e})},[e])}var Ni=({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:i,onConnectStart:l,onConnectEnd:a,onClickConnectStart:d,onClickConnectEnd:s,nodesDraggable:c,nodesConnectable:u,nodesFocusable:r,edgesFocusable:g,edgesUpdatable:h,elevateNodesOnSelect:m,minZoom:f,maxZoom:y,nodeExtent:x,onNodesChange:b,onEdgesChange:N,elementsSelectable:p,connectionMode:S,snapGrid:k,snapToGrid:_,translateExtent:P,connectOnClick:j,defaultEdgeOptions:w,fitView:E,fitViewOptions:O,onNodesDelete:M,onEdgesDelete:C,onNodeDrag:R,onNodeDragStart:L,onNodeDragStop:H,onSelectionDrag:F,onSelectionDragStart:D,onSelectionDragStop:$,noPanClassName:V,nodeOrigin:X,rfId:Z,autoPanOnConnect:U,autoPanOnNodeDrag:I,onError:A,connectionRadius:z,isValidConnection:T,nodeDragThreshold:Y})=>{let{setNodes:G,setEdges:ee,setDefaultNodesAndEdges:ae,setMinZoom:ge,setMaxZoom:oe,setTranslateExtent:Q,setNodeExtent:de,reset:te}=ne(Ci,ue),K=le();return(0,v.useEffect)(()=>{let fe=o==null?void 0:o.map(Me=>({...Me,...w}));return ae(n,fe),()=>{te()}},[]),J("defaultEdgeOptions",w,K.setState),J("connectionMode",S,K.setState),J("onConnect",i,K.setState),J("onConnectStart",l,K.setState),J("onConnectEnd",a,K.setState),J("onClickConnectStart",d,K.setState),J("onClickConnectEnd",s,K.setState),J("nodesDraggable",c,K.setState),J("nodesConnectable",u,K.setState),J("nodesFocusable",r,K.setState),J("edgesFocusable",g,K.setState),J("edgesUpdatable",h,K.setState),J("elementsSelectable",p,K.setState),J("elevateNodesOnSelect",m,K.setState),J("snapToGrid",_,K.setState),J("snapGrid",k,K.setState),J("onNodesChange",b,K.setState),J("onEdgesChange",N,K.setState),J("connectOnClick",j,K.setState),J("fitViewOnInit",E,K.setState),J("fitViewOnInitOptions",O,K.setState),J("onNodesDelete",M,K.setState),J("onEdgesDelete",C,K.setState),J("onNodeDrag",R,K.setState),J("onNodeDragStart",L,K.setState),J("onNodeDragStop",H,K.setState),J("onSelectionDrag",F,K.setState),J("onSelectionDragStart",D,K.setState),J("onSelectionDragStop",$,K.setState),J("noPanClassName",V,K.setState),J("nodeOrigin",X,K.setState),J("rfId",Z,K.setState),J("autoPanOnConnect",U,K.setState),J("autoPanOnNodeDrag",I,K.setState),J("onError",A,K.setState),J("connectionRadius",z,K.setState),J("isValidConnection",T,K.setState),J("nodeDragThreshold",Y,K.setState),Ke(t,G),Ke(e,ee),Ke(f,ge),Ke(y,oe),Ke(P,Q),Ke(x,de),null},ro={display:"none"},ki={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ao="react-flow__node-desc",io="react-flow__edge-desc",Mi="react-flow__aria-live",Oi=t=>t.ariaLiveMessage;function _i({rfId:t}){let e=ne(Oi);return v.createElement("div",{id:`${Mi}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:ki},e)}function Pi({rfId:t,disableKeyboardA11y:e}){return v.createElement(v.Fragment,null,v.createElement("div",{id:`${ao}-${t}`,style:ro},"Press enter or space to select a node.",!e&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),v.createElement("div",{id:`${io}-${t}`,style:ro},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!e&&v.createElement(_i,{rfId:t}))}var st=(t=null,e={actInsideInputWithModifier:!0})=>{let[n,o]=(0,v.useState)(!1),i=(0,v.useRef)(!1),l=(0,v.useRef)(new Set([])),[a,d]=(0,v.useMemo)(()=>{if(t!==null){let s=(Array.isArray(t)?t:[t]).filter(c=>typeof c=="string").map(c=>c.split("+"));return[s,s.reduce((c,u)=>c.concat(...u),[])]}return[[],[]]},[t]);return(0,v.useEffect)(()=>{let s=typeof document<"u"?document:null,c=(e==null?void 0:e.target)||s;if(t!==null){let u=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,(!i.current||i.current&&!e.actInsideInputWithModifier)&&Ft(h))return!1;let m=lo(h.code,d);l.current.add(h[m]),so(a,l.current,!1)&&(h.preventDefault(),o(!0))},r=h=>{if((!i.current||i.current&&!e.actInsideInputWithModifier)&&Ft(h))return!1;let m=lo(h.code,d);so(a,l.current,!0)?(o(!1),l.current.clear()):l.current.delete(h[m]),h.key==="Meta"&&l.current.clear(),i.current=!1},g=()=>{l.current.clear(),o(!1)};return c==null||c.addEventListener("keydown",u),c==null||c.addEventListener("keyup",r),window.addEventListener("blur",g),()=>{c==null||c.removeEventListener("keydown",u),c==null||c.removeEventListener("keyup",r),window.removeEventListener("blur",g)}}},[t,o]),n};function so(t,e,n){return t.filter(o=>n||o.length===e.size).some(o=>o.every(i=>e.has(i)))}function lo(t,e){return e.includes(t)?"code":"key"}function co(t,e,n,o){var d,s;let i=t.parentNode||t.parentId;if(!i)return n;let l=e.get(i),a=Ze(l,o);return co(l,e,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(((d=l[re])==null?void 0:d.z)??0)>(n.z??0)?((s=l[re])==null?void 0:s.z)??0:n.z??0},o)}function uo(t,e,n){t.forEach(o=>{var l;let i=o.parentNode||o.parentId;if(i&&!t.has(i))throw Error(`Parent node ${i} not found`);if(i||n!=null&&n[o.id]){let{x:a,y:d,z:s}=co(o,t,{...o.position,z:((l=o[re])==null?void 0:l.z)??0},e);o.positionAbsolute={x:a,y:d},o[re].z=s,n!=null&&n[o.id]&&(o[re].isParent=!0)}})}function on(t,e,n,o){let i=new Map,l={},a=o?1e3:0;return t.forEach(d=>{var h;let s=(me(d.zIndex)?d.zIndex:0)+(d.selected?a:0),c=e.get(d.id),u={...d,positionAbsolute:{x:d.position.x,y:d.position.y}},r=d.parentNode||d.parentId;r&&(l[r]=!0);let g=(c==null?void 0:c.type)&&(c==null?void 0:c.type)!==d.type;Object.defineProperty(u,re,{enumerable:!1,value:{handleBounds:g||(h=c==null?void 0:c[re])==null?void 0:h.handleBounds,z:s}}),i.set(d.id,u)}),uo(i,n,l),i}function ho(t,e={}){let{getNodes:n,width:o,height:i,minZoom:l,maxZoom:a,d3Zoom:d,d3Selection:s,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:r}=t(),g=e.initial&&!c&&u;if(d&&s&&(g||!e.initial)){let h=n().filter(f=>{var x;let y=e.includeHiddenNodes?f.width&&f.height:!f.hidden;return(x=e.nodes)!=null&&x.length?y&&e.nodes.some(b=>b.id===f.id):y}),m=h.every(f=>f.width&&f.height);if(h.length>0&&m){let{x:f,y,zoom:x}=Wn(Jt(h,r),o,i,e.minZoom??l,e.maxZoom??a,e.padding??.1),b=Xe.translate(f,y).scale(x);return typeof e.duration=="number"&&e.duration>0?d.transform(Be(s,e.duration),b):d.transform(s,b),!0}}return!1}function ji(t,e){return t.forEach(n=>{let o=e.get(n.id);o&&e.set(o.id,{...o,[re]:o[re],selected:n.selected})}),new Map(e)}function Ii(t,e){return e.map(n=>{let o=t.find(i=>i.id===n.id);return o&&(n.selected=o.selected),n})}function St({changedNodes:t,changedEdges:e,get:n,set:o}){let{nodeInternals:i,edges:l,onNodesChange:a,onEdgesChange:d,hasDefaultNodes:s,hasDefaultEdges:c}=n();t!=null&&t.length&&(s&&o({nodeInternals:ji(t,i)}),a==null||a(t)),e!=null&&e.length&&(c&&o({edges:Ii(e,l)}),d==null||d(e))}var Ge=()=>{},Di={zoomIn:Ge,zoomOut:Ge,zoomTo:Ge,getZoom:()=>1,setViewport:Ge,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:Ge,fitBounds:Ge,project:t=>t,screenToFlowPosition:t=>t,flowToScreenPosition:t=>t,viewportInitialized:!1},Ri=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection}),Ai=()=>{let t=le(),{d3Zoom:e,d3Selection:n}=ne(Ri,ue);return(0,v.useMemo)(()=>n&&e?{zoomIn:o=>e.scaleBy(Be(n,o==null?void 0:o.duration),1.2),zoomOut:o=>e.scaleBy(Be(n,o==null?void 0:o.duration),1/1.2),zoomTo:(o,i)=>e.scaleTo(Be(n,i==null?void 0:i.duration),o),getZoom:()=>t.getState().transform[2],setViewport:(o,i)=>{let[l,a,d]=t.getState().transform,s=Xe.translate(o.x??l,o.y??a).scale(o.zoom??d);e.transform(Be(n,i==null?void 0:i.duration),s)},getViewport:()=>{let[o,i,l]=t.getState().transform;return{x:o,y:i,zoom:l}},fitView:o=>ho(t.getState,o),setCenter:(o,i,l)=>{let{width:a,height:d,maxZoom:s}=t.getState(),c=(l==null?void 0:l.zoom)===void 0?s:l.zoom,u=a/2-o*c,r=d/2-i*c,g=Xe.translate(u,r).scale(c);e.transform(Be(n,l==null?void 0:l.duration),g)},fitBounds:(o,i)=>{let{width:l,height:a,minZoom:d,maxZoom:s}=t.getState(),{x:c,y:u,zoom:r}=Wn(o,l,a,d,s,(i==null?void 0:i.padding)??.1),g=Xe.translate(c,u).scale(r);e.transform(Be(n,i==null?void 0:i.duration),g)},project:o=>{let{transform:i,snapToGrid:l,snapGrid:a}=t.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"),qt(o,i,l,a)},screenToFlowPosition:o=>{let{transform:i,snapToGrid:l,snapGrid:a,domNode:d}=t.getState();if(!d)return o;let{x:s,y:c}=d.getBoundingClientRect();return qt({x:o.x-s,y:o.y-c},i,l,a)},flowToScreenPosition:o=>{let{transform:i,domNode:l}=t.getState();if(!l)return o;let{x:a,y:d}=l.getBoundingClientRect(),s=Vn(o,i);return{x:s.x+a,y:s.y+d}},viewportInitialized:!0}:Di,[e,n])};function lt(){let t=Ai(),e=le(),n=(0,v.useCallback)(()=>e.getState().getNodes().map(f=>({...f})),[]),o=(0,v.useCallback)(f=>e.getState().nodeInternals.get(f),[]),i=(0,v.useCallback)(()=>{let{edges:f=[]}=e.getState();return f.map(y=>({...y}))},[]),l=(0,v.useCallback)(f=>{let{edges:y=[]}=e.getState();return y.find(x=>x.id===f)},[]),a=(0,v.useCallback)(f=>{let{getNodes:y,setNodes:x,hasDefaultNodes:b,onNodesChange:N}=e.getState(),p=y(),S=typeof f=="function"?f(p):f;b?x(S):N&&N(S.length===0?p.map(k=>({type:"remove",id:k.id})):S.map(k=>({item:k,type:"reset"})))},[]),d=(0,v.useCallback)(f=>{let{edges:y=[],setEdges:x,hasDefaultEdges:b,onEdgesChange:N}=e.getState(),p=typeof f=="function"?f(y):f;b?x(p):N&&N(p.length===0?y.map(S=>({type:"remove",id:S.id})):p.map(S=>({item:S,type:"reset"})))},[]),s=(0,v.useCallback)(f=>{let y=Array.isArray(f)?f:[f],{getNodes:x,setNodes:b,hasDefaultNodes:N,onNodesChange:p}=e.getState();N?b([...x(),...y]):p&&p(y.map(S=>({item:S,type:"add"})))},[]),c=(0,v.useCallback)(f=>{let y=Array.isArray(f)?f:[f],{edges:x=[],setEdges:b,hasDefaultEdges:N,onEdgesChange:p}=e.getState();N?b([...x,...y]):p&&p(y.map(S=>({item:S,type:"add"})))},[]),u=(0,v.useCallback)(()=>{let{getNodes:f,edges:y=[],transform:x}=e.getState(),[b,N,p]=x;return{nodes:f().map(S=>({...S})),edges:y.map(S=>({...S})),viewport:{x:b,y:N,zoom:p}}},[]),r=(0,v.useCallback)(({nodes:f,edges:y})=>{let{nodeInternals:x,getNodes:b,edges:N,hasDefaultNodes:p,hasDefaultEdges:S,onNodesDelete:k,onEdgesDelete:_,onNodesChange:P,onEdgesChange:j}=e.getState(),w=(f||[]).map(R=>R.id),E=(y||[]).map(R=>R.id),O=b().reduce((R,L)=>{let H=L.parentNode||L.parentId,F=!w.includes(L.id)&&H&&R.find(D=>D.id===H);return(typeof L.deletable!="boolean"||L.deletable)&&(w.includes(L.id)||F)&&R.push(L),R},[]),M=N.filter(R=>typeof R.deletable=="boolean"?R.deletable:!0),C=M.filter(R=>E.includes(R.id));if(O||C){let R=Fn(O,M),L=[...C,...R],H=L.reduce((F,D)=>(F.includes(D.id)||F.push(D.id),F),[]);(S||p)&&(S&&e.setState({edges:N.filter(F=>!H.includes(F.id))}),p&&(O.forEach(F=>{x.delete(F.id)}),e.setState({nodeInternals:new Map(x)}))),H.length>0&&(_==null||_(L),j&&j(H.map(F=>({id:F,type:"remove"})))),O.length>0&&(k==null||k(O),P&&P(O.map(F=>({id:F.id,type:"remove"}))))}},[]),g=(0,v.useCallback)(f=>{let y=ti(f),x=y?null:e.getState().nodeInternals.get(f.id);return!y&&!x?[null,null,y]:[y?f:jn(x),x,y]},[]),h=(0,v.useCallback)((f,y=!0,x)=>{let[b,N,p]=g(f);return b?(x||e.getState().getNodes()).filter(S=>{if(!p&&(S.id===N.id||!S.positionAbsolute))return!1;let k=Xt(jn(S),b);return y&&k>0||k>=b.width*b.height}):[]},[]),m=(0,v.useCallback)((f,y,x=!0)=>{let[b]=g(f);if(!b)return!1;let N=Xt(b,y);return x&&N>0||N>=b.width*b.height},[]);return(0,v.useMemo)(()=>({...t,getNodes:n,getNode:o,getEdges:i,getEdge:l,setNodes:a,setEdges:d,addNodes:s,addEdges:c,toObject:u,deleteElements:r,getIntersectingNodes:h,isNodeIntersecting:m}),[t,n,o,i,l,a,d,s,c,u,r,h,m])}var Bi={actInsideInputWithModifier:!1},zi=({deleteKeyCode:t,multiSelectionKeyCode:e})=>{let n=le(),{deleteElements:o}=lt(),i=st(t,Bi),l=st(e);(0,v.useEffect)(()=>{if(i){let{edges:a,getNodes:d}=n.getState();o({nodes:d().filter(s=>s.selected),edges:a.filter(s=>s.selected)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,v.useEffect)(()=>{n.setState({multiSelectionActive:l})},[l])};function Li(t){let e=le();(0,v.useEffect)(()=>{let n,o=()=>{var l,a;if(!t.current)return;let i=Tt(t.current);(i.height===0||i.width===0)&&((a=(l=e.getState()).onError)==null||a.call(l,"004",xe.error004())),e.setState({width:i.width||500,height:i.height||500})};return o(),window.addEventListener("resize",o),t.current&&(n=new ResizeObserver(()=>o()),n.observe(t.current)),()=>{window.removeEventListener("resize",o),n&&t.current&&n.unobserve(t.current)}},[])}var rn={position:"absolute",width:"100%",height:"100%",top:0,left:0},$i=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,Ct=t=>({x:t.x,y:t.y,zoom:t.k}),Ue=(t,e)=>t.target.closest(`.${e}`),go=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),fo=t=>{let e=t.ctrlKey&&mt()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e},Ti=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection,d3ZoomHandler:t.d3ZoomHandler,userSelectionActive:t.userSelectionActive}),Hi=({onMove:t,onMoveStart:e,onMoveEnd:n,onPaneContextMenu:o,zoomOnScroll:i=!0,zoomOnPinch:l=!0,panOnScroll:a=!1,panOnScrollSpeed:d=.5,panOnScrollMode:s=Ye.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:r=!0,defaultViewport:g,translateExtent:h,minZoom:m,maxZoom:f,zoomActivationKeyCode:y,preventScrolling:x=!0,children:b,noWheelClassName:N,noPanClassName:p})=>{let S=(0,v.useRef)(),k=le(),_=(0,v.useRef)(!1),P=(0,v.useRef)(!1),j=(0,v.useRef)(null),w=(0,v.useRef)({x:0,y:0,zoom:0}),{d3Zoom:E,d3Selection:O,d3ZoomHandler:M,userSelectionActive:C}=ne(Ti,ue),R=st(y),L=(0,v.useRef)(0),H=(0,v.useRef)(!1),F=(0,v.useRef)();return Li(j),(0,v.useEffect)(()=>{if(j.current){let D=j.current.getBoundingClientRect(),$=Ia().scaleExtent([m,f]).translateExtent(h),V=ht(j.current).call($),X=Xe.translate(g.x,g.y).scale(Fe(g.zoom,m,f)),Z=[[0,0],[D.width,D.height]],U=$.constrain()(X,Z,h);$.transform(V,U),$.wheelDelta(fo),k.setState({d3Zoom:$,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:j.current.closest(".react-flow")})}},[]),(0,v.useEffect)(()=>{O&&E&&(a&&!R&&!C?O.on("wheel.zoom",D=>{if(Ue(D,N))return!1;D.preventDefault(),D.stopImmediatePropagation();let $=O.property("__zoom").k||1;if(D.ctrlKey&&l){let T=Lt(D),Y=$*2**fo(D);E.scaleTo(O,Y,T,D);return}let V=D.deltaMode===1?20:1,X=s===Ye.Vertical?0:D.deltaX*V,Z=s===Ye.Horizontal?0:D.deltaY*V;!mt()&&D.shiftKey&&s!==Ye.Vertical&&(X=D.deltaY*V,Z=0),E.translateBy(O,-(X/$)*d,-(Z/$)*d,{internal:!0});let U=Ct(O.property("__zoom")),{onViewportChangeStart:I,onViewportChange:A,onViewportChangeEnd:z}=k.getState();clearTimeout(F.current),H.current||(H.current=!0,e==null||e(D,U),I==null||I(U)),H.current&&(t==null||t(D,U),A==null||A(U),F.current=setTimeout(()=>{n==null||n(D,U),z==null||z(U),H.current=!1},150))},{passive:!1}):M!==void 0&&O.on("wheel.zoom",function(D,$){if(!x&&D.type==="wheel"&&!D.ctrlKey||Ue(D,N))return null;D.preventDefault(),M.call(this,D,$)},{passive:!1}))},[C,a,s,O,E,M,R,l,x,N,e,t,n]),(0,v.useEffect)(()=>{E&&E.on("start",D=>{var X,Z;if(!D.sourceEvent||D.sourceEvent.internal)return null;L.current=(X=D.sourceEvent)==null?void 0:X.button;let{onViewportChangeStart:$}=k.getState(),V=Ct(D.transform);_.current=!0,w.current=V,((Z=D.sourceEvent)==null?void 0:Z.type)==="mousedown"&&k.setState({paneDragging:!0}),$==null||$(V),e==null||e(D.sourceEvent,V)})},[E,e]),(0,v.useEffect)(()=>{E&&(C&&!_.current?E.on("zoom",null):C||E.on("zoom",D=>{var V;let{onViewportChange:$}=k.getState();if(k.setState({transform:[D.transform.x,D.transform.y,D.transform.k]}),P.current=!!(o&&go(r,L.current??0)),(t||$)&&!((V=D.sourceEvent)!=null&&V.internal)){let X=Ct(D.transform);$==null||$(X),t==null||t(D.sourceEvent,X)}}))},[C,E,t,r,o]),(0,v.useEffect)(()=>{E&&E.on("end",D=>{if(!D.sourceEvent||D.sourceEvent.internal)return null;let{onViewportChangeEnd:$}=k.getState();if(_.current=!1,k.setState({paneDragging:!1}),o&&go(r,L.current??0)&&!P.current&&o(D.sourceEvent),P.current=!1,(n||$)&&$i(w.current,D.transform)){let V=Ct(D.transform);w.current=V,clearTimeout(S.current),S.current=setTimeout(()=>{$==null||$(V),n==null||n(D.sourceEvent,V)},a?150:0)}})},[E,a,r,n,o]),(0,v.useEffect)(()=>{E&&E.filter(D=>{let $=R||i,V=l&&D.ctrlKey;if((r===!0||Array.isArray(r)&&r.includes(1))&&D.button===1&&D.type==="mousedown"&&(Ue(D,"react-flow__node")||Ue(D,"react-flow__edge")))return!0;if(!r&&!$&&!a&&!c&&!l||C||!c&&D.type==="dblclick"||Ue(D,N)&&D.type==="wheel"||Ue(D,p)&&(D.type!=="wheel"||a&&D.type==="wheel"&&!R)||!l&&D.ctrlKey&&D.type==="wheel"||!$&&!a&&!V&&D.type==="wheel"||!r&&(D.type==="mousedown"||D.type==="touchstart")||Array.isArray(r)&&!r.includes(D.button)&&D.type==="mousedown")return!1;let X=Array.isArray(r)&&r.includes(D.button)||!D.button||D.button<=1;return(!D.ctrlKey||D.type==="wheel")&&X})},[C,E,i,l,a,c,r,u,R]),v.createElement("div",{className:"react-flow__renderer",ref:j,style:rn},b)},Vi=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function Xi(){let{userSelectionActive:t,userSelectionRect:e}=ne(Vi,ue);return t&&e?v.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}function po(t,e){let n=e.parentNode||e.parentId,o=t.find(i=>i.id===n);if(o){let i=e.position.x+e.width-o.width,l=e.position.y+e.height-o.height;if(i>0||l>0||e.position.x<0||e.position.y<0){if(o.style={...o.style},o.style.width=o.style.width??o.width,o.style.height=o.style.height??o.height,i>0&&(o.style.width+=i),l>0&&(o.style.height+=l),e.position.x<0){let a=Math.abs(e.position.x);o.position.x=o.position.x-a,o.style.width+=a,e.position.x=0}if(e.position.y<0){let a=Math.abs(e.position.y);o.position.y=o.position.y-a,o.style.height+=a,e.position.y=0}o.width=o.style.width,o.height=o.style.height}}}function mo(t,e){if(t.some(o=>o.type==="reset"))return t.filter(o=>o.type==="reset").map(o=>o.item);let n=t.filter(o=>o.type==="add").map(o=>o.item);return e.reduce((o,i)=>{let l=t.filter(d=>d.id===i.id);if(l.length===0)return o.push(i),o;let a={...i};for(let d of l)if(d)switch(d.type){case"select":a.selected=d.selected;break;case"position":d.position!==void 0&&(a.position=d.position),d.positionAbsolute!==void 0&&(a.positionAbsolute=d.positionAbsolute),d.dragging!==void 0&&(a.dragging=d.dragging),a.expandParent&&po(o,a);break;case"dimensions":d.dimensions!==void 0&&(a.width=d.dimensions.width,a.height=d.dimensions.height),d.updateStyle!==void 0&&(a.style={...a.style||{},...d.dimensions}),typeof d.resizing=="boolean"&&(a.resizing=d.resizing),a.expandParent&&po(o,a);break;case"remove":return o}return o.push(a),o},n)}function yo(t,e){return mo(t,e)}function Fi(t,e){return mo(t,e)}var Ne=(t,e)=>({id:t,type:"select",selected:e});function qe(t,e){return t.reduce((n,o)=>{let i=e.includes(o.id);return!o.selected&&i?(o.selected=!0,n.push(Ne(o.id,!0))):o.selected&&!i&&(o.selected=!1,n.push(Ne(o.id,!1))),n},[])}var an=(t,e)=>n=>{n.target===e.current&&(t==null||t(n))},Wi=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging}),vo=(0,v.memo)(({isSelecting:t,selectionMode:e=yt.Full,panOnDrag:n,onSelectionStart:o,onSelectionEnd:i,onPaneClick:l,onPaneContextMenu:a,onPaneScroll:d,onPaneMouseEnter:s,onPaneMouseMove:c,onPaneMouseLeave:u,children:r})=>{let g=(0,v.useRef)(null),h=le(),m=(0,v.useRef)(0),f=(0,v.useRef)(0),y=(0,v.useRef)(),{userSelectionActive:x,elementsSelectable:b,dragging:N}=ne(Wi,ue),p=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,f.current=0},S=M=>{l==null||l(M),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},k=M=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){M.preventDefault();return}a==null||a(M)},_=d?M=>d(M):void 0,P=M=>{let{resetSelectedElements:C,domNode:R}=h.getState();if(y.current=R==null?void 0:R.getBoundingClientRect(),!b||!t||M.button!==0||M.target!==g.current||!y.current)return;let{x:L,y:H}=Se(M,y.current);C(),h.setState({userSelectionRect:{width:0,height:0,startX:L,startY:H,x:L,y:H}}),o==null||o(M)},j=M=>{let{userSelectionRect:C,nodeInternals:R,edges:L,transform:H,onNodesChange:F,onEdgesChange:D,nodeOrigin:$,getNodes:V}=h.getState();if(!t||!y.current||!C)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});let X=Se(M,y.current),Z=C.startX??0,U=C.startY??0,I={...C,x:X.x<Z?X.x:Z,y:X.y<U?X.y:U,width:Math.abs(X.x-Z),height:Math.abs(X.y-U)},A=V(),z=Xn(R,I,H,e===yt.Partial,!0,$),T=Fn(z,L).map(G=>G.id),Y=z.map(G=>G.id);if(m.current!==Y.length){m.current=Y.length;let G=qe(A,Y);G.length&&(F==null||F(G))}if(f.current!==T.length){f.current=T.length;let G=qe(L,T);G.length&&(D==null||D(G))}h.setState({userSelectionRect:I})},w=M=>{if(M.button!==0)return;let{userSelectionRect:C}=h.getState();!x&&C&&M.target===g.current&&(S==null||S(M)),h.setState({nodesSelectionActive:m.current>0}),p(),i==null||i(M)},E=M=>{x&&(h.setState({nodesSelectionActive:m.current>0}),i==null||i(M)),p()},O=b&&(t||x);return v.createElement("div",{className:he(["react-flow__pane",{dragging:N,selection:t}]),onClick:O?void 0:an(S,g),onContextMenu:an(k,g),onWheel:an(_,g),onMouseEnter:O?void 0:s,onMouseDown:O?P:void 0,onMouseMove:O?j:c,onMouseUp:O?w:void 0,onMouseLeave:O?E:u,ref:g,style:rn},r,v.createElement(Xi,null))});vo.displayName="Pane";function bo(t,e){let n=t.parentNode||t.parentId;if(!n)return!1;let o=e.get(n);return o?o.selected?!0:bo(o,e):!1}function xo(t,e,n){let o=t;do{if(o!=null&&o.matches(e))return!0;if(o===n.current)return!1;o=o.parentElement}while(o);return!1}function Yi(t,e,n,o){return Array.from(t.values()).filter(i=>(i.selected||i.id===o)&&(!i.parentNode||i.parentId||!bo(i,t))&&(i.draggable||e&&i.draggable===void 0)).map(i=>{var l,a;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((l=i.positionAbsolute)==null?void 0:l.x)??0),y:n.y-(((a=i.positionAbsolute)==null?void 0:a.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode||i.parentId,parentId:i.parentNode||i.parentId,width:i.width,height:i.height,expandParent:i.expandParent}})}function Zi(t,e){return!e||e==="parent"?e:[e[0],[e[1][0]-(t.width||0),e[1][1]-(t.height||0)]]}function wo(t,e,n,o,i=[0,0],l){let a=Zi(t,t.extent||o),d=a,s=t.parentNode||t.parentId;if(t.extent==="parent"&&!t.expandParent)if(s&&t.width&&t.height){let r=n.get(s),{x:g,y:h}=Ze(r,i).positionAbsolute;d=r&&me(g)&&me(h)&&me(r.width)&&me(r.height)?[[g+t.width*i[0],h+t.height*i[1]],[g+r.width-t.width+t.width*i[0],h+r.height-t.height+t.height*i[1]]]:d}else l==null||l("005",xe.error005()),d=a;else if(t.extent&&s&&t.extent!=="parent"){let{x:r,y:g}=Ze(n.get(s),i).positionAbsolute;d=[[t.extent[0][0]+r,t.extent[0][1]+g],[t.extent[1][0]+r,t.extent[1][1]+g]]}let c={x:0,y:0};s&&(c=Ze(n.get(s),i).positionAbsolute);let u=d&&d!=="parent"?Ht(e,d):e;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function sn({nodeId:t,dragItems:e,nodeInternals:n}){let o=e.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[t?o.find(i=>i.id===t):o[0],o]}var Eo=(t,e,n,o)=>{let i=e.querySelectorAll(t);if(!i||!i.length)return null;let l=Array.from(i),a=e.getBoundingClientRect(),d={x:a.width*o[0],y:a.height*o[1]};return l.map(s=>{let c=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),position:s.getAttribute("data-handlepos"),x:(c.left-a.left-d.x)/n,y:(c.top-a.top-d.y)/n,...Tt(s)}})};function dt(t,e,n){return n===void 0?n:o=>{let i=e().nodeInternals.get(t);i&&n(o,{...i})}}function ln({id:t,store:e,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:i,unselectNodesAndEdges:l,multiSelectionActive:a,nodeInternals:d,onError:s}=e.getState(),c=d.get(t);if(!c){s==null||s("012",xe.error012(t));return}e.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(l({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var u;return(u=o==null?void 0:o.current)==null?void 0:u.blur()})):i([t])}function Ki(){let t=le();return(0,v.useCallback)(({sourceEvent:e})=>{let{transform:n,snapGrid:o,snapToGrid:i}=t.getState(),l=e.touches?e.touches[0].clientX:e.clientX,a=e.touches?e.touches[0].clientY:e.clientY,d={x:(l-n[0])/n[2],y:(a-n[1])/n[2]};return{xSnapped:i?o[0]*Math.round(d.x/o[0]):d.x,ySnapped:i?o[1]*Math.round(d.y/o[1]):d.y,...d}},[])}function dn(t){return(e,n,o)=>t==null?void 0:t(e,o)}function So({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:o,nodeId:i,isSelectable:l,selectNodesOnDrag:a}){let d=le(),[s,c]=(0,v.useState)(!1),u=(0,v.useRef)([]),r=(0,v.useRef)({x:null,y:null}),g=(0,v.useRef)(0),h=(0,v.useRef)(null),m=(0,v.useRef)({x:0,y:0}),f=(0,v.useRef)(null),y=(0,v.useRef)(!1),x=(0,v.useRef)(!1),b=(0,v.useRef)(!1),N=Ki();return(0,v.useEffect)(()=>{if(t!=null&&t.current){let p=ht(t.current),S=({x:P,y:j})=>{let{nodeInternals:w,onNodeDrag:E,onSelectionDrag:O,updateNodePositions:M,nodeExtent:C,snapGrid:R,snapToGrid:L,nodeOrigin:H,onError:F}=d.getState();r.current={x:P,y:j};let D=!1,$={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&C&&($=Vt(Jt(u.current,H))),u.current=u.current.map(X=>{let Z={x:P-X.distance.x,y:j-X.distance.y};L&&(Z.x=R[0]*Math.round(Z.x/R[0]),Z.y=R[1]*Math.round(Z.y/R[1]));let U=[[C[0][0],C[0][1]],[C[1][0],C[1][1]]];u.current.length>1&&C&&!X.extent&&(U[0][0]=X.positionAbsolute.x-$.x+C[0][0],U[1][0]=X.positionAbsolute.x+(X.width??0)-$.x2+C[1][0],U[0][1]=X.positionAbsolute.y-$.y+C[0][1],U[1][1]=X.positionAbsolute.y+(X.height??0)-$.y2+C[1][1]);let I=wo(X,Z,w,U,H,F);return D=D||X.position.x!==I.position.x||X.position.y!==I.position.y,X.position=I.position,X.positionAbsolute=I.positionAbsolute,X}),!D)return;M(u.current,!0,!0),c(!0);let V=i?E:dn(O);if(V&&f.current){let[X,Z]=sn({nodeId:i,dragItems:u.current,nodeInternals:w});V(f.current,X,Z)}},k=()=>{if(!h.current)return;let[P,j]=_n(m.current,h.current);if(P!==0||j!==0){let{transform:w,panBy:E}=d.getState();r.current.x=(r.current.x??0)-P/w[2],r.current.y=(r.current.y??0)-j/w[2],E({x:P,y:j})&&S(r.current)}g.current=requestAnimationFrame(k)},_=P=>{var H;let{nodeInternals:j,multiSelectionActive:w,nodesDraggable:E,unselectNodesAndEdges:O,onNodeDragStart:M,onSelectionDragStart:C}=d.getState();x.current=!0;let R=i?M:dn(C);(!a||!l)&&!w&&i&&((H=j.get(i))!=null&&H.selected||O()),i&&l&&a&&ln({id:i,store:d,nodeRef:t});let L=N(P);if(r.current=L,u.current=Yi(j,E,L,i),R&&u.current){let[F,D]=sn({nodeId:i,dragItems:u.current,nodeInternals:j});R(P.sourceEvent,F,D)}};if(e)p.on(".drag",null);else{let P=Ka().on("start",j=>{let{domNode:w,nodeDragThreshold:E}=d.getState();E===0&&_(j),b.current=!1,r.current=N(j),h.current=(w==null?void 0:w.getBoundingClientRect())||null,m.current=Se(j.sourceEvent,h.current)}).on("drag",j=>{var M,C;let w=N(j),{autoPanOnNodeDrag:E,nodeDragThreshold:O}=d.getState();if(j.sourceEvent.type==="touchmove"&&j.sourceEvent.touches.length>1&&(b.current=!0),!b.current){if(!y.current&&x.current&&E&&(y.current=!0,k()),!x.current){let R=w.xSnapped-(((M=r==null?void 0:r.current)==null?void 0:M.x)??0),L=w.ySnapped-(((C=r==null?void 0:r.current)==null?void 0:C.y)??0);Math.sqrt(R*R+L*L)>O&&_(j)}(r.current.x!==w.xSnapped||r.current.y!==w.ySnapped)&&u.current&&x.current&&(f.current=j.sourceEvent,m.current=Se(j.sourceEvent,h.current),S(w))}}).on("end",j=>{if(!(!x.current||b.current)&&(c(!1),y.current=!1,x.current=!1,cancelAnimationFrame(g.current),u.current)){let{updateNodePositions:w,nodeInternals:E,onNodeDragStop:O,onSelectionDragStop:M}=d.getState(),C=i?O:dn(M);if(w(u.current,!1,!1),C){let[R,L]=sn({nodeId:i,dragItems:u.current,nodeInternals:E});C(j.sourceEvent,R,L)}}}).filter(j=>{let w=j.target;return!j.button&&(!n||!xo(w,`.${n}`,t))&&(!o||xo(w,o,t))});return p.call(P),()=>{p.on(".drag",null)}}}},[t,e,n,o,l,d,i,a,N]),s}function Co(){let t=le();return(0,v.useCallback)(e=>{let{nodeInternals:n,nodeExtent:o,updateNodePositions:i,getNodes:l,snapToGrid:a,snapGrid:d,onError:s,nodesDraggable:c}=t.getState(),u=l().filter(y=>y.selected&&(y.draggable||c&&y.draggable===void 0)),r=a?d[0]:5,g=a?d[1]:5,h=e.isShiftPressed?4:1,m=e.x*r*h,f=e.y*g*h;i(u.map(y=>{if(y.positionAbsolute){let x={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+f};a&&(x.x=d[0]*Math.round(x.x/d[0]),x.y=d[1]*Math.round(x.y/d[1]));let{positionAbsolute:b,position:N}=wo(y,x,n,o,void 0,s);y.position=N,y.positionAbsolute=b}return y}),!0,!1)},[])}var Je={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ct=t=>{let e=({id:n,type:o,data:i,xPos:l,yPos:a,xPosOrigin:d,yPosOrigin:s,selected:c,onClick:u,onMouseEnter:r,onMouseMove:g,onMouseLeave:h,onContextMenu:m,onDoubleClick:f,style:y,className:x,isDraggable:b,isSelectable:N,isConnectable:p,isFocusable:S,selectNodesOnDrag:k,sourcePosition:_,targetPosition:P,hidden:j,resizeObserver:w,dragHandle:E,zIndex:O,isParent:M,noDragClassName:C,noPanClassName:R,initialized:L,disableKeyboardA11y:H,ariaLabel:F,rfId:D,hasHandleBounds:$})=>{let V=le(),X=(0,v.useRef)(null),Z=(0,v.useRef)(null),U=(0,v.useRef)(_),I=(0,v.useRef)(P),A=(0,v.useRef)(o),z=N||b||u||r||g||h,T=Co(),Y=dt(n,V.getState,r),G=dt(n,V.getState,g),ee=dt(n,V.getState,h),ae=dt(n,V.getState,m),ge=dt(n,V.getState,f),oe=te=>{let{nodeDragThreshold:K}=V.getState();if(N&&(!k||!b||K>0)&&ln({id:n,store:V,nodeRef:X}),u){let fe=V.getState().nodeInternals.get(n);fe&&u(te,{...fe})}},Q=te=>{Ft(te)||H||(In.includes(te.key)&&N?ln({id:n,store:V,unselect:te.key==="Escape",nodeRef:X}):b&&c&&Object.prototype.hasOwnProperty.call(Je,te.key)&&(V.setState({ariaLiveMessage:`Moved selected node ${te.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~l}, y: ${~~a}`}),T({x:Je[te.key].x,y:Je[te.key].y,isShiftPressed:te.shiftKey})))};(0,v.useEffect)(()=>()=>{Z.current&&(Z.current=(w==null||w.unobserve(Z.current),null))},[]),(0,v.useEffect)(()=>{if(X.current&&!j){let te=X.current;(!L||!$||Z.current!==te)&&(Z.current&&(w==null||w.unobserve(Z.current)),w==null||w.observe(te),Z.current=te)}},[j,L,$]),(0,v.useEffect)(()=>{let te=A.current!==o,K=U.current!==_,fe=I.current!==P;X.current&&(te||K||fe)&&(te&&(A.current=o),K&&(U.current=_),fe&&(I.current=P),V.getState().updateNodeDimensions([{id:n,nodeElement:X.current,forceUpdate:!0}]))},[n,o,_,P]);let de=So({nodeRef:X,disabled:j||!b,noDragClassName:C,handleSelector:E,nodeId:n,isSelectable:N,selectNodesOnDrag:k});return j?null:v.createElement("div",{className:he(["react-flow__node",`react-flow__node-${o}`,{[R]:b},x,{selected:c,selectable:N,parent:M,dragging:de}]),ref:X,style:{zIndex:O,transform:`translate(${d}px,${s}px)`,pointerEvents:z?"all":"none",visibility:L?"visible":"hidden",...y},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:Y,onMouseMove:G,onMouseLeave:ee,onContextMenu:ae,onClick:oe,onDoubleClick:ge,onKeyDown:S?Q:void 0,tabIndex:S?0:void 0,role:S?"button":void 0,"aria-describedby":H?void 0:`${ao}-${D}`,"aria-label":F},v.createElement(li,{value:n},v.createElement(t,{id:n,data:i,type:o,xPos:l,yPos:a,selected:c,isConnectable:p,sourcePosition:_,targetPosition:P,dragging:de,dragHandle:E,zIndex:O})))};return e.displayName="NodeWrapper",(0,v.memo)(e)},Gi=t=>({...Jt(t.getNodes().filter(e=>e.selected),t.nodeOrigin),transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`,userSelectionActive:t.userSelectionActive});function Ui({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){let o=le(),{width:i,height:l,x:a,y:d,transformString:s,userSelectionActive:c}=ne(Gi,ue),u=Co(),r=(0,v.useRef)(null);if((0,v.useEffect)(()=>{var h;n||((h=r.current)==null||h.focus({preventScroll:!0}))},[n]),So({nodeRef:r}),c||!i||!l)return null;let g=t?h=>{t(h,o.getState().getNodes().filter(m=>m.selected))}:void 0;return v.createElement("div",{className:he(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s}},v.createElement("div",{ref:r,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h=>{Object.prototype.hasOwnProperty.call(Je,h.key)&&u({x:Je[h.key].x,y:Je[h.key].y,isShiftPressed:h.shiftKey})},style:{width:i,height:l,top:d,left:a}}))}var qi=(0,v.memo)(Ui),Ji=t=>t.nodesSelectionActive,No=({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,deleteKeyCode:d,onMove:s,onMoveStart:c,onMoveEnd:u,selectionKeyCode:r,selectionOnDrag:g,selectionMode:h,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:y,panActivationKeyCode:x,zoomActivationKeyCode:b,elementsSelectable:N,zoomOnScroll:p,zoomOnPinch:S,panOnScroll:k,panOnScrollSpeed:_,panOnScrollMode:P,zoomOnDoubleClick:j,panOnDrag:w,defaultViewport:E,translateExtent:O,minZoom:M,maxZoom:C,preventScrolling:R,onSelectionContextMenu:L,noWheelClassName:H,noPanClassName:F,disableKeyboardA11y:D})=>{let $=ne(Ji),V=st(r),X=st(x),Z=X||w,U=X||k,I=V||g&&Z!==!0;return zi({deleteKeyCode:d,multiSelectionKeyCode:y}),v.createElement(Hi,{onMove:s,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:l,elementsSelectable:N,zoomOnScroll:p,zoomOnPinch:S,panOnScroll:U,panOnScrollSpeed:_,panOnScrollMode:P,zoomOnDoubleClick:j,panOnDrag:!V&&Z,defaultViewport:E,translateExtent:O,minZoom:M,maxZoom:C,zoomActivationKeyCode:b,preventScrolling:R,noWheelClassName:H,noPanClassName:F},v.createElement(vo,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,panOnDrag:Z,isSelecting:!!I,selectionMode:h},t,$&&v.createElement(qi,{onSelectionContextMenu:L,noPanClassName:F,disableKeyboardA11y:D})))};No.displayName="FlowRenderer";var Qi=(0,v.memo)(No);function es(t){return ne((0,v.useCallback)(e=>t?Xn(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))}function ts(t){let e={input:ct(t.input||eo),default:ct(t.default||tn),output:ct(t.output||no),group:ct(t.group||nn)},n=Object.keys(t).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,i)=>(o[i]=ct(t[i]||tn),o),{});return{...e,...n}}var ns=({x:t,y:e,width:n,height:o,origin:i})=>!n||!o||i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:t,y:e}:{x:t-n*i[0],y:e-o*i[1]},os=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,updateNodeDimensions:t.updateNodeDimensions,onError:t.onError}),ko=t=>{let{nodesDraggable:e,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,updateNodeDimensions:l,onError:a}=ne(os,ue),d=es(t.onlyRenderVisibleElements),s=(0,v.useRef)(),c=(0,v.useMemo)(()=>{if(typeof ResizeObserver>"u")return null;let u=new ResizeObserver(r=>{l(r.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0})))});return s.current=u,u},[]);return(0,v.useEffect)(()=>()=>{var u;(u=s==null?void 0:s.current)==null||u.disconnect()},[]),v.createElement("div",{className:"react-flow__nodes",style:rn},d.map(u=>{var S,k,_;let r=u.type||"default";t.nodeTypes[r]||(a==null||a("003",xe.error003(r)),r="default");let g=t.nodeTypes[r]||t.nodeTypes.default,h=!!(u.draggable||e&&u.draggable===void 0),m=!!(u.selectable||i&&u.selectable===void 0),f=!!(u.connectable||n&&u.connectable===void 0),y=!!(u.focusable||o&&u.focusable===void 0),x=t.nodeExtent?Ht(u.positionAbsolute,t.nodeExtent):u.positionAbsolute,b=(x==null?void 0:x.x)??0,N=(x==null?void 0:x.y)??0,p=ns({x:b,y:N,width:u.width??0,height:u.height??0,origin:t.nodeOrigin});return v.createElement(g,{key:u.id,id:u.id,className:u.className,style:u.style,type:r,data:u.data,sourcePosition:u.sourcePosition||W.Bottom,targetPosition:u.targetPosition||W.Top,hidden:u.hidden,xPos:b,yPos:N,xPosOrigin:p.x,yPosOrigin:p.y,selectNodesOnDrag:t.selectNodesOnDrag,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,selected:!!u.selected,isDraggable:h,isSelectable:m,isConnectable:f,isFocusable:y,resizeObserver:c,dragHandle:u.dragHandle,zIndex:((S=u[re])==null?void 0:S.z)??0,isParent:!!((k=u[re])!=null&&k.isParent),noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,initialized:!!u.width&&!!u.height,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,ariaLabel:u.ariaLabel,hasHandleBounds:!!((_=u[re])!=null&&_.handleBounds)})}))};ko.displayName="NodeRenderer";var rs=(0,v.memo)(ko),as=(t,e,n)=>n===W.Left?t-e:n===W.Right?t+e:t,is=(t,e,n)=>n===W.Top?t-e:n===W.Bottom?t+e:t,Mo="react-flow__edgeupdater",Oo=({position:t,centerX:e,centerY:n,radius:o=10,onMouseDown:i,onMouseEnter:l,onMouseOut:a,type:d})=>v.createElement("circle",{onMouseDown:i,onMouseEnter:l,onMouseOut:a,className:he([Mo,`${Mo}-${d}`]),cx:as(e,o,t),cy:is(n,o,t),r:o,stroke:"transparent",fill:"transparent"}),ss=()=>!0,Qe=t=>{let e=({id:n,className:o,type:i,data:l,onClick:a,onEdgeDoubleClick:d,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:f,style:y,source:x,target:b,sourceX:N,sourceY:p,targetX:S,targetY:k,sourcePosition:_,targetPosition:P,elementsSelectable:j,hidden:w,sourceHandleId:E,targetHandleId:O,onContextMenu:M,onMouseEnter:C,onMouseMove:R,onMouseLeave:L,reconnectRadius:H,onReconnect:F,onReconnectStart:D,onReconnectEnd:$,markerEnd:V,markerStart:X,rfId:Z,ariaLabel:U,isFocusable:I,isReconnectable:A,pathOptions:z,interactionWidth:T,disableKeyboardA11y:Y})=>{let G=(0,v.useRef)(null),[ee,ae]=(0,v.useState)(!1),[ge,oe]=(0,v.useState)(!1),Q=le(),de=(0,v.useMemo)(()=>`url('#${Ut(X,Z)}')`,[X,Z]),te=(0,v.useMemo)(()=>`url('#${Ut(V,Z)}')`,[V,Z]);if(w)return null;let K=ce=>{var Ee;let{edges:pe,addSelectedEdges:Pe,unselectNodesAndEdges:je,multiSelectionActive:Ie}=Q.getState(),be=pe.find(nt=>nt.id===n);be&&(j&&(Q.setState({nodesSelectionActive:!1}),be.selected&&Ie?(je({nodes:[],edges:[be]}),(Ee=G.current)==null||Ee.blur()):Pe([n])),a&&a(ce,be))},fe=it(n,Q.getState,d),Me=it(n,Q.getState,M),tt=it(n,Q.getState,C),ze=it(n,Q.getState,R),Le=it(n,Q.getState,L),we=(ce,pe)=>{if(ce.button!==0)return;let{edges:Pe,isValidConnection:je}=Q.getState(),Ie=pe?b:x,be=(pe?O:E)||null,Ee=pe?"target":"source",nt=je||ss,Mt=pe,ot=Pe.find(De=>De.id===n);oe(!0),D==null||D(ce,ot,Ee),Gn({event:ce,handleId:be,nodeId:Ie,onConnect:De=>F==null?void 0:F(ot,De),isTarget:Mt,getState:Q.getState,setState:Q.setState,isValidConnection:nt,edgeUpdaterType:Ee,onReconnectEnd:De=>{oe(!1),$==null||$(De,ot,Ee)}})},$e=ce=>we(ce,!0),Oe=ce=>we(ce,!1),_e=()=>ae(!0),Te=()=>ae(!1),He=!j&&!a;return v.createElement("g",{className:he(["react-flow__edge",`react-flow__edge-${i}`,o,{selected:s,animated:c,inactive:He,updating:ee}]),onClick:K,onDoubleClick:fe,onContextMenu:Me,onMouseEnter:tt,onMouseMove:ze,onMouseLeave:Le,onKeyDown:I?ce=>{var pe;if(!Y&&In.includes(ce.key)&&j){let{unselectNodesAndEdges:Pe,addSelectedEdges:je,edges:Ie}=Q.getState();ce.key==="Escape"?((pe=G.current)==null||pe.blur(),Pe({edges:[Ie.find(be=>be.id===n)]})):je([n])}}:void 0,tabIndex:I?0:void 0,role:I?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":U===null?void 0:U||`Edge from ${x} to ${b}`,"aria-describedby":I?`${io}-${Z}`:void 0,ref:G},!ge&&v.createElement(t,{id:n,source:x,target:b,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:f,data:l,style:y,sourceX:N,sourceY:p,targetX:S,targetY:k,sourcePosition:_,targetPosition:P,sourceHandleId:E,targetHandleId:O,markerStart:de,markerEnd:te,pathOptions:z,interactionWidth:T}),A&&v.createElement(v.Fragment,null,(A==="source"||A===!0)&&v.createElement(Oo,{position:_,centerX:N,centerY:p,radius:H,onMouseDown:$e,onMouseEnter:_e,onMouseOut:Te,type:"source"}),(A==="target"||A===!0)&&v.createElement(Oo,{position:P,centerX:S,centerY:k,radius:H,onMouseDown:Oe,onMouseEnter:_e,onMouseOut:Te,type:"target"})))};return e.displayName="EdgeWrapper",(0,v.memo)(e)};function ls(t){let e={default:Qe(t.default||wt),straight:Qe(t.bezier||Kt),step:Qe(t.step||Zt),smoothstep:Qe(t.step||bt),simplebezier:Qe(t.simplebezier||Wt)},n=Object.keys(t).filter(o=>!["default","bezier"].includes(o)).reduce((o,i)=>(o[i]=Qe(t[i]||wt),o),{});return{...e,...n}}function _o(t,e,n=null){let o=((n==null?void 0:n.x)||0)+e.x,i=((n==null?void 0:n.y)||0)+e.y,l=(n==null?void 0:n.width)||e.width,a=(n==null?void 0:n.height)||e.height;switch(t){case W.Top:return{x:o+l/2,y:i};case W.Right:return{x:o+l,y:i+a/2};case W.Bottom:return{x:o+l/2,y:i+a};case W.Left:return{x:o,y:i+a/2}}}function Po(t,e){return t?t.length===1||!e?t[0]:e&&t.find(n=>n.id===e)||null:null}var ds=(t,e,n,o,i,l)=>{let a=_o(n,t,e),d=_o(l,o,i);return{sourceX:a.x,sourceY:a.y,targetX:d.x,targetY:d.y}};function cs({sourcePos:t,targetPos:e,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:l,width:a,height:d,transform:s}){let c={x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x+n,e.x+i),y2:Math.max(t.y+o,e.y+l)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);let u=Vt({x:(0-s[0])/s[2],y:(0-s[1])/s[2],width:a/s[2],height:d/s[2]}),r=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),g=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(r*g)>0}function jo(t){var o,i,l,a,d;let e=((o=t==null?void 0:t[re])==null?void 0:o.handleBounds)||null,n=e&&(t==null?void 0:t.width)&&(t==null?void 0:t.height)&&((i=t==null?void 0:t.positionAbsolute)==null?void 0:i.x)!==void 0&&((l=t==null?void 0:t.positionAbsolute)==null?void 0:l.y)!==void 0;return[{x:((a=t==null?void 0:t.positionAbsolute)==null?void 0:a.x)||0,y:((d=t==null?void 0:t.positionAbsolute)==null?void 0:d.y)||0,width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0},e,!!n]}var us=[{level:0,isMaxLevel:!0,edges:[]}];function hs(t,e,n=!1){let o=-1,i=t.reduce((a,d)=>{var u,r;let s=me(d.zIndex),c=s?d.zIndex:0;if(n){let g=e.get(d.target),h=e.get(d.source),m=d.selected||(g==null?void 0:g.selected)||(h==null?void 0:h.selected),f=Math.max(((u=h==null?void 0:h[re])==null?void 0:u.z)||0,((r=g==null?void 0:g[re])==null?void 0:r.z)||0,1e3);c=(s?d.zIndex:0)+(m?f:0)}return a[c]?a[c].push(d):a[c]=[d],o=c>o?c:o,a},{}),l=Object.entries(i).map(([a,d])=>{let s=+a;return{edges:d,level:s,isMaxLevel:s===o}});return l.length===0?us:l}function gs(t,e,n){return hs(ne((0,v.useCallback)(o=>t?o.edges.filter(i=>{let l=e.get(i.source),a=e.get(i.target);return(l==null?void 0:l.width)&&(l==null?void 0:l.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&cs({sourcePos:l.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:l.width,sourceHeight:l.height,targetWidth:a.width,targetHeight:a.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[t,e])),e,n)}var fs=({color:t="none",strokeWidth:e=1})=>v.createElement("polyline",{style:{stroke:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),ps=({color:t="none",strokeWidth:e=1})=>v.createElement("polyline",{style:{stroke:t,fill:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Io={[vt.Arrow]:fs,[vt.ArrowClosed]:ps};function ms(t){let e=le();return(0,v.useMemo)(()=>{var n,o;return Object.prototype.hasOwnProperty.call(Io,t)?Io[t]:((o=(n=e.getState()).onError)==null||o.call(n,"009",xe.error009(t)),null)},[t])}var ys=({id:t,type:e,color:n,width:o=12.5,height:i=12.5,markerUnits:l="strokeWidth",strokeWidth:a,orient:d="auto-start-reverse"})=>{let s=ms(e);return s?v.createElement("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:d,refX:"0",refY:"0"},v.createElement(s,{color:n,strokeWidth:a})):null},vs=({defaultColor:t,rfId:e})=>n=>{let o=[];return n.edges.reduce((i,l)=>([l.markerStart,l.markerEnd].forEach(a=>{if(a&&typeof a=="object"){let d=Ut(a,e);o.includes(d)||(i.push({id:d,color:a.color||t,...a}),o.push(d))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))},Do=({defaultColor:t,rfId:e})=>{let n=ne((0,v.useCallback)(vs({defaultColor:t,rfId:e}),[t,e]),(o,i)=>!(o.length!==i.length||o.some((l,a)=>l.id!==i[a].id)));return v.createElement("defs",null,n.map(o=>v.createElement(ys,{id:o.id,key:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient})))};Do.displayName="MarkerDefinitions";var bs=(0,v.memo)(Do),xs=t=>({nodesConnectable:t.nodesConnectable,edgesFocusable:t.edgesFocusable,edgesUpdatable:t.edgesUpdatable,elementsSelectable:t.elementsSelectable,width:t.width,height:t.height,connectionMode:t.connectionMode,nodeInternals:t.nodeInternals,onError:t.onError}),Ro=({defaultMarkerColor:t,onlyRenderVisibleElements:e,elevateEdgesOnSelect:n,rfId:o,edgeTypes:i,noPanClassName:l,onEdgeContextMenu:a,onEdgeMouseEnter:d,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:m,reconnectRadius:f,children:y,disableKeyboardA11y:x})=>{let{edgesFocusable:b,edgesUpdatable:N,elementsSelectable:p,width:S,height:k,connectionMode:_,nodeInternals:P,onError:j}=ne(xs,ue),w=gs(e,P,n);return S?v.createElement(v.Fragment,null,w.map(({level:E,edges:O,isMaxLevel:M})=>v.createElement("svg",{key:E,style:{zIndex:E},width:S,height:k,className:"react-flow__edges react-flow__container"},M&&v.createElement(bs,{defaultColor:t,rfId:o}),v.createElement("g",null,O.map(C=>{let[R,L,H]=jo(P.get(C.source)),[F,D,$]=jo(P.get(C.target));if(!H||!$)return null;let V=C.type||"default";i[V]||(j==null||j("011",xe.error011(V)),V="default");let X=i[V]||i.default,Z=_===We.Strict?D.target:(D.target??[]).concat(D.source??[]),U=Po(L.source,C.sourceHandle),I=Po(Z,C.targetHandle),A=(U==null?void 0:U.position)||W.Bottom,z=(I==null?void 0:I.position)||W.Top,T=!!(C.focusable||b&&C.focusable===void 0),Y=C.reconnectable||C.updatable,G=g!==void 0&&(Y||N&&Y===void 0);if(!U||!I)return j==null||j("008",xe.error008(U,C)),null;let{sourceX:ee,sourceY:ae,targetX:ge,targetY:oe}=ds(R,U,A,F,I,z);return v.createElement(X,{key:C.id,id:C.id,className:he([C.className,l]),type:V,data:C.data,selected:!!C.selected,animated:!!C.animated,hidden:!!C.hidden,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,style:C.style,source:C.source,target:C.target,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerEnd:C.markerEnd,markerStart:C.markerStart,sourceX:ee,sourceY:ae,targetX:ge,targetY:oe,sourcePosition:A,targetPosition:z,elementsSelectable:p,onContextMenu:a,onMouseEnter:d,onMouseMove:s,onMouseLeave:c,onClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:m,reconnectRadius:f,rfId:o,ariaLabel:C.ariaLabel,isFocusable:T,isReconnectable:G,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth,disableKeyboardA11y:x})})))),y):null};Ro.displayName="EdgeRenderer";var ws=(0,v.memo)(Ro),Es=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function Ss({children:t}){let e=ne(Es);return v.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:e}},t)}function Cs(t){let e=lt(),n=(0,v.useRef)(!1);(0,v.useEffect)(()=>{!n.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),n.current=!0)},[t,e.viewportInitialized])}var Ns={[W.Left]:W.Right,[W.Right]:W.Left,[W.Top]:W.Bottom,[W.Bottom]:W.Top},Ao=({nodeId:t,handleType:e,style:n,type:o=Ae.Bezier,CustomComponent:i,connectionStatus:l})=>{var k,_,P;let{fromNode:a,handleId:d,toX:s,toY:c,connectionMode:u}=ne((0,v.useCallback)(j=>({fromNode:j.nodeInternals.get(t),handleId:j.connectionHandleId,toX:(j.connectionPosition.x-j.transform[0])/j.transform[2],toY:(j.connectionPosition.y-j.transform[1])/j.transform[2],connectionMode:j.connectionMode}),[t]),ue),r=(k=a==null?void 0:a[re])==null?void 0:k.handleBounds,g=r==null?void 0:r[e];if(u===We.Loose&&(g||(g=r==null?void 0:r[e==="source"?"target":"source"])),!a||!g)return null;let h=d?g.find(j=>j.id===d):g[0],m=h?h.x+h.width/2:(a.width??0)/2,f=h?h.y+h.height/2:a.height??0,y=(((_=a.positionAbsolute)==null?void 0:_.x)??0)+m,x=(((P=a.positionAbsolute)==null?void 0:P.y)??0)+f,b=h==null?void 0:h.position,N=b?Ns[b]:null;if(!b||!N)return null;if(i)return v.createElement(i,{connectionLineType:o,connectionLineStyle:n,fromNode:a,fromHandle:h,fromX:y,fromY:x,toX:s,toY:c,fromPosition:b,toPosition:N,connectionStatus:l});let p="",S={sourceX:y,sourceY:x,sourcePosition:b,targetX:s,targetY:c,targetPosition:N};return o===Ae.Bezier?[p]=Hn(S):o===Ae.Step?[p]=Yt({...S,borderRadius:0}):o===Ae.SmoothStep?[p]=Yt(S):o===Ae.SimpleBezier?[p]=zn(S):p=`M${y},${x} ${s},${c}`,v.createElement("path",{d:p,fill:"none",className:"react-flow__connection-path",style:n})};Ao.displayName="ConnectionLine";var ks=t=>({nodeId:t.connectionNodeId,handleType:t.connectionHandleType,nodesConnectable:t.nodesConnectable,connectionStatus:t.connectionStatus,width:t.width,height:t.height});function Ms({containerStyle:t,style:e,type:n,component:o}){let{nodeId:i,handleType:l,nodesConnectable:a,width:d,height:s,connectionStatus:c}=ne(ks,ue);return i&&l&&d&&a?v.createElement("svg",{style:t,width:d,height:s,className:"react-flow__edges react-flow__connectionline react-flow__container"},v.createElement("g",{className:he(["react-flow__connection",c])},v.createElement(Ao,{nodeId:i,handleType:l,style:e,type:n,CustomComponent:o,connectionStatus:c}))):null}function Bo(t,e){return(0,v.useRef)(null),le(),(0,v.useMemo)(()=>e(t),[t])}var zo=({nodeTypes:t,edgeTypes:e,onMove:n,onMoveStart:o,onMoveEnd:i,onInit:l,onNodeClick:a,onEdgeClick:d,onNodeDoubleClick:s,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,onSelectionContextMenu:m,onSelectionStart:f,onSelectionEnd:y,connectionLineType:x,connectionLineStyle:b,connectionLineComponent:N,connectionLineContainerStyle:p,selectionKeyCode:S,selectionOnDrag:k,selectionMode:_,multiSelectionKeyCode:P,panActivationKeyCode:j,zoomActivationKeyCode:w,deleteKeyCode:E,onlyRenderVisibleElements:O,elementsSelectable:M,selectNodesOnDrag:C,defaultViewport:R,translateExtent:L,minZoom:H,maxZoom:F,preventScrolling:D,defaultMarkerColor:$,zoomOnScroll:V,zoomOnPinch:X,panOnScroll:Z,panOnScrollSpeed:U,panOnScrollMode:I,zoomOnDoubleClick:A,panOnDrag:z,onPaneClick:T,onPaneMouseEnter:Y,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneScroll:ae,onPaneContextMenu:ge,onEdgeContextMenu:oe,onEdgeMouseEnter:Q,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:fe,onReconnectEnd:Me,reconnectRadius:tt,noDragClassName:ze,noWheelClassName:Le,noPanClassName:we,elevateEdgesOnSelect:$e,disableKeyboardA11y:Oe,nodeOrigin:_e,nodeExtent:Te,rfId:He})=>{let ce=Bo(t,ts),pe=Bo(e,ls);return Cs(l),v.createElement(Qi,{onPaneClick:T,onPaneMouseEnter:Y,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneContextMenu:ge,onPaneScroll:ae,deleteKeyCode:E,selectionKeyCode:S,selectionOnDrag:k,selectionMode:_,onSelectionStart:f,onSelectionEnd:y,multiSelectionKeyCode:P,panActivationKeyCode:j,zoomActivationKeyCode:w,elementsSelectable:M,onMove:n,onMoveStart:o,onMoveEnd:i,zoomOnScroll:V,zoomOnPinch:X,zoomOnDoubleClick:A,panOnScroll:Z,panOnScrollSpeed:U,panOnScrollMode:I,panOnDrag:z,defaultViewport:R,translateExtent:L,minZoom:H,maxZoom:F,onSelectionContextMenu:m,preventScrolling:D,noDragClassName:ze,noWheelClassName:Le,noPanClassName:we,disableKeyboardA11y:Oe},v.createElement(Ss,null,v.createElement(ws,{edgeTypes:pe,onEdgeClick:d,onEdgeDoubleClick:c,onlyRenderVisibleElements:O,onEdgeContextMenu:oe,onEdgeMouseEnter:Q,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:fe,onReconnectEnd:Me,reconnectRadius:tt,defaultMarkerColor:$,noPanClassName:we,elevateEdgesOnSelect:!!$e,disableKeyboardA11y:Oe,rfId:He},v.createElement(Ms,{style:b,type:x,component:N,containerStyle:p})),v.createElement("div",{className:"react-flow__edgelabel-renderer"}),v.createElement(rs,{nodeTypes:ce,onNodeClick:a,onNodeDoubleClick:s,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,selectNodesOnDrag:C,onlyRenderVisibleElements:O,noPanClassName:we,noDragClassName:ze,disableKeyboardA11y:Oe,nodeOrigin:_e,nodeExtent:Te,rfId:He})))};zo.displayName="GraphView";var Os=(0,v.memo)(zo),cn=[[-1/0,-1/0],[1/0,1/0]],ke={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:cn,nodeExtent:cn,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:We.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:ni,isValidConnection:void 0},_s=()=>Xa((t,e)=>({...ke,setNodes:n=>{let{nodeInternals:o,nodeOrigin:i,elevateNodesOnSelect:l}=e();t({nodeInternals:on(n,o,i,l)})},getNodes:()=>Array.from(e().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:o={}}=e();t({edges:n.map(i=>({...o,...i}))})},setDefaultNodesAndEdges:(n,o)=>{let i=n!==void 0,l=o!==void 0;t({nodeInternals:i?on(n,new Map,e().nodeOrigin,e().elevateNodesOnSelect):new Map,edges:l?o:[],hasDefaultNodes:i,hasDefaultEdges:l})},updateNodeDimensions:n=>{let{onNodesChange:o,nodeInternals:i,fitViewOnInit:l,fitViewOnInitDone:a,fitViewOnInitOptions:d,domNode:s,nodeOrigin:c}=e(),u=s==null?void 0:s.querySelector(".react-flow__viewport");if(!u)return;let r=window.getComputedStyle(u),{m22:g}=new window.DOMMatrixReadOnly(r.transform),h=n.reduce((f,y)=>{let x=i.get(y.id);if(x!=null&&x.hidden)i.set(x.id,{...x,[re]:{...x[re],handleBounds:void 0}});else if(x){let b=Tt(y.nodeElement);b.width&&b.height&&(x.width!==b.width||x.height!==b.height||y.forceUpdate)&&(i.set(x.id,{...x,[re]:{...x[re],handleBounds:{source:Eo(".source",y.nodeElement,g,c),target:Eo(".target",y.nodeElement,g,c)}},...b}),f.push({id:x.id,type:"dimensions",dimensions:b}))}return f},[]);uo(i,c);let m=a||l&&!a&&ho(e,{initial:!0,...d});t({nodeInternals:new Map(i),fitViewOnInitDone:m}),(h==null?void 0:h.length)>0&&(o==null||o(h))},updateNodePositions:(n,o=!0,i=!1)=>{let{triggerNodeChanges:l}=e();l(n.map(a=>{let d={id:a.id,type:"position",dragging:i};return o&&(d.positionAbsolute=a.positionAbsolute,d.position=a.position),d}))},triggerNodeChanges:n=>{let{onNodesChange:o,nodeInternals:i,hasDefaultNodes:l,nodeOrigin:a,getNodes:d,elevateNodesOnSelect:s}=e();n!=null&&n.length&&(l&&t({nodeInternals:on(yo(n,d()),i,a,s)}),o==null||o(n))},addSelectedNodes:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>Ne(s,!0)):(a=qe(l(),n),d=qe(i,[])),St({changedNodes:a,changedEdges:d,get:e,set:t})},addSelectedEdges:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>Ne(s,!0)):(a=qe(i,n),d=qe(l(),[])),St({changedNodes:d,changedEdges:a,get:e,set:t})},unselectNodesAndEdges:({nodes:n,edges:o}={})=>{let{edges:i,getNodes:l}=e(),a=n||l(),d=o||i;St({changedNodes:a.map(s=>(s.selected=!1,Ne(s.id,!1))),changedEdges:d.map(s=>Ne(s.id,!1)),get:e,set:t})},setMinZoom:n=>{let{d3Zoom:o,maxZoom:i}=e();o==null||o.scaleExtent([n,i]),t({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:o,minZoom:i}=e();o==null||o.scaleExtent([i,n]),t({maxZoom:n})},setTranslateExtent:n=>{var o;(o=e().d3Zoom)==null||o.translateExtent(n),t({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:o}=e();St({changedNodes:o().filter(i=>i.selected).map(i=>Ne(i.id,!1)),changedEdges:n.filter(i=>i.selected).map(i=>Ne(i.id,!1)),get:e,set:t})},setNodeExtent:n=>{let{nodeInternals:o}=e();o.forEach(i=>{i.positionAbsolute=Ht(i.position,n)}),t({nodeExtent:n,nodeInternals:new Map(o)})},panBy:n=>{let{transform:o,width:i,height:l,d3Zoom:a,d3Selection:d,translateExtent:s}=e();if(!a||!d||!n.x&&!n.y)return!1;let c=Xe.translate(o[0]+n.x,o[1]+n.y).scale(o[2]),u=[[0,0],[i,l]],r=a==null?void 0:a.constrain()(c,u,s);return a.transform(d,r),o[0]!==r.x||o[1]!==r.y||o[2]!==r.k},cancelConnection:()=>t({connectionNodeId:ke.connectionNodeId,connectionHandleId:ke.connectionHandleId,connectionHandleType:ke.connectionHandleType,connectionStatus:ke.connectionStatus,connectionStartHandle:ke.connectionStartHandle,connectionEndHandle:ke.connectionEndHandle}),reset:()=>t({...ke})}),Object.is),un=({children:t})=>{let e=(0,v.useRef)(null);return e.current||(e.current=_s()),v.createElement(Ga,{value:e.current},t)};un.displayName="ReactFlowProvider";var Lo=({children:t})=>(0,v.useContext)(ft)?v.createElement(v.Fragment,null,t):v.createElement(un,null,t);Lo.displayName="ReactFlowWrapper";var Ps={input:eo,default:tn,output:no,group:nn},js={default:wt,straight:Kt,step:Zt,smoothstep:bt,simplebezier:Wt},Is=[0,0],Ds=[15,15],Rs={x:0,y:0,zoom:1},As={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},$o=(0,v.forwardRef)(({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,className:i,nodeTypes:l=Ps,edgeTypes:a=js,onNodeClick:d,onEdgeClick:s,onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onConnect:h,onConnectStart:m,onConnectEnd:f,onClickConnectStart:y,onClickConnectEnd:x,onNodeMouseEnter:b,onNodeMouseMove:N,onNodeMouseLeave:p,onNodeContextMenu:S,onNodeDoubleClick:k,onNodeDragStart:_,onNodeDrag:P,onNodeDragStop:j,onNodesDelete:w,onEdgesDelete:E,onSelectionChange:O,onSelectionDragStart:M,onSelectionDrag:C,onSelectionDragStop:R,onSelectionContextMenu:L,onSelectionStart:H,onSelectionEnd:F,connectionMode:D=We.Strict,connectionLineType:$=Ae.Bezier,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:Z,deleteKeyCode:U="Backspace",selectionKeyCode:I="Shift",selectionOnDrag:A=!1,selectionMode:z=yt.Full,panActivationKeyCode:T="Space",multiSelectionKeyCode:Y=mt()?"Meta":"Control",zoomActivationKeyCode:G=mt()?"Meta":"Control",snapToGrid:ee=!1,snapGrid:ae=Ds,onlyRenderVisibleElements:ge=!1,selectNodesOnDrag:oe=!0,nodesDraggable:Q,nodesConnectable:de,nodesFocusable:te,nodeOrigin:K=Is,edgesFocusable:fe,edgesUpdatable:Me,elementsSelectable:tt,defaultViewport:ze=Rs,minZoom:Le=.5,maxZoom:we=2,translateExtent:$e=cn,preventScrolling:Oe=!0,nodeExtent:_e,defaultMarkerColor:Te="#b1b1b7",zoomOnScroll:He=!0,zoomOnPinch:ce=!0,panOnScroll:pe=!1,panOnScrollSpeed:Pe=.5,panOnScrollMode:je=Ye.Free,zoomOnDoubleClick:Ie=!0,panOnDrag:be=!0,onPaneClick:Ee,onPaneMouseEnter:nt,onPaneMouseMove:Mt,onPaneMouseLeave:ot,onPaneScroll:De,onPaneContextMenu:ir,children:sr,onEdgeContextMenu:lr,onEdgeDoubleClick:dr,onEdgeMouseEnter:cr,onEdgeMouseMove:ur,onEdgeMouseLeave:hr,onEdgeUpdate:gr,onEdgeUpdateStart:fr,onEdgeUpdateEnd:pr,onReconnect:mr,onReconnectStart:yr,onReconnectEnd:vr,reconnectRadius:br=10,edgeUpdaterRadius:xr=10,onNodesChange:wr,onEdgesChange:Er,noDragClassName:Sr="nodrag",noWheelClassName:Cr="nowheel",noPanClassName:mn="nopan",fitView:Nr=!1,fitViewOptions:kr,connectOnClick:Mr=!0,attributionPosition:Or,proOptions:_r,defaultEdgeOptions:Pr,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Ir=!1,disableKeyboardA11y:yn=!1,autoPanOnConnect:Dr=!0,autoPanOnNodeDrag:Rr=!0,connectionRadius:Ar=20,isValidConnection:Br,onError:zr,style:Lr,id:vn,nodeDragThreshold:$r,...Tr},Hr)=>{let Ot=vn||"1";return v.createElement("div",{...Tr,style:{...Lr,...As},ref:Hr,className:he(["react-flow",i]),"data-testid":"rf__wrapper",id:vn},v.createElement(Lo,null,v.createElement(Os,{onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onNodeClick:d,onEdgeClick:s,onNodeMouseEnter:b,onNodeMouseMove:N,onNodeMouseLeave:p,onNodeContextMenu:S,onNodeDoubleClick:k,nodeTypes:l,edgeTypes:a,connectionLineType:$,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:Z,selectionKeyCode:I,selectionOnDrag:A,selectionMode:z,deleteKeyCode:U,multiSelectionKeyCode:Y,panActivationKeyCode:T,zoomActivationKeyCode:G,onlyRenderVisibleElements:ge,selectNodesOnDrag:oe,defaultViewport:ze,translateExtent:$e,minZoom:Le,maxZoom:we,preventScrolling:Oe,zoomOnScroll:He,zoomOnPinch:ce,zoomOnDoubleClick:Ie,panOnScroll:pe,panOnScrollSpeed:Pe,panOnScrollMode:je,panOnDrag:be,onPaneClick:Ee,onPaneMouseEnter:nt,onPaneMouseMove:Mt,onPaneMouseLeave:ot,onPaneScroll:De,onPaneContextMenu:ir,onSelectionContextMenu:L,onSelectionStart:H,onSelectionEnd:F,onEdgeContextMenu:lr,onEdgeDoubleClick:dr,onEdgeMouseEnter:cr,onEdgeMouseMove:ur,onEdgeMouseLeave:hr,onReconnect:mr??gr,onReconnectStart:yr??fr,onReconnectEnd:vr??pr,reconnectRadius:br??xr,defaultMarkerColor:Te,noDragClassName:Sr,noWheelClassName:Cr,noPanClassName:mn,elevateEdgesOnSelect:Ir,rfId:Ot,disableKeyboardA11y:yn,nodeOrigin:K,nodeExtent:_e}),v.createElement(Ni,{nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:h,onConnectStart:m,onConnectEnd:f,onClickConnectStart:y,onClickConnectEnd:x,nodesDraggable:Q,nodesConnectable:de,nodesFocusable:te,edgesFocusable:fe,edgesUpdatable:Me,elementsSelectable:tt,elevateNodesOnSelect:jr,minZoom:Le,maxZoom:we,nodeExtent:_e,onNodesChange:wr,onEdgesChange:Er,snapToGrid:ee,snapGrid:ae,connectionMode:D,translateExtent:$e,connectOnClick:Mr,defaultEdgeOptions:Pr,fitView:Nr,fitViewOptions:kr,onNodesDelete:w,onEdgesDelete:E,onNodeDragStart:_,onNodeDrag:P,onNodeDragStop:j,onSelectionDrag:C,onSelectionDragStart:M,onSelectionDragStop:R,noPanClassName:mn,nodeOrigin:K,rfId:Ot,autoPanOnConnect:Dr,autoPanOnNodeDrag:Rr,onError:zr,connectionRadius:Ar,isValidConnection:Br,nodeDragThreshold:$r}),v.createElement(Si,{onSelectionChange:O}),sr,v.createElement(qa,{proOptions:_r,position:Or}),v.createElement(Pi,{rfId:Ot,disableKeyboardA11y:yn})))});$o.displayName="ReactFlow";function To(t){return e=>{let[n,o]=(0,v.useState)(e);return[n,o,(0,v.useCallback)(i=>o(l=>t(i,l)),[])]}}var Bs=To(yo),zs=To(Fi);function Ls(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},v.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function $s(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},v.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Ts(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},v.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 Hs(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},v.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 Vs(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},v.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"}))}var et=({children:t,className:e,...n})=>v.createElement("button",{type:"button",className:he(["react-flow__controls-button",e]),...n},t);et.displayName="ControlButton";var Xs=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom}),Ho=({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:i,onZoomIn:l,onZoomOut:a,onFitView:d,onInteractiveChange:s,className:c,children:u,position:r="bottom-left"})=>{let g=le(),[h,m]=(0,v.useState)(!1),{isInteractive:f,minZoomReached:y,maxZoomReached:x}=ne(Xs,ue),{zoomIn:b,zoomOut:N,fitView:p}=lt();if((0,v.useEffect)(()=>{m(!0)},[]),!h)return null;let S=()=>{b(),l==null||l()},k=()=>{N(),a==null||a()},_=()=>{p(i),d==null||d()},P=()=>{g.setState({nodesDraggable:!f,nodesConnectable:!f,elementsSelectable:!f}),s==null||s(!f)};return v.createElement(pt,{className:he(["react-flow__controls",c]),position:r,style:t,"data-testid":"rf__controls"},e&&v.createElement(v.Fragment,null,v.createElement(et,{onClick:S,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:x},v.createElement(Ls,null)),v.createElement(et,{onClick:k,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:y},v.createElement($s,null))),n&&v.createElement(et,{className:"react-flow__controls-fitview",onClick:_,title:"fit view","aria-label":"fit view"},v.createElement(Ts,null)),o&&v.createElement(et,{className:"react-flow__controls-interactive",onClick:P,title:"toggle interactivity","aria-label":"toggle interactivity"},f?v.createElement(Vs,null):v.createElement(Hs,null)),u)};Ho.displayName="Controls";var Fs=(0,v.memo)(Ho),ye;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(ye||(ye={}));function Ws({color:t,dimensions:e,lineWidth:n}){return v.createElement("path",{stroke:t,strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})}function Ys({color:t,radius:e}){return v.createElement("circle",{cx:e,cy:e,r:e,fill:t})}var Zs={[ye.Dots]:"#91919a",[ye.Lines]:"#eee",[ye.Cross]:"#e2e2e2"},Ks={[ye.Dots]:1,[ye.Lines]:1,[ye.Cross]:6},Gs=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Vo({id:t,variant:e=ye.Dots,gap:n=20,size:o,lineWidth:i=1,offset:l=2,color:a,style:d,className:s}){let c=(0,v.useRef)(null),{transform:u,patternId:r}=ne(Gs,ue),g=a||Zs[e],h=o||Ks[e],m=e===ye.Dots,f=e===ye.Cross,y=Array.isArray(n)?n:[n,n],x=[y[0]*u[2]||1,y[1]*u[2]||1],b=h*u[2],N=f?[b,b]:x,p=m?[b/l,b/l]:[N[0]/l,N[1]/l];return v.createElement("svg",{className:he(["react-flow__background",s]),style:{...d,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},v.createElement("pattern",{id:r+t,x:u[0]%x[0],y:u[1]%x[1],width:x[0],height:x[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${p[0]},-${p[1]})`},m?v.createElement(Ys,{color:g,radius:b/l}):v.createElement(Ws,{dimensions:N,color:g,lineWidth:i})),v.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${r+t})`}))}Vo.displayName="Background";var Us=(0,v.memo)(Vo),qs=Re();function Xo(t){return Math.min(t*11+35,200)}const hn="outputs",gn="inputs";var Js=class{createEdge(t,e){return{animated:!0,markerEnd:{type:vt.ArrowClosed},id:`${t}-${e}`,style:{strokeWidth:2},source:t,sourceHandle:hn,targetHandle:gn,target:e}}createNode(t,e){let n=Pt.get(e).code.trim().split(`
1
+ var Vr=Object.defineProperty;var Xr=(t,e,n)=>e in t?Vr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ie=(t,e,n)=>Xr(t,typeof e!="symbol"?e+"":e,n);import{s as _t,t as q}from"./chunk-LvLJmgfZ.js";import{i as Pt,l as bn,n as Fr,p as jt,u as It}from"./useEvent-DO6uJBas.js";import{t as Wr}from"./react-BGmjiNul.js";import{$t as Yr,Bn as xn,E as Zr,M as Kr,St as Gr,T as Ur,a as qr,bn as Jr,f as Qr,k as Dt,vn as wn,vt as ea,w as ta}from"./cells-BpZ7g6ok.js";import{t as na}from"./react-dom-C9fstfnp.js";import{t as Re}from"./compiler-runtime-DeeZ7FnK.js";import"./config-CIrPQIbt.js";import{t as oa}from"./jsx-runtime-ZmTK25f3.js";import{r as ra,t as rt}from"./button-YC1gW_kJ.js";import{t as Ve}from"./cn-BKtXLv3a.js";import"./dist-DBwNzi3C.js";import{r as aa}from"./once-Bul8mtFs.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-_Aax6sXd.js";import{t as Rt}from"./createLucideIcon-CnW3RofX.js";import{a as ia,i as sa,t as la}from"./useDependencyPanelTab-P4LD32r5.js";import{h as da}from"./select-V5IdpNiR.js";import{f as ca,p as ua}from"./download-BhCZMKuQ.js";import{t as ha}from"./ellipsis-vertical-C7jYiLCo.js";import{t as ga}from"./settings-DOXWMfVd.js";import{t as fa}from"./square-function-CqXXKtIq.js";import{t as pa}from"./workflow-CMjI9cxl.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import"./Combination-CMPwuAmi.js";import{t as ma}from"./tooltip-CEc2ajau.js";import{i as ya,l as va,r as ba,s as xa,t as wa,u as En}from"./popover-Gz-GJzym.js";import{n as Ea}from"./useDebounce-D5NcotGm.js";import{i as Sa,t as At}from"./cell-link-Bw5bzt4a.js";import"./html-to-image-DjukyIj4.js";import{a as Ca,i as Na,t as ka}from"./focus-D51fcwZX.js";import{t as Ma}from"./label-Be1daUcS.js";import"./esm-DpMp6qko.js";import{b as Oa}from"./timer-ffBO1paY.js";import{a as Bt,c as zt,i as _a,l as Lt,n as Xe,o as Pa,r as ja,s as Sn,t as Ia,u as ht}from"./src-Cf4NnJCp.js";import{r as Da}from"./name-cell-input-FC1vzor8.js";import"./multi-icon-DZsiUPo5.js";import{n as Ra,t as Cn}from"./common-dAEMv5ry.js";import{r as Aa}from"./panel-context-B7WTvLhE.js";var Ba=Rt("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]),za=Rt("arrow-right-to-line",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]),La=Rt("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);function he(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n=0,o;n<t.length;n++)(o=he(t[n]))!==""&&(e+=(e&&" ")+o);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}var v=_t(Wr(),1),$a=_t(ca(),1),{useDebugValue:Ta}=v.default,{useSyncExternalStoreWithSelector:Ha}=$a.default,Va=t=>t;function Nn(t,e=Va,n){let o=Ha(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Ta(o),o}var kn=(t,e)=>{let n=ua(t),o=(i,l=e)=>Nn(n,i,l);return Object.assign(o,n),o},Xa=(t,e)=>t?kn(t,e):kn;function ue(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,i]of t)if(!Object.is(i,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let o of n)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}var gt=t=>()=>t;function $t(t,{sourceEvent:e,subject:n,target:o,identifier:i,active:l,x:a,y:d,dx:s,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:d,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}$t.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Fa(t){return!t.ctrlKey&&!t.button}function Wa(){return this.parentNode}function Ya(t,e){return e??{x:t.x,y:t.y}}function Za(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ka(){var t=Fa,e=Wa,n=Ya,o=Za,i={},l=Oa("start","drag","end"),a=0,d,s,c,u,r=0;function g(p){p.on("mousedown.drag",h).filter(o).on("touchstart.drag",y).on("touchmove.drag",x,Pa).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(p,S){if(!(u||!t.call(this,p,S))){var k=N(this,e.call(this,p,S),p,S,"mouse");k&&(ht(p.view).on("mousemove.drag",m,Sn).on("mouseup.drag",f,Sn),ja(p.view),zt(p),c=!1,d=p.clientX,s=p.clientY,k("start",p))}}function m(p){if(Bt(p),!c){var S=p.clientX-d,k=p.clientY-s;c=S*S+k*k>r}i.mouse("drag",p)}function f(p){ht(p.view).on("mousemove.drag mouseup.drag",null),_a(p.view,c),Bt(p),i.mouse("end",p)}function y(p,S){if(t.call(this,p,S)){var k=p.changedTouches,_=e.call(this,p,S),P=k.length,j,w;for(j=0;j<P;++j)(w=N(this,_,p,S,k[j].identifier,k[j]))&&(zt(p),w("start",p,k[j]))}}function x(p){var S=p.changedTouches,k=S.length,_,P;for(_=0;_<k;++_)(P=i[S[_].identifier])&&(Bt(p),P("drag",p,S[_]))}function b(p){var S=p.changedTouches,k=S.length,_,P;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),_=0;_<k;++_)(P=i[S[_].identifier])&&(zt(p),P("end",p,S[_]))}function N(p,S,k,_,P,j){var w=l.copy(),E=Lt(j||k,S),O,M,C;if((C=n.call(p,new $t("beforestart",{sourceEvent:k,target:g,identifier:P,active:a,x:E[0],y:E[1],dx:0,dy:0,dispatch:w}),_))!=null)return O=C.x-E[0]||0,M=C.y-E[1]||0,function R(L,H,F){var D=E,$;switch(L){case"start":i[P]=R,$=a++;break;case"end":delete i[P],--a;case"drag":E=Lt(F||H,S),$=a;break}w.call(L,p,new $t(L,{sourceEvent:H,subject:C,target:g,identifier:P,active:$,x:E[0]+O,y:E[1]+M,dx:E[0]-D[0],dy:E[1]-D[1],dispatch:w}),_)}}return g.filter=function(p){return arguments.length?(t=typeof p=="function"?p:gt(!!p),g):t},g.container=function(p){return arguments.length?(e=typeof p=="function"?p:gt(p),g):e},g.subject=function(p){return arguments.length?(n=typeof p=="function"?p:gt(p),g):n},g.touchable=function(p){return arguments.length?(o=typeof p=="function"?p:gt(!!p),g):o},g.on=function(){var p=l.on.apply(l,arguments);return p===l?g:p},g.clickDistance=function(p){return arguments.length?(r=(p=+p)*p,g):Math.sqrt(r)},g}na();var ft=(0,v.createContext)(null),Ga=ft.Provider,xe={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:t=>`Node type "${t}" 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:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,e)=>`Couldn't create edge for ${t?"target":"source"} handle id: "${t?e.targetHandle:e.sourceHandle}", edge id: ${e.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},Mn=xe.error001();function ne(t,e){let n=(0,v.useContext)(ft);if(n===null)throw Error(Mn);return Nn(n,t,e)}var le=()=>{let t=(0,v.useContext)(ft);if(t===null)throw Error(Mn);return(0,v.useMemo)(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}),[t])},Ua=t=>t.userSelectionActive?"none":"all";function pt({position:t,children:e,className:n,style:o,...i}){let l=ne(Ua),a=`${t}`.split("-");return v.createElement("div",{className:he(["react-flow__panel",n,...a]),style:{...o,pointerEvents:l},...i},e)}function qa({proOptions:t,position:e="bottom-right"}){return t!=null&&t.hideAttribution?null:v.createElement(pt,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},v.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var Ja=(0,v.memo)(({x:t,y:e,label:n,labelStyle:o={},labelShowBg:i=!0,labelBgStyle:l={},labelBgPadding:a=[2,4],labelBgBorderRadius:d=2,children:s,className:c,...u})=>{let r=(0,v.useRef)(null),[g,h]=(0,v.useState)({x:0,y:0,width:0,height:0}),m=he(["react-flow__edge-textwrapper",c]);return(0,v.useEffect)(()=>{if(r.current){let f=r.current.getBBox();h({x:f.x,y:f.y,width:f.width,height:f.height})}},[n]),n===void 0||!n?null:v.createElement("g",{transform:`translate(${t-g.width/2} ${e-g.height/2})`,className:m,visibility:g.width?"visible":"hidden",...u},i&&v.createElement("rect",{width:g.width+2*a[0],x:-a[0],y:-a[1],height:g.height+2*a[1],className:"react-flow__edge-textbg",style:l,rx:d,ry:d}),v.createElement("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:r,style:o},n),s)}),Tt=t=>({width:t.offsetWidth,height:t.offsetHeight}),Fe=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),Ht=(t={x:0,y:0},e)=>({x:Fe(t.x,e[0][0],e[1][0]),y:Fe(t.y,e[0][1],e[1][1])}),On=(t,e,n)=>t<e?Fe(Math.abs(t-e),1,50)/50:t>n?-Fe(Math.abs(t-n),1,50)/50:0,_n=(t,e)=>[On(t.x,35,e.width-35)*20,On(t.y,35,e.height-35)*20],Pn=t=>{var e;return((e=t.getRootNode)==null?void 0:e.call(t))||(window==null?void 0:window.document)},Qa=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),Vt=({x:t,y:e,width:n,height:o})=>({x:t,y:e,x2:t+n,y2:e+o}),ei=({x:t,y:e,x2:n,y2:o})=>({x:t,y:e,width:n-t,height:o-e}),jn=t=>({...t.positionAbsolute||{x:0,y:0},width:t.width||0,height:t.height||0}),Xt=(t,e)=>{let n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*o)},ti=t=>me(t.width)&&me(t.height)&&me(t.x)&&me(t.y),me=t=>!isNaN(t)&&isFinite(t),re=Symbol.for("internals"),In=["Enter"," ","Escape"],ni=(t,e)=>{},oi=t=>"nativeEvent"in t;function Ft(t){var n,o,i;let e=((i=(o=(n=oi(t)?t.nativeEvent:t).composedPath)==null?void 0:o.call(n))==null?void 0:i[0])||t.target;return["INPUT","SELECT","TEXTAREA"].includes(e==null?void 0:e.nodeName)||(e==null?void 0:e.hasAttribute("contenteditable"))||!!(e!=null&&e.closest(".nokey"))}var Dn=t=>"clientX"in t,Se=(t,e)=>{var l,a;let n=Dn(t),o=n?t.clientX:(l=t.touches)==null?void 0:l[0].clientX,i=n?t.clientY:(a=t.touches)==null?void 0:a[0].clientY;return{x:o-((e==null?void 0:e.left)??0),y:i-((e==null?void 0:e.top)??0)}},mt=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0},at=({id:t,path:e,labelX:n,labelY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h=20})=>v.createElement(v.Fragment,null,v.createElement("path",{id:t,style:u,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:r,markerStart:g}),h&&v.createElement("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&me(n)&&me(o)?v.createElement(Ja,{x:n,y:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c}):null);at.displayName="BaseEdge";function it(t,e,n){return n===void 0?n:o=>{let i=e().edges.find(l=>l.id===t);i&&n(o,{...i})}}function Rn({sourceX:t,sourceY:e,targetX:n,targetY:o}){let i=Math.abs(n-t)/2,l=n<t?n+i:n-i,a=Math.abs(o-e)/2;return[l,o<e?o+a:o-a,i,a]}function An({sourceX:t,sourceY:e,targetX:n,targetY:o,sourceControlX:i,sourceControlY:l,targetControlX:a,targetControlY:d}){let s=t*.125+i*.375+a*.375+n*.125,c=e*.125+l*.375+d*.375+o*.125;return[s,c,Math.abs(s-t),Math.abs(c-e)]}var We;(function(t){t.Strict="strict",t.Loose="loose"})(We||(We={}));var Ye;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(Ye||(Ye={}));var yt;(function(t){t.Partial="partial",t.Full="full"})(yt||(yt={}));var Ae;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Ae||(Ae={}));var vt;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(vt||(vt={}));var W;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(W||(W={}));function Bn({pos:t,x1:e,y1:n,x2:o,y2:i}){return t===W.Left||t===W.Right?[.5*(e+o),n]:[e,.5*(n+i)]}function zn({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top}){let[a,d]=Bn({pos:n,x1:t,y1:e,x2:o,y2:i}),[s,c]=Bn({pos:l,x1:o,y1:i,x2:t,y2:e}),[u,r,g,h]=An({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:a,sourceControlY:d,targetControlX:s,targetControlY:c});return[`M${t},${e} C${a},${d} ${s},${c} ${o},${i}`,u,r,g,h]}var Wt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=W.Bottom,targetPosition:l=W.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:f})=>{let[y,x,b]=zn({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l});return v.createElement(at,{path:y,labelX:x,labelY:b,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:f})});Wt.displayName="SimpleBezierEdge";var Ln={[W.Left]:{x:-1,y:0},[W.Right]:{x:1,y:0},[W.Top]:{x:0,y:-1},[W.Bottom]:{x:0,y:1}},ri=({source:t,sourcePosition:e=W.Bottom,target:n})=>e===W.Left||e===W.Right?t.x<n.x?{x:1,y:0}:{x:-1,y:0}:t.y<n.y?{x:0,y:1}:{x:0,y:-1},$n=(t,e)=>Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2);function ai({source:t,sourcePosition:e=W.Bottom,target:n,targetPosition:o=W.Top,center:i,offset:l}){let a=Ln[e],d=Ln[o],s={x:t.x+a.x*l,y:t.y+a.y*l},c={x:n.x+d.x*l,y:n.y+d.y*l},u=ri({source:s,sourcePosition:e,target:c}),r=u.x===0?"y":"x",g=u[r],h=[],m,f,y={x:0,y:0},x={x:0,y:0},[b,N,p,S]=Rn({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(a[r]*d[r]===-1){m=i.x??b,f=i.y??N;let k=[{x:m,y:s.y},{x:m,y:c.y}],_=[{x:s.x,y:f},{x:c.x,y:f}];h=a[r]===g?r==="x"?k:_:r==="x"?_:k}else{let k=[{x:s.x,y:c.y}],_=[{x:c.x,y:s.y}];if(h=r==="x"?a.x===g?_:k:a.y===g?k:_,e===o){let w=Math.abs(t[r]-n[r]);if(w<=l){let E=Math.min(l-1,l-w);a[r]===g?y[r]=(s[r]>t[r]?-1:1)*E:x[r]=(c[r]>n[r]?-1:1)*E}}if(e!==o){let w=r==="x"?"y":"x",E=a[r]===d[w],O=s[w]>c[w],M=s[w]<c[w];(a[r]===1&&(!E&&O||E&&M)||a[r]!==1&&(!E&&M||E&&O))&&(h=r==="x"?k:_)}let P={x:s.x+y.x,y:s.y+y.y},j={x:c.x+x.x,y:c.y+x.y};Math.max(Math.abs(P.x-h[0].x),Math.abs(j.x-h[0].x))>=Math.max(Math.abs(P.y-h[0].y),Math.abs(j.y-h[0].y))?(m=(P.x+j.x)/2,f=h[0].y):(m=h[0].x,f=(P.y+j.y)/2)}return[[t,{x:s.x+y.x,y:s.y+y.y},...h,{x:c.x+x.x,y:c.y+x.y},n],m,f,p,S]}function ii(t,e,n,o){let i=Math.min($n(t,e)/2,$n(e,n)/2,o),{x:l,y:a}=e;if(t.x===l&&l===n.x||t.y===a&&a===n.y)return`L${l} ${a}`;if(t.y===a){let s=t.x<n.x?-1:1,c=t.y<n.y?1:-1;return`L ${l+i*s},${a}Q ${l},${a} ${l},${a+i*c}`}let d=t.x<n.x?1:-1;return`L ${l},${a+i*(t.y<n.y?-1:1)}Q ${l},${a} ${l+i*d},${a}`}function Yt({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top,borderRadius:a=5,centerX:d,centerY:s,offset:c=20}){let[u,r,g,h,m]=ai({source:{x:t,y:e},sourcePosition:n,target:{x:o,y:i},targetPosition:l,center:{x:d,y:s},offset:c});return[u.reduce((f,y,x)=>{let b="";return b=x>0&&x<u.length-1?ii(u[x-1],y,u[x+1],a):`${x===0?"M":"L"}${y.x} ${y.y}`,f+=b,f},""),r,g,h,m]}var bt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,sourcePosition:r=W.Bottom,targetPosition:g=W.Top,markerEnd:h,markerStart:m,pathOptions:f,interactionWidth:y})=>{let[x,b,N]=Yt({sourceX:t,sourceY:e,sourcePosition:r,targetX:n,targetY:o,targetPosition:g,borderRadius:f==null?void 0:f.borderRadius,offset:f==null?void 0:f.offset});return v.createElement(at,{path:x,labelX:b,labelY:N,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:h,markerStart:m,interactionWidth:y})});bt.displayName="SmoothStepEdge";var Zt=(0,v.memo)(t=>{var e;return v.createElement(bt,{...t,pathOptions:(0,v.useMemo)(()=>{var n;return{borderRadius:0,offset:(n=t.pathOptions)==null?void 0:n.offset}},[(e=t.pathOptions)==null?void 0:e.offset])})});Zt.displayName="StepEdge";function si({sourceX:t,sourceY:e,targetX:n,targetY:o}){let[i,l,a,d]=Rn({sourceX:t,sourceY:e,targetX:n,targetY:o});return[`M ${t},${e}L ${n},${o}`,i,l,a,d]}var Kt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})=>{let[m,f,y]=si({sourceX:t,sourceY:e,targetX:n,targetY:o});return v.createElement(at,{path:m,labelX:f,labelY:y,label:i,labelStyle:l,labelShowBg:a,labelBgStyle:d,labelBgPadding:s,labelBgBorderRadius:c,style:u,markerEnd:r,markerStart:g,interactionWidth:h})});Kt.displayName="StraightEdge";function xt(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function Tn({pos:t,x1:e,y1:n,x2:o,y2:i,c:l}){switch(t){case W.Left:return[e-xt(e-o,l),n];case W.Right:return[e+xt(o-e,l),n];case W.Top:return[e,n-xt(n-i,l)];case W.Bottom:return[e,n+xt(i-n,l)]}}function Hn({sourceX:t,sourceY:e,sourcePosition:n=W.Bottom,targetX:o,targetY:i,targetPosition:l=W.Top,curvature:a=.25}){let[d,s]=Tn({pos:n,x1:t,y1:e,x2:o,y2:i,c:a}),[c,u]=Tn({pos:l,x1:o,y1:i,x2:t,y2:e,c:a}),[r,g,h,m]=An({sourceX:t,sourceY:e,targetX:o,targetY:i,sourceControlX:d,sourceControlY:s,targetControlX:c,targetControlY:u});return[`M${t},${e} C${d},${s} ${c},${u} ${o},${i}`,r,g,h,m]}var wt=(0,v.memo)(({sourceX:t,sourceY:e,targetX:n,targetY:o,sourcePosition:i=W.Bottom,targetPosition:l=W.Top,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,pathOptions:f,interactionWidth:y})=>{let[x,b,N]=Hn({sourceX:t,sourceY:e,sourcePosition:i,targetX:n,targetY:o,targetPosition:l,curvature:f==null?void 0:f.curvature});return v.createElement(at,{path:x,labelX:b,labelY:N,label:a,labelStyle:d,labelShowBg:s,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:r,style:g,markerEnd:h,markerStart:m,interactionWidth:y})});wt.displayName="BezierEdge";var Gt=(0,v.createContext)(null),li=Gt.Provider;Gt.Consumer;var di=()=>(0,v.useContext)(Gt),ci=t=>"id"in t&&"source"in t&&"target"in t,ui=({source:t,sourceHandle:e,target:n,targetHandle:o})=>`reactflow__edge-${t}${e||""}-${n}${o||""}`,Ut=(t,e)=>t===void 0?"":typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(n=>`${n}=${t[n]}`).join("&")}`,hi=(t,e)=>e.some(n=>n.source===t.source&&n.target===t.target&&(n.sourceHandle===t.sourceHandle||!n.sourceHandle&&!t.sourceHandle)&&(n.targetHandle===t.targetHandle||!n.targetHandle&&!t.targetHandle)),gi=(t,e)=>{if(!t.source||!t.target)return xe.error006(),e;let n;return n=ci(t)?{...t}:{...t,id:ui(t)},hi(n,e)?e:e.concat(n)},qt=({x:t,y:e},[n,o,i],l,[a,d])=>{let s={x:(t-n)/i,y:(e-o)/i};return l?{x:a*Math.round(s.x/a),y:d*Math.round(s.y/d)}:s},Vn=({x:t,y:e},[n,o,i])=>({x:t*i+n,y:e*i+o}),Ze=(t,e=[0,0])=>{if(!t)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let n=(t.width??0)*e[0],o=(t.height??0)*e[1],i={x:t.position.x-n,y:t.position.y-o};return{...i,positionAbsolute:t.positionAbsolute?{x:t.positionAbsolute.x-n,y:t.positionAbsolute.y-o}:i}},Jt=(t,e=[0,0])=>t.length===0?{x:0,y:0,width:0,height:0}:ei(t.reduce((n,o)=>{let{x:i,y:l}=Ze(o,e).positionAbsolute;return Qa(n,Vt({x:i,y:l,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),Xn=(t,e,[n,o,i]=[0,0,1],l=!1,a=!1,d=[0,0])=>{let s={x:(e.x-n)/i,y:(e.y-o)/i,width:e.width/i,height:e.height/i},c=[];return t.forEach(u=>{let{width:r,height:g,selectable:h=!0,hidden:m=!1}=u;if(a&&!h||m)return!1;let{positionAbsolute:f}=Ze(u,d),y=Xt(s,{x:f.x,y:f.y,width:r||0,height:g||0}),x=r===void 0||g===void 0||r===null||g===null,b=l&&y>0,N=(r||0)*(g||0);(x||b||y>=N||u.dragging)&&c.push(u)}),c},Fn=(t,e)=>{let n=t.map(o=>o.id);return e.filter(o=>n.includes(o.source)||n.includes(o.target))},Wn=(t,e,n,o,i,l=.1)=>{let a=e/(t.width*(1+l)),d=n/(t.height*(1+l)),s=Fe(Math.min(a,d),o,i),c=t.x+t.width/2,u=t.y+t.height/2;return{x:e/2-c*s,y:n/2-u*s,zoom:s}},Be=(t,e=0)=>t.transition().duration(e);function Yn(t,e,n,o){return(e[n]||[]).reduce((i,l)=>{var a,d;return`${t.id}-${l.id}-${n}`!==o&&i.push({id:l.id||null,type:n,nodeId:t.id,x:(((a=t.positionAbsolute)==null?void 0:a.x)??0)+l.x+l.width/2,y:(((d=t.positionAbsolute)==null?void 0:d.y)??0)+l.y+l.height/2}),i},[])}function fi(t,e,n,o,i,l){let{x:a,y:d}=Se(t),s=e.elementsFromPoint(a,d).find(h=>h.classList.contains("react-flow__handle"));if(s){let h=s.getAttribute("data-nodeid");if(h){let m=Qt(void 0,s),f=s.getAttribute("data-handleid"),y=l({nodeId:h,id:f,type:m});if(y){let x=i.find(b=>b.nodeId===h&&b.type===m&&b.id===f);return{handle:{id:f,type:m,nodeId:h,x:(x==null?void 0:x.x)||n.x,y:(x==null?void 0:x.y)||n.y},validHandleResult:y}}}}let c=[],u=1/0;if(i.forEach(h=>{let m=Math.sqrt((h.x-n.x)**2+(h.y-n.y)**2);if(m<=o){let f=l(h);m<=u&&(m<u?c=[{handle:h,validHandleResult:f}]:m===u&&c.push({handle:h,validHandleResult:f}),u=m)}}),!c.length)return{handle:null,validHandleResult:Zn()};if(c.length===1)return c[0];let r=c.some(({validHandleResult:h})=>h.isValid),g=c.some(({handle:h})=>h.type==="target");return c.find(({handle:h,validHandleResult:m})=>g?h.type==="target":r?m.isValid:!0)||c[0]}var pi={source:null,target:null,sourceHandle:null,targetHandle:null},Zn=()=>({handleDomNode:null,isValid:!1,connection:pi,endHandle:null});function Kn(t,e,n,o,i,l,a){let d=i==="target",s=a.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),c={...Zn(),handleDomNode:s};if(s){let u=Qt(void 0,s),r=s.getAttribute("data-nodeid"),g=s.getAttribute("data-handleid"),h=s.classList.contains("connectable"),m=s.classList.contains("connectableend"),f={source:d?r:n,sourceHandle:d?g:o,target:d?n:r,targetHandle:d?o:g};c.connection=f,h&&m&&(e===We.Strict?d&&u==="source"||!d&&u==="target":r!==n||g!==o)&&(c.endHandle={nodeId:r,handleId:g,type:u},c.isValid=l(f))}return c}function mi({nodes:t,nodeId:e,handleId:n,handleType:o}){return t.reduce((i,l)=>{if(l[re]){let{handleBounds:a}=l[re],d=[],s=[];a&&(d=Yn(l,a,"source",`${e}-${n}-${o}`),s=Yn(l,a,"target",`${e}-${n}-${o}`)),i.push(...d,...s)}return i},[])}function Qt(t,e){return t||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function en(t){t==null||t.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function yi(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}function Gn({event:t,handleId:e,nodeId:n,onConnect:o,isTarget:i,getState:l,setState:a,isValidConnection:d,edgeUpdaterType:s,onReconnectEnd:c}){let u=Pn(t.target),{connectionMode:r,domNode:g,autoPanOnConnect:h,connectionRadius:m,onConnectStart:f,panBy:y,getNodes:x,cancelConnection:b}=l(),N=0,p,{x:S,y:k}=Se(t),_=u==null?void 0:u.elementFromPoint(S,k),P=Qt(s,_),j=g==null?void 0:g.getBoundingClientRect();if(!j||!P)return;let w,E=Se(t,j),O=!1,M=null,C=!1,R=null,L=mi({nodes:x(),nodeId:n,handleId:e,handleType:P}),H=()=>{if(!h)return;let[$,V]=_n(E,j);y({x:$,y:V}),N=requestAnimationFrame(H)};a({connectionPosition:E,connectionStatus:null,connectionNodeId:n,connectionHandleId:e,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:e,type:P},connectionEndHandle:null}),f==null||f(t,{nodeId:n,handleId:e,handleType:P});function F($){let{transform:V}=l();E=Se($,j);let{handle:X,validHandleResult:Z}=fi($,u,qt(E,V,!1,[1,1]),m,L,U=>Kn(U,r,n,e,i?"target":"source",d,u));if(p=X,O||(O=(H(),!0)),R=Z.handleDomNode,M=Z.connection,C=Z.isValid,a({connectionPosition:p&&C?Vn({x:p.x,y:p.y},V):E,connectionStatus:yi(!!p,C),connectionEndHandle:Z.endHandle}),!p&&!C&&!R)return en(w);M.source!==M.target&&R&&(en(w),w=R,R.classList.add("connecting","react-flow__handle-connecting"),R.classList.toggle("valid",C),R.classList.toggle("react-flow__handle-valid",C))}function D($){var V,X;(p||R)&&M&&C&&(o==null||o(M)),(X=(V=l()).onConnectEnd)==null||X.call(V,$),s&&(c==null||c($)),en(w),b(),cancelAnimationFrame(N),O=!1,C=!1,M=null,R=null,u.removeEventListener("mousemove",F),u.removeEventListener("mouseup",D),u.removeEventListener("touchmove",F),u.removeEventListener("touchend",D)}u.addEventListener("mousemove",F),u.addEventListener("mouseup",D),u.addEventListener("touchmove",F),u.addEventListener("touchend",D)}var Un=()=>!0,vi=t=>({connectionStartHandle:t.connectionStartHandle,connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName}),bi=(t,e,n)=>o=>{let{connectionStartHandle:i,connectionEndHandle:l,connectionClickStartHandle:a}=o;return{connecting:(i==null?void 0:i.nodeId)===t&&(i==null?void 0:i.handleId)===e&&(i==null?void 0:i.type)===n||(l==null?void 0:l.nodeId)===t&&(l==null?void 0:l.handleId)===e&&(l==null?void 0:l.type)===n,clickConnecting:(a==null?void 0:a.nodeId)===t&&(a==null?void 0:a.handleId)===e&&(a==null?void 0:a.type)===n}},qn=(0,v.forwardRef)(({type:t="source",position:e=W.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:i=!0,isConnectableEnd:l=!0,id:a,onConnect:d,children:s,className:c,onMouseDown:u,onTouchStart:r,...g},h)=>{var j,w;let m=a||null,f=t==="target",y=le(),x=di(),{connectOnClick:b,noPanClassName:N}=ne(vi,ue),{connecting:p,clickConnecting:S}=ne(bi(x,m,t),ue);x||((w=(j=y.getState()).onError)==null||w.call(j,"010",xe.error010()));let k=E=>{let{defaultEdgeOptions:O,onConnect:M,hasDefaultEdges:C}=y.getState(),R={...O,...E};if(C){let{edges:L,setEdges:H}=y.getState();H(gi(R,L))}M==null||M(R),d==null||d(R)},_=E=>{if(!x)return;let O=Dn(E);i&&(O&&E.button===0||!O)&&Gn({event:E,handleId:m,nodeId:x,onConnect:k,isTarget:f,getState:y.getState,setState:y.setState,isValidConnection:n||y.getState().isValidConnection||Un}),O?u==null||u(E):r==null||r(E)},P=E=>{let{onClickConnectStart:O,onClickConnectEnd:M,connectionClickStartHandle:C,connectionMode:R,isValidConnection:L}=y.getState();if(!x||!C&&!i)return;if(!C){O==null||O(E,{nodeId:x,handleId:m,handleType:t}),y.setState({connectionClickStartHandle:{nodeId:x,type:t,handleId:m}});return}let H=Pn(E.target),F=n||L||Un,{connection:D,isValid:$}=Kn({nodeId:x,id:m,type:t},R,C.nodeId,C.handleId||null,C.type,F,H);$&&k(D),M==null||M(E),y.setState({connectionClickStartHandle:null})};return v.createElement("div",{"data-handleid":m,"data-nodeid":x,"data-handlepos":e,"data-id":`${x}-${m}-${t}`,className:he(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",N,c,{source:!f,target:f,connectable:o,connectablestart:i,connectableend:l,connecting:S,connectionindicator:o&&(i&&!p||l&&p)}]),onMouseDown:_,onTouchStart:_,onClick:b?P:void 0,ref:h,...g},s)});qn.displayName="Handle";var Ce=(0,v.memo)(qn),Jn=({data:t,isConnectable:e,targetPosition:n=W.Top,sourcePosition:o=W.Bottom})=>v.createElement(v.Fragment,null,v.createElement(Ce,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label,v.createElement(Ce,{type:"source",position:o,isConnectable:e}));Jn.displayName="DefaultNode";var tn=(0,v.memo)(Jn),Qn=({data:t,isConnectable:e,sourcePosition:n=W.Bottom})=>v.createElement(v.Fragment,null,t==null?void 0:t.label,v.createElement(Ce,{type:"source",position:n,isConnectable:e}));Qn.displayName="InputNode";var eo=(0,v.memo)(Qn),to=({data:t,isConnectable:e,targetPosition:n=W.Top})=>v.createElement(v.Fragment,null,v.createElement(Ce,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label);to.displayName="OutputNode";var no=(0,v.memo)(to),nn=()=>null;nn.displayName="GroupNode";var xi=t=>({selectedNodes:t.getNodes().filter(e=>e.selected),selectedEdges:t.edges.filter(e=>e.selected).map(e=>({...e}))}),Et=t=>t.id;function wi(t,e){return ue(t.selectedNodes.map(Et),e.selectedNodes.map(Et))&&ue(t.selectedEdges.map(Et),e.selectedEdges.map(Et))}var oo=(0,v.memo)(({onSelectionChange:t})=>{let e=le(),{selectedNodes:n,selectedEdges:o}=ne(xi,wi);return(0,v.useEffect)(()=>{let i={nodes:n,edges:o};t==null||t(i),e.getState().onSelectionChange.forEach(l=>l(i))},[n,o,t]),null});oo.displayName="SelectionListener";var Ei=t=>!!t.onSelectionChange;function Si({onSelectionChange:t}){let e=ne(Ei);return t||e?v.createElement(oo,{onSelectionChange:t}):null}var Ci=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset});function Ke(t,e){(0,v.useEffect)(()=>{t!==void 0&&e(t)},[t])}function J(t,e,n){(0,v.useEffect)(()=>{e!==void 0&&n({[t]:e})},[e])}var Ni=({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:i,onConnectStart:l,onConnectEnd:a,onClickConnectStart:d,onClickConnectEnd:s,nodesDraggable:c,nodesConnectable:u,nodesFocusable:r,edgesFocusable:g,edgesUpdatable:h,elevateNodesOnSelect:m,minZoom:f,maxZoom:y,nodeExtent:x,onNodesChange:b,onEdgesChange:N,elementsSelectable:p,connectionMode:S,snapGrid:k,snapToGrid:_,translateExtent:P,connectOnClick:j,defaultEdgeOptions:w,fitView:E,fitViewOptions:O,onNodesDelete:M,onEdgesDelete:C,onNodeDrag:R,onNodeDragStart:L,onNodeDragStop:H,onSelectionDrag:F,onSelectionDragStart:D,onSelectionDragStop:$,noPanClassName:V,nodeOrigin:X,rfId:Z,autoPanOnConnect:U,autoPanOnNodeDrag:I,onError:A,connectionRadius:z,isValidConnection:T,nodeDragThreshold:Y})=>{let{setNodes:G,setEdges:ee,setDefaultNodesAndEdges:ae,setMinZoom:ge,setMaxZoom:oe,setTranslateExtent:Q,setNodeExtent:de,reset:te}=ne(Ci,ue),K=le();return(0,v.useEffect)(()=>{let fe=o==null?void 0:o.map(Me=>({...Me,...w}));return ae(n,fe),()=>{te()}},[]),J("defaultEdgeOptions",w,K.setState),J("connectionMode",S,K.setState),J("onConnect",i,K.setState),J("onConnectStart",l,K.setState),J("onConnectEnd",a,K.setState),J("onClickConnectStart",d,K.setState),J("onClickConnectEnd",s,K.setState),J("nodesDraggable",c,K.setState),J("nodesConnectable",u,K.setState),J("nodesFocusable",r,K.setState),J("edgesFocusable",g,K.setState),J("edgesUpdatable",h,K.setState),J("elementsSelectable",p,K.setState),J("elevateNodesOnSelect",m,K.setState),J("snapToGrid",_,K.setState),J("snapGrid",k,K.setState),J("onNodesChange",b,K.setState),J("onEdgesChange",N,K.setState),J("connectOnClick",j,K.setState),J("fitViewOnInit",E,K.setState),J("fitViewOnInitOptions",O,K.setState),J("onNodesDelete",M,K.setState),J("onEdgesDelete",C,K.setState),J("onNodeDrag",R,K.setState),J("onNodeDragStart",L,K.setState),J("onNodeDragStop",H,K.setState),J("onSelectionDrag",F,K.setState),J("onSelectionDragStart",D,K.setState),J("onSelectionDragStop",$,K.setState),J("noPanClassName",V,K.setState),J("nodeOrigin",X,K.setState),J("rfId",Z,K.setState),J("autoPanOnConnect",U,K.setState),J("autoPanOnNodeDrag",I,K.setState),J("onError",A,K.setState),J("connectionRadius",z,K.setState),J("isValidConnection",T,K.setState),J("nodeDragThreshold",Y,K.setState),Ke(t,G),Ke(e,ee),Ke(f,ge),Ke(y,oe),Ke(P,Q),Ke(x,de),null},ro={display:"none"},ki={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ao="react-flow__node-desc",io="react-flow__edge-desc",Mi="react-flow__aria-live",Oi=t=>t.ariaLiveMessage;function _i({rfId:t}){let e=ne(Oi);return v.createElement("div",{id:`${Mi}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:ki},e)}function Pi({rfId:t,disableKeyboardA11y:e}){return v.createElement(v.Fragment,null,v.createElement("div",{id:`${ao}-${t}`,style:ro},"Press enter or space to select a node.",!e&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),v.createElement("div",{id:`${io}-${t}`,style:ro},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!e&&v.createElement(_i,{rfId:t}))}var st=(t=null,e={actInsideInputWithModifier:!0})=>{let[n,o]=(0,v.useState)(!1),i=(0,v.useRef)(!1),l=(0,v.useRef)(new Set([])),[a,d]=(0,v.useMemo)(()=>{if(t!==null){let s=(Array.isArray(t)?t:[t]).filter(c=>typeof c=="string").map(c=>c.split("+"));return[s,s.reduce((c,u)=>c.concat(...u),[])]}return[[],[]]},[t]);return(0,v.useEffect)(()=>{let s=typeof document<"u"?document:null,c=(e==null?void 0:e.target)||s;if(t!==null){let u=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,(!i.current||i.current&&!e.actInsideInputWithModifier)&&Ft(h))return!1;let m=lo(h.code,d);l.current.add(h[m]),so(a,l.current,!1)&&(h.preventDefault(),o(!0))},r=h=>{if((!i.current||i.current&&!e.actInsideInputWithModifier)&&Ft(h))return!1;let m=lo(h.code,d);so(a,l.current,!0)?(o(!1),l.current.clear()):l.current.delete(h[m]),h.key==="Meta"&&l.current.clear(),i.current=!1},g=()=>{l.current.clear(),o(!1)};return c==null||c.addEventListener("keydown",u),c==null||c.addEventListener("keyup",r),window.addEventListener("blur",g),()=>{c==null||c.removeEventListener("keydown",u),c==null||c.removeEventListener("keyup",r),window.removeEventListener("blur",g)}}},[t,o]),n};function so(t,e,n){return t.filter(o=>n||o.length===e.size).some(o=>o.every(i=>e.has(i)))}function lo(t,e){return e.includes(t)?"code":"key"}function co(t,e,n,o){var d,s;let i=t.parentNode||t.parentId;if(!i)return n;let l=e.get(i),a=Ze(l,o);return co(l,e,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(((d=l[re])==null?void 0:d.z)??0)>(n.z??0)?((s=l[re])==null?void 0:s.z)??0:n.z??0},o)}function uo(t,e,n){t.forEach(o=>{var l;let i=o.parentNode||o.parentId;if(i&&!t.has(i))throw Error(`Parent node ${i} not found`);if(i||n!=null&&n[o.id]){let{x:a,y:d,z:s}=co(o,t,{...o.position,z:((l=o[re])==null?void 0:l.z)??0},e);o.positionAbsolute={x:a,y:d},o[re].z=s,n!=null&&n[o.id]&&(o[re].isParent=!0)}})}function on(t,e,n,o){let i=new Map,l={},a=o?1e3:0;return t.forEach(d=>{var h;let s=(me(d.zIndex)?d.zIndex:0)+(d.selected?a:0),c=e.get(d.id),u={...d,positionAbsolute:{x:d.position.x,y:d.position.y}},r=d.parentNode||d.parentId;r&&(l[r]=!0);let g=(c==null?void 0:c.type)&&(c==null?void 0:c.type)!==d.type;Object.defineProperty(u,re,{enumerable:!1,value:{handleBounds:g||(h=c==null?void 0:c[re])==null?void 0:h.handleBounds,z:s}}),i.set(d.id,u)}),uo(i,n,l),i}function ho(t,e={}){let{getNodes:n,width:o,height:i,minZoom:l,maxZoom:a,d3Zoom:d,d3Selection:s,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:r}=t(),g=e.initial&&!c&&u;if(d&&s&&(g||!e.initial)){let h=n().filter(f=>{var x;let y=e.includeHiddenNodes?f.width&&f.height:!f.hidden;return(x=e.nodes)!=null&&x.length?y&&e.nodes.some(b=>b.id===f.id):y}),m=h.every(f=>f.width&&f.height);if(h.length>0&&m){let{x:f,y,zoom:x}=Wn(Jt(h,r),o,i,e.minZoom??l,e.maxZoom??a,e.padding??.1),b=Xe.translate(f,y).scale(x);return typeof e.duration=="number"&&e.duration>0?d.transform(Be(s,e.duration),b):d.transform(s,b),!0}}return!1}function ji(t,e){return t.forEach(n=>{let o=e.get(n.id);o&&e.set(o.id,{...o,[re]:o[re],selected:n.selected})}),new Map(e)}function Ii(t,e){return e.map(n=>{let o=t.find(i=>i.id===n.id);return o&&(n.selected=o.selected),n})}function St({changedNodes:t,changedEdges:e,get:n,set:o}){let{nodeInternals:i,edges:l,onNodesChange:a,onEdgesChange:d,hasDefaultNodes:s,hasDefaultEdges:c}=n();t!=null&&t.length&&(s&&o({nodeInternals:ji(t,i)}),a==null||a(t)),e!=null&&e.length&&(c&&o({edges:Ii(e,l)}),d==null||d(e))}var Ge=()=>{},Di={zoomIn:Ge,zoomOut:Ge,zoomTo:Ge,getZoom:()=>1,setViewport:Ge,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:Ge,fitBounds:Ge,project:t=>t,screenToFlowPosition:t=>t,flowToScreenPosition:t=>t,viewportInitialized:!1},Ri=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection}),Ai=()=>{let t=le(),{d3Zoom:e,d3Selection:n}=ne(Ri,ue);return(0,v.useMemo)(()=>n&&e?{zoomIn:o=>e.scaleBy(Be(n,o==null?void 0:o.duration),1.2),zoomOut:o=>e.scaleBy(Be(n,o==null?void 0:o.duration),1/1.2),zoomTo:(o,i)=>e.scaleTo(Be(n,i==null?void 0:i.duration),o),getZoom:()=>t.getState().transform[2],setViewport:(o,i)=>{let[l,a,d]=t.getState().transform,s=Xe.translate(o.x??l,o.y??a).scale(o.zoom??d);e.transform(Be(n,i==null?void 0:i.duration),s)},getViewport:()=>{let[o,i,l]=t.getState().transform;return{x:o,y:i,zoom:l}},fitView:o=>ho(t.getState,o),setCenter:(o,i,l)=>{let{width:a,height:d,maxZoom:s}=t.getState(),c=(l==null?void 0:l.zoom)===void 0?s:l.zoom,u=a/2-o*c,r=d/2-i*c,g=Xe.translate(u,r).scale(c);e.transform(Be(n,l==null?void 0:l.duration),g)},fitBounds:(o,i)=>{let{width:l,height:a,minZoom:d,maxZoom:s}=t.getState(),{x:c,y:u,zoom:r}=Wn(o,l,a,d,s,(i==null?void 0:i.padding)??.1),g=Xe.translate(c,u).scale(r);e.transform(Be(n,i==null?void 0:i.duration),g)},project:o=>{let{transform:i,snapToGrid:l,snapGrid:a}=t.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"),qt(o,i,l,a)},screenToFlowPosition:o=>{let{transform:i,snapToGrid:l,snapGrid:a,domNode:d}=t.getState();if(!d)return o;let{x:s,y:c}=d.getBoundingClientRect();return qt({x:o.x-s,y:o.y-c},i,l,a)},flowToScreenPosition:o=>{let{transform:i,domNode:l}=t.getState();if(!l)return o;let{x:a,y:d}=l.getBoundingClientRect(),s=Vn(o,i);return{x:s.x+a,y:s.y+d}},viewportInitialized:!0}:Di,[e,n])};function lt(){let t=Ai(),e=le(),n=(0,v.useCallback)(()=>e.getState().getNodes().map(f=>({...f})),[]),o=(0,v.useCallback)(f=>e.getState().nodeInternals.get(f),[]),i=(0,v.useCallback)(()=>{let{edges:f=[]}=e.getState();return f.map(y=>({...y}))},[]),l=(0,v.useCallback)(f=>{let{edges:y=[]}=e.getState();return y.find(x=>x.id===f)},[]),a=(0,v.useCallback)(f=>{let{getNodes:y,setNodes:x,hasDefaultNodes:b,onNodesChange:N}=e.getState(),p=y(),S=typeof f=="function"?f(p):f;b?x(S):N&&N(S.length===0?p.map(k=>({type:"remove",id:k.id})):S.map(k=>({item:k,type:"reset"})))},[]),d=(0,v.useCallback)(f=>{let{edges:y=[],setEdges:x,hasDefaultEdges:b,onEdgesChange:N}=e.getState(),p=typeof f=="function"?f(y):f;b?x(p):N&&N(p.length===0?y.map(S=>({type:"remove",id:S.id})):p.map(S=>({item:S,type:"reset"})))},[]),s=(0,v.useCallback)(f=>{let y=Array.isArray(f)?f:[f],{getNodes:x,setNodes:b,hasDefaultNodes:N,onNodesChange:p}=e.getState();N?b([...x(),...y]):p&&p(y.map(S=>({item:S,type:"add"})))},[]),c=(0,v.useCallback)(f=>{let y=Array.isArray(f)?f:[f],{edges:x=[],setEdges:b,hasDefaultEdges:N,onEdgesChange:p}=e.getState();N?b([...x,...y]):p&&p(y.map(S=>({item:S,type:"add"})))},[]),u=(0,v.useCallback)(()=>{let{getNodes:f,edges:y=[],transform:x}=e.getState(),[b,N,p]=x;return{nodes:f().map(S=>({...S})),edges:y.map(S=>({...S})),viewport:{x:b,y:N,zoom:p}}},[]),r=(0,v.useCallback)(({nodes:f,edges:y})=>{let{nodeInternals:x,getNodes:b,edges:N,hasDefaultNodes:p,hasDefaultEdges:S,onNodesDelete:k,onEdgesDelete:_,onNodesChange:P,onEdgesChange:j}=e.getState(),w=(f||[]).map(R=>R.id),E=(y||[]).map(R=>R.id),O=b().reduce((R,L)=>{let H=L.parentNode||L.parentId,F=!w.includes(L.id)&&H&&R.find(D=>D.id===H);return(typeof L.deletable!="boolean"||L.deletable)&&(w.includes(L.id)||F)&&R.push(L),R},[]),M=N.filter(R=>typeof R.deletable=="boolean"?R.deletable:!0),C=M.filter(R=>E.includes(R.id));if(O||C){let R=Fn(O,M),L=[...C,...R],H=L.reduce((F,D)=>(F.includes(D.id)||F.push(D.id),F),[]);(S||p)&&(S&&e.setState({edges:N.filter(F=>!H.includes(F.id))}),p&&(O.forEach(F=>{x.delete(F.id)}),e.setState({nodeInternals:new Map(x)}))),H.length>0&&(_==null||_(L),j&&j(H.map(F=>({id:F,type:"remove"})))),O.length>0&&(k==null||k(O),P&&P(O.map(F=>({id:F.id,type:"remove"}))))}},[]),g=(0,v.useCallback)(f=>{let y=ti(f),x=y?null:e.getState().nodeInternals.get(f.id);return!y&&!x?[null,null,y]:[y?f:jn(x),x,y]},[]),h=(0,v.useCallback)((f,y=!0,x)=>{let[b,N,p]=g(f);return b?(x||e.getState().getNodes()).filter(S=>{if(!p&&(S.id===N.id||!S.positionAbsolute))return!1;let k=Xt(jn(S),b);return y&&k>0||k>=b.width*b.height}):[]},[]),m=(0,v.useCallback)((f,y,x=!0)=>{let[b]=g(f);if(!b)return!1;let N=Xt(b,y);return x&&N>0||N>=b.width*b.height},[]);return(0,v.useMemo)(()=>({...t,getNodes:n,getNode:o,getEdges:i,getEdge:l,setNodes:a,setEdges:d,addNodes:s,addEdges:c,toObject:u,deleteElements:r,getIntersectingNodes:h,isNodeIntersecting:m}),[t,n,o,i,l,a,d,s,c,u,r,h,m])}var Bi={actInsideInputWithModifier:!1},zi=({deleteKeyCode:t,multiSelectionKeyCode:e})=>{let n=le(),{deleteElements:o}=lt(),i=st(t,Bi),l=st(e);(0,v.useEffect)(()=>{if(i){let{edges:a,getNodes:d}=n.getState();o({nodes:d().filter(s=>s.selected),edges:a.filter(s=>s.selected)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,v.useEffect)(()=>{n.setState({multiSelectionActive:l})},[l])};function Li(t){let e=le();(0,v.useEffect)(()=>{let n,o=()=>{var l,a;if(!t.current)return;let i=Tt(t.current);(i.height===0||i.width===0)&&((a=(l=e.getState()).onError)==null||a.call(l,"004",xe.error004())),e.setState({width:i.width||500,height:i.height||500})};return o(),window.addEventListener("resize",o),t.current&&(n=new ResizeObserver(()=>o()),n.observe(t.current)),()=>{window.removeEventListener("resize",o),n&&t.current&&n.unobserve(t.current)}},[])}var rn={position:"absolute",width:"100%",height:"100%",top:0,left:0},$i=(t,e)=>t.x!==e.x||t.y!==e.y||t.zoom!==e.k,Ct=t=>({x:t.x,y:t.y,zoom:t.k}),Ue=(t,e)=>t.target.closest(`.${e}`),go=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),fo=t=>{let e=t.ctrlKey&&mt()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e},Ti=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection,d3ZoomHandler:t.d3ZoomHandler,userSelectionActive:t.userSelectionActive}),Hi=({onMove:t,onMoveStart:e,onMoveEnd:n,onPaneContextMenu:o,zoomOnScroll:i=!0,zoomOnPinch:l=!0,panOnScroll:a=!1,panOnScrollSpeed:d=.5,panOnScrollMode:s=Ye.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:r=!0,defaultViewport:g,translateExtent:h,minZoom:m,maxZoom:f,zoomActivationKeyCode:y,preventScrolling:x=!0,children:b,noWheelClassName:N,noPanClassName:p})=>{let S=(0,v.useRef)(),k=le(),_=(0,v.useRef)(!1),P=(0,v.useRef)(!1),j=(0,v.useRef)(null),w=(0,v.useRef)({x:0,y:0,zoom:0}),{d3Zoom:E,d3Selection:O,d3ZoomHandler:M,userSelectionActive:C}=ne(Ti,ue),R=st(y),L=(0,v.useRef)(0),H=(0,v.useRef)(!1),F=(0,v.useRef)();return Li(j),(0,v.useEffect)(()=>{if(j.current){let D=j.current.getBoundingClientRect(),$=Ia().scaleExtent([m,f]).translateExtent(h),V=ht(j.current).call($),X=Xe.translate(g.x,g.y).scale(Fe(g.zoom,m,f)),Z=[[0,0],[D.width,D.height]],U=$.constrain()(X,Z,h);$.transform(V,U),$.wheelDelta(fo),k.setState({d3Zoom:$,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:j.current.closest(".react-flow")})}},[]),(0,v.useEffect)(()=>{O&&E&&(a&&!R&&!C?O.on("wheel.zoom",D=>{if(Ue(D,N))return!1;D.preventDefault(),D.stopImmediatePropagation();let $=O.property("__zoom").k||1;if(D.ctrlKey&&l){let T=Lt(D),Y=$*2**fo(D);E.scaleTo(O,Y,T,D);return}let V=D.deltaMode===1?20:1,X=s===Ye.Vertical?0:D.deltaX*V,Z=s===Ye.Horizontal?0:D.deltaY*V;!mt()&&D.shiftKey&&s!==Ye.Vertical&&(X=D.deltaY*V,Z=0),E.translateBy(O,-(X/$)*d,-(Z/$)*d,{internal:!0});let U=Ct(O.property("__zoom")),{onViewportChangeStart:I,onViewportChange:A,onViewportChangeEnd:z}=k.getState();clearTimeout(F.current),H.current||(H.current=!0,e==null||e(D,U),I==null||I(U)),H.current&&(t==null||t(D,U),A==null||A(U),F.current=setTimeout(()=>{n==null||n(D,U),z==null||z(U),H.current=!1},150))},{passive:!1}):M!==void 0&&O.on("wheel.zoom",function(D,$){if(!x&&D.type==="wheel"&&!D.ctrlKey||Ue(D,N))return null;D.preventDefault(),M.call(this,D,$)},{passive:!1}))},[C,a,s,O,E,M,R,l,x,N,e,t,n]),(0,v.useEffect)(()=>{E&&E.on("start",D=>{var X,Z;if(!D.sourceEvent||D.sourceEvent.internal)return null;L.current=(X=D.sourceEvent)==null?void 0:X.button;let{onViewportChangeStart:$}=k.getState(),V=Ct(D.transform);_.current=!0,w.current=V,((Z=D.sourceEvent)==null?void 0:Z.type)==="mousedown"&&k.setState({paneDragging:!0}),$==null||$(V),e==null||e(D.sourceEvent,V)})},[E,e]),(0,v.useEffect)(()=>{E&&(C&&!_.current?E.on("zoom",null):C||E.on("zoom",D=>{var V;let{onViewportChange:$}=k.getState();if(k.setState({transform:[D.transform.x,D.transform.y,D.transform.k]}),P.current=!!(o&&go(r,L.current??0)),(t||$)&&!((V=D.sourceEvent)!=null&&V.internal)){let X=Ct(D.transform);$==null||$(X),t==null||t(D.sourceEvent,X)}}))},[C,E,t,r,o]),(0,v.useEffect)(()=>{E&&E.on("end",D=>{if(!D.sourceEvent||D.sourceEvent.internal)return null;let{onViewportChangeEnd:$}=k.getState();if(_.current=!1,k.setState({paneDragging:!1}),o&&go(r,L.current??0)&&!P.current&&o(D.sourceEvent),P.current=!1,(n||$)&&$i(w.current,D.transform)){let V=Ct(D.transform);w.current=V,clearTimeout(S.current),S.current=setTimeout(()=>{$==null||$(V),n==null||n(D.sourceEvent,V)},a?150:0)}})},[E,a,r,n,o]),(0,v.useEffect)(()=>{E&&E.filter(D=>{let $=R||i,V=l&&D.ctrlKey;if((r===!0||Array.isArray(r)&&r.includes(1))&&D.button===1&&D.type==="mousedown"&&(Ue(D,"react-flow__node")||Ue(D,"react-flow__edge")))return!0;if(!r&&!$&&!a&&!c&&!l||C||!c&&D.type==="dblclick"||Ue(D,N)&&D.type==="wheel"||Ue(D,p)&&(D.type!=="wheel"||a&&D.type==="wheel"&&!R)||!l&&D.ctrlKey&&D.type==="wheel"||!$&&!a&&!V&&D.type==="wheel"||!r&&(D.type==="mousedown"||D.type==="touchstart")||Array.isArray(r)&&!r.includes(D.button)&&D.type==="mousedown")return!1;let X=Array.isArray(r)&&r.includes(D.button)||!D.button||D.button<=1;return(!D.ctrlKey||D.type==="wheel")&&X})},[C,E,i,l,a,c,r,u,R]),v.createElement("div",{className:"react-flow__renderer",ref:j,style:rn},b)},Vi=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function Xi(){let{userSelectionActive:t,userSelectionRect:e}=ne(Vi,ue);return t&&e?v.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}function po(t,e){let n=e.parentNode||e.parentId,o=t.find(i=>i.id===n);if(o){let i=e.position.x+e.width-o.width,l=e.position.y+e.height-o.height;if(i>0||l>0||e.position.x<0||e.position.y<0){if(o.style={...o.style},o.style.width=o.style.width??o.width,o.style.height=o.style.height??o.height,i>0&&(o.style.width+=i),l>0&&(o.style.height+=l),e.position.x<0){let a=Math.abs(e.position.x);o.position.x=o.position.x-a,o.style.width+=a,e.position.x=0}if(e.position.y<0){let a=Math.abs(e.position.y);o.position.y=o.position.y-a,o.style.height+=a,e.position.y=0}o.width=o.style.width,o.height=o.style.height}}}function mo(t,e){if(t.some(o=>o.type==="reset"))return t.filter(o=>o.type==="reset").map(o=>o.item);let n=t.filter(o=>o.type==="add").map(o=>o.item);return e.reduce((o,i)=>{let l=t.filter(d=>d.id===i.id);if(l.length===0)return o.push(i),o;let a={...i};for(let d of l)if(d)switch(d.type){case"select":a.selected=d.selected;break;case"position":d.position!==void 0&&(a.position=d.position),d.positionAbsolute!==void 0&&(a.positionAbsolute=d.positionAbsolute),d.dragging!==void 0&&(a.dragging=d.dragging),a.expandParent&&po(o,a);break;case"dimensions":d.dimensions!==void 0&&(a.width=d.dimensions.width,a.height=d.dimensions.height),d.updateStyle!==void 0&&(a.style={...a.style||{},...d.dimensions}),typeof d.resizing=="boolean"&&(a.resizing=d.resizing),a.expandParent&&po(o,a);break;case"remove":return o}return o.push(a),o},n)}function yo(t,e){return mo(t,e)}function Fi(t,e){return mo(t,e)}var Ne=(t,e)=>({id:t,type:"select",selected:e});function qe(t,e){return t.reduce((n,o)=>{let i=e.includes(o.id);return!o.selected&&i?(o.selected=!0,n.push(Ne(o.id,!0))):o.selected&&!i&&(o.selected=!1,n.push(Ne(o.id,!1))),n},[])}var an=(t,e)=>n=>{n.target===e.current&&(t==null||t(n))},Wi=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging}),vo=(0,v.memo)(({isSelecting:t,selectionMode:e=yt.Full,panOnDrag:n,onSelectionStart:o,onSelectionEnd:i,onPaneClick:l,onPaneContextMenu:a,onPaneScroll:d,onPaneMouseEnter:s,onPaneMouseMove:c,onPaneMouseLeave:u,children:r})=>{let g=(0,v.useRef)(null),h=le(),m=(0,v.useRef)(0),f=(0,v.useRef)(0),y=(0,v.useRef)(),{userSelectionActive:x,elementsSelectable:b,dragging:N}=ne(Wi,ue),p=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,f.current=0},S=M=>{l==null||l(M),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},k=M=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){M.preventDefault();return}a==null||a(M)},_=d?M=>d(M):void 0,P=M=>{let{resetSelectedElements:C,domNode:R}=h.getState();if(y.current=R==null?void 0:R.getBoundingClientRect(),!b||!t||M.button!==0||M.target!==g.current||!y.current)return;let{x:L,y:H}=Se(M,y.current);C(),h.setState({userSelectionRect:{width:0,height:0,startX:L,startY:H,x:L,y:H}}),o==null||o(M)},j=M=>{let{userSelectionRect:C,nodeInternals:R,edges:L,transform:H,onNodesChange:F,onEdgesChange:D,nodeOrigin:$,getNodes:V}=h.getState();if(!t||!y.current||!C)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});let X=Se(M,y.current),Z=C.startX??0,U=C.startY??0,I={...C,x:X.x<Z?X.x:Z,y:X.y<U?X.y:U,width:Math.abs(X.x-Z),height:Math.abs(X.y-U)},A=V(),z=Xn(R,I,H,e===yt.Partial,!0,$),T=Fn(z,L).map(G=>G.id),Y=z.map(G=>G.id);if(m.current!==Y.length){m.current=Y.length;let G=qe(A,Y);G.length&&(F==null||F(G))}if(f.current!==T.length){f.current=T.length;let G=qe(L,T);G.length&&(D==null||D(G))}h.setState({userSelectionRect:I})},w=M=>{if(M.button!==0)return;let{userSelectionRect:C}=h.getState();!x&&C&&M.target===g.current&&(S==null||S(M)),h.setState({nodesSelectionActive:m.current>0}),p(),i==null||i(M)},E=M=>{x&&(h.setState({nodesSelectionActive:m.current>0}),i==null||i(M)),p()},O=b&&(t||x);return v.createElement("div",{className:he(["react-flow__pane",{dragging:N,selection:t}]),onClick:O?void 0:an(S,g),onContextMenu:an(k,g),onWheel:an(_,g),onMouseEnter:O?void 0:s,onMouseDown:O?P:void 0,onMouseMove:O?j:c,onMouseUp:O?w:void 0,onMouseLeave:O?E:u,ref:g,style:rn},r,v.createElement(Xi,null))});vo.displayName="Pane";function bo(t,e){let n=t.parentNode||t.parentId;if(!n)return!1;let o=e.get(n);return o?o.selected?!0:bo(o,e):!1}function xo(t,e,n){let o=t;do{if(o!=null&&o.matches(e))return!0;if(o===n.current)return!1;o=o.parentElement}while(o);return!1}function Yi(t,e,n,o){return Array.from(t.values()).filter(i=>(i.selected||i.id===o)&&(!i.parentNode||i.parentId||!bo(i,t))&&(i.draggable||e&&i.draggable===void 0)).map(i=>{var l,a;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((l=i.positionAbsolute)==null?void 0:l.x)??0),y:n.y-(((a=i.positionAbsolute)==null?void 0:a.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode||i.parentId,parentId:i.parentNode||i.parentId,width:i.width,height:i.height,expandParent:i.expandParent}})}function Zi(t,e){return!e||e==="parent"?e:[e[0],[e[1][0]-(t.width||0),e[1][1]-(t.height||0)]]}function wo(t,e,n,o,i=[0,0],l){let a=Zi(t,t.extent||o),d=a,s=t.parentNode||t.parentId;if(t.extent==="parent"&&!t.expandParent)if(s&&t.width&&t.height){let r=n.get(s),{x:g,y:h}=Ze(r,i).positionAbsolute;d=r&&me(g)&&me(h)&&me(r.width)&&me(r.height)?[[g+t.width*i[0],h+t.height*i[1]],[g+r.width-t.width+t.width*i[0],h+r.height-t.height+t.height*i[1]]]:d}else l==null||l("005",xe.error005()),d=a;else if(t.extent&&s&&t.extent!=="parent"){let{x:r,y:g}=Ze(n.get(s),i).positionAbsolute;d=[[t.extent[0][0]+r,t.extent[0][1]+g],[t.extent[1][0]+r,t.extent[1][1]+g]]}let c={x:0,y:0};s&&(c=Ze(n.get(s),i).positionAbsolute);let u=d&&d!=="parent"?Ht(e,d):e;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function sn({nodeId:t,dragItems:e,nodeInternals:n}){let o=e.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[t?o.find(i=>i.id===t):o[0],o]}var Eo=(t,e,n,o)=>{let i=e.querySelectorAll(t);if(!i||!i.length)return null;let l=Array.from(i),a=e.getBoundingClientRect(),d={x:a.width*o[0],y:a.height*o[1]};return l.map(s=>{let c=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),position:s.getAttribute("data-handlepos"),x:(c.left-a.left-d.x)/n,y:(c.top-a.top-d.y)/n,...Tt(s)}})};function dt(t,e,n){return n===void 0?n:o=>{let i=e().nodeInternals.get(t);i&&n(o,{...i})}}function ln({id:t,store:e,unselect:n=!1,nodeRef:o}){let{addSelectedNodes:i,unselectNodesAndEdges:l,multiSelectionActive:a,nodeInternals:d,onError:s}=e.getState(),c=d.get(t);if(!c){s==null||s("012",xe.error012(t));return}e.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(l({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var u;return(u=o==null?void 0:o.current)==null?void 0:u.blur()})):i([t])}function Ki(){let t=le();return(0,v.useCallback)(({sourceEvent:e})=>{let{transform:n,snapGrid:o,snapToGrid:i}=t.getState(),l=e.touches?e.touches[0].clientX:e.clientX,a=e.touches?e.touches[0].clientY:e.clientY,d={x:(l-n[0])/n[2],y:(a-n[1])/n[2]};return{xSnapped:i?o[0]*Math.round(d.x/o[0]):d.x,ySnapped:i?o[1]*Math.round(d.y/o[1]):d.y,...d}},[])}function dn(t){return(e,n,o)=>t==null?void 0:t(e,o)}function So({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:o,nodeId:i,isSelectable:l,selectNodesOnDrag:a}){let d=le(),[s,c]=(0,v.useState)(!1),u=(0,v.useRef)([]),r=(0,v.useRef)({x:null,y:null}),g=(0,v.useRef)(0),h=(0,v.useRef)(null),m=(0,v.useRef)({x:0,y:0}),f=(0,v.useRef)(null),y=(0,v.useRef)(!1),x=(0,v.useRef)(!1),b=(0,v.useRef)(!1),N=Ki();return(0,v.useEffect)(()=>{if(t!=null&&t.current){let p=ht(t.current),S=({x:P,y:j})=>{let{nodeInternals:w,onNodeDrag:E,onSelectionDrag:O,updateNodePositions:M,nodeExtent:C,snapGrid:R,snapToGrid:L,nodeOrigin:H,onError:F}=d.getState();r.current={x:P,y:j};let D=!1,$={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&C&&($=Vt(Jt(u.current,H))),u.current=u.current.map(X=>{let Z={x:P-X.distance.x,y:j-X.distance.y};L&&(Z.x=R[0]*Math.round(Z.x/R[0]),Z.y=R[1]*Math.round(Z.y/R[1]));let U=[[C[0][0],C[0][1]],[C[1][0],C[1][1]]];u.current.length>1&&C&&!X.extent&&(U[0][0]=X.positionAbsolute.x-$.x+C[0][0],U[1][0]=X.positionAbsolute.x+(X.width??0)-$.x2+C[1][0],U[0][1]=X.positionAbsolute.y-$.y+C[0][1],U[1][1]=X.positionAbsolute.y+(X.height??0)-$.y2+C[1][1]);let I=wo(X,Z,w,U,H,F);return D=D||X.position.x!==I.position.x||X.position.y!==I.position.y,X.position=I.position,X.positionAbsolute=I.positionAbsolute,X}),!D)return;M(u.current,!0,!0),c(!0);let V=i?E:dn(O);if(V&&f.current){let[X,Z]=sn({nodeId:i,dragItems:u.current,nodeInternals:w});V(f.current,X,Z)}},k=()=>{if(!h.current)return;let[P,j]=_n(m.current,h.current);if(P!==0||j!==0){let{transform:w,panBy:E}=d.getState();r.current.x=(r.current.x??0)-P/w[2],r.current.y=(r.current.y??0)-j/w[2],E({x:P,y:j})&&S(r.current)}g.current=requestAnimationFrame(k)},_=P=>{var H;let{nodeInternals:j,multiSelectionActive:w,nodesDraggable:E,unselectNodesAndEdges:O,onNodeDragStart:M,onSelectionDragStart:C}=d.getState();x.current=!0;let R=i?M:dn(C);(!a||!l)&&!w&&i&&((H=j.get(i))!=null&&H.selected||O()),i&&l&&a&&ln({id:i,store:d,nodeRef:t});let L=N(P);if(r.current=L,u.current=Yi(j,E,L,i),R&&u.current){let[F,D]=sn({nodeId:i,dragItems:u.current,nodeInternals:j});R(P.sourceEvent,F,D)}};if(e)p.on(".drag",null);else{let P=Ka().on("start",j=>{let{domNode:w,nodeDragThreshold:E}=d.getState();E===0&&_(j),b.current=!1,r.current=N(j),h.current=(w==null?void 0:w.getBoundingClientRect())||null,m.current=Se(j.sourceEvent,h.current)}).on("drag",j=>{var M,C;let w=N(j),{autoPanOnNodeDrag:E,nodeDragThreshold:O}=d.getState();if(j.sourceEvent.type==="touchmove"&&j.sourceEvent.touches.length>1&&(b.current=!0),!b.current){if(!y.current&&x.current&&E&&(y.current=!0,k()),!x.current){let R=w.xSnapped-(((M=r==null?void 0:r.current)==null?void 0:M.x)??0),L=w.ySnapped-(((C=r==null?void 0:r.current)==null?void 0:C.y)??0);Math.sqrt(R*R+L*L)>O&&_(j)}(r.current.x!==w.xSnapped||r.current.y!==w.ySnapped)&&u.current&&x.current&&(f.current=j.sourceEvent,m.current=Se(j.sourceEvent,h.current),S(w))}}).on("end",j=>{if(!(!x.current||b.current)&&(c(!1),y.current=!1,x.current=!1,cancelAnimationFrame(g.current),u.current)){let{updateNodePositions:w,nodeInternals:E,onNodeDragStop:O,onSelectionDragStop:M}=d.getState(),C=i?O:dn(M);if(w(u.current,!1,!1),C){let[R,L]=sn({nodeId:i,dragItems:u.current,nodeInternals:E});C(j.sourceEvent,R,L)}}}).filter(j=>{let w=j.target;return!j.button&&(!n||!xo(w,`.${n}`,t))&&(!o||xo(w,o,t))});return p.call(P),()=>{p.on(".drag",null)}}}},[t,e,n,o,l,d,i,a,N]),s}function Co(){let t=le();return(0,v.useCallback)(e=>{let{nodeInternals:n,nodeExtent:o,updateNodePositions:i,getNodes:l,snapToGrid:a,snapGrid:d,onError:s,nodesDraggable:c}=t.getState(),u=l().filter(y=>y.selected&&(y.draggable||c&&y.draggable===void 0)),r=a?d[0]:5,g=a?d[1]:5,h=e.isShiftPressed?4:1,m=e.x*r*h,f=e.y*g*h;i(u.map(y=>{if(y.positionAbsolute){let x={x:y.positionAbsolute.x+m,y:y.positionAbsolute.y+f};a&&(x.x=d[0]*Math.round(x.x/d[0]),x.y=d[1]*Math.round(x.y/d[1]));let{positionAbsolute:b,position:N}=wo(y,x,n,o,void 0,s);y.position=N,y.positionAbsolute=b}return y}),!0,!1)},[])}var Je={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ct=t=>{let e=({id:n,type:o,data:i,xPos:l,yPos:a,xPosOrigin:d,yPosOrigin:s,selected:c,onClick:u,onMouseEnter:r,onMouseMove:g,onMouseLeave:h,onContextMenu:m,onDoubleClick:f,style:y,className:x,isDraggable:b,isSelectable:N,isConnectable:p,isFocusable:S,selectNodesOnDrag:k,sourcePosition:_,targetPosition:P,hidden:j,resizeObserver:w,dragHandle:E,zIndex:O,isParent:M,noDragClassName:C,noPanClassName:R,initialized:L,disableKeyboardA11y:H,ariaLabel:F,rfId:D,hasHandleBounds:$})=>{let V=le(),X=(0,v.useRef)(null),Z=(0,v.useRef)(null),U=(0,v.useRef)(_),I=(0,v.useRef)(P),A=(0,v.useRef)(o),z=N||b||u||r||g||h,T=Co(),Y=dt(n,V.getState,r),G=dt(n,V.getState,g),ee=dt(n,V.getState,h),ae=dt(n,V.getState,m),ge=dt(n,V.getState,f),oe=te=>{let{nodeDragThreshold:K}=V.getState();if(N&&(!k||!b||K>0)&&ln({id:n,store:V,nodeRef:X}),u){let fe=V.getState().nodeInternals.get(n);fe&&u(te,{...fe})}},Q=te=>{Ft(te)||H||(In.includes(te.key)&&N?ln({id:n,store:V,unselect:te.key==="Escape",nodeRef:X}):b&&c&&Object.prototype.hasOwnProperty.call(Je,te.key)&&(V.setState({ariaLiveMessage:`Moved selected node ${te.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~l}, y: ${~~a}`}),T({x:Je[te.key].x,y:Je[te.key].y,isShiftPressed:te.shiftKey})))};(0,v.useEffect)(()=>()=>{Z.current&&(Z.current=(w==null||w.unobserve(Z.current),null))},[]),(0,v.useEffect)(()=>{if(X.current&&!j){let te=X.current;(!L||!$||Z.current!==te)&&(Z.current&&(w==null||w.unobserve(Z.current)),w==null||w.observe(te),Z.current=te)}},[j,L,$]),(0,v.useEffect)(()=>{let te=A.current!==o,K=U.current!==_,fe=I.current!==P;X.current&&(te||K||fe)&&(te&&(A.current=o),K&&(U.current=_),fe&&(I.current=P),V.getState().updateNodeDimensions([{id:n,nodeElement:X.current,forceUpdate:!0}]))},[n,o,_,P]);let de=So({nodeRef:X,disabled:j||!b,noDragClassName:C,handleSelector:E,nodeId:n,isSelectable:N,selectNodesOnDrag:k});return j?null:v.createElement("div",{className:he(["react-flow__node",`react-flow__node-${o}`,{[R]:b},x,{selected:c,selectable:N,parent:M,dragging:de}]),ref:X,style:{zIndex:O,transform:`translate(${d}px,${s}px)`,pointerEvents:z?"all":"none",visibility:L?"visible":"hidden",...y},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:Y,onMouseMove:G,onMouseLeave:ee,onContextMenu:ae,onClick:oe,onDoubleClick:ge,onKeyDown:S?Q:void 0,tabIndex:S?0:void 0,role:S?"button":void 0,"aria-describedby":H?void 0:`${ao}-${D}`,"aria-label":F},v.createElement(li,{value:n},v.createElement(t,{id:n,data:i,type:o,xPos:l,yPos:a,selected:c,isConnectable:p,sourcePosition:_,targetPosition:P,dragging:de,dragHandle:E,zIndex:O})))};return e.displayName="NodeWrapper",(0,v.memo)(e)},Gi=t=>({...Jt(t.getNodes().filter(e=>e.selected),t.nodeOrigin),transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`,userSelectionActive:t.userSelectionActive});function Ui({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){let o=le(),{width:i,height:l,x:a,y:d,transformString:s,userSelectionActive:c}=ne(Gi,ue),u=Co(),r=(0,v.useRef)(null);if((0,v.useEffect)(()=>{var h;n||((h=r.current)==null||h.focus({preventScroll:!0}))},[n]),So({nodeRef:r}),c||!i||!l)return null;let g=t?h=>{t(h,o.getState().getNodes().filter(m=>m.selected))}:void 0;return v.createElement("div",{className:he(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s}},v.createElement("div",{ref:r,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h=>{Object.prototype.hasOwnProperty.call(Je,h.key)&&u({x:Je[h.key].x,y:Je[h.key].y,isShiftPressed:h.shiftKey})},style:{width:i,height:l,top:d,left:a}}))}var qi=(0,v.memo)(Ui),Ji=t=>t.nodesSelectionActive,No=({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,deleteKeyCode:d,onMove:s,onMoveStart:c,onMoveEnd:u,selectionKeyCode:r,selectionOnDrag:g,selectionMode:h,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:y,panActivationKeyCode:x,zoomActivationKeyCode:b,elementsSelectable:N,zoomOnScroll:p,zoomOnPinch:S,panOnScroll:k,panOnScrollSpeed:_,panOnScrollMode:P,zoomOnDoubleClick:j,panOnDrag:w,defaultViewport:E,translateExtent:O,minZoom:M,maxZoom:C,preventScrolling:R,onSelectionContextMenu:L,noWheelClassName:H,noPanClassName:F,disableKeyboardA11y:D})=>{let $=ne(Ji),V=st(r),X=st(x),Z=X||w,U=X||k,I=V||g&&Z!==!0;return zi({deleteKeyCode:d,multiSelectionKeyCode:y}),v.createElement(Hi,{onMove:s,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:l,elementsSelectable:N,zoomOnScroll:p,zoomOnPinch:S,panOnScroll:U,panOnScrollSpeed:_,panOnScrollMode:P,zoomOnDoubleClick:j,panOnDrag:!V&&Z,defaultViewport:E,translateExtent:O,minZoom:M,maxZoom:C,zoomActivationKeyCode:b,preventScrolling:R,noWheelClassName:H,noPanClassName:F},v.createElement(vo,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:i,onPaneContextMenu:l,onPaneScroll:a,panOnDrag:Z,isSelecting:!!I,selectionMode:h},t,$&&v.createElement(qi,{onSelectionContextMenu:L,noPanClassName:F,disableKeyboardA11y:D})))};No.displayName="FlowRenderer";var Qi=(0,v.memo)(No);function es(t){return ne((0,v.useCallback)(e=>t?Xn(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))}function ts(t){let e={input:ct(t.input||eo),default:ct(t.default||tn),output:ct(t.output||no),group:ct(t.group||nn)},n=Object.keys(t).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,i)=>(o[i]=ct(t[i]||tn),o),{});return{...e,...n}}var ns=({x:t,y:e,width:n,height:o,origin:i})=>!n||!o||i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:t,y:e}:{x:t-n*i[0],y:e-o*i[1]},os=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,updateNodeDimensions:t.updateNodeDimensions,onError:t.onError}),ko=t=>{let{nodesDraggable:e,nodesConnectable:n,nodesFocusable:o,elementsSelectable:i,updateNodeDimensions:l,onError:a}=ne(os,ue),d=es(t.onlyRenderVisibleElements),s=(0,v.useRef)(),c=(0,v.useMemo)(()=>{if(typeof ResizeObserver>"u")return null;let u=new ResizeObserver(r=>{l(r.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0})))});return s.current=u,u},[]);return(0,v.useEffect)(()=>()=>{var u;(u=s==null?void 0:s.current)==null||u.disconnect()},[]),v.createElement("div",{className:"react-flow__nodes",style:rn},d.map(u=>{var S,k,_;let r=u.type||"default";t.nodeTypes[r]||(a==null||a("003",xe.error003(r)),r="default");let g=t.nodeTypes[r]||t.nodeTypes.default,h=!!(u.draggable||e&&u.draggable===void 0),m=!!(u.selectable||i&&u.selectable===void 0),f=!!(u.connectable||n&&u.connectable===void 0),y=!!(u.focusable||o&&u.focusable===void 0),x=t.nodeExtent?Ht(u.positionAbsolute,t.nodeExtent):u.positionAbsolute,b=(x==null?void 0:x.x)??0,N=(x==null?void 0:x.y)??0,p=ns({x:b,y:N,width:u.width??0,height:u.height??0,origin:t.nodeOrigin});return v.createElement(g,{key:u.id,id:u.id,className:u.className,style:u.style,type:r,data:u.data,sourcePosition:u.sourcePosition||W.Bottom,targetPosition:u.targetPosition||W.Top,hidden:u.hidden,xPos:b,yPos:N,xPosOrigin:p.x,yPosOrigin:p.y,selectNodesOnDrag:t.selectNodesOnDrag,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,selected:!!u.selected,isDraggable:h,isSelectable:m,isConnectable:f,isFocusable:y,resizeObserver:c,dragHandle:u.dragHandle,zIndex:((S=u[re])==null?void 0:S.z)??0,isParent:!!((k=u[re])!=null&&k.isParent),noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,initialized:!!u.width&&!!u.height,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,ariaLabel:u.ariaLabel,hasHandleBounds:!!((_=u[re])!=null&&_.handleBounds)})}))};ko.displayName="NodeRenderer";var rs=(0,v.memo)(ko),as=(t,e,n)=>n===W.Left?t-e:n===W.Right?t+e:t,is=(t,e,n)=>n===W.Top?t-e:n===W.Bottom?t+e:t,Mo="react-flow__edgeupdater",Oo=({position:t,centerX:e,centerY:n,radius:o=10,onMouseDown:i,onMouseEnter:l,onMouseOut:a,type:d})=>v.createElement("circle",{onMouseDown:i,onMouseEnter:l,onMouseOut:a,className:he([Mo,`${Mo}-${d}`]),cx:as(e,o,t),cy:is(n,o,t),r:o,stroke:"transparent",fill:"transparent"}),ss=()=>!0,Qe=t=>{let e=({id:n,className:o,type:i,data:l,onClick:a,onEdgeDoubleClick:d,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:f,style:y,source:x,target:b,sourceX:N,sourceY:p,targetX:S,targetY:k,sourcePosition:_,targetPosition:P,elementsSelectable:j,hidden:w,sourceHandleId:E,targetHandleId:O,onContextMenu:M,onMouseEnter:C,onMouseMove:R,onMouseLeave:L,reconnectRadius:H,onReconnect:F,onReconnectStart:D,onReconnectEnd:$,markerEnd:V,markerStart:X,rfId:Z,ariaLabel:U,isFocusable:I,isReconnectable:A,pathOptions:z,interactionWidth:T,disableKeyboardA11y:Y})=>{let G=(0,v.useRef)(null),[ee,ae]=(0,v.useState)(!1),[ge,oe]=(0,v.useState)(!1),Q=le(),de=(0,v.useMemo)(()=>`url('#${Ut(X,Z)}')`,[X,Z]),te=(0,v.useMemo)(()=>`url('#${Ut(V,Z)}')`,[V,Z]);if(w)return null;let K=ce=>{var Ee;let{edges:pe,addSelectedEdges:Pe,unselectNodesAndEdges:je,multiSelectionActive:Ie}=Q.getState(),be=pe.find(nt=>nt.id===n);be&&(j&&(Q.setState({nodesSelectionActive:!1}),be.selected&&Ie?(je({nodes:[],edges:[be]}),(Ee=G.current)==null||Ee.blur()):Pe([n])),a&&a(ce,be))},fe=it(n,Q.getState,d),Me=it(n,Q.getState,M),tt=it(n,Q.getState,C),ze=it(n,Q.getState,R),Le=it(n,Q.getState,L),we=(ce,pe)=>{if(ce.button!==0)return;let{edges:Pe,isValidConnection:je}=Q.getState(),Ie=pe?b:x,be=(pe?O:E)||null,Ee=pe?"target":"source",nt=je||ss,Mt=pe,ot=Pe.find(De=>De.id===n);oe(!0),D==null||D(ce,ot,Ee),Gn({event:ce,handleId:be,nodeId:Ie,onConnect:De=>F==null?void 0:F(ot,De),isTarget:Mt,getState:Q.getState,setState:Q.setState,isValidConnection:nt,edgeUpdaterType:Ee,onReconnectEnd:De=>{oe(!1),$==null||$(De,ot,Ee)}})},$e=ce=>we(ce,!0),Oe=ce=>we(ce,!1),_e=()=>ae(!0),Te=()=>ae(!1),He=!j&&!a;return v.createElement("g",{className:he(["react-flow__edge",`react-flow__edge-${i}`,o,{selected:s,animated:c,inactive:He,updating:ee}]),onClick:K,onDoubleClick:fe,onContextMenu:Me,onMouseEnter:tt,onMouseMove:ze,onMouseLeave:Le,onKeyDown:I?ce=>{var pe;if(!Y&&In.includes(ce.key)&&j){let{unselectNodesAndEdges:Pe,addSelectedEdges:je,edges:Ie}=Q.getState();ce.key==="Escape"?((pe=G.current)==null||pe.blur(),Pe({edges:[Ie.find(be=>be.id===n)]})):je([n])}}:void 0,tabIndex:I?0:void 0,role:I?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":U===null?void 0:U||`Edge from ${x} to ${b}`,"aria-describedby":I?`${io}-${Z}`:void 0,ref:G},!ge&&v.createElement(t,{id:n,source:x,target:b,selected:s,animated:c,label:u,labelStyle:r,labelShowBg:g,labelBgStyle:h,labelBgPadding:m,labelBgBorderRadius:f,data:l,style:y,sourceX:N,sourceY:p,targetX:S,targetY:k,sourcePosition:_,targetPosition:P,sourceHandleId:E,targetHandleId:O,markerStart:de,markerEnd:te,pathOptions:z,interactionWidth:T}),A&&v.createElement(v.Fragment,null,(A==="source"||A===!0)&&v.createElement(Oo,{position:_,centerX:N,centerY:p,radius:H,onMouseDown:$e,onMouseEnter:_e,onMouseOut:Te,type:"source"}),(A==="target"||A===!0)&&v.createElement(Oo,{position:P,centerX:S,centerY:k,radius:H,onMouseDown:Oe,onMouseEnter:_e,onMouseOut:Te,type:"target"})))};return e.displayName="EdgeWrapper",(0,v.memo)(e)};function ls(t){let e={default:Qe(t.default||wt),straight:Qe(t.bezier||Kt),step:Qe(t.step||Zt),smoothstep:Qe(t.step||bt),simplebezier:Qe(t.simplebezier||Wt)},n=Object.keys(t).filter(o=>!["default","bezier"].includes(o)).reduce((o,i)=>(o[i]=Qe(t[i]||wt),o),{});return{...e,...n}}function _o(t,e,n=null){let o=((n==null?void 0:n.x)||0)+e.x,i=((n==null?void 0:n.y)||0)+e.y,l=(n==null?void 0:n.width)||e.width,a=(n==null?void 0:n.height)||e.height;switch(t){case W.Top:return{x:o+l/2,y:i};case W.Right:return{x:o+l,y:i+a/2};case W.Bottom:return{x:o+l/2,y:i+a};case W.Left:return{x:o,y:i+a/2}}}function Po(t,e){return t?t.length===1||!e?t[0]:e&&t.find(n=>n.id===e)||null:null}var ds=(t,e,n,o,i,l)=>{let a=_o(n,t,e),d=_o(l,o,i);return{sourceX:a.x,sourceY:a.y,targetX:d.x,targetY:d.y}};function cs({sourcePos:t,targetPos:e,sourceWidth:n,sourceHeight:o,targetWidth:i,targetHeight:l,width:a,height:d,transform:s}){let c={x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x+n,e.x+i),y2:Math.max(t.y+o,e.y+l)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);let u=Vt({x:(0-s[0])/s[2],y:(0-s[1])/s[2],width:a/s[2],height:d/s[2]}),r=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),g=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(r*g)>0}function jo(t){var o,i,l,a,d;let e=((o=t==null?void 0:t[re])==null?void 0:o.handleBounds)||null,n=e&&(t==null?void 0:t.width)&&(t==null?void 0:t.height)&&((i=t==null?void 0:t.positionAbsolute)==null?void 0:i.x)!==void 0&&((l=t==null?void 0:t.positionAbsolute)==null?void 0:l.y)!==void 0;return[{x:((a=t==null?void 0:t.positionAbsolute)==null?void 0:a.x)||0,y:((d=t==null?void 0:t.positionAbsolute)==null?void 0:d.y)||0,width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0},e,!!n]}var us=[{level:0,isMaxLevel:!0,edges:[]}];function hs(t,e,n=!1){let o=-1,i=t.reduce((a,d)=>{var u,r;let s=me(d.zIndex),c=s?d.zIndex:0;if(n){let g=e.get(d.target),h=e.get(d.source),m=d.selected||(g==null?void 0:g.selected)||(h==null?void 0:h.selected),f=Math.max(((u=h==null?void 0:h[re])==null?void 0:u.z)||0,((r=g==null?void 0:g[re])==null?void 0:r.z)||0,1e3);c=(s?d.zIndex:0)+(m?f:0)}return a[c]?a[c].push(d):a[c]=[d],o=c>o?c:o,a},{}),l=Object.entries(i).map(([a,d])=>{let s=+a;return{edges:d,level:s,isMaxLevel:s===o}});return l.length===0?us:l}function gs(t,e,n){return hs(ne((0,v.useCallback)(o=>t?o.edges.filter(i=>{let l=e.get(i.source),a=e.get(i.target);return(l==null?void 0:l.width)&&(l==null?void 0:l.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&cs({sourcePos:l.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:l.width,sourceHeight:l.height,targetWidth:a.width,targetHeight:a.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[t,e])),e,n)}var fs=({color:t="none",strokeWidth:e=1})=>v.createElement("polyline",{style:{stroke:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),ps=({color:t="none",strokeWidth:e=1})=>v.createElement("polyline",{style:{stroke:t,fill:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Io={[vt.Arrow]:fs,[vt.ArrowClosed]:ps};function ms(t){let e=le();return(0,v.useMemo)(()=>{var n,o;return Object.prototype.hasOwnProperty.call(Io,t)?Io[t]:((o=(n=e.getState()).onError)==null||o.call(n,"009",xe.error009(t)),null)},[t])}var ys=({id:t,type:e,color:n,width:o=12.5,height:i=12.5,markerUnits:l="strokeWidth",strokeWidth:a,orient:d="auto-start-reverse"})=>{let s=ms(e);return s?v.createElement("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:d,refX:"0",refY:"0"},v.createElement(s,{color:n,strokeWidth:a})):null},vs=({defaultColor:t,rfId:e})=>n=>{let o=[];return n.edges.reduce((i,l)=>([l.markerStart,l.markerEnd].forEach(a=>{if(a&&typeof a=="object"){let d=Ut(a,e);o.includes(d)||(i.push({id:d,color:a.color||t,...a}),o.push(d))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))},Do=({defaultColor:t,rfId:e})=>{let n=ne((0,v.useCallback)(vs({defaultColor:t,rfId:e}),[t,e]),(o,i)=>!(o.length!==i.length||o.some((l,a)=>l.id!==i[a].id)));return v.createElement("defs",null,n.map(o=>v.createElement(ys,{id:o.id,key:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient})))};Do.displayName="MarkerDefinitions";var bs=(0,v.memo)(Do),xs=t=>({nodesConnectable:t.nodesConnectable,edgesFocusable:t.edgesFocusable,edgesUpdatable:t.edgesUpdatable,elementsSelectable:t.elementsSelectable,width:t.width,height:t.height,connectionMode:t.connectionMode,nodeInternals:t.nodeInternals,onError:t.onError}),Ro=({defaultMarkerColor:t,onlyRenderVisibleElements:e,elevateEdgesOnSelect:n,rfId:o,edgeTypes:i,noPanClassName:l,onEdgeContextMenu:a,onEdgeMouseEnter:d,onEdgeMouseMove:s,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:m,reconnectRadius:f,children:y,disableKeyboardA11y:x})=>{let{edgesFocusable:b,edgesUpdatable:N,elementsSelectable:p,width:S,height:k,connectionMode:_,nodeInternals:P,onError:j}=ne(xs,ue),w=gs(e,P,n);return S?v.createElement(v.Fragment,null,w.map(({level:E,edges:O,isMaxLevel:M})=>v.createElement("svg",{key:E,style:{zIndex:E},width:S,height:k,className:"react-flow__edges react-flow__container"},M&&v.createElement(bs,{defaultColor:t,rfId:o}),v.createElement("g",null,O.map(C=>{let[R,L,H]=jo(P.get(C.source)),[F,D,$]=jo(P.get(C.target));if(!H||!$)return null;let V=C.type||"default";i[V]||(j==null||j("011",xe.error011(V)),V="default");let X=i[V]||i.default,Z=_===We.Strict?D.target:(D.target??[]).concat(D.source??[]),U=Po(L.source,C.sourceHandle),I=Po(Z,C.targetHandle),A=(U==null?void 0:U.position)||W.Bottom,z=(I==null?void 0:I.position)||W.Top,T=!!(C.focusable||b&&C.focusable===void 0),Y=C.reconnectable||C.updatable,G=g!==void 0&&(Y||N&&Y===void 0);if(!U||!I)return j==null||j("008",xe.error008(U,C)),null;let{sourceX:ee,sourceY:ae,targetX:ge,targetY:oe}=ds(R,U,A,F,I,z);return v.createElement(X,{key:C.id,id:C.id,className:he([C.className,l]),type:V,data:C.data,selected:!!C.selected,animated:!!C.animated,hidden:!!C.hidden,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,style:C.style,source:C.source,target:C.target,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerEnd:C.markerEnd,markerStart:C.markerStart,sourceX:ee,sourceY:ae,targetX:ge,targetY:oe,sourcePosition:A,targetPosition:z,elementsSelectable:p,onContextMenu:a,onMouseEnter:d,onMouseMove:s,onMouseLeave:c,onClick:u,onEdgeDoubleClick:r,onReconnect:g,onReconnectStart:h,onReconnectEnd:m,reconnectRadius:f,rfId:o,ariaLabel:C.ariaLabel,isFocusable:T,isReconnectable:G,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth,disableKeyboardA11y:x})})))),y):null};Ro.displayName="EdgeRenderer";var ws=(0,v.memo)(Ro),Es=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function Ss({children:t}){let e=ne(Es);return v.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:e}},t)}function Cs(t){let e=lt(),n=(0,v.useRef)(!1);(0,v.useEffect)(()=>{!n.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),n.current=!0)},[t,e.viewportInitialized])}var Ns={[W.Left]:W.Right,[W.Right]:W.Left,[W.Top]:W.Bottom,[W.Bottom]:W.Top},Ao=({nodeId:t,handleType:e,style:n,type:o=Ae.Bezier,CustomComponent:i,connectionStatus:l})=>{var k,_,P;let{fromNode:a,handleId:d,toX:s,toY:c,connectionMode:u}=ne((0,v.useCallback)(j=>({fromNode:j.nodeInternals.get(t),handleId:j.connectionHandleId,toX:(j.connectionPosition.x-j.transform[0])/j.transform[2],toY:(j.connectionPosition.y-j.transform[1])/j.transform[2],connectionMode:j.connectionMode}),[t]),ue),r=(k=a==null?void 0:a[re])==null?void 0:k.handleBounds,g=r==null?void 0:r[e];if(u===We.Loose&&(g||(g=r==null?void 0:r[e==="source"?"target":"source"])),!a||!g)return null;let h=d?g.find(j=>j.id===d):g[0],m=h?h.x+h.width/2:(a.width??0)/2,f=h?h.y+h.height/2:a.height??0,y=(((_=a.positionAbsolute)==null?void 0:_.x)??0)+m,x=(((P=a.positionAbsolute)==null?void 0:P.y)??0)+f,b=h==null?void 0:h.position,N=b?Ns[b]:null;if(!b||!N)return null;if(i)return v.createElement(i,{connectionLineType:o,connectionLineStyle:n,fromNode:a,fromHandle:h,fromX:y,fromY:x,toX:s,toY:c,fromPosition:b,toPosition:N,connectionStatus:l});let p="",S={sourceX:y,sourceY:x,sourcePosition:b,targetX:s,targetY:c,targetPosition:N};return o===Ae.Bezier?[p]=Hn(S):o===Ae.Step?[p]=Yt({...S,borderRadius:0}):o===Ae.SmoothStep?[p]=Yt(S):o===Ae.SimpleBezier?[p]=zn(S):p=`M${y},${x} ${s},${c}`,v.createElement("path",{d:p,fill:"none",className:"react-flow__connection-path",style:n})};Ao.displayName="ConnectionLine";var ks=t=>({nodeId:t.connectionNodeId,handleType:t.connectionHandleType,nodesConnectable:t.nodesConnectable,connectionStatus:t.connectionStatus,width:t.width,height:t.height});function Ms({containerStyle:t,style:e,type:n,component:o}){let{nodeId:i,handleType:l,nodesConnectable:a,width:d,height:s,connectionStatus:c}=ne(ks,ue);return i&&l&&d&&a?v.createElement("svg",{style:t,width:d,height:s,className:"react-flow__edges react-flow__connectionline react-flow__container"},v.createElement("g",{className:he(["react-flow__connection",c])},v.createElement(Ao,{nodeId:i,handleType:l,style:e,type:n,CustomComponent:o,connectionStatus:c}))):null}function Bo(t,e){return(0,v.useRef)(null),le(),(0,v.useMemo)(()=>e(t),[t])}var zo=({nodeTypes:t,edgeTypes:e,onMove:n,onMoveStart:o,onMoveEnd:i,onInit:l,onNodeClick:a,onEdgeClick:d,onNodeDoubleClick:s,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,onSelectionContextMenu:m,onSelectionStart:f,onSelectionEnd:y,connectionLineType:x,connectionLineStyle:b,connectionLineComponent:N,connectionLineContainerStyle:p,selectionKeyCode:S,selectionOnDrag:k,selectionMode:_,multiSelectionKeyCode:P,panActivationKeyCode:j,zoomActivationKeyCode:w,deleteKeyCode:E,onlyRenderVisibleElements:O,elementsSelectable:M,selectNodesOnDrag:C,defaultViewport:R,translateExtent:L,minZoom:H,maxZoom:F,preventScrolling:D,defaultMarkerColor:$,zoomOnScroll:V,zoomOnPinch:X,panOnScroll:Z,panOnScrollSpeed:U,panOnScrollMode:I,zoomOnDoubleClick:A,panOnDrag:z,onPaneClick:T,onPaneMouseEnter:Y,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneScroll:ae,onPaneContextMenu:ge,onEdgeContextMenu:oe,onEdgeMouseEnter:Q,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:fe,onReconnectEnd:Me,reconnectRadius:tt,noDragClassName:ze,noWheelClassName:Le,noPanClassName:we,elevateEdgesOnSelect:$e,disableKeyboardA11y:Oe,nodeOrigin:_e,nodeExtent:Te,rfId:He})=>{let ce=Bo(t,ts),pe=Bo(e,ls);return Cs(l),v.createElement(Qi,{onPaneClick:T,onPaneMouseEnter:Y,onPaneMouseMove:G,onPaneMouseLeave:ee,onPaneContextMenu:ge,onPaneScroll:ae,deleteKeyCode:E,selectionKeyCode:S,selectionOnDrag:k,selectionMode:_,onSelectionStart:f,onSelectionEnd:y,multiSelectionKeyCode:P,panActivationKeyCode:j,zoomActivationKeyCode:w,elementsSelectable:M,onMove:n,onMoveStart:o,onMoveEnd:i,zoomOnScroll:V,zoomOnPinch:X,zoomOnDoubleClick:A,panOnScroll:Z,panOnScrollSpeed:U,panOnScrollMode:I,panOnDrag:z,defaultViewport:R,translateExtent:L,minZoom:H,maxZoom:F,onSelectionContextMenu:m,preventScrolling:D,noDragClassName:ze,noWheelClassName:Le,noPanClassName:we,disableKeyboardA11y:Oe},v.createElement(Ss,null,v.createElement(ws,{edgeTypes:pe,onEdgeClick:d,onEdgeDoubleClick:c,onlyRenderVisibleElements:O,onEdgeContextMenu:oe,onEdgeMouseEnter:Q,onEdgeMouseMove:de,onEdgeMouseLeave:te,onReconnect:K,onReconnectStart:fe,onReconnectEnd:Me,reconnectRadius:tt,defaultMarkerColor:$,noPanClassName:we,elevateEdgesOnSelect:!!$e,disableKeyboardA11y:Oe,rfId:He},v.createElement(Ms,{style:b,type:x,component:N,containerStyle:p})),v.createElement("div",{className:"react-flow__edgelabel-renderer"}),v.createElement(rs,{nodeTypes:ce,onNodeClick:a,onNodeDoubleClick:s,onNodeMouseEnter:u,onNodeMouseMove:r,onNodeMouseLeave:g,onNodeContextMenu:h,selectNodesOnDrag:C,onlyRenderVisibleElements:O,noPanClassName:we,noDragClassName:ze,disableKeyboardA11y:Oe,nodeOrigin:_e,nodeExtent:Te,rfId:He})))};zo.displayName="GraphView";var Os=(0,v.memo)(zo),cn=[[-1/0,-1/0],[1/0,1/0]],ke={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:cn,nodeExtent:cn,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:We.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:ni,isValidConnection:void 0},_s=()=>Xa((t,e)=>({...ke,setNodes:n=>{let{nodeInternals:o,nodeOrigin:i,elevateNodesOnSelect:l}=e();t({nodeInternals:on(n,o,i,l)})},getNodes:()=>Array.from(e().nodeInternals.values()),setEdges:n=>{let{defaultEdgeOptions:o={}}=e();t({edges:n.map(i=>({...o,...i}))})},setDefaultNodesAndEdges:(n,o)=>{let i=n!==void 0,l=o!==void 0;t({nodeInternals:i?on(n,new Map,e().nodeOrigin,e().elevateNodesOnSelect):new Map,edges:l?o:[],hasDefaultNodes:i,hasDefaultEdges:l})},updateNodeDimensions:n=>{let{onNodesChange:o,nodeInternals:i,fitViewOnInit:l,fitViewOnInitDone:a,fitViewOnInitOptions:d,domNode:s,nodeOrigin:c}=e(),u=s==null?void 0:s.querySelector(".react-flow__viewport");if(!u)return;let r=window.getComputedStyle(u),{m22:g}=new window.DOMMatrixReadOnly(r.transform),h=n.reduce((f,y)=>{let x=i.get(y.id);if(x!=null&&x.hidden)i.set(x.id,{...x,[re]:{...x[re],handleBounds:void 0}});else if(x){let b=Tt(y.nodeElement);b.width&&b.height&&(x.width!==b.width||x.height!==b.height||y.forceUpdate)&&(i.set(x.id,{...x,[re]:{...x[re],handleBounds:{source:Eo(".source",y.nodeElement,g,c),target:Eo(".target",y.nodeElement,g,c)}},...b}),f.push({id:x.id,type:"dimensions",dimensions:b}))}return f},[]);uo(i,c);let m=a||l&&!a&&ho(e,{initial:!0,...d});t({nodeInternals:new Map(i),fitViewOnInitDone:m}),(h==null?void 0:h.length)>0&&(o==null||o(h))},updateNodePositions:(n,o=!0,i=!1)=>{let{triggerNodeChanges:l}=e();l(n.map(a=>{let d={id:a.id,type:"position",dragging:i};return o&&(d.positionAbsolute=a.positionAbsolute,d.position=a.position),d}))},triggerNodeChanges:n=>{let{onNodesChange:o,nodeInternals:i,hasDefaultNodes:l,nodeOrigin:a,getNodes:d,elevateNodesOnSelect:s}=e();n!=null&&n.length&&(l&&t({nodeInternals:on(yo(n,d()),i,a,s)}),o==null||o(n))},addSelectedNodes:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>Ne(s,!0)):(a=qe(l(),n),d=qe(i,[])),St({changedNodes:a,changedEdges:d,get:e,set:t})},addSelectedEdges:n=>{let{multiSelectionActive:o,edges:i,getNodes:l}=e(),a,d=null;o?a=n.map(s=>Ne(s,!0)):(a=qe(i,n),d=qe(l(),[])),St({changedNodes:d,changedEdges:a,get:e,set:t})},unselectNodesAndEdges:({nodes:n,edges:o}={})=>{let{edges:i,getNodes:l}=e(),a=n||l(),d=o||i;St({changedNodes:a.map(s=>(s.selected=!1,Ne(s.id,!1))),changedEdges:d.map(s=>Ne(s.id,!1)),get:e,set:t})},setMinZoom:n=>{let{d3Zoom:o,maxZoom:i}=e();o==null||o.scaleExtent([n,i]),t({minZoom:n})},setMaxZoom:n=>{let{d3Zoom:o,minZoom:i}=e();o==null||o.scaleExtent([i,n]),t({maxZoom:n})},setTranslateExtent:n=>{var o;(o=e().d3Zoom)==null||o.translateExtent(n),t({translateExtent:n})},resetSelectedElements:()=>{let{edges:n,getNodes:o}=e();St({changedNodes:o().filter(i=>i.selected).map(i=>Ne(i.id,!1)),changedEdges:n.filter(i=>i.selected).map(i=>Ne(i.id,!1)),get:e,set:t})},setNodeExtent:n=>{let{nodeInternals:o}=e();o.forEach(i=>{i.positionAbsolute=Ht(i.position,n)}),t({nodeExtent:n,nodeInternals:new Map(o)})},panBy:n=>{let{transform:o,width:i,height:l,d3Zoom:a,d3Selection:d,translateExtent:s}=e();if(!a||!d||!n.x&&!n.y)return!1;let c=Xe.translate(o[0]+n.x,o[1]+n.y).scale(o[2]),u=[[0,0],[i,l]],r=a==null?void 0:a.constrain()(c,u,s);return a.transform(d,r),o[0]!==r.x||o[1]!==r.y||o[2]!==r.k},cancelConnection:()=>t({connectionNodeId:ke.connectionNodeId,connectionHandleId:ke.connectionHandleId,connectionHandleType:ke.connectionHandleType,connectionStatus:ke.connectionStatus,connectionStartHandle:ke.connectionStartHandle,connectionEndHandle:ke.connectionEndHandle}),reset:()=>t({...ke})}),Object.is),un=({children:t})=>{let e=(0,v.useRef)(null);return e.current||(e.current=_s()),v.createElement(Ga,{value:e.current},t)};un.displayName="ReactFlowProvider";var Lo=({children:t})=>(0,v.useContext)(ft)?v.createElement(v.Fragment,null,t):v.createElement(un,null,t);Lo.displayName="ReactFlowWrapper";var Ps={input:eo,default:tn,output:no,group:nn},js={default:wt,straight:Kt,step:Zt,smoothstep:bt,simplebezier:Wt},Is=[0,0],Ds=[15,15],Rs={x:0,y:0,zoom:1},As={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},$o=(0,v.forwardRef)(({nodes:t,edges:e,defaultNodes:n,defaultEdges:o,className:i,nodeTypes:l=Ps,edgeTypes:a=js,onNodeClick:d,onEdgeClick:s,onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onConnect:h,onConnectStart:m,onConnectEnd:f,onClickConnectStart:y,onClickConnectEnd:x,onNodeMouseEnter:b,onNodeMouseMove:N,onNodeMouseLeave:p,onNodeContextMenu:S,onNodeDoubleClick:k,onNodeDragStart:_,onNodeDrag:P,onNodeDragStop:j,onNodesDelete:w,onEdgesDelete:E,onSelectionChange:O,onSelectionDragStart:M,onSelectionDrag:C,onSelectionDragStop:R,onSelectionContextMenu:L,onSelectionStart:H,onSelectionEnd:F,connectionMode:D=We.Strict,connectionLineType:$=Ae.Bezier,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:Z,deleteKeyCode:U="Backspace",selectionKeyCode:I="Shift",selectionOnDrag:A=!1,selectionMode:z=yt.Full,panActivationKeyCode:T="Space",multiSelectionKeyCode:Y=mt()?"Meta":"Control",zoomActivationKeyCode:G=mt()?"Meta":"Control",snapToGrid:ee=!1,snapGrid:ae=Ds,onlyRenderVisibleElements:ge=!1,selectNodesOnDrag:oe=!0,nodesDraggable:Q,nodesConnectable:de,nodesFocusable:te,nodeOrigin:K=Is,edgesFocusable:fe,edgesUpdatable:Me,elementsSelectable:tt,defaultViewport:ze=Rs,minZoom:Le=.5,maxZoom:we=2,translateExtent:$e=cn,preventScrolling:Oe=!0,nodeExtent:_e,defaultMarkerColor:Te="#b1b1b7",zoomOnScroll:He=!0,zoomOnPinch:ce=!0,panOnScroll:pe=!1,panOnScrollSpeed:Pe=.5,panOnScrollMode:je=Ye.Free,zoomOnDoubleClick:Ie=!0,panOnDrag:be=!0,onPaneClick:Ee,onPaneMouseEnter:nt,onPaneMouseMove:Mt,onPaneMouseLeave:ot,onPaneScroll:De,onPaneContextMenu:ir,children:sr,onEdgeContextMenu:lr,onEdgeDoubleClick:dr,onEdgeMouseEnter:cr,onEdgeMouseMove:ur,onEdgeMouseLeave:hr,onEdgeUpdate:gr,onEdgeUpdateStart:fr,onEdgeUpdateEnd:pr,onReconnect:mr,onReconnectStart:yr,onReconnectEnd:vr,reconnectRadius:br=10,edgeUpdaterRadius:xr=10,onNodesChange:wr,onEdgesChange:Er,noDragClassName:Sr="nodrag",noWheelClassName:Cr="nowheel",noPanClassName:mn="nopan",fitView:Nr=!1,fitViewOptions:kr,connectOnClick:Mr=!0,attributionPosition:Or,proOptions:_r,defaultEdgeOptions:Pr,elevateNodesOnSelect:jr=!0,elevateEdgesOnSelect:Ir=!1,disableKeyboardA11y:yn=!1,autoPanOnConnect:Dr=!0,autoPanOnNodeDrag:Rr=!0,connectionRadius:Ar=20,isValidConnection:Br,onError:zr,style:Lr,id:vn,nodeDragThreshold:$r,...Tr},Hr)=>{let Ot=vn||"1";return v.createElement("div",{...Tr,style:{...Lr,...As},ref:Hr,className:he(["react-flow",i]),"data-testid":"rf__wrapper",id:vn},v.createElement(Lo,null,v.createElement(Os,{onInit:c,onMove:u,onMoveStart:r,onMoveEnd:g,onNodeClick:d,onEdgeClick:s,onNodeMouseEnter:b,onNodeMouseMove:N,onNodeMouseLeave:p,onNodeContextMenu:S,onNodeDoubleClick:k,nodeTypes:l,edgeTypes:a,connectionLineType:$,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:Z,selectionKeyCode:I,selectionOnDrag:A,selectionMode:z,deleteKeyCode:U,multiSelectionKeyCode:Y,panActivationKeyCode:T,zoomActivationKeyCode:G,onlyRenderVisibleElements:ge,selectNodesOnDrag:oe,defaultViewport:ze,translateExtent:$e,minZoom:Le,maxZoom:we,preventScrolling:Oe,zoomOnScroll:He,zoomOnPinch:ce,zoomOnDoubleClick:Ie,panOnScroll:pe,panOnScrollSpeed:Pe,panOnScrollMode:je,panOnDrag:be,onPaneClick:Ee,onPaneMouseEnter:nt,onPaneMouseMove:Mt,onPaneMouseLeave:ot,onPaneScroll:De,onPaneContextMenu:ir,onSelectionContextMenu:L,onSelectionStart:H,onSelectionEnd:F,onEdgeContextMenu:lr,onEdgeDoubleClick:dr,onEdgeMouseEnter:cr,onEdgeMouseMove:ur,onEdgeMouseLeave:hr,onReconnect:mr??gr,onReconnectStart:yr??fr,onReconnectEnd:vr??pr,reconnectRadius:br??xr,defaultMarkerColor:Te,noDragClassName:Sr,noWheelClassName:Cr,noPanClassName:mn,elevateEdgesOnSelect:Ir,rfId:Ot,disableKeyboardA11y:yn,nodeOrigin:K,nodeExtent:_e}),v.createElement(Ni,{nodes:t,edges:e,defaultNodes:n,defaultEdges:o,onConnect:h,onConnectStart:m,onConnectEnd:f,onClickConnectStart:y,onClickConnectEnd:x,nodesDraggable:Q,nodesConnectable:de,nodesFocusable:te,edgesFocusable:fe,edgesUpdatable:Me,elementsSelectable:tt,elevateNodesOnSelect:jr,minZoom:Le,maxZoom:we,nodeExtent:_e,onNodesChange:wr,onEdgesChange:Er,snapToGrid:ee,snapGrid:ae,connectionMode:D,translateExtent:$e,connectOnClick:Mr,defaultEdgeOptions:Pr,fitView:Nr,fitViewOptions:kr,onNodesDelete:w,onEdgesDelete:E,onNodeDragStart:_,onNodeDrag:P,onNodeDragStop:j,onSelectionDrag:C,onSelectionDragStart:M,onSelectionDragStop:R,noPanClassName:mn,nodeOrigin:K,rfId:Ot,autoPanOnConnect:Dr,autoPanOnNodeDrag:Rr,onError:zr,connectionRadius:Ar,isValidConnection:Br,nodeDragThreshold:$r}),v.createElement(Si,{onSelectionChange:O}),sr,v.createElement(qa,{proOptions:_r,position:Or}),v.createElement(Pi,{rfId:Ot,disableKeyboardA11y:yn})))});$o.displayName="ReactFlow";function To(t){return e=>{let[n,o]=(0,v.useState)(e);return[n,o,(0,v.useCallback)(i=>o(l=>t(i,l)),[])]}}var Bs=To(yo),zs=To(Fi);function Ls(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},v.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function $s(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},v.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Ts(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},v.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 Hs(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},v.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 Vs(){return v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},v.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"}))}var et=({children:t,className:e,...n})=>v.createElement("button",{type:"button",className:he(["react-flow__controls-button",e]),...n},t);et.displayName="ControlButton";var Xs=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom}),Ho=({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:i,onZoomIn:l,onZoomOut:a,onFitView:d,onInteractiveChange:s,className:c,children:u,position:r="bottom-left"})=>{let g=le(),[h,m]=(0,v.useState)(!1),{isInteractive:f,minZoomReached:y,maxZoomReached:x}=ne(Xs,ue),{zoomIn:b,zoomOut:N,fitView:p}=lt();if((0,v.useEffect)(()=>{m(!0)},[]),!h)return null;let S=()=>{b(),l==null||l()},k=()=>{N(),a==null||a()},_=()=>{p(i),d==null||d()},P=()=>{g.setState({nodesDraggable:!f,nodesConnectable:!f,elementsSelectable:!f}),s==null||s(!f)};return v.createElement(pt,{className:he(["react-flow__controls",c]),position:r,style:t,"data-testid":"rf__controls"},e&&v.createElement(v.Fragment,null,v.createElement(et,{onClick:S,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:x},v.createElement(Ls,null)),v.createElement(et,{onClick:k,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:y},v.createElement($s,null))),n&&v.createElement(et,{className:"react-flow__controls-fitview",onClick:_,title:"fit view","aria-label":"fit view"},v.createElement(Ts,null)),o&&v.createElement(et,{className:"react-flow__controls-interactive",onClick:P,title:"toggle interactivity","aria-label":"toggle interactivity"},f?v.createElement(Vs,null):v.createElement(Hs,null)),u)};Ho.displayName="Controls";var Fs=(0,v.memo)(Ho),ye;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(ye||(ye={}));function Ws({color:t,dimensions:e,lineWidth:n}){return v.createElement("path",{stroke:t,strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})}function Ys({color:t,radius:e}){return v.createElement("circle",{cx:e,cy:e,r:e,fill:t})}var Zs={[ye.Dots]:"#91919a",[ye.Lines]:"#eee",[ye.Cross]:"#e2e2e2"},Ks={[ye.Dots]:1,[ye.Lines]:1,[ye.Cross]:6},Gs=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Vo({id:t,variant:e=ye.Dots,gap:n=20,size:o,lineWidth:i=1,offset:l=2,color:a,style:d,className:s}){let c=(0,v.useRef)(null),{transform:u,patternId:r}=ne(Gs,ue),g=a||Zs[e],h=o||Ks[e],m=e===ye.Dots,f=e===ye.Cross,y=Array.isArray(n)?n:[n,n],x=[y[0]*u[2]||1,y[1]*u[2]||1],b=h*u[2],N=f?[b,b]:x,p=m?[b/l,b/l]:[N[0]/l,N[1]/l];return v.createElement("svg",{className:he(["react-flow__background",s]),style:{...d,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},v.createElement("pattern",{id:r+t,x:u[0]%x[0],y:u[1]%x[1],width:x[0],height:x[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${p[0]},-${p[1]})`},m?v.createElement(Ys,{color:g,radius:b/l}):v.createElement(Ws,{dimensions:N,color:g,lineWidth:i})),v.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${r+t})`}))}Vo.displayName="Background";var Us=(0,v.memo)(Vo),qs=Re();function Xo(t){return Math.min(t*11+35,200)}const hn="outputs",gn="inputs";var Js=class{createEdge(t,e){return{animated:!0,markerEnd:{type:vt.ArrowClosed},id:`${t}-${e}`,style:{strokeWidth:2},source:t,sourceHandle:hn,targetHandle:gn,target:e}}createNode(t,e){let n=Pt.get(e).code.trim().split(`
2
2
  `).length,o=Xo(n);return{id:t,data:{atom:e,forceWidth:300},width:300,type:"custom",height:o,position:{x:0,y:0}}}createElements(t,e,n,o){let i=[],l=[],a=new Set,d=new Set;for(let s of Object.values(n)){if(s.value==="marimo"&&s.name==="mo")continue;let{declaredBy:c,usedBy:u}=s;for(let r of c)for(let g of u){let h=`${r}-${g}`;d.has(h)||(d.add(h),a.add(r),a.add(g),l.push(this.createEdge(r,g)))}}for(let[s,c]of aa.zip(t,e)){o||i.push(this.createNode(s,c));let u=a.has(s),r=Pt.get(c).code.trim().startsWith("mo.md");(u||!r)&&i.push(this.createNode(s,c))}return{nodes:i,edges:l}}},B=_t(oa(),1);function Qs(t){return Math.min(Math.max(t-100,100),400)}const Fo=v.createContext("LR"),Wo=(0,v.memo)(t=>{let e=(0,qs.c)(51),{data:n,selected:o}=t,i=It(n.atom),l=Dt().inOrderIds.indexOf(i.id),a=o?"var(--gray-9)":"var(--gray-3)",d=ne(tl),s=(0,v.use)(Fo),c,u,r,g;if(e[0]!==i.code||e[1]!==a||e[2]!==s||e[3]!==o){let w=i.code.split(`
3
3
  `).length,E=s==="LR"?W.Left:W.Top,O;e[8]===a?O=e[9]:(O={background:a},e[8]=a,e[9]=O),e[10]!==E||e[11]!==O?(r=(0,B.jsx)(Ce,{type:"target",id:gn,"data-testid":"input-one",position:E,style:O}),e[10]=E,e[11]=O,e[12]=r):r=e[12];let M=s==="LR"?W.Left:W.Top,C;e[13]===a?C=e[14]:(C={background:a},e[13]=a,e[14]=C),e[15]!==M||e[16]!==C?(g=(0,B.jsx)(Ce,{type:"source",id:gn,"data-testid":"input-two",position:M,style:C}),e[15]=M,e[16]=C,e[17]=g):g=e[17];let R=o&&"border-primary";e[18]===R?u=e[19]:(u=Ve("flex flex-col bg-card border border-input/50 rounded-md mx-[2px] overflow-hidden",R),e[18]=R,e[19]=u),c=Xo(w),e[0]=i.code,e[1]=a,e[2]=s,e[3]=o,e[4]=c,e[5]=u,e[6]=r,e[7]=g}else c=e[4],u=e[5],r=e[6],g=e[7];let h;e[20]!==n.forceWidth||e[21]!==d?(h=n.forceWidth||Qs(d),e[20]=n.forceWidth,e[21]=d,e[22]=h):h=e[22];let m;e[23]!==c||e[24]!==h?(m={height:c,width:h},e[23]=c,e[24]=h,e[25]=m):m=e[25];let f=ea(i.name,l),y;e[26]===f?y=e[27]:(y=(0,B.jsx)("div",{className:"text-muted-foreground font-semibold text-xs py-1 px-2 bg-muted border-b",children:f}),e[26]=f,e[27]=y);let x;e[28]===i.code?x=e[29]:(x=(0,B.jsx)(Da,{code:i.code}),e[28]=i.code,e[29]=x);let b;e[30]!==u||e[31]!==m||e[32]!==y||e[33]!==x?(b=(0,B.jsxs)("div",{className:u,style:m,children:[y,x]}),e[30]=u,e[31]=m,e[32]=y,e[33]=x,e[34]=b):b=e[34];let N=s==="LR"?W.Right:W.Bottom,p;e[35]===a?p=e[36]:(p={background:a},e[35]=a,e[36]=p);let S;e[37]!==N||e[38]!==p?(S=(0,B.jsx)(Ce,{type:"source",id:hn,"data-testid":"output-one",position:N,style:p}),e[37]=N,e[38]=p,e[39]=S):S=e[39];let k=s==="LR"?W.Right:W.Bottom,_;e[40]===a?_=e[41]:(_={background:a},e[40]=a,e[41]=_);let P;e[42]!==k||e[43]!==_?(P=(0,B.jsx)(Ce,{type:"target",id:hn,"data-testid":"output-two",position:k,style:_}),e[42]=k,e[43]=_,e[44]=P):P=e[44];let j;return e[45]!==b||e[46]!==S||e[47]!==P||e[48]!==r||e[49]!==g?(j=(0,B.jsxs)("div",{children:[r,g,b,S,P]}),e[45]=b,e[46]=S,e[47]=P,e[48]=r,e[49]=g,e[50]=j):j=e[50],j},(t,e)=>["data","selected","id"].every(n=>t[n]===e[n]));Wo.displayName="CustomNode";const el={custom:Wo};function tl(t){let{width:e}=t;return e}var Yo=Re();const Zo=(0,v.memo)(t=>{let e=(0,Yo.c)(34),{onChange:n,view:o,settings:i,onSettingsChange:l}=t,a;e[0]!==l||e[1]!==i?(a=(w,E)=>{l({...i,[w]:E})},e[0]=l,e[1]=i,e[2]=a):a=e[2];let d=a,s=(0,v.useId)(),c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,B.jsx)(ya,{asChild:!0,children:(0,B.jsx)(rt,{variant:"text",size:"xs",children:(0,B.jsx)(ga,{className:"w-4 h-4"})})}),e[3]=c):c=e[3];let u;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,B.jsx)("div",{className:"font-semibold pb-4",children:"Settings"}),e[4]=u):u=e[4];let r;e[5]===d?r=e[6]:(r=w=>d("hidePureMarkdown",!!w),e[5]=d,e[6]=r);let g;e[7]!==s||e[8]!==i.hidePureMarkdown||e[9]!==r?(g=(0,B.jsx)(Gr,{"data-testid":"hide-pure-markdown-checkbox",id:s,checked:i.hidePureMarkdown,onCheckedChange:r}),e[7]=s,e[8]=i.hidePureMarkdown,e[9]=r,e[10]=g):g=e[10];let h;e[11]===s?h=e[12]:(h=(0,B.jsx)(Ma,{htmlFor:s,children:"Hide pure markdown"}),e[11]=s,e[12]=h);let m;e[13]!==g||e[14]!==h?(m=(0,B.jsxs)(wa,{children:[c,(0,B.jsxs)(ba,{className:"w-auto p-2 text-muted-foreground",children:[u,(0,B.jsxs)("div",{className:"flex items-center gap-2",children:[g,h]})]})]}),e[13]=g,e[14]=h,e[15]=m):m=e[15];let f=m,y=o==="TB",x;e[16]===n?x=e[17]:(x=()=>n("TB"),e[16]=n,e[17]=x);let b;e[18]===Symbol.for("react.memo_cache_sentinel")?(b=(0,B.jsx)(xn,{className:"w-4 h-4 mr-1"}),e[18]=b):b=e[18];let N;e[19]!==y||e[20]!==x?(N=(0,B.jsxs)(rt,{variant:"outline",className:"bg-background","aria-selected":y,size:"xs",onClick:x,children:[b,"Vertical Tree"]}),e[19]=y,e[20]=x,e[21]=N):N=e[21];let p=o==="LR",S;e[22]===n?S=e[23]:(S=()=>n("LR"),e[22]=n,e[23]=S);let k;e[24]===Symbol.for("react.memo_cache_sentinel")?(k=(0,B.jsx)(xn,{className:"w-4 h-4 mr-1 transform -rotate-90"}),e[24]=k):k=e[24];let _;e[25]!==p||e[26]!==S?(_=(0,B.jsxs)(rt,{variant:"outline",className:"bg-background","aria-selected":p,size:"xs",onClick:S,children:[k," ","Horizontal Tree"]}),e[25]=p,e[26]=S,e[27]=_):_=e[27];let P;e[28]!==N||e[29]!==_?(P=(0,B.jsxs)("div",{className:"flex gap-2",children:[N,_]}),e[28]=N,e[29]=_,e[30]=P):P=e[30];let j;return e[31]!==f||e[32]!==P?(j=(0,B.jsxs)(pt,{position:"top-right",className:"flex flex-col items-end gap-2",children:[P,f]}),e[31]=f,e[32]=P,e[33]=j):j=e[33],j});Zo.displayName="GraphToolbar";const Ko=(0,v.memo)(t=>{let e=(0,Yo.c)(11),{selection:n,variables:o,onClearSelection:i}=t;if(!n)return null;let l=nl,a;e[0]!==i||e[1]!==n.id||e[2]!==n.source||e[3]!==n.target||e[4]!==n.type||e[5]!==o?(a=()=>{if(n.type==="node"){let u=Object.values(o).filter(h=>h.usedBy.includes(n.id)),r=Object.values(o).filter(h=>h.declaredBy.includes(n.id)),g=(h,m)=>(0,B.jsxs)(B.Fragment,{children:[h.length===0&&(0,B.jsx)("div",{className:"text-muted-foreground text-sm text-center",children:"--"}),(0,B.jsx)("div",{className:"grid grid-cols-5 gap-3 items-center text-sm py-1 flex-1 empty:hidden",children:h.map(f=>(0,B.jsxs)(v.Fragment,{children:[(0,B.jsx)(Cn,{declaredBy:f.declaredBy,name:f.name}),(0,B.jsxs)("div",{className:"truncate col-span-2",title:f.value??"",children:[f.value,(0,B.jsxs)("span",{className:"ml-1 truncate text-foreground/60 font-mono",children:["(",f.dataType,")"]})]}),(0,B.jsx)("div",{className:"truncate col-span-2 gap-1 items-center",children:(0,B.jsx)(Ra,{skipScroll:!0,onClick:()=>l(m==="in"?f.declaredBy[0]:f.usedBy[0],f.name),maxCount:3,cellIds:f.usedBy})})]},f.name))})]});return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)("div",{className:"font-bold py-2 flex items-center gap-2 border-b px-3",children:[(0,B.jsx)(fa,{className:"w-5 h-5"}),(0,B.jsx)(At,{cellId:n.id}),(0,B.jsx)("div",{className:"flex-1"}),(0,B.jsx)(sa,{cellId:n.id,children:(0,B.jsx)(rt,{variant:"ghost",size:"icon",children:(0,B.jsx)(ha,{className:"w-4 h-4"})})}),(0,B.jsx)(rt,{variant:"text",size:"icon",onClick:()=>{i()},children:(0,B.jsx)(da,{className:"w-4 h-4"})})]}),(0,B.jsxs)("div",{className:"text-sm flex flex-col py-3 pl-2 pr-4 flex-1 justify-center",children:[(0,B.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,B.jsxs)("span",{className:"flex items-center gap-2 font-semibold",children:[(0,B.jsx)(Ba,{className:"w-4 h-4"}),"Outputs"]}),g(r,"out")]}),(0,B.jsx)("hr",{className:"border-divider my-3"}),(0,B.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,B.jsxs)("span",{className:"flex items-center gap-2 font-semibold",children:[(0,B.jsx)(za,{className:"w-4 h-4"}),"Inputs"]}),g(u,"in")]})]})]})}if(n.type==="edge"){let u=Object.values(o).filter(r=>r.declaredBy.includes(n.source)&&r.usedBy.includes(n.target));return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)("div",{className:"font-bold py-2 flex items-center gap-2 border-b px-3",children:[(0,B.jsx)(pa,{className:"w-4 h-4"}),(0,B.jsx)(At,{cellId:n.source}),(0,B.jsx)(ia,{className:"w-4 h-4"}),(0,B.jsx)(At,{cellId:n.target})]}),(0,B.jsx)("div",{className:"grid grid-cols-4 gap-3 max-w-[350px] items-center text-sm p-3 flex-1",children:u.map(r=>(0,B.jsxs)(v.Fragment,{children:[(0,B.jsx)(Cn,{declaredBy:r.declaredBy,name:r.name,onClick:()=>{l(r.declaredBy[0],r.name)}}),(0,B.jsx)("div",{className:"truncate text-foreground/60 font-mono",children:r.dataType}),(0,B.jsx)("div",{className:"truncate col-span-2",title:r.value??"",children:r.value})]},r.name))})]})}},e[0]=i,e[1]=n.id,e[2]=n.source,e[3]=n.target,e[4]=n.type,e[5]=o,e[6]=a):a=e[6];let d=a,s;e[7]===d?s=e[8]:(s=d(),e[7]=d,e[8]=s);let c;return e[9]===s?c=e[10]:(c=(0,B.jsx)(pt,{position:"bottom-left",className:"max-h-[90%] flex flex-col w-[calc(100%-5rem)]",children:(0,B.jsx)("div",{className:"min-h-[100px] shadow-md rounded-md border max-w-[550px] border-primary/40 my-4 min-w-[240px] bg-(--slate-1) text-muted-foreground/80 flex flex-col overflow-y-auto",children:s})}),e[9]=s,e[10]=c),c});Ko.displayName="GraphSelectionPanel";function nl(t,e){let n=Qr(t);n&&Yr(n,e)}var fn=q(((t,e)=>{var n="\0",o="\0",i="",l=class{constructor(r){ie(this,"_isDirected",!0);ie(this,"_isMultigraph",!1);ie(this,"_isCompound",!1);ie(this,"_label");ie(this,"_defaultNodeLabelFn",()=>{});ie(this,"_defaultEdgeLabelFn",()=>{});ie(this,"_nodes",{});ie(this,"_in",{});ie(this,"_preds",{});ie(this,"_out",{});ie(this,"_sucs",{});ie(this,"_edgeObjs",{});ie(this,"_edgeLabels",{});ie(this,"_nodeCount",0);ie(this,"_edgeCount",0);ie(this,"_parent");ie(this,"_children");r&&(this._isDirected=Object.hasOwn(r,"directed")?r.directed:!0,this._isMultigraph=Object.hasOwn(r,"multigraph")?r.multigraph:!1,this._isCompound=Object.hasOwn(r,"compound")?r.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[o]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(r){return this._label=r,this}graph(){return this._label}setDefaultNodeLabel(r){return this._defaultNodeLabelFn=r,typeof r!="function"&&(this._defaultNodeLabelFn=()=>r),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var r=this;return this.nodes().filter(g=>Object.keys(r._in[g]).length===0)}sinks(){var r=this;return this.nodes().filter(g=>Object.keys(r._out[g]).length===0)}setNodes(r,g){var h=arguments,m=this;return r.forEach(function(f){h.length>1?m.setNode(f,g):m.setNode(f)}),this}setNode(r,g){return Object.hasOwn(this._nodes,r)?(arguments.length>1&&(this._nodes[r]=g),this):(this._nodes[r]=arguments.length>1?g:this._defaultNodeLabelFn(r),this._isCompound&&(this._parent[r]=o,this._children[r]={},this._children[o][r]=!0),this._in[r]={},this._preds[r]={},this._out[r]={},this._sucs[r]={},++this._nodeCount,this)}node(r){return this._nodes[r]}hasNode(r){return Object.hasOwn(this._nodes,r)}removeNode(r){var g=this;if(Object.hasOwn(this._nodes,r)){var h=m=>g.removeEdge(g._edgeObjs[m]);delete this._nodes[r],this._isCompound&&(this._removeFromParentsChildList(r),delete this._parent[r],this.children(r).forEach(function(m){g.setParent(m)}),delete this._children[r]),Object.keys(this._in[r]).forEach(h),delete this._in[r],delete this._preds[r],Object.keys(this._out[r]).forEach(h),delete this._out[r],delete this._sucs[r],--this._nodeCount}return this}setParent(r,g){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(g===void 0)g=o;else{g+="";for(var h=g;h!==void 0;h=this.parent(h))if(h===r)throw Error("Setting "+g+" as parent of "+r+" would create a cycle");this.setNode(g)}return this.setNode(r),this._removeFromParentsChildList(r),this._parent[r]=g,this._children[g][r]=!0,this}_removeFromParentsChildList(r){delete this._children[this._parent[r]][r]}parent(r){if(this._isCompound){var g=this._parent[r];if(g!==o)return g}}children(r=o){if(this._isCompound){var g=this._children[r];if(g)return Object.keys(g)}else{if(r===o)return this.nodes();if(this.hasNode(r))return[]}}predecessors(r){var g=this._preds[r];if(g)return Object.keys(g)}successors(r){var g=this._sucs[r];if(g)return Object.keys(g)}neighbors(r){var g=this.predecessors(r);if(g){let m=new Set(g);for(var h of this.successors(r))m.add(h);return Array.from(m.values())}}isLeaf(r){return(this.isDirected()?this.successors(r):this.neighbors(r)).length===0}filterNodes(r){var g=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});g.setGraph(this.graph());var h=this;Object.entries(this._nodes).forEach(function([y,x]){r(y)&&g.setNode(y,x)}),Object.values(this._edgeObjs).forEach(function(y){g.hasNode(y.v)&&g.hasNode(y.w)&&g.setEdge(y,h.edge(y))});var m={};function f(y){var x=h.parent(y);return x===void 0||g.hasNode(x)?(m[y]=x,x):x in m?m[x]:f(x)}return this._isCompound&&g.nodes().forEach(y=>g.setParent(y,f(y))),g}setDefaultEdgeLabel(r){return this._defaultEdgeLabelFn=r,typeof r!="function"&&(this._defaultEdgeLabelFn=()=>r),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(r,g){var h=this,m=arguments;return r.reduce(function(f,y){return m.length>1?h.setEdge(f,y,g):h.setEdge(f,y),y}),this}setEdge(){var r,g,h,m,f=!1,y=arguments[0];typeof y=="object"&&y&&"v"in y?(r=y.v,g=y.w,h=y.name,arguments.length===2&&(m=arguments[1],f=!0)):(r=y,g=arguments[1],h=arguments[3],arguments.length>2&&(m=arguments[2],f=!0)),r=""+r,g=""+g,h!==void 0&&(h=""+h);var x=s(this._isDirected,r,g,h);if(Object.hasOwn(this._edgeLabels,x))return f&&(this._edgeLabels[x]=m),this;if(h!==void 0&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(g),this._edgeLabels[x]=f?m:this._defaultEdgeLabelFn(r,g,h);var b=c(this._isDirected,r,g,h);return r=b.v,g=b.w,Object.freeze(b),this._edgeObjs[x]=b,a(this._preds[g],r),a(this._sucs[r],g),this._in[g][x]=b,this._out[r][x]=b,this._edgeCount++,this}edge(r,g,h){var m=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h);return this._edgeLabels[m]}edgeAsObj(){let r=this.edge(...arguments);return typeof r=="object"?r:{label:r}}hasEdge(r,g,h){var m=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h);return Object.hasOwn(this._edgeLabels,m)}removeEdge(r,g,h){var m=arguments.length===1?u(this._isDirected,arguments[0]):s(this._isDirected,r,g,h),f=this._edgeObjs[m];return f&&(r=f.v,g=f.w,delete this._edgeLabels[m],delete this._edgeObjs[m],d(this._preds[g],r),d(this._sucs[r],g),delete this._in[g][m],delete this._out[r][m],this._edgeCount--),this}inEdges(r,g){var h=this._in[r];if(h){var m=Object.values(h);return g?m.filter(f=>f.v===g):m}}outEdges(r,g){var h=this._out[r];if(h){var m=Object.values(h);return g?m.filter(f=>f.w===g):m}}nodeEdges(r,g){var h=this.inEdges(r,g);if(h)return h.concat(this.outEdges(r,g))}};function a(r,g){r[g]?r[g]++:r[g]=1}function d(r,g){--r[g]||delete r[g]}function s(r,g,h,m){var f=""+g,y=""+h;if(!r&&f>y){var x=f;f=y,y=x}return f+i+y+i+(m===void 0?n:m)}function c(r,g,h,m){var f=""+g,y=""+h;if(!r&&f>y){var x=f;f=y,y=x}var b={v:f,w:y};return m&&(b.name=m),b}function u(r,g){return s(r,g.v,g.w,g.name)}e.exports=l})),ol=q(((t,e)=>{e.exports="2.2.4"})),rl=q(((t,e)=>{e.exports={Graph:fn(),version:ol()}})),al=q(((t,e)=>{var n=fn();e.exports={write:o,read:a};function o(d){var s={options:{directed:d.isDirected(),multigraph:d.isMultigraph(),compound:d.isCompound()},nodes:i(d),edges:l(d)};return d.graph()!==void 0&&(s.value=structuredClone(d.graph())),s}function i(d){return d.nodes().map(function(s){var c=d.node(s),u=d.parent(s),r={v:s};return c!==void 0&&(r.value=c),u!==void 0&&(r.parent=u),r})}function l(d){return d.edges().map(function(s){var c=d.edge(s),u={v:s.v,w:s.w};return s.name!==void 0&&(u.name=s.name),c!==void 0&&(u.value=c),u})}function a(d){var s=new n(d.options).setGraph(d.value);return d.nodes.forEach(function(c){s.setNode(c.v,c.value),c.parent&&s.setParent(c.v,c.parent)}),d.edges.forEach(function(c){s.setEdge({v:c.v,w:c.w,name:c.name},c.value)}),s}})),il=q(((t,e)=>{e.exports=n;function n(o){var i={},l=[],a;function d(s){Object.hasOwn(i,s)||(i[s]=!0,a.push(s),o.successors(s).forEach(d),o.predecessors(s).forEach(d))}return o.nodes().forEach(function(s){a=[],d(s),a.length&&l.push(a)}),l}})),Go=q(((t,e)=>{e.exports=class{constructor(){ie(this,"_arr",[]);ie(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw Error("Queue underflow");return this._arr[0].key}add(n,o){var i=this._keyIndices;if(n=String(n),!Object.hasOwn(i,n)){var l=this._arr,a=l.length;return i[n]=a,l.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var i=this._keyIndices[n];if(o>this._arr[i].priority)throw Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+o);this._arr[i].priority=o,this._decrease(i)}_heapify(n){var o=this._arr,i=2*n,l=i+1,a=n;i<o.length&&(a=o[i].priority<o[a].priority?i:a,l<o.length&&(a=o[l].priority<o[a].priority?l:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,i=o[n].priority,l;n!==0&&(l=n>>1,!(o[l].priority<i));)this._swap(n,l),n=l}_swap(n,o){var i=this._arr,l=this._keyIndices,a=i[n],d=i[o];i[n]=d,i[o]=a,l[d.key]=n,l[a.key]=o}}})),Uo=q(((t,e)=>{var n=Go();e.exports=i;var o=()=>1;function i(a,d,s,c){return l(a,String(d),s||o,c||function(u){return a.outEdges(u)})}function l(a,d,s,c){var u={},r=new n,g,h,m=function(f){var y=f.v===g?f.w:f.v,x=u[y],b=s(f),N=h.distance+b;if(b<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+f+" Weight: "+b);N<x.distance&&(x.distance=N,x.predecessor=g,r.decrease(y,N))};for(a.nodes().forEach(function(f){var y=f===d?0:1/0;u[f]={distance:y},r.add(f,y)});r.size()>0&&(g=r.removeMin(),h=u[g],h.distance!==1/0);)c(g).forEach(m);return u}})),sl=q(((t,e)=>{var n=Uo();e.exports=o;function o(i,l,a){return i.nodes().reduce(function(d,s){return d[s]=n(i,s,l,a),d},{})}})),qo=q(((t,e)=>{e.exports=n;function n(o){var i=0,l=[],a={},d=[];function s(c){var u=a[c]={onStack:!0,lowlink:i,index:i++};if(l.push(c),o.successors(c).forEach(function(h){Object.hasOwn(a,h)?a[h].onStack&&(u.lowlink=Math.min(u.lowlink,a[h].index)):(s(h),u.lowlink=Math.min(u.lowlink,a[h].lowlink))}),u.lowlink===u.index){var r=[],g;do g=l.pop(),a[g].onStack=!1,r.push(g);while(c!==g);d.push(r)}}return o.nodes().forEach(function(c){Object.hasOwn(a,c)||s(c)}),d}})),ll=q(((t,e)=>{var n=qo();e.exports=o;function o(i){return n(i).filter(function(l){return l.length>1||l.length===1&&i.hasEdge(l[0],l[0])})}})),dl=q(((t,e)=>{e.exports=o;var n=()=>1;function o(l,a,d){return i(l,a||n,d||function(s){return l.outEdges(s)})}function i(l,a,d){var s={},c=l.nodes();return c.forEach(function(u){s[u]={},s[u][u]={distance:0},c.forEach(function(r){u!==r&&(s[u][r]={distance:1/0})}),d(u).forEach(function(r){var g=r.v===u?r.w:r.v,h=a(r);s[u][g]={distance:h,predecessor:u}})}),c.forEach(function(u){var r=s[u];c.forEach(function(g){var h=s[g];c.forEach(function(m){var f=h[u],y=r[m],x=h[m],b=f.distance+y.distance;b<x.distance&&(x.distance=b,x.predecessor=y.predecessor)})})}),s}})),Jo=q(((t,e)=>{function n(i){var l={},a={},d=[];function s(c){if(Object.hasOwn(a,c))throw new o;Object.hasOwn(l,c)||(a[c]=!0,l[c]=!0,i.predecessors(c).forEach(s),delete a[c],d.push(c))}if(i.sinks().forEach(s),Object.keys(l).length!==i.nodeCount())throw new o;return d}var o=class extends Error{constructor(){super(...arguments)}};e.exports=n,n.CycleException=o})),cl=q(((t,e)=>{var n=Jo();e.exports=o;function o(i){try{n(i)}catch(l){if(l instanceof n.CycleException)return!1;throw l}return!0}})),Qo=q(((t,e)=>{e.exports=n;function n(a,d,s){Array.isArray(d)||(d=[d]);var c=a.isDirected()?h=>a.successors(h):h=>a.neighbors(h),u=s==="post"?o:i,r=[],g={};return d.forEach(h=>{if(!a.hasNode(h))throw Error("Graph does not have node: "+h);u(h,c,g,r)}),r}function o(a,d,s,c){for(var u=[[a,!1]];u.length>0;){var r=u.pop();r[1]?c.push(r[0]):Object.hasOwn(s,r[0])||(s[r[0]]=!0,u.push([r[0],!0]),l(d(r[0]),g=>u.push([g,!1])))}}function i(a,d,s,c){for(var u=[a];u.length>0;){var r=u.pop();Object.hasOwn(s,r)||(s[r]=!0,c.push(r),l(d(r),g=>u.push(g)))}}function l(a,d){for(var s=a.length;s--;)d(a[s],s,a);return a}})),ul=q(((t,e)=>{var n=Qo();e.exports=o;function o(i,l){return n(i,l,"post")}})),hl=q(((t,e)=>{var n=Qo();e.exports=o;function o(i,l){return n(i,l,"pre")}})),gl=q(((t,e)=>{var n=fn(),o=Go();e.exports=i;function i(l,a){var d=new n,s={},c=new o,u;function r(h){var m=h.v===u?h.w:h.v,f=c.priority(m);if(f!==void 0){var y=a(h);y<f&&(s[m]=u,c.decrease(m,y))}}if(l.nodeCount()===0)return d;l.nodes().forEach(function(h){c.add(h,1/0),d.setNode(h)}),c.decrease(l.nodes()[0],0);for(var g=!1;c.size()>0;){if(u=c.removeMin(),Object.hasOwn(s,u))d.setEdge(u,s[u]);else{if(g)throw Error("Input graph is not connected: "+l);g=!0}l.nodeEdges(u).forEach(r)}return d}})),fl=q(((t,e)=>{e.exports={components:il(),dijkstra:Uo(),dijkstraAll:sl(),findCycles:ll(),floydWarshall:dl(),isAcyclic:cl(),postorder:ul(),preorder:hl(),prim:gl(),tarjan:qo(),topsort:Jo()}})),ve=q(((t,e)=>{var n=rl();e.exports={Graph:n.Graph,json:al(),alg:fl(),version:n.version}})),pl=q(((t,e)=>{var n=class{constructor(){let l={};l._next=l._prev=l,this._sentinel=l}dequeue(){let l=this._sentinel,a=l._prev;if(a!==l)return o(a),a}enqueue(l){let a=this._sentinel;l._prev&&l._next&&o(l),l._next=a._next,a._next._prev=l,a._next=l,l._prev=a}toString(){let l=[],a=this._sentinel,d=a._prev;for(;d!==a;)l.push(JSON.stringify(d,i)),d=d._prev;return"["+l.join(", ")+"]"}};function o(l){l._prev._next=l._next,l._next._prev=l._prev,delete l._next,delete l._prev}function i(l,a){if(l!=="_next"&&l!=="_prev")return a}e.exports=n})),ml=q(((t,e)=>{var n=ve().Graph,o=pl();e.exports=l;var i=()=>1;function l(r,g){if(r.nodeCount()<=1)return[];let h=s(r,g||i);return a(h.graph,h.buckets,h.zeroIdx).flatMap(m=>r.outEdges(m.v,m.w))}function a(r,g,h){let m=[],f=g[g.length-1],y=g[0],x;for(;r.nodeCount();){for(;x=y.dequeue();)d(r,g,h,x);for(;x=f.dequeue();)d(r,g,h,x);if(r.nodeCount()){for(let b=g.length-2;b>0;--b)if(x=g[b].dequeue(),x){m=m.concat(d(r,g,h,x,!0));break}}}return m}function d(r,g,h,m,f){let y=f?[]:void 0;return r.inEdges(m.v).forEach(x=>{let b=r.edge(x),N=r.node(x.v);f&&y.push({v:x.v,w:x.w}),N.out-=b,c(g,h,N)}),r.outEdges(m.v).forEach(x=>{let b=r.edge(x),N=x.w,p=r.node(N);p.in-=b,c(g,h,p)}),r.removeNode(m.v),y}function s(r,g){let h=new n,m=0,f=0;r.nodes().forEach(b=>{h.setNode(b,{v:b,in:0,out:0})}),r.edges().forEach(b=>{let N=h.edge(b.v,b.w)||0,p=g(b),S=N+p;h.setEdge(b.v,b.w,S),f=Math.max(f,h.node(b.v).out+=p),m=Math.max(m,h.node(b.w).in+=p)});let y=u(f+m+3).map(()=>new o),x=m+1;return h.nodes().forEach(b=>{c(y,x,h.node(b))}),{graph:h,buckets:y,zeroIdx:x}}function c(r,g,h){h.out?h.in?r[h.out-h.in+g].enqueue(h):r[r.length-1].enqueue(h):r[0].enqueue(h)}function u(r){let g=[];for(let h=0;h<r;h++)g.push(h);return g}})),se=q(((t,e)=>{var n=ve().Graph;e.exports={addBorderNode:g,addDummyNode:o,applyWithChunking:f,asNonCompoundGraph:l,buildLayerMatrix:c,intersectRect:s,mapValues:P,maxRank:y,normalizeRanks:u,notime:N,partition:x,pick:_,predecessorWeights:d,range:k,removeEmptyRanks:r,simplify:i,successorWeights:a,time:b,uniqueId:S,zipObject:j};function o(w,E,O,M){for(var C=M;w.hasNode(C);)C=S(M);return O.dummy=E,w.setNode(C,O),C}function i(w){let E=new n().setGraph(w.graph());return w.nodes().forEach(O=>E.setNode(O,w.node(O))),w.edges().forEach(O=>{let M=E.edge(O.v,O.w)||{weight:0,minlen:1},C=w.edge(O);E.setEdge(O.v,O.w,{weight:M.weight+C.weight,minlen:Math.max(M.minlen,C.minlen)})}),E}function l(w){let E=new n({multigraph:w.isMultigraph()}).setGraph(w.graph());return w.nodes().forEach(O=>{w.children(O).length||E.setNode(O,w.node(O))}),w.edges().forEach(O=>{E.setEdge(O,w.edge(O))}),E}function a(w){let E=w.nodes().map(O=>{let M={};return w.outEdges(O).forEach(C=>{M[C.w]=(M[C.w]||0)+w.edge(C).weight}),M});return j(w.nodes(),E)}function d(w){let E=w.nodes().map(O=>{let M={};return w.inEdges(O).forEach(C=>{M[C.v]=(M[C.v]||0)+w.edge(C).weight}),M});return j(w.nodes(),E)}function s(w,E){let O=w.x,M=w.y,C=E.x-O,R=E.y-M,L=w.width/2,H=w.height/2;if(!C&&!R)throw Error("Not possible to find intersection inside of the rectangle");let F,D;return Math.abs(R)*L>Math.abs(C)*H?(R<0&&(H=-H),F=H*C/R,D=H):(C<0&&(L=-L),F=L,D=L*R/C),{x:O+F,y:M+D}}function c(w){let E=k(y(w)+1).map(()=>[]);return w.nodes().forEach(O=>{let M=w.node(O),C=M.rank;C!==void 0&&(E[C][M.order]=O)}),E}function u(w){let E=w.nodes().map(M=>{let C=w.node(M).rank;return C===void 0?Number.MAX_VALUE:C}),O=f(Math.min,E);w.nodes().forEach(M=>{let C=w.node(M);Object.hasOwn(C,"rank")&&(C.rank-=O)})}function r(w){let E=w.nodes().map(L=>w.node(L).rank),O=f(Math.min,E),M=[];w.nodes().forEach(L=>{let H=w.node(L).rank-O;M[H]||(M[H]=[]),M[H].push(L)});let C=0,R=w.graph().nodeRankFactor;Array.from(M).forEach((L,H)=>{L===void 0&&H%R!==0?--C:L!==void 0&&C&&L.forEach(F=>w.node(F).rank+=C)})}function g(w,E,O,M){let C={width:0,height:0};return arguments.length>=4&&(C.rank=O,C.order=M),o(w,"border",C,E)}function h(w,E=m){let O=[];for(let M=0;M<w.length;M+=E){let C=w.slice(M,M+E);O.push(C)}return O}var m=65535;function f(w,E){if(E.length>m){let O=h(E);return w.apply(null,O.map(M=>w.apply(null,M)))}else return w.apply(null,E)}function y(w){let E=w.nodes().map(O=>{let M=w.node(O).rank;return M===void 0?Number.MIN_VALUE:M});return f(Math.max,E)}function x(w,E){let O={lhs:[],rhs:[]};return w.forEach(M=>{E(M)?O.lhs.push(M):O.rhs.push(M)}),O}function b(w,E){let O=Date.now();try{return E()}finally{console.log(w+" time: "+(Date.now()-O)+"ms")}}function N(w,E){return E()}var p=0;function S(w){return w+(""+ ++p)}function k(w,E,O=1){E??(E=w,w=0);let M=R=>R<E;O<0&&(M=R=>E<R);let C=[];for(let R=w;M(R);R+=O)C.push(R);return C}function _(w,E){let O={};for(let M of E)w[M]!==void 0&&(O[M]=w[M]);return O}function P(w,E){let O=E;return typeof E=="string"&&(O=M=>M[E]),Object.entries(w).reduce((M,[C,R])=>(M[C]=O(R,C),M),{})}function j(w,E){return w.reduce((O,M,C)=>(O[M]=E[C],O),{})}})),yl=q(((t,e)=>{var n=ml(),o=se().uniqueId;e.exports={run:i,undo:a};function i(d){(d.graph().acyclicer==="greedy"?n(d,s(d)):l(d)).forEach(c=>{let u=d.edge(c);d.removeEdge(c),u.forwardName=c.name,u.reversed=!0,d.setEdge(c.w,c.v,u,o("rev"))});function s(c){return u=>c.edge(u).weight}}function l(d){let s=[],c={},u={};function r(g){Object.hasOwn(u,g)||(u[g]=!0,c[g]=!0,d.outEdges(g).forEach(h=>{Object.hasOwn(c,h.w)?s.push(h):r(h.w)}),delete c[g])}return d.nodes().forEach(r),s}function a(d){d.edges().forEach(s=>{let c=d.edge(s);if(c.reversed){d.removeEdge(s);let u=c.forwardName;delete c.reversed,delete c.forwardName,d.setEdge(s.w,s.v,c,u)}})}})),vl=q(((t,e)=>{var n=se();e.exports={run:o,undo:l};function o(a){a.graph().dummyChains=[],a.edges().forEach(d=>i(a,d))}function i(a,d){let s=d.v,c=a.node(s).rank,u=d.w,r=a.node(u).rank,g=d.name,h=a.edge(d),m=h.labelRank;if(r===c+1)return;a.removeEdge(d);let f,y,x;for(x=0,++c;c<r;++x,++c)h.points=[],y={width:0,height:0,edgeLabel:h,edgeObj:d,rank:c},f=n.addDummyNode(a,"edge",y,"_d"),c===m&&(y.width=h.width,y.height=h.height,y.dummy="edge-label",y.labelpos=h.labelpos),a.setEdge(s,f,{weight:h.weight},g),x===0&&a.graph().dummyChains.push(f),s=f;a.setEdge(s,u,{weight:h.weight},g)}function l(a){a.graph().dummyChains.forEach(d=>{let s=a.node(d),c=s.edgeLabel,u;for(a.setEdge(s.edgeObj,c);s.dummy;)u=a.successors(d)[0],a.removeNode(d),c.points.push({x:s.x,y:s.y}),s.dummy==="edge-label"&&(c.x=s.x,c.y=s.y,c.width=s.width,c.height=s.height),d=u,s=a.node(d)})}})),Nt=q(((t,e)=>{var{applyWithChunking:n}=se();e.exports={longestPath:o,slack:i};function o(l){var a={};function d(s){var c=l.node(s);if(Object.hasOwn(a,s))return c.rank;a[s]=!0;let u=l.outEdges(s).map(g=>g==null?1/0:d(g.w)-l.edge(g).minlen);var r=n(Math.min,u);return r===1/0&&(r=0),c.rank=r}l.sources().forEach(d)}function i(l,a){return l.node(a.w).rank-l.node(a.v).rank-l.edge(a).minlen}})),er=q(((t,e)=>{var n=ve().Graph,o=Nt().slack;e.exports=i;function i(s){var c=new n({directed:!1}),u=s.nodes()[0],r=s.nodeCount();c.setNode(u,{});for(var g,h;l(c,s)<r;)g=a(c,s),h=c.hasNode(g.v)?o(s,g):-o(s,g),d(c,s,h);return c}function l(s,c){function u(r){c.nodeEdges(r).forEach(g=>{var h=g.v,m=r===h?g.w:h;!s.hasNode(m)&&!o(c,g)&&(s.setNode(m,{}),s.setEdge(r,m,{}),u(m))})}return s.nodes().forEach(u),s.nodeCount()}function a(s,c){return c.edges().reduce((u,r)=>{let g=1/0;return s.hasNode(r.v)!==s.hasNode(r.w)&&(g=o(c,r)),g<u[0]?[g,r]:u},[1/0,null])[1]}function d(s,c,u){s.nodes().forEach(r=>c.node(r).rank+=u)}})),bl=q(((t,e)=>{var n=er(),o=Nt().slack,i=Nt().longestPath,l=ve().alg.preorder,a=ve().alg.postorder,d=se().simplify;e.exports=s,s.initLowLimValues=g,s.initCutValues=c,s.calcCutValue=r,s.leaveEdge=m,s.enterEdge=f,s.exchangeEdges=y;function s(p){p=d(p),i(p);var S=n(p);g(S),c(S,p);for(var k,_;k=m(S);)_=f(S,p,k),y(S,p,k,_)}function c(p,S){var k=a(p,p.nodes());k=k.slice(0,k.length-1),k.forEach(_=>u(p,S,_))}function u(p,S,k){var _=p.node(k).parent;p.edge(k,_).cutvalue=r(p,S,k)}function r(p,S,k){var _=p.node(k).parent,P=!0,j=S.edge(k,_),w=0;return j||(j=(P=!1,S.edge(_,k))),w=j.weight,S.nodeEdges(k).forEach(E=>{var O=E.v===k,M=O?E.w:E.v;if(M!==_){var C=O===P,R=S.edge(E).weight;if(w+=C?R:-R,b(p,k,M)){var L=p.edge(k,M).cutvalue;w+=C?-L:L}}}),w}function g(p,S){arguments.length<2&&(S=p.nodes()[0]),h(p,{},1,S)}function h(p,S,k,_,P){var j=k,w=p.node(_);return S[_]=!0,p.neighbors(_).forEach(E=>{Object.hasOwn(S,E)||(k=h(p,S,k,E,_))}),w.low=j,w.lim=k++,P?w.parent=P:delete w.parent,k}function m(p){return p.edges().find(S=>p.edge(S).cutvalue<0)}function f(p,S,k){var _=k.v,P=k.w;S.hasEdge(_,P)||(_=k.w,P=k.v);var j=p.node(_),w=p.node(P),E=j,O=!1;return j.lim>w.lim&&(E=w,O=!0),S.edges().filter(M=>O===N(p,p.node(M.v),E)&&O!==N(p,p.node(M.w),E)).reduce((M,C)=>o(S,C)<o(S,M)?C:M)}function y(p,S,k,_){var P=k.v,j=k.w;p.removeEdge(P,j),p.setEdge(_.v,_.w,{}),g(p),c(p,S),x(p,S)}function x(p,S){var k=l(p,p.nodes().find(_=>!S.node(_).parent));k=k.slice(1),k.forEach(_=>{var P=p.node(_).parent,j=S.edge(_,P),w=!1;j||(j=S.edge(P,_),w=!0),S.node(_).rank=S.node(P).rank+(w?j.minlen:-j.minlen)})}function b(p,S,k){return p.hasEdge(S,k)}function N(p,S,k){return k.low<=S.lim&&S.lim<=k.lim}})),xl=q(((t,e)=>{var n=Nt().longestPath,o=er(),i=bl();e.exports=l;function l(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":s(c);break;case"tight-tree":d(c);break;case"longest-path":a(c);break;case"none":break;default:s(c)}}var a=n;function d(c){n(c),o(c)}function s(c){i(c)}})),wl=q(((t,e)=>{e.exports=n;function n(l){let a=i(l);l.graph().dummyChains.forEach(d=>{let s=l.node(d),c=s.edgeObj,u=o(l,a,c.v,c.w),r=u.path,g=u.lca,h=0,m=r[h],f=!0;for(;d!==c.w;){if(s=l.node(d),f){for(;(m=r[h])!==g&&l.node(m).maxRank<s.rank;)h++;m===g&&(f=!1)}if(!f){for(;h<r.length-1&&l.node(m=r[h+1]).minRank<=s.rank;)h++;m=r[h]}l.setParent(d,m),d=l.successors(d)[0]}})}function o(l,a,d,s){let c=[],u=[],r=Math.min(a[d].low,a[s].low),g=Math.max(a[d].lim,a[s].lim),h,m;h=d;do h=l.parent(h),c.push(h);while(h&&(a[h].low>r||g>a[h].lim));for(m=h,h=s;(h=l.parent(h))!==m;)u.push(h);return{path:c.concat(u.reverse()),lca:m}}function i(l){let a={},d=0;function s(c){let u=d;l.children(c).forEach(s),a[c]={low:u,lim:d++}}return l.children().forEach(s),a}})),El=q(((t,e)=>{var n=se();e.exports={run:o,cleanup:d};function o(s){let c=n.addDummyNode(s,"root",{},"_root"),u=l(s),r=Object.values(u),g=n.applyWithChunking(Math.max,r)-1,h=2*g+1;s.graph().nestingRoot=c,s.edges().forEach(f=>s.edge(f).minlen*=h);let m=a(s)+1;s.children().forEach(f=>i(s,c,h,m,g,u,f)),s.graph().nodeRankFactor=h}function i(s,c,u,r,g,h,m){let f=s.children(m);if(!f.length){m!==c&&s.setEdge(c,m,{weight:0,minlen:u});return}let y=n.addBorderNode(s,"_bt"),x=n.addBorderNode(s,"_bb"),b=s.node(m);s.setParent(y,m),b.borderTop=y,s.setParent(x,m),b.borderBottom=x,f.forEach(N=>{i(s,c,u,r,g,h,N);let p=s.node(N),S=p.borderTop?p.borderTop:N,k=p.borderBottom?p.borderBottom:N,_=p.borderTop?r:2*r,P=S===k?g-h[m]+1:1;s.setEdge(y,S,{weight:_,minlen:P,nestingEdge:!0}),s.setEdge(k,x,{weight:_,minlen:P,nestingEdge:!0})}),s.parent(m)||s.setEdge(c,y,{weight:0,minlen:g+h[m]})}function l(s){var c={};function u(r,g){var h=s.children(r);h&&h.length&&h.forEach(m=>u(m,g+1)),c[r]=g}return s.children().forEach(r=>u(r,1)),c}function a(s){return s.edges().reduce((c,u)=>c+s.edge(u).weight,0)}function d(s){var c=s.graph();s.removeNode(c.nestingRoot),delete c.nestingRoot,s.edges().forEach(u=>{s.edge(u).nestingEdge&&s.removeEdge(u)})}})),Sl=q(((t,e)=>{var n=se();e.exports=o;function o(l){function a(d){let s=l.children(d),c=l.node(d);if(s.length&&s.forEach(a),Object.hasOwn(c,"minRank")){c.borderLeft=[],c.borderRight=[];for(let u=c.minRank,r=c.maxRank+1;u<r;++u)i(l,"borderLeft","_bl",d,c,u),i(l,"borderRight","_br",d,c,u)}}l.children().forEach(a)}function i(l,a,d,s,c,u){let r={width:0,height:0,rank:u,borderType:a},g=c[a][u-1],h=n.addDummyNode(l,"border",r,d);c[a][u]=h,l.setParent(h,s),g&&l.setEdge(g,h,{weight:1})}})),Cl=q(((t,e)=>{e.exports={adjust:n,undo:o};function n(u){let r=u.graph().rankdir.toLowerCase();(r==="lr"||r==="rl")&&i(u)}function o(u){let r=u.graph().rankdir.toLowerCase();(r==="bt"||r==="rl")&&a(u),(r==="lr"||r==="rl")&&(s(u),i(u))}function i(u){u.nodes().forEach(r=>l(u.node(r))),u.edges().forEach(r=>l(u.edge(r)))}function l(u){let r=u.width;u.width=u.height,u.height=r}function a(u){u.nodes().forEach(r=>d(u.node(r))),u.edges().forEach(r=>{let g=u.edge(r);g.points.forEach(d),Object.hasOwn(g,"y")&&d(g)})}function d(u){u.y=-u.y}function s(u){u.nodes().forEach(r=>c(u.node(r))),u.edges().forEach(r=>{let g=u.edge(r);g.points.forEach(c),Object.hasOwn(g,"x")&&c(g)})}function c(u){let r=u.x;u.x=u.y,u.y=r}})),Nl=q(((t,e)=>{var n=se();e.exports=o;function o(i){let l={},a=i.nodes().filter(r=>!i.children(r).length),d=a.map(r=>i.node(r).rank),s=n.applyWithChunking(Math.max,d),c=n.range(s+1).map(()=>[]);function u(r){l[r]||(l[r]=!0,c[i.node(r).rank].push(r),i.successors(r).forEach(u))}return a.sort((r,g)=>i.node(r).rank-i.node(g).rank).forEach(u),c}})),kl=q(((t,e)=>{var n=se().zipObject;e.exports=o;function o(l,a){let d=0;for(let s=1;s<a.length;++s)d+=i(l,a[s-1],a[s]);return d}function i(l,a,d){let s=n(d,d.map((m,f)=>f)),c=a.flatMap(m=>l.outEdges(m).map(f=>({pos:s[f.w],weight:l.edge(f).weight})).sort((f,y)=>f.pos-y.pos)),u=1;for(;u<d.length;)u<<=1;let r=2*u-1;--u;let g=Array(r).fill(0),h=0;return c.forEach(m=>{let f=m.pos+u;g[f]+=m.weight;let y=0;for(;f>0;)f%2&&(y+=g[f+1]),f=f-1>>1,g[f]+=m.weight;h+=m.weight*y}),h}})),Ml=q(((t,e)=>{e.exports=n;function n(o,i=[]){return i.map(l=>{let a=o.inEdges(l);if(a.length){let d=a.reduce((s,c)=>{let u=o.edge(c),r=o.node(c.v);return{sum:s.sum+u.weight*r.order,weight:s.weight+u.weight}},{sum:0,weight:0});return{v:l,barycenter:d.sum/d.weight,weight:d.weight}}else return{v:l}})}})),Ol=q(((t,e)=>{var n=se();e.exports=o;function o(a,d){let s={};return a.forEach((c,u)=>{let r=s[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(r.barycenter=c.barycenter,r.weight=c.weight)}),d.edges().forEach(c=>{let u=s[c.v],r=s[c.w];u!==void 0&&r!==void 0&&(r.indegree++,u.out.push(s[c.w]))}),i(Object.values(s).filter(c=>!c.indegree))}function i(a){let d=[];function s(u){return r=>{r.merged||(r.barycenter===void 0||u.barycenter===void 0||r.barycenter>=u.barycenter)&&l(u,r)}}function c(u){return r=>{r.in.push(u),--r.indegree===0&&a.push(r)}}for(;a.length;){let u=a.pop();d.push(u),u.in.reverse().forEach(s(u)),u.out.forEach(c(u))}return d.filter(u=>!u.merged).map(u=>n.pick(u,["vs","i","barycenter","weight"]))}function l(a,d){let s=0,c=0;a.weight&&(s+=a.barycenter*a.weight,c+=a.weight),d.weight&&(s+=d.barycenter*d.weight,c+=d.weight),a.vs=d.vs.concat(a.vs),a.barycenter=s/c,a.weight=c,a.i=Math.min(d.i,a.i),d.merged=!0}})),_l=q(((t,e)=>{var n=se();e.exports=o;function o(a,d){let s=n.partition(a,y=>Object.hasOwn(y,"barycenter")),c=s.lhs,u=s.rhs.sort((y,x)=>x.i-y.i),r=[],g=0,h=0,m=0;c.sort(l(!!d)),m=i(r,u,m),c.forEach(y=>{m+=y.vs.length,r.push(y.vs),g+=y.barycenter*y.weight,h+=y.weight,m=i(r,u,m)});let f={vs:r.flat(!0)};return h&&(f.barycenter=g/h,f.weight=h),f}function i(a,d,s){let c;for(;d.length&&(c=d[d.length-1]).i<=s;)d.pop(),a.push(c.vs),s++;return s}function l(a){return(d,s)=>d.barycenter<s.barycenter?-1:d.barycenter>s.barycenter?1:a?s.i-d.i:d.i-s.i}})),Pl=q(((t,e)=>{var n=Ml(),o=Ol(),i=_l();e.exports=l;function l(s,c,u,r){let g=s.children(c),h=s.node(c),m=h?h.borderLeft:void 0,f=h?h.borderRight:void 0,y={};m&&(g=g.filter(p=>p!==m&&p!==f));let x=n(s,g);x.forEach(p=>{if(s.children(p.v).length){let S=l(s,p.v,u,r);y[p.v]=S,Object.hasOwn(S,"barycenter")&&d(p,S)}});let b=o(x,u);a(b,y);let N=i(b,r);if(m&&(N.vs=[m,N.vs,f].flat(!0),s.predecessors(m).length)){let p=s.node(s.predecessors(m)[0]),S=s.node(s.predecessors(f)[0]);Object.hasOwn(N,"barycenter")||(N.barycenter=0,N.weight=0),N.barycenter=(N.barycenter*N.weight+p.order+S.order)/(N.weight+2),N.weight+=2}return N}function a(s,c){s.forEach(u=>{u.vs=u.vs.flatMap(r=>c[r]?c[r].vs:r)})}function d(s,c){s.barycenter===void 0?(s.barycenter=c.barycenter,s.weight=c.weight):(s.barycenter=(s.barycenter*s.weight+c.barycenter*c.weight)/(s.weight+c.weight),s.weight+=c.weight)}})),jl=q(((t,e)=>{var n=ve().Graph,o=se();e.exports=i;function i(a,d,s,c){c||(c=a.nodes());let u=l(a),r=new n({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(g=>a.node(g));return c.forEach(g=>{let h=a.node(g),m=a.parent(g);(h.rank===d||h.minRank<=d&&d<=h.maxRank)&&(r.setNode(g),r.setParent(g,m||u),a[s](g).forEach(f=>{let y=f.v===g?f.w:f.v,x=r.edge(y,g),b=x===void 0?0:x.weight;r.setEdge(y,g,{weight:a.edge(f).weight+b})}),Object.hasOwn(h,"minRank")&&r.setNode(g,{borderLeft:h.borderLeft[d],borderRight:h.borderRight[d]}))}),r}function l(a){for(var d;a.hasNode(d=o.uniqueId("_root")););return d}})),Il=q(((t,e)=>{e.exports=n;function n(o,i,l){let a={},d;l.forEach(s=>{let c=o.parent(s),u,r;for(;c;){if(u=o.parent(c),u?(r=a[u],a[u]=c):(r=d,d=c),r&&r!==c){i.setEdge(r,c);return}c=u}})}})),Dl=q(((t,e)=>{var n=Nl(),o=kl(),i=Pl(),l=jl(),a=Il(),d=ve().Graph,s=se();e.exports=c;function c(h,m){if(m&&typeof m.customOrder=="function"){m.customOrder(h,c);return}let f=s.maxRank(h),y=u(h,s.range(1,f+1),"inEdges"),x=u(h,s.range(f-1,-1,-1),"outEdges"),b=n(h);if(g(h,b),m&&m.disableOptimalOrderHeuristic)return;let N=1/0,p;for(let S=0,k=0;k<4;++S,++k){r(S%2?y:x,S%4>=2),b=s.buildLayerMatrix(h);let _=o(h,b);_<N&&(k=0,p=Object.assign({},b),N=_)}g(h,p)}function u(h,m,f){let y=new Map,x=(b,N)=>{y.has(b)||y.set(b,[]),y.get(b).push(N)};for(let b of h.nodes()){let N=h.node(b);if(typeof N.rank=="number"&&x(N.rank,b),typeof N.minRank=="number"&&typeof N.maxRank=="number")for(let p=N.minRank;p<=N.maxRank;p++)p!==N.rank&&x(p,b)}return m.map(function(b){return l(h,b,f,y.get(b)||[])})}function r(h,m){let f=new d;h.forEach(function(y){let x=y.graph().root,b=i(y,x,f,m);b.vs.forEach((N,p)=>y.node(N).order=p),a(y,f,b.vs)})}function g(h,m){Object.values(m).forEach(f=>f.forEach((y,x)=>h.node(y).order=x))}})),Rl=q(((t,e)=>{var n=ve().Graph,o=se();e.exports={positionX:f,findType1Conflicts:i,findType2Conflicts:l,addConflict:d,hasConflict:s,verticalAlignment:c,horizontalCompaction:u,alignCoordinates:h,findSmallestWidthAlignment:g,balance:m};function i(b,N){let p={};function S(k,_){let P=0,j=0,w=k.length,E=_[_.length-1];return _.forEach((O,M)=>{let C=a(b,O),R=C?b.node(C).order:w;(C||O===E)&&(_.slice(j,M+1).forEach(L=>{b.predecessors(L).forEach(H=>{let F=b.node(H),D=F.order;(D<P||R<D)&&!(F.dummy&&b.node(L).dummy)&&d(p,H,L)})}),j=M+1,P=R)}),_}return N.length&&N.reduce(S),p}function l(b,N){let p={};function S(_,P,j,w,E){let O;o.range(P,j).forEach(M=>{O=_[M],b.node(O).dummy&&b.predecessors(O).forEach(C=>{let R=b.node(C);R.dummy&&(R.order<w||R.order>E)&&d(p,C,O)})})}function k(_,P){let j=-1,w,E=0;return P.forEach((O,M)=>{if(b.node(O).dummy==="border"){let C=b.predecessors(O);C.length&&(w=b.node(C[0]).order,S(P,E,M,j,w),E=M,j=w)}S(P,E,P.length,w,_.length)}),P}return N.length&&N.reduce(k),p}function a(b,N){if(b.node(N).dummy)return b.predecessors(N).find(p=>b.node(p).dummy)}function d(b,N,p){if(N>p){let k=N;N=p,p=k}let S=b[N];S||(b[N]=S={}),S[p]=!0}function s(b,N,p){if(N>p){let S=N;N=p,p=S}return!!b[N]&&Object.hasOwn(b[N],p)}function c(b,N,p,S){let k={},_={},P={};return N.forEach(j=>{j.forEach((w,E)=>{k[w]=w,_[w]=w,P[w]=E})}),N.forEach(j=>{let w=-1;j.forEach(E=>{let O=S(E);if(O.length){O=O.sort((C,R)=>P[C]-P[R]);let M=(O.length-1)/2;for(let C=Math.floor(M),R=Math.ceil(M);C<=R;++C){let L=O[C];_[E]===E&&w<P[L]&&!s(p,E,L)&&(_[L]=E,_[E]=k[E]=k[L],w=P[L])}}})}),{root:k,align:_}}function u(b,N,p,S,k){let _={},P=r(b,N,p,k),j=k?"borderLeft":"borderRight";function w(M,C){let R=P.nodes(),L=R.pop(),H={};for(;L;)H[L]?M(L):(H[L]=!0,R.push(L),R=R.concat(C(L))),L=R.pop()}function E(M){_[M]=P.inEdges(M).reduce((C,R)=>Math.max(C,_[R.v]+P.edge(R)),0)}function O(M){let C=P.outEdges(M).reduce((L,H)=>Math.min(L,_[H.w]-P.edge(H)),1/0),R=b.node(M);C!==1/0&&R.borderType!==j&&(_[M]=Math.max(_[M],C))}return w(E,P.predecessors.bind(P)),w(O,P.successors.bind(P)),Object.keys(S).forEach(M=>_[M]=_[p[M]]),_}function r(b,N,p,S){let k=new n,_=b.graph(),P=y(_.nodesep,_.edgesep,S);return N.forEach(j=>{let w;j.forEach(E=>{let O=p[E];if(k.setNode(O),w){var M=p[w],C=k.edge(M,O);k.setEdge(M,O,Math.max(P(b,E,w),C||0))}w=E})}),k}function g(b,N){return Object.values(N).reduce((p,S)=>{let k=-1/0,_=1/0;Object.entries(S).forEach(([j,w])=>{let E=x(b,j)/2;k=Math.max(w+E,k),_=Math.min(w-E,_)});let P=k-_;return P<p[0]&&(p=[P,S]),p},[1/0,null])[1]}function h(b,N){let p=Object.values(N),S=o.applyWithChunking(Math.min,p),k=o.applyWithChunking(Math.max,p);["u","d"].forEach(_=>{["l","r"].forEach(P=>{let j=_+P,w=b[j];if(w===N)return;let E=Object.values(w),O=S-o.applyWithChunking(Math.min,E);P!=="l"&&(O=k-o.applyWithChunking(Math.max,E)),O&&(b[j]=o.mapValues(w,M=>M+O))})})}function m(b,N){return o.mapValues(b.ul,(p,S)=>{if(N)return b[N.toLowerCase()][S];{let k=Object.values(b).map(_=>_[S]).sort((_,P)=>_-P);return(k[1]+k[2])/2}})}function f(b){let N=o.buildLayerMatrix(b),p=Object.assign(i(b,N),l(b,N)),S={},k;return["u","d"].forEach(_=>{k=_==="u"?N:Object.values(N).reverse(),["l","r"].forEach(P=>{P==="r"&&(k=k.map(O=>Object.values(O).reverse()));let j=(_==="u"?b.predecessors:b.successors).bind(b),w=c(b,k,p,j),E=u(b,k,w.root,w.align,P==="r");P==="r"&&(E=o.mapValues(E,O=>-O)),S[_+P]=E})}),h(S,g(b,S)),m(S,b.graph().align)}function y(b,N,p){return(S,k,_)=>{let P=S.node(k),j=S.node(_),w=0,E;if(w+=P.width/2,Object.hasOwn(P,"labelpos"))switch(P.labelpos.toLowerCase()){case"l":E=-P.width/2;break;case"r":E=P.width/2;break}if(E&&(w+=p?E:-E),E=0,w+=(P.dummy?N:b)/2,w+=(j.dummy?N:b)/2,w+=j.width/2,Object.hasOwn(j,"labelpos"))switch(j.labelpos.toLowerCase()){case"l":E=j.width/2;break;case"r":E=-j.width/2;break}return E&&(w+=p?E:-E),E=0,w}}function x(b,N){return b.node(N).width}})),Al=q(((t,e)=>{var n=se(),o=Rl().positionX;e.exports=i;function i(a){a=n.asNonCompoundGraph(a),l(a),Object.entries(o(a)).forEach(([d,s])=>a.node(d).x=s)}function l(a){let d=n.buildLayerMatrix(a),s=a.graph().ranksep,c=0;d.forEach(u=>{let r=u.reduce((g,h)=>{let m=a.node(h).height;return g>m?g:m},0);u.forEach(g=>a.node(g).y=c+r/2),c+=r+s})}})),Bl=q(((t,e)=>{var n=yl(),o=vl(),i=xl(),l=se().normalizeRanks,a=wl(),d=se().removeEmptyRanks,s=El(),c=Sl(),u=Cl(),r=Dl(),g=Al(),h=se(),m=ve().Graph;e.exports=f;function f(I,A){let z=A&&A.debugTiming?h.time:h.notime;z("layout",()=>{let T=z(" buildLayoutGraph",()=>w(I));z(" runLayout",()=>y(T,z,A)),z(" updateInputGraph",()=>x(I,T))})}function y(I,A,z){A(" makeSpaceForEdgeLabels",()=>E(I)),A(" removeSelfEdges",()=>$(I)),A(" acyclic",()=>n.run(I)),A(" nestingGraph.run",()=>s.run(I)),A(" rank",()=>i(h.asNonCompoundGraph(I))),A(" injectEdgeLabelProxies",()=>O(I)),A(" removeEmptyRanks",()=>d(I)),A(" nestingGraph.cleanup",()=>s.cleanup(I)),A(" normalizeRanks",()=>l(I)),A(" assignRankMinMax",()=>M(I)),A(" removeEdgeLabelProxies",()=>C(I)),A(" normalize.run",()=>o.run(I)),A(" parentDummyChains",()=>a(I)),A(" addBorderSegments",()=>c(I)),A(" order",()=>r(I,z)),A(" insertSelfEdges",()=>V(I)),A(" adjustCoordinateSystem",()=>u.adjust(I)),A(" position",()=>g(I)),A(" positionSelfEdges",()=>X(I)),A(" removeBorderNodes",()=>D(I)),A(" normalize.undo",()=>o.undo(I)),A(" fixupEdgeLabelCoords",()=>H(I)),A(" undoCoordinateSystem",()=>u.undo(I)),A(" translateGraph",()=>R(I)),A(" assignNodeIntersects",()=>L(I)),A(" reversePoints",()=>F(I)),A(" acyclic.undo",()=>n.undo(I))}function x(I,A){I.nodes().forEach(z=>{let T=I.node(z),Y=A.node(z);T&&(T.x=Y.x,T.y=Y.y,T.rank=Y.rank,A.children(z).length&&(T.width=Y.width,T.height=Y.height))}),I.edges().forEach(z=>{let T=I.edge(z),Y=A.edge(z);T.points=Y.points,Object.hasOwn(Y,"x")&&(T.x=Y.x,T.y=Y.y)}),I.graph().width=A.graph().width,I.graph().height=A.graph().height}var b=["nodesep","edgesep","ranksep","marginx","marginy"],N={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},p=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],P={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},j=["labelpos"];function w(I){let A=new m({multigraph:!0,compound:!0}),z=U(I.graph());return A.setGraph(Object.assign({},N,Z(z,b),h.pick(z,p))),I.nodes().forEach(T=>{let Y=Z(U(I.node(T)),S);Object.keys(k).forEach(G=>{Y[G]===void 0&&(Y[G]=k[G])}),A.setNode(T,Y),A.setParent(T,I.parent(T))}),I.edges().forEach(T=>{let Y=U(I.edge(T));A.setEdge(T,Object.assign({},P,Z(Y,_),h.pick(Y,j)))}),A}function E(I){let A=I.graph();A.ranksep/=2,I.edges().forEach(z=>{let T=I.edge(z);T.minlen*=2,T.labelpos.toLowerCase()!=="c"&&(A.rankdir==="TB"||A.rankdir==="BT"?T.width+=T.labeloffset:T.height+=T.labeloffset)})}function O(I){I.edges().forEach(A=>{let z=I.edge(A);if(z.width&&z.height){let T=I.node(A.v),Y={rank:(I.node(A.w).rank-T.rank)/2+T.rank,e:A};h.addDummyNode(I,"edge-proxy",Y,"_ep")}})}function M(I){let A=0;I.nodes().forEach(z=>{let T=I.node(z);T.borderTop&&(T.minRank=I.node(T.borderTop).rank,T.maxRank=I.node(T.borderBottom).rank,A=Math.max(A,T.maxRank))}),I.graph().maxRank=A}function C(I){I.nodes().forEach(A=>{let z=I.node(A);z.dummy==="edge-proxy"&&(I.edge(z.e).labelRank=z.rank,I.removeNode(A))})}function R(I){let A=1/0,z=0,T=1/0,Y=0,G=I.graph(),ee=G.marginx||0,ae=G.marginy||0;function ge(oe){let Q=oe.x,de=oe.y,te=oe.width,K=oe.height;A=Math.min(A,Q-te/2),z=Math.max(z,Q+te/2),T=Math.min(T,de-K/2),Y=Math.max(Y,de+K/2)}I.nodes().forEach(oe=>ge(I.node(oe))),I.edges().forEach(oe=>{let Q=I.edge(oe);Object.hasOwn(Q,"x")&&ge(Q)}),A-=ee,T-=ae,I.nodes().forEach(oe=>{let Q=I.node(oe);Q.x-=A,Q.y-=T}),I.edges().forEach(oe=>{let Q=I.edge(oe);Q.points.forEach(de=>{de.x-=A,de.y-=T}),Object.hasOwn(Q,"x")&&(Q.x-=A),Object.hasOwn(Q,"y")&&(Q.y-=T)}),G.width=z-A+ee,G.height=Y-T+ae}function L(I){I.edges().forEach(A=>{let z=I.edge(A),T=I.node(A.v),Y=I.node(A.w),G,ee;z.points?(G=z.points[0],ee=z.points[z.points.length-1]):(z.points=[],G=Y,ee=T),z.points.unshift(h.intersectRect(T,G)),z.points.push(h.intersectRect(Y,ee))})}function H(I){I.edges().forEach(A=>{let z=I.edge(A);if(Object.hasOwn(z,"x"))switch((z.labelpos==="l"||z.labelpos==="r")&&(z.width-=z.labeloffset),z.labelpos){case"l":z.x-=z.width/2+z.labeloffset;break;case"r":z.x+=z.width/2+z.labeloffset;break}})}function F(I){I.edges().forEach(A=>{let z=I.edge(A);z.reversed&&z.points.reverse()})}function D(I){I.nodes().forEach(A=>{if(I.children(A).length){let z=I.node(A),T=I.node(z.borderTop),Y=I.node(z.borderBottom),G=I.node(z.borderLeft[z.borderLeft.length-1]),ee=I.node(z.borderRight[z.borderRight.length-1]);z.width=Math.abs(ee.x-G.x),z.height=Math.abs(Y.y-T.y),z.x=G.x+z.width/2,z.y=T.y+z.height/2}}),I.nodes().forEach(A=>{I.node(A).dummy==="border"&&I.removeNode(A)})}function $(I){I.edges().forEach(A=>{if(A.v===A.w){var z=I.node(A.v);z.selfEdges||(z.selfEdges=[]),z.selfEdges.push({e:A,label:I.edge(A)}),I.removeEdge(A)}})}function V(I){h.buildLayerMatrix(I).forEach(A=>{var z=0;A.forEach((T,Y)=>{var G=I.node(T);G.order=Y+z,(G.selfEdges||[]).forEach(ee=>{h.addDummyNode(I,"selfedge",{width:ee.label.width,height:ee.label.height,rank:G.rank,order:Y+ ++z,e:ee.e,label:ee.label},"_se")}),delete G.selfEdges})})}function X(I){I.nodes().forEach(A=>{var z=I.node(A);if(z.dummy==="selfedge"){var T=I.node(z.e.v),Y=T.x+T.width/2,G=T.y,ee=z.x-Y,ae=T.height/2;I.setEdge(z.e,z.label),I.removeNode(A),z.label.points=[{x:Y+2*ee/3,y:G-ae},{x:Y+5*ee/6,y:G-ae},{x:Y+ee,y:G},{x:Y+5*ee/6,y:G+ae},{x:Y+2*ee/3,y:G+ae}],z.label.x=z.x,z.label.y=z.y}})}function Z(I,A){return h.mapValues(h.pick(I,A),Number)}function U(I){var A={};return I&&Object.entries(I).forEach(([z,T])=>{typeof z=="string"&&(z=z.toLowerCase()),A[z]=T}),A}})),zl=q(((t,e)=>{var n=se(),o=ve().Graph;e.exports={debugOrdering:i};function i(l){let a=n.buildLayerMatrix(l),d=new o({compound:!0,multigraph:!0}).setGraph({});return l.nodes().forEach(s=>{d.setNode(s,{label:s}),d.setParent(s,"layer"+l.node(s).rank)}),l.edges().forEach(s=>d.setEdge(s.v,s.w,{},s.name)),a.forEach((s,c)=>{let u="layer"+c;d.setNode(u,{rank:"same"}),s.reduce((r,g)=>(d.setEdge(r,g,{style:"invis"}),g))}),d}})),Ll=q(((t,e)=>{e.exports="1.1.8"})),tr=q(((t,e)=>{e.exports={graphlib:ve(),layout:Bl(),debug:zl(),util:{time:se().time,notime:se().notime},version:Ll()}}))(),ut=new tr.graphlib.Graph().setDefaultEdgeLabel(()=>({}));const nr=({nodes:t,edges:e,direction:n})=>(ut.setGraph({rankdir:n,nodesep:150,ranksep:200,ranker:"longest-path"}),e.forEach(o=>ut.setEdge(o.source,o.target)),t.forEach(o=>ut.setNode(o.id,{...o,width:o.width??0,height:o.height??0})),(0,tr.layout)(ut),{nodes:t.map(o=>{let{x:i,y:l}=ut.node(o.id);return{...o,position:{x:i,y:l}}}),edges:e});var $l=Re();function Tl(){let t=(0,$l.c)(7),e=lt(),n=ne(Vl),o=ne(Hl),i;t[0]===e?i=t[1]:(i=()=>{e.fitView({duration:100})},t[0]=e,t[1]=i);let l=Ea(i,100),a,d;t[2]!==l||t[3]!==o||t[4]!==n?(a=()=>{!n||!o||l()},d=[n,o,l],t[2]=l,t[3]=o,t[4]=n,t[5]=a,t[6]=d):(a=t[5],d=t[6]),(0,v.useEffect)(a,d)}function Hl(t){let{height:e}=t;return e}function Vl(t){let{width:e}=t;return e}var Xl=Re(),or=new Js;const Fl=t=>{let e=(0,Xl.c)(43),{cellIds:n,variables:o,cellAtoms:i,children:l,layoutDirection:a,settings:d}=t,s;e[0]!==i||e[1]!==n||e[2]!==a||e[3]!==d.hidePureMarkdown||e[4]!==o?(s=()=>{let D=or.createElements(n,i,o,d.hidePureMarkdown);return D=nr({nodes:D.nodes,edges:D.edges,direction:a}),D},e[0]=i,e[1]=n,e[2]=a,e[3]=d.hidePureMarkdown,e[4]=o,e[5]=s):s=e[5];let[c]=(0,v.useState)(s),[u,r,g]=Bs(c.nodes),[h,m,f]=zs(c.edges),y=lt(),x;e[6]!==a||e[7]!==m||e[8]!==r?(x=D=>{let $=nr({nodes:D.nodes,edges:D.edges,direction:a});r($.nodes),m($.edges)},e[6]=a,e[7]=m,e[8]=r,e[9]=x):x=e[9];let b=Fr(x),N,p;e[10]!==i||e[11]!==n||e[12]!==d.hidePureMarkdown||e[13]!==b||e[14]!==o?(N=()=>{b(or.createElements(n,i,o,d.hidePureMarkdown))},p=[n,o,i,b,d.hidePureMarkdown],e[10]=i,e[11]=n,e[12]=d.hidePureMarkdown,e[13]=b,e[14]=o,e[15]=N,e[16]=p):(N=e[15],p=e[16]),(0,v.useEffect)(N,p);let[S,k]=(0,v.useState)();Tl();let _;e[17]===Symbol.for("react.memo_cache_sentinel")?(_=()=>{k(void 0)},e[17]=_):_=e[17];let P=_,j,w,E;e[18]===Symbol.for("react.memo_cache_sentinel")?(j={minZoom:.5,maxZoom:1.5},w=(D,$)=>{k({type:"node",id:$.id})},E=(D,$)=>{let{source:V,target:X}=$;k({type:"edge",source:V,target:X})},e[18]=j,e[19]=w,e[20]=E):(j=e[18],w=e[19],E=e[20]);let O;e[21]===Symbol.for("react.memo_cache_sentinel")?(O=(0,B.jsx)(Us,{color:"#ccc",variant:ye.Dots}),e[21]=O):O=e[21];let M;e[22]!==y||e[23]!==u?(M=()=>{let D=Pt.get(Na);if(D){let $=u.find(V=>V.id===D);$&&(y.fitView({padding:1,duration:600,nodes:[$]}),k({type:"node",id:D}))}},e[22]=y,e[23]=u,e[24]=M):M=e[24];let C;e[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,B.jsx)(La,{className:"size-4"}),e[25]=C):C=e[25];let R;e[26]===M?R=e[27]:(R=(0,B.jsx)(Fs,{position:"bottom-right",showInteractive:!1,children:(0,B.jsx)(ma,{content:"Jump to focused cell",delayDuration:200,side:"left",asChild:!1,children:(0,B.jsx)(et,{onMouseDown:ra.preventFocus,onClick:M,children:C})})}),e[26]=M,e[27]=R);let L;e[28]!==h||e[29]!==S||e[30]!==o?(L=(0,B.jsx)(Ko,{selection:S,variables:o,edges:h,onClearSelection:P}),e[28]=h,e[29]=S,e[30]=o,e[31]=L):L=e[31];let H;e[32]!==l||e[33]!==h||e[34]!==u||e[35]!==f||e[36]!==g||e[37]!==R||e[38]!==L?(H=(0,B.jsxs)($o,{nodes:u,edges:h,nodeTypes:el,minZoom:.2,fitViewOptions:j,onNodeClick:w,onEdgeClick:E,onNodeDoubleClick:Wl,fitView:!0,onNodesChange:g,onEdgesChange:f,zoomOnDoubleClick:!1,nodesConnectable:!1,children:[O,R,L,l]}),e[32]=l,e[33]=h,e[34]=u,e[35]=f,e[36]=g,e[37]=R,e[38]=L,e[39]=H):H=e[39];let F;return e[40]!==a||e[41]!==H?(F=(0,B.jsx)(Fo,{value:a,children:H}),e[40]=a,e[41]=H,e[42]=F):F=e[42],F};function Wl(t,e){Sa(e.id,"focus")}var Yl=Re(),Zl=jt("TB"),Kl=jt({hidePureMarkdown:!0});const Gl=t=>{let e=(0,Yl.c)(13),[n,o]=bn(Zl),[i,l]=bn(Kl),a;e[0]!==n||e[1]!==o||e[2]!==l||e[3]!==i?(a=(0,B.jsx)(Zo,{settings:i,onSettingsChange:l,view:n,onChange:o}),e[0]=n,e[1]=o,e[2]=l,e[3]=i,e[4]=a):a=e[4];let d;e[5]!==n||e[6]!==t||e[7]!==i||e[8]!==a?(d=(0,B.jsx)(Fl,{...t,settings:i,layoutDirection:n,children:a}),e[5]=n,e[6]=t,e[7]=i,e[8]=a,e[9]=d):d=e[9];let s;return e[10]!==n||e[11]!==d?(s=(0,B.jsx)(un,{children:d},n),e[10]=n,e[11]=d,e[12]=s):s=e[12],s};function pn(t,e,n=new Set){if(n.has(t))return new Set;n.add(t);let o=new Set;for(let i of e(t)){o.add(i);for(let l of pn(i,e,n))o.add(l)}return o}function Ul(t,e){var i,l,a;let n=new Map;for(let d of t)n.set(d,{variables:new Set,parents:new Set,children:new Set});for(let d of Object.values(e))if(d.dataType!=="module")for(let s of d.declaredBy){(i=n.get(s))==null||i.variables.add(d.name);for(let c of d.usedBy)s!==c&&((l=n.get(c))==null||l.parents.add(s),(a=n.get(s))==null||a.children.add(c))}let o={};for(let[d,s]of n.entries())o[d]={parents:s.parents,children:s.children,variables:[...s.variables],ancestors:pn(d,c=>{var u;return((u=n.get(c))==null?void 0:u.parents)??new Set}),descendants:pn(d,c=>{var u;return((u=n.get(c))==null?void 0:u.children)??new Set})};return o}const ql=jt(t=>{let e=t(qr),n=t(Jr);return Ul(e.inOrderIds,n)});function Jl(t,e){return e?t.usedBy.includes(e.id)||t.declaredBy.includes(e.id)?!0:t.declaredBy.some(n=>e.graph.parents.has(n))?t.usedBy.some(n=>e.graph.parents.has(n)):!!t.declaredBy.some(n=>e.graph.children.has(n)):!1}var kt=Re(),Ql=t=>{let e=(0,kt.c)(43),n=It(ka),o=It(ql),i=ta(),l=Ca(),a=t.cellId,d=o[t.cellId],s=Ur(t.cellId),c=s.code,u=Kr(t.cellId),r,g,h,m,f,y,x,b,N,p,S;if(e[0]!==i||e[1]!==l||e[2]!==n.focusedCellId||e[3]!==o||e[4]!==t.cellId||e[5]!==d||e[6]!==s.code||e[7]!==u.errored){r={id:a,graph:d,code:c,hasError:u.errored},n.focusedCellId&&o[n.focusedCellId]&&(m={id:n.focusedCellId,graph:o[n.focusedCellId]}),h=(m==null?void 0:m.id)===r.id,g=ar(r.graph)?1.5:3;let w=()=>{h?l.blurCell():(i.focusCell({cellId:r.id,where:"exact"}),l.focusCell({cellId:r.id}))};b="button",N=r.id;let E=h?"text-primary-foreground":"text-(--gray-8) hover:text-(--gray-9)";e[19]===E?p=e[20]:(p=Ve("group bg-transparent text-left w-full flex relative justify-between items-center","border-none rounded cursor-pointer","h-[21px] pl-[51px] font-inherit",E),e[19]=E,e[20]=p),S=w,f=id;let O=h&&"bg-primary group-hover:bg-primary",M;e[21]===O?M=e[22]:(M=Ve("group-hover:bg-(--gray-2) flex h-full w-full px-0.5 items-center rounded",O),e[21]=O,e[22]=M),y=(0,B.jsx)("div",{className:M,children:(0,B.jsx)("div",{className:"truncate px-1 font-mono text-sm flex gap-1",title:r.code,children:r.graph.variables.length>0?(0,B.jsx)(td,{cell:r,selectedCell:m}):(0,B.jsx)("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap max-w-full",children:ed(r.code)??(0,B.jsx)("span",{className:"italic",children:"empty"})})})}),x=Ve("absolute overflow-visible top-[10.5px] left-[calc(var(--spacing-extra-small,8px)+17px)] pointer-events-none",h?"z-[1]":"z-0",rd({cell:r,selectedCell:m})),e[0]=i,e[1]=l,e[2]=n.focusedCellId,e[3]=o,e[4]=t.cellId,e[5]=d,e[6]=s.code,e[7]=u.errored,e[8]=r,e[9]=g,e[10]=h,e[11]=m,e[12]=f,e[13]=y,e[14]=x,e[15]=b,e[16]=N,e[17]=p,e[18]=S}else r=e[8],g=e[9],h=e[10],m=e[11],f=e[12],y=e[13],x=e[14],b=e[15],N=e[16],p=e[17],S=e[18];let k;e[23]===r.id?k=e[24]:(k=(0,B.jsxs)("title",{children:["Cell dependency connections for cell ",r.id]}),e[23]=r.id,e[24]=k);let _;e[25]!==r||e[26]!==g||e[27]!==h||e[28]!==t.cellPositions||e[29]!==m?(_=h?(0,B.jsx)(nd,{cell:r,cellPositions:t.cellPositions,circleRadius:g}):(0,B.jsx)(od,{cell:r,selectedCell:m,circleRadius:g}),e[25]=r,e[26]=g,e[27]=h,e[28]=t.cellPositions,e[29]=m,e[30]=_):_=e[30];let P;e[31]!==k||e[32]!==_||e[33]!==x?(P=(0,B.jsxs)("svg",{className:x,width:"1",height:"1",children:[k,_]}),e[31]=k,e[32]=_,e[33]=x,e[34]=P):P=e[34];let j;return e[35]!==f||e[36]!==y||e[37]!==P||e[38]!==b||e[39]!==N||e[40]!==p||e[41]!==S?(j=(0,B.jsxs)("button",{type:b,"data-node-id":N,className:p,onClick:S,onMouseDown:f,children:[y,P]}),e[35]=f,e[36]=y,e[37]=P,e[38]=b,e[39]=N,e[40]=p,e[41]=S,e[42]=j):j=e[42],j};function ed(t){return t.split(`
4
4
  `)[0].trim()||void 0}var td=t=>{let e=(0,kt.c)(11),{cell:n,selectedCell:o}=t,i=wn(),l=n.id===(o==null?void 0:o.id),a;if(e[0]!==n.graph.variables||e[1]!==l||e[2]!==o||e[3]!==i){let s;e[5]!==l||e[6]!==o||e[7]!==i?(s=(c,u)=>{let r=i[c];return(0,B.jsxs)(v.Fragment,{children:[u>0&&", ",(0,B.jsx)("span",{className:Ve({"font-bold":l,"text-foreground":o===void 0,"text-primary font-medium":!l&&Jl(r,o)}),children:c})]},c)},e[5]=l,e[6]=o,e[7]=i,e[8]=s):s=e[8],a=n.graph.variables.map(s),e[0]=n.graph.variables,e[1]=l,e[2]=o,e[3]=i,e[4]=a}else a=e[4];let d;return e[9]===a?d=e[10]:(d=(0,B.jsx)(B.Fragment,{children:a}),e[9]=a,e[10]=d),d},nd=t=>{let e=(0,kt.c)(12),{cell:n,cellPositions:o,circleRadius:i}=t,l;if(e[0]!==n.graph.children||e[1]!==n.graph.parents||e[2]!==n.id||e[3]!==o){l=[];let c=o[n.id]??0,u=new Set;for(let r of n.graph.parents)n.graph.children.has(r)&&u.add(r);for(let r of u){let g=o[r];if(g!==void 0){let h=(g-c)*21;l.push((0,B.jsx)("path",{d:`M -3 0 H -7 v ${h} h 14 v ${-h} H 3`,fill:"none",strokeWidth:"2",stroke:"currentColor"},`${n.id}-cycle-${r}`))}}for(let r of n.graph.parents){if(u.has(r))continue;let g=o[r];if(g!==void 0){let h=(g-c)*21;l.push((0,B.jsx)("path",{d:`M -3 0 H -7 v ${h} h -4`,fill:"none",strokeWidth:"2",stroke:"currentColor"},`${n.id}-up-${r}`))}}for(let r of n.graph.children){if(u.has(r))continue;let g=o[r];if(g!==void 0){let h=(g-c)*21;l.push((0,B.jsx)("path",{d:`M 3 0 H 7 v ${h} h 4`,fill:"none",strokeWidth:"2",stroke:"currentColor"},`${n.id}-down-${r}`))}}e[0]=n.graph.children,e[1]=n.graph.parents,e[2]=n.id,e[3]=o,e[4]=l}else l=e[4];let a;e[5]===i?a=e[6]:(a=(0,B.jsx)("circle",{r:i,fill:"currentColor",className:"pointer-events-auto"}),e[5]=i,e[6]=a);let d;e[7]===l?d=e[8]:(d=(0,B.jsx)("g",{className:"pen pointer-events-auto",children:l}),e[7]=l,e[8]=d);let s;return e[9]!==a||e[10]!==d?(s=(0,B.jsxs)("g",{transform:"translate(0, 0)",children:[a,d]}),e[9]=a,e[10]=d,e[11]=s):s=e[11],s};function od(t){let{cell:e,selectedCell:n,circleRadius:o}=t,i=e.graph.ancestors.size>0,l=e.graph.descendants.size>0;if(!n)return rr({circleRadius:o,leftWisker:i,rightWisker:l});let a=n.graph.ancestors.has(e.id),d=n.graph.descendants.has(e.id);return rr(a||d?{circleRadius:o,leftWisker:i,rightWisker:l,shift:a&&d?void 0:a?"left":"right"}:{circleRadius:o,leftWisker:!1,rightWisker:!1})}function rr(t){let{circleRadius:e,leftWisker:n,rightWisker:o,shift:i}=t;return(0,B.jsxs)("g",{transform:`translate(${i===void 0?0:i==="left"?-14:14}, 0)`,children:[(0,B.jsxs)("g",{children:[n&&(0,B.jsx)("path",{d:"M 0 0 h -8",fill:"none",strokeWidth:"2",stroke:"currentColor"}),o&&(0,B.jsx)("path",{d:"M 0 0 h 8",fill:"none",strokeWidth:"2",stroke:"currentColor"})]}),(0,B.jsx)("circle",{r:e,fill:"currentColor",className:"pointer-events-auto"})]})}function rd({cell:t,selectedCell:e}){return t.hasError?"text-destructive":!e&&!ar(t.graph)?"text-foreground":(e==null?void 0:e.id)===t.id||e!=null&&e.graph.parents.has(t.id)||e!=null&&e.graph.children.has(t.id)?"text-primary":"text-(--gray-8)"}function ar(t){return t.variables.length===0&&t.ancestors.size===0&&t.descendants.size===0}const ad=()=>{let t=(0,kt.c)(16),e=Dt(),n;t[0]===e.inOrderIds?n=t[1]:(n=Object.fromEntries(e.inOrderIds.map(sd)),t[0]=e.inOrderIds,t[1]=n);let o=n,i;if(t[2]!==e){i=[];let c=0;for(let[u,r]of e.getColumns().entries())u>0&&i.push(c),c+=r.inOrderIds.length;t[2]=e,t[3]=i}else i=t[3];let l;if(t[4]!==e.inOrderIds||t[5]!==o||t[6]!==i){let c;t[8]!==o||t[9]!==i?(c=(u,r)=>{let g=i.includes(r);return(0,B.jsxs)(v.Fragment,{children:[g&&(0,B.jsx)("div",{className:"absolute left-5 w-[36px] h-px bg-(--gray-4) pointer-events-none","aria-hidden":"true"}),(0,B.jsx)(Ql,{cellId:u,cellPositions:o})]},u)},t[8]=o,t[9]=i,t[10]=c):c=t[10],l=e.inOrderIds.map(c),t[4]=e.inOrderIds,t[5]=o,t[6]=i,t[7]=l}else l=t[7];let a;t[11]===l?a=t[12]:(a=(0,B.jsx)("div",{className:"py-3 pl-3 pr-4 relative min-h-full",children:l}),t[11]=l,t[12]=a);let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,B.jsx)("div",{className:"h-0 overflow-hidden","aria-hidden":"true"}),t[13]=d):d=t[13];let s;return t[14]===a?s=t[15]:(s=(0,B.jsxs)("div",{className:"overflow-y-auto overflow-x-hidden flex-1 scrollbar-none h-full max-w-80",children:[a,d]}),t[14]=a,t[15]=s),s};function id(t){return t.preventDefault()}function sd(t,e){return[t,e]}var ld=Re(),dd=()=>{let t=(0,ld.c)(13),{dependencyPanelTab:e,setDependencyPanelTab:n}=la(),o=wn(),i=Dt(),[l]=Zr(),a=Aa()==="developer-panel",d;t[0]===Symbol.for("react.memo_cache_sentinel")?(d=Ve("w-full h-full flex-1 mx-auto -mb-4 flex flex-col"),t[0]=d):d=t[0];let s;t[1]!==e||t[2]!==n||t[3]!==a?(s=a&&(0,B.jsx)("div",{className:"p-2 shrink-0",children:(0,B.jsx)(xa,{value:e,onValueChange:r=>{(r==="minimap"||r==="graph")&&n(r)},children:(0,B.jsxs)(va,{children:[(0,B.jsx)(En,{value:"minimap",className:"py-0.5 text-xs uppercase tracking-wide font-bold",children:"Minimap"}),(0,B.jsx)(En,{value:"graph",className:"py-0.5 text-xs uppercase tracking-wide font-bold",children:"Graph"})]})})}),t[1]=e,t[2]=n,t[3]=a,t[4]=s):s=t[4];let c;t[5]!==i||t[6]!==l||t[7]!==e||t[8]!==o?(c=(0,B.jsx)("div",{className:"flex-1 min-h-0 relative",children:e==="minimap"?(0,B.jsx)(ad,{}):(0,B.jsx)(Gl,{cellAtoms:l,variables:o,cellIds:i.inOrderIds})}),t[5]=i,t[6]=l,t[7]=e,t[8]=o,t[9]=c):c=t[9];let u;return t[10]!==s||t[11]!==c?(u=(0,B.jsxs)("div",{className:d,children:[s,c]}),t[10]=s,t[11]=c,t[12]=u):u=t[12],u};export{dd as default};