@decocms/mesh 2.4.1 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-TGmdMHIF.js → AlertCircle-CZPV4eTQ.js} +1 -1
- package/dist/client/assets/{ArrowLeft-BINtoZZZ.js → ArrowLeft-DQOG1GuJ.js} +1 -1
- package/dist/client/assets/{ChevronDown-BK3AVOT-.js → ChevronDown-Cdy__m-8.js} +1 -1
- package/dist/client/assets/{ChevronRight-DtsM7p2S.js → ChevronRight-SzPzGSNO.js} +1 -1
- package/dist/client/assets/{Copy01-DR7F87HJ.js → Copy01-DS49wIzW.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-DzPdLBgT.js → DotsHorizontal-BSoB0mo2.js} +1 -1
- package/dist/client/assets/{DotsVertical-CAgcl9Nx.js → DotsVertical-eZBspOrA.js} +1 -1
- package/dist/client/assets/{File06-BBkB2xcW.js → File06-CUqAuIUq.js} +1 -1
- package/dist/client/assets/{FilterLines-BJ1Mzzk8.js → FilterLines-BTBF9JAn.js} +1 -1
- package/dist/client/assets/{FlipBackward-k94gcKB-.js → FlipBackward-BRcPqCms.js} +1 -1
- package/dist/client/assets/{GitBranch01-DpZrs5Tm.js → GitBranch01-DovnqKJf.js} +1 -1
- package/dist/client/assets/{Grid01-CjG1MhCn.js → Grid01-R-k411L-.js} +1 -1
- package/dist/client/assets/{Inbox01-Upf-zaTh.js → Inbox01-bvdCozgs.js} +1 -1
- package/dist/client/assets/{InfoCircle-D0ub9sBN.js → InfoCircle-r2yyYHHv.js} +1 -1
- package/dist/client/assets/{Key01-DxPiILFd.js → Key01-BWe_1dg2.js} +1 -1
- package/dist/client/assets/{LinkExternal01-CHOKjLK7.js → LinkExternal01-BklnopGx.js} +1 -1
- package/dist/client/assets/{Loading01-SsObGWAz.js → Loading01-C0_l8AxO.js} +1 -1
- package/dist/client/assets/{Lock01-BNeMpTym.js → Lock01-C7_8eECJ.js} +1 -1
- package/dist/client/assets/{Play-BhrWuuol.js → Play-CWJY4nY_.js} +1 -1
- package/dist/client/assets/{Plus-8y1IlIPd.js → Plus-KTlOMNSY.js} +1 -1
- package/dist/client/assets/{Terminal-C1_jmxYZ.js → Terminal-DDfP4x2i.js} +1 -1
- package/dist/client/assets/{Trash01-zvVvKDK-.js → Trash01-BMJLKtdF.js} +1 -1
- package/dist/client/assets/{X-CLmMmD4k.js → X-BFdZnqth.js} +1 -1
- package/dist/client/assets/{XClose-Crj2jcf3.js → XClose-DTyQuBBY.js} +1 -1
- package/dist/client/assets/{alert-dialog-CGM0OszQ.js → alert-dialog-Dz8Vs8_m.js} +1 -1
- package/dist/client/assets/{auth-aI2y92hJ.js → auth-CJNQiaii.js} +1 -1
- package/dist/client/assets/{auth-catchall-DaVUr_EC.js → auth-catchall-qU76xBKm.js} +1 -1
- package/dist/client/assets/{avatar-Bq9ks0Pl.js → avatar-D4SXwEgs.js} +1 -1
- package/dist/client/assets/{badge-Dj8dfrNj.js → badge-99kEJDtp.js} +1 -1
- package/dist/client/assets/{card-vC4mNiDf.js → card-DZuxbKf1.js} +1 -1
- package/dist/client/assets/{checkbox-Dt08AWK8.js → checkbox-Bp9oZUjM.js} +1 -1
- package/dist/client/assets/{collection-detail-DadWsPlX.js → collection-detail-BB7cjHq1.js} +1 -1
- package/dist/client/assets/{collection-display-button-e9twft84.js → collection-display-button-CqzsQ6A1.js} +1 -1
- package/dist/client/assets/{collection-header-BiaWIP7C.js → collection-header-BQqQNO9q.js} +1 -1
- package/dist/client/assets/{collection-page-Bz9mmpcE.js → collection-page-DlOERJnr.js} +1 -1
- package/dist/client/assets/{collection-search-CPMmySot.js → collection-search-CIs95Rnw.js} +1 -1
- package/dist/client/assets/{collection-tab-CVAyIlOS.js → collection-tab-BPPicFWO.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BADFN6Hp.js → collection-table-wrapper-D1OlmFUL.js} +1 -1
- package/dist/client/assets/{connection-card-Cjreiq7B.js → connection-card-Dm43-Wul.js} +1 -1
- package/dist/client/assets/{connection-detail-CJp1XMbW.js → connection-detail-DXNZMYLL.js} +1 -1
- package/dist/client/assets/{connections-DMhjwA8t.js → connections-BB4IEP_5.js} +1 -1
- package/dist/client/assets/constants-BSLIcG1u.js +1 -0
- package/dist/client/assets/{create-organization-dialog-oss2fm4n.js → create-organization-dialog-miyo8zQR.js} +1 -1
- package/dist/client/assets/{dialog-C-ka-Xj8.js → dialog-DK6VaggX.js} +1 -1
- package/dist/client/assets/{dropdown-menu-DzZqc1t6.js → dropdown-menu-DTGJCwi0.js} +1 -1
- package/dist/client/assets/{empty-state-BSBQdkCj.js → empty-state-DVGQ1BWZ.js} +1 -1
- package/dist/client/assets/{env-vars-editor-BVQ1A8_4.js → env-vars-editor-BG99RDNZ.js} +1 -1
- package/dist/client/assets/{error-boundary-DGXqcVf6.js → error-boundary-9rVpFVah.js} +1 -1
- package/dist/client/assets/{extract-connection-data-HIXRNNXB.js → extract-connection-data-E0zDRO9-.js} +1 -1
- package/dist/client/assets/{form-9qUOZbwn.js → form-BGufVhpJ.js} +1 -1
- package/dist/client/assets/{gateway-detail-CNPoyMXT.js → gateway-detail-IUdVxLB4.js} +1 -1
- package/dist/client/assets/{gateway-selector-JYNwjZsa.js → gateway-selector-CuwGVcxw.js} +1 -1
- package/dist/client/assets/{gateways-CpU1KhRZ.js → gateways-BA7lpBES.js} +1 -1
- package/dist/client/assets/{home-Dqf1G9-q.js → home-B5o9i0BD.js} +1 -1
- package/dist/client/assets/{index-CBpvbNSd.js → index-CaBiIG-r.js} +1 -1
- package/dist/client/assets/{index-DCfQDS4n.js → index-DHr9tFb0.js} +26 -26
- package/dist/client/assets/{index-CSlqqeJk.js → index-Rcp5vvtf.js} +1 -1
- package/dist/client/assets/{input-WVV54eVk.js → input-C4WvdKkR.js} +1 -1
- package/dist/client/assets/{layout-ZZ4G2_c5.js → layout-9R3rtCy3.js} +1 -1
- package/dist/client/assets/{lazy-highlighter-DKvVX1gV.js → lazy-highlighter-rNRrmjMV.js} +1 -1
- package/dist/client/assets/{localstorage-keys-Dor7joil.js → localstorage-keys-DrIZl-Oa.js} +1 -1
- package/dist/client/assets/{login-Dd0hj-db.js → login-CaUUYoaL.js} +1 -1
- package/dist/client/assets/{mcp-oauth-D0theXrg.js → mcp-oauth-BPterAhB.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-CxHUmj_A.js → mcp-server-detail-BmtUegeN.js} +1 -1
- package/dist/client/assets/{members-BgFvubI6.js → members-Dha-TTi3.js} +1 -1
- package/dist/client/assets/{monaco-editor-Bm5BVoZ7.js → monaco-editor-fWj67pSD.js} +1 -1
- package/dist/client/assets/{monitoring-BVmdbhMk.js → monitoring-BHqKCRpc.js} +1 -1
- package/dist/client/assets/{oauth-callback-Ch27pAVh.js → oauth-callback-C8SrcUYM.js} +1 -1
- package/dist/client/assets/{page-DYsofuQq.js → page-CB2Kbqif.js} +1 -1
- package/dist/client/assets/{page-rReiZmpW.js → page-D_pWRusE.js} +1 -1
- package/dist/client/assets/{pin-to-sidebar-button-DdtbRgQM.js → pin-to-sidebar-button-Bau5uIKK.js} +1 -1
- package/dist/client/assets/{popover-FpmWXRwH.js → popover-B1hj_ypq.js} +1 -1
- package/dist/client/assets/{project-context-provider-D985fJeG.js → project-context-provider-SYQQWwHt.js} +1 -1
- package/dist/client/assets/{resizable-D5wbpnZ3.js → resizable-oOXY1Kb2.js} +1 -1
- package/dist/client/assets/{resource-tabs-DVaYCSdX.js → resource-tabs-DXcOsIua.js} +1 -1
- package/dist/client/assets/{select-C9QeOQVg.js → select-58kzPmSH.js} +1 -1
- package/dist/client/assets/{settings-DPNe8EJ-.js → settings-C8uZUL9P.js} +1 -1
- package/dist/client/assets/{shell-layout-tK0BgVnF.js → shell-layout-BXan9A9l.js} +1 -1
- package/dist/client/assets/{spinner-eOV3EISI.js → spinner-BmiYLJkt.js} +1 -1
- package/dist/client/assets/{switch-FZ_AielF.js → switch-D3qS-cJT.js} +1 -1
- package/dist/client/assets/{textarea-D4FkZQZk.js → textarea-KpHZNzGY.js} +1 -1
- package/dist/client/assets/{thread-history-popover-CWsU58g9.js → thread-history-popover-DrZ24omE.js} +4 -4
- package/dist/client/assets/{tools-list-Dw7qSVbL.js → tools-list-BQ6I_zS0.js} +1 -1
- package/dist/client/assets/{use-binding-C_Hb3eVh.js → use-binding-DxCldqD_.js} +9 -9
- package/dist/client/assets/{use-connection-BlDO8HcL.js → use-connection-gZqQ1FAI.js} +1 -1
- package/dist/client/assets/{use-connection-resources-BpjjJYpx.js → use-connection-resources-CBnleHDw.js} +1 -1
- package/dist/client/assets/{use-gateway-BFk8cz_B.js → use-gateway-BAeublLm.js} +1 -1
- package/dist/client/assets/{use-gateway-system-prompt-BJCW0Yy7.js → use-gateway-system-prompt-DcPNvMKK.js} +1 -1
- package/dist/client/assets/{use-list-state-CW9K7-cx.js → use-list-state-_DXZxdCV.js} +1 -1
- package/dist/client/assets/{use-mcp-DBNMFBqm.js → use-mcp-DVQixgJB.js} +1 -1
- package/dist/client/assets/{use-members-leu0emGt.js → use-members-Ba-WS8jO.js} +1 -1
- package/dist/client/assets/{use-mobile-CGm_Humj.js → use-mobile-CXfyAVoY.js} +1 -1
- package/dist/client/assets/{use-organization-settings-CxjRcV6F.js → use-organization-settings-g1OUF8Uc.js} +1 -1
- package/dist/client/assets/{use-tool-call-ulH9NkwN.js → use-tool-call-DYbV_cs9.js} +1 -1
- package/dist/client/assets/{useQueries-LRzp8Ajc.js → useQueries-DAJGlQiv.js} +1 -1
- package/dist/client/assets/useQuery--jXLy0yb.js +1 -0
- package/dist/client/assets/{value-D-53VvaP.js → value-DqDh9HyF.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-CUuKZKt7.js → view-mode-toggle-DAKbBF5Z.js} +1 -1
- package/dist/client/assets/{workflow-CQa8c1dS.js → workflow-BO9cHs1L.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +122 -122
- package/dist/server/migrate.js +2 -2
- package/dist/server/server.js +126 -126
- package/package.json +1 -1
- package/dist/client/assets/constants-5M5y3_yy.js +0 -1
- package/dist/client/assets/useQuery-DMJqaseW.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,j as e}from"./index-
|
|
1
|
+
import{r as i,j as e}from"./index-DHr9tFb0.js";import{i as n}from"./Loading01-C0_l8AxO.js";import{h as l}from"./mcp-oauth-BPterAhB.js";import"./auth-CJNQiaii.js";function x(){const[s,c]=i.useState(null),[r,a]=i.useState(!1);return i.useEffect(()=>{(async()=>{try{const t=await l();if(!t.success){c(t.error||"MCP authentication failed"),setTimeout(()=>{window.close()},3e3);return}a(!0),setTimeout(()=>{window.close()},1500)}catch(t){c(t instanceof Error?t.message:String(t)),setTimeout(()=>{window.close()},3e3)}})()},[]),e.jsx("div",{className:"min-h-screen flex items-center justify-center p-8 bg-background",children:e.jsxs("div",{className:"w-full max-w-md flex flex-col items-center justify-center gap-8",children:[r&&e.jsx("img",{src:"/empty-state-success.svg",alt:"",width:220,height:200,"aria-hidden":"true"}),!r&&!s&&e.jsx("div",{className:"flex items-center justify-center py-4",children:e.jsx(n,{size:32,className:"animate-spin text-primary"})}),s&&e.jsx("img",{src:"/empty-state-error.svg",alt:"",width:220,height:200,"aria-hidden":"true"}),e.jsxs("div",{className:"flex flex-col items-center gap-2 text-center",children:[e.jsx("h2",{className:"text-lg font-medium text-foreground",children:s?"Authentication Failed":r?"Authentication Successful":"Authentication in progress..."}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"mb-2",children:"An error occurred during authentication:"}),e.jsx("p",{className:"text-destructive",children:s}),e.jsxs("p",{className:"mt-2",children:[e.jsx("br",{}),"This window will close automatically."]})]}):r?e.jsxs("p",{children:["Authentication complete.",e.jsx("br",{}),"This window will close automatically."]}):e.jsx("p",{children:"Processing authentication..."})})]})]})})}export{x as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as z,y as Zi,z as Wi,j as m,c as fe,h as Rt,i as Gi,a as qi,t as Un}from"./index-DCfQDS4n.js";import{f as Ki,D as Ui,u as Qn,a as Qi,b as Ji,d as ea,c as ta,e as na,N as oa,C as le,M as Jn,U as ra,G as sa,g as ia,T as aa}from"./thread-history-popover-CWsU58g9.js";import{E as un}from"./error-boundary-DGXqcVf6.js";import{u as er,c as ca,I as tr,n as la}from"./use-connection-BlDO8HcL.js";import{u as nr,i as ua}from"./use-gateway-BFk8cz_B.js";import{u as da}from"./use-binding-C_Hb3eVh.js";import{u as or,L as fa}from"./localstorage-keys-Dor7joil.js";import{u as Sn}from"./project-context-provider-D985fJeG.js";import{c as rr,B as sr}from"./input-WVV54eVk.js";import{V as ha}from"./view-mode-toggle-CUuKZKt7.js";import{i as ga}from"./GitBranch01-DpZrs5Tm.js";import{i as pa}from"./Loading01-SsObGWAz.js";import{s as ma}from"./Plus-8y1IlIPd.js";import{u as ya}from"./use-tool-call-ulH9NkwN.js";import{i as Te,a as eo,b as xa,c as to,d as en,T as tn,e as wa}from"./value-D-53VvaP.js";import{G as no}from"./gateway-selector-JYNwjZsa.js";import"./use-gateway-system-prompt-BJCW0Yy7.js";import"./popover-FpmWXRwH.js";import"./AlertCircle-TGmdMHIF.js";import"./X-CLmMmD4k.js";import"./Grid01-CjG1MhCn.js";import"./textarea-D4FkZQZk.js";import"./ChevronRight-DtsM7p2S.js";import"./Copy01-DR7F87HJ.js";import"./Terminal-C1_jmxYZ.js";import"./monaco-editor-Bm5BVoZ7.js";import"./spinner-eOV3EISI.js";import"./alert-dialog-CGM0OszQ.js";import"./File06-BBkB2xcW.js";import"./InfoCircle-D0ub9sBN.js";import"./well-known-mcp-D13f-8h2.js";import"./generate-id-Dyweu44Y.js";import"./Trash01-zvVvKDK-.js";import"./auth-aI2y92hJ.js";import"./useQuery-DMJqaseW.js";import"./select-C9QeOQVg.js";import"./ChevronDown-BK3AVOT-.js";import"./use-mobile-CGm_Humj.js";const En=({size:e=24,color:t="currentColor",...n})=>z.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...n},z.createElement("path",{d:"m10 15-3.075 3.114c-.43.434-.644.651-.828.666a.5.5 0 0 1-.421-.172c-.12-.14-.12-.446-.12-1.056v-1.56c0-.548-.449-.944-.99-1.024v0a3 3 0 0 1-2.534-2.533C2 12.219 2 11.96 2 11.445V6.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C4.28 2 5.12 2 6.8 2h7.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C19 4.28 19 5.12 19 6.8V11m0 11-2.176-1.513c-.306-.213-.46-.32-.626-.395a2.002 2.002 0 0 0-.462-.145c-.18-.033-.367-.033-.74-.033H13.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C10 18.394 10 17.834 10 16.714V14.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C11.52 11 12.08 11 13.2 11h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C22 12.52 22 13.08 22 14.2v2.714c0 .932 0 1.398-.152 1.766a2 2 0 0 1-1.083 1.082c-.367.152-.833.152-1.765.152V22Z"}));En.displayName="MessageChatSquare";function ae(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n<e.length;n++)(o=ae(e[n]))!==""&&(t+=(t&&" ")+o);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var va={value:()=>{}};function jt(){for(var e=0,t=arguments.length,n={},o;e<t;++e){if(!(o=arguments[e]+"")||o in n||/[\s.]/.test(o))throw new Error("illegal type: "+o);n[o]=[]}return new Et(n)}function Et(e){this._=e}function _a(e,t){return e.trim().split(/^|\s+/).map(function(n){var o="",r=n.indexOf(".");if(r>=0&&(o=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}Et.prototype=jt.prototype={constructor:Et,on:function(e,t){var n=this._,o=_a(e+"",n),r,i=-1,s=o.length;if(arguments.length<2){for(;++i<s;)if((r=(e=o[i]).type)&&(r=ba(n[r],e.name)))return r;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<s;)if(r=(e=o[i]).type)n[r]=oo(n[r],e.name,t);else if(t==null)for(r in n)n[r]=oo(n[r],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Et(e)},call:function(e,t){if((r=arguments.length-2)>0)for(var n=new Array(r),o=0,r,i;o<r;++o)n[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],o=0,r=i.length;o<r;++o)i[o].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)}};function ba(e,t){for(var n=0,o=e.length,r;n<o;++n)if((r=e[n]).name===t)return r.value}function oo(e,t,n){for(var o=0,r=e.length;o<r;++o)if(e[o].name===t){e[o]=va,e=e.slice(0,o).concat(e.slice(o+1));break}return n!=null&&e.push({name:t,value:n}),e}var dn="http://www.w3.org/1999/xhtml";const ro={svg:"http://www.w3.org/2000/svg",xhtml:dn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vt(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),ro.hasOwnProperty(t)?{space:ro[t],local:e}:e}function Sa(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===dn&&t.documentElement.namespaceURI===dn?t.createElement(e):t.createElementNS(n,e)}}function Ea(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ir(e){var t=Vt(e);return(t.local?Ea:Sa)(t)}function Ca(){}function Cn(e){return e==null?Ca:function(){return this.querySelector(e)}}function Na(e){typeof e!="function"&&(e=Cn(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=new Array(s),l,c,u=0;u<s;++u)(l=i[u])&&(c=e.call(l,l.__data__,u,i))&&("__data__"in l&&(c.__data__=l.__data__),a[u]=c);return new ge(o,this._parents)}function Ma(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ia(){return[]}function ar(e){return e==null?Ia:function(){return this.querySelectorAll(e)}}function ka(e){return function(){return Ma(e.apply(this,arguments))}}function Aa(e){typeof e=="function"?e=ka(e):e=ar(e);for(var t=this._groups,n=t.length,o=[],r=[],i=0;i<n;++i)for(var s=t[i],a=s.length,l,c=0;c<a;++c)(l=s[c])&&(o.push(e.call(l,l.__data__,c,s)),r.push(l));return new ge(o,r)}function cr(e){return function(){return this.matches(e)}}function lr(e){return function(t){return t.matches(e)}}var Pa=Array.prototype.find;function Ta(e){return function(){return Pa.call(this.children,e)}}function Da(){return this.firstElementChild}function $a(e){return this.select(e==null?Da:Ta(typeof e=="function"?e:lr(e)))}var za=Array.prototype.filter;function La(){return Array.from(this.children)}function Ha(e){return function(){return za.call(this.children,e)}}function Ra(e){return this.selectAll(e==null?La:Ha(typeof e=="function"?e:lr(e)))}function ja(e){typeof e!="function"&&(e=cr(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=[],l,c=0;c<s;++c)(l=i[c])&&e.call(l,l.__data__,c,i)&&a.push(l);return new ge(o,this._parents)}function ur(e){return new Array(e.length)}function Va(){return new ge(this._enter||this._groups.map(ur),this._parents)}function kt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}kt.prototype={constructor:kt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Oa(e){return function(){return e}}function Ba(e,t,n,o,r,i){for(var s=0,a,l=t.length,c=i.length;s<c;++s)(a=t[s])?(a.__data__=i[s],o[s]=a):n[s]=new kt(e,i[s]);for(;s<l;++s)(a=t[s])&&(r[s]=a)}function Fa(e,t,n,o,r,i,s){var a,l,c=new Map,u=t.length,f=i.length,d=new Array(u),h;for(a=0;a<u;++a)(l=t[a])&&(d[a]=h=s.call(l,l.__data__,a,t)+"",c.has(h)?r[a]=l:c.set(h,l));for(a=0;a<f;++a)h=s.call(e,i[a],a,i)+"",(l=c.get(h))?(o[a]=l,l.__data__=i[a],c.delete(h)):n[a]=new kt(e,i[a]);for(a=0;a<u;++a)(l=t[a])&&c.get(d[a])===l&&(r[a]=l)}function Xa(e){return e.__data__}function Ya(e,t){if(!arguments.length)return Array.from(this,Xa);var n=t?Fa:Ba,o=this._parents,r=this._groups;typeof e!="function"&&(e=Oa(e));for(var i=r.length,s=new Array(i),a=new Array(i),l=new Array(i),c=0;c<i;++c){var u=o[c],f=r[c],d=f.length,h=Za(e.call(u,u&&u.__data__,c,o)),g=h.length,v=a[c]=new Array(g),_=s[c]=new Array(g),y=l[c]=new Array(d);n(u,f,v,_,y,h,t);for(var b=0,p=0,w,N;b<g;++b)if(w=v[b]){for(b>=p&&(p=b+1);!(N=_[p])&&++p<g;);w._next=N||null}}return s=new ge(s,o),s._enter=a,s._exit=l,s}function Za(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Wa(){return new ge(this._exit||this._groups.map(ur),this._parents)}function Ga(e,t,n){var o=this.enter(),r=this,i=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(r=t(r),r&&(r=r.selection())),n==null?i.remove():n(i),o&&r?o.merge(r).order():r}function qa(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,r=n.length,i=o.length,s=Math.min(r,i),a=new Array(r),l=0;l<s;++l)for(var c=n[l],u=o[l],f=c.length,d=a[l]=new Array(f),h,g=0;g<f;++g)(h=c[g]||u[g])&&(d[g]=h);for(;l<r;++l)a[l]=n[l];return new ge(a,this._parents)}function Ka(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o=e[t],r=o.length-1,i=o[r],s;--r>=0;)(s=o[r])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function Ua(e){e||(e=Qa);function t(f,d){return f&&d?e(f.__data__,d.__data__):!f-!d}for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i){for(var s=n[i],a=s.length,l=r[i]=new Array(a),c,u=0;u<a;++u)(c=s[u])&&(l[u]=c);l.sort(t)}return new ge(r,this._parents).order()}function Qa(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ja(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ec(){return Array.from(this)}function tc(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length;r<i;++r){var s=o[r];if(s)return s}return null}function nc(){let e=0;for(const t of this)++e;return e}function oc(){return!this.node()}function rc(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var r=t[n],i=0,s=r.length,a;i<s;++i)(a=r[i])&&e.call(a,a.__data__,i,r);return this}function sc(e){return function(){this.removeAttribute(e)}}function ic(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ac(e,t){return function(){this.setAttribute(e,t)}}function cc(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function lc(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function uc(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function dc(e,t){var n=Vt(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((t==null?n.local?ic:sc:typeof t=="function"?n.local?uc:lc:n.local?cc:ac)(n,t))}function dr(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function fc(e){return function(){this.style.removeProperty(e)}}function hc(e,t,n){return function(){this.style.setProperty(e,t,n)}}function gc(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function pc(e,t,n){return arguments.length>1?this.each((t==null?fc:typeof t=="function"?gc:hc)(e,t,n??"")):Fe(this.node(),e)}function Fe(e,t){return e.style.getPropertyValue(t)||dr(e).getComputedStyle(e,null).getPropertyValue(t)}function mc(e){return function(){delete this[e]}}function yc(e,t){return function(){this[e]=t}}function xc(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function wc(e,t){return arguments.length>1?this.each((t==null?mc:typeof t=="function"?xc:yc)(e,t)):this.node()[e]}function fr(e){return e.trim().split(/^|\s+/)}function Nn(e){return e.classList||new hr(e)}function hr(e){this._node=e,this._names=fr(e.getAttribute("class")||"")}hr.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function gr(e,t){for(var n=Nn(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function pr(e,t){for(var n=Nn(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function vc(e){return function(){gr(this,e)}}function _c(e){return function(){pr(this,e)}}function bc(e,t){return function(){(t.apply(this,arguments)?gr:pr)(this,e)}}function Sc(e,t){var n=fr(e+"");if(arguments.length<2){for(var o=Nn(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each((typeof t=="function"?bc:t?vc:_c)(n,t))}function Ec(){this.textContent=""}function Cc(e){return function(){this.textContent=e}}function Nc(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Mc(e){return arguments.length?this.each(e==null?Ec:(typeof e=="function"?Nc:Cc)(e)):this.node().textContent}function Ic(){this.innerHTML=""}function kc(e){return function(){this.innerHTML=e}}function Ac(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Pc(e){return arguments.length?this.each(e==null?Ic:(typeof e=="function"?Ac:kc)(e)):this.node().innerHTML}function Tc(){this.nextSibling&&this.parentNode.appendChild(this)}function Dc(){return this.each(Tc)}function $c(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zc(){return this.each($c)}function Lc(e){var t=typeof e=="function"?e:ir(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Hc(){return null}function Rc(e,t){var n=typeof e=="function"?e:ir(e),o=t==null?Hc:typeof t=="function"?t:Cn(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function jc(){var e=this.parentNode;e&&e.removeChild(this)}function Vc(){return this.each(jc)}function Oc(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Bc(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Fc(e){return this.select(e?Bc:Oc)}function Xc(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Yc(e){return function(t){e.call(this,t,this.__data__)}}function Zc(e){return e.trim().split(/^|\s+/).map(function(t){var n="",o=t.indexOf(".");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function Wc(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,r=t.length,i;n<r;++n)i=t[n],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++o]=i;++o?t.length=o:delete this.__on}}}function Gc(e,t,n){return function(){var o=this.__on,r,i=Yc(t);if(o){for(var s=0,a=o.length;s<a;++s)if((r=o[s]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function qc(e,t,n){var o=Zc(e+""),r,i=o.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var l=0,c=a.length,u;l<c;++l)for(r=0,u=a[l];r<i;++r)if((s=o[r]).type===u.type&&s.name===u.name)return u.value}return}for(a=t?Gc:Wc,r=0;r<i;++r)this.each(a(o[r],t,n));return this}function mr(e,t,n){var o=dr(e),r=o.CustomEvent;typeof r=="function"?r=new r(t,n):(r=o.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}function Kc(e,t){return function(){return mr(this,e,t)}}function Uc(e,t){return function(){return mr(this,e,t.apply(this,arguments))}}function Qc(e,t){return this.each((typeof t=="function"?Uc:Kc)(e,t))}function*Jc(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length,s;r<i;++r)(s=o[r])&&(yield s)}var yr=[null];function ge(e,t){this._groups=e,this._parents=t}function ut(){return new ge([[document.documentElement]],yr)}function el(){return this}ge.prototype=ut.prototype={constructor:ge,select:Na,selectAll:Aa,selectChild:$a,selectChildren:Ra,filter:ja,data:Ya,enter:Va,exit:Wa,join:Ga,merge:qa,selection:el,order:Ka,sort:Ua,call:Ja,nodes:ec,node:tc,size:nc,empty:oc,each:rc,attr:dc,style:pc,property:wc,classed:Sc,text:Mc,html:Pc,raise:Dc,lower:zc,append:Lc,insert:Rc,remove:Vc,clone:Fc,datum:Xc,on:qc,dispatch:Qc,[Symbol.iterator]:Jc};function he(e){return typeof e=="string"?new ge([[document.querySelector(e)]],[document.documentElement]):new ge([[e]],yr)}function tl(e){let t;for(;t=e.sourceEvent;)e=t;return e}function me(e,t){if(e=tl(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}}return[e.pageX,e.pageY]}const nl={passive:!1},ot={capture:!0,passive:!1};function nn(e){e.stopImmediatePropagation()}function Be(e){e.preventDefault(),e.stopImmediatePropagation()}function xr(e){var t=e.document.documentElement,n=he(e).on("dragstart.drag",Be,ot);"onselectstart"in t?n.on("selectstart.drag",Be,ot):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function wr(e,t){var n=e.document.documentElement,o=he(e).on("dragstart.drag",null);t&&(o.on("click.drag",Be,ot),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const mt=e=>()=>e;function fn(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:s,y:a,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}fn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function ol(e){return!e.ctrlKey&&!e.button}function rl(){return this.parentNode}function sl(e,t){return t??{x:e.x,y:e.y}}function il(){return navigator.maxTouchPoints||"ontouchstart"in this}function vr(){var e=ol,t=rl,n=sl,o=il,r={},i=jt("start","drag","end"),s=0,a,l,c,u,f=0;function d(w){w.on("mousedown.drag",h).filter(o).on("touchstart.drag",_).on("touchmove.drag",y,nl).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(w,N){if(!(u||!e.call(this,w,N))){var S=p(this,t.call(this,w,N),w,N,"mouse");S&&(he(w.view).on("mousemove.drag",g,ot).on("mouseup.drag",v,ot),xr(w.view),nn(w),c=!1,a=w.clientX,l=w.clientY,S("start",w))}}function g(w){if(Be(w),!c){var N=w.clientX-a,S=w.clientY-l;c=N*N+S*S>f}r.mouse("drag",w)}function v(w){he(w.view).on("mousemove.drag mouseup.drag",null),wr(w.view,c),Be(w),r.mouse("end",w)}function _(w,N){if(e.call(this,w,N)){var S=w.changedTouches,E=t.call(this,w,N),D=S.length,k,V;for(k=0;k<D;++k)(V=p(this,E,w,N,S[k].identifier,S[k]))&&(nn(w),V("start",w,S[k]))}}function y(w){var N=w.changedTouches,S=N.length,E,D;for(E=0;E<S;++E)(D=r[N[E].identifier])&&(Be(w),D("drag",w,N[E]))}function b(w){var N=w.changedTouches,S=N.length,E,D;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),E=0;E<S;++E)(D=r[N[E].identifier])&&(nn(w),D("end",w,N[E]))}function p(w,N,S,E,D,k){var V=i.copy(),A=me(k||S,N),$,L,x;if((x=n.call(w,new fn("beforestart",{sourceEvent:S,target:d,identifier:D,active:s,x:A[0],y:A[1],dx:0,dy:0,dispatch:V}),E))!=null)return $=x.x-A[0]||0,L=x.y-A[1]||0,function M(C,P,T){var I=A,H;switch(C){case"start":r[D]=M,H=s++;break;case"end":delete r[D],--s;case"drag":A=me(T||P,N),H=s;break}V.call(C,w,new fn(C,{sourceEvent:P,subject:x,target:d,identifier:D,active:H,x:A[0]+$,y:A[1]+L,dx:A[0]-I[0],dy:A[1]-I[1],dispatch:V}),E)}}return d.filter=function(w){return arguments.length?(e=typeof w=="function"?w:mt(!!w),d):e},d.container=function(w){return arguments.length?(t=typeof w=="function"?w:mt(w),d):t},d.subject=function(w){return arguments.length?(n=typeof w=="function"?w:mt(w),d):n},d.touchable=function(w){return arguments.length?(o=typeof w=="function"?w:mt(!!w),d):o},d.on=function(){var w=i.on.apply(i,arguments);return w===i?d:w},d.clickDistance=function(w){return arguments.length?(f=(w=+w)*w,d):Math.sqrt(f)},d}var so=180/Math.PI,hn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function _r(e,t,n,o,r,i){var s,a,l;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(l=e*n+t*o)&&(n-=e*l,o-=t*l),(a=Math.sqrt(n*n+o*o))&&(n/=a,o/=a,l/=a),e*o<t*n&&(e=-e,t=-t,l=-l,s=-s),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*so,skewX:Math.atan(l)*so,scaleX:s,scaleY:a}}var yt;function al(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?hn:_r(t.a,t.b,t.c,t.d,t.e,t.f)}function cl(e){return e==null||(yt||(yt=document.createElementNS("http://www.w3.org/2000/svg","g")),yt.setAttribute("transform",e),!(e=yt.transform.baseVal.consolidate()))?hn:(e=e.matrix,_r(e.a,e.b,e.c,e.d,e.e,e.f))}function br(e,t,n,o){function r(c){return c.length?c.pop()+" ":""}function i(c,u,f,d,h,g){if(c!==f||u!==d){var v=h.push("translate(",null,t,null,n);g.push({i:v-4,x:Te(c,f)},{i:v-2,x:Te(u,d)})}else(f||d)&&h.push("translate("+f+t+d+n)}function s(c,u,f,d){c!==u?(c-u>180?u+=360:u-c>180&&(c+=360),d.push({i:f.push(r(f)+"rotate(",null,o)-2,x:Te(c,u)})):u&&f.push(r(f)+"rotate("+u+o)}function a(c,u,f,d){c!==u?d.push({i:f.push(r(f)+"skewX(",null,o)-2,x:Te(c,u)}):u&&f.push(r(f)+"skewX("+u+o)}function l(c,u,f,d,h,g){if(c!==f||u!==d){var v=h.push(r(h)+"scale(",null,",",null,")");g.push({i:v-4,x:Te(c,f)},{i:v-2,x:Te(u,d)})}else(f!==1||d!==1)&&h.push(r(h)+"scale("+f+","+d+")")}return function(c,u){var f=[],d=[];return c=e(c),u=e(u),i(c.translateX,c.translateY,u.translateX,u.translateY,f,d),s(c.rotate,u.rotate,f,d),a(c.skewX,u.skewX,f,d),l(c.scaleX,c.scaleY,u.scaleX,u.scaleY,f,d),c=u=null,function(h){for(var g=-1,v=d.length,_;++g<v;)f[(_=d[g]).i]=_.x(h);return f.join("")}}}var ll=br(al,"px, ","px)","deg)"),ul=br(cl,", ",")",")"),dl=1e-12;function io(e){return((e=Math.exp(e))+1/e)/2}function fl(e){return((e=Math.exp(e))-1/e)/2}function hl(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ct=(function e(t,n,o){function r(i,s){var a=i[0],l=i[1],c=i[2],u=s[0],f=s[1],d=s[2],h=u-a,g=f-l,v=h*h+g*g,_,y;if(v<dl)y=Math.log(d/c)/t,_=function(E){return[a+E*h,l+E*g,c*Math.exp(t*E*y)]};else{var b=Math.sqrt(v),p=(d*d-c*c+o*v)/(2*c*n*b),w=(d*d-c*c-o*v)/(2*d*n*b),N=Math.log(Math.sqrt(p*p+1)-p),S=Math.log(Math.sqrt(w*w+1)-w);y=(S-N)/t,_=function(E){var D=E*y,k=io(N),V=c/(n*b)*(k*hl(t*D+N)-fl(N));return[a+V*h,l+V*g,c*k/io(t*D+N)]}}return _.duration=y*1e3*t/Math.SQRT2,_}return r.rho=function(i){var s=Math.max(.001,+i),a=s*s,l=a*a;return e(s,a,l)},r})(Math.SQRT2,2,4);var Xe=0,Je=0,Ue=0,Sr=1e3,At,et,Pt=0,ze=0,Ot=0,rt=typeof performance=="object"&&performance.now?performance:Date,Er=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Mn(){return ze||(Er(gl),ze=rt.now()+Ot)}function gl(){ze=0}function Tt(){this._call=this._time=this._next=null}Tt.prototype=Cr.prototype={constructor:Tt,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Mn():+n)+(t==null?0:+t),!this._next&&et!==this&&(et?et._next=this:At=this,et=this),this._call=e,this._time=n,gn()},stop:function(){this._call&&(this._call=null,this._time=1/0,gn())}};function Cr(e,t,n){var o=new Tt;return o.restart(e,t,n),o}function pl(){Mn(),++Xe;for(var e=At,t;e;)(t=ze-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Xe}function ao(){ze=(Pt=rt.now())+Ot,Xe=Je=0;try{pl()}finally{Xe=0,yl(),ze=0}}function ml(){var e=rt.now(),t=e-Pt;t>Sr&&(Ot-=t,Pt=e)}function yl(){for(var e,t=At,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:At=n);et=e,gn(o)}function gn(e){if(!Xe){Je&&(Je=clearTimeout(Je));var t=e-ze;t>24?(e<1/0&&(Je=setTimeout(ao,e-rt.now()-Ot)),Ue&&(Ue=clearInterval(Ue))):(Ue||(Pt=rt.now(),Ue=setInterval(ml,Sr)),Xe=1,Er(ao))}}function co(e,t,n){var o=new Tt;return t=t==null?0:+t,o.restart(r=>{o.stop(),e(r+t)},t,n),o}var xl=jt("start","end","cancel","interrupt"),wl=[],Nr=0,lo=1,pn=2,Nt=3,uo=4,mn=5,Mt=6;function Bt(e,t,n,o,r,i){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;vl(e,n,{name:t,index:o,group:r,on:xl,tween:wl,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:Nr})}function In(e,t){var n=we(e,t);if(n.state>Nr)throw new Error("too late; already scheduled");return n}function be(e,t){var n=we(e,t);if(n.state>Nt)throw new Error("too late; already running");return n}function we(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function vl(e,t,n){var o=e.__transition,r;o[t]=n,n.timer=Cr(i,0,n.time);function i(c){n.state=lo,n.timer.restart(s,n.delay,n.time),n.delay<=c&&s(c-n.delay)}function s(c){var u,f,d,h;if(n.state!==lo)return l();for(u in o)if(h=o[u],h.name===n.name){if(h.state===Nt)return co(s);h.state===uo?(h.state=Mt,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[u]):+u<t&&(h.state=Mt,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[u])}if(co(function(){n.state===Nt&&(n.state=uo,n.timer.restart(a,n.delay,n.time),a(c))}),n.state=pn,n.on.call("start",e,e.__data__,n.index,n.group),n.state===pn){for(n.state=Nt,r=new Array(d=n.tween.length),u=0,f=-1;u<d;++u)(h=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++f]=h);r.length=f+1}}function a(c){for(var u=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(l),n.state=mn,1),f=-1,d=r.length;++f<d;)r[f].call(e,u);n.state===mn&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=Mt,n.timer.stop(),delete o[t];for(var c in o)return;delete e.__transition}}function It(e,t){var n=e.__transition,o,r,i=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((o=n[s]).name!==t){i=!1;continue}r=o.state>pn&&o.state<mn,o.state=Mt,o.timer.stop(),o.on.call(r?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[s]}i&&delete e.__transition}}function _l(e){return this.each(function(){It(this,e)})}function bl(e,t){var n,o;return function(){var r=be(this,e),i=r.tween;if(i!==n){o=n=i;for(var s=0,a=o.length;s<a;++s)if(o[s].name===t){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function Sl(e,t,n){var o,r;if(typeof n!="function")throw new Error;return function(){var i=be(this,e),s=i.tween;if(s!==o){r=(o=s).slice();for(var a={name:t,value:n},l=0,c=r.length;l<c;++l)if(r[l].name===t){r[l]=a;break}l===c&&r.push(a)}i.tween=r}}function El(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o=we(this.node(),n).tween,r=0,i=o.length,s;r<i;++r)if((s=o[r]).name===e)return s.value;return null}return this.each((t==null?bl:Sl)(n,e,t))}function kn(e,t,n){var o=e._id;return e.each(function(){var r=be(this,o);(r.value||(r.value={}))[t]=n.apply(this,arguments)}),function(r){return we(r,o).value[t]}}function Mr(e,t){var n;return(typeof t=="number"?Te:t instanceof to?eo:(n=to(t))?(t=n,eo):xa)(e,t)}function Cl(e){return function(){this.removeAttribute(e)}}function Nl(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ml(e,t,n){var o,r=n+"",i;return function(){var s=this.getAttribute(e);return s===r?null:s===o?i:i=t(o=s,n)}}function Il(e,t,n){var o,r=n+"",i;return function(){var s=this.getAttributeNS(e.space,e.local);return s===r?null:s===o?i:i=t(o=s,n)}}function kl(e,t,n){var o,r,i;return function(){var s,a=n(this),l;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),l=a+"",s===l?null:s===o&&l===r?i:(r=l,i=t(o=s,a)))}}function Al(e,t,n){var o,r,i;return function(){var s,a=n(this),l;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),l=a+"",s===l?null:s===o&&l===r?i:(r=l,i=t(o=s,a)))}}function Pl(e,t){var n=Vt(e),o=n==="transform"?ul:Mr;return this.attrTween(e,typeof t=="function"?(n.local?Al:kl)(n,o,kn(this,"attr."+e,t)):t==null?(n.local?Nl:Cl)(n):(n.local?Il:Ml)(n,o,t))}function Tl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Dl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function $l(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&Dl(e,i)),n}return r._value=t,r}function zl(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&Tl(e,i)),n}return r._value=t,r}function Ll(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var o=Vt(e);return this.tween(n,(o.local?$l:zl)(o,t))}function Hl(e,t){return function(){In(this,e).delay=+t.apply(this,arguments)}}function Rl(e,t){return t=+t,function(){In(this,e).delay=t}}function jl(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Hl:Rl)(t,e)):we(this.node(),t).delay}function Vl(e,t){return function(){be(this,e).duration=+t.apply(this,arguments)}}function Ol(e,t){return t=+t,function(){be(this,e).duration=t}}function Bl(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Vl:Ol)(t,e)):we(this.node(),t).duration}function Fl(e,t){if(typeof t!="function")throw new Error;return function(){be(this,e).ease=t}}function Xl(e){var t=this._id;return arguments.length?this.each(Fl(t,e)):we(this.node(),t).ease}function Yl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;be(this,e).ease=n}}function Zl(e){if(typeof e!="function")throw new Error;return this.each(Yl(this._id,e))}function Wl(e){typeof e!="function"&&(e=cr(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=[],l,c=0;c<s;++c)(l=i[c])&&e.call(l,l.__data__,c,i)&&a.push(l);return new Ce(o,this._parents,this._name,this._id)}function Gl(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,r=n.length,i=Math.min(o,r),s=new Array(o),a=0;a<i;++a)for(var l=t[a],c=n[a],u=l.length,f=s[a]=new Array(u),d,h=0;h<u;++h)(d=l[h]||c[h])&&(f[h]=d);for(;a<o;++a)s[a]=t[a];return new Ce(s,this._parents,this._name,this._id)}function ql(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Kl(e,t,n){var o,r,i=ql(t)?In:be;return function(){var s=i(this,e),a=s.on;a!==o&&(r=(o=a).copy()).on(t,n),s.on=r}}function Ul(e,t){var n=this._id;return arguments.length<2?we(this.node(),n).on.on(e):this.each(Kl(n,e,t))}function Ql(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Jl(){return this.on("end.remove",Ql(this._id))}function eu(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Cn(e));for(var o=this._groups,r=o.length,i=new Array(r),s=0;s<r;++s)for(var a=o[s],l=a.length,c=i[s]=new Array(l),u,f,d=0;d<l;++d)(u=a[d])&&(f=e.call(u,u.__data__,d,a))&&("__data__"in u&&(f.__data__=u.__data__),c[d]=f,Bt(c[d],t,n,d,c,we(u,n)));return new Ce(i,this._parents,t,n)}function tu(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ar(e));for(var o=this._groups,r=o.length,i=[],s=[],a=0;a<r;++a)for(var l=o[a],c=l.length,u,f=0;f<c;++f)if(u=l[f]){for(var d=e.call(u,u.__data__,f,l),h,g=we(u,n),v=0,_=d.length;v<_;++v)(h=d[v])&&Bt(h,t,n,v,d,g);i.push(d),s.push(u)}return new Ce(i,s,t,n)}var nu=ut.prototype.constructor;function ou(){return new nu(this._groups,this._parents)}function ru(e,t){var n,o,r;return function(){var i=Fe(this,e),s=(this.style.removeProperty(e),Fe(this,e));return i===s?null:i===n&&s===o?r:r=t(n=i,o=s)}}function Ir(e){return function(){this.style.removeProperty(e)}}function su(e,t,n){var o,r=n+"",i;return function(){var s=Fe(this,e);return s===r?null:s===o?i:i=t(o=s,n)}}function iu(e,t,n){var o,r,i;return function(){var s=Fe(this,e),a=n(this),l=a+"";return a==null&&(l=a=(this.style.removeProperty(e),Fe(this,e))),s===l?null:s===o&&l===r?i:(r=l,i=t(o=s,a))}}function au(e,t){var n,o,r,i="style."+t,s="end."+i,a;return function(){var l=be(this,e),c=l.on,u=l.value[i]==null?a||(a=Ir(t)):void 0;(c!==n||r!==u)&&(o=(n=c).copy()).on(s,r=u),l.on=o}}function cu(e,t,n){var o=(e+="")=="transform"?ll:Mr;return t==null?this.styleTween(e,ru(e,o)).on("end.style."+e,Ir(e)):typeof t=="function"?this.styleTween(e,iu(e,o,kn(this,"style."+e,t))).each(au(this._id,e)):this.styleTween(e,su(e,o,t),n).on("end.style."+e,null)}function lu(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function uu(e,t,n){var o,r;function i(){var s=t.apply(this,arguments);return s!==r&&(o=(r=s)&&lu(e,s,n)),o}return i._value=t,i}function du(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,uu(e,t,n??""))}function fu(e){return function(){this.textContent=e}}function hu(e){return function(){var t=e(this);this.textContent=t??""}}function gu(e){return this.tween("text",typeof e=="function"?hu(kn(this,"text",e)):fu(e==null?"":e+""))}function pu(e){return function(t){this.textContent=e.call(this,t)}}function mu(e){var t,n;function o(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&pu(r)),t}return o._value=e,o}function yu(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,mu(e))}function xu(){for(var e=this._name,t=this._id,n=kr(),o=this._groups,r=o.length,i=0;i<r;++i)for(var s=o[i],a=s.length,l,c=0;c<a;++c)if(l=s[c]){var u=we(l,t);Bt(l,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Ce(o,this._parents,e,n)}function wu(){var e,t,n=this,o=n._id,r=n.size();return new Promise(function(i,s){var a={value:s},l={value:function(){--r===0&&i()}};n.each(function(){var c=be(this,o),u=c.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(l)),c.on=t}),r===0&&i()})}var vu=0;function Ce(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function kr(){return++vu}var Se=ut.prototype;Ce.prototype={constructor:Ce,select:eu,selectAll:tu,selectChild:Se.selectChild,selectChildren:Se.selectChildren,filter:Wl,merge:Gl,selection:ou,transition:xu,call:Se.call,nodes:Se.nodes,node:Se.node,size:Se.size,empty:Se.empty,each:Se.each,on:Ul,attr:Pl,attrTween:Ll,style:cu,styleTween:du,text:gu,textTween:yu,remove:Jl,tween:El,delay:jl,duration:Bl,ease:Xl,easeVarying:Zl,end:wu,[Symbol.iterator]:Se[Symbol.iterator]};function _u(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var bu={time:null,delay:0,duration:250,ease:_u};function Su(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function Eu(e){var t,n;e instanceof Ce?(t=e._id,e=e._name):(t=kr(),(n=bu).time=Mn(),e=e==null?null:e+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var s=o[i],a=s.length,l,c=0;c<a;++c)(l=s[c])&&Bt(l,e,t,c,s,n||Su(l,t));return new Ce(o,this._parents,e,t)}ut.prototype.interrupt=_l;ut.prototype.transition=Eu;const xt=e=>()=>e;function Cu(e,{sourceEvent:t,target:n,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function Ee(e,t,n){this.k=e,this.x=t,this.y=n}Ee.prototype={constructor:Ee,scale:function(e){return e===1?this:new Ee(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ee(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ft=new Ee(1,0,0);Ar.prototype=Ee.prototype;function Ar(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Ft;return e.__zoom}function on(e){e.stopImmediatePropagation()}function Qe(e){e.preventDefault(),e.stopImmediatePropagation()}function Nu(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Mu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function fo(){return this.__zoom||Ft}function Iu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ku(){return navigator.maxTouchPoints||"ontouchstart"in this}function Au(e,t,n){var o=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function Pr(){var e=Nu,t=Mu,n=Au,o=Iu,r=ku,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ct,c=jt("start","zoom","end"),u,f,d,h=500,g=150,v=0,_=10;function y(x){x.property("__zoom",fo).on("wheel.zoom",D,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",V).filter(r).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(x,M,C,P){var T=x.selection?x.selection():x;T.property("__zoom",fo),x!==T?N(x,M,C,P):T.interrupt().each(function(){S(this,arguments).event(P).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},y.scaleBy=function(x,M,C,P){y.scaleTo(x,function(){var T=this.__zoom.k,I=typeof M=="function"?M.apply(this,arguments):M;return T*I},C,P)},y.scaleTo=function(x,M,C,P){y.transform(x,function(){var T=t.apply(this,arguments),I=this.__zoom,H=C==null?w(T):typeof C=="function"?C.apply(this,arguments):C,j=I.invert(H),R=typeof M=="function"?M.apply(this,arguments):M;return n(p(b(I,R),H,j),T,s)},C,P)},y.translateBy=function(x,M,C,P){y.transform(x,function(){return n(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof C=="function"?C.apply(this,arguments):C),t.apply(this,arguments),s)},null,P)},y.translateTo=function(x,M,C,P,T){y.transform(x,function(){var I=t.apply(this,arguments),H=this.__zoom,j=P==null?w(I):typeof P=="function"?P.apply(this,arguments):P;return n(Ft.translate(j[0],j[1]).scale(H.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof C=="function"?-C.apply(this,arguments):-C),I,s)},P,T)};function b(x,M){return M=Math.max(i[0],Math.min(i[1],M)),M===x.k?x:new Ee(M,x.x,x.y)}function p(x,M,C){var P=M[0]-C[0]*x.k,T=M[1]-C[1]*x.k;return P===x.x&&T===x.y?x:new Ee(x.k,P,T)}function w(x){return[(+x[0][0]+ +x[1][0])/2,(+x[0][1]+ +x[1][1])/2]}function N(x,M,C,P){x.on("start.zoom",function(){S(this,arguments).event(P).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(P).end()}).tween("zoom",function(){var T=this,I=arguments,H=S(T,I).event(P),j=t.apply(T,I),R=C==null?w(j):typeof C=="function"?C.apply(T,I):C,F=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),B=T.__zoom,G=typeof M=="function"?M.apply(T,I):M,K=l(B.invert(R).concat(F/B.k),G.invert(R).concat(F/G.k));return function(W){if(W===1)W=G;else{var O=K(W),X=F/O[2];W=new Ee(X,R[0]-O[0]*X,R[1]-O[1]*X)}H.zoom(null,W)}})}function S(x,M,C){return!C&&x.__zooming||new E(x,M)}function E(x,M){this.that=x,this.args=M,this.active=0,this.sourceEvent=null,this.extent=t.apply(x,M),this.taps=0}E.prototype={event:function(x){return x&&(this.sourceEvent=x),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(x,M){return this.mouse&&x!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&x!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&x!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(x){var M=he(this.that).datum();c.call(x,this.that,new Cu(x,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:c}),M)}};function D(x,...M){if(!e.apply(this,arguments))return;var C=S(this,M).event(x),P=this.__zoom,T=Math.max(i[0],Math.min(i[1],P.k*Math.pow(2,o.apply(this,arguments)))),I=me(x);if(C.wheel)(C.mouse[0][0]!==I[0]||C.mouse[0][1]!==I[1])&&(C.mouse[1]=P.invert(C.mouse[0]=I)),clearTimeout(C.wheel);else{if(P.k===T)return;C.mouse=[I,P.invert(I)],It(this),C.start()}Qe(x),C.wheel=setTimeout(H,g),C.zoom("mouse",n(p(b(P,T),C.mouse[0],C.mouse[1]),C.extent,s));function H(){C.wheel=null,C.end()}}function k(x,...M){if(d||!e.apply(this,arguments))return;var C=x.currentTarget,P=S(this,M,!0).event(x),T=he(x.view).on("mousemove.zoom",R,!0).on("mouseup.zoom",F,!0),I=me(x,C),H=x.clientX,j=x.clientY;xr(x.view),on(x),P.mouse=[I,this.__zoom.invert(I)],It(this),P.start();function R(B){if(Qe(B),!P.moved){var G=B.clientX-H,K=B.clientY-j;P.moved=G*G+K*K>v}P.event(B).zoom("mouse",n(p(P.that.__zoom,P.mouse[0]=me(B,C),P.mouse[1]),P.extent,s))}function F(B){T.on("mousemove.zoom mouseup.zoom",null),wr(B.view,P.moved),Qe(B),P.event(B).end()}}function V(x,...M){if(e.apply(this,arguments)){var C=this.__zoom,P=me(x.changedTouches?x.changedTouches[0]:x,this),T=C.invert(P),I=C.k*(x.shiftKey?.5:2),H=n(p(b(C,I),P,T),t.apply(this,M),s);Qe(x),a>0?he(this).transition().duration(a).call(N,H,P,x):he(this).call(y.transform,H,P,x)}}function A(x,...M){if(e.apply(this,arguments)){var C=x.touches,P=C.length,T=S(this,M,x.changedTouches.length===P).event(x),I,H,j,R;for(on(x),H=0;H<P;++H)j=C[H],R=me(j,this),R=[R,this.__zoom.invert(R),j.identifier],T.touch0?!T.touch1&&T.touch0[2]!==R[2]&&(T.touch1=R,T.taps=0):(T.touch0=R,I=!0,T.taps=1+!!u);u&&(u=clearTimeout(u)),I&&(T.taps<2&&(f=R[0],u=setTimeout(function(){u=null},h)),It(this),T.start())}}function $(x,...M){if(this.__zooming){var C=S(this,M).event(x),P=x.changedTouches,T=P.length,I,H,j,R;for(Qe(x),I=0;I<T;++I)H=P[I],j=me(H,this),C.touch0&&C.touch0[2]===H.identifier?C.touch0[0]=j:C.touch1&&C.touch1[2]===H.identifier&&(C.touch1[0]=j);if(H=C.that.__zoom,C.touch1){var F=C.touch0[0],B=C.touch0[1],G=C.touch1[0],K=C.touch1[1],W=(W=G[0]-F[0])*W+(W=G[1]-F[1])*W,O=(O=K[0]-B[0])*O+(O=K[1]-B[1])*O;H=b(H,Math.sqrt(W/O)),j=[(F[0]+G[0])/2,(F[1]+G[1])/2],R=[(B[0]+K[0])/2,(B[1]+K[1])/2]}else if(C.touch0)j=C.touch0[0],R=C.touch0[1];else return;C.zoom("touch",n(p(H,j,R),C.extent,s))}}function L(x,...M){if(this.__zooming){var C=S(this,M).event(x),P=x.changedTouches,T=P.length,I,H;for(on(x),d&&clearTimeout(d),d=setTimeout(function(){d=null},h),I=0;I<T;++I)H=P[I],C.touch0&&C.touch0[2]===H.identifier?delete C.touch0:C.touch1&&C.touch1[2]===H.identifier&&delete C.touch1;if(C.touch1&&!C.touch0&&(C.touch0=C.touch1,delete C.touch1),C.touch0)C.touch0[1]=this.__zoom.invert(C.touch0[0]);else if(C.end(),C.taps===2&&(H=me(H,this),Math.hypot(f[0]-H[0],f[1]-H[1])<_)){var j=he(this).on("dblclick.zoom");j&&j.apply(this,arguments)}}}return y.wheelDelta=function(x){return arguments.length?(o=typeof x=="function"?x:xt(+x),y):o},y.filter=function(x){return arguments.length?(e=typeof x=="function"?x:xt(!!x),y):e},y.touchable=function(x){return arguments.length?(r=typeof x=="function"?x:xt(!!x),y):r},y.extent=function(x){return arguments.length?(t=typeof x=="function"?x:xt([[+x[0][0],+x[0][1]],[+x[1][0],+x[1][1]]]),y):t},y.scaleExtent=function(x){return arguments.length?(i[0]=+x[0],i[1]=+x[1],y):[i[0],i[1]]},y.translateExtent=function(x){return arguments.length?(s[0][0]=+x[0][0],s[1][0]=+x[1][0],s[0][1]=+x[0][1],s[1][1]=+x[1][1],y):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},y.constrain=function(x){return arguments.length?(n=x,y):n},y.duration=function(x){return arguments.length?(a=+x,y):a},y.interpolate=function(x){return arguments.length?(l=x,y):l},y.on=function(){var x=c.on.apply(c,arguments);return x===c?y:x},y.clickDistance=function(x){return arguments.length?(v=(x=+x)*x,y):Math.sqrt(v)},y.tapDistance=function(x){return arguments.length?(_=+x,y):_},y}const _e={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},st=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Tr=["Enter"," ","Escape"],Dr={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Ye;(function(e){e.Strict="strict",e.Loose="loose"})(Ye||(Ye={}));var $e;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})($e||($e={}));var it;(function(e){e.Partial="partial",e.Full="full"})(it||(it={}));const $r={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ke;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ke||(ke={}));var Dt;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Dt||(Dt={}));var Y;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Y||(Y={}));const ho={[Y.Left]:Y.Right,[Y.Right]:Y.Left,[Y.Top]:Y.Bottom,[Y.Bottom]:Y.Top};function zr(e){return e===null?null:e?"valid":"invalid"}const Lr=e=>"id"in e&&"source"in e&&"target"in e,Pu=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),An=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),dt=(e,t=[0,0])=>{const{width:n,height:o}=Ne(e),r=e.origin??t,i=n*r[0],s=o*r[1];return{x:e.position.x-i,y:e.position.y-s}},Tu=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((o,r)=>{const i=typeof r=="string";let s=!t.nodeLookup&&!i?r:void 0;t.nodeLookup&&(s=i?t.nodeLookup.get(r):An(r)?r:t.nodeLookup.get(r.id));const a=s?$t(s,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Xt(o,a)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Yt(n)},ft=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=Xt(n,$t(r)),o=!0)}),o?Yt(n):{x:0,y:0,width:0,height:0}},Pn=(e,t,[n,o,r]=[0,0,1],i=!1,s=!1)=>{const a={...gt(t,[n,o,r]),width:t.width/r,height:t.height/r},l=[];for(const c of e.values()){const{measured:u,selectable:f=!0,hidden:d=!1}=c;if(s&&!f||d)continue;const h=u.width??c.width??c.initialWidth??null,g=u.height??c.height??c.initialHeight??null,v=at(a,We(c)),_=(h??0)*(g??0),y=i&&v>0;(!c.internals.handleBounds||y||v>=_||c.dragging)&&l.push(c)}return l},Du=(e,t)=>{const n=new Set;return e.forEach(o=>{n.add(o.id)}),t.filter(o=>n.has(o.source)||n.has(o.target))};function $u(e,t){const n=new Map,o=t?.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&(t?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&n.set(r.id,r)}),n}async function zu({nodes:e,width:t,height:n,panZoom:o,minZoom:r,maxZoom:i},s){if(e.size===0)return Promise.resolve(!0);const a=$u(e,s),l=ft(a),c=Tn(l,t,n,s?.minZoom??r,s?.maxZoom??i,s?.padding??.1);return await o.setViewport(c,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),Promise.resolve(!0)}function Hr({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:r,onError:i}){const s=n.get(e),a=s.parentId?n.get(s.parentId):void 0,{x:l,y:c}=a?a.internals.positionAbsolute:{x:0,y:0},u=s.origin??o;let f=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!a)i?.("005",_e.error005());else{const h=a.measured.width,g=a.measured.height;h&&g&&(f=[[l,c],[l+h,c+g]])}else a&&Ge(s.extent)&&(f=[[s.extent[0][0]+l,s.extent[0][1]+c],[s.extent[1][0]+l,s.extent[1][1]+c]]);const d=Ge(f)?Le(t,f,s.measured):t;return(s.measured.width===void 0||s.measured.height===void 0)&&i?.("015",_e.error015()),{position:{x:d.x-l+(s.measured.width??0)*u[0],y:d.y-c+(s.measured.height??0)*u[1]},positionAbsolute:d}}async function Lu({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:r}){const i=new Set(e.map(d=>d.id)),s=[];for(const d of n){if(d.deletable===!1)continue;const h=i.has(d.id),g=!h&&d.parentId&&s.find(v=>v.id===d.parentId);(h||g)&&s.push(d)}const a=new Set(t.map(d=>d.id)),l=o.filter(d=>d.deletable!==!1),u=Du(s,l);for(const d of l)a.has(d.id)&&!u.find(g=>g.id===d.id)&&u.push(d);if(!r)return{edges:u,nodes:s};const f=await r({nodes:s,edges:u});return typeof f=="boolean"?f?{edges:u,nodes:s}:{edges:[],nodes:[]}:f}const Ze=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Le=(e={x:0,y:0},t,n)=>({x:Ze(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Ze(e.y,t[0][1],t[1][1]-(n?.height??0))});function Rr(e,t,n){const{width:o,height:r}=Ne(n),{x:i,y:s}=n.internals.positionAbsolute;return Le(e,[[i,s],[i+o,s+r]],t)}const go=(e,t,n)=>e<t?Ze(Math.abs(e-t),1,t)/t:e>n?-Ze(Math.abs(e-n),1,t)/t:0,jr=(e,t,n=15,o=40)=>{const r=go(e.x,o,t.width-o)*n,i=go(e.y,o,t.height-o)*n;return[r,i]},Xt=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),yn=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),Yt=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),We=(e,t=[0,0])=>{const{x:n,y:o}=An(e)?e.internals.positionAbsolute:dt(e,t);return{x:n,y:o,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},$t=(e,t=[0,0])=>{const{x:n,y:o}=An(e)?e.internals.positionAbsolute:dt(e,t);return{x:n,y:o,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:o+(e.measured?.height??e.height??e.initialHeight??0)}},Vr=(e,t)=>Yt(Xt(yn(e),yn(t))),at=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)},po=e=>ye(e.width)&&ye(e.height)&&ye(e.x)&&ye(e.y),ye=e=>!isNaN(e)&&isFinite(e),Hu=(e,t)=>{},ht=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),gt=({x:e,y:t},[n,o,r],i=!1,s=[1,1])=>{const a={x:(e-n)/r,y:(t-o)/r};return i?ht(a,s):a},zt=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o});function je(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Ru(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=je(e,n),r=je(e,t);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof e=="object"){const o=je(e.top??e.y??0,n),r=je(e.bottom??e.y??0,n),i=je(e.left??e.x??0,t),s=je(e.right??e.x??0,t);return{top:o,right:s,bottom:r,left:i,x:i+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function ju(e,t,n,o,r,i){const{x:s,y:a}=zt(e,[t,n,o]),{x:l,y:c}=zt({x:e.x+e.width,y:e.y+e.height},[t,n,o]),u=r-l,f=i-c;return{left:Math.floor(s),top:Math.floor(a),right:Math.floor(u),bottom:Math.floor(f)}}const Tn=(e,t,n,o,r,i)=>{const s=Ru(i,t,n),a=(t-s.x)/e.width,l=(n-s.y)/e.height,c=Math.min(a,l),u=Ze(c,o,r),f=e.x+e.width/2,d=e.y+e.height/2,h=t/2-f*u,g=n/2-d*u,v=ju(e,h,g,u,t,n),_={left:Math.min(v.left-s.left,0),top:Math.min(v.top-s.top,0),right:Math.min(v.right-s.right,0),bottom:Math.min(v.bottom-s.bottom,0)};return{x:h-_.left+_.right,y:g-_.top+_.bottom,zoom:u}},ct=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Ge(e){return e!=null&&e!=="parent"}function Ne(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Or(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Br(e,t={width:0,height:0},n,o,r){const i={...e},s=o.get(n);if(s){const a=s.origin||r;i.x+=s.internals.positionAbsolute.x-(t.width??0)*a[0],i.y+=s.internals.positionAbsolute.y-(t.height??0)*a[1]}return i}function mo(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Vu(){let e,t;return{promise:new Promise((o,r)=>{e=o,t=r}),resolve:e,reject:t}}function Ou(e){return{...Dr,...e||{}}}function tt(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:r}){const{x:i,y:s}=xe(e),a=gt({x:i-(r?.left??0),y:s-(r?.top??0)},o),{x:l,y:c}=n?ht(a,t):a;return{xSnapped:l,ySnapped:c,...a}}const Dn=e=>({width:e.offsetWidth,height:e.offsetHeight}),Fr=e=>e?.getRootNode?.()||window?.document,Bu=["INPUT","SELECT","TEXTAREA"];function Xr(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:Bu.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Yr=e=>"clientX"in e,xe=(e,t)=>{const n=Yr(e),o=n?e.clientX:e.touches?.[0].clientX,r=n?e.clientY:e.touches?.[0].clientY;return{x:o-(t?.left??0),y:r-(t?.top??0)}},yo=(e,t,n,o,r)=>{const i=t.querySelectorAll(`.${e}`);return!i||!i.length?null:Array.from(i).map(s=>{const a=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:r,position:s.getAttribute("data-handlepos"),x:(a.left-n.left)/o,y:(a.top-n.top)/o,...Dn(s)}})};function Zr({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:s,targetControlY:a}){const l=e*.125+r*.375+s*.375+n*.125,c=t*.125+i*.375+a*.375+o*.125,u=Math.abs(l-e),f=Math.abs(c-t);return[l,c,u,f]}function wt(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function xo({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case Y.Left:return[t-wt(t-o,i),n];case Y.Right:return[t+wt(o-t,i),n];case Y.Top:return[t,n-wt(n-r,i)];case Y.Bottom:return[t,n+wt(r-n,i)]}}function Wr({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:o,targetY:r,targetPosition:i=Y.Top,curvature:s=.25}){const[a,l]=xo({pos:n,x1:e,y1:t,x2:o,y2:r,c:s}),[c,u]=xo({pos:i,x1:o,y1:r,x2:e,y2:t,c:s}),[f,d,h,g]=Zr({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${a},${l} ${c},${u} ${o},${r}`,f,d,h,g]}function Gr({sourceX:e,sourceY:t,targetX:n,targetY:o}){const r=Math.abs(n-e)/2,i=n<e?n+r:n-r,s=Math.abs(o-t)/2,a=o<t?o+s:o-s;return[i,a,r,s]}function Fu({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:i="basic"}){if(i==="manual")return o;const s=r&&n?o+1e3:o,a=Math.max(e.parentId||r&&e.selected?e.internals.z:0,t.parentId||r&&t.selected?t.internals.z:0);return s+a}function Xu({sourceNode:e,targetNode:t,width:n,height:o,transform:r}){const i=Xt($t(e),$t(t));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const s={x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:o/r[2]};return at(s,Yt(i))>0}const Yu=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,Zu=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),Wu=(e,t,n={})=>{if(!e.source||!e.target)return t;const o=n.getEdgeId||Yu;let r;return Lr(e)?r={...e}:r={...e,id:o(e)},Zu(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function qr({sourceX:e,sourceY:t,targetX:n,targetY:o}){const[r,i,s,a]=Gr({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,s,a]}const wo={[Y.Left]:{x:-1,y:0},[Y.Right]:{x:1,y:0},[Y.Top]:{x:0,y:-1},[Y.Bottom]:{x:0,y:1}},Gu=({source:e,sourcePosition:t=Y.Bottom,target:n})=>t===Y.Left||t===Y.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},vo=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function qu({source:e,sourcePosition:t=Y.Bottom,target:n,targetPosition:o=Y.Top,center:r,offset:i,stepPosition:s}){const a=wo[t],l=wo[o],c={x:e.x+a.x*i,y:e.y+a.y*i},u={x:n.x+l.x*i,y:n.y+l.y*i},f=Gu({source:c,sourcePosition:t,target:u}),d=f.x!==0?"x":"y",h=f[d];let g=[],v,_;const y={x:0,y:0},b={x:0,y:0},[,,p,w]=Gr({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[d]*l[d]===-1){d==="x"?(v=r.x??c.x+(u.x-c.x)*s,_=r.y??(c.y+u.y)/2):(v=r.x??(c.x+u.x)/2,_=r.y??c.y+(u.y-c.y)*s);const S=[{x:v,y:c.y},{x:v,y:u.y}],E=[{x:c.x,y:_},{x:u.x,y:_}];a[d]===h?g=d==="x"?S:E:g=d==="x"?E:S}else{const S=[{x:c.x,y:u.y}],E=[{x:u.x,y:c.y}];if(d==="x"?g=a.x===h?E:S:g=a.y===h?S:E,t===o){const $=Math.abs(e[d]-n[d]);if($<=i){const L=Math.min(i-1,i-$);a[d]===h?y[d]=(c[d]>e[d]?-1:1)*L:b[d]=(u[d]>n[d]?-1:1)*L}}if(t!==o){const $=d==="x"?"y":"x",L=a[d]===l[$],x=c[$]>u[$],M=c[$]<u[$];(a[d]===1&&(!L&&x||L&&M)||a[d]!==1&&(!L&&M||L&&x))&&(g=d==="x"?S:E)}const D={x:c.x+y.x,y:c.y+y.y},k={x:u.x+b.x,y:u.y+b.y},V=Math.max(Math.abs(D.x-g[0].x),Math.abs(k.x-g[0].x)),A=Math.max(Math.abs(D.y-g[0].y),Math.abs(k.y-g[0].y));V>=A?(v=(D.x+k.x)/2,_=g[0].y):(v=g[0].x,_=(D.y+k.y)/2)}return[[e,{x:c.x+y.x,y:c.y+y.y},...g,{x:u.x+b.x,y:u.y+b.y},n],v,_,p,w]}function Ku(e,t,n,o){const r=Math.min(vo(e,t)/2,vo(t,n)/2,o),{x:i,y:s}=t;if(e.x===i&&i===n.x||e.y===s&&s===n.y)return`L${i} ${s}`;if(e.y===s){const c=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${i+r*c},${s}Q ${i},${s} ${i},${s+r*u}`}const a=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${i},${s+r*l}Q ${i},${s} ${i+r*a},${s}`}function xn({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:o,targetY:r,targetPosition:i=Y.Top,borderRadius:s=5,centerX:a,centerY:l,offset:c=20,stepPosition:u=.5}){const[f,d,h,g,v]=qu({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:a,y:l},offset:c,stepPosition:u});return[f.reduce((y,b,p)=>{let w="";return p>0&&p<f.length-1?w=Ku(f[p-1],b,f[p+1],s):w=`${p===0?"M":"L"}${b.x} ${b.y}`,y+=w,y},""),d,h,g,v]}function _o(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Uu(e){const{sourceNode:t,targetNode:n}=e;if(!_o(t)||!_o(n))return null;const o=t.internals.handleBounds||bo(t.handles),r=n.internals.handleBounds||bo(n.handles),i=So(o?.source??[],e.sourceHandle),s=So(e.connectionMode===Ye.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),e.targetHandle);if(!i||!s)return e.onError?.("008",_e.error008(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const a=i?.position||Y.Bottom,l=s?.position||Y.Top,c=He(t,i,a),u=He(n,s,l);return{sourceX:c.x,sourceY:c.y,targetX:u.x,targetY:u.y,sourcePosition:a,targetPosition:l}}function bo(e){if(!e)return null;const t=[],n=[];for(const o of e)o.width=o.width??1,o.height=o.height??1,o.type==="source"?t.push(o):o.type==="target"&&n.push(o);return{source:t,target:n}}function He(e,t,n=Y.Left,o=!1){const r=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:s,height:a}=t??Ne(e);if(o)return{x:r+s/2,y:i+a/2};switch(t?.position??n){case Y.Top:return{x:r+s/2,y:i};case Y.Right:return{x:r+s,y:i+a/2};case Y.Bottom:return{x:r+s/2,y:i+a};case Y.Left:return{x:r,y:i+a/2}}}function So(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function wn(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function Qu(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){const i=new Set;return e.reduce((s,a)=>([a.markerStart||o,a.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){const c=wn(l,t);i.has(c)||(s.push({id:c,color:l.color||n,...l}),i.add(c))}}),s),[]).sort((s,a)=>s.id.localeCompare(a.id))}const Kr=1e3,Ju=10,$n={nodeOrigin:[0,0],nodeExtent:st,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},ed={...$n,checkEquality:!0};function zn(e,t){const n={...e};for(const o in t)t[o]!==void 0&&(n[o]=t[o]);return n}function td(e,t,n){const o=zn($n,n);for(const r of e.values())if(r.parentId)Hn(r,e,t,o);else{const i=dt(r,o.nodeOrigin),s=Ge(r.extent)?r.extent:o.nodeExtent,a=Le(i,s,Ne(r));r.internals.positionAbsolute=a}}function nd(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],o=[];for(const r of e.handles){const i={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(i):r.type==="target"&&o.push(i)}return{source:n,target:o}}function Ln(e){return e==="manual"}function vn(e,t,n,o={}){const r=zn(ed,o),i={i:0},s=new Map(t),a=r?.elevateNodesOnSelect&&!Ln(r.zIndexMode)?Kr:0;let l=e.length>0;t.clear(),n.clear();for(const c of e){let u=s.get(c.id);if(r.checkEquality&&c===u?.internals.userNode)t.set(c.id,u);else{const f=dt(c,r.nodeOrigin),d=Ge(c.extent)?c.extent:r.nodeExtent,h=Le(f,d,Ne(c));u={...r.defaults,...c,measured:{width:c.measured?.width,height:c.measured?.height},internals:{positionAbsolute:h,handleBounds:nd(c,u),z:Ur(c,a,r.zIndexMode),userNode:c}},t.set(c.id,u)}(u.measured===void 0||u.measured.width===void 0||u.measured.height===void 0)&&!u.hidden&&(l=!1),c.parentId&&Hn(u,t,n,o,i)}return l}function od(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Hn(e,t,n,o,r){const{elevateNodesOnSelect:i,nodeOrigin:s,nodeExtent:a,zIndexMode:l}=zn($n,o),c=e.parentId,u=t.get(c);if(!u){console.warn(`Parent node ${c} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}od(e,n),r&&!u.parentId&&u.internals.rootParentIndex===void 0&&l==="auto"&&(u.internals.rootParentIndex=++r.i,u.internals.z=u.internals.z+r.i*Ju),r&&u.internals.rootParentIndex!==void 0&&(r.i=u.internals.rootParentIndex);const f=i&&!Ln(l)?Kr:0,{x:d,y:h,z:g}=rd(e,u,s,a,f,l),{positionAbsolute:v}=e.internals,_=d!==v.x||h!==v.y;(_||g!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:_?{x:d,y:h}:v,z:g}})}function Ur(e,t,n){const o=ye(e.zIndex)?e.zIndex:0;return Ln(n)?o:o+(e.selected?t:0)}function rd(e,t,n,o,r,i){const{x:s,y:a}=t.internals.positionAbsolute,l=Ne(e),c=dt(e,n),u=Ge(e.extent)?Le(c,e.extent,l):c;let f=Le({x:s+u.x,y:a+u.y},o,l);e.extent==="parent"&&(f=Rr(f,l,t));const d=Ur(e,r,i),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=d?h+1:d}}function Rn(e,t,n,o=[0,0]){const r=[],i=new Map;for(const s of e){const a=t.get(s.parentId);if(!a)continue;const l=i.get(s.parentId)?.expandedRect??We(a),c=Vr(l,s.rect);i.set(s.parentId,{expandedRect:c,parent:a})}return i.size>0&&i.forEach(({expandedRect:s,parent:a},l)=>{const c=a.internals.positionAbsolute,u=Ne(a),f=a.origin??o,d=s.x<c.x?Math.round(Math.abs(c.x-s.x)):0,h=s.y<c.y?Math.round(Math.abs(c.y-s.y)):0,g=Math.max(u.width,Math.round(s.width)),v=Math.max(u.height,Math.round(s.height)),_=(g-u.width)*f[0],y=(v-u.height)*f[1];(d>0||h>0||_||y)&&(r.push({id:l,type:"position",position:{x:a.position.x-d+_,y:a.position.y-h+y}}),n.get(l)?.forEach(b=>{e.some(p=>p.id===b.id)||r.push({id:b.id,type:"position",position:{x:b.position.x+d,y:b.position.y+h}})})),(u.width<s.width||u.height<s.height||d||h)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:g+(d?f[0]*d-_:0),height:v+(h?f[1]*h-y:0)}})}),r}function sd(e,t,n,o,r,i,s){const a=o?.querySelector(".xyflow__viewport");let l=!1;if(!a)return{changes:[],updatedInternals:l};const c=[],u=window.getComputedStyle(a),{m22:f}=new window.DOMMatrixReadOnly(u.transform),d=[];for(const h of e.values()){const g=t.get(h.id);if(!g)continue;if(g.hidden){t.set(g.id,{...g,internals:{...g.internals,handleBounds:void 0}}),l=!0;continue}const v=Dn(h.nodeElement),_=g.measured.width!==v.width||g.measured.height!==v.height;if(!!(v.width&&v.height&&(_||!g.internals.handleBounds||h.force))){const b=h.nodeElement.getBoundingClientRect(),p=Ge(g.extent)?g.extent:i;let{positionAbsolute:w}=g.internals;g.parentId&&g.extent==="parent"?w=Rr(w,v,t.get(g.parentId)):p&&(w=Le(w,p,v));const N={...g,measured:v,internals:{...g.internals,positionAbsolute:w,handleBounds:{source:yo("source",h.nodeElement,b,f,g.id),target:yo("target",h.nodeElement,b,f,g.id)}}};t.set(g.id,N),g.parentId&&Hn(N,t,n,{nodeOrigin:r,zIndexMode:s}),l=!0,_&&(c.push({id:g.id,type:"dimensions",dimensions:v}),g.expandParent&&g.parentId&&d.push({id:g.id,parentId:g.parentId,rect:We(N,r)}))}}if(d.length>0){const h=Rn(d,t,n,r);c.push(...h)}return{changes:c,updatedInternals:l}}async function id({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const s=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o),a=!!s&&(s.x!==n[0]||s.y!==n[1]||s.k!==n[2]);return Promise.resolve(a)}function Eo(e,t,n,o,r,i){let s=r;const a=o.get(s)||new Map;o.set(s,a.set(n,t)),s=`${r}-${e}`;const l=o.get(s)||new Map;if(o.set(s,l.set(n,t)),i){s=`${r}-${e}-${i}`;const c=o.get(s)||new Map;o.set(s,c.set(n,t))}}function Qr(e,t,n){e.clear(),t.clear();for(const o of n){const{source:r,target:i,sourceHandle:s=null,targetHandle:a=null}=o,l={edgeId:o.id,source:r,target:i,sourceHandle:s,targetHandle:a},c=`${r}-${s}--${i}-${a}`,u=`${i}-${a}--${r}-${s}`;Eo("source",l,u,e,r,s),Eo("target",l,c,e,i,a),t.set(o.id,o)}}function Jr(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:Jr(n,t):!1}function Co(e,t,n){let o=e;do{if(o?.matches?.(t))return!0;if(o===n)return!1;o=o?.parentElement}while(o);return!1}function ad(e,t,n,o){const r=new Map;for(const[i,s]of e)if((s.selected||s.id===o)&&(!s.parentId||!Jr(s,e))&&(s.draggable||t&&typeof s.draggable>"u")){const a=e.get(i);a&&r.set(i,{id:i,position:a.position||{x:0,y:0},distance:{x:n.x-a.internals.positionAbsolute.x,y:n.y-a.internals.positionAbsolute.y},extent:a.extent,parentId:a.parentId,origin:a.origin,expandParent:a.expandParent,internals:{positionAbsolute:a.internals.positionAbsolute||{x:0,y:0}},measured:{width:a.measured.width??0,height:a.measured.height??0}})}return r}function rn({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){const r=[];for(const[s,a]of t){const l=n.get(s)?.internals.userNode;l&&r.push({...l,position:a.position,dragging:o})}if(!e)return[r[0],r];const i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:o}:r[0],r]}function cd({dragItems:e,snapGrid:t,x:n,y:o}){const r=e.values().next().value;if(!r)return null;const i={x:n-r.distance.x,y:o-r.distance.y},s=ht(i,t);return{x:s.x-i.x,y:s.y-i.y}}function ld({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:r}){let i={x:null,y:null},s=0,a=new Map,l=!1,c={x:0,y:0},u=null,f=!1,d=null,h=!1,g=!1,v=null;function _({noDragClassName:b,handleSelector:p,domNode:w,isSelectable:N,nodeId:S,nodeClickDistance:E=0}){d=he(w);function D({x:$,y:L}){const{nodeLookup:x,nodeExtent:M,snapGrid:C,snapToGrid:P,nodeOrigin:T,onNodeDrag:I,onSelectionDrag:H,onError:j,updateNodePositions:R}=t();i={x:$,y:L};let F=!1;const B=a.size>1,G=B&&M?yn(ft(a)):null,K=B&&P?cd({dragItems:a,snapGrid:C,x:$,y:L}):null;for(const[W,O]of a){if(!x.has(W))continue;let X={x:$-O.distance.x,y:L-O.distance.y};P&&(X=K?{x:Math.round(X.x+K.x),y:Math.round(X.y+K.y)}:ht(X,C));let Q=null;if(B&&M&&!O.extent&&G){const{positionAbsolute:q}=O.internals,ee=q.x-G.x+M[0][0],ne=q.x+O.measured.width-G.x2+M[1][0],te=q.y-G.y+M[0][1],ie=q.y+O.measured.height-G.y2+M[1][1];Q=[[ee,te],[ne,ie]]}const{position:U,positionAbsolute:Z}=Hr({nodeId:W,nextPosition:X,nodeLookup:x,nodeExtent:Q||M,nodeOrigin:T,onError:j});F=F||O.position.x!==U.x||O.position.y!==U.y,O.position=U,O.internals.positionAbsolute=Z}if(g=g||F,!!F&&(R(a,!0),v&&(o||I||!S&&H))){const[W,O]=rn({nodeId:S,dragItems:a,nodeLookup:x});o?.(v,a,W,O),I?.(v,W,O),S||H?.(v,O)}}async function k(){if(!u)return;const{transform:$,panBy:L,autoPanSpeed:x,autoPanOnNodeDrag:M}=t();if(!M){l=!1,cancelAnimationFrame(s);return}const[C,P]=jr(c,u,x);(C!==0||P!==0)&&(i.x=(i.x??0)-C/$[2],i.y=(i.y??0)-P/$[2],await L({x:C,y:P})&&D(i)),s=requestAnimationFrame(k)}function V($){const{nodeLookup:L,multiSelectionActive:x,nodesDraggable:M,transform:C,snapGrid:P,snapToGrid:T,selectNodesOnDrag:I,onNodeDragStart:H,onSelectionDragStart:j,unselectNodesAndEdges:R}=t();f=!0,(!I||!N)&&!x&&S&&(L.get(S)?.selected||R()),N&&I&&S&&e?.(S);const F=tt($.sourceEvent,{transform:C,snapGrid:P,snapToGrid:T,containerBounds:u});if(i=F,a=ad(L,M,F,S),a.size>0&&(n||H||!S&&j)){const[B,G]=rn({nodeId:S,dragItems:a,nodeLookup:L});n?.($.sourceEvent,a,B,G),H?.($.sourceEvent,B,G),S||j?.($.sourceEvent,G)}}const A=vr().clickDistance(E).on("start",$=>{const{domNode:L,nodeDragThreshold:x,transform:M,snapGrid:C,snapToGrid:P}=t();u=L?.getBoundingClientRect()||null,h=!1,g=!1,v=$.sourceEvent,x===0&&V($),i=tt($.sourceEvent,{transform:M,snapGrid:C,snapToGrid:P,containerBounds:u}),c=xe($.sourceEvent,u)}).on("drag",$=>{const{autoPanOnNodeDrag:L,transform:x,snapGrid:M,snapToGrid:C,nodeDragThreshold:P,nodeLookup:T}=t(),I=tt($.sourceEvent,{transform:x,snapGrid:M,snapToGrid:C,containerBounds:u});if(v=$.sourceEvent,($.sourceEvent.type==="touchmove"&&$.sourceEvent.touches.length>1||S&&!T.has(S))&&(h=!0),!h){if(!l&&L&&f&&(l=!0,k()),!f){const H=xe($.sourceEvent,u),j=H.x-c.x,R=H.y-c.y;Math.sqrt(j*j+R*R)>P&&V($)}(i.x!==I.xSnapped||i.y!==I.ySnapped)&&a&&f&&(c=xe($.sourceEvent,u),D(I))}}).on("end",$=>{if(!(!f||h)&&(l=!1,f=!1,cancelAnimationFrame(s),a.size>0)){const{nodeLookup:L,updateNodePositions:x,onNodeDragStop:M,onSelectionDragStop:C}=t();if(g&&(x(a,!1),g=!1),r||M||!S&&C){const[P,T]=rn({nodeId:S,dragItems:a,nodeLookup:L,dragging:!1});r?.($.sourceEvent,a,P,T),M?.($.sourceEvent,P,T),S||C?.($.sourceEvent,T)}}}).filter($=>{const L=$.target;return!$.button&&(!b||!Co(L,`.${b}`,w))&&(!p||Co(L,p,w))});d.call(A)}function y(){d?.on(".drag",null)}return{update:_,destroy:y}}function ud(e,t,n){const o=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const i of t.values())at(r,We(i))>0&&o.push(i);return o}const dd=250;function fd(e,t,n,o){let r=[],i=1/0;const s=ud(e,n,t+dd);for(const a of s){const l=[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]];for(const c of l){if(o.nodeId===c.nodeId&&o.type===c.type&&o.id===c.id)continue;const{x:u,y:f}=He(a,c,c.position,!0),d=Math.sqrt(Math.pow(u-e.x,2)+Math.pow(f-e.y,2));d>t||(d<i?(r=[{...c,x:u,y:f}],i=d):d===i&&r.push({...c,x:u,y:f}))}}if(!r.length)return null;if(r.length>1){const a=o.type==="source"?"target":"source";return r.find(l=>l.type===a)??r[0]}return r[0]}function es(e,t,n,o,r,i=!1){const s=o.get(e);if(!s)return null;const a=r==="strict"?s.internals.handleBounds?.[t]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(n?a?.find(c=>c.id===n):a?.[0])??null;return l&&i?{...l,...He(s,l,l.position,!0)}:l}function ts(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function hd(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const ns=()=>!0;function gd(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:r,edgeUpdaterType:i,isTarget:s,domNode:a,nodeLookup:l,lib:c,autoPanOnConnect:u,flowId:f,panBy:d,cancelConnection:h,onConnectStart:g,onConnect:v,onConnectEnd:_,isValidConnection:y=ns,onReconnectEnd:b,updateConnection:p,getTransform:w,getFromHandle:N,autoPanSpeed:S,dragThreshold:E=1,handleDomNode:D}){const k=Fr(e.target);let V=0,A;const{x:$,y:L}=xe(e),x=ts(i,D),M=a?.getBoundingClientRect();let C=!1;if(!M||!x)return;const P=es(r,x,o,l,t);if(!P)return;let T=xe(e,M),I=!1,H=null,j=!1,R=null;function F(){if(!u||!M)return;const[U,Z]=jr(T,M,S);d({x:U,y:Z}),V=requestAnimationFrame(F)}const B={...P,nodeId:r,type:x,position:P.position},G=l.get(r);let W={inProgress:!0,isValid:null,from:He(G,B,Y.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:G,to:T,toHandle:null,toPosition:ho[B.position],toNode:null,pointer:T};function O(){C=!0,p(W),g?.(e,{nodeId:r,handleId:o,handleType:x})}E===0&&O();function X(U){if(!C){const{x:ie,y:ce}=xe(U),ue=ie-$,oe=ce-L;if(!(ue*ue+oe*oe>E*E))return;O()}if(!N()||!B){Q(U);return}const Z=w();T=xe(U,M),A=fd(gt(T,Z,!1,[1,1]),n,l,B),I||(F(),I=!0);const q=os(U,{handle:A,connectionMode:t,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:y,doc:k,lib:c,flowId:f,nodeLookup:l});R=q.handleDomNode,H=q.connection,j=hd(!!A,q.isValid);const ee=l.get(r),ne=ee?He(ee,B,Y.Left,!0):W.from,te={...W,from:ne,isValid:j,to:q.toHandle&&j?zt({x:q.toHandle.x,y:q.toHandle.y},Z):T,toHandle:q.toHandle,toPosition:j&&q.toHandle?q.toHandle.position:ho[B.position],toNode:q.toHandle?l.get(q.toHandle.nodeId):null,pointer:T};p(te),W=te}function Q(U){if(!("touches"in U&&U.touches.length>0)){if(C){(A||R)&&H&&j&&v?.(H);const{inProgress:Z,...q}=W,ee={...q,toPosition:W.toHandle?W.toPosition:null};_?.(U,ee),i&&b?.(U,ee)}h(),cancelAnimationFrame(V),I=!1,j=!1,H=null,R=null,k.removeEventListener("mousemove",X),k.removeEventListener("mouseup",Q),k.removeEventListener("touchmove",X),k.removeEventListener("touchend",Q)}}k.addEventListener("mousemove",X),k.addEventListener("mouseup",Q),k.addEventListener("touchmove",X),k.addEventListener("touchend",Q)}function os(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:r,fromType:i,doc:s,lib:a,flowId:l,isValidConnection:c=ns,nodeLookup:u}){const f=i==="target",d=t?s.querySelector(`.${a}-flow__handle[data-id="${l}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:g}=xe(e),v=s.elementFromPoint(h,g),_=v?.classList.contains(`${a}-flow__handle`)?v:d,y={handleDomNode:_,isValid:!1,connection:null,toHandle:null};if(_){const b=ts(void 0,_),p=_.getAttribute("data-nodeid"),w=_.getAttribute("data-handleid"),N=_.classList.contains("connectable"),S=_.classList.contains("connectableend");if(!p||!b)return y;const E={source:f?p:o,sourceHandle:f?w:r,target:f?o:p,targetHandle:f?r:w};y.connection=E;const k=N&&S&&(n===Ye.Strict?f&&b==="source"||!f&&b==="target":p!==o||w!==r);y.isValid=k&&c(E),y.toHandle=es(p,b,w,u,n,!0)}return y}const _n={onPointerDown:gd,isValid:os};function pd({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const r=he(e);function i({translateExtent:a,width:l,height:c,zoomStep:u=1,pannable:f=!0,zoomable:d=!0,inversePan:h=!1}){const g=p=>{if(p.sourceEvent.type!=="wheel"||!t)return;const w=n(),N=p.sourceEvent.ctrlKey&&ct()?10:1,S=-p.sourceEvent.deltaY*(p.sourceEvent.deltaMode===1?.05:p.sourceEvent.deltaMode?1:.002)*u,E=w[2]*Math.pow(2,S*N);t.scaleTo(E)};let v=[0,0];const _=p=>{(p.sourceEvent.type==="mousedown"||p.sourceEvent.type==="touchstart")&&(v=[p.sourceEvent.clientX??p.sourceEvent.touches[0].clientX,p.sourceEvent.clientY??p.sourceEvent.touches[0].clientY])},y=p=>{const w=n();if(p.sourceEvent.type!=="mousemove"&&p.sourceEvent.type!=="touchmove"||!t)return;const N=[p.sourceEvent.clientX??p.sourceEvent.touches[0].clientX,p.sourceEvent.clientY??p.sourceEvent.touches[0].clientY],S=[N[0]-v[0],N[1]-v[1]];v=N;const E=o()*Math.max(w[2],Math.log(w[2]))*(h?-1:1),D={x:w[0]-S[0]*E,y:w[1]-S[1]*E},k=[[0,0],[l,c]];t.setViewportConstrained({x:D.x,y:D.y,zoom:w[2]},k,a)},b=Pr().on("start",_).on("zoom",f?y:null).on("zoom.wheel",d?g:null);r.call(b,{})}function s(){r.on("zoom",null)}return{update:i,destroy:s,pointer:me}}const Zt=e=>({x:e.x,y:e.y,zoom:e.k}),sn=({x:e,y:t,zoom:n})=>Ft.translate(e,t).scale(n),Ve=(e,t)=>e.target.closest(`.${t}`),rs=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),md=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,an=(e,t=0,n=md,o=()=>{})=>{const r=typeof t=="number"&&t>0;return r||o(),r?e.transition().duration(t).ease(n).on("end",o):e},ss=e=>{const t=e.ctrlKey&&ct()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function yd({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:i,zoomOnPinch:s,onPanZoomStart:a,onPanZoom:l,onPanZoomEnd:c}){return u=>{if(Ve(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(u.ctrlKey&&s){const _=me(u),y=ss(u),b=f*Math.pow(2,y);o.scaleTo(n,b,_,u);return}const d=u.deltaMode===1?20:1;let h=r===$e.Vertical?0:u.deltaX*d,g=r===$e.Horizontal?0:u.deltaY*d;!ct()&&u.shiftKey&&r!==$e.Vertical&&(h=u.deltaY*d,g=0),o.translateBy(n,-(h/f)*i,-(g/f)*i,{internal:!0});const v=Zt(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l?.(u,v),e.panScrollTimeout=setTimeout(()=>{c?.(u,v),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,a?.(u,v))}}function xd({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,r){const i=o.type==="wheel",s=!t&&i&&!o.ctrlKey,a=Ve(o,e);if(o.ctrlKey&&i&&a&&o.preventDefault(),s||a)return null;o.preventDefault(),n.call(this,o,r)}}function wd({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;const r=Zt(o.transform);e.mouseButton=o.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=r,o.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(o.sourceEvent,r)}}function vd({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{e.usedRightMouseButton=!!(n&&rs(t,e.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,Zt(i.transform))}}function _d({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return s=>{if(!s.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&rs(t,e.mouseButton??0)&&!e.usedRightMouseButton&&s.sourceEvent&&i(s.sourceEvent),e.usedRightMouseButton=!1,o(!1),r)){const a=Zt(s.transform);e.prevViewport=a,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r?.(s.sourceEvent,a)},n?150:0)}}}function bd({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:i,userSelectionActive:s,noWheelClassName:a,noPanClassName:l,lib:c,connectionInProgress:u}){return f=>{const d=e||t,h=n&&f.ctrlKey,g=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(Ve(f,`${c}-flow__node`)||Ve(f,`${c}-flow__edge`)))return!0;if(!o&&!d&&!r&&!i&&!n||s||u&&!g||Ve(f,a)&&g||Ve(f,l)&&(!g||r&&g&&!e)||!n&&f.ctrlKey&&g)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!d&&!r&&!h&&g||!o&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(o)&&!o.includes(f.button)&&f.type==="mousedown")return!1;const v=Array.isArray(o)&&o.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||g)&&v}}function Sd({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:r,onPanZoom:i,onPanZoomStart:s,onPanZoomEnd:a,onDraggingChange:l}){const c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),f=Pr().scaleExtent([t,n]).translateExtent(o),d=he(e).call(f);b({x:r.x,y:r.y,zoom:Ze(r.zoom,t,n)},[[0,0],[u.width,u.height]],o);const h=d.on("wheel.zoom"),g=d.on("dblclick.zoom");f.wheelDelta(ss);function v(A,$){return d?new Promise(L=>{f?.interpolate($?.interpolate==="linear"?en:Ct).transform(an(d,$?.duration,$?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function _({noWheelClassName:A,noPanClassName:$,onPaneContextMenu:L,userSelectionActive:x,panOnScroll:M,panOnDrag:C,panOnScrollMode:P,panOnScrollSpeed:T,preventScrolling:I,zoomOnPinch:H,zoomOnScroll:j,zoomOnDoubleClick:R,zoomActivationKeyPressed:F,lib:B,onTransformChange:G,connectionInProgress:K,paneClickDistance:W,selectionOnDrag:O}){x&&!c.isZoomingOrPanning&&y();const X=M&&!F&&!x;f.clickDistance(O?1/0:!ye(W)||W<0?0:W);const Q=X?yd({zoomPanValues:c,noWheelClassName:A,d3Selection:d,d3Zoom:f,panOnScrollMode:P,panOnScrollSpeed:T,zoomOnPinch:H,onPanZoomStart:s,onPanZoom:i,onPanZoomEnd:a}):xd({noWheelClassName:A,preventScrolling:I,d3ZoomHandler:h});if(d.on("wheel.zoom",Q,{passive:!1}),!x){const Z=wd({zoomPanValues:c,onDraggingChange:l,onPanZoomStart:s});f.on("start",Z);const q=vd({zoomPanValues:c,panOnDrag:C,onPaneContextMenu:!!L,onPanZoom:i,onTransformChange:G});f.on("zoom",q);const ee=_d({zoomPanValues:c,panOnDrag:C,panOnScroll:M,onPaneContextMenu:L,onPanZoomEnd:a,onDraggingChange:l});f.on("end",ee)}const U=bd({zoomActivationKeyPressed:F,panOnDrag:C,zoomOnScroll:j,panOnScroll:M,zoomOnDoubleClick:R,zoomOnPinch:H,userSelectionActive:x,noPanClassName:$,noWheelClassName:A,lib:B,connectionInProgress:K});f.filter(U),R?d.on("dblclick.zoom",g):d.on("dblclick.zoom",null)}function y(){f.on("zoom",null)}async function b(A,$,L){const x=sn(A),M=f?.constrain()(x,$,L);return M&&await v(M),new Promise(C=>C(M))}async function p(A,$){const L=sn(A);return await v(L,$),new Promise(x=>x(L))}function w(A){if(d){const $=sn(A),L=d.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&f?.transform(d,$,null,{sync:!0})}}function N(){const A=d?Ar(d.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function S(A,$){return d?new Promise(L=>{f?.interpolate($?.interpolate==="linear"?en:Ct).scaleTo(an(d,$?.duration,$?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A,$){return d?new Promise(L=>{f?.interpolate($?.interpolate==="linear"?en:Ct).scaleBy(an(d,$?.duration,$?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function D(A){f?.scaleExtent(A)}function k(A){f?.translateExtent(A)}function V(A){const $=!ye(A)||A<0?0:A;f?.clickDistance($)}return{update:_,destroy:y,setViewport:p,setViewportConstrained:b,getViewport:N,scaleTo:S,scaleBy:E,setScaleExtent:D,setTranslateExtent:k,syncViewport:w,setClickDistance:V}}var qe;(function(e){e.Line="line",e.Handle="handle"})(qe||(qe={}));function Ed({width:e,prevWidth:t,height:n,prevHeight:o,affectsX:r,affectsY:i}){const s=e-t,a=n-o,l=[s>0?1:s<0?-1:0,a>0?1:a<0?-1:0];return s&&r&&(l[0]=l[0]*-1),a&&i&&(l[1]=l[1]*-1),l}function No(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),o=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:o,affectsY:r}}function Me(e,t){return Math.max(0,t-e)}function Ie(e,t){return Math.max(0,e-t)}function vt(e,t,n){return Math.max(0,t-e,e-n)}function Mo(e,t){return e?!t:t}function Cd(e,t,n,o,r,i,s,a){let{affectsX:l,affectsY:c}=t;const{isHorizontal:u,isVertical:f}=t,d=u&&f,{xSnapped:h,ySnapped:g}=n,{minWidth:v,maxWidth:_,minHeight:y,maxHeight:b}=o,{x:p,y:w,width:N,height:S,aspectRatio:E}=e;let D=Math.floor(u?h-e.pointerX:0),k=Math.floor(f?g-e.pointerY:0);const V=N+(l?-D:D),A=S+(c?-k:k),$=-i[0]*N,L=-i[1]*S;let x=vt(V,v,_),M=vt(A,y,b);if(s){let T=0,I=0;l&&D<0?T=Me(p+D+$,s[0][0]):!l&&D>0&&(T=Ie(p+V+$,s[1][0])),c&&k<0?I=Me(w+k+L,s[0][1]):!c&&k>0&&(I=Ie(w+A+L,s[1][1])),x=Math.max(x,T),M=Math.max(M,I)}if(a){let T=0,I=0;l&&D>0?T=Ie(p+D,a[0][0]):!l&&D<0&&(T=Me(p+V,a[1][0])),c&&k>0?I=Ie(w+k,a[0][1]):!c&&k<0&&(I=Me(w+A,a[1][1])),x=Math.max(x,T),M=Math.max(M,I)}if(r){if(u){const T=vt(V/E,y,b)*E;if(x=Math.max(x,T),s){let I=0;!l&&!c||l&&!c&&d?I=Ie(w+L+V/E,s[1][1])*E:I=Me(w+L+(l?D:-D)/E,s[0][1])*E,x=Math.max(x,I)}if(a){let I=0;!l&&!c||l&&!c&&d?I=Me(w+V/E,a[1][1])*E:I=Ie(w+(l?D:-D)/E,a[0][1])*E,x=Math.max(x,I)}}if(f){const T=vt(A*E,v,_)/E;if(M=Math.max(M,T),s){let I=0;!l&&!c||c&&!l&&d?I=Ie(p+A*E+$,s[1][0])/E:I=Me(p+(c?k:-k)*E+$,s[0][0])/E,M=Math.max(M,I)}if(a){let I=0;!l&&!c||c&&!l&&d?I=Me(p+A*E,a[1][0])/E:I=Ie(p+(c?k:-k)*E,a[0][0])/E,M=Math.max(M,I)}}}k=k+(k<0?M:-M),D=D+(D<0?x:-x),r&&(d?V>A*E?k=(Mo(l,c)?-D:D)/E:D=(Mo(l,c)?-k:k)*E:u?(k=D/E,c=l):(D=k*E,l=c));const C=l?p+D:p,P=c?w+k:w;return{width:N+(l?-D:D),height:S+(c?-k:k),x:i[0]*D*(l?-1:1)+C,y:i[1]*k*(c?-1:1)+P}}const is={width:0,height:0,x:0,y:0},Nd={...is,pointerX:0,pointerY:0,aspectRatio:1};function Md(e){return[[0,0],[e.measured.width,e.measured.height]]}function Id(e,t,n){const o=t.position.x+e.position.x,r=t.position.y+e.position.y,i=e.measured.width??0,s=e.measured.height??0,a=n[0]*i,l=n[1]*s;return[[o-a,r-l],[o+i-a,r+s-l]]}function kd({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:r}){const i=he(e);let s={controlDirection:No("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:c,boundaries:u,keepAspectRatio:f,resizeDirection:d,onResizeStart:h,onResize:g,onResizeEnd:v,shouldResize:_}){let y={...is},b={...Nd};s={boundaries:u,resizeDirection:d,keepAspectRatio:f,controlDirection:No(c)};let p,w=null,N=[],S,E,D,k=!1;const V=vr().on("start",A=>{const{nodeLookup:$,transform:L,snapGrid:x,snapToGrid:M,nodeOrigin:C,paneDomNode:P}=n();if(p=$.get(t),!p)return;w=P?.getBoundingClientRect()??null;const{xSnapped:T,ySnapped:I}=tt(A.sourceEvent,{transform:L,snapGrid:x,snapToGrid:M,containerBounds:w});y={width:p.measured.width??0,height:p.measured.height??0,x:p.position.x??0,y:p.position.y??0},b={...y,pointerX:T,pointerY:I,aspectRatio:y.width/y.height},S=void 0,p.parentId&&(p.extent==="parent"||p.expandParent)&&(S=$.get(p.parentId),E=S&&p.extent==="parent"?Md(S):void 0),N=[],D=void 0;for(const[H,j]of $)if(j.parentId===t&&(N.push({id:H,position:{...j.position},extent:j.extent}),j.extent==="parent"||j.expandParent)){const R=Id(j,p,j.origin??C);D?D=[[Math.min(R[0][0],D[0][0]),Math.min(R[0][1],D[0][1])],[Math.max(R[1][0],D[1][0]),Math.max(R[1][1],D[1][1])]]:D=R}h?.(A,{...y})}).on("drag",A=>{const{transform:$,snapGrid:L,snapToGrid:x,nodeOrigin:M}=n(),C=tt(A.sourceEvent,{transform:$,snapGrid:L,snapToGrid:x,containerBounds:w}),P=[];if(!p)return;const{x:T,y:I,width:H,height:j}=y,R={},F=p.origin??M,{width:B,height:G,x:K,y:W}=Cd(b,s.controlDirection,C,s.boundaries,s.keepAspectRatio,F,E,D),O=B!==H,X=G!==j,Q=K!==T&&O,U=W!==I&&X;if(!Q&&!U&&!O&&!X)return;if((Q||U||F[0]===1||F[1]===1)&&(R.x=Q?K:y.x,R.y=U?W:y.y,y.x=R.x,y.y=R.y,N.length>0)){const ne=K-T,te=W-I;for(const ie of N)ie.position={x:ie.position.x-ne+F[0]*(B-H),y:ie.position.y-te+F[1]*(G-j)},P.push(ie)}if((O||X)&&(R.width=O&&(!s.resizeDirection||s.resizeDirection==="horizontal")?B:y.width,R.height=X&&(!s.resizeDirection||s.resizeDirection==="vertical")?G:y.height,y.width=R.width,y.height=R.height),S&&p.expandParent){const ne=F[0]*(R.width??0);R.x&&R.x<ne&&(y.x=ne,b.x=b.x-(R.x-ne));const te=F[1]*(R.height??0);R.y&&R.y<te&&(y.y=te,b.y=b.y-(R.y-te))}const Z=Ed({width:y.width,prevWidth:H,height:y.height,prevHeight:j,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),q={...y,direction:Z};_?.(A,q)!==!1&&(k=!0,g?.(A,q),o(R,P))}).on("end",A=>{k&&(v?.(A,{...y}),r?.({...y}),k=!1)});i.call(V)}function l(){i.on(".drag",null)}return{update:a,destroy:l}}const Ad={},Io=e=>{let t;const n=new Set,o=(u,f)=>{const d=typeof u=="function"?u(t):u;if(!Object.is(d,t)){const h=t;t=f??(typeof d!="object"||d===null)?d:Object.assign({},t,d),n.forEach(g=>g(t,h))}},r=()=>t,l={setState:o,getState:r,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(Ad?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},c=t=e(o,r,l);return l},Pd=e=>e?Io(e):Io,{useDebugValue:Td}=Wi,{useSyncExternalStoreWithSelector:Dd}=Zi,$d=e=>e;function as(e,t=$d,n){const o=Dd(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Td(o),o}const ko=(e,t)=>{const n=Pd(e),o=(r,i=t)=>as(n,r,i);return Object.assign(o,n),o},zd=(e,t)=>e?ko(e,t):ko;function re(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[o,r]of e)if(!Object.is(r,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}const Wt=z.createContext(null),Ld=Wt.Provider,cs=_e.error001();function J(e,t){const n=z.useContext(Wt);if(n===null)throw new Error(cs);return as(n,e,t)}function se(){const e=z.useContext(Wt);if(e===null)throw new Error(cs);return z.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Ao={display:"none"},Hd={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ls="react-flow__node-desc",us="react-flow__edge-desc",Rd="react-flow__aria-live",jd=e=>e.ariaLiveMessage,Vd=e=>e.ariaLabelConfig;function Od({rfId:e}){const t=J(jd);return m.jsx("div",{id:`${Rd}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Hd,children:t})}function Bd({rfId:e,disableKeyboardA11y:t}){const n=J(Vd);return m.jsxs(m.Fragment,{children:[m.jsx("div",{id:`${ls}-${e}`,style:Ao,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),m.jsx("div",{id:`${us}-${e}`,style:Ao,children:n["edge.a11yDescription.default"]}),!t&&m.jsx(Od,{rfId:e})]})}const Gt=z.forwardRef(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{const s=`${e}`.split("-");return m.jsx("div",{className:ae(["react-flow__panel",n,...s]),style:o,ref:i,...r,children:t})});Gt.displayName="Panel";function Fd({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:m.jsx(Gt,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:m.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Xd=e=>{const t=[],n=[];for(const[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&n.push(o);return{selectedNodes:t,selectedEdges:n}},_t=e=>e.id;function Yd(e,t){return re(e.selectedNodes.map(_t),t.selectedNodes.map(_t))&&re(e.selectedEdges.map(_t),t.selectedEdges.map(_t))}function Zd({onSelectionChange:e}){const t=se(),{selectedNodes:n,selectedEdges:o}=J(Xd,Yd);return z.useEffect(()=>{const r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(i=>i(r))},[n,o,e]),null}const Wd=e=>!!e.onSelectionChangeHandlers;function Gd({onSelectionChange:e}){const t=J(Wd);return e||t?m.jsx(Zd,{onSelectionChange:e}):null}const ds=[0,0],qd={x:0,y:0,zoom:1},Kd=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],Po=[...Kd,"rfId"],Ud=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),To={translateExtent:st,nodeOrigin:ds,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Qd(e){const{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:i,setNodeExtent:s,reset:a,setDefaultNodesAndEdges:l}=J(Ud,re),c=se();z.useEffect(()=>(l(e.defaultNodes,e.defaultEdges),()=>{u.current=To,a()}),[]);const u=z.useRef(To);return z.useEffect(()=>{for(const f of Po){const d=e[f],h=u.current[f];d!==h&&(typeof e[f]>"u"||(f==="nodes"?t(d):f==="edges"?n(d):f==="minZoom"?o(d):f==="maxZoom"?r(d):f==="translateExtent"?i(d):f==="nodeExtent"?s(d):f==="ariaLabelConfig"?c.setState({ariaLabelConfig:Ou(d)}):f==="fitView"?c.setState({fitViewQueued:d}):f==="fitViewOptions"?c.setState({fitViewOptions:d}):c.setState({[f]:d})))}u.current=e},Po.map(f=>e[f])),null}function Do(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Jd(e){const[t,n]=z.useState(e==="system"?null:e);return z.useEffect(()=>{if(e!=="system"){n(e);return}const o=Do(),r=()=>n(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[e]),t!==null?t:Do()?.matches?"dark":"light"}const $o=typeof document<"u"?document:null;function lt(e=null,t={target:$o,actInsideInputWithModifier:!0}){const[n,o]=z.useState(!1),r=z.useRef(!1),i=z.useRef(new Set([])),[s,a]=z.useMemo(()=>{if(e!==null){const c=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
1
|
+
import{r as z,y as Zi,z as Wi,j as m,c as fe,h as Rt,i as Gi,a as qi,t as Un}from"./index-DHr9tFb0.js";import{f as Ki,D as Ui,u as Qn,a as Qi,b as Ji,d as ea,c as ta,e as na,N as oa,C as le,M as Jn,U as ra,G as sa,g as ia,T as aa}from"./thread-history-popover-DrZ24omE.js";import{E as un}from"./error-boundary-9rVpFVah.js";import{u as er,c as ca,I as tr,n as la}from"./use-connection-gZqQ1FAI.js";import{u as nr,i as ua}from"./use-gateway-BAeublLm.js";import{u as da}from"./use-binding-DxCldqD_.js";import{u as or,L as fa}from"./localstorage-keys-DrIZl-Oa.js";import{u as Sn}from"./project-context-provider-SYQQWwHt.js";import{c as rr,B as sr}from"./input-C4WvdKkR.js";import{V as ha}from"./view-mode-toggle-DAKbBF5Z.js";import{i as ga}from"./GitBranch01-DovnqKJf.js";import{i as pa}from"./Loading01-C0_l8AxO.js";import{s as ma}from"./Plus-KTlOMNSY.js";import{u as ya}from"./use-tool-call-DYbV_cs9.js";import{i as Te,a as eo,b as xa,c as to,d as en,T as tn,e as wa}from"./value-DqDh9HyF.js";import{G as no}from"./gateway-selector-CuwGVcxw.js";import"./use-gateway-system-prompt-DcPNvMKK.js";import"./popover-B1hj_ypq.js";import"./AlertCircle-CZPV4eTQ.js";import"./X-BFdZnqth.js";import"./Grid01-R-k411L-.js";import"./textarea-KpHZNzGY.js";import"./ChevronRight-SzPzGSNO.js";import"./Copy01-DS49wIzW.js";import"./Terminal-DDfP4x2i.js";import"./monaco-editor-fWj67pSD.js";import"./spinner-BmiYLJkt.js";import"./alert-dialog-Dz8Vs8_m.js";import"./File06-CUqAuIUq.js";import"./InfoCircle-r2yyYHHv.js";import"./well-known-mcp-D13f-8h2.js";import"./generate-id-Dyweu44Y.js";import"./Trash01-BMJLKtdF.js";import"./auth-CJNQiaii.js";import"./useQuery--jXLy0yb.js";import"./select-58kzPmSH.js";import"./ChevronDown-Cdy__m-8.js";import"./use-mobile-CXfyAVoY.js";const En=({size:e=24,color:t="currentColor",...n})=>z.createElement("svg",{viewBox:"0 0 24 24",width:e,height:e,stroke:t,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...n},z.createElement("path",{d:"m10 15-3.075 3.114c-.43.434-.644.651-.828.666a.5.5 0 0 1-.421-.172c-.12-.14-.12-.446-.12-1.056v-1.56c0-.548-.449-.944-.99-1.024v0a3 3 0 0 1-2.534-2.533C2 12.219 2 11.96 2 11.445V6.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C4.28 2 5.12 2 6.8 2h7.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C19 4.28 19 5.12 19 6.8V11m0 11-2.176-1.513c-.306-.213-.46-.32-.626-.395a2.002 2.002 0 0 0-.462-.145c-.18-.033-.367-.033-.74-.033H13.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C10 18.394 10 17.834 10 16.714V14.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C11.52 11 12.08 11 13.2 11h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C22 12.52 22 13.08 22 14.2v2.714c0 .932 0 1.398-.152 1.766a2 2 0 0 1-1.083 1.082c-.367.152-.833.152-1.765.152V22Z"}));En.displayName="MessageChatSquare";function ae(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n<e.length;n++)(o=ae(e[n]))!==""&&(t+=(t&&" ")+o);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var va={value:()=>{}};function jt(){for(var e=0,t=arguments.length,n={},o;e<t;++e){if(!(o=arguments[e]+"")||o in n||/[\s.]/.test(o))throw new Error("illegal type: "+o);n[o]=[]}return new Et(n)}function Et(e){this._=e}function _a(e,t){return e.trim().split(/^|\s+/).map(function(n){var o="",r=n.indexOf(".");if(r>=0&&(o=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}Et.prototype=jt.prototype={constructor:Et,on:function(e,t){var n=this._,o=_a(e+"",n),r,i=-1,s=o.length;if(arguments.length<2){for(;++i<s;)if((r=(e=o[i]).type)&&(r=ba(n[r],e.name)))return r;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<s;)if(r=(e=o[i]).type)n[r]=oo(n[r],e.name,t);else if(t==null)for(r in n)n[r]=oo(n[r],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Et(e)},call:function(e,t){if((r=arguments.length-2)>0)for(var n=new Array(r),o=0,r,i;o<r;++o)n[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],o=0,r=i.length;o<r;++o)i[o].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)}};function ba(e,t){for(var n=0,o=e.length,r;n<o;++n)if((r=e[n]).name===t)return r.value}function oo(e,t,n){for(var o=0,r=e.length;o<r;++o)if(e[o].name===t){e[o]=va,e=e.slice(0,o).concat(e.slice(o+1));break}return n!=null&&e.push({name:t,value:n}),e}var dn="http://www.w3.org/1999/xhtml";const ro={svg:"http://www.w3.org/2000/svg",xhtml:dn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vt(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),ro.hasOwnProperty(t)?{space:ro[t],local:e}:e}function Sa(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===dn&&t.documentElement.namespaceURI===dn?t.createElement(e):t.createElementNS(n,e)}}function Ea(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ir(e){var t=Vt(e);return(t.local?Ea:Sa)(t)}function Ca(){}function Cn(e){return e==null?Ca:function(){return this.querySelector(e)}}function Na(e){typeof e!="function"&&(e=Cn(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=new Array(s),l,c,u=0;u<s;++u)(l=i[u])&&(c=e.call(l,l.__data__,u,i))&&("__data__"in l&&(c.__data__=l.__data__),a[u]=c);return new ge(o,this._parents)}function Ma(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ia(){return[]}function ar(e){return e==null?Ia:function(){return this.querySelectorAll(e)}}function ka(e){return function(){return Ma(e.apply(this,arguments))}}function Aa(e){typeof e=="function"?e=ka(e):e=ar(e);for(var t=this._groups,n=t.length,o=[],r=[],i=0;i<n;++i)for(var s=t[i],a=s.length,l,c=0;c<a;++c)(l=s[c])&&(o.push(e.call(l,l.__data__,c,s)),r.push(l));return new ge(o,r)}function cr(e){return function(){return this.matches(e)}}function lr(e){return function(t){return t.matches(e)}}var Pa=Array.prototype.find;function Ta(e){return function(){return Pa.call(this.children,e)}}function Da(){return this.firstElementChild}function $a(e){return this.select(e==null?Da:Ta(typeof e=="function"?e:lr(e)))}var za=Array.prototype.filter;function La(){return Array.from(this.children)}function Ha(e){return function(){return za.call(this.children,e)}}function Ra(e){return this.selectAll(e==null?La:Ha(typeof e=="function"?e:lr(e)))}function ja(e){typeof e!="function"&&(e=cr(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=[],l,c=0;c<s;++c)(l=i[c])&&e.call(l,l.__data__,c,i)&&a.push(l);return new ge(o,this._parents)}function ur(e){return new Array(e.length)}function Va(){return new ge(this._enter||this._groups.map(ur),this._parents)}function kt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}kt.prototype={constructor:kt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Oa(e){return function(){return e}}function Ba(e,t,n,o,r,i){for(var s=0,a,l=t.length,c=i.length;s<c;++s)(a=t[s])?(a.__data__=i[s],o[s]=a):n[s]=new kt(e,i[s]);for(;s<l;++s)(a=t[s])&&(r[s]=a)}function Fa(e,t,n,o,r,i,s){var a,l,c=new Map,u=t.length,f=i.length,d=new Array(u),h;for(a=0;a<u;++a)(l=t[a])&&(d[a]=h=s.call(l,l.__data__,a,t)+"",c.has(h)?r[a]=l:c.set(h,l));for(a=0;a<f;++a)h=s.call(e,i[a],a,i)+"",(l=c.get(h))?(o[a]=l,l.__data__=i[a],c.delete(h)):n[a]=new kt(e,i[a]);for(a=0;a<u;++a)(l=t[a])&&c.get(d[a])===l&&(r[a]=l)}function Xa(e){return e.__data__}function Ya(e,t){if(!arguments.length)return Array.from(this,Xa);var n=t?Fa:Ba,o=this._parents,r=this._groups;typeof e!="function"&&(e=Oa(e));for(var i=r.length,s=new Array(i),a=new Array(i),l=new Array(i),c=0;c<i;++c){var u=o[c],f=r[c],d=f.length,h=Za(e.call(u,u&&u.__data__,c,o)),g=h.length,v=a[c]=new Array(g),_=s[c]=new Array(g),y=l[c]=new Array(d);n(u,f,v,_,y,h,t);for(var b=0,p=0,w,N;b<g;++b)if(w=v[b]){for(b>=p&&(p=b+1);!(N=_[p])&&++p<g;);w._next=N||null}}return s=new ge(s,o),s._enter=a,s._exit=l,s}function Za(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Wa(){return new ge(this._exit||this._groups.map(ur),this._parents)}function Ga(e,t,n){var o=this.enter(),r=this,i=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(r=t(r),r&&(r=r.selection())),n==null?i.remove():n(i),o&&r?o.merge(r).order():r}function qa(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,r=n.length,i=o.length,s=Math.min(r,i),a=new Array(r),l=0;l<s;++l)for(var c=n[l],u=o[l],f=c.length,d=a[l]=new Array(f),h,g=0;g<f;++g)(h=c[g]||u[g])&&(d[g]=h);for(;l<r;++l)a[l]=n[l];return new ge(a,this._parents)}function Ka(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o=e[t],r=o.length-1,i=o[r],s;--r>=0;)(s=o[r])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function Ua(e){e||(e=Qa);function t(f,d){return f&&d?e(f.__data__,d.__data__):!f-!d}for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i){for(var s=n[i],a=s.length,l=r[i]=new Array(a),c,u=0;u<a;++u)(c=s[u])&&(l[u]=c);l.sort(t)}return new ge(r,this._parents).order()}function Qa(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ja(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ec(){return Array.from(this)}function tc(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length;r<i;++r){var s=o[r];if(s)return s}return null}function nc(){let e=0;for(const t of this)++e;return e}function oc(){return!this.node()}function rc(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var r=t[n],i=0,s=r.length,a;i<s;++i)(a=r[i])&&e.call(a,a.__data__,i,r);return this}function sc(e){return function(){this.removeAttribute(e)}}function ic(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ac(e,t){return function(){this.setAttribute(e,t)}}function cc(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function lc(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function uc(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function dc(e,t){var n=Vt(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((t==null?n.local?ic:sc:typeof t=="function"?n.local?uc:lc:n.local?cc:ac)(n,t))}function dr(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function fc(e){return function(){this.style.removeProperty(e)}}function hc(e,t,n){return function(){this.style.setProperty(e,t,n)}}function gc(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function pc(e,t,n){return arguments.length>1?this.each((t==null?fc:typeof t=="function"?gc:hc)(e,t,n??"")):Fe(this.node(),e)}function Fe(e,t){return e.style.getPropertyValue(t)||dr(e).getComputedStyle(e,null).getPropertyValue(t)}function mc(e){return function(){delete this[e]}}function yc(e,t){return function(){this[e]=t}}function xc(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function wc(e,t){return arguments.length>1?this.each((t==null?mc:typeof t=="function"?xc:yc)(e,t)):this.node()[e]}function fr(e){return e.trim().split(/^|\s+/)}function Nn(e){return e.classList||new hr(e)}function hr(e){this._node=e,this._names=fr(e.getAttribute("class")||"")}hr.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function gr(e,t){for(var n=Nn(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function pr(e,t){for(var n=Nn(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function vc(e){return function(){gr(this,e)}}function _c(e){return function(){pr(this,e)}}function bc(e,t){return function(){(t.apply(this,arguments)?gr:pr)(this,e)}}function Sc(e,t){var n=fr(e+"");if(arguments.length<2){for(var o=Nn(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each((typeof t=="function"?bc:t?vc:_c)(n,t))}function Ec(){this.textContent=""}function Cc(e){return function(){this.textContent=e}}function Nc(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Mc(e){return arguments.length?this.each(e==null?Ec:(typeof e=="function"?Nc:Cc)(e)):this.node().textContent}function Ic(){this.innerHTML=""}function kc(e){return function(){this.innerHTML=e}}function Ac(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Pc(e){return arguments.length?this.each(e==null?Ic:(typeof e=="function"?Ac:kc)(e)):this.node().innerHTML}function Tc(){this.nextSibling&&this.parentNode.appendChild(this)}function Dc(){return this.each(Tc)}function $c(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function zc(){return this.each($c)}function Lc(e){var t=typeof e=="function"?e:ir(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Hc(){return null}function Rc(e,t){var n=typeof e=="function"?e:ir(e),o=t==null?Hc:typeof t=="function"?t:Cn(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function jc(){var e=this.parentNode;e&&e.removeChild(this)}function Vc(){return this.each(jc)}function Oc(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Bc(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Fc(e){return this.select(e?Bc:Oc)}function Xc(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Yc(e){return function(t){e.call(this,t,this.__data__)}}function Zc(e){return e.trim().split(/^|\s+/).map(function(t){var n="",o=t.indexOf(".");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function Wc(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,r=t.length,i;n<r;++n)i=t[n],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++o]=i;++o?t.length=o:delete this.__on}}}function Gc(e,t,n){return function(){var o=this.__on,r,i=Yc(t);if(o){for(var s=0,a=o.length;s<a;++s)if((r=o[s]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function qc(e,t,n){var o=Zc(e+""),r,i=o.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var l=0,c=a.length,u;l<c;++l)for(r=0,u=a[l];r<i;++r)if((s=o[r]).type===u.type&&s.name===u.name)return u.value}return}for(a=t?Gc:Wc,r=0;r<i;++r)this.each(a(o[r],t,n));return this}function mr(e,t,n){var o=dr(e),r=o.CustomEvent;typeof r=="function"?r=new r(t,n):(r=o.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}function Kc(e,t){return function(){return mr(this,e,t)}}function Uc(e,t){return function(){return mr(this,e,t.apply(this,arguments))}}function Qc(e,t){return this.each((typeof t=="function"?Uc:Kc)(e,t))}function*Jc(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length,s;r<i;++r)(s=o[r])&&(yield s)}var yr=[null];function ge(e,t){this._groups=e,this._parents=t}function ut(){return new ge([[document.documentElement]],yr)}function el(){return this}ge.prototype=ut.prototype={constructor:ge,select:Na,selectAll:Aa,selectChild:$a,selectChildren:Ra,filter:ja,data:Ya,enter:Va,exit:Wa,join:Ga,merge:qa,selection:el,order:Ka,sort:Ua,call:Ja,nodes:ec,node:tc,size:nc,empty:oc,each:rc,attr:dc,style:pc,property:wc,classed:Sc,text:Mc,html:Pc,raise:Dc,lower:zc,append:Lc,insert:Rc,remove:Vc,clone:Fc,datum:Xc,on:qc,dispatch:Qc,[Symbol.iterator]:Jc};function he(e){return typeof e=="string"?new ge([[document.querySelector(e)]],[document.documentElement]):new ge([[e]],yr)}function tl(e){let t;for(;t=e.sourceEvent;)e=t;return e}function me(e,t){if(e=tl(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}}return[e.pageX,e.pageY]}const nl={passive:!1},ot={capture:!0,passive:!1};function nn(e){e.stopImmediatePropagation()}function Be(e){e.preventDefault(),e.stopImmediatePropagation()}function xr(e){var t=e.document.documentElement,n=he(e).on("dragstart.drag",Be,ot);"onselectstart"in t?n.on("selectstart.drag",Be,ot):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function wr(e,t){var n=e.document.documentElement,o=he(e).on("dragstart.drag",null);t&&(o.on("click.drag",Be,ot),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const mt=e=>()=>e;function fn(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:s,y:a,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}fn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function ol(e){return!e.ctrlKey&&!e.button}function rl(){return this.parentNode}function sl(e,t){return t??{x:e.x,y:e.y}}function il(){return navigator.maxTouchPoints||"ontouchstart"in this}function vr(){var e=ol,t=rl,n=sl,o=il,r={},i=jt("start","drag","end"),s=0,a,l,c,u,f=0;function d(w){w.on("mousedown.drag",h).filter(o).on("touchstart.drag",_).on("touchmove.drag",y,nl).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(w,N){if(!(u||!e.call(this,w,N))){var S=p(this,t.call(this,w,N),w,N,"mouse");S&&(he(w.view).on("mousemove.drag",g,ot).on("mouseup.drag",v,ot),xr(w.view),nn(w),c=!1,a=w.clientX,l=w.clientY,S("start",w))}}function g(w){if(Be(w),!c){var N=w.clientX-a,S=w.clientY-l;c=N*N+S*S>f}r.mouse("drag",w)}function v(w){he(w.view).on("mousemove.drag mouseup.drag",null),wr(w.view,c),Be(w),r.mouse("end",w)}function _(w,N){if(e.call(this,w,N)){var S=w.changedTouches,E=t.call(this,w,N),D=S.length,k,V;for(k=0;k<D;++k)(V=p(this,E,w,N,S[k].identifier,S[k]))&&(nn(w),V("start",w,S[k]))}}function y(w){var N=w.changedTouches,S=N.length,E,D;for(E=0;E<S;++E)(D=r[N[E].identifier])&&(Be(w),D("drag",w,N[E]))}function b(w){var N=w.changedTouches,S=N.length,E,D;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),E=0;E<S;++E)(D=r[N[E].identifier])&&(nn(w),D("end",w,N[E]))}function p(w,N,S,E,D,k){var V=i.copy(),A=me(k||S,N),$,L,x;if((x=n.call(w,new fn("beforestart",{sourceEvent:S,target:d,identifier:D,active:s,x:A[0],y:A[1],dx:0,dy:0,dispatch:V}),E))!=null)return $=x.x-A[0]||0,L=x.y-A[1]||0,function M(C,P,T){var I=A,H;switch(C){case"start":r[D]=M,H=s++;break;case"end":delete r[D],--s;case"drag":A=me(T||P,N),H=s;break}V.call(C,w,new fn(C,{sourceEvent:P,subject:x,target:d,identifier:D,active:H,x:A[0]+$,y:A[1]+L,dx:A[0]-I[0],dy:A[1]-I[1],dispatch:V}),E)}}return d.filter=function(w){return arguments.length?(e=typeof w=="function"?w:mt(!!w),d):e},d.container=function(w){return arguments.length?(t=typeof w=="function"?w:mt(w),d):t},d.subject=function(w){return arguments.length?(n=typeof w=="function"?w:mt(w),d):n},d.touchable=function(w){return arguments.length?(o=typeof w=="function"?w:mt(!!w),d):o},d.on=function(){var w=i.on.apply(i,arguments);return w===i?d:w},d.clickDistance=function(w){return arguments.length?(f=(w=+w)*w,d):Math.sqrt(f)},d}var so=180/Math.PI,hn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function _r(e,t,n,o,r,i){var s,a,l;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(l=e*n+t*o)&&(n-=e*l,o-=t*l),(a=Math.sqrt(n*n+o*o))&&(n/=a,o/=a,l/=a),e*o<t*n&&(e=-e,t=-t,l=-l,s=-s),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*so,skewX:Math.atan(l)*so,scaleX:s,scaleY:a}}var yt;function al(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?hn:_r(t.a,t.b,t.c,t.d,t.e,t.f)}function cl(e){return e==null||(yt||(yt=document.createElementNS("http://www.w3.org/2000/svg","g")),yt.setAttribute("transform",e),!(e=yt.transform.baseVal.consolidate()))?hn:(e=e.matrix,_r(e.a,e.b,e.c,e.d,e.e,e.f))}function br(e,t,n,o){function r(c){return c.length?c.pop()+" ":""}function i(c,u,f,d,h,g){if(c!==f||u!==d){var v=h.push("translate(",null,t,null,n);g.push({i:v-4,x:Te(c,f)},{i:v-2,x:Te(u,d)})}else(f||d)&&h.push("translate("+f+t+d+n)}function s(c,u,f,d){c!==u?(c-u>180?u+=360:u-c>180&&(c+=360),d.push({i:f.push(r(f)+"rotate(",null,o)-2,x:Te(c,u)})):u&&f.push(r(f)+"rotate("+u+o)}function a(c,u,f,d){c!==u?d.push({i:f.push(r(f)+"skewX(",null,o)-2,x:Te(c,u)}):u&&f.push(r(f)+"skewX("+u+o)}function l(c,u,f,d,h,g){if(c!==f||u!==d){var v=h.push(r(h)+"scale(",null,",",null,")");g.push({i:v-4,x:Te(c,f)},{i:v-2,x:Te(u,d)})}else(f!==1||d!==1)&&h.push(r(h)+"scale("+f+","+d+")")}return function(c,u){var f=[],d=[];return c=e(c),u=e(u),i(c.translateX,c.translateY,u.translateX,u.translateY,f,d),s(c.rotate,u.rotate,f,d),a(c.skewX,u.skewX,f,d),l(c.scaleX,c.scaleY,u.scaleX,u.scaleY,f,d),c=u=null,function(h){for(var g=-1,v=d.length,_;++g<v;)f[(_=d[g]).i]=_.x(h);return f.join("")}}}var ll=br(al,"px, ","px)","deg)"),ul=br(cl,", ",")",")"),dl=1e-12;function io(e){return((e=Math.exp(e))+1/e)/2}function fl(e){return((e=Math.exp(e))-1/e)/2}function hl(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ct=(function e(t,n,o){function r(i,s){var a=i[0],l=i[1],c=i[2],u=s[0],f=s[1],d=s[2],h=u-a,g=f-l,v=h*h+g*g,_,y;if(v<dl)y=Math.log(d/c)/t,_=function(E){return[a+E*h,l+E*g,c*Math.exp(t*E*y)]};else{var b=Math.sqrt(v),p=(d*d-c*c+o*v)/(2*c*n*b),w=(d*d-c*c-o*v)/(2*d*n*b),N=Math.log(Math.sqrt(p*p+1)-p),S=Math.log(Math.sqrt(w*w+1)-w);y=(S-N)/t,_=function(E){var D=E*y,k=io(N),V=c/(n*b)*(k*hl(t*D+N)-fl(N));return[a+V*h,l+V*g,c*k/io(t*D+N)]}}return _.duration=y*1e3*t/Math.SQRT2,_}return r.rho=function(i){var s=Math.max(.001,+i),a=s*s,l=a*a;return e(s,a,l)},r})(Math.SQRT2,2,4);var Xe=0,Je=0,Ue=0,Sr=1e3,At,et,Pt=0,ze=0,Ot=0,rt=typeof performance=="object"&&performance.now?performance:Date,Er=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Mn(){return ze||(Er(gl),ze=rt.now()+Ot)}function gl(){ze=0}function Tt(){this._call=this._time=this._next=null}Tt.prototype=Cr.prototype={constructor:Tt,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Mn():+n)+(t==null?0:+t),!this._next&&et!==this&&(et?et._next=this:At=this,et=this),this._call=e,this._time=n,gn()},stop:function(){this._call&&(this._call=null,this._time=1/0,gn())}};function Cr(e,t,n){var o=new Tt;return o.restart(e,t,n),o}function pl(){Mn(),++Xe;for(var e=At,t;e;)(t=ze-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Xe}function ao(){ze=(Pt=rt.now())+Ot,Xe=Je=0;try{pl()}finally{Xe=0,yl(),ze=0}}function ml(){var e=rt.now(),t=e-Pt;t>Sr&&(Ot-=t,Pt=e)}function yl(){for(var e,t=At,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:At=n);et=e,gn(o)}function gn(e){if(!Xe){Je&&(Je=clearTimeout(Je));var t=e-ze;t>24?(e<1/0&&(Je=setTimeout(ao,e-rt.now()-Ot)),Ue&&(Ue=clearInterval(Ue))):(Ue||(Pt=rt.now(),Ue=setInterval(ml,Sr)),Xe=1,Er(ao))}}function co(e,t,n){var o=new Tt;return t=t==null?0:+t,o.restart(r=>{o.stop(),e(r+t)},t,n),o}var xl=jt("start","end","cancel","interrupt"),wl=[],Nr=0,lo=1,pn=2,Nt=3,uo=4,mn=5,Mt=6;function Bt(e,t,n,o,r,i){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;vl(e,n,{name:t,index:o,group:r,on:xl,tween:wl,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:Nr})}function In(e,t){var n=we(e,t);if(n.state>Nr)throw new Error("too late; already scheduled");return n}function be(e,t){var n=we(e,t);if(n.state>Nt)throw new Error("too late; already running");return n}function we(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function vl(e,t,n){var o=e.__transition,r;o[t]=n,n.timer=Cr(i,0,n.time);function i(c){n.state=lo,n.timer.restart(s,n.delay,n.time),n.delay<=c&&s(c-n.delay)}function s(c){var u,f,d,h;if(n.state!==lo)return l();for(u in o)if(h=o[u],h.name===n.name){if(h.state===Nt)return co(s);h.state===uo?(h.state=Mt,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[u]):+u<t&&(h.state=Mt,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[u])}if(co(function(){n.state===Nt&&(n.state=uo,n.timer.restart(a,n.delay,n.time),a(c))}),n.state=pn,n.on.call("start",e,e.__data__,n.index,n.group),n.state===pn){for(n.state=Nt,r=new Array(d=n.tween.length),u=0,f=-1;u<d;++u)(h=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++f]=h);r.length=f+1}}function a(c){for(var u=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(l),n.state=mn,1),f=-1,d=r.length;++f<d;)r[f].call(e,u);n.state===mn&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=Mt,n.timer.stop(),delete o[t];for(var c in o)return;delete e.__transition}}function It(e,t){var n=e.__transition,o,r,i=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((o=n[s]).name!==t){i=!1;continue}r=o.state>pn&&o.state<mn,o.state=Mt,o.timer.stop(),o.on.call(r?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[s]}i&&delete e.__transition}}function _l(e){return this.each(function(){It(this,e)})}function bl(e,t){var n,o;return function(){var r=be(this,e),i=r.tween;if(i!==n){o=n=i;for(var s=0,a=o.length;s<a;++s)if(o[s].name===t){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function Sl(e,t,n){var o,r;if(typeof n!="function")throw new Error;return function(){var i=be(this,e),s=i.tween;if(s!==o){r=(o=s).slice();for(var a={name:t,value:n},l=0,c=r.length;l<c;++l)if(r[l].name===t){r[l]=a;break}l===c&&r.push(a)}i.tween=r}}function El(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o=we(this.node(),n).tween,r=0,i=o.length,s;r<i;++r)if((s=o[r]).name===e)return s.value;return null}return this.each((t==null?bl:Sl)(n,e,t))}function kn(e,t,n){var o=e._id;return e.each(function(){var r=be(this,o);(r.value||(r.value={}))[t]=n.apply(this,arguments)}),function(r){return we(r,o).value[t]}}function Mr(e,t){var n;return(typeof t=="number"?Te:t instanceof to?eo:(n=to(t))?(t=n,eo):xa)(e,t)}function Cl(e){return function(){this.removeAttribute(e)}}function Nl(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ml(e,t,n){var o,r=n+"",i;return function(){var s=this.getAttribute(e);return s===r?null:s===o?i:i=t(o=s,n)}}function Il(e,t,n){var o,r=n+"",i;return function(){var s=this.getAttributeNS(e.space,e.local);return s===r?null:s===o?i:i=t(o=s,n)}}function kl(e,t,n){var o,r,i;return function(){var s,a=n(this),l;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),l=a+"",s===l?null:s===o&&l===r?i:(r=l,i=t(o=s,a)))}}function Al(e,t,n){var o,r,i;return function(){var s,a=n(this),l;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),l=a+"",s===l?null:s===o&&l===r?i:(r=l,i=t(o=s,a)))}}function Pl(e,t){var n=Vt(e),o=n==="transform"?ul:Mr;return this.attrTween(e,typeof t=="function"?(n.local?Al:kl)(n,o,kn(this,"attr."+e,t)):t==null?(n.local?Nl:Cl)(n):(n.local?Il:Ml)(n,o,t))}function Tl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Dl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function $l(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&Dl(e,i)),n}return r._value=t,r}function zl(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&Tl(e,i)),n}return r._value=t,r}function Ll(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var o=Vt(e);return this.tween(n,(o.local?$l:zl)(o,t))}function Hl(e,t){return function(){In(this,e).delay=+t.apply(this,arguments)}}function Rl(e,t){return t=+t,function(){In(this,e).delay=t}}function jl(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Hl:Rl)(t,e)):we(this.node(),t).delay}function Vl(e,t){return function(){be(this,e).duration=+t.apply(this,arguments)}}function Ol(e,t){return t=+t,function(){be(this,e).duration=t}}function Bl(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Vl:Ol)(t,e)):we(this.node(),t).duration}function Fl(e,t){if(typeof t!="function")throw new Error;return function(){be(this,e).ease=t}}function Xl(e){var t=this._id;return arguments.length?this.each(Fl(t,e)):we(this.node(),t).ease}function Yl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;be(this,e).ease=n}}function Zl(e){if(typeof e!="function")throw new Error;return this.each(Yl(this._id,e))}function Wl(e){typeof e!="function"&&(e=cr(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,a=o[r]=[],l,c=0;c<s;++c)(l=i[c])&&e.call(l,l.__data__,c,i)&&a.push(l);return new Ce(o,this._parents,this._name,this._id)}function Gl(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,r=n.length,i=Math.min(o,r),s=new Array(o),a=0;a<i;++a)for(var l=t[a],c=n[a],u=l.length,f=s[a]=new Array(u),d,h=0;h<u;++h)(d=l[h]||c[h])&&(f[h]=d);for(;a<o;++a)s[a]=t[a];return new Ce(s,this._parents,this._name,this._id)}function ql(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Kl(e,t,n){var o,r,i=ql(t)?In:be;return function(){var s=i(this,e),a=s.on;a!==o&&(r=(o=a).copy()).on(t,n),s.on=r}}function Ul(e,t){var n=this._id;return arguments.length<2?we(this.node(),n).on.on(e):this.each(Kl(n,e,t))}function Ql(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Jl(){return this.on("end.remove",Ql(this._id))}function eu(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Cn(e));for(var o=this._groups,r=o.length,i=new Array(r),s=0;s<r;++s)for(var a=o[s],l=a.length,c=i[s]=new Array(l),u,f,d=0;d<l;++d)(u=a[d])&&(f=e.call(u,u.__data__,d,a))&&("__data__"in u&&(f.__data__=u.__data__),c[d]=f,Bt(c[d],t,n,d,c,we(u,n)));return new Ce(i,this._parents,t,n)}function tu(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ar(e));for(var o=this._groups,r=o.length,i=[],s=[],a=0;a<r;++a)for(var l=o[a],c=l.length,u,f=0;f<c;++f)if(u=l[f]){for(var d=e.call(u,u.__data__,f,l),h,g=we(u,n),v=0,_=d.length;v<_;++v)(h=d[v])&&Bt(h,t,n,v,d,g);i.push(d),s.push(u)}return new Ce(i,s,t,n)}var nu=ut.prototype.constructor;function ou(){return new nu(this._groups,this._parents)}function ru(e,t){var n,o,r;return function(){var i=Fe(this,e),s=(this.style.removeProperty(e),Fe(this,e));return i===s?null:i===n&&s===o?r:r=t(n=i,o=s)}}function Ir(e){return function(){this.style.removeProperty(e)}}function su(e,t,n){var o,r=n+"",i;return function(){var s=Fe(this,e);return s===r?null:s===o?i:i=t(o=s,n)}}function iu(e,t,n){var o,r,i;return function(){var s=Fe(this,e),a=n(this),l=a+"";return a==null&&(l=a=(this.style.removeProperty(e),Fe(this,e))),s===l?null:s===o&&l===r?i:(r=l,i=t(o=s,a))}}function au(e,t){var n,o,r,i="style."+t,s="end."+i,a;return function(){var l=be(this,e),c=l.on,u=l.value[i]==null?a||(a=Ir(t)):void 0;(c!==n||r!==u)&&(o=(n=c).copy()).on(s,r=u),l.on=o}}function cu(e,t,n){var o=(e+="")=="transform"?ll:Mr;return t==null?this.styleTween(e,ru(e,o)).on("end.style."+e,Ir(e)):typeof t=="function"?this.styleTween(e,iu(e,o,kn(this,"style."+e,t))).each(au(this._id,e)):this.styleTween(e,su(e,o,t),n).on("end.style."+e,null)}function lu(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function uu(e,t,n){var o,r;function i(){var s=t.apply(this,arguments);return s!==r&&(o=(r=s)&&lu(e,s,n)),o}return i._value=t,i}function du(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,uu(e,t,n??""))}function fu(e){return function(){this.textContent=e}}function hu(e){return function(){var t=e(this);this.textContent=t??""}}function gu(e){return this.tween("text",typeof e=="function"?hu(kn(this,"text",e)):fu(e==null?"":e+""))}function pu(e){return function(t){this.textContent=e.call(this,t)}}function mu(e){var t,n;function o(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&pu(r)),t}return o._value=e,o}function yu(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,mu(e))}function xu(){for(var e=this._name,t=this._id,n=kr(),o=this._groups,r=o.length,i=0;i<r;++i)for(var s=o[i],a=s.length,l,c=0;c<a;++c)if(l=s[c]){var u=we(l,t);Bt(l,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Ce(o,this._parents,e,n)}function wu(){var e,t,n=this,o=n._id,r=n.size();return new Promise(function(i,s){var a={value:s},l={value:function(){--r===0&&i()}};n.each(function(){var c=be(this,o),u=c.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(l)),c.on=t}),r===0&&i()})}var vu=0;function Ce(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function kr(){return++vu}var Se=ut.prototype;Ce.prototype={constructor:Ce,select:eu,selectAll:tu,selectChild:Se.selectChild,selectChildren:Se.selectChildren,filter:Wl,merge:Gl,selection:ou,transition:xu,call:Se.call,nodes:Se.nodes,node:Se.node,size:Se.size,empty:Se.empty,each:Se.each,on:Ul,attr:Pl,attrTween:Ll,style:cu,styleTween:du,text:gu,textTween:yu,remove:Jl,tween:El,delay:jl,duration:Bl,ease:Xl,easeVarying:Zl,end:wu,[Symbol.iterator]:Se[Symbol.iterator]};function _u(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var bu={time:null,delay:0,duration:250,ease:_u};function Su(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function Eu(e){var t,n;e instanceof Ce?(t=e._id,e=e._name):(t=kr(),(n=bu).time=Mn(),e=e==null?null:e+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var s=o[i],a=s.length,l,c=0;c<a;++c)(l=s[c])&&Bt(l,e,t,c,s,n||Su(l,t));return new Ce(o,this._parents,e,t)}ut.prototype.interrupt=_l;ut.prototype.transition=Eu;const xt=e=>()=>e;function Cu(e,{sourceEvent:t,target:n,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function Ee(e,t,n){this.k=e,this.x=t,this.y=n}Ee.prototype={constructor:Ee,scale:function(e){return e===1?this:new Ee(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ee(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ft=new Ee(1,0,0);Ar.prototype=Ee.prototype;function Ar(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Ft;return e.__zoom}function on(e){e.stopImmediatePropagation()}function Qe(e){e.preventDefault(),e.stopImmediatePropagation()}function Nu(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Mu(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function fo(){return this.__zoom||Ft}function Iu(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ku(){return navigator.maxTouchPoints||"ontouchstart"in this}function Au(e,t,n){var o=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function Pr(){var e=Nu,t=Mu,n=Au,o=Iu,r=ku,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ct,c=jt("start","zoom","end"),u,f,d,h=500,g=150,v=0,_=10;function y(x){x.property("__zoom",fo).on("wheel.zoom",D,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",V).filter(r).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(x,M,C,P){var T=x.selection?x.selection():x;T.property("__zoom",fo),x!==T?N(x,M,C,P):T.interrupt().each(function(){S(this,arguments).event(P).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},y.scaleBy=function(x,M,C,P){y.scaleTo(x,function(){var T=this.__zoom.k,I=typeof M=="function"?M.apply(this,arguments):M;return T*I},C,P)},y.scaleTo=function(x,M,C,P){y.transform(x,function(){var T=t.apply(this,arguments),I=this.__zoom,H=C==null?w(T):typeof C=="function"?C.apply(this,arguments):C,j=I.invert(H),R=typeof M=="function"?M.apply(this,arguments):M;return n(p(b(I,R),H,j),T,s)},C,P)},y.translateBy=function(x,M,C,P){y.transform(x,function(){return n(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof C=="function"?C.apply(this,arguments):C),t.apply(this,arguments),s)},null,P)},y.translateTo=function(x,M,C,P,T){y.transform(x,function(){var I=t.apply(this,arguments),H=this.__zoom,j=P==null?w(I):typeof P=="function"?P.apply(this,arguments):P;return n(Ft.translate(j[0],j[1]).scale(H.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof C=="function"?-C.apply(this,arguments):-C),I,s)},P,T)};function b(x,M){return M=Math.max(i[0],Math.min(i[1],M)),M===x.k?x:new Ee(M,x.x,x.y)}function p(x,M,C){var P=M[0]-C[0]*x.k,T=M[1]-C[1]*x.k;return P===x.x&&T===x.y?x:new Ee(x.k,P,T)}function w(x){return[(+x[0][0]+ +x[1][0])/2,(+x[0][1]+ +x[1][1])/2]}function N(x,M,C,P){x.on("start.zoom",function(){S(this,arguments).event(P).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(P).end()}).tween("zoom",function(){var T=this,I=arguments,H=S(T,I).event(P),j=t.apply(T,I),R=C==null?w(j):typeof C=="function"?C.apply(T,I):C,F=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),B=T.__zoom,G=typeof M=="function"?M.apply(T,I):M,K=l(B.invert(R).concat(F/B.k),G.invert(R).concat(F/G.k));return function(W){if(W===1)W=G;else{var O=K(W),X=F/O[2];W=new Ee(X,R[0]-O[0]*X,R[1]-O[1]*X)}H.zoom(null,W)}})}function S(x,M,C){return!C&&x.__zooming||new E(x,M)}function E(x,M){this.that=x,this.args=M,this.active=0,this.sourceEvent=null,this.extent=t.apply(x,M),this.taps=0}E.prototype={event:function(x){return x&&(this.sourceEvent=x),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(x,M){return this.mouse&&x!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&x!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&x!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(x){var M=he(this.that).datum();c.call(x,this.that,new Cu(x,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:c}),M)}};function D(x,...M){if(!e.apply(this,arguments))return;var C=S(this,M).event(x),P=this.__zoom,T=Math.max(i[0],Math.min(i[1],P.k*Math.pow(2,o.apply(this,arguments)))),I=me(x);if(C.wheel)(C.mouse[0][0]!==I[0]||C.mouse[0][1]!==I[1])&&(C.mouse[1]=P.invert(C.mouse[0]=I)),clearTimeout(C.wheel);else{if(P.k===T)return;C.mouse=[I,P.invert(I)],It(this),C.start()}Qe(x),C.wheel=setTimeout(H,g),C.zoom("mouse",n(p(b(P,T),C.mouse[0],C.mouse[1]),C.extent,s));function H(){C.wheel=null,C.end()}}function k(x,...M){if(d||!e.apply(this,arguments))return;var C=x.currentTarget,P=S(this,M,!0).event(x),T=he(x.view).on("mousemove.zoom",R,!0).on("mouseup.zoom",F,!0),I=me(x,C),H=x.clientX,j=x.clientY;xr(x.view),on(x),P.mouse=[I,this.__zoom.invert(I)],It(this),P.start();function R(B){if(Qe(B),!P.moved){var G=B.clientX-H,K=B.clientY-j;P.moved=G*G+K*K>v}P.event(B).zoom("mouse",n(p(P.that.__zoom,P.mouse[0]=me(B,C),P.mouse[1]),P.extent,s))}function F(B){T.on("mousemove.zoom mouseup.zoom",null),wr(B.view,P.moved),Qe(B),P.event(B).end()}}function V(x,...M){if(e.apply(this,arguments)){var C=this.__zoom,P=me(x.changedTouches?x.changedTouches[0]:x,this),T=C.invert(P),I=C.k*(x.shiftKey?.5:2),H=n(p(b(C,I),P,T),t.apply(this,M),s);Qe(x),a>0?he(this).transition().duration(a).call(N,H,P,x):he(this).call(y.transform,H,P,x)}}function A(x,...M){if(e.apply(this,arguments)){var C=x.touches,P=C.length,T=S(this,M,x.changedTouches.length===P).event(x),I,H,j,R;for(on(x),H=0;H<P;++H)j=C[H],R=me(j,this),R=[R,this.__zoom.invert(R),j.identifier],T.touch0?!T.touch1&&T.touch0[2]!==R[2]&&(T.touch1=R,T.taps=0):(T.touch0=R,I=!0,T.taps=1+!!u);u&&(u=clearTimeout(u)),I&&(T.taps<2&&(f=R[0],u=setTimeout(function(){u=null},h)),It(this),T.start())}}function $(x,...M){if(this.__zooming){var C=S(this,M).event(x),P=x.changedTouches,T=P.length,I,H,j,R;for(Qe(x),I=0;I<T;++I)H=P[I],j=me(H,this),C.touch0&&C.touch0[2]===H.identifier?C.touch0[0]=j:C.touch1&&C.touch1[2]===H.identifier&&(C.touch1[0]=j);if(H=C.that.__zoom,C.touch1){var F=C.touch0[0],B=C.touch0[1],G=C.touch1[0],K=C.touch1[1],W=(W=G[0]-F[0])*W+(W=G[1]-F[1])*W,O=(O=K[0]-B[0])*O+(O=K[1]-B[1])*O;H=b(H,Math.sqrt(W/O)),j=[(F[0]+G[0])/2,(F[1]+G[1])/2],R=[(B[0]+K[0])/2,(B[1]+K[1])/2]}else if(C.touch0)j=C.touch0[0],R=C.touch0[1];else return;C.zoom("touch",n(p(H,j,R),C.extent,s))}}function L(x,...M){if(this.__zooming){var C=S(this,M).event(x),P=x.changedTouches,T=P.length,I,H;for(on(x),d&&clearTimeout(d),d=setTimeout(function(){d=null},h),I=0;I<T;++I)H=P[I],C.touch0&&C.touch0[2]===H.identifier?delete C.touch0:C.touch1&&C.touch1[2]===H.identifier&&delete C.touch1;if(C.touch1&&!C.touch0&&(C.touch0=C.touch1,delete C.touch1),C.touch0)C.touch0[1]=this.__zoom.invert(C.touch0[0]);else if(C.end(),C.taps===2&&(H=me(H,this),Math.hypot(f[0]-H[0],f[1]-H[1])<_)){var j=he(this).on("dblclick.zoom");j&&j.apply(this,arguments)}}}return y.wheelDelta=function(x){return arguments.length?(o=typeof x=="function"?x:xt(+x),y):o},y.filter=function(x){return arguments.length?(e=typeof x=="function"?x:xt(!!x),y):e},y.touchable=function(x){return arguments.length?(r=typeof x=="function"?x:xt(!!x),y):r},y.extent=function(x){return arguments.length?(t=typeof x=="function"?x:xt([[+x[0][0],+x[0][1]],[+x[1][0],+x[1][1]]]),y):t},y.scaleExtent=function(x){return arguments.length?(i[0]=+x[0],i[1]=+x[1],y):[i[0],i[1]]},y.translateExtent=function(x){return arguments.length?(s[0][0]=+x[0][0],s[1][0]=+x[1][0],s[0][1]=+x[0][1],s[1][1]=+x[1][1],y):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},y.constrain=function(x){return arguments.length?(n=x,y):n},y.duration=function(x){return arguments.length?(a=+x,y):a},y.interpolate=function(x){return arguments.length?(l=x,y):l},y.on=function(){var x=c.on.apply(c,arguments);return x===c?y:x},y.clickDistance=function(x){return arguments.length?(v=(x=+x)*x,y):Math.sqrt(v)},y.tapDistance=function(x){return arguments.length?(_=+x,y):_},y}const _e={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},st=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Tr=["Enter"," ","Escape"],Dr={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Ye;(function(e){e.Strict="strict",e.Loose="loose"})(Ye||(Ye={}));var $e;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})($e||($e={}));var it;(function(e){e.Partial="partial",e.Full="full"})(it||(it={}));const $r={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ke;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ke||(ke={}));var Dt;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Dt||(Dt={}));var Y;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Y||(Y={}));const ho={[Y.Left]:Y.Right,[Y.Right]:Y.Left,[Y.Top]:Y.Bottom,[Y.Bottom]:Y.Top};function zr(e){return e===null?null:e?"valid":"invalid"}const Lr=e=>"id"in e&&"source"in e&&"target"in e,Pu=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),An=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),dt=(e,t=[0,0])=>{const{width:n,height:o}=Ne(e),r=e.origin??t,i=n*r[0],s=o*r[1];return{x:e.position.x-i,y:e.position.y-s}},Tu=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((o,r)=>{const i=typeof r=="string";let s=!t.nodeLookup&&!i?r:void 0;t.nodeLookup&&(s=i?t.nodeLookup.get(r):An(r)?r:t.nodeLookup.get(r.id));const a=s?$t(s,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Xt(o,a)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Yt(n)},ft=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=Xt(n,$t(r)),o=!0)}),o?Yt(n):{x:0,y:0,width:0,height:0}},Pn=(e,t,[n,o,r]=[0,0,1],i=!1,s=!1)=>{const a={...gt(t,[n,o,r]),width:t.width/r,height:t.height/r},l=[];for(const c of e.values()){const{measured:u,selectable:f=!0,hidden:d=!1}=c;if(s&&!f||d)continue;const h=u.width??c.width??c.initialWidth??null,g=u.height??c.height??c.initialHeight??null,v=at(a,We(c)),_=(h??0)*(g??0),y=i&&v>0;(!c.internals.handleBounds||y||v>=_||c.dragging)&&l.push(c)}return l},Du=(e,t)=>{const n=new Set;return e.forEach(o=>{n.add(o.id)}),t.filter(o=>n.has(o.source)||n.has(o.target))};function $u(e,t){const n=new Map,o=t?.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&(t?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&n.set(r.id,r)}),n}async function zu({nodes:e,width:t,height:n,panZoom:o,minZoom:r,maxZoom:i},s){if(e.size===0)return Promise.resolve(!0);const a=$u(e,s),l=ft(a),c=Tn(l,t,n,s?.minZoom??r,s?.maxZoom??i,s?.padding??.1);return await o.setViewport(c,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),Promise.resolve(!0)}function Hr({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:r,onError:i}){const s=n.get(e),a=s.parentId?n.get(s.parentId):void 0,{x:l,y:c}=a?a.internals.positionAbsolute:{x:0,y:0},u=s.origin??o;let f=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!a)i?.("005",_e.error005());else{const h=a.measured.width,g=a.measured.height;h&&g&&(f=[[l,c],[l+h,c+g]])}else a&&Ge(s.extent)&&(f=[[s.extent[0][0]+l,s.extent[0][1]+c],[s.extent[1][0]+l,s.extent[1][1]+c]]);const d=Ge(f)?Le(t,f,s.measured):t;return(s.measured.width===void 0||s.measured.height===void 0)&&i?.("015",_e.error015()),{position:{x:d.x-l+(s.measured.width??0)*u[0],y:d.y-c+(s.measured.height??0)*u[1]},positionAbsolute:d}}async function Lu({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:r}){const i=new Set(e.map(d=>d.id)),s=[];for(const d of n){if(d.deletable===!1)continue;const h=i.has(d.id),g=!h&&d.parentId&&s.find(v=>v.id===d.parentId);(h||g)&&s.push(d)}const a=new Set(t.map(d=>d.id)),l=o.filter(d=>d.deletable!==!1),u=Du(s,l);for(const d of l)a.has(d.id)&&!u.find(g=>g.id===d.id)&&u.push(d);if(!r)return{edges:u,nodes:s};const f=await r({nodes:s,edges:u});return typeof f=="boolean"?f?{edges:u,nodes:s}:{edges:[],nodes:[]}:f}const Ze=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Le=(e={x:0,y:0},t,n)=>({x:Ze(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Ze(e.y,t[0][1],t[1][1]-(n?.height??0))});function Rr(e,t,n){const{width:o,height:r}=Ne(n),{x:i,y:s}=n.internals.positionAbsolute;return Le(e,[[i,s],[i+o,s+r]],t)}const go=(e,t,n)=>e<t?Ze(Math.abs(e-t),1,t)/t:e>n?-Ze(Math.abs(e-n),1,t)/t:0,jr=(e,t,n=15,o=40)=>{const r=go(e.x,o,t.width-o)*n,i=go(e.y,o,t.height-o)*n;return[r,i]},Xt=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),yn=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),Yt=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),We=(e,t=[0,0])=>{const{x:n,y:o}=An(e)?e.internals.positionAbsolute:dt(e,t);return{x:n,y:o,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},$t=(e,t=[0,0])=>{const{x:n,y:o}=An(e)?e.internals.positionAbsolute:dt(e,t);return{x:n,y:o,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:o+(e.measured?.height??e.height??e.initialHeight??0)}},Vr=(e,t)=>Yt(Xt(yn(e),yn(t))),at=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*o)},po=e=>ye(e.width)&&ye(e.height)&&ye(e.x)&&ye(e.y),ye=e=>!isNaN(e)&&isFinite(e),Hu=(e,t)=>{},ht=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),gt=({x:e,y:t},[n,o,r],i=!1,s=[1,1])=>{const a={x:(e-n)/r,y:(t-o)/r};return i?ht(a,s):a},zt=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o});function je(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Ru(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=je(e,n),r=je(e,t);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof e=="object"){const o=je(e.top??e.y??0,n),r=je(e.bottom??e.y??0,n),i=je(e.left??e.x??0,t),s=je(e.right??e.x??0,t);return{top:o,right:s,bottom:r,left:i,x:i+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function ju(e,t,n,o,r,i){const{x:s,y:a}=zt(e,[t,n,o]),{x:l,y:c}=zt({x:e.x+e.width,y:e.y+e.height},[t,n,o]),u=r-l,f=i-c;return{left:Math.floor(s),top:Math.floor(a),right:Math.floor(u),bottom:Math.floor(f)}}const Tn=(e,t,n,o,r,i)=>{const s=Ru(i,t,n),a=(t-s.x)/e.width,l=(n-s.y)/e.height,c=Math.min(a,l),u=Ze(c,o,r),f=e.x+e.width/2,d=e.y+e.height/2,h=t/2-f*u,g=n/2-d*u,v=ju(e,h,g,u,t,n),_={left:Math.min(v.left-s.left,0),top:Math.min(v.top-s.top,0),right:Math.min(v.right-s.right,0),bottom:Math.min(v.bottom-s.bottom,0)};return{x:h-_.left+_.right,y:g-_.top+_.bottom,zoom:u}},ct=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Ge(e){return e!=null&&e!=="parent"}function Ne(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Or(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Br(e,t={width:0,height:0},n,o,r){const i={...e},s=o.get(n);if(s){const a=s.origin||r;i.x+=s.internals.positionAbsolute.x-(t.width??0)*a[0],i.y+=s.internals.positionAbsolute.y-(t.height??0)*a[1]}return i}function mo(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Vu(){let e,t;return{promise:new Promise((o,r)=>{e=o,t=r}),resolve:e,reject:t}}function Ou(e){return{...Dr,...e||{}}}function tt(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:r}){const{x:i,y:s}=xe(e),a=gt({x:i-(r?.left??0),y:s-(r?.top??0)},o),{x:l,y:c}=n?ht(a,t):a;return{xSnapped:l,ySnapped:c,...a}}const Dn=e=>({width:e.offsetWidth,height:e.offsetHeight}),Fr=e=>e?.getRootNode?.()||window?.document,Bu=["INPUT","SELECT","TEXTAREA"];function Xr(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:Bu.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Yr=e=>"clientX"in e,xe=(e,t)=>{const n=Yr(e),o=n?e.clientX:e.touches?.[0].clientX,r=n?e.clientY:e.touches?.[0].clientY;return{x:o-(t?.left??0),y:r-(t?.top??0)}},yo=(e,t,n,o,r)=>{const i=t.querySelectorAll(`.${e}`);return!i||!i.length?null:Array.from(i).map(s=>{const a=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:r,position:s.getAttribute("data-handlepos"),x:(a.left-n.left)/o,y:(a.top-n.top)/o,...Dn(s)}})};function Zr({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:s,targetControlY:a}){const l=e*.125+r*.375+s*.375+n*.125,c=t*.125+i*.375+a*.375+o*.125,u=Math.abs(l-e),f=Math.abs(c-t);return[l,c,u,f]}function wt(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function xo({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case Y.Left:return[t-wt(t-o,i),n];case Y.Right:return[t+wt(o-t,i),n];case Y.Top:return[t,n-wt(n-r,i)];case Y.Bottom:return[t,n+wt(r-n,i)]}}function Wr({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:o,targetY:r,targetPosition:i=Y.Top,curvature:s=.25}){const[a,l]=xo({pos:n,x1:e,y1:t,x2:o,y2:r,c:s}),[c,u]=xo({pos:i,x1:o,y1:r,x2:e,y2:t,c:s}),[f,d,h,g]=Zr({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:a,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${a},${l} ${c},${u} ${o},${r}`,f,d,h,g]}function Gr({sourceX:e,sourceY:t,targetX:n,targetY:o}){const r=Math.abs(n-e)/2,i=n<e?n+r:n-r,s=Math.abs(o-t)/2,a=o<t?o+s:o-s;return[i,a,r,s]}function Fu({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:i="basic"}){if(i==="manual")return o;const s=r&&n?o+1e3:o,a=Math.max(e.parentId||r&&e.selected?e.internals.z:0,t.parentId||r&&t.selected?t.internals.z:0);return s+a}function Xu({sourceNode:e,targetNode:t,width:n,height:o,transform:r}){const i=Xt($t(e),$t(t));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const s={x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:o/r[2]};return at(s,Yt(i))>0}const Yu=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,Zu=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),Wu=(e,t,n={})=>{if(!e.source||!e.target)return t;const o=n.getEdgeId||Yu;let r;return Lr(e)?r={...e}:r={...e,id:o(e)},Zu(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function qr({sourceX:e,sourceY:t,targetX:n,targetY:o}){const[r,i,s,a]=Gr({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,s,a]}const wo={[Y.Left]:{x:-1,y:0},[Y.Right]:{x:1,y:0},[Y.Top]:{x:0,y:-1},[Y.Bottom]:{x:0,y:1}},Gu=({source:e,sourcePosition:t=Y.Bottom,target:n})=>t===Y.Left||t===Y.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},vo=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function qu({source:e,sourcePosition:t=Y.Bottom,target:n,targetPosition:o=Y.Top,center:r,offset:i,stepPosition:s}){const a=wo[t],l=wo[o],c={x:e.x+a.x*i,y:e.y+a.y*i},u={x:n.x+l.x*i,y:n.y+l.y*i},f=Gu({source:c,sourcePosition:t,target:u}),d=f.x!==0?"x":"y",h=f[d];let g=[],v,_;const y={x:0,y:0},b={x:0,y:0},[,,p,w]=Gr({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[d]*l[d]===-1){d==="x"?(v=r.x??c.x+(u.x-c.x)*s,_=r.y??(c.y+u.y)/2):(v=r.x??(c.x+u.x)/2,_=r.y??c.y+(u.y-c.y)*s);const S=[{x:v,y:c.y},{x:v,y:u.y}],E=[{x:c.x,y:_},{x:u.x,y:_}];a[d]===h?g=d==="x"?S:E:g=d==="x"?E:S}else{const S=[{x:c.x,y:u.y}],E=[{x:u.x,y:c.y}];if(d==="x"?g=a.x===h?E:S:g=a.y===h?S:E,t===o){const $=Math.abs(e[d]-n[d]);if($<=i){const L=Math.min(i-1,i-$);a[d]===h?y[d]=(c[d]>e[d]?-1:1)*L:b[d]=(u[d]>n[d]?-1:1)*L}}if(t!==o){const $=d==="x"?"y":"x",L=a[d]===l[$],x=c[$]>u[$],M=c[$]<u[$];(a[d]===1&&(!L&&x||L&&M)||a[d]!==1&&(!L&&M||L&&x))&&(g=d==="x"?S:E)}const D={x:c.x+y.x,y:c.y+y.y},k={x:u.x+b.x,y:u.y+b.y},V=Math.max(Math.abs(D.x-g[0].x),Math.abs(k.x-g[0].x)),A=Math.max(Math.abs(D.y-g[0].y),Math.abs(k.y-g[0].y));V>=A?(v=(D.x+k.x)/2,_=g[0].y):(v=g[0].x,_=(D.y+k.y)/2)}return[[e,{x:c.x+y.x,y:c.y+y.y},...g,{x:u.x+b.x,y:u.y+b.y},n],v,_,p,w]}function Ku(e,t,n,o){const r=Math.min(vo(e,t)/2,vo(t,n)/2,o),{x:i,y:s}=t;if(e.x===i&&i===n.x||e.y===s&&s===n.y)return`L${i} ${s}`;if(e.y===s){const c=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${i+r*c},${s}Q ${i},${s} ${i},${s+r*u}`}const a=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${i},${s+r*l}Q ${i},${s} ${i+r*a},${s}`}function xn({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:o,targetY:r,targetPosition:i=Y.Top,borderRadius:s=5,centerX:a,centerY:l,offset:c=20,stepPosition:u=.5}){const[f,d,h,g,v]=qu({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:a,y:l},offset:c,stepPosition:u});return[f.reduce((y,b,p)=>{let w="";return p>0&&p<f.length-1?w=Ku(f[p-1],b,f[p+1],s):w=`${p===0?"M":"L"}${b.x} ${b.y}`,y+=w,y},""),d,h,g,v]}function _o(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Uu(e){const{sourceNode:t,targetNode:n}=e;if(!_o(t)||!_o(n))return null;const o=t.internals.handleBounds||bo(t.handles),r=n.internals.handleBounds||bo(n.handles),i=So(o?.source??[],e.sourceHandle),s=So(e.connectionMode===Ye.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),e.targetHandle);if(!i||!s)return e.onError?.("008",_e.error008(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const a=i?.position||Y.Bottom,l=s?.position||Y.Top,c=He(t,i,a),u=He(n,s,l);return{sourceX:c.x,sourceY:c.y,targetX:u.x,targetY:u.y,sourcePosition:a,targetPosition:l}}function bo(e){if(!e)return null;const t=[],n=[];for(const o of e)o.width=o.width??1,o.height=o.height??1,o.type==="source"?t.push(o):o.type==="target"&&n.push(o);return{source:t,target:n}}function He(e,t,n=Y.Left,o=!1){const r=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:s,height:a}=t??Ne(e);if(o)return{x:r+s/2,y:i+a/2};switch(t?.position??n){case Y.Top:return{x:r+s/2,y:i};case Y.Right:return{x:r+s,y:i+a/2};case Y.Bottom:return{x:r+s/2,y:i+a};case Y.Left:return{x:r,y:i+a/2}}}function So(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function wn(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function Qu(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){const i=new Set;return e.reduce((s,a)=>([a.markerStart||o,a.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){const c=wn(l,t);i.has(c)||(s.push({id:c,color:l.color||n,...l}),i.add(c))}}),s),[]).sort((s,a)=>s.id.localeCompare(a.id))}const Kr=1e3,Ju=10,$n={nodeOrigin:[0,0],nodeExtent:st,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},ed={...$n,checkEquality:!0};function zn(e,t){const n={...e};for(const o in t)t[o]!==void 0&&(n[o]=t[o]);return n}function td(e,t,n){const o=zn($n,n);for(const r of e.values())if(r.parentId)Hn(r,e,t,o);else{const i=dt(r,o.nodeOrigin),s=Ge(r.extent)?r.extent:o.nodeExtent,a=Le(i,s,Ne(r));r.internals.positionAbsolute=a}}function nd(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],o=[];for(const r of e.handles){const i={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(i):r.type==="target"&&o.push(i)}return{source:n,target:o}}function Ln(e){return e==="manual"}function vn(e,t,n,o={}){const r=zn(ed,o),i={i:0},s=new Map(t),a=r?.elevateNodesOnSelect&&!Ln(r.zIndexMode)?Kr:0;let l=e.length>0;t.clear(),n.clear();for(const c of e){let u=s.get(c.id);if(r.checkEquality&&c===u?.internals.userNode)t.set(c.id,u);else{const f=dt(c,r.nodeOrigin),d=Ge(c.extent)?c.extent:r.nodeExtent,h=Le(f,d,Ne(c));u={...r.defaults,...c,measured:{width:c.measured?.width,height:c.measured?.height},internals:{positionAbsolute:h,handleBounds:nd(c,u),z:Ur(c,a,r.zIndexMode),userNode:c}},t.set(c.id,u)}(u.measured===void 0||u.measured.width===void 0||u.measured.height===void 0)&&!u.hidden&&(l=!1),c.parentId&&Hn(u,t,n,o,i)}return l}function od(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Hn(e,t,n,o,r){const{elevateNodesOnSelect:i,nodeOrigin:s,nodeExtent:a,zIndexMode:l}=zn($n,o),c=e.parentId,u=t.get(c);if(!u){console.warn(`Parent node ${c} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}od(e,n),r&&!u.parentId&&u.internals.rootParentIndex===void 0&&l==="auto"&&(u.internals.rootParentIndex=++r.i,u.internals.z=u.internals.z+r.i*Ju),r&&u.internals.rootParentIndex!==void 0&&(r.i=u.internals.rootParentIndex);const f=i&&!Ln(l)?Kr:0,{x:d,y:h,z:g}=rd(e,u,s,a,f,l),{positionAbsolute:v}=e.internals,_=d!==v.x||h!==v.y;(_||g!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:_?{x:d,y:h}:v,z:g}})}function Ur(e,t,n){const o=ye(e.zIndex)?e.zIndex:0;return Ln(n)?o:o+(e.selected?t:0)}function rd(e,t,n,o,r,i){const{x:s,y:a}=t.internals.positionAbsolute,l=Ne(e),c=dt(e,n),u=Ge(e.extent)?Le(c,e.extent,l):c;let f=Le({x:s+u.x,y:a+u.y},o,l);e.extent==="parent"&&(f=Rr(f,l,t));const d=Ur(e,r,i),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=d?h+1:d}}function Rn(e,t,n,o=[0,0]){const r=[],i=new Map;for(const s of e){const a=t.get(s.parentId);if(!a)continue;const l=i.get(s.parentId)?.expandedRect??We(a),c=Vr(l,s.rect);i.set(s.parentId,{expandedRect:c,parent:a})}return i.size>0&&i.forEach(({expandedRect:s,parent:a},l)=>{const c=a.internals.positionAbsolute,u=Ne(a),f=a.origin??o,d=s.x<c.x?Math.round(Math.abs(c.x-s.x)):0,h=s.y<c.y?Math.round(Math.abs(c.y-s.y)):0,g=Math.max(u.width,Math.round(s.width)),v=Math.max(u.height,Math.round(s.height)),_=(g-u.width)*f[0],y=(v-u.height)*f[1];(d>0||h>0||_||y)&&(r.push({id:l,type:"position",position:{x:a.position.x-d+_,y:a.position.y-h+y}}),n.get(l)?.forEach(b=>{e.some(p=>p.id===b.id)||r.push({id:b.id,type:"position",position:{x:b.position.x+d,y:b.position.y+h}})})),(u.width<s.width||u.height<s.height||d||h)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:g+(d?f[0]*d-_:0),height:v+(h?f[1]*h-y:0)}})}),r}function sd(e,t,n,o,r,i,s){const a=o?.querySelector(".xyflow__viewport");let l=!1;if(!a)return{changes:[],updatedInternals:l};const c=[],u=window.getComputedStyle(a),{m22:f}=new window.DOMMatrixReadOnly(u.transform),d=[];for(const h of e.values()){const g=t.get(h.id);if(!g)continue;if(g.hidden){t.set(g.id,{...g,internals:{...g.internals,handleBounds:void 0}}),l=!0;continue}const v=Dn(h.nodeElement),_=g.measured.width!==v.width||g.measured.height!==v.height;if(!!(v.width&&v.height&&(_||!g.internals.handleBounds||h.force))){const b=h.nodeElement.getBoundingClientRect(),p=Ge(g.extent)?g.extent:i;let{positionAbsolute:w}=g.internals;g.parentId&&g.extent==="parent"?w=Rr(w,v,t.get(g.parentId)):p&&(w=Le(w,p,v));const N={...g,measured:v,internals:{...g.internals,positionAbsolute:w,handleBounds:{source:yo("source",h.nodeElement,b,f,g.id),target:yo("target",h.nodeElement,b,f,g.id)}}};t.set(g.id,N),g.parentId&&Hn(N,t,n,{nodeOrigin:r,zIndexMode:s}),l=!0,_&&(c.push({id:g.id,type:"dimensions",dimensions:v}),g.expandParent&&g.parentId&&d.push({id:g.id,parentId:g.parentId,rect:We(N,r)}))}}if(d.length>0){const h=Rn(d,t,n,r);c.push(...h)}return{changes:c,updatedInternals:l}}async function id({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const s=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o),a=!!s&&(s.x!==n[0]||s.y!==n[1]||s.k!==n[2]);return Promise.resolve(a)}function Eo(e,t,n,o,r,i){let s=r;const a=o.get(s)||new Map;o.set(s,a.set(n,t)),s=`${r}-${e}`;const l=o.get(s)||new Map;if(o.set(s,l.set(n,t)),i){s=`${r}-${e}-${i}`;const c=o.get(s)||new Map;o.set(s,c.set(n,t))}}function Qr(e,t,n){e.clear(),t.clear();for(const o of n){const{source:r,target:i,sourceHandle:s=null,targetHandle:a=null}=o,l={edgeId:o.id,source:r,target:i,sourceHandle:s,targetHandle:a},c=`${r}-${s}--${i}-${a}`,u=`${i}-${a}--${r}-${s}`;Eo("source",l,u,e,r,s),Eo("target",l,c,e,i,a),t.set(o.id,o)}}function Jr(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:Jr(n,t):!1}function Co(e,t,n){let o=e;do{if(o?.matches?.(t))return!0;if(o===n)return!1;o=o?.parentElement}while(o);return!1}function ad(e,t,n,o){const r=new Map;for(const[i,s]of e)if((s.selected||s.id===o)&&(!s.parentId||!Jr(s,e))&&(s.draggable||t&&typeof s.draggable>"u")){const a=e.get(i);a&&r.set(i,{id:i,position:a.position||{x:0,y:0},distance:{x:n.x-a.internals.positionAbsolute.x,y:n.y-a.internals.positionAbsolute.y},extent:a.extent,parentId:a.parentId,origin:a.origin,expandParent:a.expandParent,internals:{positionAbsolute:a.internals.positionAbsolute||{x:0,y:0}},measured:{width:a.measured.width??0,height:a.measured.height??0}})}return r}function rn({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){const r=[];for(const[s,a]of t){const l=n.get(s)?.internals.userNode;l&&r.push({...l,position:a.position,dragging:o})}if(!e)return[r[0],r];const i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:o}:r[0],r]}function cd({dragItems:e,snapGrid:t,x:n,y:o}){const r=e.values().next().value;if(!r)return null;const i={x:n-r.distance.x,y:o-r.distance.y},s=ht(i,t);return{x:s.x-i.x,y:s.y-i.y}}function ld({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:r}){let i={x:null,y:null},s=0,a=new Map,l=!1,c={x:0,y:0},u=null,f=!1,d=null,h=!1,g=!1,v=null;function _({noDragClassName:b,handleSelector:p,domNode:w,isSelectable:N,nodeId:S,nodeClickDistance:E=0}){d=he(w);function D({x:$,y:L}){const{nodeLookup:x,nodeExtent:M,snapGrid:C,snapToGrid:P,nodeOrigin:T,onNodeDrag:I,onSelectionDrag:H,onError:j,updateNodePositions:R}=t();i={x:$,y:L};let F=!1;const B=a.size>1,G=B&&M?yn(ft(a)):null,K=B&&P?cd({dragItems:a,snapGrid:C,x:$,y:L}):null;for(const[W,O]of a){if(!x.has(W))continue;let X={x:$-O.distance.x,y:L-O.distance.y};P&&(X=K?{x:Math.round(X.x+K.x),y:Math.round(X.y+K.y)}:ht(X,C));let Q=null;if(B&&M&&!O.extent&&G){const{positionAbsolute:q}=O.internals,ee=q.x-G.x+M[0][0],ne=q.x+O.measured.width-G.x2+M[1][0],te=q.y-G.y+M[0][1],ie=q.y+O.measured.height-G.y2+M[1][1];Q=[[ee,te],[ne,ie]]}const{position:U,positionAbsolute:Z}=Hr({nodeId:W,nextPosition:X,nodeLookup:x,nodeExtent:Q||M,nodeOrigin:T,onError:j});F=F||O.position.x!==U.x||O.position.y!==U.y,O.position=U,O.internals.positionAbsolute=Z}if(g=g||F,!!F&&(R(a,!0),v&&(o||I||!S&&H))){const[W,O]=rn({nodeId:S,dragItems:a,nodeLookup:x});o?.(v,a,W,O),I?.(v,W,O),S||H?.(v,O)}}async function k(){if(!u)return;const{transform:$,panBy:L,autoPanSpeed:x,autoPanOnNodeDrag:M}=t();if(!M){l=!1,cancelAnimationFrame(s);return}const[C,P]=jr(c,u,x);(C!==0||P!==0)&&(i.x=(i.x??0)-C/$[2],i.y=(i.y??0)-P/$[2],await L({x:C,y:P})&&D(i)),s=requestAnimationFrame(k)}function V($){const{nodeLookup:L,multiSelectionActive:x,nodesDraggable:M,transform:C,snapGrid:P,snapToGrid:T,selectNodesOnDrag:I,onNodeDragStart:H,onSelectionDragStart:j,unselectNodesAndEdges:R}=t();f=!0,(!I||!N)&&!x&&S&&(L.get(S)?.selected||R()),N&&I&&S&&e?.(S);const F=tt($.sourceEvent,{transform:C,snapGrid:P,snapToGrid:T,containerBounds:u});if(i=F,a=ad(L,M,F,S),a.size>0&&(n||H||!S&&j)){const[B,G]=rn({nodeId:S,dragItems:a,nodeLookup:L});n?.($.sourceEvent,a,B,G),H?.($.sourceEvent,B,G),S||j?.($.sourceEvent,G)}}const A=vr().clickDistance(E).on("start",$=>{const{domNode:L,nodeDragThreshold:x,transform:M,snapGrid:C,snapToGrid:P}=t();u=L?.getBoundingClientRect()||null,h=!1,g=!1,v=$.sourceEvent,x===0&&V($),i=tt($.sourceEvent,{transform:M,snapGrid:C,snapToGrid:P,containerBounds:u}),c=xe($.sourceEvent,u)}).on("drag",$=>{const{autoPanOnNodeDrag:L,transform:x,snapGrid:M,snapToGrid:C,nodeDragThreshold:P,nodeLookup:T}=t(),I=tt($.sourceEvent,{transform:x,snapGrid:M,snapToGrid:C,containerBounds:u});if(v=$.sourceEvent,($.sourceEvent.type==="touchmove"&&$.sourceEvent.touches.length>1||S&&!T.has(S))&&(h=!0),!h){if(!l&&L&&f&&(l=!0,k()),!f){const H=xe($.sourceEvent,u),j=H.x-c.x,R=H.y-c.y;Math.sqrt(j*j+R*R)>P&&V($)}(i.x!==I.xSnapped||i.y!==I.ySnapped)&&a&&f&&(c=xe($.sourceEvent,u),D(I))}}).on("end",$=>{if(!(!f||h)&&(l=!1,f=!1,cancelAnimationFrame(s),a.size>0)){const{nodeLookup:L,updateNodePositions:x,onNodeDragStop:M,onSelectionDragStop:C}=t();if(g&&(x(a,!1),g=!1),r||M||!S&&C){const[P,T]=rn({nodeId:S,dragItems:a,nodeLookup:L,dragging:!1});r?.($.sourceEvent,a,P,T),M?.($.sourceEvent,P,T),S||C?.($.sourceEvent,T)}}}).filter($=>{const L=$.target;return!$.button&&(!b||!Co(L,`.${b}`,w))&&(!p||Co(L,p,w))});d.call(A)}function y(){d?.on(".drag",null)}return{update:_,destroy:y}}function ud(e,t,n){const o=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const i of t.values())at(r,We(i))>0&&o.push(i);return o}const dd=250;function fd(e,t,n,o){let r=[],i=1/0;const s=ud(e,n,t+dd);for(const a of s){const l=[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]];for(const c of l){if(o.nodeId===c.nodeId&&o.type===c.type&&o.id===c.id)continue;const{x:u,y:f}=He(a,c,c.position,!0),d=Math.sqrt(Math.pow(u-e.x,2)+Math.pow(f-e.y,2));d>t||(d<i?(r=[{...c,x:u,y:f}],i=d):d===i&&r.push({...c,x:u,y:f}))}}if(!r.length)return null;if(r.length>1){const a=o.type==="source"?"target":"source";return r.find(l=>l.type===a)??r[0]}return r[0]}function es(e,t,n,o,r,i=!1){const s=o.get(e);if(!s)return null;const a=r==="strict"?s.internals.handleBounds?.[t]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(n?a?.find(c=>c.id===n):a?.[0])??null;return l&&i?{...l,...He(s,l,l.position,!0)}:l}function ts(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function hd(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const ns=()=>!0;function gd(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:r,edgeUpdaterType:i,isTarget:s,domNode:a,nodeLookup:l,lib:c,autoPanOnConnect:u,flowId:f,panBy:d,cancelConnection:h,onConnectStart:g,onConnect:v,onConnectEnd:_,isValidConnection:y=ns,onReconnectEnd:b,updateConnection:p,getTransform:w,getFromHandle:N,autoPanSpeed:S,dragThreshold:E=1,handleDomNode:D}){const k=Fr(e.target);let V=0,A;const{x:$,y:L}=xe(e),x=ts(i,D),M=a?.getBoundingClientRect();let C=!1;if(!M||!x)return;const P=es(r,x,o,l,t);if(!P)return;let T=xe(e,M),I=!1,H=null,j=!1,R=null;function F(){if(!u||!M)return;const[U,Z]=jr(T,M,S);d({x:U,y:Z}),V=requestAnimationFrame(F)}const B={...P,nodeId:r,type:x,position:P.position},G=l.get(r);let W={inProgress:!0,isValid:null,from:He(G,B,Y.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:G,to:T,toHandle:null,toPosition:ho[B.position],toNode:null,pointer:T};function O(){C=!0,p(W),g?.(e,{nodeId:r,handleId:o,handleType:x})}E===0&&O();function X(U){if(!C){const{x:ie,y:ce}=xe(U),ue=ie-$,oe=ce-L;if(!(ue*ue+oe*oe>E*E))return;O()}if(!N()||!B){Q(U);return}const Z=w();T=xe(U,M),A=fd(gt(T,Z,!1,[1,1]),n,l,B),I||(F(),I=!0);const q=os(U,{handle:A,connectionMode:t,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:y,doc:k,lib:c,flowId:f,nodeLookup:l});R=q.handleDomNode,H=q.connection,j=hd(!!A,q.isValid);const ee=l.get(r),ne=ee?He(ee,B,Y.Left,!0):W.from,te={...W,from:ne,isValid:j,to:q.toHandle&&j?zt({x:q.toHandle.x,y:q.toHandle.y},Z):T,toHandle:q.toHandle,toPosition:j&&q.toHandle?q.toHandle.position:ho[B.position],toNode:q.toHandle?l.get(q.toHandle.nodeId):null,pointer:T};p(te),W=te}function Q(U){if(!("touches"in U&&U.touches.length>0)){if(C){(A||R)&&H&&j&&v?.(H);const{inProgress:Z,...q}=W,ee={...q,toPosition:W.toHandle?W.toPosition:null};_?.(U,ee),i&&b?.(U,ee)}h(),cancelAnimationFrame(V),I=!1,j=!1,H=null,R=null,k.removeEventListener("mousemove",X),k.removeEventListener("mouseup",Q),k.removeEventListener("touchmove",X),k.removeEventListener("touchend",Q)}}k.addEventListener("mousemove",X),k.addEventListener("mouseup",Q),k.addEventListener("touchmove",X),k.addEventListener("touchend",Q)}function os(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:r,fromType:i,doc:s,lib:a,flowId:l,isValidConnection:c=ns,nodeLookup:u}){const f=i==="target",d=t?s.querySelector(`.${a}-flow__handle[data-id="${l}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:g}=xe(e),v=s.elementFromPoint(h,g),_=v?.classList.contains(`${a}-flow__handle`)?v:d,y={handleDomNode:_,isValid:!1,connection:null,toHandle:null};if(_){const b=ts(void 0,_),p=_.getAttribute("data-nodeid"),w=_.getAttribute("data-handleid"),N=_.classList.contains("connectable"),S=_.classList.contains("connectableend");if(!p||!b)return y;const E={source:f?p:o,sourceHandle:f?w:r,target:f?o:p,targetHandle:f?r:w};y.connection=E;const k=N&&S&&(n===Ye.Strict?f&&b==="source"||!f&&b==="target":p!==o||w!==r);y.isValid=k&&c(E),y.toHandle=es(p,b,w,u,n,!0)}return y}const _n={onPointerDown:gd,isValid:os};function pd({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const r=he(e);function i({translateExtent:a,width:l,height:c,zoomStep:u=1,pannable:f=!0,zoomable:d=!0,inversePan:h=!1}){const g=p=>{if(p.sourceEvent.type!=="wheel"||!t)return;const w=n(),N=p.sourceEvent.ctrlKey&&ct()?10:1,S=-p.sourceEvent.deltaY*(p.sourceEvent.deltaMode===1?.05:p.sourceEvent.deltaMode?1:.002)*u,E=w[2]*Math.pow(2,S*N);t.scaleTo(E)};let v=[0,0];const _=p=>{(p.sourceEvent.type==="mousedown"||p.sourceEvent.type==="touchstart")&&(v=[p.sourceEvent.clientX??p.sourceEvent.touches[0].clientX,p.sourceEvent.clientY??p.sourceEvent.touches[0].clientY])},y=p=>{const w=n();if(p.sourceEvent.type!=="mousemove"&&p.sourceEvent.type!=="touchmove"||!t)return;const N=[p.sourceEvent.clientX??p.sourceEvent.touches[0].clientX,p.sourceEvent.clientY??p.sourceEvent.touches[0].clientY],S=[N[0]-v[0],N[1]-v[1]];v=N;const E=o()*Math.max(w[2],Math.log(w[2]))*(h?-1:1),D={x:w[0]-S[0]*E,y:w[1]-S[1]*E},k=[[0,0],[l,c]];t.setViewportConstrained({x:D.x,y:D.y,zoom:w[2]},k,a)},b=Pr().on("start",_).on("zoom",f?y:null).on("zoom.wheel",d?g:null);r.call(b,{})}function s(){r.on("zoom",null)}return{update:i,destroy:s,pointer:me}}const Zt=e=>({x:e.x,y:e.y,zoom:e.k}),sn=({x:e,y:t,zoom:n})=>Ft.translate(e,t).scale(n),Ve=(e,t)=>e.target.closest(`.${t}`),rs=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),md=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,an=(e,t=0,n=md,o=()=>{})=>{const r=typeof t=="number"&&t>0;return r||o(),r?e.transition().duration(t).ease(n).on("end",o):e},ss=e=>{const t=e.ctrlKey&&ct()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function yd({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:i,zoomOnPinch:s,onPanZoomStart:a,onPanZoom:l,onPanZoomEnd:c}){return u=>{if(Ve(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(u.ctrlKey&&s){const _=me(u),y=ss(u),b=f*Math.pow(2,y);o.scaleTo(n,b,_,u);return}const d=u.deltaMode===1?20:1;let h=r===$e.Vertical?0:u.deltaX*d,g=r===$e.Horizontal?0:u.deltaY*d;!ct()&&u.shiftKey&&r!==$e.Vertical&&(h=u.deltaY*d,g=0),o.translateBy(n,-(h/f)*i,-(g/f)*i,{internal:!0});const v=Zt(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l?.(u,v),e.panScrollTimeout=setTimeout(()=>{c?.(u,v),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,a?.(u,v))}}function xd({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,r){const i=o.type==="wheel",s=!t&&i&&!o.ctrlKey,a=Ve(o,e);if(o.ctrlKey&&i&&a&&o.preventDefault(),s||a)return null;o.preventDefault(),n.call(this,o,r)}}function wd({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;const r=Zt(o.transform);e.mouseButton=o.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=r,o.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(o.sourceEvent,r)}}function vd({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{e.usedRightMouseButton=!!(n&&rs(t,e.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,Zt(i.transform))}}function _d({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return s=>{if(!s.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&rs(t,e.mouseButton??0)&&!e.usedRightMouseButton&&s.sourceEvent&&i(s.sourceEvent),e.usedRightMouseButton=!1,o(!1),r)){const a=Zt(s.transform);e.prevViewport=a,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r?.(s.sourceEvent,a)},n?150:0)}}}function bd({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:i,userSelectionActive:s,noWheelClassName:a,noPanClassName:l,lib:c,connectionInProgress:u}){return f=>{const d=e||t,h=n&&f.ctrlKey,g=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(Ve(f,`${c}-flow__node`)||Ve(f,`${c}-flow__edge`)))return!0;if(!o&&!d&&!r&&!i&&!n||s||u&&!g||Ve(f,a)&&g||Ve(f,l)&&(!g||r&&g&&!e)||!n&&f.ctrlKey&&g)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!d&&!r&&!h&&g||!o&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(o)&&!o.includes(f.button)&&f.type==="mousedown")return!1;const v=Array.isArray(o)&&o.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||g)&&v}}function Sd({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:r,onPanZoom:i,onPanZoomStart:s,onPanZoomEnd:a,onDraggingChange:l}){const c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),f=Pr().scaleExtent([t,n]).translateExtent(o),d=he(e).call(f);b({x:r.x,y:r.y,zoom:Ze(r.zoom,t,n)},[[0,0],[u.width,u.height]],o);const h=d.on("wheel.zoom"),g=d.on("dblclick.zoom");f.wheelDelta(ss);function v(A,$){return d?new Promise(L=>{f?.interpolate($?.interpolate==="linear"?en:Ct).transform(an(d,$?.duration,$?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function _({noWheelClassName:A,noPanClassName:$,onPaneContextMenu:L,userSelectionActive:x,panOnScroll:M,panOnDrag:C,panOnScrollMode:P,panOnScrollSpeed:T,preventScrolling:I,zoomOnPinch:H,zoomOnScroll:j,zoomOnDoubleClick:R,zoomActivationKeyPressed:F,lib:B,onTransformChange:G,connectionInProgress:K,paneClickDistance:W,selectionOnDrag:O}){x&&!c.isZoomingOrPanning&&y();const X=M&&!F&&!x;f.clickDistance(O?1/0:!ye(W)||W<0?0:W);const Q=X?yd({zoomPanValues:c,noWheelClassName:A,d3Selection:d,d3Zoom:f,panOnScrollMode:P,panOnScrollSpeed:T,zoomOnPinch:H,onPanZoomStart:s,onPanZoom:i,onPanZoomEnd:a}):xd({noWheelClassName:A,preventScrolling:I,d3ZoomHandler:h});if(d.on("wheel.zoom",Q,{passive:!1}),!x){const Z=wd({zoomPanValues:c,onDraggingChange:l,onPanZoomStart:s});f.on("start",Z);const q=vd({zoomPanValues:c,panOnDrag:C,onPaneContextMenu:!!L,onPanZoom:i,onTransformChange:G});f.on("zoom",q);const ee=_d({zoomPanValues:c,panOnDrag:C,panOnScroll:M,onPaneContextMenu:L,onPanZoomEnd:a,onDraggingChange:l});f.on("end",ee)}const U=bd({zoomActivationKeyPressed:F,panOnDrag:C,zoomOnScroll:j,panOnScroll:M,zoomOnDoubleClick:R,zoomOnPinch:H,userSelectionActive:x,noPanClassName:$,noWheelClassName:A,lib:B,connectionInProgress:K});f.filter(U),R?d.on("dblclick.zoom",g):d.on("dblclick.zoom",null)}function y(){f.on("zoom",null)}async function b(A,$,L){const x=sn(A),M=f?.constrain()(x,$,L);return M&&await v(M),new Promise(C=>C(M))}async function p(A,$){const L=sn(A);return await v(L,$),new Promise(x=>x(L))}function w(A){if(d){const $=sn(A),L=d.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&f?.transform(d,$,null,{sync:!0})}}function N(){const A=d?Ar(d.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function S(A,$){return d?new Promise(L=>{f?.interpolate($?.interpolate==="linear"?en:Ct).scaleTo(an(d,$?.duration,$?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A,$){return d?new Promise(L=>{f?.interpolate($?.interpolate==="linear"?en:Ct).scaleBy(an(d,$?.duration,$?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function D(A){f?.scaleExtent(A)}function k(A){f?.translateExtent(A)}function V(A){const $=!ye(A)||A<0?0:A;f?.clickDistance($)}return{update:_,destroy:y,setViewport:p,setViewportConstrained:b,getViewport:N,scaleTo:S,scaleBy:E,setScaleExtent:D,setTranslateExtent:k,syncViewport:w,setClickDistance:V}}var qe;(function(e){e.Line="line",e.Handle="handle"})(qe||(qe={}));function Ed({width:e,prevWidth:t,height:n,prevHeight:o,affectsX:r,affectsY:i}){const s=e-t,a=n-o,l=[s>0?1:s<0?-1:0,a>0?1:a<0?-1:0];return s&&r&&(l[0]=l[0]*-1),a&&i&&(l[1]=l[1]*-1),l}function No(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),o=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:o,affectsY:r}}function Me(e,t){return Math.max(0,t-e)}function Ie(e,t){return Math.max(0,e-t)}function vt(e,t,n){return Math.max(0,t-e,e-n)}function Mo(e,t){return e?!t:t}function Cd(e,t,n,o,r,i,s,a){let{affectsX:l,affectsY:c}=t;const{isHorizontal:u,isVertical:f}=t,d=u&&f,{xSnapped:h,ySnapped:g}=n,{minWidth:v,maxWidth:_,minHeight:y,maxHeight:b}=o,{x:p,y:w,width:N,height:S,aspectRatio:E}=e;let D=Math.floor(u?h-e.pointerX:0),k=Math.floor(f?g-e.pointerY:0);const V=N+(l?-D:D),A=S+(c?-k:k),$=-i[0]*N,L=-i[1]*S;let x=vt(V,v,_),M=vt(A,y,b);if(s){let T=0,I=0;l&&D<0?T=Me(p+D+$,s[0][0]):!l&&D>0&&(T=Ie(p+V+$,s[1][0])),c&&k<0?I=Me(w+k+L,s[0][1]):!c&&k>0&&(I=Ie(w+A+L,s[1][1])),x=Math.max(x,T),M=Math.max(M,I)}if(a){let T=0,I=0;l&&D>0?T=Ie(p+D,a[0][0]):!l&&D<0&&(T=Me(p+V,a[1][0])),c&&k>0?I=Ie(w+k,a[0][1]):!c&&k<0&&(I=Me(w+A,a[1][1])),x=Math.max(x,T),M=Math.max(M,I)}if(r){if(u){const T=vt(V/E,y,b)*E;if(x=Math.max(x,T),s){let I=0;!l&&!c||l&&!c&&d?I=Ie(w+L+V/E,s[1][1])*E:I=Me(w+L+(l?D:-D)/E,s[0][1])*E,x=Math.max(x,I)}if(a){let I=0;!l&&!c||l&&!c&&d?I=Me(w+V/E,a[1][1])*E:I=Ie(w+(l?D:-D)/E,a[0][1])*E,x=Math.max(x,I)}}if(f){const T=vt(A*E,v,_)/E;if(M=Math.max(M,T),s){let I=0;!l&&!c||c&&!l&&d?I=Ie(p+A*E+$,s[1][0])/E:I=Me(p+(c?k:-k)*E+$,s[0][0])/E,M=Math.max(M,I)}if(a){let I=0;!l&&!c||c&&!l&&d?I=Me(p+A*E,a[1][0])/E:I=Ie(p+(c?k:-k)*E,a[0][0])/E,M=Math.max(M,I)}}}k=k+(k<0?M:-M),D=D+(D<0?x:-x),r&&(d?V>A*E?k=(Mo(l,c)?-D:D)/E:D=(Mo(l,c)?-k:k)*E:u?(k=D/E,c=l):(D=k*E,l=c));const C=l?p+D:p,P=c?w+k:w;return{width:N+(l?-D:D),height:S+(c?-k:k),x:i[0]*D*(l?-1:1)+C,y:i[1]*k*(c?-1:1)+P}}const is={width:0,height:0,x:0,y:0},Nd={...is,pointerX:0,pointerY:0,aspectRatio:1};function Md(e){return[[0,0],[e.measured.width,e.measured.height]]}function Id(e,t,n){const o=t.position.x+e.position.x,r=t.position.y+e.position.y,i=e.measured.width??0,s=e.measured.height??0,a=n[0]*i,l=n[1]*s;return[[o-a,r-l],[o+i-a,r+s-l]]}function kd({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:r}){const i=he(e);let s={controlDirection:No("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function a({controlPosition:c,boundaries:u,keepAspectRatio:f,resizeDirection:d,onResizeStart:h,onResize:g,onResizeEnd:v,shouldResize:_}){let y={...is},b={...Nd};s={boundaries:u,resizeDirection:d,keepAspectRatio:f,controlDirection:No(c)};let p,w=null,N=[],S,E,D,k=!1;const V=vr().on("start",A=>{const{nodeLookup:$,transform:L,snapGrid:x,snapToGrid:M,nodeOrigin:C,paneDomNode:P}=n();if(p=$.get(t),!p)return;w=P?.getBoundingClientRect()??null;const{xSnapped:T,ySnapped:I}=tt(A.sourceEvent,{transform:L,snapGrid:x,snapToGrid:M,containerBounds:w});y={width:p.measured.width??0,height:p.measured.height??0,x:p.position.x??0,y:p.position.y??0},b={...y,pointerX:T,pointerY:I,aspectRatio:y.width/y.height},S=void 0,p.parentId&&(p.extent==="parent"||p.expandParent)&&(S=$.get(p.parentId),E=S&&p.extent==="parent"?Md(S):void 0),N=[],D=void 0;for(const[H,j]of $)if(j.parentId===t&&(N.push({id:H,position:{...j.position},extent:j.extent}),j.extent==="parent"||j.expandParent)){const R=Id(j,p,j.origin??C);D?D=[[Math.min(R[0][0],D[0][0]),Math.min(R[0][1],D[0][1])],[Math.max(R[1][0],D[1][0]),Math.max(R[1][1],D[1][1])]]:D=R}h?.(A,{...y})}).on("drag",A=>{const{transform:$,snapGrid:L,snapToGrid:x,nodeOrigin:M}=n(),C=tt(A.sourceEvent,{transform:$,snapGrid:L,snapToGrid:x,containerBounds:w}),P=[];if(!p)return;const{x:T,y:I,width:H,height:j}=y,R={},F=p.origin??M,{width:B,height:G,x:K,y:W}=Cd(b,s.controlDirection,C,s.boundaries,s.keepAspectRatio,F,E,D),O=B!==H,X=G!==j,Q=K!==T&&O,U=W!==I&&X;if(!Q&&!U&&!O&&!X)return;if((Q||U||F[0]===1||F[1]===1)&&(R.x=Q?K:y.x,R.y=U?W:y.y,y.x=R.x,y.y=R.y,N.length>0)){const ne=K-T,te=W-I;for(const ie of N)ie.position={x:ie.position.x-ne+F[0]*(B-H),y:ie.position.y-te+F[1]*(G-j)},P.push(ie)}if((O||X)&&(R.width=O&&(!s.resizeDirection||s.resizeDirection==="horizontal")?B:y.width,R.height=X&&(!s.resizeDirection||s.resizeDirection==="vertical")?G:y.height,y.width=R.width,y.height=R.height),S&&p.expandParent){const ne=F[0]*(R.width??0);R.x&&R.x<ne&&(y.x=ne,b.x=b.x-(R.x-ne));const te=F[1]*(R.height??0);R.y&&R.y<te&&(y.y=te,b.y=b.y-(R.y-te))}const Z=Ed({width:y.width,prevWidth:H,height:y.height,prevHeight:j,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),q={...y,direction:Z};_?.(A,q)!==!1&&(k=!0,g?.(A,q),o(R,P))}).on("end",A=>{k&&(v?.(A,{...y}),r?.({...y}),k=!1)});i.call(V)}function l(){i.on(".drag",null)}return{update:a,destroy:l}}const Ad={},Io=e=>{let t;const n=new Set,o=(u,f)=>{const d=typeof u=="function"?u(t):u;if(!Object.is(d,t)){const h=t;t=f??(typeof d!="object"||d===null)?d:Object.assign({},t,d),n.forEach(g=>g(t,h))}},r=()=>t,l={setState:o,getState:r,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(Ad?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},c=t=e(o,r,l);return l},Pd=e=>e?Io(e):Io,{useDebugValue:Td}=Wi,{useSyncExternalStoreWithSelector:Dd}=Zi,$d=e=>e;function as(e,t=$d,n){const o=Dd(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Td(o),o}const ko=(e,t)=>{const n=Pd(e),o=(r,i=t)=>as(n,r,i);return Object.assign(o,n),o},zd=(e,t)=>e?ko(e,t):ko;function re(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[o,r]of e)if(!Object.is(r,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}const Wt=z.createContext(null),Ld=Wt.Provider,cs=_e.error001();function J(e,t){const n=z.useContext(Wt);if(n===null)throw new Error(cs);return as(n,e,t)}function se(){const e=z.useContext(Wt);if(e===null)throw new Error(cs);return z.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Ao={display:"none"},Hd={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ls="react-flow__node-desc",us="react-flow__edge-desc",Rd="react-flow__aria-live",jd=e=>e.ariaLiveMessage,Vd=e=>e.ariaLabelConfig;function Od({rfId:e}){const t=J(jd);return m.jsx("div",{id:`${Rd}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Hd,children:t})}function Bd({rfId:e,disableKeyboardA11y:t}){const n=J(Vd);return m.jsxs(m.Fragment,{children:[m.jsx("div",{id:`${ls}-${e}`,style:Ao,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),m.jsx("div",{id:`${us}-${e}`,style:Ao,children:n["edge.a11yDescription.default"]}),!t&&m.jsx(Od,{rfId:e})]})}const Gt=z.forwardRef(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{const s=`${e}`.split("-");return m.jsx("div",{className:ae(["react-flow__panel",n,...s]),style:o,ref:i,...r,children:t})});Gt.displayName="Panel";function Fd({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:m.jsx(Gt,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:m.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Xd=e=>{const t=[],n=[];for(const[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&n.push(o);return{selectedNodes:t,selectedEdges:n}},_t=e=>e.id;function Yd(e,t){return re(e.selectedNodes.map(_t),t.selectedNodes.map(_t))&&re(e.selectedEdges.map(_t),t.selectedEdges.map(_t))}function Zd({onSelectionChange:e}){const t=se(),{selectedNodes:n,selectedEdges:o}=J(Xd,Yd);return z.useEffect(()=>{const r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(i=>i(r))},[n,o,e]),null}const Wd=e=>!!e.onSelectionChangeHandlers;function Gd({onSelectionChange:e}){const t=J(Wd);return e||t?m.jsx(Zd,{onSelectionChange:e}):null}const ds=[0,0],qd={x:0,y:0,zoom:1},Kd=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],Po=[...Kd,"rfId"],Ud=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),To={translateExtent:st,nodeOrigin:ds,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Qd(e){const{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:i,setNodeExtent:s,reset:a,setDefaultNodesAndEdges:l}=J(Ud,re),c=se();z.useEffect(()=>(l(e.defaultNodes,e.defaultEdges),()=>{u.current=To,a()}),[]);const u=z.useRef(To);return z.useEffect(()=>{for(const f of Po){const d=e[f],h=u.current[f];d!==h&&(typeof e[f]>"u"||(f==="nodes"?t(d):f==="edges"?n(d):f==="minZoom"?o(d):f==="maxZoom"?r(d):f==="translateExtent"?i(d):f==="nodeExtent"?s(d):f==="ariaLabelConfig"?c.setState({ariaLabelConfig:Ou(d)}):f==="fitView"?c.setState({fitViewQueued:d}):f==="fitViewOptions"?c.setState({fitViewOptions:d}):c.setState({[f]:d})))}u.current=e},Po.map(f=>e[f])),null}function Do(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Jd(e){const[t,n]=z.useState(e==="system"?null:e);return z.useEffect(()=>{if(e!=="system"){n(e);return}const o=Do(),r=()=>n(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[e]),t!==null?t:Do()?.matches?"dark":"light"}const $o=typeof document<"u"?document:null;function lt(e=null,t={target:$o,actInsideInputWithModifier:!0}){const[n,o]=z.useState(!1),r=z.useRef(!1),i=z.useRef(new Set([])),[s,a]=z.useMemo(()=>{if(e!==null){const c=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
2
2
|
`).replace(`
|
|
3
3
|
|
|
4
4
|
`,`
|