specrails-desktop 2.62.0 → 2.63.0
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/cli/dist/specrails-desktop.js +39 -5
- package/client/dist/assets/{ActivityFeedPage-C_pqc281.js → ActivityFeedPage-Bn2MpG5M.js} +1 -1
- package/client/dist/assets/{AgentBrowserCapture-vz6rbDtu.js → AgentBrowserCapture-CHlXWdXq.js} +1 -1
- package/client/dist/assets/AgentModeAnalyticsPane-yj-YCgrK.js +2 -0
- package/client/dist/assets/AgentModeCodePane-Xczcyghb.js +2 -0
- package/client/dist/assets/{AgentModeJobsPane-99fBBLri.js → AgentModeJobsPane-DtOW01ln.js} +1 -1
- package/client/dist/assets/AgentsPage-BMfJ4mzU.js +118 -0
- package/client/dist/assets/AnalyticsPage-CGn5cgtc.js +1 -0
- package/client/dist/assets/BarChart-BDMqVFJy.js +55 -0
- package/client/dist/assets/CodePage-C8NIginr.js +3 -0
- package/client/dist/assets/DesktopAnalyticsPage-C87r4y26.js +1 -0
- package/client/dist/assets/{DocsDialog-XUCYKoq0.js → DocsDialog-Z50a_KPv.js} +1 -1
- package/client/dist/assets/{DocsPage-dOLC8bXA.js → DocsPage-DIArbEPl.js} +1 -1
- package/client/dist/assets/{ExportDropdown-BvKQgwM9.js → ExportDropdown-CJdCqYd7.js} +1 -1
- package/client/dist/assets/IntegrationsPage-EAipiDWm.js +1 -0
- package/client/dist/assets/InteractiveJobComposer-BxLh4me-.js +19 -0
- package/client/dist/assets/{JobDetailModal-CkiubrkZ.js → JobDetailModal-C7dWoRu6.js} +1 -1
- package/client/dist/assets/{JobDetailPage-CNe4Wn7l.js → JobDetailPage-Ilu294WS.js} +1 -1
- package/client/dist/assets/JobsPage-fPq1hefb.js +1 -0
- package/client/dist/assets/LoopBuilderPage-5M7IypEP.js +1 -0
- package/client/dist/assets/{LoopPreviewModal-Dv3dxHr_.js → LoopPreviewModal-ChI3NQC7.js} +1 -1
- package/client/dist/assets/{LoopWindowSurface-DN2lbSnL.js → LoopWindowSurface-D1WB9i-9.js} +1 -1
- package/client/dist/assets/LoopsPage-CCwc0Biu.js +2 -0
- package/client/dist/assets/MinimizedChatsContext-eH_KaAZ1.js +1 -0
- package/client/dist/assets/PluginsPage-DfDfEfbW.js +2 -0
- package/client/dist/assets/ProjectSettingsDialog-9NHnG8JQ.js +1 -0
- package/client/dist/assets/RepositoryDeliveries-DgzNnJmn.js +5 -0
- package/client/dist/assets/{RepositoryScopeSelector-DrtPqvc_.js → RepositoryScopeSelector-BSgUqk_u.js} +1 -1
- package/client/dist/assets/ReviewPacketPage-D34bGpSA.js +4 -0
- package/client/dist/assets/{TemplatePreviewModal-DcFlhUxy.js → TemplatePreviewModal-CcfSxWQ7.js} +1 -1
- package/client/dist/assets/TicketDetailModalContext-BoafEcm4.js +16 -0
- package/client/dist/assets/Trans-CVSryAL1.js +1 -0
- package/client/dist/assets/ban-wqfdzoXt.js +1 -0
- package/client/dist/assets/{button-D1xExSTF.js → button-4FS1ZDTp.js} +1 -1
- package/client/dist/assets/chevron-up-6EFqEHBj.js +1 -0
- package/client/dist/assets/chunk-OB3PAWPO-B1EMk45A.js +3 -0
- package/client/dist/assets/circle-x-D2ttKotB.js +1 -0
- package/client/dist/assets/createLucideIcon-DtODIU64.js +1 -0
- package/client/dist/assets/{dialog-CMgps2MY.js → dialog-DtdR05v1.js} +1 -1
- package/client/dist/assets/download-C9wP_42h.js +1 -0
- package/client/dist/assets/external-link-CZ6Q-v1-.js +1 -0
- package/client/dist/assets/file-text-C0blZHLh.js +1 -0
- package/client/dist/assets/{formatDistanceToNow-DlQY1Lm_.js → formatDistanceToNow-NVM6rK3i.js} +1 -1
- package/client/dist/assets/{getTimezoneOffsetInMilliseconds-COUeq65G.js → getTimezoneOffsetInMilliseconds-ZHg7WpdH.js} +1 -1
- package/client/dist/assets/git-branch-yf6LE1Bw.js +1 -0
- package/client/dist/assets/{index-CONHvEJw.js → index-Culan6y7.js} +40 -40
- package/client/dist/assets/{index-BacrO_ub.css → index-D1v33giW.css} +1 -1
- package/client/dist/assets/jira-api-Bl8xEIpk.js +1 -0
- package/client/dist/assets/jsx-runtime-BbYvbtY8.js +1 -0
- package/client/dist/assets/layers-BCLTgHXO.js +1 -0
- package/client/dist/assets/{lib-C7Mhm-gT.js → lib-CQJT8S6Q.js} +1 -1
- package/client/dist/assets/{lib-CGdyxIWg.js → lib-DWJfei6y.js} +1 -1
- package/client/dist/assets/loader-circle-BqV9xYGf.js +1 -0
- package/client/dist/assets/{loop-layout-BF8xMiNv.js → loop-layout-CyXj9223.js} +1 -1
- package/client/dist/assets/pencil-CxrRbDwb.js +1 -0
- package/client/dist/assets/plus-fHDdjBk1.js +1 -0
- package/client/dist/assets/{project-repositories-Cc3oNv8X.js → project-repositories-CvJf1a6H.js} +1 -1
- package/client/dist/assets/react-dom-DDD8FYaU.js +1 -0
- package/client/dist/assets/rotate-ccw-DalJAQQX.js +1 -0
- package/client/dist/assets/save-LmPSfsvZ.js +1 -0
- package/client/dist/assets/search-BDVp3fkH.js +1 -0
- package/client/dist/assets/{settings-BKJZ2KEM.js → settings-BO2N-oPf.js} +1 -1
- package/client/dist/assets/{settings-LfFnl1UH.js → settings-BQChAs_w.js} +1 -1
- package/client/dist/assets/{settings-BV3jocIx.js → settings-BzmYlcQB.js} +1 -1
- package/client/dist/assets/{settings-BjM2Dw8_.js → settings-CGjXb6TX.js} +1 -1
- package/client/dist/assets/{settings-DA77M48m.js → settings-CMxEWY46.js} +1 -1
- package/client/dist/assets/{settings-P1IQvhnL.js → settings-C_dRSgI2.js} +1 -1
- package/client/dist/assets/{settings-eIMJjyK_.js → settings-Hw7av-B1.js} +1 -1
- package/client/dist/assets/{settings-CKu0LTib.js → settings-nryN6wuS.js} +1 -1
- package/client/dist/assets/sparkles-CCfUdFGY.js +1 -0
- package/client/dist/assets/spending-BfjSJjBd.js +1 -0
- package/client/dist/assets/square-D0JTbRSR.js +1 -0
- package/client/dist/assets/trash-D8zYUmTg.js +1 -0
- package/client/dist/assets/triangle-alert-Cxpn8bqr.js +1 -0
- package/client/dist/assets/upload-CCHvUkRs.js +1 -0
- package/client/dist/assets/{useDesktop-9Lwoel_8.js → useDesktop-C5JVBeur.js} +1 -1
- package/client/dist/assets/{useRuntimeRuns-DL0xYoZ2.js → useRuntimeRuns-DohBmeg8.js} +1 -1
- package/client/dist/assets/useSharedWebSocket-CNOvmgTr.js +2 -0
- package/client/dist/assets/{value-s-gzBeyF.js → value-DtOOK0wQ.js} +1 -1
- package/client/dist/assets/x-Bu7X_eR2.js +1 -0
- package/client/dist/assets/zap-bugHyWzQ.js +1 -0
- package/client/dist/index.html +43 -44
- package/docs/ci-cd.md +8 -1
- package/docs/customizing.md +1 -0
- package/docs/getting-started.md +1 -1
- package/docs/guide/de/settings/5-project-environment.md +27 -0
- package/docs/guide/en/settings/5-project-environment.md +27 -0
- package/docs/guide/es/settings/5-project-environment.md +27 -0
- package/docs/guide/fr/settings/5-project-environment.md +27 -0
- package/docs/guide/it/settings/5-project-environment.md +27 -0
- package/docs/guide/ja/settings/5-project-environment.md +27 -0
- package/docs/guide/pt/settings/5-project-environment.md +27 -0
- package/docs/guide/zh/settings/5-project-environment.md +27 -0
- package/docs/internals/api-reference.md +3 -1
- package/docs/internals/configuration.md +46 -5
- package/docs/internals/safe-pr-review-flow.md +15 -0
- package/docs/internals/source-map.md +3 -1
- package/docs/mcp.md +1 -1
- package/docs/platforms/macos.md +2 -0
- package/docs/platforms/windows-parity.md +4 -4
- package/docs/platforms/windows.md +9 -9
- package/local-runner/dist/specrails-local-runner.js +1 -1
- package/package.json +8 -9
- package/server/dist/mcp/tools/env.js +38 -3
- package/server/dist/modules/execution/runtime/queue-manager.js +8 -0
- package/server/dist/modules/loops/runtime/loop-executors.js +1 -0
- package/server/dist/modules/loops/runtime/loop-run-manager.js +7 -0
- package/server/dist/modules/project-settings/adapters/http.js +24 -0
- package/server/dist/path-resolver.js +135 -20
- package/server/dist/project-env.js +265 -17
- package/server/dist/project-registry.js +14 -0
- package/server/dist/project-router-settings.js +17 -0
- package/server/dist/worktree-node-modules.js +95 -1
- package/client/dist/assets/AgentModeAnalyticsPane-BHCcUahS.js +0 -2
- package/client/dist/assets/AgentModeCodePane-DhmxgG3W.js +0 -2
- package/client/dist/assets/AgentsPage-CTwm_6T8.js +0 -118
- package/client/dist/assets/AnalyticsPage-YD8MLoPa.js +0 -1
- package/client/dist/assets/BarChart-nBOMNfiy.js +0 -33
- package/client/dist/assets/CodePage-CLJn2F2e.js +0 -3
- package/client/dist/assets/DesktopAnalyticsPage-MWGQVbwp.js +0 -1
- package/client/dist/assets/IntegrationsPage-Bhy58lnQ.js +0 -1
- package/client/dist/assets/InteractiveJobComposer-DxOvwmBF.js +0 -19
- package/client/dist/assets/JobsPage-DSts_L_d.js +0 -1
- package/client/dist/assets/LoopBuilderPage-C9D9eer5.js +0 -1
- package/client/dist/assets/LoopsPage-DHgIreEW.js +0 -2
- package/client/dist/assets/MinimizedChatsContext-Ds2-R6qJ.js +0 -1
- package/client/dist/assets/PluginsPage-D1EJ9oja.js +0 -2
- package/client/dist/assets/ProjectSettingsDialog-DKpa1wKk.js +0 -1
- package/client/dist/assets/RepositoryDeliveries-CW4eKG3x.js +0 -5
- package/client/dist/assets/ReviewPacketPage-BtjPI0Cc.js +0 -4
- package/client/dist/assets/TicketDetailModalContext-Dea22CI-.js +0 -16
- package/client/dist/assets/Trans-CAY2Rd2f.js +0 -1
- package/client/dist/assets/ban-E4EaZe3a.js +0 -1
- package/client/dist/assets/chevron-up-CwGUHd6D.js +0 -1
- package/client/dist/assets/chunk-KS7C4IRE-DEKu087k.js +0 -3
- package/client/dist/assets/circle-x-CMYsN4ZH.js +0 -1
- package/client/dist/assets/createLucideIcon-Bjbbp_KS.js +0 -1
- package/client/dist/assets/dist-Bq10nS2m.js +0 -1
- package/client/dist/assets/download-CFHyyHcw.js +0 -1
- package/client/dist/assets/external-link-D6XxC_Cu.js +0 -1
- package/client/dist/assets/file-text-BcLCfcWZ.js +0 -1
- package/client/dist/assets/git-branch-BRM0F5GN.js +0 -1
- package/client/dist/assets/jira-api-C94VNHNY.js +0 -1
- package/client/dist/assets/jsx-runtime-zu2_FqZY.js +0 -1
- package/client/dist/assets/layers-eDMjG41I.js +0 -1
- package/client/dist/assets/loader-circle-DcygOQpC.js +0 -1
- package/client/dist/assets/pencil-C9RkrIPZ.js +0 -1
- package/client/dist/assets/plus-CsnjfkmX.js +0 -1
- package/client/dist/assets/react-dom-DiWzBDP9.js +0 -1
- package/client/dist/assets/rotate-ccw-Wh4id13q.js +0 -1
- package/client/dist/assets/save-B6wGWwBR.js +0 -1
- package/client/dist/assets/search-Cq_gE3Ik.js +0 -1
- package/client/dist/assets/sparkles-DrY8hb0X.js +0 -1
- package/client/dist/assets/spending-DemeFfrH.js +0 -1
- package/client/dist/assets/square-Ci-PFcFe.js +0 -1
- package/client/dist/assets/trash-2-BOU3WdZZ.js +0 -1
- package/client/dist/assets/triangle-alert-H9T4jAmh.js +0 -1
- package/client/dist/assets/upload-DYMjAQ6M.js +0 -1
- package/client/dist/assets/useSharedWebSocket-BEHPeU1Y.js +0 -2
- package/client/dist/assets/x-CBMI9ejn.js +0 -1
- package/client/dist/assets/zap-CHo3aCD1.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t,t as n}from"./jsx-runtime-zu2_FqZY.js";import{t as r}from"./react-dom-DiWzBDP9.js";import{a as i,i as a,n as o,o as s,r as c,t as l}from"./value-s-gzBeyF.js";var u=180/Math.PI,d={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function f(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*u,skewX:Math.atan(c)*u,scaleX:o,scaleY:s}}var p;function m(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?d:f(t.a,t.b,t.c,t.d,t.e,t.f)}function h(e){return e==null||(p||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),p.setAttribute(`transform`,e),!(e=p.transform.baseVal.consolidate()))?d:(e=e.matrix,f(e.a,e.b,e.c,e.d,e.e,e.f))}function g(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var l=o.push(`translate(`,null,t,null,n);s.push({i:l-4,x:c(e,i)},{i:l-2,x:c(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:c(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:c(e,t)})}function l(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:c(e,n)},{i:s-2,x:c(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),l(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var _=g(m,`px, `,`px)`,`deg)`),v=g(h,`, `,`)`,`)`),y=1e-12;function b(e){return((e=Math.exp(e))+1/e)/2}function x(e){return((e=Math.exp(e))-1/e)/2}function S(e){return((e=Math.exp(2*e))-1)/(e+1)}var C=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<y)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),C=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-C)/t,m=function(e){var r=e*h,i=b(C),c=s/(n*g)*(i*S(t*r+C)-x(C));return[a+c*d,o+c*f,s*i/b(t*r+C)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),w=e(t(),1),T=n();function E(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=E(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var D={value:()=>{}};function O(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new k(n)}function k(e){this._=e}function A(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}k.prototype=O.prototype={constructor:k,on:function(e,t){var n=this._,r=A(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=j(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=M(n[i],e.name,t);else if(t==null)for(i in n)n[i]=M(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new k(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function j(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function M(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=D,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var N={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function P(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),N.hasOwnProperty(t)?{space:N[t],local:e}:e}function F(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function I(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function L(e){var t=P(e);return(t.local?I:F)(t)}function R(){}function z(e){return e==null?R:function(){return this.querySelector(e)}}function B(e){typeof e!=`function`&&(e=z(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new K(r,this._parents)}function V(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function H(){return[]}function U(e){return e==null?H:function(){return this.querySelectorAll(e)}}function W(e){return function(){return V(e.apply(this,arguments))}}function G(e){e=typeof e==`function`?W(e):U(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new K(r,i)}function ee(e){return function(){return this.matches(e)}}function te(e){return function(t){return t.matches(e)}}var ne=Array.prototype.find;function re(e){return function(){return ne.call(this.children,e)}}function ie(){return this.firstElementChild}function ae(e){return this.select(e==null?ie:re(typeof e==`function`?e:te(e)))}var oe=Array.prototype.filter;function se(){return Array.from(this.children)}function ce(e){return function(){return oe.call(this.children,e)}}function le(e){return this.selectAll(e==null?se:ce(typeof e==`function`?e:te(e)))}function ue(e){typeof e!=`function`&&(e=ee(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new K(r,this._parents)}function de(e){return Array(e.length)}function fe(){return new K(this._enter||this._groups.map(de),this._parents)}function pe(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}pe.prototype={constructor:pe,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 me(e){return function(){return e}}function he(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new pe(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function ge(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new pe(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function _e(e){return e.__data__}function ve(e,t){if(!arguments.length)return Array.from(this,_e);var n=t?ge:he,r=this._parents,i=this._groups;typeof e!=`function`&&(e=me(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=ye(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new K(o,r),o._enter=s,o._exit=c,o}function ye(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function be(){return new K(this._exit||this._groups.map(de),this._parents)}function xe(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Se(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new K(s,this._parents)}function Ce(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function we(e){e||=Te;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new K(i,this._parents).order()}function Te(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ee(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function De(){return Array.from(this)}function Oe(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function ke(){let e=0;for(let t of this)++e;return e}function Ae(){return!this.node()}function je(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Me(e){return function(){this.removeAttribute(e)}}function Ne(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Pe(e,t){return function(){this.setAttribute(e,t)}}function Fe(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Ie(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Le(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 Re(e,t){var n=P(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Ne:Me:typeof t==`function`?n.local?Le:Ie:n.local?Fe:Pe)(n,t))}function ze(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Be(e){return function(){this.style.removeProperty(e)}}function Ve(e,t,n){return function(){this.style.setProperty(e,t,n)}}function He(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Ue(e,t,n){return arguments.length>1?this.each((t==null?Be:typeof t==`function`?He:Ve)(e,t,n??``)):We(this.node(),e)}function We(e,t){return e.style.getPropertyValue(t)||ze(e).getComputedStyle(e,null).getPropertyValue(t)}function Ge(e){return function(){delete this[e]}}function Ke(e,t){return function(){this[e]=t}}function qe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Je(e,t){return arguments.length>1?this.each((t==null?Ge:typeof t==`function`?qe:Ke)(e,t)):this.node()[e]}function Ye(e){return e.trim().split(/^|\s+/)}function Xe(e){return e.classList||new Ze(e)}function Ze(e){this._node=e,this._names=Ye(e.getAttribute(`class`)||``)}Ze.prototype={add:function(e){this._names.indexOf(e)<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 Qe(e,t){for(var n=Xe(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function $e(e,t){for(var n=Xe(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function et(e){return function(){Qe(this,e)}}function tt(e){return function(){$e(this,e)}}function nt(e,t){return function(){(t.apply(this,arguments)?Qe:$e)(this,e)}}function rt(e,t){var n=Ye(e+``);if(arguments.length<2){for(var r=Xe(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?nt:t?et:tt)(n,t))}function it(){this.textContent=``}function at(e){return function(){this.textContent=e}}function ot(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function st(e){return arguments.length?this.each(e==null?it:(typeof e==`function`?ot:at)(e)):this.node().textContent}function ct(){this.innerHTML=``}function lt(e){return function(){this.innerHTML=e}}function ut(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function dt(e){return arguments.length?this.each(e==null?ct:(typeof e==`function`?ut:lt)(e)):this.node().innerHTML}function ft(){this.nextSibling&&this.parentNode.appendChild(this)}function pt(){return this.each(ft)}function mt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ht(){return this.each(mt)}function gt(e){var t=typeof e==`function`?e:L(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function _t(){return null}function vt(e,t){var n=typeof e==`function`?e:L(e),r=t==null?_t:typeof t==`function`?t:z(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function yt(){var e=this.parentNode;e&&e.removeChild(this)}function bt(){return this.each(yt)}function xt(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function St(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Ct(e){return this.select(e?St:xt)}function wt(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function Tt(e){return function(t){e.call(this,t,this.__data__)}}function Et(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function Dt(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function Ot(e,t,n){return function(){var r=this.__on,i,a=Tt(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function kt(e,t,n){var r=Et(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?Ot:Dt,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function At(e,t,n){var r=ze(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function jt(e,t){return function(){return At(this,e,t)}}function Mt(e,t){return function(){return At(this,e,t.apply(this,arguments))}}function Nt(e,t){return this.each((typeof t==`function`?Mt:jt)(e,t))}function*Pt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var Ft=[null];function K(e,t){this._groups=e,this._parents=t}function It(){return new K([[document.documentElement]],Ft)}function Lt(){return this}K.prototype=It.prototype={constructor:K,select:B,selectAll:G,selectChild:ae,selectChildren:le,filter:ue,data:ve,enter:fe,exit:be,join:xe,merge:Se,selection:Lt,order:Ce,sort:we,call:Ee,nodes:De,node:Oe,size:ke,empty:Ae,each:je,attr:Re,style:Ue,property:Je,classed:rt,text:st,html:dt,raise:pt,lower:ht,append:gt,insert:vt,remove:bt,clone:Ct,datum:wt,on:kt,dispatch:Nt,[Symbol.iterator]:Pt};function q(e){return typeof e==`string`?new K([[document.querySelector(e)]],[document.documentElement]):new K([[e]],Ft)}function Rt(e){let t;for(;t=e.sourceEvent;)e=t;return e}function J(e,t){if(e=Rt(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var zt={passive:!1},Bt={capture:!0,passive:!1};function Vt(e){e.stopImmediatePropagation()}function Ht(e){e.preventDefault(),e.stopImmediatePropagation()}function Ut(e){var t=e.document.documentElement,n=q(e).on(`dragstart.drag`,Ht,Bt);`onselectstart`in t?n.on(`selectstart.drag`,Ht,Bt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Wt(e,t){var n=e.document.documentElement,r=q(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,Ht,Bt),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Gt=e=>()=>e;function Kt(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,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:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Kt.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function qt(e){return!e.ctrlKey&&!e.button}function Jt(){return this.parentNode}function Yt(e,t){return t??{x:e.x,y:e.y}}function Xt(){return navigator.maxTouchPoints||`ontouchstart`in this}function Zt(){var e=qt,t=Jt,n=Yt,r=Xt,i={},a=O(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,zt).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(q(n.view).on(`mousemove.drag`,m,Bt).on(`mouseup.drag`,h,Bt),Ut(n.view),Vt(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(Ht(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){q(e.view).on(`mousemove.drag mouseup.drag`,null),Wt(e.view,l),Ht(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(Vt(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(Ht(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Vt(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=J(l||r,t),p,m,h;if((h=n.call(e,new Kt(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=J(l||a,t),_=o;break}u.call(r,e,new Kt(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Gt(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Gt(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Gt(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Gt(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}var Qt=0,$t=0,en=0,tn=1e3,nn,rn,an=0,on=0,sn=0,cn=typeof performance==`object`&&performance.now?performance:Date,ln=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function un(){return on||=(ln(dn),cn.now()+sn)}function dn(){on=0}function fn(){this._call=this._time=this._next=null}fn.prototype=pn.prototype={constructor:fn,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?un():+n)+(t==null?0:+t),!this._next&&rn!==this&&(rn?rn._next=this:nn=this,rn=this),this._call=e,this._time=n,vn()},stop:function(){this._call&&(this._call=null,this._time=1/0,vn())}};function pn(e,t,n){var r=new fn;return r.restart(e,t,n),r}function mn(){un(),++Qt;for(var e=nn,t;e;)(t=on-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Qt}function hn(){on=(an=cn.now())+sn,Qt=$t=0;try{mn()}finally{Qt=0,_n(),on=0}}function gn(){var e=cn.now(),t=e-an;t>tn&&(sn-=t,an=e)}function _n(){for(var e,t=nn,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:nn=n);rn=e,vn(r)}function vn(e){Qt||($t&&=clearTimeout($t),e-on>24?(e<1/0&&($t=setTimeout(hn,e-cn.now()-sn)),en&&=clearInterval(en)):(en||=(an=cn.now(),setInterval(gn,tn)),Qt=1,ln(hn)))}function yn(e,t,n){var r=new fn;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var bn=O(`start`,`end`,`cancel`,`interrupt`),xn=[];function Sn(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;En(e,n,{name:t,index:r,group:i,on:bn,tween:xn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Cn(e,t){var n=Tn(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function wn(e,t){var n=Tn(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Tn(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function En(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=pn(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return yn(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(yn(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Dn(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function On(e){return this.each(function(){Dn(this,e)})}function kn(e,t){var n,r;return function(){var i=wn(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function An(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=wn(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function jn(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Tn(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?kn:An)(n,e,t))}function Mn(e,t,n){var r=e._id;return e.each(function(){var e=wn(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Tn(e,r).value[t]}}function Nn(e,t){var n;return(typeof t==`number`?c:t instanceof i?a:(n=i(t))?(t=n,a):o)(e,t)}function Pn(e){return function(){this.removeAttribute(e)}}function Fn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function In(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ln(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Rn(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function zn(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Bn(e,t){var n=P(e),r=n===`transform`?v:Nn;return this.attrTween(e,typeof t==`function`?(n.local?zn:Rn)(n,r,Mn(this,`attr.`+e,t)):t==null?(n.local?Fn:Pn)(n):(n.local?Ln:In)(n,r,t))}function Vn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Hn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Un(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Hn(e,i)),n}return i._value=t,i}function Wn(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Vn(e,i)),n}return i._value=t,i}function Gn(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 Error();var r=P(e);return this.tween(n,(r.local?Un:Wn)(r,t))}function Kn(e,t){return function(){Cn(this,e).delay=+t.apply(this,arguments)}}function qn(e,t){return t=+t,function(){Cn(this,e).delay=t}}function Jn(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Kn:qn)(t,e)):Tn(this.node(),t).delay}function Yn(e,t){return function(){wn(this,e).duration=+t.apply(this,arguments)}}function Xn(e,t){return t=+t,function(){wn(this,e).duration=t}}function Zn(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Yn:Xn)(t,e)):Tn(this.node(),t).duration}function Qn(e,t){if(typeof t!=`function`)throw Error();return function(){wn(this,e).ease=t}}function $n(e){var t=this._id;return arguments.length?this.each(Qn(t,e)):Tn(this.node(),t).ease}function er(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();wn(this,e).ease=n}}function tr(e){if(typeof e!=`function`)throw Error();return this.each(er(this._id,e))}function nr(e){typeof e!=`function`&&(e=ee(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new jr(r,this._parents,this._name,this._id)}function rr(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new jr(o,this._parents,this._name,this._id)}function ir(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ar(e,t,n){var r,i,a=ir(t)?Cn:wn;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function or(e,t){var n=this._id;return arguments.length<2?Tn(this.node(),n).on.on(e):this.each(ar(n,e,t))}function sr(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function cr(){return this.on(`end.remove`,sr(this._id))}function lr(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=z(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Sn(l[f],t,n,f,l,Tn(u,n)));return new jr(a,this._parents,t,n)}function ur(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=U(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Tn(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Sn(p,t,n,h,f,m);a.push(f),o.push(u)}return new jr(a,o,t,n)}var dr=It.prototype.constructor;function fr(){return new dr(this._groups,this._parents)}function pr(e,t){var n,r,i;return function(){var a=We(this,e),o=(this.style.removeProperty(e),We(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function mr(e){return function(){this.style.removeProperty(e)}}function hr(e,t,n){var r,i=n+``,a;return function(){var o=We(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function gr(e,t,n){var r,i,a;return function(){var o=We(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),We(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function _r(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=wn(this,e),l=c.on,u=c.value[a]==null?s||=mr(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function vr(e,t,n){var r=(e+=``)==`transform`?_:Nn;return t==null?this.styleTween(e,pr(e,r)).on(`end.style.`+e,mr(e)):typeof t==`function`?this.styleTween(e,gr(e,r,Mn(this,`style.`+e,t))).each(_r(this._id,e)):this.styleTween(e,hr(e,r,t),n).on(`end.style.`+e,null)}function yr(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function br(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&yr(e,a,n)),r}return a._value=t,a}function xr(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,br(e,t,n??``))}function Sr(e){return function(){this.textContent=e}}function Cr(e){return function(){var t=e(this);this.textContent=t??``}}function wr(e){return this.tween(`text`,typeof e==`function`?Cr(Mn(this,`text`,e)):Sr(e==null?``:e+``))}function Tr(e){return function(t){this.textContent=e.call(this,t)}}function Er(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Tr(r)),t}return r._value=e,r}function Dr(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 Error();return this.tween(t,Er(e))}function Or(){for(var e=this._name,t=this._id,n=Nr(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Tn(c,t);Sn(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new jr(r,this._parents,e,n)}function kr(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=wn(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ar=0;function jr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Mr(e){return It().transition(e)}function Nr(){return++Ar}var Pr=It.prototype;jr.prototype=Mr.prototype={constructor:jr,select:lr,selectAll:ur,selectChild:Pr.selectChild,selectChildren:Pr.selectChildren,filter:nr,merge:rr,selection:fr,transition:Or,call:Pr.call,nodes:Pr.nodes,node:Pr.node,size:Pr.size,empty:Pr.empty,each:Pr.each,on:or,attr:Bn,attrTween:Gn,style:vr,styleTween:xr,text:wr,textTween:Dr,remove:cr,tween:jn,delay:Jn,duration:Zn,ease:$n,easeVarying:tr,end:kr,[Symbol.iterator]:Pr[Symbol.iterator]};function Fr(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ir={time:null,delay:0,duration:250,ease:Fr};function Lr(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Rr(e){var t,n;e instanceof jr?(t=e._id,e=e._name):(t=Nr(),(n=Ir).time=un(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Sn(c,e,t,l,o,n||Lr(c,t));return new jr(r,this._parents,e,t)}It.prototype.interrupt=On,It.prototype.transition=Rr;var zr=e=>()=>e;function Br(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Vr(e,t,n){this.k=e,this.x=t,this.y=n}Vr.prototype={constructor:Vr,scale:function(e){return e===1?this:new Vr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Vr(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 Hr=new Vr(1,0,0);Ur.prototype=Vr.prototype;function Ur(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Hr;return e.__zoom}function Wr(e){e.stopImmediatePropagation()}function Gr(e){e.preventDefault(),e.stopImmediatePropagation()}function Kr(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function qr(){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 Jr(){return this.__zoom||Hr}function Yr(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Xr(){return navigator.maxTouchPoints||`ontouchstart`in this}function Zr(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function Qr(){var e=Kr,t=qr,n=Zr,r=Yr,i=Xr,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=C,l=O(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,Jr).on(`wheel.zoom`,T,{passive:!1}).on(`mousedown.zoom`,E).on(`dblclick.zoom`,D).filter(i).on(`touchstart.zoom`,k).on(`touchmove.zoom`,A).on(`touchend.zoom touchcancel.zoom`,j).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,Jr),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(Hr.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Vr(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Vr(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Vr(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=q(this.that).datum();l.call(e,this.that,new Br(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function T(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=J(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Dn(this),s.start();Gr(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function E(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=q(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=J(t,i),l=t.clientX,u=t.clientY;Ut(t.view),Wr(t),a.mouse=[c,this.__zoom.invert(c)],Dn(this),a.start();function d(e){if(Gr(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=J(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),Wt(e.view,a.moved),Gr(e),a.event(e).end()}}function D(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=J(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);Gr(r),s>0?q(this).transition().duration(s).call(x,d,c,r):q(this).call(_.transform,d,c,r)}}function k(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(Wr(t),s=0;s<i;++s)c=r[s],l=J(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),Dn(this),a.start())}}function A(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(Gr(e),s=0;s<a;++s)c=i[s],l=J(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function j(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(Wr(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=J(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=q(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:zr(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:zr(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:zr(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:zr([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var Y={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.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 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:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", 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.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},$r=[[-1/0,-1/0],[1/0,1/0]],ei=[`Enter`,` `,`Escape`],ti={"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`},ni;(function(e){e.Strict=`strict`,e.Loose=`loose`})(ni||={});var ri;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(ri||={});var ii;(function(e){e.Partial=`partial`,e.Full=`full`})(ii||={});var ai={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},oi;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(oi||={});var si;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(si||={});var X;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(X||={});var ci={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top};function li(e){return e===null?null:e?`valid`:`invalid`}var ui=e=>`id`in e&&`source`in e&&`target`in e,di=e=>`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),fi=e=>`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),pi=(e,t=[0,0])=>{let{width:n,height:r}=qi(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},mi=(e,t={nodeOrigin:[0,0]})=>e.length===0?{x:0,y:0,width:0,height:0}:ki(e.reduce((e,n)=>{let r=typeof n==`string`,i=!t.nodeLookup&&!r?n:void 0;return t.nodeLookup&&(i=r?t.nodeLookup.get(n):fi(n)?n:t.nodeLookup.get(n.id)),Di(e,i?ji(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),hi=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=Di(n,ji(e)),r=!0)}),r?ki(n):{x:0,y:0,width:0,height:0}},gi=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=Ni(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},_i=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function vi(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{e.measured.width&&e.measured.height&&(t?.includeHiddenNodes||!e.hidden)&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function yi({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=Wi(hi(vi(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function bi({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent)if(!s)a?.(`005`,Y.error005());else{let e=s.measured.width,t=s.measured.height;e&&t&&(d=[[c,l],[c+e,l+t]])}else s&&Ki(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=Ki(d)?Ci(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,Y.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function xi({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=_i(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var Si=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Ci=(e={x:0,y:0},t,n)=>({x:Si(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Si(e.y,t[0][1],t[1][1]-(n?.height??0))});function wi(e,t,n){let{width:r,height:i}=qi(n),{x:a,y:o}=n.internals.positionAbsolute;return Ci(e,[[a,o],[a+r,o+i]],t)}var Ti=(e,t,n)=>e<t?Si(Math.abs(e-t),1,t)/t:e>n?-Si(Math.abs(e-n),1,t)/t:0,Ei=(e,t,n=15,r=40)=>[Ti(e.x,r,t.width-r)*n,Ti(e.y,r,t.height-r)*n],Di=(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)}),Oi=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ki=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Ai=(e,t=[0,0])=>{let{x:n,y:r}=fi(e)?e.internals.positionAbsolute:pi(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},ji=(e,t=[0,0])=>{let{x:n,y:r}=fi(e)?e.internals.positionAbsolute:pi(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Mi=(e,t)=>ki(Di(Oi(e),Oi(t))),Ni=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},Pi=(e,t)=>Ni(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Fi=e=>Ii(e.width)&&Ii(e.height)&&Ii(e.x)&&Ii(e.y),Ii=e=>!isNaN(e)&&isFinite(e),Li=(e,t)=>(e,t)=>{},Ri=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),zi=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?Ri(s,o):s},Bi=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function Vi(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Hi(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=Vi(e,n),i=Vi(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=Vi(e.top??e.y??0,n),i=Vi(e.bottom??e.y??0,n),a=Vi(e.left??e.x??0,t),o=Vi(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Ui(e,t,n,r,i,a){let{x:o,y:s}=Bi(e,[t,n,r]),{x:c,y:l}=Bi({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var Wi=(e,t,n,r,i,a)=>{let o=Hi(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=Si(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=Ui(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},Gi=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function Ki(e){return e!=null&&e!==`parent`}function qi(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Ji(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Yi(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function Xi(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Zi(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Qi(e){return{...ti,...e||{}}}function $i(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=aa(e),s=zi({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?Ri(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var ea=e=>({width:e.offsetWidth,height:e.offsetHeight}),ta=e=>e?.getRootNode?.()||window?.document,na=[`INPUT`,`SELECT`,`TEXTAREA`];function ra(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?na.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var ia=e=>`clientX`in e,aa=(e,t)=>{let n=ia(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},oa=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...ea(t)}})};function sa({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function ca(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function la({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case X.Left:return[t-ca(t-r,a),n];case X.Right:return[t+ca(r-t,a),n];case X.Top:return[t,n-ca(n-i,a)];case X.Bottom:return[t,n+ca(i-n,a)]}}function ua({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,curvature:o=.25}){let[s,c]=la({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=la({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=sa({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function da({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function fa({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function pa({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=Di(ji(e),ji(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),Pi({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},ki(a))>0}var ma=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,ha=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),ga=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,Y.error006()),t;let r=n.getEdgeId||ma,i;return i=ui(e)?{...e}:{...e,id:r(e)},ha(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function _a({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=da({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var va={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},ya=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},ba=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function xa({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:i,offset:a,stepPosition:o}){let s=va[t],c=va[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=ya({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=da({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function Sa(e,t,n,r){let i=Math.min(ba(e,t)/2,ba(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Ca({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=xa({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=Sa(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function wa(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Ta(e){let{sourceNode:t,targetNode:n}=e;if(!wa(t)||!wa(n))return null;let r=t.internals.handleBounds||Ea(t.handles),i=n.internals.handleBounds||Ea(n.handles),a=Oa(r?.source??[],e.sourceHandle),o=Oa(e.connectionMode===ni.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,Y.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||X.Bottom,c=o?.position||X.Top,l=Da(t,a,s),u=Da(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Ea(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function Da(e,t,n=X.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??qi(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case X.Top:return{x:i+o/2,y:a};case X.Right:return{x:i+o,y:a+s/2};case X.Bottom:return{x:i+o/2,y:a+s};case X.Left:return{x:i,y:a+s/2}}}function Oa(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function ka(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function Aa(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=ka(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var ja=1e3,Ma=10,Na={nodeOrigin:[0,0],nodeExtent:$r,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Pa={...Na,checkEquality:!0};function Fa(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function Ia(e,t,n){let r=Fa(Na,n);for(let n of e.values())if(n.parentId)Va(n,e,t,r);else{let e=Ci(pi(n,r.nodeOrigin),Ki(n.extent)?n.extent:r.nodeExtent,qi(n));n.internals.positionAbsolute=e}}function La(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function Ra(e){return e===`manual`}function za(e,t,n,r={}){let i=Fa(Pa,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!Ra(i.zIndexMode)?ja:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=Ci(pi(u,i.nodeOrigin),Ki(u.extent)?u.extent:i.nodeExtent,qi(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:La(u,e),z:Ha(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&Va(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Ba(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Va(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=Fa(Na,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Ba(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Ma),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=Ua(e,u,o,s,a&&!Ra(c)?ja:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function Ha(e,t,n){let r=Ii(e.zIndex)?e.zIndex:0;return Ra(n)?r:r+(e.selected?t:0)}function Ua(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=qi(e),l=pi(e,n),u=Ki(e.extent)?Ci(l,e.extent,c):l,d=Ci({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=wi(d,c,t));let f=Ha(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function Wa(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Mi(a.get(n.parentId)?.expandedRect??Ai(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=qi(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function Ga(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=ea(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=Ki(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;e.parentId&&e.extent===`parent`?h=wi(h,s,t.get(e.parentId)):m&&(h=Ci(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:oa(`source`,r.nodeElement,p,d,e.id),target:oa(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&Va(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Ai(g,i)}))}}if(f.length>0){let e=Wa(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function Ka({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function qa(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function Ja(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;qa(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),qa(`target`,s,c,e,i,o),t.set(r.id,r)}}function Ya(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:Ya(n,t):!1}function Xa(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function Za(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!Ya(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function Qa({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function $a({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=Ri(a,t);return{x:o.x-a.x,y:o.y-a.y}}function eo({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=q(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?Oi(hi(s)):null,x=v&&l?$a({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:Ri(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=bi({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=Qa({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=Ei(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=$i(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=Za(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=Qa({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=Zt().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=$i(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=aa(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=$i(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=aa(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=aa(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p){p&&s.size>0&&t().updateNodePositions(s,!1);return}if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=Qa({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!Xa(t,`.${g}`,v))&&(!_||Xa(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function to(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())Pi(i,Ai(e))>0&&r.push(e);return r}var no=250;function ro(e,t,n,r){let i=[],a=1/0,o=to(e,n,t+no);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=Da(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function io(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...Da(o,c,c.position,!0)}:c}function ao(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function oo(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var so=()=>!0;function co(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=so,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=ta(e.target),E=0,D,{x:O,y:k}=aa(e),A=ao(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=io(i,A,r,c,t);if(!N)return;let P=aa(e,j),F=!1,I=null,L=!1,R=null;function z(){if(!u||!j)return;let[e,t]=Ei(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(z)}let B={...N,nodeId:i,type:A,position:N.position},V=c.get(i),H={inProgress:!0,isValid:null,from:Da(V,B,X.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:V,to:P,toHandle:null,toPosition:ci[B.position],toNode:null,pointer:P};function U(){M=!0,y(H),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&U();function W(e){if(!M){let{x:t,y:n}=aa(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;U()}if(!x()||!B){G(e);return}let a=b();P=aa(e,j),D=ro(zi(P,a,!1,[1,1]),n,c,B),F||=(z(),!0);let s=lo(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});R=s.handleDomNode,I=s.connection,L=oo(!!D,s.isValid);let u=c.get(i),f=u?Da(u,B,X.Left,!0):H.from,p={...H,from:f,isValid:L,to:s.toHandle&&L?Bi({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:L&&s.toHandle?s.toHandle.position:ci[B.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),H=p}function G(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||R)&&I&&L&&h?.(I);let{inProgress:t,...n}=H,r={...n,toPosition:H.toHandle?H.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,L=!1,I=null,R=null,T.removeEventListener(`mousemove`,W),T.removeEventListener(`mouseup`,G),T.removeEventListener(`touchmove`,W),T.removeEventListener(`touchend`,G)}}T.addEventListener(`mousemove`,W),T.addEventListener(`mouseup`,G),T.addEventListener(`touchmove`,W),T.addEventListener(`touchend`,G)}function lo(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=so,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=aa(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=ao(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===ni.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=io(t,e,a,u,n,!0)}return _}var uo={onPointerDown:co,isValid:lo};function fo({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=q(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&Gi()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=Qr().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:J}}var po=e=>({x:e.x,y:e.y,zoom:e.k}),mo=({x:e,y:t,zoom:n})=>Hr.translate(e,t).scale(n),ho=(e,t)=>e.target.closest(`.${t}`),go=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),_o=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,vo=(e,t=0,n=_o,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},yo=e=>{let t=e.ctrlKey&&Gi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function bo({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(ho(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=J(u),t=d*2**yo(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===ri.Vertical?0:u.deltaX*f,m=i===ri.Horizontal?0:u.deltaY*f;!Gi()&&u.shiftKey&&i!==ri.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=po(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(u,h),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,s?.(u,h))}}function xo({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=ho(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function So({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=po(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function Co({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&go(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,po(a.transform))}}function wo({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&go(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=po(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function To({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:a,userSelectionActive:o,noWheelClassName:s,noPanClassName:c,lib:l,connectionInProgress:u}){return d=>{let f=e||t,p=n&&d.ctrlKey,m=d.type===`wheel`;if(d.button===1&&d.type===`mousedown`&&(ho(d,`${l}-flow__node`)||ho(d,`${l}-flow__edge`)))return!0;if(!r&&!f&&!i&&!a&&!n||o||u&&!m||ho(d,s)&&m||ho(d,c)&&(!m||i&&m&&!e)||!n&&d.ctrlKey&&m)return!1;if(!n&&d.type===`touchstart`&&d.touches?.length>1)return d.preventDefault(),!1;if(!f&&!i&&!p&&m||!r&&(d.type===`mousedown`||d.type===`touchstart`)||Array.isArray(r)&&!r.includes(d.button)&&d.type===`mousedown`)return!1;let h=Array.isArray(r)&&r.includes(d.button)||!d.button||d.button<=1;return(!d.ctrlKey||m)&&h}}function Eo({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=Qr().scaleExtent([t,n]).translateExtent(r),p=q(e).call(f);y({x:i.x,y:i.y,zoom:Si(i.zoom,t,n)},[[0,0],[d.width,d.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(yo);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?l:C).transform(vo(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:l,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,zoomActivationKeyPressed:S,lib:C,onTransformChange:w,connectionInProgress:T,paneClickDistance:E,selectionOnDrag:D}){r&&!u.isZoomingOrPanning&&v();let O=i&&!S&&!r;f.clickDistance(D?1/0:!Ii(E)||E<0?0:E);let k=O?bo({zoomPanValues:u,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):xo({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,k,{passive:!1});let A=So({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,A);let j=Co({zoomPanValues:u,panOnDrag:l,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:w});f.on(`zoom`,j);let M=wo({zoomPanValues:u,panOnDrag:l,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,M);let N=To({zoomActivationKeyPressed:S,panOnDrag:l,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:C,connectionInProgress:T});f.filter(N),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=mo(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=mo(e);return await g(n,t),n}function x(e){if(p){let t=mo(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?Ur(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?l:C).scaleTo(vo(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function T(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?l:C).scaleBy(vo(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function E(e){f?.scaleExtent(e)}function D(e){f?.translateExtent(e)}function O(e){let t=!Ii(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:w,scaleBy:T,setScaleExtent:E,setTranslateExtent:D,syncViewport:x,setClickDistance:O}}var Do;(function(e){e.Line=`line`,e.Handle=`handle`})(Do||={});function Oo({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function ko(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function Ao(e,t){return Math.max(0,t-e)}function jo(e,t){return Math.max(0,e-t)}function Mo(e,t,n){return Math.max(0,t-e,e-n)}function No(e,t){return e?!t:t}function Po(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=Mo(E,h,g),j=Mo(D,_,v);if(o){let e=0,t=0;c&&w<0?e=Ao(y+w+O,o[0][0]):!c&&w>0&&(e=jo(y+E+O,o[1][0])),l&&T<0?t=Ao(b+T+k,o[0][1]):!l&&T>0&&(t=jo(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=jo(y+w,s[0][0]):!c&&w<0&&(e=Ao(y+E,s[1][0])),l&&T>0?t=jo(b+T,s[0][1]):!l&&T<0&&(t=Ao(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=Mo(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?jo(b+k+E/C,o[1][1])*C:Ao(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?Ao(b+E/C,s[1][1])*C:jo(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=Mo(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?jo(y+D*C+O,o[1][0])/C:Ao(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?Ao(y+D*C,s[1][0])/C:jo(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(No(c,l)?-w:w)/C:w=(No(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Fo={width:0,height:0,x:0,y:0},Io={...Fo,pointerX:0,pointerY:0,aspectRatio:1};function Lo(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function Ro({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=q(e),o={controlDirection:ko(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Fo},h={...Io};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:ko(e)};let g,_=null,v=[],y,b,x,S=!1,C=Zt().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=$i(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=Ki(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=Lo(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=$i(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:C,height:w}=m,T={},E=g.origin??s,{width:D,height:O,x:k,y:A}=Po(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,E,b,x),j=D!==C,M=O!==w,N=k!==u&&j,P=A!==f&&M;if(!N&&!P&&!j&&!M)return;if((N||P||E[0]===1||E[1]===1)&&(T.x=N?k:m.x,T.y=P?A:m.y,m.x=T.x,m.y=T.y,v.length>0)){let e=k-u,t=A-f;for(let n of v)n.position={x:n.position.x-e+E[0]*(D-C),y:n.position.y-t+E[1]*(O-w)},l.push(n)}if((j||M)&&(T.width=j&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?D:m.width,T.height=M&&(!o.resizeDirection||o.resizeDirection===`vertical`)?O:m.height,m.width=T.width,m.height=T.height),y&&g.expandParent){let e=E[0]*(T.width??0);T.x&&T.x<e&&(m.x=e,h.x-=T.x-e);let t=E[1]*(T.height??0);T.y&&T.y<t&&(m.y=t,h.y-=T.y-t)}let F=Oo({width:m.width,prevWidth:C,height:m.height,prevHeight:w,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)!==!1&&(S=!0,d?.(e,I),r(T,l))}).on(`end`,e=>{S&&=(f?.(e,{...m}),i?.({...m}),!1)});a.call(C)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var zo=e(s(),1),Bo=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},Vo=e=>e?Bo(e):Bo,{useDebugValue:Ho}=w.default,{useSyncExternalStoreWithSelector:Uo}=zo.default,Wo=e=>e;function Go(e,t=Wo,n){let r=Uo(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Ho(r),r}var Ko=(e,t)=>{let n=Vo(e),r=(e,r=t)=>Go(n,e,r);return Object.assign(r,n),r},qo=(e,t)=>e?Ko(e,t):Ko;function Z(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}r();var Jo=(0,w.createContext)(null),Yo=Jo.Provider,Xo=Y.error001(`react`);function Q(e,t){let n=(0,w.useContext)(Jo);if(n===null)throw Error(Xo);return Go(n,e,t)}function $(){let e=(0,w.useContext)(Jo);if(e===null)throw Error(Xo);return(0,w.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var Zo={display:`none`},Qo={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},$o=`react-flow__node-desc`,es=`react-flow__edge-desc`,ts=`react-flow__aria-live`,ns=e=>e.ariaLiveMessage,rs=e=>e.ariaLabelConfig;function is({rfId:e}){let t=Q(ns);return(0,T.jsx)(`div`,{id:`${ts}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:Qo,children:t})}function as({rfId:e,disableKeyboardA11y:t}){let n=Q(rs);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{id:`${$o}-${e}`,style:Zo,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,T.jsx)(`div`,{id:`${es}-${e}`,style:Zo,children:n[`edge.a11yDescription.default`]}),!t&&(0,T.jsx)(is,{rfId:e})]})}var os=(0,w.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>(0,T.jsx)(`div`,{className:E([`react-flow__panel`,n,...`${e}`.split(`-`)]),style:r,ref:a,...i,children:t}));os.displayName=`Panel`;var ss=`https://reactflow.dev?utm_source=attribution`;function cs({proOptions:e,position:t=`bottom-right`}){return e?.hideAttribution?null:(0,T.jsx)(os,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${ss}`,children:(0,T.jsx)(`a`,{href:ss,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var ls=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},us=e=>e.id;function ds(e,t){return Z(e.selectedNodes.map(us),t.selectedNodes.map(us))&&Z(e.selectedEdges.map(us),t.selectedEdges.map(us))}function fs({onSelectionChange:e}){let t=$(),{selectedNodes:n,selectedEdges:r}=Q(ls,ds);return(0,w.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var ps=e=>!!e.onSelectionChangeHandlers;function ms({onSelectionChange:e}){let t=Q(ps);return e||t?(0,T.jsx)(fs,{onSelectionChange:e}):null}var hs=[0,0],gs={x:0,y:0,zoom:1},_s=[...`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`.split(`.`),`rfId`],vs=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}),ys={translateExtent:$r,nodeOrigin:hs,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function bs(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=Q(vs,Z),l=$();(0,w.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=ys,s()}),[]);let u=(0,w.useRef)(ys);return(0,w.useEffect)(()=>{for(let s of _s){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:Qi(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},_s.map(t=>e[t])),null}function xs(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Ss(e){let[t,n]=(0,w.useState)(e===`system`?null:e);return(0,w.useEffect)(()=>{if(e!==`system`){n(e);return}let t=xs(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?xs()?.matches?`dark`:`light`:t}var Cs=typeof document<`u`?document:null;function ws(e=null,t={target:Cs,actInsideInputWithModifier:!0}){let[n,r]=(0,w.useState)(!1),i=(0,w.useRef)(!1),a=(0,w.useRef)(new Set([])),[o,s]=(0,w.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(`+`,`
|
|
1
|
+
import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t,t as n}from"./jsx-runtime-BbYvbtY8.js";import{t as r}from"./react-dom-DDD8FYaU.js";import{a as i,i as a,n as o,o as s,r as c,t as l}from"./value-DtOOK0wQ.js";var u=180/Math.PI,d={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function f(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*u,skewX:Math.atan(c)*u,scaleX:o,scaleY:s}}var p;function m(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?d:f(t.a,t.b,t.c,t.d,t.e,t.f)}function h(e){return e==null||(p||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),p.setAttribute(`transform`,e),!(e=p.transform.baseVal.consolidate()))?d:(e=e.matrix,f(e.a,e.b,e.c,e.d,e.e,e.f))}function g(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var l=o.push(`translate(`,null,t,null,n);s.push({i:l-4,x:c(e,i)},{i:l-2,x:c(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:c(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:c(e,t)})}function l(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:c(e,n)},{i:s-2,x:c(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),l(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var _=g(m,`px, `,`px)`,`deg)`),v=g(h,`, `,`)`,`)`),y=1e-12;function b(e){return((e=Math.exp(e))+1/e)/2}function x(e){return((e=Math.exp(e))-1/e)/2}function S(e){return((e=Math.exp(2*e))-1)/(e+1)}var C=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<y)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),C=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-C)/t,m=function(e){var r=e*h,i=b(C),c=s/(n*g)*(i*S(t*r+C)-x(C));return[a+c*d,o+c*f,s*i/b(t*r+C)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),w=e(t(),1),T=n();function E(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=E(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var D={value:()=>{}};function O(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new k(n)}function k(e){this._=e}function A(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}k.prototype=O.prototype={constructor:k,on:function(e,t){var n=this._,r=A(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=j(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=M(n[i],e.name,t);else if(t==null)for(i in n)n[i]=M(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new k(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function j(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function M(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=D,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var N={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function P(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),N.hasOwnProperty(t)?{space:N[t],local:e}:e}function F(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function I(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function L(e){var t=P(e);return(t.local?I:F)(t)}function R(){}function z(e){return e==null?R:function(){return this.querySelector(e)}}function B(e){typeof e!=`function`&&(e=z(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new K(r,this._parents)}function V(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function H(){return[]}function U(e){return e==null?H:function(){return this.querySelectorAll(e)}}function W(e){return function(){return V(e.apply(this,arguments))}}function G(e){e=typeof e==`function`?W(e):U(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new K(r,i)}function ee(e){return function(){return this.matches(e)}}function te(e){return function(t){return t.matches(e)}}var ne=Array.prototype.find;function re(e){return function(){return ne.call(this.children,e)}}function ie(){return this.firstElementChild}function ae(e){return this.select(e==null?ie:re(typeof e==`function`?e:te(e)))}var oe=Array.prototype.filter;function se(){return Array.from(this.children)}function ce(e){return function(){return oe.call(this.children,e)}}function le(e){return this.selectAll(e==null?se:ce(typeof e==`function`?e:te(e)))}function ue(e){typeof e!=`function`&&(e=ee(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new K(r,this._parents)}function de(e){return Array(e.length)}function fe(){return new K(this._enter||this._groups.map(de),this._parents)}function pe(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}pe.prototype={constructor:pe,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 me(e){return function(){return e}}function he(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new pe(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function ge(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new pe(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function _e(e){return e.__data__}function ve(e,t){if(!arguments.length)return Array.from(this,_e);var n=t?ge:he,r=this._parents,i=this._groups;typeof e!=`function`&&(e=me(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=ye(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new K(o,r),o._enter=s,o._exit=c,o}function ye(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function be(){return new K(this._exit||this._groups.map(de),this._parents)}function xe(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Se(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new K(s,this._parents)}function Ce(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function we(e){e||=Te;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new K(i,this._parents).order()}function Te(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ee(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function De(){return Array.from(this)}function Oe(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function ke(){let e=0;for(let t of this)++e;return e}function Ae(){return!this.node()}function je(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Me(e){return function(){this.removeAttribute(e)}}function Ne(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Pe(e,t){return function(){this.setAttribute(e,t)}}function Fe(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Ie(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Le(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 Re(e,t){var n=P(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Ne:Me:typeof t==`function`?n.local?Le:Ie:n.local?Fe:Pe)(n,t))}function ze(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Be(e){return function(){this.style.removeProperty(e)}}function Ve(e,t,n){return function(){this.style.setProperty(e,t,n)}}function He(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Ue(e,t,n){return arguments.length>1?this.each((t==null?Be:typeof t==`function`?He:Ve)(e,t,n??``)):We(this.node(),e)}function We(e,t){return e.style.getPropertyValue(t)||ze(e).getComputedStyle(e,null).getPropertyValue(t)}function Ge(e){return function(){delete this[e]}}function Ke(e,t){return function(){this[e]=t}}function qe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Je(e,t){return arguments.length>1?this.each((t==null?Ge:typeof t==`function`?qe:Ke)(e,t)):this.node()[e]}function Ye(e){return e.trim().split(/^|\s+/)}function Xe(e){return e.classList||new Ze(e)}function Ze(e){this._node=e,this._names=Ye(e.getAttribute(`class`)||``)}Ze.prototype={add:function(e){this._names.indexOf(e)<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 Qe(e,t){for(var n=Xe(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function $e(e,t){for(var n=Xe(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function et(e){return function(){Qe(this,e)}}function tt(e){return function(){$e(this,e)}}function nt(e,t){return function(){(t.apply(this,arguments)?Qe:$e)(this,e)}}function rt(e,t){var n=Ye(e+``);if(arguments.length<2){for(var r=Xe(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?nt:t?et:tt)(n,t))}function it(){this.textContent=``}function at(e){return function(){this.textContent=e}}function ot(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function st(e){return arguments.length?this.each(e==null?it:(typeof e==`function`?ot:at)(e)):this.node().textContent}function ct(){this.innerHTML=``}function lt(e){return function(){this.innerHTML=e}}function ut(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function dt(e){return arguments.length?this.each(e==null?ct:(typeof e==`function`?ut:lt)(e)):this.node().innerHTML}function ft(){this.nextSibling&&this.parentNode.appendChild(this)}function pt(){return this.each(ft)}function mt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ht(){return this.each(mt)}function gt(e){var t=typeof e==`function`?e:L(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function _t(){return null}function vt(e,t){var n=typeof e==`function`?e:L(e),r=t==null?_t:typeof t==`function`?t:z(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function yt(){var e=this.parentNode;e&&e.removeChild(this)}function bt(){return this.each(yt)}function xt(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function St(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Ct(e){return this.select(e?St:xt)}function wt(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function Tt(e){return function(t){e.call(this,t,this.__data__)}}function Et(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function Dt(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function Ot(e,t,n){return function(){var r=this.__on,i,a=Tt(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function kt(e,t,n){var r=Et(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?Ot:Dt,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function At(e,t,n){var r=ze(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function jt(e,t){return function(){return At(this,e,t)}}function Mt(e,t){return function(){return At(this,e,t.apply(this,arguments))}}function Nt(e,t){return this.each((typeof t==`function`?Mt:jt)(e,t))}function*Pt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var Ft=[null];function K(e,t){this._groups=e,this._parents=t}function It(){return new K([[document.documentElement]],Ft)}function Lt(){return this}K.prototype=It.prototype={constructor:K,select:B,selectAll:G,selectChild:ae,selectChildren:le,filter:ue,data:ve,enter:fe,exit:be,join:xe,merge:Se,selection:Lt,order:Ce,sort:we,call:Ee,nodes:De,node:Oe,size:ke,empty:Ae,each:je,attr:Re,style:Ue,property:Je,classed:rt,text:st,html:dt,raise:pt,lower:ht,append:gt,insert:vt,remove:bt,clone:Ct,datum:wt,on:kt,dispatch:Nt,[Symbol.iterator]:Pt};function q(e){return typeof e==`string`?new K([[document.querySelector(e)]],[document.documentElement]):new K([[e]],Ft)}function Rt(e){let t;for(;t=e.sourceEvent;)e=t;return e}function J(e,t){if(e=Rt(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var zt={passive:!1},Bt={capture:!0,passive:!1};function Vt(e){e.stopImmediatePropagation()}function Ht(e){e.preventDefault(),e.stopImmediatePropagation()}function Ut(e){var t=e.document.documentElement,n=q(e).on(`dragstart.drag`,Ht,Bt);`onselectstart`in t?n.on(`selectstart.drag`,Ht,Bt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Wt(e,t){var n=e.document.documentElement,r=q(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,Ht,Bt),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Gt=e=>()=>e;function Kt(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,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:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Kt.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function qt(e){return!e.ctrlKey&&!e.button}function Jt(){return this.parentNode}function Yt(e,t){return t??{x:e.x,y:e.y}}function Xt(){return navigator.maxTouchPoints||`ontouchstart`in this}function Zt(){var e=qt,t=Jt,n=Yt,r=Xt,i={},a=O(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,zt).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(q(n.view).on(`mousemove.drag`,m,Bt).on(`mouseup.drag`,h,Bt),Ut(n.view),Vt(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(Ht(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){q(e.view).on(`mousemove.drag mouseup.drag`,null),Wt(e.view,l),Ht(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(Vt(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(Ht(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Vt(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=J(l||r,t),p,m,h;if((h=n.call(e,new Kt(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=J(l||a,t),_=o;break}u.call(r,e,new Kt(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Gt(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Gt(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Gt(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Gt(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}var Qt=0,$t=0,en=0,tn=1e3,nn,rn,an=0,on=0,sn=0,cn=typeof performance==`object`&&performance.now?performance:Date,ln=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function un(){return on||=(ln(dn),cn.now()+sn)}function dn(){on=0}function fn(){this._call=this._time=this._next=null}fn.prototype=pn.prototype={constructor:fn,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?un():+n)+(t==null?0:+t),!this._next&&rn!==this&&(rn?rn._next=this:nn=this,rn=this),this._call=e,this._time=n,vn()},stop:function(){this._call&&(this._call=null,this._time=1/0,vn())}};function pn(e,t,n){var r=new fn;return r.restart(e,t,n),r}function mn(){un(),++Qt;for(var e=nn,t;e;)(t=on-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Qt}function hn(){on=(an=cn.now())+sn,Qt=$t=0;try{mn()}finally{Qt=0,_n(),on=0}}function gn(){var e=cn.now(),t=e-an;t>tn&&(sn-=t,an=e)}function _n(){for(var e,t=nn,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:nn=n);rn=e,vn(r)}function vn(e){Qt||($t&&=clearTimeout($t),e-on>24?(e<1/0&&($t=setTimeout(hn,e-cn.now()-sn)),en&&=clearInterval(en)):(en||=(an=cn.now(),setInterval(gn,tn)),Qt=1,ln(hn)))}function yn(e,t,n){var r=new fn;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var bn=O(`start`,`end`,`cancel`,`interrupt`),xn=[];function Sn(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;En(e,n,{name:t,index:r,group:i,on:bn,tween:xn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Cn(e,t){var n=Tn(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function wn(e,t){var n=Tn(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Tn(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function En(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=pn(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return yn(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(yn(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Dn(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function On(e){return this.each(function(){Dn(this,e)})}function kn(e,t){var n,r;return function(){var i=wn(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function An(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=wn(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function jn(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Tn(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?kn:An)(n,e,t))}function Mn(e,t,n){var r=e._id;return e.each(function(){var e=wn(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Tn(e,r).value[t]}}function Nn(e,t){var n;return(typeof t==`number`?c:t instanceof i?a:(n=i(t))?(t=n,a):o)(e,t)}function Pn(e){return function(){this.removeAttribute(e)}}function Fn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function In(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ln(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Rn(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function zn(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Bn(e,t){var n=P(e),r=n===`transform`?v:Nn;return this.attrTween(e,typeof t==`function`?(n.local?zn:Rn)(n,r,Mn(this,`attr.`+e,t)):t==null?(n.local?Fn:Pn)(n):(n.local?Ln:In)(n,r,t))}function Vn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Hn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Un(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Hn(e,i)),n}return i._value=t,i}function Wn(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Vn(e,i)),n}return i._value=t,i}function Gn(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 Error();var r=P(e);return this.tween(n,(r.local?Un:Wn)(r,t))}function Kn(e,t){return function(){Cn(this,e).delay=+t.apply(this,arguments)}}function qn(e,t){return t=+t,function(){Cn(this,e).delay=t}}function Jn(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Kn:qn)(t,e)):Tn(this.node(),t).delay}function Yn(e,t){return function(){wn(this,e).duration=+t.apply(this,arguments)}}function Xn(e,t){return t=+t,function(){wn(this,e).duration=t}}function Zn(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Yn:Xn)(t,e)):Tn(this.node(),t).duration}function Qn(e,t){if(typeof t!=`function`)throw Error();return function(){wn(this,e).ease=t}}function $n(e){var t=this._id;return arguments.length?this.each(Qn(t,e)):Tn(this.node(),t).ease}function er(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();wn(this,e).ease=n}}function tr(e){if(typeof e!=`function`)throw Error();return this.each(er(this._id,e))}function nr(e){typeof e!=`function`&&(e=ee(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new jr(r,this._parents,this._name,this._id)}function rr(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new jr(o,this._parents,this._name,this._id)}function ir(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ar(e,t,n){var r,i,a=ir(t)?Cn:wn;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function or(e,t){var n=this._id;return arguments.length<2?Tn(this.node(),n).on.on(e):this.each(ar(n,e,t))}function sr(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function cr(){return this.on(`end.remove`,sr(this._id))}function lr(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=z(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Sn(l[f],t,n,f,l,Tn(u,n)));return new jr(a,this._parents,t,n)}function ur(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=U(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Tn(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Sn(p,t,n,h,f,m);a.push(f),o.push(u)}return new jr(a,o,t,n)}var dr=It.prototype.constructor;function fr(){return new dr(this._groups,this._parents)}function pr(e,t){var n,r,i;return function(){var a=We(this,e),o=(this.style.removeProperty(e),We(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function mr(e){return function(){this.style.removeProperty(e)}}function hr(e,t,n){var r,i=n+``,a;return function(){var o=We(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function gr(e,t,n){var r,i,a;return function(){var o=We(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),We(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function _r(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=wn(this,e),l=c.on,u=c.value[a]==null?s||=mr(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function vr(e,t,n){var r=(e+=``)==`transform`?_:Nn;return t==null?this.styleTween(e,pr(e,r)).on(`end.style.`+e,mr(e)):typeof t==`function`?this.styleTween(e,gr(e,r,Mn(this,`style.`+e,t))).each(_r(this._id,e)):this.styleTween(e,hr(e,r,t),n).on(`end.style.`+e,null)}function yr(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function br(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&yr(e,a,n)),r}return a._value=t,a}function xr(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,br(e,t,n??``))}function Sr(e){return function(){this.textContent=e}}function Cr(e){return function(){var t=e(this);this.textContent=t??``}}function wr(e){return this.tween(`text`,typeof e==`function`?Cr(Mn(this,`text`,e)):Sr(e==null?``:e+``))}function Tr(e){return function(t){this.textContent=e.call(this,t)}}function Er(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Tr(r)),t}return r._value=e,r}function Dr(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 Error();return this.tween(t,Er(e))}function Or(){for(var e=this._name,t=this._id,n=Nr(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Tn(c,t);Sn(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new jr(r,this._parents,e,n)}function kr(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=wn(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ar=0;function jr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Mr(e){return It().transition(e)}function Nr(){return++Ar}var Pr=It.prototype;jr.prototype=Mr.prototype={constructor:jr,select:lr,selectAll:ur,selectChild:Pr.selectChild,selectChildren:Pr.selectChildren,filter:nr,merge:rr,selection:fr,transition:Or,call:Pr.call,nodes:Pr.nodes,node:Pr.node,size:Pr.size,empty:Pr.empty,each:Pr.each,on:or,attr:Bn,attrTween:Gn,style:vr,styleTween:xr,text:wr,textTween:Dr,remove:cr,tween:jn,delay:Jn,duration:Zn,ease:$n,easeVarying:tr,end:kr,[Symbol.iterator]:Pr[Symbol.iterator]};function Fr(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ir={time:null,delay:0,duration:250,ease:Fr};function Lr(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Rr(e){var t,n;e instanceof jr?(t=e._id,e=e._name):(t=Nr(),(n=Ir).time=un(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Sn(c,e,t,l,o,n||Lr(c,t));return new jr(r,this._parents,e,t)}It.prototype.interrupt=On,It.prototype.transition=Rr;var zr=e=>()=>e;function Br(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Vr(e,t,n){this.k=e,this.x=t,this.y=n}Vr.prototype={constructor:Vr,scale:function(e){return e===1?this:new Vr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Vr(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 Hr=new Vr(1,0,0);Ur.prototype=Vr.prototype;function Ur(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Hr;return e.__zoom}function Wr(e){e.stopImmediatePropagation()}function Gr(e){e.preventDefault(),e.stopImmediatePropagation()}function Kr(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function qr(){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 Jr(){return this.__zoom||Hr}function Yr(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Xr(){return navigator.maxTouchPoints||`ontouchstart`in this}function Zr(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function Qr(){var e=Kr,t=qr,n=Zr,r=Yr,i=Xr,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=C,l=O(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,Jr).on(`wheel.zoom`,T,{passive:!1}).on(`mousedown.zoom`,E).on(`dblclick.zoom`,D).filter(i).on(`touchstart.zoom`,k).on(`touchmove.zoom`,A).on(`touchend.zoom touchcancel.zoom`,j).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,Jr),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(Hr.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Vr(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Vr(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Vr(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=q(this.that).datum();l.call(e,this.that,new Br(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function T(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=J(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],Dn(this),s.start();Gr(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function E(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=q(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=J(t,i),l=t.clientX,u=t.clientY;Ut(t.view),Wr(t),a.mouse=[c,this.__zoom.invert(c)],Dn(this),a.start();function d(e){if(Gr(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=J(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),Wt(e.view,a.moved),Gr(e),a.event(e).end()}}function D(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=J(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);Gr(r),s>0?q(this).transition().duration(s).call(x,d,c,r):q(this).call(_.transform,d,c,r)}}function k(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(Wr(t),s=0;s<i;++s)c=r[s],l=J(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),Dn(this),a.start())}}function A(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(Gr(e),s=0;s<a;++s)c=i[s],l=J(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function j(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(Wr(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=J(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=q(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:zr(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:zr(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:zr(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:zr([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var Y={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.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 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:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", 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.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},$r=[[-1/0,-1/0],[1/0,1/0]],ei=[`Enter`,` `,`Escape`],ti={"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`},ni;(function(e){e.Strict=`strict`,e.Loose=`loose`})(ni||={});var ri;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(ri||={});var ii;(function(e){e.Partial=`partial`,e.Full=`full`})(ii||={});var ai={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},oi;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(oi||={});var si;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(si||={});var X;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(X||={});var ci={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top};function li(e){return e===null?null:e?`valid`:`invalid`}var ui=e=>`id`in e&&`source`in e&&`target`in e,di=e=>`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),fi=e=>`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),pi=(e,t=[0,0])=>{let{width:n,height:r}=qi(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},mi=(e,t={nodeOrigin:[0,0]})=>e.length===0?{x:0,y:0,width:0,height:0}:ki(e.reduce((e,n)=>{let r=typeof n==`string`,i=!t.nodeLookup&&!r?n:void 0;return t.nodeLookup&&(i=r?t.nodeLookup.get(n):fi(n)?n:t.nodeLookup.get(n.id)),Di(e,i?ji(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),hi=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=Di(n,ji(e)),r=!0)}),r?ki(n):{x:0,y:0,width:0,height:0}},gi=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=Ni(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},_i=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function vi(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{e.measured.width&&e.measured.height&&(t?.includeHiddenNodes||!e.hidden)&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function yi({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=Wi(hi(vi(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function bi({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent)if(!s)a?.(`005`,Y.error005());else{let e=s.measured.width,t=s.measured.height;e&&t&&(d=[[c,l],[c+e,l+t]])}else s&&Ki(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=Ki(d)?Ci(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,Y.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function xi({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=_i(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var Si=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Ci=(e={x:0,y:0},t,n)=>({x:Si(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Si(e.y,t[0][1],t[1][1]-(n?.height??0))});function wi(e,t,n){let{width:r,height:i}=qi(n),{x:a,y:o}=n.internals.positionAbsolute;return Ci(e,[[a,o],[a+r,o+i]],t)}var Ti=(e,t,n)=>e<t?Si(Math.abs(e-t),1,t)/t:e>n?-Si(Math.abs(e-n),1,t)/t:0,Ei=(e,t,n=15,r=40)=>[Ti(e.x,r,t.width-r)*n,Ti(e.y,r,t.height-r)*n],Di=(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)}),Oi=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ki=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Ai=(e,t=[0,0])=>{let{x:n,y:r}=fi(e)?e.internals.positionAbsolute:pi(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},ji=(e,t=[0,0])=>{let{x:n,y:r}=fi(e)?e.internals.positionAbsolute:pi(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Mi=(e,t)=>ki(Di(Oi(e),Oi(t))),Ni=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},Pi=(e,t)=>Ni(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Fi=e=>Ii(e.width)&&Ii(e.height)&&Ii(e.x)&&Ii(e.y),Ii=e=>!isNaN(e)&&isFinite(e),Li=(e,t)=>(e,t)=>{},Ri=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),zi=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?Ri(s,o):s},Bi=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function Vi(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Hi(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=Vi(e,n),i=Vi(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=Vi(e.top??e.y??0,n),i=Vi(e.bottom??e.y??0,n),a=Vi(e.left??e.x??0,t),o=Vi(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Ui(e,t,n,r,i,a){let{x:o,y:s}=Bi(e,[t,n,r]),{x:c,y:l}=Bi({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var Wi=(e,t,n,r,i,a)=>{let o=Hi(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=Si(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=Ui(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},Gi=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function Ki(e){return e!=null&&e!==`parent`}function qi(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Ji(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Yi(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function Xi(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Zi(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Qi(e){return{...ti,...e||{}}}function $i(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=aa(e),s=zi({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?Ri(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var ea=e=>({width:e.offsetWidth,height:e.offsetHeight}),ta=e=>e?.getRootNode?.()||window?.document,na=[`INPUT`,`SELECT`,`TEXTAREA`];function ra(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?na.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var ia=e=>`clientX`in e,aa=(e,t)=>{let n=ia(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},oa=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...ea(t)}})};function sa({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function ca(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function la({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case X.Left:return[t-ca(t-r,a),n];case X.Right:return[t+ca(r-t,a),n];case X.Top:return[t,n-ca(n-i,a)];case X.Bottom:return[t,n+ca(i-n,a)]}}function ua({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,curvature:o=.25}){let[s,c]=la({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=la({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=sa({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function da({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function fa({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function pa({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=Di(ji(e),ji(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),Pi({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},ki(a))>0}var ma=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,ha=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),ga=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,Y.error006()),t;let r=n.getEdgeId||ma,i;return i=ui(e)?{...e}:{...e,id:r(e)},ha(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function _a({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=da({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var va={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},ya=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},ba=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function xa({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:i,offset:a,stepPosition:o}){let s=va[t],c=va[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=ya({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=da({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function Sa(e,t,n,r){let i=Math.min(ba(e,t)/2,ba(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function Ca({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=xa({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=Sa(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function wa(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Ta(e){let{sourceNode:t,targetNode:n}=e;if(!wa(t)||!wa(n))return null;let r=t.internals.handleBounds||Ea(t.handles),i=n.internals.handleBounds||Ea(n.handles),a=Oa(r?.source??[],e.sourceHandle),o=Oa(e.connectionMode===ni.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,Y.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||X.Bottom,c=o?.position||X.Top,l=Da(t,a,s),u=Da(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function Ea(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function Da(e,t,n=X.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??qi(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case X.Top:return{x:i+o/2,y:a};case X.Right:return{x:i+o,y:a+s/2};case X.Bottom:return{x:i+o/2,y:a+s};case X.Left:return{x:i,y:a+s/2}}}function Oa(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function ka(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function Aa(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=ka(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var ja=1e3,Ma=10,Na={nodeOrigin:[0,0],nodeExtent:$r,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Pa={...Na,checkEquality:!0};function Fa(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function Ia(e,t,n){let r=Fa(Na,n);for(let n of e.values())if(n.parentId)Va(n,e,t,r);else{let e=Ci(pi(n,r.nodeOrigin),Ki(n.extent)?n.extent:r.nodeExtent,qi(n));n.internals.positionAbsolute=e}}function La(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function Ra(e){return e===`manual`}function za(e,t,n,r={}){let i=Fa(Pa,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!Ra(i.zIndexMode)?ja:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=Ci(pi(u,i.nodeOrigin),Ki(u.extent)?u.extent:i.nodeExtent,qi(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:La(u,e),z:Ha(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&Va(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Ba(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Va(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=Fa(Na,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Ba(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Ma),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=Ua(e,u,o,s,a&&!Ra(c)?ja:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function Ha(e,t,n){let r=Ii(e.zIndex)?e.zIndex:0;return Ra(n)?r:r+(e.selected?t:0)}function Ua(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=qi(e),l=pi(e,n),u=Ki(e.extent)?Ci(l,e.extent,c):l,d=Ci({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=wi(d,c,t));let f=Ha(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function Wa(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=Mi(a.get(n.parentId)?.expandedRect??Ai(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=qi(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function Ga(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=ea(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=Ki(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;e.parentId&&e.extent===`parent`?h=wi(h,s,t.get(e.parentId)):m&&(h=Ci(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:oa(`source`,r.nodeElement,p,d,e.id),target:oa(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&Va(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Ai(g,i)}))}}if(f.length>0){let e=Wa(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function Ka({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function qa(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function Ja(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;qa(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),qa(`target`,s,c,e,i,o),t.set(r.id,r)}}function Ya(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:Ya(n,t):!1}function Xa(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function Za(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!Ya(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function Qa({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function $a({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=Ri(a,t);return{x:o.x-a.x,y:o.y-a.y}}function eo({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=q(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?Oi(hi(s)):null,x=v&&l?$a({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:Ri(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=bi({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=Qa({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=Ei(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=$i(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=Za(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=Qa({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=Zt().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=$i(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=aa(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=$i(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=aa(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=aa(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p){p&&s.size>0&&t().updateNodePositions(s,!1);return}if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=Qa({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!Xa(t,`.${g}`,v))&&(!_||Xa(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function to(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())Pi(i,Ai(e))>0&&r.push(e);return r}var no=250;function ro(e,t,n,r){let i=[],a=1/0,o=to(e,n,t+no);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=Da(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function io(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...Da(o,c,c.position,!0)}:c}function ao(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function oo(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var so=()=>!0;function co(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=so,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=ta(e.target),E=0,D,{x:O,y:k}=aa(e),A=ao(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=io(i,A,r,c,t);if(!N)return;let P=aa(e,j),F=!1,I=null,L=!1,R=null;function z(){if(!u||!j)return;let[e,t]=Ei(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(z)}let B={...N,nodeId:i,type:A,position:N.position},V=c.get(i),H={inProgress:!0,isValid:null,from:Da(V,B,X.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:V,to:P,toHandle:null,toPosition:ci[B.position],toNode:null,pointer:P};function U(){M=!0,y(H),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&U();function W(e){if(!M){let{x:t,y:n}=aa(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;U()}if(!x()||!B){G(e);return}let a=b();P=aa(e,j),D=ro(zi(P,a,!1,[1,1]),n,c,B),F||=(z(),!0);let s=lo(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});R=s.handleDomNode,I=s.connection,L=oo(!!D,s.isValid);let u=c.get(i),f=u?Da(u,B,X.Left,!0):H.from,p={...H,from:f,isValid:L,to:s.toHandle&&L?Bi({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:L&&s.toHandle?s.toHandle.position:ci[B.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),H=p}function G(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||R)&&I&&L&&h?.(I);let{inProgress:t,...n}=H,r={...n,toPosition:H.toHandle?H.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,L=!1,I=null,R=null,T.removeEventListener(`mousemove`,W),T.removeEventListener(`mouseup`,G),T.removeEventListener(`touchmove`,W),T.removeEventListener(`touchend`,G)}}T.addEventListener(`mousemove`,W),T.addEventListener(`mouseup`,G),T.addEventListener(`touchmove`,W),T.addEventListener(`touchend`,G)}function lo(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=so,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=aa(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=ao(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===ni.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=io(t,e,a,u,n,!0)}return _}var uo={onPointerDown:co,isValid:lo};function fo({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=q(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&Gi()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=Qr().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:J}}var po=e=>({x:e.x,y:e.y,zoom:e.k}),mo=({x:e,y:t,zoom:n})=>Hr.translate(e,t).scale(n),ho=(e,t)=>e.target.closest(`.${t}`),go=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),_o=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,vo=(e,t=0,n=_o,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},yo=e=>{let t=e.ctrlKey&&Gi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function bo({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(ho(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=J(u),t=d*2**yo(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===ri.Vertical?0:u.deltaX*f,m=i===ri.Horizontal?0:u.deltaY*f;!Gi()&&u.shiftKey&&i!==ri.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=po(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(u,h),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,s?.(u,h))}}function xo({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=ho(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function So({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=po(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function Co({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&go(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,po(a.transform))}}function wo({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&go(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=po(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function To({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:a,userSelectionActive:o,noWheelClassName:s,noPanClassName:c,lib:l,connectionInProgress:u}){return d=>{let f=e||t,p=n&&d.ctrlKey,m=d.type===`wheel`;if(d.button===1&&d.type===`mousedown`&&(ho(d,`${l}-flow__node`)||ho(d,`${l}-flow__edge`)))return!0;if(!r&&!f&&!i&&!a&&!n||o||u&&!m||ho(d,s)&&m||ho(d,c)&&(!m||i&&m&&!e)||!n&&d.ctrlKey&&m)return!1;if(!n&&d.type===`touchstart`&&d.touches?.length>1)return d.preventDefault(),!1;if(!f&&!i&&!p&&m||!r&&(d.type===`mousedown`||d.type===`touchstart`)||Array.isArray(r)&&!r.includes(d.button)&&d.type===`mousedown`)return!1;let h=Array.isArray(r)&&r.includes(d.button)||!d.button||d.button<=1;return(!d.ctrlKey||m)&&h}}function Eo({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=Qr().scaleExtent([t,n]).translateExtent(r),p=q(e).call(f);y({x:i.x,y:i.y,zoom:Si(i.zoom,t,n)},[[0,0],[d.width,d.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(yo);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?l:C).transform(vo(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:l,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,zoomActivationKeyPressed:S,lib:C,onTransformChange:w,connectionInProgress:T,paneClickDistance:E,selectionOnDrag:D}){r&&!u.isZoomingOrPanning&&v();let O=i&&!S&&!r;f.clickDistance(D?1/0:!Ii(E)||E<0?0:E);let k=O?bo({zoomPanValues:u,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):xo({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,k,{passive:!1});let A=So({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,A);let j=Co({zoomPanValues:u,panOnDrag:l,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:w});f.on(`zoom`,j);let M=wo({zoomPanValues:u,panOnDrag:l,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,M);let N=To({zoomActivationKeyPressed:S,panOnDrag:l,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:C,connectionInProgress:T});f.filter(N),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=mo(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=mo(e);return await g(n,t),n}function x(e){if(p){let t=mo(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?Ur(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?l:C).scaleTo(vo(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function T(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?l:C).scaleBy(vo(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function E(e){f?.scaleExtent(e)}function D(e){f?.translateExtent(e)}function O(e){let t=!Ii(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:w,scaleBy:T,setScaleExtent:E,setTranslateExtent:D,syncViewport:x,setClickDistance:O}}var Do;(function(e){e.Line=`line`,e.Handle=`handle`})(Do||={});function Oo({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function ko(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function Ao(e,t){return Math.max(0,t-e)}function jo(e,t){return Math.max(0,e-t)}function Mo(e,t,n){return Math.max(0,t-e,e-n)}function No(e,t){return e?!t:t}function Po(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=Mo(E,h,g),j=Mo(D,_,v);if(o){let e=0,t=0;c&&w<0?e=Ao(y+w+O,o[0][0]):!c&&w>0&&(e=jo(y+E+O,o[1][0])),l&&T<0?t=Ao(b+T+k,o[0][1]):!l&&T>0&&(t=jo(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=jo(y+w,s[0][0]):!c&&w<0&&(e=Ao(y+E,s[1][0])),l&&T>0?t=jo(b+T,s[0][1]):!l&&T<0&&(t=Ao(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=Mo(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?jo(b+k+E/C,o[1][1])*C:Ao(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?Ao(b+E/C,s[1][1])*C:jo(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=Mo(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?jo(y+D*C+O,o[1][0])/C:Ao(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?Ao(y+D*C,s[1][0])/C:jo(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(No(c,l)?-w:w)/C:w=(No(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Fo={width:0,height:0,x:0,y:0},Io={...Fo,pointerX:0,pointerY:0,aspectRatio:1};function Lo(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function Ro({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=q(e),o={controlDirection:ko(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Fo},h={...Io};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:ko(e)};let g,_=null,v=[],y,b,x,S=!1,C=Zt().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=$i(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=Ki(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=Lo(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=$i(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:C,height:w}=m,T={},E=g.origin??s,{width:D,height:O,x:k,y:A}=Po(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,E,b,x),j=D!==C,M=O!==w,N=k!==u&&j,P=A!==f&&M;if(!N&&!P&&!j&&!M)return;if((N||P||E[0]===1||E[1]===1)&&(T.x=N?k:m.x,T.y=P?A:m.y,m.x=T.x,m.y=T.y,v.length>0)){let e=k-u,t=A-f;for(let n of v)n.position={x:n.position.x-e+E[0]*(D-C),y:n.position.y-t+E[1]*(O-w)},l.push(n)}if((j||M)&&(T.width=j&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?D:m.width,T.height=M&&(!o.resizeDirection||o.resizeDirection===`vertical`)?O:m.height,m.width=T.width,m.height=T.height),y&&g.expandParent){let e=E[0]*(T.width??0);T.x&&T.x<e&&(m.x=e,h.x-=T.x-e);let t=E[1]*(T.height??0);T.y&&T.y<t&&(m.y=t,h.y-=T.y-t)}let F=Oo({width:m.width,prevWidth:C,height:m.height,prevHeight:w,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)!==!1&&(S=!0,d?.(e,I),r(T,l))}).on(`end`,e=>{S&&=(f?.(e,{...m}),i?.({...m}),!1)});a.call(C)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var zo=e(s(),1),Bo=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},Vo=e=>e?Bo(e):Bo,{useDebugValue:Ho}=w.default,{useSyncExternalStoreWithSelector:Uo}=zo.default,Wo=e=>e;function Go(e,t=Wo,n){let r=Uo(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Ho(r),r}var Ko=(e,t)=>{let n=Vo(e),r=(e,r=t)=>Go(n,e,r);return Object.assign(r,n),r},qo=(e,t)=>e?Ko(e,t):Ko;function Z(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}r();var Jo=(0,w.createContext)(null),Yo=Jo.Provider,Xo=Y.error001(`react`);function Q(e,t){let n=(0,w.useContext)(Jo);if(n===null)throw Error(Xo);return Go(n,e,t)}function $(){let e=(0,w.useContext)(Jo);if(e===null)throw Error(Xo);return(0,w.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var Zo={display:`none`},Qo={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},$o=`react-flow__node-desc`,es=`react-flow__edge-desc`,ts=`react-flow__aria-live`,ns=e=>e.ariaLiveMessage,rs=e=>e.ariaLabelConfig;function is({rfId:e}){let t=Q(ns);return(0,T.jsx)(`div`,{id:`${ts}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:Qo,children:t})}function as({rfId:e,disableKeyboardA11y:t}){let n=Q(rs);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{id:`${$o}-${e}`,style:Zo,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,T.jsx)(`div`,{id:`${es}-${e}`,style:Zo,children:n[`edge.a11yDescription.default`]}),!t&&(0,T.jsx)(is,{rfId:e})]})}var os=(0,w.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>(0,T.jsx)(`div`,{className:E([`react-flow__panel`,n,...`${e}`.split(`-`)]),style:r,ref:a,...i,children:t}));os.displayName=`Panel`;var ss=`https://reactflow.dev?utm_source=attribution`;function cs({proOptions:e,position:t=`bottom-right`}){return e?.hideAttribution?null:(0,T.jsx)(os,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${ss}`,children:(0,T.jsx)(`a`,{href:ss,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var ls=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},us=e=>e.id;function ds(e,t){return Z(e.selectedNodes.map(us),t.selectedNodes.map(us))&&Z(e.selectedEdges.map(us),t.selectedEdges.map(us))}function fs({onSelectionChange:e}){let t=$(),{selectedNodes:n,selectedEdges:r}=Q(ls,ds);return(0,w.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var ps=e=>!!e.onSelectionChangeHandlers;function ms({onSelectionChange:e}){let t=Q(ps);return e||t?(0,T.jsx)(fs,{onSelectionChange:e}):null}var hs=[0,0],gs={x:0,y:0,zoom:1},_s=[...`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`.split(`.`),`rfId`],vs=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}),ys={translateExtent:$r,nodeOrigin:hs,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function bs(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=Q(vs,Z),l=$();(0,w.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=ys,s()}),[]);let u=(0,w.useRef)(ys);return(0,w.useEffect)(()=>{for(let s of _s){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:Qi(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},_s.map(t=>e[t])),null}function xs(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function Ss(e){let[t,n]=(0,w.useState)(e===`system`?null:e);return(0,w.useEffect)(()=>{if(e!==`system`){n(e);return}let t=xs(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?xs()?.matches?`dark`:`light`:t}var Cs=typeof document<`u`?document:null;function ws(e=null,t={target:Cs,actInsideInputWithModifier:!0}){let[n,r]=(0,w.useState)(!1),i=(0,w.useRef)(!1),a=(0,w.useRef)(new Set([])),[o,s]=(0,w.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(`+`,`
|
|
2
2
|
`).replace(`
|
|
3
3
|
|
|
4
4
|
`,`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DtODIU64.js";var t={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DtODIU64.js";var t={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};t.node;var n=e(t);export{n as t};
|
package/client/dist/assets/{project-repositories-Cc3oNv8X.js → project-repositories-CvJf1a6H.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./useSharedWebSocket-
|
|
1
|
+
import{l as e}from"./useSharedWebSocket-CNOvmgTr.js";function t(e){return e?e.repositories?.length?e.repositories:[{id:`primary-${e.id}`,projectId:e.id,name:e.name,path:e.path,isPrimary:!0,kind:`git`,integrationBranch:null,addedAt:e.added_at}]:[]}function n(t,n){let r=`${e}/api/projects/${encodeURIComponent(t)}`;return n?`${r}/repositories/${encodeURIComponent(n)}`:r}export{n,t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-CNC7AqOf.js";import{n as t}from"./jsx-runtime-BbYvbtY8.js";var n=e((e=>{var n=t();function r(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function i(){}var a={d:{f:i,r:function(){throw Error(r(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for(`react.portal`),s=Symbol.for(`react.recoverable`),c=Symbol.for(`react.optimistic_key`);function l(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:r===c?c:``+r,children:e,containerInfo:t,implementation:n}}var u=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function d(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.browser=function(e){return{$$typeof:s,_reason:e}},e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(r(299));return l(e,t,null,n)},e.flushSync=function(e){var t=u.T,n=a.p;try{if(u.T=null,a.p=2,e)return e()}finally{u.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=d(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=d(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}}else t??a.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=d(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=d(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}else a.d.m(e)},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return u.H.useFormState(e,t,n)},e.useFormStatus=function(){return u.H.useHostTransitionStatus()},e.version=`19.3.0`})),r=e(((e,t)=>{function r(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(e){console.error(e)}}r(),t.exports=n()}));export{r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DtODIU64.js";var t={name:`rotate-ccw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DtODIU64.js";var t={name:`arrow-left`,size:24,node:[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]};t.node;var n=e(t),r={name:`save`,size:24,node:[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]};r.node;var i=e(r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DtODIU64.js";var t={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={title:`Lingua`,description:`Lingua della UI per tutto Desktop. Si applica all'istante — nessun riavvio necessario.`,selectLabel:`Lingua dell'interfaccia`,updateFailed:`Impossibile salvare la preferenza di lingua`},t={title:`Impostazioni progetto`},n={saveFailed:`Salvataggio non riuscito: {{message}}`},r={title:`Telemetria della pipeline`,description:`Cattura l'uso dei token, le durate delle fasi e l'attività dei subagent per l'export diagnostico. Attivata per impostazione predefinita.`,toggleLabel:`Abilita la telemetria della pipeline`,toggleDescription:`Quando attiva, i dati OTEL dei job della pipeline vengono catturati localmente. Usa il pulsante <mono>Esporta diagnostica</mono> su qualsiasi card di job per scaricarli.`,enabled:`Telemetria della pipeline abilitata`,disabled:`Telemetria della pipeline disabilitata`,saveFailed:`Salvataggio dell'impostazione di telemetria non riuscito`},i={title:`Pre-prompt dei rail`,description:`Istruzioni extra specifiche del progetto aggiunte ai job rail di implement dopo il contesto del ticket e prima dell'esecuzione.`,label:`Pre-prompt`,placeholder:`Esempio: preferisci modifiche incrementali, mantieni le migrazioni retrocompatibili e aggiungi test per ogni modifica del rail.`,helper:`Usalo per indicazioni stabili di progetto che devono accompagnare ogni run di implementazione su rail.`,saveButton:`Salva pre-prompt`,cleared:`Pre-prompt rimosso`,saved:`Pre-prompt salvato`,saveFailed:`Salvataggio del pre-prompt non riuscito`},a={title:`Pre-prompt Freestyle`,description:`Istruzione inviata al provider selezionato in Freestyle. Freestyle salta la pipeline OpenSpec — consegna al provider questo pre-prompt più il testo della spec e lo lascia implementare in autonomia. Lascia vuoto per usare il default integrato.`,label:`Pre-prompt Freestyle`,placeholder:`Lascia vuoto per usare l'istruzione Freestyle predefinita.`,helper:`Il testo della spec viene aggiunto automaticamente dopo questo pre-prompt. Vuoto = default.`,saveButton:`Salva pre-prompt Freestyle`,resetToDefault:`Pre-prompt Freestyle ripristinato al default`,saved:`Pre-prompt Freestyle salvato`,saveFailed:`Salvataggio del pre-prompt Freestyle non riuscito`},o={title:`Budget`,description:`Imposta un tetto di spesa giornaliero per questo progetto. La coda si mette in pausa automaticamente al raggiungimento del limite.`,dailyLabel:`Budget giornaliero (USD)`,dailyHelper:`Lascia vuoto per disabilitare. La spesa è calcolata sulle ultime 24 ore.`,dailyPlaceholder:`es. 5.00`,perJobLabel:`Avviso di costo per job (USD)`,perJobHelper:`Avvisa quando un singolo job di questo progetto supera questo importo.`,perJobPlaceholder:`es. 0.50`,invalidNumber:`Inserisci un numero positivo o lascia vuoto per disabilitare`,dailyRemoved:`Budget giornaliero rimosso`,dailySet:"Budget giornaliero impostato a ${{amount}}",perJobAlertDisabled:`Avviso di costo per job disabilitato`,alertSet:"Avviso impostato per i job oltre ${{amount}}",saveBudgetFailed:`Salvataggio del budget non riuscito`,saveThresholdFailed:`Salvataggio della soglia non riuscito`},s={nav:{appearance:`Aspetto`,specrailsAgents:`Provider di IA`,code:`Codice`,terminal:`Terminale`,updates:`Aggiornamenti`,mobile:`Mobile`,mcp:`MCP`,projects:`Progetti`,advanced:`Avanzate`,webhooks:`Webhooks`,about:`Info`,effects:`Effetti`,subscriptionUsage:`Utilizzo abbonamenti`},title:`Impostazioni Desktop`,description:`Gestisci i progetti registrati e visualizza le informazioni di Desktop.`,registeredProjects:`Progetti registrati`,noProjects:`Nessun progetto ancora registrato`,techUrlDescription:`URL base per l'API specrails-tech (default: http://localhost:3000)`,techUrlSaved:`URL di specrails-tech salvato`,techUrlSaveFailed:`Salvataggio dell'URL non riuscito`,budgetAlertsHeading:`Budget e avvisi`,dailyBudgetLabel:`Budget giornaliero di Desktop (USD)`,dailyBudgetHelper:`Limite di spesa giornaliero globale su tutti i progetti. Le code si mettono in pausa automaticamente al superamento.`,dailyBudgetPlaceholder:`es. 10.00`,perJobHelper:`Avvisa quando un singolo job supera questo importo. Lascia vuoto per disabilitare.`,costAlertsDisabled:`Avvisi di costo disabilitati`,dailyBudgetRemoved:`Budget giornaliero di Desktop rimosso`,dailyBudgetSet:"Budget giornaliero di Desktop impostato a ${{amount}}",dailyBudgetSaveFailed:`Salvataggio del budget giornaliero di Desktop non riuscito`,projectRemoved:`Progetto rimosso`,projectRemoveFailed:`Rimozione del progetto non riuscita`,onboardingHeading:`Onboarding`,platformTour:`Tour della piattaforma`,platformTourDescription:`Rivedi il wizard di benvenuto per ripassare le funzionalità principali.`,replayTour:`Rivedi il tour`,terminalPanelHeading:`Pannello terminale`,infoHeading:`Informazioni Desktop`,infoPort:`Porta`,infoProjects:`Progetti`,infoDb:`DB di Desktop`},c={heading:`Notifiche di sistema`,description:`Mostra notifiche desktop native quando i job vengono completati o falliscono. Le notifiche appaiono solo quando la scheda non è in primo piano.`,enableLabel:`Abilita le notifiche di sistema`,notifyOn:`Notifica per:`,filterAll:`Tutti (completati e falliti)`,filterCompleted:`Solo completati`,filterFailed:`Solo falliti`,enabledToast:`Notifiche di sistema abilitate`,disabledToast:`Notifiche di sistema disabilitate`},l={heading:`Webhook in uscita`,description:`Notifica strumenti esterni (Slack, Zapier, CI/CD) sugli eventi di Desktop. Le richieste sono firmate via <code>X-Specrails-Signature</code> quando è impostato un secret.`,eventJobCompleted:`Job completato`,eventJobFailed:`Job fallito`,eventDailyBudgetExceeded:`Budget giornaliero superato`,statusOn:`on`,statusOff:`off`,disable:`Disabilita`,enable:`Abilita`,sendTestPing:`Invia ping di test`,addHeading:`Aggiungi webhook`,secretPlaceholder:`Secret di firma (facoltativo)`,addButton:`Aggiungi webhook`,urlRequired:`L'URL è obbligatorio`,selectEvent:`Seleziona almeno un evento`,added:`Webhook aggiunto`,addFailed:`Aggiunta del webhook non riuscita`,updateFailed:`Aggiornamento del webhook non riuscito`,removed:`Webhook rimosso`,removeFailed:`Rimozione del webhook non riuscita`,testPingSent:`Ping di test inviato`,testPingFailed:`Invio del ping di test non riuscito`},u={title:`Pannello terminale`,desktopDescription:`Default a livello di Desktop applicati a ogni progetto, salvo override per progetto.`,projectDescription:`Override per progetto del pannello terminale. Lascia un campo invariato per ereditare il default di Desktop.`,fontFamily:`Famiglia di font`,fontSize:`Dimensione font ({{min}}–{{max}})`,renderMode:`Modalità di rendering`,copyOnSelect:`Copia alla selezione`,shellIntegration:`Integrazione shell (marcatori OSC 133)`,notifyLongRunning:`Notifica per comandi a lunga esecuzione`,longCommandThreshold:`Soglia comandi lunghi (ms)`,imageRendering:`Rendering immagini inline (Sixel + iTerm2)`,browserShortcutUrl:`URL scorciatoia browser`,quickScript:`Script rapido (incollato nel terminale attivo — premi Invio manualmente)`,reset:`Reimposta`,unsavedChanges:`Modifiche non salvate`,clearOverride:`Rimuovi override`,clear:`Rimuovi`,inheritingDefault:`Eredita il default di Desktop`,nothingToSave:`Niente da salvare`,saved:`Impostazioni del terminale salvate`},d={heading:`Sezione Code`,summaryLanguage:`Lingua dei riassunti`,monthlyBudget:`Budget mensile (USD)`,budgetHelper:"Tetto alla spesa `surface=file-summary` per mese di calendario. Le rigenerazioni avviate dall'utente possono superarlo."},f={taglines:{dracula:`L'originale — scuro con sfumature viola e vividi accenti neon`,"aurora-light":`Chiaro premium — indaco ispirato a Linear su bianco caldo`,"obsidian-dark":`Scuro premium — quasi nero con sfumature blu e accenti elettrici`,specrails:`Tema del brand — blu navy-indaco profondo con accenti ciano saturi`,"code-rain":`Terminale al fosforo — menta tenue su quasi nero verdastro`,galaxy:`Blu spazio profondo con una scia luminosa a lama`},heading:`Aspetto`,themeGroupLabel:`Tema`,currentlyActive:`Attualmente attivo`,updateFailed:`Aggiornamento del tema non riuscito`},p={heading:`Companion mobile`,description:`Controlla Specrails dall'app SpecRails Companion sul tuo telefono, 100% sulla tua rete locale. Disattivato per impostazione predefinita.`,accessOn:`Accesso mobile attivo`,accessOff:`Accesso mobile disattivato`,listeningOnPort:`In ascolto sulla porta {{port}}`,notListening:`Non in ascolto`,turnOn:`Attiva`,turnOff:`Disattiva`,pairWebDevice:`Associa companion web`,reset:`Reimposta`,resetConfirm:`Reimpostare l'identità mobile? Ogni dispositivo associato verrà revocato e dovrà associarsi di nuovo.`,identityReset:`Identità mobile reimpostata`,enableFailed:`Impossibile abilitare l'accesso mobile: {{message}}`,disableFailed:`Impossibile disabilitare l'accesso mobile: {{message}}`,windowsFirewall:`Alla prima attivazione Windows Firewall chiederà di consentire il server SpecRails — scegli “Consenti su reti private”.`,pairedDevices:`Dispositivi associati`,noDevices:`Nessun dispositivo ancora associato.`,revokeDevice:`Revoca {{name}}`},m={title:`Associa companion web`,description:`Apri specrails.dev/companion-app sul telefono, poi scansiona questo codice con esso.`,startFailed:`Impossibile avviare l'associazione: {{error}}`,showThenScan:`Dopo che il telefono ha scansionato questo, tocca “Scansiona il codice del telefono” e punta la fotocamera verso il telefono.`,scanAnswer:`Scansiona il codice del telefono`,scanning:`Punta la fotocamera sul codice del telefono…`,cameraFailed:`Fotocamera non disponibile: {{message}}`,notAnswer:`Quel QR non è una risposta di associazione.`,connecting:`Connessione…`,paired:`✓ Associato`,pairedToast:`Companion web associato`,answerRejected:`Il desktop ha rifiutato quel codice. Generane uno nuovo e riprova.`,copyCode:`Copia codice`,codeCopied:`Codice copiato`,cancel:`Annulla`},h={heading:`Specrails Core`,installed:`Installato:`,updateAvailable:`Aggiornamento disponibile: {{version}}`,upToDate:`Aggiornato`,neverChecked:`Non verificato`,check:`Cerca aggiornamenti`,checking:`Verifica…`,update:`Aggiorna a {{version}}`,downloading:`Download…`,materializing:`Installazione…`,affectsAll:`Si applica a tutti i progetti — nessun riavvio necessario.`,unavailable:`Gli aggiornamenti del core non sono disponibili in questa build.`,toastDone:`Specrails Core aggiornato a {{version}}`,toastError:`Aggiornamento del core non riuscito: {{message}}`,toastUpToDate:`Specrails Core è aggiornato`,toastCheckFailed:`Verifica aggiornamenti non riuscita: {{message}}`,loadFailed:`Impossibile aggiornare lo stato di Core. Riprova`,runtime:`Motore: {{version}}`,bundled:`Incluso in Desktop: {{version}}`,sources:{override:`Selezione esplicita`,managed:`Gestito da Desktop`,bundled:`Incluso in Desktop`,local:`Pacchetto locale`,global:`CLI esterna`},repair:`Completa aggiornamento {{version}}`},g={heading:`Specrails Desktop`,installed:`Installata:`,check:`Cerca aggiornamenti`,checking:`Verifica…`,upToDate:`Hai l'ultima versione`,updateAvailable:`Aggiornamento disponibile: {{version}}`,autoHint:`Controllo automatico all'avvio e ogni 6 ore.`,unavailable:`Gli aggiornamenti sono disponibili solo nell'app desktop.`,toastUpToDate:`Specrails Desktop è aggiornato`,toastCheckFailed:`Ricerca aggiornamenti non riuscita: {{message}}`},_={title:`{{name}} — Impostazioni`,description:`Configurazione del progetto: prompt, branch, ambiente, budget, telemetria e terminale.`,nav:{general:`Generale`,branch:`Branch`,environment:`Ambiente`,budget:`Budget`,telemetry:`Telemetria`,terminal:`Terminale`,agentRuntime:`Comandi di verifica`,subagents:`Sotto-agenti`}},v={title:`Ramo di integrazione`,description:`Il ramo da cui i rail paralleli si diramano e a cui puntano le loro PR in bozza. Lascia vuoto per risolvere automaticamente al ramo predefinito del repository.`,placeholder:`automatico (ramo predefinito)`,resolved:`I rail si diramano da <mono>{{branch}}</mono>`,save:`Salva ramo`,saved:`Ramo di integrazione salvato`,saveFailed:`Impossibile salvare il ramo di integrazione`},y={title:`Ambiente dei worktree`,description:`Scegli i nomi delle variabili d'ambiente che questo progetto passa ai job dei rail e ai worktree isolati dei loop. Vengono salvati solo i nomi; i valori vengono letti all'avvio dell'esecuzione, recuperandoli dalla login shell se mancano nel processo Desktop.`,label:`Variabile d'ambiente`,placeholder:`NODE_AUTH_TOKEN`,helper:`Premi Invio o Aggiungi. Puoi incollare più nomi separati da virgole o spazi.`,add:`Aggiungi`,empty:`Non ci sono ancora variabili specifiche per questo progetto.`,remove:`Rimuovi {{name}}`,save:`Salva ambiente`,saved:`Ambiente dei worktree salvato`,saveFailed:`Impossibile salvare l'ambiente dei worktree`,invalidName:`{{name}} non è un nome valido per una variabile d'ambiente`,noValues:`Aggiungi solo nomi di variabili, non segreti KEY=value.`},b={heading:`Effetti`,description:`Tocchi visivi dell'app. Ognuno si può disattivare qui.`,thinkingHalo:{label:`Alone di riflessione sul composer dell'agente`,description:`Mentre l'agente pensa o scrive, l'anello orbitante del Builder brilla attorno al composer: appare in dissolvenza all'inizio del turno e svanisce quando la risposta si conclude.`},reducedMotion:`Rispetta l'impostazione di sistema per la riduzione del movimento: l'anello resta un bagliore statico.`,preview:`Anteprima`,previewThinking:`Sto pensando…`},x={title:`Sotto-agenti`,stateOn:`Gli agenti possono avviare sotto-agenti.`,stateOff:`Gli agenti lavorano da soli, senza sotto-agenti.`,explainParallel:`I sotto-agenti permettono a un agente di affidare lavoro ad aiutanti che girano in parallelo, proseguono dopo la sua risposta e riferiscono quando finiscono.`,explainCost:`Ogni sotto-agente consuma i propri token: una singola richiesta può costare molto di più.`,enabled:`Sotto-agenti consentiti`,disabled:`Sotto-agenti disattivati`,saveFailed:`Impossibile salvare l'impostazione dei sotto-agenti`,project:{description:`Consente a missioni, esplorazione e rifiniture di questo progetto di usare sotto-agenti. Disattivato per impostazione predefinita.`,toggleLabel:`Consenti sotto-agenti in questo progetto`,explainScope:`Le pipeline Implement non sono interessate. Le missioni con sotto-agenti attivi applicano la modifica quando questi finiscono.`},global:{description:`Consente alle missioni senza progetto di usare sotto-agenti. Disattivato per impostazione predefinita.`,toggleLabel:`Consenti sotto-agenti nelle missioni senza progetto`,explainScope:`Ogni progetto ha la propria impostazione nelle impostazioni del progetto. Le missioni con sotto-agenti attivi applicano la modifica quando questi finiscono.`},runtime:{label:`Esegui i sub-agenti con`,same:`Come l'agente della missione`,sameHint:`I sub-agenti usano provider, modello ed effort dell'agente della missione, avviati nativamente dal suo CLI.`,chosenHint:`Le missioni su {{provider}} avviano i propri sub-agenti con questo modello. Con qualsiasi altro provider, Specrails li avvia su {{provider}}.`,providerLabel:`Provider dei sub-agenti`,modelLabel:`Modello dei sub-agenti`,effortLabel:`Effort dei sub-agenti`,claudeEffortHint:`I sub-agenti nativi di Claude ignorano l'effort; si applica quando li avvia Specrails.`,saved:`I sub-agenti ora vengono eseguiti con {{provider}}`,reset:`I sub-agenti seguono di nuovo l'agente della missione`,confirm:{title:`Eseguire i sub-agenti con {{provider}}?`,body:`Nelle missioni con un altro provider, i sub-agenti non sono più nativi: Specrails avvia ciascuno come sessione {{provider}} propria invece del CLI della missione.`,cost:`Più lento e forse più costoso: ogni sub-agente parte a freddo, senza la cache del prompt che condividerebbe con l'agente della missione.`,control:`Più controllo e flessibilità: combina provider, scegli modello ed effort, vedi il costo reale di ogni sub-agente e lasciali lavorare dopo la risposta della missione.`,native:`Le missioni che usano già {{provider}} mantengono sub-agenti nativi, ora con questo modello ed effort.`,cancel:`Lascia come la missione`,accept:`Usa {{provider}}`}}},S={language:e,page:t,errors:n,telemetry:r,prePrompt:i,freestylePrePrompt:a,budget:o,desktop:s,notifications:c,webhooks:l,terminal:u,codeSection:d,appearance:f,mobile:p,pairWeb:m,coreUpdate:h,appUpdate:g,projectDialog:_,integrationBranch:v,worktreeEnv:y,effects:b,subagents:x};export{g as appUpdate,f as appearance,o as budget,d as codeSection,h as coreUpdate,S as default,s as desktop,b as effects,n as errors,a as freestylePrePrompt,v as integrationBranch,e as language,p as mobile,c as notifications,t as page,m as pairWeb,i as prePrompt,_ as projectDialog,x as subagents,r as telemetry,u as terminal,l as webhooks,y as worktreeEnv};
|
|
1
|
+
var e={title:`Lingua`,description:`Lingua della UI per tutto Desktop. Si applica all'istante — nessun riavvio necessario.`,selectLabel:`Lingua dell'interfaccia`,updateFailed:`Impossibile salvare la preferenza di lingua`},t={title:`Impostazioni progetto`},n={saveFailed:`Salvataggio non riuscito: {{message}}`},r={title:`Telemetria della pipeline`,description:`Cattura l'uso dei token, le durate delle fasi e l'attività dei subagent per l'export diagnostico. Attivata per impostazione predefinita.`,toggleLabel:`Abilita la telemetria della pipeline`,toggleDescription:`Quando attiva, i dati OTEL dei job della pipeline vengono catturati localmente. Usa il pulsante <mono>Esporta diagnostica</mono> su qualsiasi card di job per scaricarli.`,enabled:`Telemetria della pipeline abilitata`,disabled:`Telemetria della pipeline disabilitata`,saveFailed:`Salvataggio dell'impostazione di telemetria non riuscito`},i={title:`Pre-prompt dei rail`,description:`Istruzioni extra specifiche del progetto aggiunte ai job rail di implement dopo il contesto del ticket e prima dell'esecuzione.`,label:`Pre-prompt`,placeholder:`Esempio: preferisci modifiche incrementali, mantieni le migrazioni retrocompatibili e aggiungi test per ogni modifica del rail.`,helper:`Usalo per indicazioni stabili di progetto che devono accompagnare ogni run di implementazione su rail.`,saveButton:`Salva pre-prompt`,cleared:`Pre-prompt rimosso`,saved:`Pre-prompt salvato`,saveFailed:`Salvataggio del pre-prompt non riuscito`},a={title:`Pre-prompt Freestyle`,description:`Istruzione inviata al provider selezionato in Freestyle. Freestyle salta la pipeline OpenSpec — consegna al provider questo pre-prompt più il testo della spec e lo lascia implementare in autonomia. Lascia vuoto per usare il default integrato.`,label:`Pre-prompt Freestyle`,placeholder:`Lascia vuoto per usare l'istruzione Freestyle predefinita.`,helper:`Il testo della spec viene aggiunto automaticamente dopo questo pre-prompt. Vuoto = default.`,saveButton:`Salva pre-prompt Freestyle`,resetToDefault:`Pre-prompt Freestyle ripristinato al default`,saved:`Pre-prompt Freestyle salvato`,saveFailed:`Salvataggio del pre-prompt Freestyle non riuscito`},o={title:`Budget`,description:`Imposta un tetto di spesa giornaliero per questo progetto. La coda si mette in pausa automaticamente al raggiungimento del limite.`,dailyLabel:`Budget giornaliero (USD)`,dailyHelper:`Lascia vuoto per disabilitare. La spesa è calcolata sulle ultime 24 ore.`,dailyPlaceholder:`es. 5.00`,perJobLabel:`Avviso di costo per job (USD)`,perJobHelper:`Avvisa quando un singolo job di questo progetto supera questo importo.`,perJobPlaceholder:`es. 0.50`,invalidNumber:`Inserisci un numero positivo o lascia vuoto per disabilitare`,dailyRemoved:`Budget giornaliero rimosso`,dailySet:"Budget giornaliero impostato a ${{amount}}",perJobAlertDisabled:`Avviso di costo per job disabilitato`,alertSet:"Avviso impostato per i job oltre ${{amount}}",saveBudgetFailed:`Salvataggio del budget non riuscito`,saveThresholdFailed:`Salvataggio della soglia non riuscito`},s={nav:{appearance:`Aspetto`,specrailsAgents:`Provider di IA`,code:`Codice`,terminal:`Terminale`,updates:`Aggiornamenti`,mobile:`Mobile`,mcp:`MCP`,projects:`Progetti`,advanced:`Avanzate`,webhooks:`Webhooks`,about:`Info`,effects:`Effetti`,subscriptionUsage:`Utilizzo abbonamenti`},title:`Impostazioni Desktop`,description:`Gestisci i progetti registrati e visualizza le informazioni di Desktop.`,registeredProjects:`Progetti registrati`,noProjects:`Nessun progetto ancora registrato`,techUrlDescription:`URL base per l'API specrails-tech (default: http://localhost:3000)`,techUrlSaved:`URL di specrails-tech salvato`,techUrlSaveFailed:`Salvataggio dell'URL non riuscito`,budgetAlertsHeading:`Budget e avvisi`,dailyBudgetLabel:`Budget giornaliero di Desktop (USD)`,dailyBudgetHelper:`Limite di spesa giornaliero globale su tutti i progetti. Le code si mettono in pausa automaticamente al superamento.`,dailyBudgetPlaceholder:`es. 10.00`,perJobHelper:`Avvisa quando un singolo job supera questo importo. Lascia vuoto per disabilitare.`,costAlertsDisabled:`Avvisi di costo disabilitati`,dailyBudgetRemoved:`Budget giornaliero di Desktop rimosso`,dailyBudgetSet:"Budget giornaliero di Desktop impostato a ${{amount}}",dailyBudgetSaveFailed:`Salvataggio del budget giornaliero di Desktop non riuscito`,projectRemoved:`Progetto rimosso`,projectRemoveFailed:`Rimozione del progetto non riuscita`,onboardingHeading:`Onboarding`,platformTour:`Tour della piattaforma`,platformTourDescription:`Rivedi il wizard di benvenuto per ripassare le funzionalità principali.`,replayTour:`Rivedi il tour`,terminalPanelHeading:`Pannello terminale`,infoHeading:`Informazioni Desktop`,infoPort:`Porta`,infoProjects:`Progetti`,infoDb:`DB di Desktop`},c={heading:`Notifiche di sistema`,description:`Mostra notifiche desktop native quando i job vengono completati o falliscono. Le notifiche appaiono solo quando la scheda non è in primo piano.`,enableLabel:`Abilita le notifiche di sistema`,notifyOn:`Notifica per:`,filterAll:`Tutti (completati e falliti)`,filterCompleted:`Solo completati`,filterFailed:`Solo falliti`,enabledToast:`Notifiche di sistema abilitate`,disabledToast:`Notifiche di sistema disabilitate`},l={heading:`Webhook in uscita`,description:`Notifica strumenti esterni (Slack, Zapier, CI/CD) sugli eventi di Desktop. Le richieste sono firmate via <code>X-Specrails-Signature</code> quando è impostato un secret.`,eventJobCompleted:`Job completato`,eventJobFailed:`Job fallito`,eventDailyBudgetExceeded:`Budget giornaliero superato`,statusOn:`on`,statusOff:`off`,disable:`Disabilita`,enable:`Abilita`,sendTestPing:`Invia ping di test`,addHeading:`Aggiungi webhook`,secretPlaceholder:`Secret di firma (facoltativo)`,addButton:`Aggiungi webhook`,urlRequired:`L'URL è obbligatorio`,selectEvent:`Seleziona almeno un evento`,added:`Webhook aggiunto`,addFailed:`Aggiunta del webhook non riuscita`,updateFailed:`Aggiornamento del webhook non riuscito`,removed:`Webhook rimosso`,removeFailed:`Rimozione del webhook non riuscita`,testPingSent:`Ping di test inviato`,testPingFailed:`Invio del ping di test non riuscito`},u={title:`Pannello terminale`,desktopDescription:`Default a livello di Desktop applicati a ogni progetto, salvo override per progetto.`,projectDescription:`Override per progetto del pannello terminale. Lascia un campo invariato per ereditare il default di Desktop.`,fontFamily:`Famiglia di font`,fontSize:`Dimensione font ({{min}}–{{max}})`,renderMode:`Modalità di rendering`,copyOnSelect:`Copia alla selezione`,shellIntegration:`Integrazione shell (marcatori OSC 133)`,notifyLongRunning:`Notifica per comandi a lunga esecuzione`,longCommandThreshold:`Soglia comandi lunghi (ms)`,imageRendering:`Rendering immagini inline (Sixel + iTerm2)`,browserShortcutUrl:`URL scorciatoia browser`,quickScript:`Script rapido (incollato nel terminale attivo — premi Invio manualmente)`,reset:`Reimposta`,unsavedChanges:`Modifiche non salvate`,clearOverride:`Rimuovi override`,clear:`Rimuovi`,inheritingDefault:`Eredita il default di Desktop`,nothingToSave:`Niente da salvare`,saved:`Impostazioni del terminale salvate`},d={heading:`Sezione Code`,summaryLanguage:`Lingua dei riassunti`,monthlyBudget:`Budget mensile (USD)`,budgetHelper:"Tetto alla spesa `surface=file-summary` per mese di calendario. Le rigenerazioni avviate dall'utente possono superarlo."},f={taglines:{dracula:`L'originale — scuro con sfumature viola e vividi accenti neon`,"aurora-light":`Chiaro premium — indaco ispirato a Linear su bianco caldo`,"obsidian-dark":`Scuro premium — quasi nero con sfumature blu e accenti elettrici`,specrails:`Tema del brand — blu navy-indaco profondo con accenti ciano saturi`,"code-rain":`Terminale al fosforo — menta tenue su quasi nero verdastro`,galaxy:`Blu spazio profondo con una scia luminosa a lama`},heading:`Aspetto`,themeGroupLabel:`Tema`,currentlyActive:`Attualmente attivo`,updateFailed:`Aggiornamento del tema non riuscito`},p={heading:`Companion mobile`,description:`Controlla Specrails dall'app SpecRails Companion sul tuo telefono, 100% sulla tua rete locale. Disattivato per impostazione predefinita.`,accessOn:`Accesso mobile attivo`,accessOff:`Accesso mobile disattivato`,listeningOnPort:`In ascolto sulla porta {{port}}`,notListening:`Non in ascolto`,turnOn:`Attiva`,turnOff:`Disattiva`,pairWebDevice:`Associa companion web`,reset:`Reimposta`,resetConfirm:`Reimpostare l'identità mobile? Ogni dispositivo associato verrà revocato e dovrà associarsi di nuovo.`,identityReset:`Identità mobile reimpostata`,enableFailed:`Impossibile abilitare l'accesso mobile: {{message}}`,disableFailed:`Impossibile disabilitare l'accesso mobile: {{message}}`,windowsFirewall:`Alla prima attivazione Windows Firewall chiederà di consentire il server SpecRails — scegli “Consenti su reti private”.`,pairedDevices:`Dispositivi associati`,noDevices:`Nessun dispositivo ancora associato.`,revokeDevice:`Revoca {{name}}`},m={title:`Associa companion web`,description:`Apri specrails.dev/companion-app sul telefono, poi scansiona questo codice con esso.`,startFailed:`Impossibile avviare l'associazione: {{error}}`,showThenScan:`Dopo che il telefono ha scansionato questo, tocca “Scansiona il codice del telefono” e punta la fotocamera verso il telefono.`,scanAnswer:`Scansiona il codice del telefono`,scanning:`Punta la fotocamera sul codice del telefono…`,cameraFailed:`Fotocamera non disponibile: {{message}}`,notAnswer:`Quel QR non è una risposta di associazione.`,connecting:`Connessione…`,paired:`✓ Associato`,pairedToast:`Companion web associato`,answerRejected:`Il desktop ha rifiutato quel codice. Generane uno nuovo e riprova.`,copyCode:`Copia codice`,codeCopied:`Codice copiato`,cancel:`Annulla`},h={heading:`Specrails Core`,installed:`Installato:`,updateAvailable:`Aggiornamento disponibile: {{version}}`,upToDate:`Aggiornato`,neverChecked:`Non verificato`,check:`Cerca aggiornamenti`,checking:`Verifica…`,update:`Aggiorna a {{version}}`,downloading:`Download…`,materializing:`Installazione…`,affectsAll:`Si applica a tutti i progetti — nessun riavvio necessario.`,unavailable:`Gli aggiornamenti del core non sono disponibili in questa build.`,toastDone:`Specrails Core aggiornato a {{version}}`,toastError:`Aggiornamento del core non riuscito: {{message}}`,toastUpToDate:`Specrails Core è aggiornato`,toastCheckFailed:`Verifica aggiornamenti non riuscita: {{message}}`,loadFailed:`Impossibile aggiornare lo stato di Core. Riprova`,runtime:`Motore: {{version}}`,bundled:`Incluso in Desktop: {{version}}`,sources:{override:`Selezione esplicita`,managed:`Gestito da Desktop`,bundled:`Incluso in Desktop`,local:`Pacchetto locale`,global:`CLI esterna`},repair:`Completa aggiornamento {{version}}`},g={heading:`Specrails Desktop`,installed:`Installata:`,check:`Cerca aggiornamenti`,checking:`Verifica…`,upToDate:`Hai l'ultima versione`,updateAvailable:`Aggiornamento disponibile: {{version}}`,autoHint:`Controllo automatico all'avvio e ogni 6 ore.`,unavailable:`Gli aggiornamenti sono disponibili solo nell'app desktop.`,toastUpToDate:`Specrails Desktop è aggiornato`,toastCheckFailed:`Ricerca aggiornamenti non riuscita: {{message}}`},_={title:`{{name}} — Impostazioni`,description:`Configurazione del progetto: prompt, branch, ambiente, budget, telemetria e terminale.`,nav:{general:`Generale`,branch:`Branch`,environment:`Ambiente`,budget:`Budget`,telemetry:`Telemetria`,terminal:`Terminale`,agentRuntime:`Comandi di verifica`,subagents:`Sotto-agenti`}},v={title:`Ramo di integrazione`,description:`Il ramo da cui i rail paralleli si diramano e a cui puntano le loro PR in bozza. Lascia vuoto per risolvere automaticamente al ramo predefinito del repository.`,placeholder:`automatico (ramo predefinito)`,resolved:`I rail si diramano da <mono>{{branch}}</mono>`,save:`Salva ramo`,saved:`Ramo di integrazione salvato`,saveFailed:`Impossibile salvare il ramo di integrazione`},y={title:`Ambiente dei worktree`,description:`Scegli i nomi delle variabili d'ambiente che questo progetto passa ai job dei rail e ai worktree isolati dei loop. Vengono salvati solo i nomi; i valori vengono letti all'avvio dell'esecuzione, recuperandoli dalla login shell se mancano nel processo Desktop.`,label:`Variabile d'ambiente`,placeholder:`NODE_AUTH_TOKEN`,helper:`Premi Invio o Aggiungi. Puoi incollare più nomi separati da virgole o spazi.`,add:`Aggiungi`,empty:`Non ci sono ancora variabili specifiche per questo progetto.`,remove:`Rimuovi {{name}}`,save:`Salva ambiente`,saved:`Ambiente dei worktree salvato`,saveFailed:`Impossibile salvare l'ambiente dei worktree`,invalidName:`{{name}} non è un nome valido per una variabile d'ambiente`,noValues:`Aggiungi solo nomi di variabili, non segreti KEY=value.`,status:{inherited:`Ereditata`,recovered:`Dalla login shell`,notDefined:`Non definita`,probeTimeout:`Timeout della shell`,probeFailed:`Lettura della shell non riuscita`,pending:`Verifica…`},hint:{defaultShell:`la tua login shell`,inherited:`Disponibile nell'ambiente con cui è stato avviato Specrails.`,recovered:`Recuperata da {{shell}}. Le esecuzioni la ricevono automaticamente; il valore non viene mai mostrato.`,notDefined:`{{shell}} non esporta {{name}}. Aggiungi un export nel profilo della shell, poi verifica di nuovo.`,notDefinedInherited:`{{name}} non è impostata nell'ambiente con cui è stato avviato Specrails. Impostala lì e riavvia Specrails.`,probeTimeout:`{{shell}} ha impiegato più di {{seconds}} s per avviarsi. Velocizza il profilo o aumenta SPECRAILS_LOGIN_SHELL_TIMEOUT_MS, poi verifica di nuovo.`,probeFailed:`Specrails non è riuscito a leggere {{shell}}. Correggi il profilo o avvia Specrails da un terminale, poi verifica di nuovo.`,pending:`Specrails sta leggendo la tua login shell.`},recheck:`Verifica di nuovo`,checking:`Verifica…`,lastChecked:`Ultima verifica alle {{time}}`,statusUnavailable:`Impossibile leggere lo stato dell'ambiente.`,unresolvedTitle:`Le esecuzioni partono senza queste variabili:`},b={heading:`Effetti`,description:`Tocchi visivi dell'app. Ognuno si può disattivare qui.`,thinkingHalo:{label:`Alone di riflessione sul composer dell'agente`,description:`Mentre l'agente pensa o scrive, l'anello orbitante del Builder brilla attorno al composer: appare in dissolvenza all'inizio del turno e svanisce quando la risposta si conclude.`},reducedMotion:`Rispetta l'impostazione di sistema per la riduzione del movimento: l'anello resta un bagliore statico.`,preview:`Anteprima`,previewThinking:`Sto pensando…`},x={title:`Sotto-agenti`,stateOn:`Gli agenti possono avviare sotto-agenti.`,stateOff:`Gli agenti lavorano da soli, senza sotto-agenti.`,explainParallel:`I sotto-agenti permettono a un agente di affidare lavoro ad aiutanti che girano in parallelo, proseguono dopo la sua risposta e riferiscono quando finiscono.`,explainCost:`Ogni sotto-agente consuma i propri token: una singola richiesta può costare molto di più.`,enabled:`Sotto-agenti consentiti`,disabled:`Sotto-agenti disattivati`,saveFailed:`Impossibile salvare l'impostazione dei sotto-agenti`,project:{description:`Consente a missioni, esplorazione e rifiniture di questo progetto di usare sotto-agenti. Disattivato per impostazione predefinita.`,toggleLabel:`Consenti sotto-agenti in questo progetto`,explainScope:`Le pipeline Implement non sono interessate. Le missioni con sotto-agenti attivi applicano la modifica quando questi finiscono.`},global:{description:`Consente alle missioni senza progetto di usare sotto-agenti. Disattivato per impostazione predefinita.`,toggleLabel:`Consenti sotto-agenti nelle missioni senza progetto`,explainScope:`Ogni progetto ha la propria impostazione nelle impostazioni del progetto. Le missioni con sotto-agenti attivi applicano la modifica quando questi finiscono.`},runtime:{label:`Esegui i sub-agenti con`,same:`Come l'agente della missione`,sameHint:`I sub-agenti usano provider, modello ed effort dell'agente della missione, avviati nativamente dal suo CLI.`,chosenHint:`Le missioni su {{provider}} avviano i propri sub-agenti con questo modello. Con qualsiasi altro provider, Specrails li avvia su {{provider}}.`,providerLabel:`Provider dei sub-agenti`,modelLabel:`Modello dei sub-agenti`,effortLabel:`Effort dei sub-agenti`,claudeEffortHint:`I sub-agenti nativi di Claude ignorano l'effort; si applica quando li avvia Specrails.`,saved:`I sub-agenti ora vengono eseguiti con {{provider}}`,reset:`I sub-agenti seguono di nuovo l'agente della missione`,confirm:{title:`Eseguire i sub-agenti con {{provider}}?`,body:`Nelle missioni con un altro provider, i sub-agenti non sono più nativi: Specrails avvia ciascuno come sessione {{provider}} propria invece del CLI della missione.`,cost:`Più lento e forse più costoso: ogni sub-agente parte a freddo, senza la cache del prompt che condividerebbe con l'agente della missione.`,control:`Più controllo e flessibilità: combina provider, scegli modello ed effort, vedi il costo reale di ogni sub-agente e lasciali lavorare dopo la risposta della missione.`,native:`Le missioni che usano già {{provider}} mantengono sub-agenti nativi, ora con questo modello ed effort.`,cancel:`Lascia come la missione`,accept:`Usa {{provider}}`}}},S={language:e,page:t,errors:n,telemetry:r,prePrompt:i,freestylePrePrompt:a,budget:o,desktop:s,notifications:c,webhooks:l,terminal:u,codeSection:d,appearance:f,mobile:p,pairWeb:m,coreUpdate:h,appUpdate:g,projectDialog:_,integrationBranch:v,worktreeEnv:y,effects:b,subagents:x};export{g as appUpdate,f as appearance,o as budget,d as codeSection,h as coreUpdate,S as default,s as desktop,b as effects,n as errors,a as freestylePrePrompt,v as integrationBranch,e as language,p as mobile,c as notifications,t as page,m as pairWeb,i as prePrompt,_ as projectDialog,x as subagents,r as telemetry,u as terminal,l as webhooks,y as worktreeEnv};
|