@shepai/cli 1.182.0 → 1.182.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +8 -1
  2. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts +13 -1
  4. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.js +44 -5
  6. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +1 -0
  7. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +15 -0
  9. package/dist/tsconfig.build.tsbuildinfo +1 -1
  10. package/package.json +1 -1
  11. package/web/.next/BUILD_ID +1 -1
  12. package/web/.next/build-manifest.json +2 -2
  13. package/web/.next/fallback-build-manifest.json +2 -2
  14. package/web/.next/prerender-manifest.json +3 -3
  15. package/web/.next/required-server-files.js +2 -2
  16. package/web/.next/required-server-files.json +2 -2
  17. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
  18. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
  21. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  22. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
  24. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  25. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  26. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  29. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
  30. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  34. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  36. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
  39. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
  42. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  45. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  46. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
  51. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  52. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  53. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  54. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  55. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  56. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  58. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/_global-error.html +2 -2
  60. package/web/.next/server/app/_global-error.rsc +1 -1
  61. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  62. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  63. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  64. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  65. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  66. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  67. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  68. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +15 -15
  69. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  70. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
  72. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
  74. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  75. package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
  76. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
  78. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  79. package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
  80. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  82. package/web/.next/server/chunks/[root-of-the-server]__c8f90b29._.js +1 -1
  83. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  84. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  85. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  86. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  87. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +1 -1
  88. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +1 -1
  89. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +1 -1
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -1
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +1 -1
  92. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +1 -1
  93. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +2 -2
  95. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +1 -1
  96. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +1 -1
  97. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +1 -1
  98. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +1 -1
  99. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +1 -1
  100. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -1
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__e265da61._.js +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/_0277d3b5._.js +1 -1
  109. package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  111. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  112. package/web/.next/server/chunks/ssr/_5dec4047._.js +3 -0
  113. package/web/.next/server/chunks/ssr/{_a7184dfa._.js.map → _5dec4047._.js.map} +1 -1
  114. package/web/.next/server/chunks/ssr/{_21cc662b._.js → _73aa3b20._.js} +2 -2
  115. package/web/.next/server/chunks/ssr/{_21cc662b._.js.map → _73aa3b20._.js.map} +1 -1
  116. package/web/.next/server/chunks/ssr/{_177d29c6._.js → _774cbf7d._.js} +2 -2
  117. package/web/.next/server/chunks/ssr/{_177d29c6._.js.map → _774cbf7d._.js.map} +1 -1
  118. package/web/.next/server/chunks/ssr/{_503102fc._.js → _81e7a131._.js} +2 -2
  119. package/web/.next/server/chunks/ssr/{_503102fc._.js.map → _81e7a131._.js.map} +1 -1
  120. package/web/.next/server/chunks/ssr/_946a7fc6._.js +1 -1
  121. package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/{_575fe3ee._.js → _d75dcb43._.js} +2 -2
  123. package/web/.next/server/chunks/ssr/{_575fe3ee._.js.map → _d75dcb43._.js.map} +1 -1
  124. package/web/.next/server/chunks/ssr/_eff1b518._.js +1 -1
  125. package/web/.next/server/chunks/ssr/_eff1b518._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/_f227429a._.js +1 -1
  127. package/web/.next/server/chunks/ssr/_f227429a._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
  129. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  131. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  132. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  133. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  134. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +1 -1
  135. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +1 -1
  137. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +1 -1
  139. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
  141. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
  142. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +1 -1
  143. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +1 -1
  144. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +1 -1
  145. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +1 -1
  147. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +1 -1
  149. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
  151. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +3 -3
  153. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +1 -1
  154. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  156. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  158. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  160. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  162. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +1 -1
  164. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +1 -1
  166. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js.map +1 -1
  167. package/web/.next/server/pages/500.html +2 -2
  168. package/web/.next/server/server-reference-manifest.js +1 -1
  169. package/web/.next/server/server-reference-manifest.json +54 -54
  170. package/web/.next/static/chunks/{87a0df5389e06641.js → 2af89379fde6831d.js} +1 -1
  171. package/web/.next/static/chunks/{b87904ecdddde972.js → 3a71cab38909921e.js} +1 -1
  172. package/web/.next/static/chunks/{e4f0ca20b62bd66f.js → 4e53adb5d07b7e3d.js} +1 -1
  173. package/web/.next/static/chunks/{ceff12f8a2e5bc08.js → 503d2e86f83285f9.js} +1 -1
  174. package/web/.next/static/chunks/{8c9016ab8c1f6204.js → 5e7ac3508bef115f.js} +1 -1
  175. package/web/.next/static/chunks/761a7c542b358739.js +1 -0
  176. package/web/.next/static/chunks/{6afd16b2fe544054.js → 7bf6ed16395220c4.js} +2 -2
  177. package/web/.next/static/chunks/{be2e80436bc15812.js → 996e4ea45364bf3c.js} +2 -2
  178. package/web/.next/static/chunks/{b4aa3a83f2451e07.js → 9e9b60f127270dfd.js} +1 -1
  179. package/web/.next/static/chunks/{ac22076c64634ac1.js → a2601dbbcb657c7d.js} +1 -1
  180. package/web/.next/static/chunks/{de7de1db2a8788dd.js → a31f2264cedb23e9.js} +1 -1
  181. package/web/.next/static/chunks/{a2531137c7d36d54.js → abf7d1b66555b758.js} +1 -1
  182. package/web/.next/static/chunks/{33dc7a1041f4ab64.js → d488e6b5cbbc6833.js} +1 -1
  183. package/web/.next/static/chunks/{2424ab50273fe1d9.js → d984d1d8d506291c.js} +1 -1
  184. package/web/.next/static/chunks/e843a0d8e8c645c4.js +1 -0
  185. package/web/.next/static/chunks/{7604027076448f2b.js → f5ed0232d50b1ec8.js} +1 -1
  186. package/web/.next/server/chunks/ssr/_a7184dfa._.js +0 -3
  187. package/web/.next/static/chunks/94e8559ae19a16e1.js +0 -1
  188. package/web/.next/static/chunks/a0cfca1e5fd467e9.js +0 -1
  189. /package/web/.next/static/{EVCmRtpgNX9ebXGb-bV1G → 6GBQ7MHEYpZbJzqULwvXh}/_buildManifest.js +0 -0
  190. /package/web/.next/static/{EVCmRtpgNX9ebXGb-bV1G → 6GBQ7MHEYpZbJzqULwvXh}/_clientMiddlewareManifest.json +0 -0
  191. /package/web/.next/static/{EVCmRtpgNX9ebXGb-bV1G → 6GBQ7MHEYpZbJzqULwvXh}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,20206,(e,t,n)=>{"use strict";var r=e.r(79054),o=e.r(56032),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=o.useSyncExternalStore,s=r.useRef,l=r.useEffect,u=r.useMemo,d=r.useDebugValue;n.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var c=s(null);if(null===c.current){var h={hasValue:!1,value:null};c.current=h}else h=c.current;var f=a(e,(c=u(function(){function e(e){if(!l){if(l=!0,a=e,e=r(e),void 0!==o&&h.hasValue){var t=h.value;if(o(t,e))return s=t}return s=e}if(t=s,i(a,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(a=e,t):(a=e,s=n)}var a,s,l=!1,u=void 0===n?null:n;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,n,r,o]))[0],c[1]);return l(function(){h.hasValue=!0,h.value=f},[f]),d(f),f}},96482,(e,t,n)=>{"use strict";t.exports=e.r(20206)},53271,92002,e=>{"use strict";e.i(44172);var t,n,r,o,i,a,s,l,u,d,c,h,f,p,g,m,x,y=e.i(20314),v=e.i(79054);function b(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)""!==(r=b(e[n]))&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var w={value:()=>{}};function C(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw Error("illegal type: "+e);r[e]=[]}return new N(r)}function N(e){this._=e}function k(e,t,n){for(var r=0,o=e.length;r<o;++r)if(e[r].name===t){e[r]=w,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}function S(){}function _(e){return null==e?S:function(){return this.querySelector(e)}}function M(){return[]}function E(e){return null==e?M:function(){return this.querySelectorAll(e)}}function j(e){return function(){return this.matches(e)}}function P(e){return function(t){return t.matches(e)}}N.prototype=C.prototype={constructor:N,on:function(e,t){var n,r=this._,o=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!r.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),i=-1,a=o.length;if(arguments.length<2){for(;++i<a;)if((n=(e=o[i]).type)&&(n=function(e,t){for(var n,r=0,o=e.length;r<o;++r)if((n=e[r]).name===t)return n.value}(r[n],e.name)))return n;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++i<a;)if(n=(e=o[i]).type)r[n]=k(r[n],e.name,t);else if(null==t)for(n in r)r[n]=k(r[n],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new N(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,o=Array(n),i=0;i<n;++i)o[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(r=this._[e],i=0,n=r.length;i<n;++i)r[i].value.apply(t,o)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}};var D=Array.prototype.find;function I(){return this.firstElementChild}var A=Array.prototype.filter;function R(){return Array.from(this.children)}function T(e){return Array(e.length)}function z(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function $(e,t,n,r,o,i){for(var a,s=0,l=t.length,u=i.length;s<u;++s)(a=t[s])?(a.__data__=i[s],r[s]=a):n[s]=new z(e,i[s]);for(;s<l;++s)(a=t[s])&&(o[s]=a)}function L(e,t,n,r,o,i,a){var s,l,u,d=new Map,c=t.length,h=i.length,f=Array(c);for(s=0;s<c;++s)(l=t[s])&&(f[s]=u=a.call(l,l.__data__,s,t)+"",d.has(u)?o[s]=l:d.set(u,l));for(s=0;s<h;++s)u=a.call(e,i[s],s,i)+"",(l=d.get(u))?(r[s]=l,l.__data__=i[s],d.delete(u)):n[s]=new z(e,i[s]);for(s=0;s<c;++s)(l=t[s])&&d.get(f[s])===l&&(o[s]=l)}function O(e){return e.__data__}function B(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}z.prototype={constructor:z,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var H="http://www.w3.org/1999/xhtml";let F={svg:"http://www.w3.org/2000/svg",xhtml:H,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function V(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),F.hasOwnProperty(t)?{space:F[t],local:e}:e}function X(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function q(e,t){return e.style.getPropertyValue(t)||X(e).getComputedStyle(e,null).getPropertyValue(t)}function Y(e){return e.trim().split(/^|\s+/)}function K(e){return e.classList||new Z(e)}function Z(e){this._node=e,this._names=Y(e.getAttribute("class")||"")}function W(e,t){for(var n=K(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function U(e,t){for(var n=K(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function G(){this.textContent=""}function Q(){this.innerHTML=""}function J(){this.nextSibling&&this.parentNode.appendChild(this)}function ee(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function et(e){var t=V(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H&&t.documentElement.namespaceURI===H?t.createElement(e):t.createElementNS(n,e)}})(t)}function en(){return null}function er(){var e=this.parentNode;e&&e.removeChild(this)}function eo(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ei(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ea(e){return function(){var t=this.__on;if(t){for(var n,r=0,o=-1,i=t.length;r<i;++r)(n=t[r],e.type&&n.type!==e.type||n.name!==e.name)?t[++o]=n:this.removeEventListener(n.type,n.listener,n.options);++o?t.length=o:delete this.__on}}}function es(e,t,n){return function(){var r,o=this.__on,i=function(e){t.call(this,e,this.__data__)};if(o){for(var a=0,s=o.length;a<s;++a)if((r=o[a]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function el(e,t,n){var r=X(e),o=r.CustomEvent;"function"==typeof o?o=new o(t,n):(o=r.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}Z.prototype={add:function(e){0>this._names.indexOf(e)&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var eu=[null];function ed(e,t){this._groups=e,this._parents=t}function ec(){return new ed([[document.documentElement]],eu)}function eh(e){return"string"==typeof e?new ed([[document.querySelector(e)]],[document.documentElement]):new ed([[e]],eu)}function ef(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}ed.prototype=ec.prototype={constructor:ed,select:function(e){"function"!=typeof e&&(e=_(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a,s=t[o],l=s.length,u=r[o]=Array(l),d=0;d<l;++d)(i=s[d])&&(a=e.call(i,i.__data__,d,s))&&("__data__"in i&&(a.__data__=i.__data__),u[d]=a);return new ed(r,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=E(e);for(var n=this._groups,r=n.length,o=[],i=[],a=0;a<r;++a)for(var s,l=n[a],u=l.length,d=0;d<u;++d)(s=l[d])&&(o.push(e.call(s,s.__data__,d,l)),i.push(s));return new ed(o,i)},selectChild:function(e){var t;return this.select(null==e?I:(t="function"==typeof e?e:P(e),function(){return D.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?R:(t="function"==typeof e?e:P(e),function(){return A.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=j(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a=t[o],s=a.length,l=r[o]=[],u=0;u<s;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&l.push(i);return new ed(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,O);var n=t?L:$,r=this._parents,o=this._groups;"function"!=typeof e&&(y=e,e=function(){return y});for(var i=o.length,a=Array(i),s=Array(i),l=Array(i),u=0;u<i;++u){var d=r[u],c=o[u],h=c.length,f="object"==typeof(x=e.call(d,d&&d.__data__,u,r))&&"length"in x?x:Array.from(x),p=f.length,g=s[u]=Array(p),m=a[u]=Array(p);n(d,c,g,m,l[u]=Array(h),f,t);for(var x,y,v,b,w=0,C=0;w<p;++w)if(v=g[w]){for(w>=C&&(C=w+1);!(b=m[C])&&++C<p;);v._next=b||null}}return(a=new ed(a,r))._enter=s,a._exit=l,a},enter:function(){return new ed(this._enter||this._groups.map(T),this._parents)},exit:function(){return new ed(this._exit||this._groups.map(T),this._parents)},join:function(e,t,n){var r=this.enter(),o=this,i=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(o=t(o))&&(o=o.selection()),null==n?i.remove():n(i),r&&o?r.merge(o).order():o},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,a=Math.min(o,i),s=Array(o),l=0;l<a;++l)for(var u,d=n[l],c=r[l],h=d.length,f=s[l]=Array(h),p=0;p<h;++p)(u=d[p]||c[p])&&(f[p]=u);for(;l<o;++l)s[l]=n[l];return new ed(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,o=e[t],i=o.length-1,a=o[i];--i>=0;)(r=o[i])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=B);for(var n=this._groups,r=n.length,o=Array(r),i=0;i<r;++i){for(var a,s=n[i],l=s.length,u=o[i]=Array(l),d=0;d<l;++d)(a=s[d])&&(u[d]=a);u.sort(t)}return new ed(o,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o,i=t[n],a=0,s=i.length;a<s;++a)(o=i[a])&&e.call(o,o.__data__,a,i);return this},attr:function(e,t){var n=V(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?n.local?function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}:function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}:n.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}:function(e,t,n){return function(){this.style.setProperty(e,t,n)}})(e,t,null==n?"":n)):q(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var n=Y(e+"");if(arguments.length<2){for(var r=K(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?W:U)(this,e)}}:t?function(e){return function(){W(this,e)}}:function(e){return function(){U(this,e)}})(n,t))},text:function(e){return arguments.length?this.each(null==e?G:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Q:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(J)},lower:function(){return this.each(ee)},append:function(e){var t="function"==typeof e?e:et(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:et(e),r=null==t?en:"function"==typeof t?t:_(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(er)},clone:function(e){return this.select(e?ei:eo)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,o,i=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}),a=i.length;if(arguments.length<2){var s=this.node().__on;if(s){for(var l,u=0,d=s.length;u<d;++u)for(r=0,l=s[u];r<a;++r)if((o=i[r]).type===l.type&&o.name===l.name)return l.value}return}for(r=0,s=t?es:ea;r<a;++r)this.each(s(i[r],t,n));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return el(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return el(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,o=e[t],i=0,a=o.length;i<a;++i)(r=o[i])&&(yield r)}};let ep={passive:!1},eg={capture:!0,passive:!1};function em(e){e.stopImmediatePropagation()}function ex(e){e.preventDefault(),e.stopImmediatePropagation()}function ey(e){var t=e.document.documentElement,n=eh(e).on("dragstart.drag",ex,eg);"onselectstart"in t?n.on("selectstart.drag",ex,eg):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function ev(e,t){var n=e.document.documentElement,r=eh(e).on("dragstart.drag",null);t&&(r.on("click.drag",ex,eg),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}let eb=e=>()=>e;function ew(e,{sourceEvent:t,subject:n,target:r,identifier:o,active:i,x:a,y:s,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}function eC(e){return!e.ctrlKey&&!e.button}function eN(){return this.parentNode}function ek(e,t){return null==t?{x:e.x,y:e.y}:t}function eS(){return navigator.maxTouchPoints||"ontouchstart"in this}function e_(){var e,t,n,r,o=eC,i=eN,a=ek,s=eS,l={},u=C("start","drag","end"),d=0,c=0;function h(e){e.on("mousedown.drag",f).filter(s).on("touchstart.drag",m).on("touchmove.drag",x,ep).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(a,s){if(!r&&o.call(this,a,s)){var l=v(this,i.call(this,a,s),a,s,"mouse");l&&(eh(a.view).on("mousemove.drag",p,eg).on("mouseup.drag",g,eg),ey(a.view),em(a),n=!1,e=a.clientX,t=a.clientY,l("start",a))}}function p(r){if(ex(r),!n){var o=r.clientX-e,i=r.clientY-t;n=o*o+i*i>c}l.mouse("drag",r)}function g(e){eh(e.view).on("mousemove.drag mouseup.drag",null),ev(e.view,n),ex(e),l.mouse("end",e)}function m(e,t){if(o.call(this,e,t)){var n,r,a=e.changedTouches,s=i.call(this,e,t),l=a.length;for(n=0;n<l;++n)(r=v(this,s,e,t,a[n].identifier,a[n]))&&(em(e),r("start",e,a[n]))}}function x(e){var t,n,r=e.changedTouches,o=r.length;for(t=0;t<o;++t)(n=l[r[t].identifier])&&(ex(e),n("drag",e,r[t]))}function y(e){var t,n,o=e.changedTouches,i=o.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<i;++t)(n=l[o[t].identifier])&&(em(e),n("end",e,o[t]))}function v(e,t,n,r,o,i){var s,c,f,p=u.copy(),g=ef(i||n,t);if(null!=(f=a.call(e,new ew("beforestart",{sourceEvent:n,target:h,identifier:o,active:d,x:g[0],y:g[1],dx:0,dy:0,dispatch:p}),r)))return s=f.x-g[0]||0,c=f.y-g[1]||0,function n(i,a,u){var m,x=g;switch(i){case"start":l[o]=n,m=d++;break;case"end":delete l[o],--d;case"drag":g=ef(u||a,t),m=d}p.call(i,e,new ew(i,{sourceEvent:a,subject:f,target:h,identifier:o,active:m,x:g[0]+s,y:g[1]+c,dx:g[0]-x[0],dy:g[1]-x[1],dispatch:p}),r)}}return h.filter=function(e){return arguments.length?(o="function"==typeof e?e:eb(!!e),h):o},h.container=function(e){return arguments.length?(i="function"==typeof e?e:eb(e),h):i},h.subject=function(e){return arguments.length?(a="function"==typeof e?e:eb(e),h):a},h.touchable=function(e){return arguments.length?(s="function"==typeof e?e:eb(!!e),h):s},h.on=function(){var e=u.on.apply(u,arguments);return e===u?h:e},h.clickDistance=function(e){return arguments.length?(c=(e*=1)*e,h):Math.sqrt(c)},h}function eM(e){return((e=Math.exp(e))+1/e)/2}ew.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};let eE=function e(t,n,r){function o(e,o){var i,a,s=e[0],l=e[1],u=e[2],d=o[0],c=o[1],h=o[2],f=d-s,p=c-l,g=f*f+p*p;if(g<1e-12)a=Math.log(h/u)/t,i=function(e){return[s+e*f,l+e*p,u*Math.exp(t*e*a)]};else{var m=Math.sqrt(g),x=(h*h-u*u+r*g)/(2*u*n*m),y=(h*h-u*u-r*g)/(2*h*n*m),v=Math.log(Math.sqrt(x*x+1)-x);a=(Math.log(Math.sqrt(y*y+1)-y)-v)/t,i=function(e){var r,o,i=e*a,d=eM(v),c=u/(n*m)*(d*(((r=Math.exp(2*(r=t*i+v)))-1)/(r+1))-((o=Math.exp(o=v))-1/o)/2);return[s+c*f,l+c*p,u*d/eM(t*i+v)]}}return i.duration=1e3*a*t/Math.SQRT2,i}return o.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},o}(Math.SQRT2,2,4);var ej,eP,eD=0,eI=0,eA=0,eR=0,eT=0,ez=0,e$="object"==typeof performance&&performance.now?performance:Date,eL="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function eO(){return eT||(eL(eB),eT=e$.now()+ez)}function eB(){eT=0}function eH(){this._call=this._time=this._next=null}function eF(e,t,n){var r=new eH;return r.restart(e,t,n),r}function eV(){eT=(eR=e$.now())+ez,eD=eI=0;try{eO(),++eD;for(var e,t=ej;t;)(e=eT-t._time)>=0&&t._call.call(void 0,e),t=t._next;--eD}finally{eD=0,function(){for(var e,t,n=ej,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:ej=t);eP=e,eq(r)}(),eT=0}}function eX(){var e=e$.now(),t=e-eR;t>1e3&&(ez-=t,eR=e)}function eq(e){!eD&&(eI&&(eI=clearTimeout(eI)),e-eT>24?(e<1/0&&(eI=setTimeout(eV,e-e$.now()-ez)),eA&&(eA=clearInterval(eA))):(eA||(eR=e$.now(),eA=setInterval(eX,1e3)),eD=1,eL(eV)))}function eY(e,t,n){var r=new eH;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}eH.prototype=eF.prototype={constructor:eH,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?eO():+n)+(null==t?0:+t),this._next||eP===this||(eP?eP._next=this:ej=this,eP=this),this._call=e,this._time=n,eq()},stop:function(){this._call&&(this._call=null,this._time=1/0,eq())}};var eK=C("start","end","cancel","interrupt"),eZ=[];function eW(e,t,n,r,o,i){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,o=e.__transition;function i(l){var u,d,c,h;if(1!==n.state)return s();for(u in o)if((h=o[u]).name===n.name){if(3===h.state)return eY(i);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[u]):+u<t&&(h.state=6,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[u])}if(eY(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(u=0,n.state=3,r=Array(c=n.tween.length),d=-1;u<c;++u)(h=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++d]=h);r.length=d+1}}function a(t){for(var o=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(s),n.state=5,1),i=-1,a=r.length;++i<a;)r[i].call(e,o);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),s())}function s(){for(var r in n.state=6,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=eF(function(e){n.state=1,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)},0,n.time)}(e,n,{name:t,index:r,group:o,on:eK,tween:eZ,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function eU(e,t){var n=eQ(e,t);if(n.state>0)throw Error("too late; already scheduled");return n}function eG(e,t){var n=eQ(e,t);if(n.state>3)throw Error("too late; already running");return n}function eQ(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error("transition not found");return n}function eJ(e,t){var n,r,o,i=e.__transition,a=!0;if(i){for(o in t=null==t?null:t+"",i){if((n=i[o]).name!==t){a=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[o]}a&&delete e.__transition}}function e0(e,t){return e*=1,t*=1,function(n){return e*(1-n)+t*n}}var e1=180/Math.PI,e2={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function e5(e,t,n,r,o,i){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),e*r<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*e1,skewX:Math.atan(l)*e1,scaleX:a,scaleY:s}}function e3(e,t,n,r){function o(e){return e.length?e.pop()+" ":""}return function(i,a){var s,l,u,d,c=[],h=[];return i=e(i),a=e(a),!function(e,r,o,i,a,s){if(e!==o||r!==i){var l=a.push("translate(",null,t,null,n);s.push({i:l-4,x:e0(e,o)},{i:l-2,x:e0(r,i)})}else(o||i)&&a.push("translate("+o+t+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,c,h),s=i.rotate,l=a.rotate,s!==l?(s-l>180?l+=360:l-s>180&&(s+=360),h.push({i:c.push(o(c)+"rotate(",null,r)-2,x:e0(s,l)})):l&&c.push(o(c)+"rotate("+l+r),u=i.skewX,d=a.skewX,u!==d?h.push({i:c.push(o(c)+"skewX(",null,r)-2,x:e0(u,d)}):d&&c.push(o(c)+"skewX("+d+r),!function(e,t,n,r,i,a){if(e!==n||t!==r){var s=i.push(o(i)+"scale(",null,",",null,")");a.push({i:s-4,x:e0(e,n)},{i:s-2,x:e0(t,r)})}else(1!==n||1!==r)&&i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,c,h),i=a=null,function(e){for(var t,n=-1,r=h.length;++n<r;)c[(t=h[n]).i]=t.x(e);return c.join("")}}}var e4=e3(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?e2:e5(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),e6=e3(function(e){return null==e?e2:(u||(u=document.createElementNS("http://www.w3.org/2000/svg","g")),u.setAttribute("transform",e),e=u.transform.baseVal.consolidate())?e5((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):e2},", ",")",")");function e8(e,t,n){var r=e._id;return e.each(function(){var e=eG(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return eQ(e,r).value[t]}}function e9(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function e7(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function te(){}var tt="\\s*([+-]?\\d+)\\s*",tn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",tr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",to=/^#([0-9a-f]{3,8})$/,ti=RegExp(`^rgb\\(${tt},${tt},${tt}\\)$`),ta=RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),ts=RegExp(`^rgba\\(${tt},${tt},${tt},${tn}\\)$`),tl=RegExp(`^rgba\\(${tr},${tr},${tr},${tn}\\)$`),tu=RegExp(`^hsl\\(${tn},${tr},${tr}\\)$`),td=RegExp(`^hsla\\(${tn},${tr},${tr},${tn}\\)$`),tc={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function th(){return this.rgb().formatHex()}function tf(){return this.rgb().formatRgb()}function tp(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=to.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?tg(t):3===n?new ty(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?tm(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?tm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ti.exec(e))?new ty(t[1],t[2],t[3],1):(t=ta.exec(e))?new ty(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ts.exec(e))?tm(t[1],t[2],t[3],t[4]):(t=tl.exec(e))?tm(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=tu.exec(e))?tk(t[1],t[2]/100,t[3]/100,1):(t=td.exec(e))?tk(t[1],t[2]/100,t[3]/100,t[4]):tc.hasOwnProperty(e)?tg(tc[e]):"transparent"===e?new ty(NaN,NaN,NaN,0):null}function tg(e){return new ty(e>>16&255,e>>8&255,255&e,1)}function tm(e,t,n,r){return r<=0&&(e=t=n=NaN),new ty(e,t,n,r)}function tx(e,t,n,r){var o;return 1==arguments.length?((o=e)instanceof te||(o=tp(o)),o)?new ty((o=o.rgb()).r,o.g,o.b,o.opacity):new ty:new ty(e,t,n,null==r?1:r)}function ty(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function tv(){return`#${tN(this.r)}${tN(this.g)}${tN(this.b)}`}function tb(){let e=tw(this.opacity);return`${1===e?"rgb(":"rgba("}${tC(this.r)}, ${tC(this.g)}, ${tC(this.b)}${1===e?")":`, ${e})`}`}function tw(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function tC(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function tN(e){return((e=tC(e))<16?"0":"")+e.toString(16)}function tk(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new t_(e,t,n,r)}function tS(e){if(e instanceof t_)return new t_(e.h,e.s,e.l,e.opacity);if(e instanceof te||(e=tp(e)),!e)return new t_;if(e instanceof t_)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,s=i-o,l=(i+o)/2;return s?(a=t===i?(n-r)/s+(n<r)*6:n===i?(r-t)/s+2:(t-n)/s+4,s/=l<.5?i+o:2-i-o,a*=60):s=l>0&&l<1?0:a,new t_(a,s,l,e.opacity)}function t_(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function tM(e){return(e=(e||0)%360)<0?e+360:e}function tE(e){return Math.max(0,Math.min(1,e||0))}function tj(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function tP(e,t,n,r,o){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*n+(1+3*e+3*i-3*a)*r+a*o)/6}e9(te,tp,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:th,formatHex:th,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tS(this).formatHsl()},formatRgb:tf,toString:tf}),e9(ty,tx,e7(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new ty(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new ty(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ty(tC(this.r),tC(this.g),tC(this.b),tw(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:tv,formatHex:tv,formatHex8:function(){return`#${tN(this.r)}${tN(this.g)}${tN(this.b)}${tN((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tb,toString:tb})),e9(t_,function(e,t,n,r){return 1==arguments.length?tS(e):new t_(e,t,n,null==r?1:r)},e7(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new t_(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new t_(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new ty(tj(e>=240?e-240:e+120,o,r),tj(e,o,r),tj(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new t_(tM(this.h),tE(this.s),tE(this.l),tw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=tw(this.opacity);return`${1===e?"hsl(":"hsla("}${tM(this.h)}, ${100*tE(this.s)}%, ${100*tE(this.l)}%${1===e?")":`, ${e})`}`}}));let tD=e=>()=>e;function tI(e,t){var n=t-e;return n?function(t){return e+t*n}:tD(isNaN(e)?t:e)}let tA=function e(t){var n,r=1==(n=+t)?tI:function(e,t){var r,o,i;return t-e?(r=e,o=t,r=Math.pow(r,i=n),o=Math.pow(o,i)-r,i=1/i,function(e){return Math.pow(r+e*o,i)}):tD(isNaN(e)?t:e)};function o(e,t){var n=r((e=tx(e)).r,(t=tx(t)).r),o=r(e.g,t.g),i=r(e.b,t.b),a=tI(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+""}}return o.gamma=e,o}(1);function tR(e){return function(t){var n,r,o=t.length,i=Array(o),a=Array(o),s=Array(o);for(n=0;n<o;++n)r=tx(t[n]),i[n]=r.r||0,a[n]=r.g||0,s[n]=r.b||0;return i=e(i),a=e(a),s=e(s),r.opacity=1,function(e){return r.r=i(e),r.g=a(e),r.b=s(e),r+""}}}tR(function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],a=r>0?e[r-1]:2*o-i,s=r<t-1?e[r+2]:2*i-o;return tP((n-r/t)*t,a,o,i,s)}}),tR(function(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),o=e[(r+t-1)%t],i=e[r%t],a=e[(r+1)%t],s=e[(r+2)%t];return tP((n-r/t)*t,o,i,a,s)}});var tT=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tz=RegExp(tT.source,"g");function t$(e,t){var n,r,o,i,a,s=tT.lastIndex=tz.lastIndex=0,l=-1,u=[],d=[];for(e+="",t+="";(o=tT.exec(e))&&(i=tz.exec(t));)(a=i.index)>s&&(a=t.slice(s,a),u[l]?u[l]+=a:u[++l]=a),(o=o[0])===(i=i[0])?u[l]?u[l]+=i:u[++l]=i:(u[++l]=null,d.push({i:l,x:e0(o,i)})),s=tz.lastIndex;return s<t.length&&(a=t.slice(s),u[l]?u[l]+=a:u[++l]=a),u.length<2?d[0]?(n=d[0].x,function(e){return n(e)+""}):(r=t,function(){return r}):(t=d.length,function(e){for(var n,r=0;r<t;++r)u[(n=d[r]).i]=n.x(e);return u.join("")})}function tL(e,t){var n;return("number"==typeof t?e0:t instanceof tp?tA:(n=tp(t))?(t=n,tA):t$)(e,t)}var tO=ec.prototype.constructor;function tB(e){return function(){this.style.removeProperty(e)}}var tH=0;function tF(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}var tV=ec.prototype;tF.prototype=(function(e){return ec().transition(e)}).prototype={constructor:tF,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=_(e));for(var r=this._groups,o=r.length,i=Array(o),a=0;a<o;++a)for(var s,l,u=r[a],d=u.length,c=i[a]=Array(d),h=0;h<d;++h)(s=u[h])&&(l=e.call(s,s.__data__,h,u))&&("__data__"in s&&(l.__data__=s.__data__),c[h]=l,eW(c[h],t,n,h,c,eQ(s,n)));return new tF(i,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=E(e));for(var r=this._groups,o=r.length,i=[],a=[],s=0;s<o;++s)for(var l,u=r[s],d=u.length,c=0;c<d;++c)if(l=u[c]){for(var h,f=e.call(l,l.__data__,c,u),p=eQ(l,n),g=0,m=f.length;g<m;++g)(h=f[g])&&eW(h,t,n,g,f,p);i.push(f),a.push(l)}return new tF(i,a,t,n)},selectChild:tV.selectChild,selectChildren:tV.selectChildren,filter:function(e){"function"!=typeof e&&(e=j(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a=t[o],s=a.length,l=r[o]=[],u=0;u<s;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&l.push(i);return new tF(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),a=Array(r),s=0;s<i;++s)for(var l,u=t[s],d=n[s],c=u.length,h=a[s]=Array(c),f=0;f<c;++f)(l=u[f]||d[f])&&(h[f]=l);for(;s<r;++s)a[s]=t[s];return new tF(a,this._parents,this._name,this._id)},selection:function(){return new tO(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=++tH,r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],l=s.length,u=0;u<l;++u)if(a=s[u]){var d=eQ(a,t);eW(a,e,n,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new tF(r,this._parents,e,n)},call:tV.call,nodes:tV.nodes,node:tV.node,size:tV.size,empty:tV.empty,each:tV.each,on:function(e,t){var n,r,o,i,a,s,l=this._id;return arguments.length<2?eQ(this.node(),l).on.on(e):this.each((n=l,r=e,o=t,s=(r+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?eU:eG,function(){var e=s(this,n),t=e.on;t!==i&&(a=(i=t).copy()).on(r,o),e.on=a}))},attr:function(e,t){var n=V(e),r="transform"===n?e6:tL;return this.attrTween(e,"function"==typeof t?(n.local?function(e,t,n){var r,o,i;return function(){var a,s,l=n(this);return null==l?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:a===r&&s===o?i:(o=s,i=t(r=a,l))}}:function(e,t,n){var r,o,i;return function(){var a,s,l=n(this);return null==l?void this.removeAttribute(e):(a=this.getAttribute(e))===(s=l+"")?null:a===r&&s===o?i:(o=s,i=t(r=a,l))}})(n,r,e8(this,"attr."+e,t)):null==t?(n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(n):(n.local?function(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}:function(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}})(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();var r=V(e);return this.tween(n,(r.local?function(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&function(t){this.setAttributeNS(e.space,e.local,o.call(this,t))}),n}return o._value=t,o}:function(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&function(t){this.setAttribute(e,o.call(this,t))}),n}return o._value=t,o})(r,t))},style:function(e,t,n){var r,o,i,a,s,l,u,d,c,h,f,p,g,m,x,y,v,b,w,C,N,k="transform"==(e+="")?e4:tL;return null==t?this.styleTween(e,(r=e,function(){var e=q(this,r),t=(this.style.removeProperty(r),q(this,r));return e===t?null:e===o&&t===i?a:a=k(o=e,i=t)})).on("end.style."+e,tB(e)):"function"==typeof t?this.styleTween(e,(s=e,l=e8(this,"style."+e,t),function(){var e=q(this,s),t=l(this),n=t+"";return null==t&&(this.style.removeProperty(s),n=t=q(this,s)),e===n?null:e===u&&n===d?c:(d=n,c=k(u=e,t))})).each((h=this._id,v="end."+(y="style."+(f=e)),function(){var e=eG(this,h),t=e.on,n=null==e.value[y]?x||(x=tB(f)):void 0;(t!==p||m!==n)&&(g=(p=t).copy()).on(v,m=n),e.on=g})):this.styleTween(e,(b=e,N=t+"",function(){var e=q(this,b);return e===N?null:e===w?C:C=k(w=e,t)}),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw Error();return this.tween(r,function(e,t,n){var r,o;function i(){var i=t.apply(this,arguments);return i!==o&&(r=(o=i)&&function(t){this.style.setProperty(e,i.call(this,t),n)}),r}return i._value=t,i}(e,t,null==n?"":n))},text:function(e){var t,n;return this.tween("text","function"==typeof e?(t=e8(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(n=null==e?"":e+"",function(){this.textContent=n}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){this.textContent=r.call(this,e)}),t}return r._value=e,r}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,o=eQ(this.node(),n).tween,i=0,a=o.length;i<a;++i)if((r=o[i]).name===e)return r.value;return null}return this.each((null==t?function(e,t){var n,r;return function(){var o=eG(this,e),i=o.tween;if(i!==n){r=n=i;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}}o.tween=r}}:function(e,t,n){var r,o;if("function"!=typeof n)throw Error();return function(){var i=eG(this,e),a=i.tween;if(a!==r){o=(r=a).slice();for(var s={name:t,value:n},l=0,u=o.length;l<u;++l)if(o[l].name===t){o[l]=s;break}l===u&&o.push(s)}i.tween=o}})(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eU(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eU(this,e).delay=t}})(t,e)):eQ(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eG(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eG(this,e).duration=t}})(t,e)):eQ(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){eG(this,e).ease=t}}(t,e)):eQ(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw Error();eG(this,t).ease=n}))},end:function(){var e,t,n=this,r=n._id,o=n.size();return new Promise(function(i,a){var s={value:a},l={value:function(){0==--o&&i()}};n.each(function(){var n=eG(this,r),o=n.on;o!==e&&((t=(e=o).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),n.on=t}),0===o&&i()})},[Symbol.iterator]:tV[Symbol.iterator]};var tX={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};ec.prototype.interrupt=function(e){return this.each(function(){eJ(this,e)})},ec.prototype.transition=function(e){var t,n;e instanceof tF?(t=e._id,e=e._name):(t=++tH,(n=tX).time=eO(),e=null==e?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],l=s.length,u=0;u<l;++u)(a=s[u])&&eW(a,e,t,u,s,n||function(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}(a,t));return new tF(r,this._parents,e,t)};let tq=e=>()=>e;function tY(e,{sourceEvent:t,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function tK(e,t,n){this.k=e,this.x=t,this.y=n}tK.prototype={constructor:tK,scale:function(e){return 1===e?this:new tK(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new tK(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 tZ=new tK(1,0,0);function tW(e){for(;!e.__zoom;)if(!(e=e.parentNode))return tZ;return e.__zoom}function tU(e){e.stopImmediatePropagation()}function tG(e){e.preventDefault(),e.stopImmediatePropagation()}function tQ(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function tJ(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function t0(){return this.__zoom||tZ}function t1(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function t2(){return navigator.maxTouchPoints||"ontouchstart"in this}function t5(e,t,n){var r=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function t3(){var e,t,n,r=tQ,o=tJ,i=t5,a=t1,s=t2,l=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],d=250,c=eE,h=C("start","zoom","end"),f=0,p=10;function g(e){e.property("__zoom",t0).on("wheel.zoom",N,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",S).filter(s).on("touchstart.zoom",_).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",E).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new tK(t,e.x,e.y)}function x(e,t,n){var r=t[0]-n[0]*e.k,o=t[1]-n[1]*e.k;return r===e.x&&o===e.y?e:new tK(e.k,r,o)}function y(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function v(e,t,n,r){e.on("start.zoom",function(){b(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){b(this,arguments).event(r).end()}).tween("zoom",function(){var e=arguments,i=b(this,e).event(r),a=o.apply(this,e),s=null==n?y(a):"function"==typeof n?n.apply(this,e):n,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,d="function"==typeof t?t.apply(this,e):t,h=c(u.invert(s).concat(l/u.k),d.invert(s).concat(l/d.k));return function(e){if(1===e)e=d;else{var t=h(e),n=l/t[2];e=new tK(n,s[0]-t[0]*n,s[1]-t[1]*n)}i.zoom(null,e)}})}function b(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function N(e,...t){if(r.apply(this,arguments)){var n=b(this,t).event(e),o=this.__zoom,s=Math.max(l[0],Math.min(l[1],o.k*Math.pow(2,a.apply(this,arguments)))),d=ef(e);if(n.wheel)(n.mouse[0][0]!==d[0]||n.mouse[0][1]!==d[1])&&(n.mouse[1]=o.invert(n.mouse[0]=d)),clearTimeout(n.wheel);else{if(o.k===s)return;n.mouse=[d,o.invert(d)],eJ(this),n.start()}tG(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",i(x(m(o,s),n.mouse[0],n.mouse[1]),n.extent,u))}}function k(e,...t){if(!n&&r.apply(this,arguments)){var o=e.currentTarget,a=b(this,t,!0).event(e),s=eh(e.view).on("mousemove.zoom",function(e){if(tG(e),!a.moved){var t=e.clientX-d,n=e.clientY-c;a.moved=t*t+n*n>f}a.event(e).zoom("mouse",i(x(a.that.__zoom,a.mouse[0]=ef(e,o),a.mouse[1]),a.extent,u))},!0).on("mouseup.zoom",function(e){s.on("mousemove.zoom mouseup.zoom",null),ev(e.view,a.moved),tG(e),a.event(e).end()},!0),l=ef(e,o),d=e.clientX,c=e.clientY;ey(e.view),tU(e),a.mouse=[l,this.__zoom.invert(l)],eJ(this),a.start()}}function S(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,a=ef(e.changedTouches?e.changedTouches[0]:e,this),s=n.invert(a),l=n.k*(e.shiftKey?.5:2),c=i(x(m(n,l),a,s),o.apply(this,t),u);tG(e),d>0?eh(this).transition().duration(d).call(v,c,a,e):eh(this).call(g.transform,c,a,e)}}function _(n,...o){if(r.apply(this,arguments)){var i,a,s,l,u=n.touches,d=u.length,c=b(this,o,n.changedTouches.length===d).event(n);for(tU(n),a=0;a<d;++a)l=[l=ef(s=u[a],this),this.__zoom.invert(l),s.identifier],c.touch0?c.touch1||c.touch0[2]===l[2]||(c.touch1=l,c.taps=0):(c.touch0=l,i=!0,c.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(c.taps<2&&(t=l[0],e=setTimeout(function(){e=null},500)),eJ(this),c.start())}}function M(e,...t){if(this.__zooming){var n,r,o,a,s=b(this,t).event(e),l=e.changedTouches,d=l.length;for(tG(e),n=0;n<d;++n)o=ef(r=l[n],this),s.touch0&&s.touch0[2]===r.identifier?s.touch0[0]=o:s.touch1&&s.touch1[2]===r.identifier&&(s.touch1[0]=o);if(r=s.that.__zoom,s.touch1){var c=s.touch0[0],h=s.touch0[1],f=s.touch1[0],p=s.touch1[1],g=(g=f[0]-c[0])*g+(g=f[1]-c[1])*g,y=(y=p[0]-h[0])*y+(y=p[1]-h[1])*y;r=m(r,Math.sqrt(g/y)),o=[(c[0]+f[0])/2,(c[1]+f[1])/2],a=[(h[0]+p[0])/2,(h[1]+p[1])/2]}else{if(!s.touch0)return;o=s.touch0[0],a=s.touch0[1]}s.zoom("touch",i(x(r,o,a),s.extent,u))}}function E(e,...r){if(this.__zooming){var o,i,a=b(this,r).event(e),s=e.changedTouches,l=s.length;for(tU(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),o=0;o<l;++o)i=s[o],a.touch0&&a.touch0[2]===i.identifier?delete a.touch0:a.touch1&&a.touch1[2]===i.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(i=ef(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<p)){var u=eh(this).on("dblclick.zoom");u&&u.apply(this,arguments)}}}return g.transform=function(e,t,n,r){var o=e.selection?e.selection():e;o.property("__zoom",t0),e!==o?v(e,t,n,r):o.interrupt().each(function(){b(this,arguments).event(r).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},g.scaleBy=function(e,t,n,r){g.scaleTo(e,function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n},n,r)},g.scaleTo=function(e,t,n,r){g.transform(e,function(){var e=o.apply(this,arguments),r=this.__zoom,a=null==n?y(e):"function"==typeof n?n.apply(this,arguments):n,s=r.invert(a),l="function"==typeof t?t.apply(this,arguments):t;return i(x(m(r,l),a,s),e,u)},n,r)},g.translateBy=function(e,t,n,r){g.transform(e,function(){return i(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),u)},null,r)},g.translateTo=function(e,t,n,r,a){g.transform(e,function(){var e=o.apply(this,arguments),a=this.__zoom,s=null==r?y(e):"function"==typeof r?r.apply(this,arguments):r;return i(tZ.translate(s[0],s[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,u)},r,a)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=eh(this.that).datum();h.call(e,this.that,new tY(e,{sourceEvent:this.sourceEvent,target:g,type:e,transform:this.that.__zoom,dispatch:h}),t)}},g.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:tq(+e),g):a},g.filter=function(e){return arguments.length?(r="function"==typeof e?e:tq(!!e),g):r},g.touchable=function(e){return arguments.length?(s="function"==typeof e?e:tq(!!e),g):s},g.extent=function(e){return arguments.length?(o="function"==typeof e?e:tq([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),g):o},g.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],g):[l[0],l[1]]},g.translateExtent=function(e){return arguments.length?(u[0][0]=+e[0][0],u[1][0]=+e[1][0],u[0][1]=+e[0][1],u[1][1]=+e[1][1],g):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},g.constrain=function(e){return arguments.length?(i=e,g):i},g.duration=function(e){return arguments.length?(d=+e,g):d},g.interpolate=function(e){return arguments.length?(c=e,g):c},g.on=function(){var e=h.on.apply(h,arguments);return e===h?g:e},g.clickDistance=function(e){return arguments.length?(f=(e*=1)*e,g):Math.sqrt(f)},g.tapDistance=function(e){return arguments.length?(p=+e,g):p},g}function t4(e,t){var n,r,o=typeof t;return null==t||"boolean"===o?tD(t):("number"===o?e0:"string"===o?(r=tp(t))?(t=r,tA):t$:t instanceof tp?tA:t instanceof Date?function(e,t){var n=new Date;return e*=1,t*=1,function(r){return n.setTime(e*(1-r)+t*r),n}}:!ArrayBuffer.isView(n=t)||n instanceof DataView?Array.isArray(t)?function(e,t){var n,r=t?t.length:0,o=e?Math.min(r,e.length):0,i=Array(o),a=Array(r);for(n=0;n<o;++n)i[n]=t4(e[n],t[n]);for(;n<r;++n)a[n]=t[n];return function(e){for(n=0;n<o;++n)a[n]=i[n](e);return a}}:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?function(e,t){var n,r={},o={};for(n in(null===e||"object"!=typeof e)&&(e={}),(null===t||"object"!=typeof t)&&(t={}),t)n in e?r[n]=t4(e[n],t[n]):o[n]=t[n];return function(e){for(n in r)o[n]=r[n](e);return o}}:e0:function(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,o=t.slice();return function(i){for(n=0;n<r;++n)o[n]=e[n]*(1-i)+t[n]*i;return o}})(e,t)}tW.prototype=tK.prototype;let t6={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${"source"===e?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."},t8=[[-1/0,-1/0],[1/0,1/0]],t9=["Enter"," ","Escape"],t7={"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"};(t=d||(d={})).Strict="strict",t.Loose="loose",(n=c||(c={})).Free="free",n.Vertical="vertical",n.Horizontal="horizontal",(r=h||(h={})).Partial="partial",r.Full="full";let ne={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(o=f||(f={})).Bezier="default",o.Straight="straight",o.Step="step",o.SmoothStep="smoothstep",o.SimpleBezier="simplebezier",(i=p||(p={})).Arrow="arrow",i.ArrowClosed="arrowclosed",(a=g||(g={})).Left="left",a.Top="top",a.Right="right",a.Bottom="bottom";let nt={[g.Left]:g.Right,[g.Right]:g.Left,[g.Top]:g.Bottom,[g.Bottom]:g.Top};function nn(e,t){if(!e&&!t)return!0;if(!e||!t||e.size!==t.size)return!1;if(!e.size&&!t.size)return!0;for(let n of e.keys())if(!t.has(n))return!1;return!0}function nr(e,t,n){if(!n)return;let r=[];e.forEach((e,n)=>{t?.has(n)||r.push(e)}),r.length&&n(r)}function no(e){return null===e?null:e?"valid":"invalid"}let ni=e=>"id"in e&&"source"in e&&"target"in e,na=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),ns=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),nl=(e,t=[0,0])=>{let{width:n,height:r}=n$(e),o=e.origin??t,i=n*o[0],a=r*o[1];return{x:e.position.x-i,y:e.position.y-a}},nu=(e,t={nodeOrigin:[0,0]})=>0===e.length?{x:0,y:0,width:0,height:0}:nC(e.reduce((e,n)=>{let r="string"==typeof n,o=t.nodeLookup||r?void 0:n;return t.nodeLookup&&(o=r?t.nodeLookup.get(n):ns(n)?n:t.nodeLookup.get(n.id)),nb(e,o?nk(o,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nd=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(void 0===t.filter||t.filter(e))&&(n=nb(n,nk(e)),r=!0)}),r?nC(n):{x:0,y:0,width:0,height:0}},nc=(e,t,[n,r,o]=[0,0,1],i=!1,a=!1)=>{let s={...nD(t,[n,r,o]),width:t.width/o,height:t.height/o},l=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(a&&!n||r)continue;let o=e.width??t.width??t.initialWidth??null,u=e.height??t.height??t.initialHeight??null,d=n_(s,nN(t)),c=(o??0)*(u??0),h=i&&d>0;(!t.internals.handleBounds||h||d>=c||t.dragging)&&l.push(t)}return l};async function nh({nodes:e,width:t,height:n,panZoom:r,minZoom:o,maxZoom:i},a){let s,l;if(0===e.size)return Promise.resolve(!0);let u=nR(nd((s=new Map,l=a?.nodes?new Set(a.nodes.map(e=>e.id)):null,e.forEach(e=>{e.measured.width&&e.measured.height&&(a?.includeHiddenNodes||!e.hidden)&&(!l||l.has(e.id))&&s.set(e.id,e)}),s)),t,n,a?.minZoom??o,a?.maxZoom??i,a?.padding??.1);return await r.setViewport(u,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),Promise.resolve(!0)}function nf({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:o,onError:i}){let a=n.get(e),s=a.parentId?n.get(a.parentId):void 0,{x:l,y:u}=s?s.internals.positionAbsolute:{x:0,y:0},d=a.origin??r,c=a.extent||o;if("parent"!==a.extent||a.expandParent)s&&nz(a.extent)&&(c=[[a.extent[0][0]+l,a.extent[0][1]+u],[a.extent[1][0]+l,a.extent[1][1]+u]]);else if(s){let e=s.measured.width,t=s.measured.height;e&&t&&(c=[[l,u],[l+e,u+t]])}else i?.("005",t6.error005());let h=nz(c)?nm(t,c,a.measured):t;return(void 0===a.measured.width||void 0===a.measured.height)&&i?.("015",t6.error015()),{position:{x:h.x-l+(a.measured.width??0)*d[0],y:h.y-u+(a.measured.height??0)*d[1]},positionAbsolute:h}}async function np({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:o}){let i,a=new Set(e.map(e=>e.id)),s=[];for(let e of n){if(!1===e.deletable)continue;let t=a.has(e.id),n=!t&&e.parentId&&s.find(t=>t.id===e.parentId);(t||n)&&s.push(e)}let l=new Set(t.map(e=>e.id)),u=r.filter(e=>!1!==e.deletable),d=(i=new Set,s.forEach(e=>{i.add(e.id)}),u.filter(e=>i.has(e.source)||i.has(e.target)));for(let e of u)l.has(e.id)&&!d.find(t=>t.id===e.id)&&d.push(e);if(!o)return{edges:d,nodes:s};let c=await o({nodes:s,edges:d});return"boolean"==typeof c?c?{edges:d,nodes:s}:{edges:[],nodes:[]}:c}let ng=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),nm=(e={x:0,y:0},t,n)=>({x:ng(e.x,t[0][0],t[1][0]-(n?.width??0)),y:ng(e.y,t[0][1],t[1][1]-(n?.height??0))});function nx(e,t,n){let{width:r,height:o}=n$(n),{x:i,y:a}=n.internals.positionAbsolute;return nm(e,[[i,a],[i+r,a+o]],t)}let ny=(e,t,n)=>e<t?ng(Math.abs(e-t),1,t)/t:e>n?-ng(Math.abs(e-n),1,t)/t:0,nv=(e,t,n=15,r=40)=>[ny(e.x,r,t.width-r)*n,ny(e.y,r,t.height-r)*n],nb=(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)}),nw=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),nC=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),nN=(e,t=[0,0])=>{let{x:n,y:r}=ns(e)?e.internals.positionAbsolute:nl(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}},nk=(e,t=[0,0])=>{let{x:n,y:r}=ns(e)?e.internals.positionAbsolute:nl(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)}},nS=(e,t)=>nC(nb(nw(e),nw(t))),n_=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),nM=e=>nE(e.width)&&nE(e.height)&&nE(e.x)&&nE(e.y),nE=e=>!isNaN(e)&&isFinite(e),nj=(e,t)=>{},nP=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),nD=({x:e,y:t},[n,r,o],i=!1,a=[1,1])=>{let s={x:(e-n)/o,y:(t-r)/o};return i?nP(s,a):s},nI=({x:e,y:t},[n,r,o])=>({x:e*o+n,y:t*o+r});function nA(e,t){if("number"==typeof e)return Math.floor((t-t/(1+e))*.5);if("string"==typeof e&&e.endsWith("px")){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if("string"==typeof e&&e.endsWith("%")){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let nR=(e,t,n,r,o,i)=>{let a=function(e,t,n){if("string"==typeof e||"number"==typeof e){let r=nA(e,n),o=nA(e,t);return{top:r,right:o,bottom:r,left:o,x:2*o,y:2*r}}if("object"==typeof e){let r=nA(e.top??e.y??0,n),o=nA(e.bottom??e.y??0,n),i=nA(e.left??e.x??0,t),a=nA(e.right??e.x??0,t);return{top:r,right:a,bottom:o,left:i,x:i+a,y:r+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(i,t,n),s=ng(Math.min((t-a.x)/e.width,(n-a.y)/e.height),r,o),l=e.x+e.width/2,u=e.y+e.height/2,d=t/2-l*s,c=n/2-u*s,h=function(e,t,n,r,o,i){let{x:a,y:s}=nI(e,[t,n,r]),{x:l,y:u}=nI({x:e.x+e.width,y:e.y+e.height},[t,n,r]);return{left:Math.floor(a),top:Math.floor(s),right:Math.floor(o-l),bottom:Math.floor(i-u)}}(e,d,c,s,t,n),f={left:Math.min(h.left-a.left,0),top:Math.min(h.top-a.top,0),right:Math.min(h.right-a.right,0),bottom:Math.min(h.bottom-a.bottom,0)};return{x:d-f.left+f.right,y:c-f.top+f.bottom,zoom:s}},nT=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function nz(e){return null!=e&&"parent"!==e}function n$(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function nL(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function nO(e,t={width:0,height:0},n,r,o){let i={...e},a=r.get(n);if(a){let e=a.origin||o;i.x+=a.internals.positionAbsolute.x-(t.width??0)*e[0],i.y+=a.internals.positionAbsolute.y-(t.height??0)*e[1]}return i}function nB(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function nH(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function nF(e){return{...t7,...e||{}}}function nV(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:o}){let{x:i,y:a}=nW(e),s=nD({x:i-(o?.left??0),y:a-(o?.top??0)},r),{x:l,y:u}=n?nP(s,t):s;return{xSnapped:l,ySnapped:u,...s}}let nX=e=>({width:e.offsetWidth,height:e.offsetHeight}),nq=e=>e?.getRootNode?.()||window?.document,nY=["INPUT","SELECT","TEXTAREA"];function nK(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1&&(nY.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey"))}let nZ=e=>"clientX"in e,nW=(e,t)=>{let n=nZ(e),r=n?e.clientX:e.touches?.[0].clientX,o=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:o-(t?.top??0)}},nU=(e,t,n,r,o)=>{let i=t.querySelectorAll(`.${e}`);return i&&i.length?Array.from(i).map(t=>{let i=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),type:e,nodeId:o,position:t.getAttribute("data-handlepos"),x:(i.left-n.left)/r,y:(i.top-n.top)/r,...nX(t)}}):null};function nG({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:o,sourceControlY:i,targetControlX:a,targetControlY:s}){let l=.125*e+.375*o+.375*a+.125*n,u=.125*t+.375*i+.375*s+.125*r,d=Math.abs(l-e),c=Math.abs(u-t);return[l,u,d,c]}function nQ(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function nJ({pos:e,x1:t,y1:n,x2:r,y2:o,c:i}){switch(e){case g.Left:return[t-nQ(t-r,i),n];case g.Right:return[t+nQ(r-t,i),n];case g.Top:return[t,n-nQ(n-o,i)];case g.Bottom:return[t,n+nQ(o-n,i)]}}function n0({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:r,targetY:o,targetPosition:i=g.Top,curvature:a=.25}){let[s,l]=nJ({pos:n,x1:e,y1:t,x2:r,y2:o,c:a}),[u,d]=nJ({pos:i,x1:r,y1:o,x2:e,y2:t,c:a}),[c,h,f,p]=nG({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${s},${l} ${u},${d} ${r},${o}`,c,h,f,p]}function n1({sourceX:e,sourceY:t,targetX:n,targetY:r}){let o=Math.abs(n-e)/2,i=Math.abs(r-t)/2;return[n<e?n+o:n-o,r<t?r+i:r-i,o,i]}function n2({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:o=!1,zIndexMode:i="basic"}){if("manual"===i)return r;let a=Math.max(e.parentId||o&&e.selected?e.internals.z:0,t.parentId||o&&t.selected?t.internals.z:0);return(o&&n?r+1e3:r)+a}function n5({sourceNode:e,targetNode:t,width:n,height:r,transform:o}){let i=nb(nk(e),nk(t));return i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1),n_({x:-o[0]/o[2],y:-o[1]/o[2],width:n/o[2],height:r/o[2]},nC(i))>0}let n3=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,n4=(e,t,n={})=>{let r,o;if(!e.source||!e.target)return nj("006",t6.error006()),t;let i=n.getEdgeId||n3;return(o=r=ni(e)?{...e}:{...e,id:i(e)},t.some(e=>e.source===o.source&&e.target===o.target&&(e.sourceHandle===o.sourceHandle||!e.sourceHandle&&!o.sourceHandle)&&(e.targetHandle===o.targetHandle||!e.targetHandle&&!o.targetHandle)))?t:(null===r.sourceHandle&&delete r.sourceHandle,null===r.targetHandle&&delete r.targetHandle,t.concat(r))};function n6({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[o,i,a,s]=n1({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,o,i,a,s]}let n8={[g.Left]:{x:-1,y:0},[g.Right]:{x:1,y:0},[g.Top]:{x:0,y:-1},[g.Bottom]:{x:0,y:1}},n9=({source:e,sourcePosition:t=g.Bottom,target:n})=>t===g.Left||t===g.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},n7=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function re({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:r,targetY:o,targetPosition:i=g.Top,borderRadius:a=5,centerX:s,centerY:l,offset:u=20,stepPosition:d=.5}){let[c,h,f,p,m]=function({source:e,sourcePosition:t=g.Bottom,target:n,targetPosition:r=g.Top,center:o,offset:i,stepPosition:a}){let s,l,u=n8[t],d=n8[r],c={x:e.x+u.x*i,y:e.y+u.y*i},h={x:n.x+d.x*i,y:n.y+d.y*i},f=n9({source:c,sourcePosition:t,target:h}),p=0!==f.x?"x":"y",m=f[p],x=[],y={x:0,y:0},v={x:0,y:0},[,,b,w]=n1({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(u[p]*d[p]==-1){"x"===p?(s=o.x??c.x+(h.x-c.x)*a,l=o.y??(c.y+h.y)/2):(s=o.x??(c.x+h.x)/2,l=o.y??c.y+(h.y-c.y)*a);let e=[{x:s,y:c.y},{x:s,y:h.y}],t=[{x:c.x,y:l},{x:h.x,y:l}];x=u[p]===m?"x"===p?e:t:"x"===p?t:e}else{let o=[{x:c.x,y:h.y}],a=[{x:h.x,y:c.y}];if(x="x"===p?u.x===m?a:o:u.y===m?o:a,t===r){let t=Math.abs(e[p]-n[p]);if(t<=i){let r=Math.min(i-1,i-t);u[p]===m?y[p]=(c[p]>e[p]?-1:1)*r:v[p]=(h[p]>n[p]?-1:1)*r}}if(t!==r){let e="x"===p?"y":"x",t=u[p]===d[e],n=c[e]>h[e],r=c[e]<h[e];(1===u[p]&&(!t&&n||t&&r)||1!==u[p]&&(!t&&r||t&&n))&&(x="x"===p?o:a)}let f={x:c.x+y.x,y:c.y+y.y},g={x:h.x+v.x,y:h.y+v.y};Math.max(Math.abs(f.x-x[0].x),Math.abs(g.x-x[0].x))>=Math.max(Math.abs(f.y-x[0].y),Math.abs(g.y-x[0].y))?(s=(f.x+g.x)/2,l=x[0].y):(s=x[0].x,l=(f.y+g.y)/2)}return[[e,{x:c.x+y.x,y:c.y+y.y},...x,{x:h.x+v.x,y:h.y+v.y},n],s,l,b,w]}({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:o},targetPosition:i,center:{x:s,y:l},offset:u,stepPosition:d});return[c.reduce((e,t,n)=>e+(n>0&&n<c.length-1?function(e,t,n,r){let o=Math.min(n7(e,t)/2,n7(t,n)/2,r),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return`L${i} ${a}`;if(e.y===a){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${i+o*t},${a}Q ${i},${a} ${i},${a+o*r}`}let s=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${i},${a+o*l}Q ${i},${a} ${i+o*s},${a}`}(c[n-1],t,c[n+1],a):`${0===n?"M":"L"}${t.x} ${t.y}`),""),h,f,p,m]}function rt(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function rn(e){let{sourceNode:t,targetNode:n}=e;if(!rt(t)||!rt(n))return null;let r=t.internals.handleBounds||rr(t.handles),o=n.internals.handleBounds||rr(n.handles),i=ri(r?.source??[],e.sourceHandle),a=ri(e.connectionMode===d.Strict?o?.target??[]:(o?.target??[]).concat(o?.source??[]),e.targetHandle);if(!i||!a)return e.onError?.("008",t6.error008(!i?"source":"target",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=i?.position||g.Bottom,l=a?.position||g.Top,u=ro(t,i,s),c=ro(n,a,l);return{sourceX:u.x,sourceY:u.y,targetX:c.x,targetY:c.y,sourcePosition:s,targetPosition:l}}function rr(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,"source"===r.type?t.push(r):"target"===r.type&&n.push(r);return{source:t,target:n}}function ro(e,t,n=g.Left,r=!1){let o=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:a,height:s}=t??n$(e);if(r)return{x:o+a/2,y:i+s/2};switch(t?.position??n){case g.Top:return{x:o+a/2,y:i};case g.Right:return{x:o+a,y:i+s/2};case g.Bottom:return{x:o+a/2,y:i+s};case g.Left:return{x:o,y:i+s/2}}}function ri(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function ra(e,t){if(!e)return"";if("string"==typeof e)return e;let n=t?`${t}__`:"";return`${n}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`}function rs(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:o}){let i=new Set;return e.reduce((e,a)=>([a.markerStart||r,a.markerEnd||o].forEach(r=>{if(r&&"object"==typeof r){let o=ra(r,t);i.has(o)||(e.push({id:o,color:r.color||n,...r}),i.add(o))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}function rl(e,t,n,r,o){let i=.5;"start"===o?i=0:"end"===o&&(i=1);let a=[(e.x+e.width*i)*t.zoom+t.x,e.y*t.zoom+t.y-r],s=[-100*i,-100];switch(n){case g.Right:a=[(e.x+e.width)*t.zoom+t.x+r,(e.y+e.height*i)*t.zoom+t.y],s=[0,-100*i];break;case g.Bottom:a[1]=(e.y+e.height)*t.zoom+t.y+r,s[1]=0;break;case g.Left:a=[e.x*t.zoom+t.x-r,(e.y+e.height*i)*t.zoom+t.y],s=[-100,-100*i]}return`translate(${a[0]}px, ${a[1]}px) translate(${s[0]}%, ${s[1]}%)`}let ru={left:0,center:50,right:100},rd={top:0,center:50,bottom:100};function rc(e,t,n,r="center",o="center"){return`translate(${e}px, ${t}px) scale(${1/n}) translate(${-(ru[r]??50)}%, ${-(rd[o]??50)}%)`}let rh={nodeOrigin:[0,0],nodeExtent:t8,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},rf={...rh,checkEquality:!0};function rp(e,t){let n={...e};for(let e in t)void 0!==t[e]&&(n[e]=t[e]);return n}function rg(e,t,n){let r=rp(rh,n);for(let n of e.values())if(n.parentId)ry(n,e,t,r);else{let e=nm(nl(n,r.nodeOrigin),nz(n.extent)?n.extent:r.nodeExtent,n$(n));n.internals.positionAbsolute=e}}function rm(e){return"manual"===e}function rx(e,t,n,r={}){let o=rp(rf,r),i={i:0},a=new Map(t),s=o?.elevateNodesOnSelect&&!rm(o.zIndexMode)?1e3:0,l=e.length>0;for(let u of(t.clear(),n.clear(),e)){let e=a.get(u.id);if(o.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=nm(nl(u,o.nodeOrigin),nz(u.extent)?u.extent:o.nodeExtent,n$(u));e={...o.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:function(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let o={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};"source"===t.type?n.push(o):"target"===t.type&&r.push(o)}return{source:n,target:r}}(u,e),z:rv(u,s,o.zIndexMode),userNode:u}},t.set(u.id,e)}void 0!==e.measured&&void 0!==e.measured.width&&void 0!==e.measured.height||e.hidden||(l=!1),u.parentId&&ry(e,t,n,r,i)}return l}function ry(e,t,n,r,o){let{elevateNodesOnSelect:i,nodeOrigin:a,nodeExtent:s,zIndexMode:l}=rp(rh,r),u=e.parentId,d=t.get(u);if(!d)return void console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(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]]))}(e,n),o&&!d.parentId&&void 0===d.internals.rootParentIndex&&"auto"===l&&(d.internals.rootParentIndex=++o.i,d.internals.z=d.internals.z+10*o.i),o&&void 0!==d.internals.rootParentIndex&&(o.i=d.internals.rootParentIndex);let{x:c,y:h,z:f}=function(e,t,n,r,o,i){let{x:a,y:s}=t.internals.positionAbsolute,l=n$(e),u=nl(e,n),d=nz(e.extent)?nm(u,e.extent,l):u,c=nm({x:a+d.x,y:s+d.y},r,l);"parent"===e.extent&&(c=nx(c,l,t));let h=rv(e,o,i),f=t.internals.z??0;return{x:c.x,y:c.y,z:f>=h?f+1:h}}(e,d,a,s,i&&!rm(l)?1e3:0,l),{positionAbsolute:p}=e.internals,g=c!==p.x||h!==p.y;(g||f!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:g?{x:c,y:h}:p,z:f}})}function rv(e,t,n){let r=nE(e.zIndex)?e.zIndex:0;return rm(n)?r:r+(e.selected?t:0)}function rb(e,t,n,r=[0,0]){let o=[],i=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=nS(i.get(n.parentId)?.expandedRect??nN(e),n.rect);i.set(n.parentId,{expandedRect:r,parent:e})}return i.size>0&&i.forEach(({expandedRect:t,parent:i},a)=>{let s=i.internals.positionAbsolute,l=n$(i),u=i.origin??r,d=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,c=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,h=Math.max(l.width,Math.round(t.width)),f=Math.max(l.height,Math.round(t.height)),p=(h-l.width)*u[0],g=(f-l.height)*u[1];(d>0||c>0||p||g)&&(o.push({id:a,type:"position",position:{x:i.position.x-d+p,y:i.position.y-c+g}}),n.get(a)?.forEach(t=>{e.some(e=>e.id===t.id)||o.push({id:t.id,type:"position",position:{x:t.position.x+d,y:t.position.y+c}})})),(l.width<t.width||l.height<t.height||d||c)&&o.push({id:a,type:"dimensions",setAttributes:!0,dimensions:{width:h+(d?u[0]*d-p:0),height:f+(c?u[1]*c-g:0)}})}),o}function rw(e,t,n,r,o,i,a){let s=r?.querySelector(".xyflow__viewport"),l=!1;if(!s)return{changes:[],updatedInternals:l};let u=[],d=window.getComputedStyle(s),{m22:c}=new window.DOMMatrixReadOnly(d.transform),h=[];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}}),l=!0;continue}let s=nX(r.nodeElement),d=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(d||!e.internals.handleBounds||r.force)){let f=r.nodeElement.getBoundingClientRect(),p=nz(e.extent)?e.extent:i,{positionAbsolute:g}=e.internals;e.parentId&&"parent"===e.extent?g=nx(g,s,t.get(e.parentId)):p&&(g=nm(g,p,s));let m={...e,measured:s,internals:{...e.internals,positionAbsolute:g,handleBounds:{source:nU("source",r.nodeElement,f,c,e.id),target:nU("target",r.nodeElement,f,c,e.id)}}};t.set(e.id,m),e.parentId&&ry(m,t,n,{nodeOrigin:o,zIndexMode:a}),l=!0,d&&(u.push({id:e.id,type:"dimensions",dimensions:s}),e.expandParent&&e.parentId&&h.push({id:e.id,parentId:e.parentId,rect:nN(m,o)}))}}if(h.length>0){let e=rb(h,t,n,o);u.push(...e)}return{changes:u,updatedInternals:l}}async function rC({delta:e,panZoom:t,transform:n,translateExtent:r,width:o,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);let a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[o,i]],r);return Promise.resolve(!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]))}function rN(e,t,n,r,o,i){let a=o,s=r.get(a)||new Map;r.set(a,s.set(n,t)),a=`${o}-${e}`;let l=r.get(a)||new Map;if(r.set(a,l.set(n,t)),i){a=`${o}-${e}-${i}`;let s=r.get(a)||new Map;r.set(a,s.set(n,t))}}function rk(e,t,n){for(let r of(e.clear(),t.clear(),n)){let{source:n,target:o,sourceHandle:i=null,targetHandle:a=null}=r,s={edgeId:r.id,source:n,target:o,sourceHandle:i,targetHandle:a},l=`${n}-${i}--${o}-${a}`;rN("source",s,`${o}-${a}--${n}-${i}`,e,n,i),rN("target",s,l,e,o,a),t.set(r.id,r)}}function rS(e,t){if(null===e||null===t)return!1;let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e].id!==r[e].id||n[e].type!==r[e].type||!Object.is(n[e].data,r[e].data))return!1;return!0}function r_(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)break;r=r?.parentElement}while(r)return!1}function rM({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let o=[];for(let[e,i]of t){let t=n.get(e)?.internals.userNode;t&&o.push({...t,position:i.position,dragging:r})}if(!e)return[o[0],o];let i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:r}:o[0],o]}function rE({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:o}){let i={x:null,y:null},a=0,s=new Map,l=!1,u={x:0,y:0},d=null,c=!1,h=null,f=!1,p=!1,g=null;return{update:function({noDragClassName:m,handleSelector:x,domNode:y,isSelectable:v,nodeId:b,nodeClickDistance:w=0}){function C({x:e,y:n}){let{nodeLookup:o,nodeExtent:a,snapGrid:l,snapToGrid:u,nodeOrigin:d,onNodeDrag:c,onSelectionDrag:h,onError:f,updateNodePositions:m}=t();i={x:e,y:n};let x=!1,y=s.size>1,v=y&&a?nw(nd(s)):null,w=y&&u?function({dragItems:e,snapGrid:t,x:n,y:r}){let o=e.values().next().value;if(!o)return null;let i={x:n-o.distance.x,y:r-o.distance.y},a=nP(i,t);return{x:a.x-i.x,y:a.y-i.y}}({dragItems:s,snapGrid:l,x:e,y:n}):null;for(let[t,r]of s){if(!o.has(t))continue;let i={x:e-r.distance.x,y:n-r.distance.y};u&&(i=w?{x:Math.round(i.x+w.x),y:Math.round(i.y+w.y)}:nP(i,l));let s=null;if(y&&a&&!r.extent&&v){let{positionAbsolute:e}=r.internals,t=e.x-v.x+a[0][0],n=e.x+r.measured.width-v.x2+a[1][0];s=[[t,e.y-v.y+a[0][1]],[n,e.y+r.measured.height-v.y2+a[1][1]]]}let{position:c,positionAbsolute:h}=nf({nodeId:t,nextPosition:i,nodeLookup:o,nodeExtent:s||a,nodeOrigin:d,onError:f});x=x||r.position.x!==c.x||r.position.y!==c.y,r.position=c,r.internals.positionAbsolute=h}if(p=p||x,x&&(m(s,!0),g&&(r||c||!b&&h))){let[e,t]=rM({nodeId:b,dragItems:s,nodeLookup:o});r?.(g,s,e,t),c?.(g,e,t),b||h?.(g,t)}}async function N(){if(!d)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:o}=t();if(!o){l=!1,cancelAnimationFrame(a);return}let[s,c]=nv(u,d,r);(0!==s||0!==c)&&(i.x=(i.x??0)-s/e[2],i.y=(i.y??0)-c/e[2],await n({x:s,y:c})&&C(i)),a=requestAnimationFrame(N)}function k(r){let{nodeLookup:o,multiSelectionActive:a,nodesDraggable:l,transform:u,snapGrid:h,snapToGrid:f,selectNodesOnDrag:p,onNodeDragStart:g,onSelectionDragStart:m,unselectNodesAndEdges:x}=t();c=!0,p&&v||a||!b||o.get(b)?.selected||x(),v&&p&&b&&e?.(b);let y=nV(r.sourceEvent,{transform:u,snapGrid:h,snapToGrid:f,containerBounds:d});if(i=y,(s=function(e,t,n,r){let o=new Map;for(let[i,a]of e)if((a.selected||a.id===r)&&(!a.parentId||!function e(t,n){if(!t.parentId)return!1;let r=n.get(t.parentId);return!!r&&(!!r.selected||e(r,n))}(a,e))&&(a.draggable||t&&void 0===a.draggable)){let t=e.get(i);t&&o.set(i,{id:i,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 o}(o,l,y,b)).size>0&&(n||g||!b&&m)){let[e,t]=rM({nodeId:b,dragItems:s,nodeLookup:o});n?.(r.sourceEvent,s,e,t),g?.(r.sourceEvent,e,t),b||m?.(r.sourceEvent,t)}}h=eh(y);let S=e_().clickDistance(w).on("start",e=>{let{domNode:n,nodeDragThreshold:r,transform:o,snapGrid:a,snapToGrid:s}=t();d=n?.getBoundingClientRect()||null,f=!1,p=!1,g=e.sourceEvent,0===r&&k(e),i=nV(e.sourceEvent,{transform:o,snapGrid:a,snapToGrid:s,containerBounds:d}),u=nW(e.sourceEvent,d)}).on("drag",e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:o,snapToGrid:a,nodeDragThreshold:h,nodeLookup:p}=t(),m=nV(e.sourceEvent,{transform:r,snapGrid:o,snapToGrid:a,containerBounds:d});if(g=e.sourceEvent,("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1||b&&!p.has(b))&&(f=!0),!f){if(!l&&n&&c&&(l=!0,N()),!c){let t=nW(e.sourceEvent,d),n=t.x-u.x,r=t.y-u.y;Math.sqrt(n*n+r*r)>h&&k(e)}(i.x!==m.xSnapped||i.y!==m.ySnapped)&&s&&c&&(u=nW(e.sourceEvent,d),C(m))}}).on("end",e=>{if(c&&!f&&(l=!1,c=!1,cancelAnimationFrame(a),s.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:i,onSelectionDragStop:a}=t();if(p&&(r(s,!1),p=!1),o||i||!b&&a){let[t,r]=rM({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});o?.(e.sourceEvent,s,t,r),i?.(e.sourceEvent,t,r),b||a?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!m||!r_(t,`.${m}`,y))&&(!x||r_(t,x,y))});h.call(S)},destroy:function(){h?.on(".drag",null)}}}function rj(e,t,n,r,o,i=!1){let a=r.get(e);if(!a)return null;let s="strict"===o?a.internals.handleBounds?.[t]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],l=(n?s?.find(e=>e.id===n):s?.[0])??null;return l&&i?{...l,...ro(a,l,l.position,!0)}:l}function rP(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}let rD=()=>!0;function rI(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:o,fromType:i,doc:a,lib:s,flowId:l,isValidConnection:u=rD,nodeLookup:c}){let h="target"===i,f=t?a.querySelector(`.${s}-flow__handle[data-id="${l}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:g}=nW(e),m=a.elementFromPoint(p,g),x=m?.classList.contains(`${s}-flow__handle`)?m:f,y={handleDomNode:x,isValid:!1,connection:null,toHandle:null};if(x){let e=rP(void 0,x),t=x.getAttribute("data-nodeid"),i=x.getAttribute("data-handleid"),a=x.classList.contains("connectable"),s=x.classList.contains("connectableend");if(!t||!e)return y;let l={source:h?t:r,sourceHandle:h?i:o,target:h?r:t,targetHandle:h?o:i};y.connection=l,y.isValid=a&&s&&(n===d.Strict?h&&"source"===e||!h&&"target"===e:t!==r||i!==o)&&u(l),y.toHandle=rj(t,e,i,c,n,!0)}return y}let rA={onPointerDown:function(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:o,edgeUpdaterType:i,isTarget:a,domNode:s,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:c,panBy:h,cancelConnection:f,onConnectStart:p,onConnect:m,onConnectEnd:x,isValidConnection:y=rD,onReconnectEnd:v,updateConnection:b,getTransform:w,getFromHandle:C,autoPanSpeed:N,dragThreshold:k=1,handleDomNode:S}){let _,M=nq(e.target),E=0,{x:j,y:P}=nW(e),D=rP(i,S),I=s?.getBoundingClientRect(),A=!1;if(!I||!D)return;let R=rj(o,D,r,l,t);if(!R)return;let T=nW(e,I),z=!1,$=null,L=!1,O=null,B={...R,nodeId:o,type:D,position:R.position},H=l.get(o),F={inProgress:!0,isValid:null,from:ro(H,B,g.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:H,to:T,toHandle:null,toPosition:nt[B.position],toNode:null,pointer:T};function V(){A=!0,b(F),p?.(e,{nodeId:o,handleId:r,handleType:D})}function X(e){var i,s;let f;if(!A){let{x:t,y:n}=nW(e),r=t-j,o=n-P;if(!(r*r+o*o>k*k))return;V()}if(!C()||!B)return void q(e);let p=w();_=function(e,t,n,r){let o=[],i=1/0;for(let a of function(e,t,n){let r=[],o={x:e.x-n,y:e.y-n,width:2*n,height:2*n};for(let e of t.values())n_(o,nN(e))>0&&r.push(e);return r}(e,n,t+250))for(let n of[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]]){if(r.nodeId===n.nodeId&&r.type===n.type&&r.id===n.id)continue;let{x:s,y:l}=ro(a,n,n.position,!0),u=Math.sqrt(Math.pow(s-e.x,2)+Math.pow(l-e.y,2));u>t||(u<i?(o=[{...n,x:s,y:l}],i=u):u===i&&o.push({...n,x:s,y:l}))}if(!o.length)return null;if(o.length>1){let e="source"===r.type?"target":"source";return o.find(t=>t.type===e)??o[0]}return o[0]}(nD(T=nW(e,I),p,!1,[1,1]),n,l,B),z||(!function e(){if(!d||!I)return;let[t,n]=nv(T,I,N);h({x:t,y:n}),E=requestAnimationFrame(e)}(),z=!0);let m=rI(e,{handle:_,connectionMode:t,fromNodeId:o,fromHandleId:r,fromType:a?"target":"source",isValidConnection:y,doc:M,lib:u,flowId:c,nodeLookup:l});O=m.handleDomNode,$=m.connection,i=!!_,s=m.isValid,f=null,s?f=!0:i&&!s&&(f=!1),L=f;let x=l.get(o),v=x?ro(x,B,g.Left,!0):F.from,S={...F,from:v,isValid:L,to:m.toHandle&&L?nI({x:m.toHandle.x,y:m.toHandle.y},p):T,toHandle:m.toHandle,toPosition:L&&m.toHandle?m.toHandle.position:nt[B.position],toNode:m.toHandle?l.get(m.toHandle.nodeId):null,pointer:T};b(S),F=S}function q(e){if(!("touches"in e)||!(e.touches.length>0)){if(A){(_||O)&&$&&L&&m?.($);let{inProgress:t,...n}=F,r={...n,toPosition:F.toHandle?F.toPosition:null};x?.(e,r),i&&v?.(e,r)}f(),cancelAnimationFrame(E),z=!1,L=!1,$=null,O=null,M.removeEventListener("mousemove",X),M.removeEventListener("mouseup",q),M.removeEventListener("touchmove",X),M.removeEventListener("touchend",q)}}0===k&&V(),M.addEventListener("mousemove",X),M.addEventListener("mouseup",q),M.addEventListener("touchmove",X),M.addEventListener("touchend",q)},isValid:rI};function rR({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let o=eh(e);return{update:function({translateExtent:e,width:i,height:a,zoomStep:s=1,pannable:l=!0,zoomable:u=!0,inversePan:d=!1}){let c=[0,0],h=t3().on("start",e=>{("mousedown"===e.sourceEvent.type||"touchstart"===e.sourceEvent.type)&&(c=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on("zoom",l?o=>{let s=n();if("mousemove"!==o.sourceEvent.type&&"touchmove"!==o.sourceEvent.type||!t)return;let l=[o.sourceEvent.clientX??o.sourceEvent.touches[0].clientX,o.sourceEvent.clientY??o.sourceEvent.touches[0].clientY],u=[l[0]-c[0],l[1]-c[1]];c=l;let h=r()*Math.max(s[2],Math.log(s[2]))*(d?-1:1),f={x:s[0]-u[0]*h,y:s[1]-u[1]*h};t.setViewportConstrained({x:f.x,y:f.y,zoom:s[2]},[[0,0],[i,a]],e)}:null).on("zoom.wheel",u?e=>{if("wheel"!==e.sourceEvent.type||!t)return;let r=n(),o=e.sourceEvent.ctrlKey&&nT()?10:1,i=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*s,a=r[2]*Math.pow(2,i*o);t.scaleTo(a)}:null);o.call(h,{})},destroy:function(){o.on("zoom",null)},pointer:ef}}let rT=e=>({x:e.x,y:e.y,zoom:e.k}),rz=({x:e,y:t,zoom:n})=>tZ.translate(e,t).scale(n),r$=(e,t)=>e.target.closest(`.${t}`),rL=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),rO=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,rB=(e,t=0,n=rO,r=()=>{})=>{let o="number"==typeof t&&t>0;return o||r(),o?e.transition().duration(t).ease(n).on("end",r):e},rH=e=>{let t=e.ctrlKey&&nT()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t};function rF({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:o,onPanZoom:i,onPanZoomStart:a,onPanZoomEnd:s,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),h=t3().scaleExtent([t,n]).translateExtent(r),f=eh(e).call(h);y({x:o.x,y:o.y,zoom:ng(o.zoom,t,n)},[[0,0],[d.width,d.height]],r);let p=f.on("wheel.zoom"),g=f.on("dblclick.zoom");function m(e,t){return f?new Promise(n=>{h?.interpolate(t?.interpolate==="linear"?t4:eE).transform(rB(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)}function x(){h.on("zoom",null)}async function y(e,t,n){let r=rz(e),o=h?.constrain()(r,t,n);return o&&await m(o),new Promise(e=>e(o))}return h.wheelDelta(rH),{update:function({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:o,panOnDrag:d,panOnScrollMode:m,panOnScrollSpeed:y,preventScrolling:v,zoomOnPinch:b,zoomOnScroll:w,zoomOnDoubleClick:C,zoomActivationKeyPressed:N,lib:k,onTransformChange:S,connectionInProgress:_,paneClickDistance:M,selectionOnDrag:E}){r&&!u.isZoomingOrPanning&&x();let j=o&&!N&&!r;h.clickDistance(E?1/0:!nE(M)||M<0?0:M);let P=j?function({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:o,panOnScrollSpeed:i,zoomOnPinch:a,onPanZoomStart:s,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(r$(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let h=n.property("__zoom").k||1;if(d.ctrlKey&&a){let e=ef(d),t=h*Math.pow(2,rH(d));r.scaleTo(n,t,e,d);return}let f=1===d.deltaMode?20:1,p=o===c.Vertical?0:d.deltaX*f,g=o===c.Horizontal?0:d.deltaY*f;!nT()&&d.shiftKey&&o!==c.Vertical&&(p=d.deltaY*f,g=0),r.translateBy(n,-(p/h)*i,-(g/h)*i,{internal:!0});let m=rT(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l?.(d,m),e.panScrollTimeout=setTimeout(()=>{u?.(d,m),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,s?.(d,m))}}({zoomPanValues:u,noWheelClassName:e,d3Selection:f,d3Zoom:h,panOnScrollMode:m,panOnScrollSpeed:y,zoomOnPinch:b,onPanZoomStart:a,onPanZoom:i,onPanZoomEnd:s}):function({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,o){let i="wheel"===r.type,a=!t&&i&&!r.ctrlKey,s=r$(r,e);if(r.ctrlKey&&i&&s&&r.preventDefault(),a||s)return null;r.preventDefault(),n.call(this,r,o)}}({noWheelClassName:e,preventScrolling:v,d3ZoomHandler:p});if(f.on("wheel.zoom",P,{passive:!1}),!r){let e=function({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let o=rT(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=o,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,o)}}({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:a});h.on("start",e);let t=function({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:o}){return i=>{e.usedRightMouseButton=!!(n&&rL(t,e.mouseButton??0)),i.sourceEvent?.sync||r([i.transform.x,i.transform.y,i.transform.k]),o&&!i.sourceEvent?.internal&&o?.(i.sourceEvent,rT(i.transform))}}({zoomPanValues:u,panOnDrag:d,onPaneContextMenu:!!n,onPanZoom:i,onTransformChange:S});h.on("zoom",t);let r=function({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:o,onPaneContextMenu:i}){return a=>{if(!a.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&rL(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),e.usedRightMouseButton=!1,r(!1),o)){let t=rT(a.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o?.(a.sourceEvent,t)},150*!!n)}}}({zoomPanValues:u,panOnDrag:d,panOnScroll:o,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:l});h.on("end",r)}let D=function({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:o,zoomOnDoubleClick:i,userSelectionActive:a,noWheelClassName:s,noPanClassName:l,lib:u,connectionInProgress:d}){return c=>{let h=e||t,f=n&&c.ctrlKey,p="wheel"===c.type;if(1===c.button&&"mousedown"===c.type&&(r$(c,`${u}-flow__node`)||r$(c,`${u}-flow__edge`)))return!0;if(!r&&!h&&!o&&!i&&!n||a||d&&!p||r$(c,s)&&p||r$(c,l)&&(!p||o&&p&&!e)||!n&&c.ctrlKey&&p)return!1;if(!n&&"touchstart"===c.type&&c.touches?.length>1)return c.preventDefault(),!1;if(!h&&!o&&!f&&p||!r&&("mousedown"===c.type||"touchstart"===c.type)||Array.isArray(r)&&!r.includes(c.button)&&"mousedown"===c.type)return!1;let g=Array.isArray(r)&&r.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||p)&&g}}({zoomActivationKeyPressed:N,panOnDrag:d,zoomOnScroll:w,panOnScroll:o,zoomOnDoubleClick:C,zoomOnPinch:b,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:k,connectionInProgress:_});h.filter(D),C?f.on("dblclick.zoom",g):f.on("dblclick.zoom",null)},destroy:x,setViewport:async function e(e,t){let n=rz(e);return await m(n,t),new Promise(e=>e(n))},setViewportConstrained:y,getViewport:function(){let e=f?tW(f.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}},scaleTo:function(e,t){return f?new Promise(n=>{h?.interpolate(t?.interpolate==="linear"?t4:eE).scaleTo(rB(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},scaleBy:function(e,t){return f?new Promise(n=>{h?.interpolate(t?.interpolate==="linear"?t4:eE).scaleBy(rB(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},setScaleExtent:function(e){h?.scaleExtent(e)},setTranslateExtent:function(e){h?.translateExtent(e)},syncViewport:function(e){if(f){let t=rz(e),n=f.property("__zoom");(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&h?.transform(f,t,null,{sync:!0})}},setClickDistance:function(e){let t=!nE(e)||e<0?0:e;h?.clickDistance(t)}}}(s=m||(m={})).Line="line",s.Handle="handle";let rV=["top-left","top-right","bottom-left","bottom-right"],rX=["top","right","bottom","left"];function rq(e){let t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:e.includes("left"),affectsY:e.includes("top")}}function rY(e,t){return Math.max(0,t-e)}function rK(e,t){return Math.max(0,e-t)}function rZ(e,t,n){return Math.max(0,t-e,e-n)}let rW={width:0,height:0,x:0,y:0},rU={...rW,pointerX:0,pointerY:0,aspectRatio:1};function rG({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:o}){let i=eh(e),a={controlDirection:rq("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:e,boundaries:s,keepAspectRatio:l,resizeDirection:u,onResizeStart:d,onResize:c,onResizeEnd:h,shouldResize:f}){let p,g,m,x,y={...rW},v={...rU};a={boundaries:s,resizeDirection:u,keepAspectRatio:l,controlDirection:rq(e)};let b=null,w=[],C=!1,N=e_().on("start",e=>{let{nodeLookup:r,transform:o,snapGrid:i,snapToGrid:a,nodeOrigin:s,paneDomNode:l}=n();if(!(p=r.get(t)))return;b=l?.getBoundingClientRect()??null;let{xSnapped:u,ySnapped:c}=nV(e.sourceEvent,{transform:o,snapGrid:i,snapToGrid:a,containerBounds:b});if(v={...y={width:p.measured.width??0,height:p.measured.height??0,x:p.position.x??0,y:p.position.y??0},pointerX:u,pointerY:c,aspectRatio:y.width/y.height},g=void 0,p.parentId&&("parent"===p.extent||p.expandParent)){var h;m=(g=r.get(p.parentId))&&"parent"===p.extent?[[0,0],[(h=g).measured.width,h.measured.height]]:void 0}for(let[e,n]of(w=[],x=void 0,r))if(n.parentId===t&&(w.push({id:e,position:{...n.position},extent:n.extent}),"parent"===n.extent||n.expandParent)){let e=function(e,t,n){let r=t.position.x+e.position.x,o=t.position.y+e.position.y,i=e.measured.width??0,a=e.measured.height??0,s=n[0]*i,l=n[1]*a;return[[r-s,o-l],[r+i-s,o+a-l]]}(n,p,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}d?.(e,{...y})}).on("drag",e=>{let{transform:t,snapGrid:o,snapToGrid:i,nodeOrigin:s}=n(),l=nV(e.sourceEvent,{transform:t,snapGrid:o,snapToGrid:i,containerBounds:b}),u=[];if(!p)return;let{x:d,y:h,width:N,height:k}=y,S={},_=p.origin??s,{width:M,height:E,x:j,y:P}=function(e,t,n,r,o,i,a,s){var l,u,d,c;let{affectsX:h,affectsY:f}=t,{isHorizontal:p,isVertical:g}=t,m=p&&g,{xSnapped:x,ySnapped:y}=n,{minWidth:v,maxWidth:b,minHeight:w,maxHeight:C}=r,{x:N,y:k,width:S,height:_,aspectRatio:M}=e,E=Math.floor(p?x-e.pointerX:0),j=Math.floor(g?y-e.pointerY:0),P=S+(h?-E:E),D=_+(f?-j:j),I=-i[0]*S,A=-i[1]*_,R=rZ(P,v,b),T=rZ(D,w,C);if(a){let e=0,t=0;h&&E<0?e=rY(N+E+I,a[0][0]):!h&&E>0&&(e=rK(N+P+I,a[1][0])),f&&j<0?t=rY(k+j+A,a[0][1]):!f&&j>0&&(t=rK(k+D+A,a[1][1])),R=Math.max(R,e),T=Math.max(T,t)}if(s){let e=0,t=0;h&&E>0?e=rK(N+E,s[0][0]):!h&&E<0&&(e=rY(N+P,s[1][0])),f&&j>0?t=rK(k+j,s[0][1]):!f&&j<0&&(t=rY(k+D,s[1][1])),R=Math.max(R,e),T=Math.max(T,t)}if(o){if(p){(R=Math.max(R,rZ(P/M,w,C)*M),a)&&(R=Math.max(R,(h||f)&&(!h||f||!m)?rY(k+A+(h?E:-E)/M,a[0][1])*M:rK(k+A+P/M,a[1][1])*M));s&&(R=Math.max(R,(h||f)&&(!h||f||!m)?rK(k+(h?E:-E)/M,s[0][1])*M:rY(k+P/M,s[1][1])*M))}if(g){(T=Math.max(T,rZ(D*M,v,b)/M),a)&&(T=Math.max(T,(h||f)&&(!f||h||!m)?rY(N+(f?j:-j)*M+I,a[0][0])/M:rK(N+D*M+I,a[1][0])/M));s&&(T=Math.max(T,(h||f)&&(!f||h||!m)?rK(N+(f?j:-j)*M,s[0][0])/M:rY(N+D*M,s[1][0])/M))}}j+=j<0?T:-T,E+=E<0?R:-R,o&&(m?P>D*M?j=((l=h,u=f,l?!u:u)?-E:E)/M:E=((d=h,c=f,d?!c:c)?-j:j)*M:p?(j=E/M,f=h):(E=j*M,h=f));let z=h?N+E:N,$=f?k+j:k;return{width:S+(h?-E:E),height:_+(f?-j:j),x:i[0]*E*(h?-1:1)+z,y:i[1]*j*(f?-1:1)+$}}(v,a.controlDirection,l,a.boundaries,a.keepAspectRatio,_,m,x),D=M!==N,I=E!==k,A=j!==d&&D,R=P!==h&&I;if(!A&&!R&&!D&&!I)return;if((A||R||1===_[0]||1===_[1])&&(S.x=A?j:y.x,S.y=R?P:y.y,y.x=S.x,y.y=S.y,w.length>0)){let e=j-d,t=P-h;for(let n of w)n.position={x:n.position.x-e+_[0]*(M-N),y:n.position.y-t+_[1]*(E-k)},u.push(n)}if((D||I)&&(S.width=D&&(!a.resizeDirection||"horizontal"===a.resizeDirection)?M:y.width,S.height=I&&(!a.resizeDirection||"vertical"===a.resizeDirection)?E:y.height,y.width=S.width,y.height=S.height),g&&p.expandParent){let e=_[0]*(S.width??0);S.x&&S.x<e&&(y.x=e,v.x=v.x-(S.x-e));let t=_[1]*(S.height??0);S.y&&S.y<t&&(y.y=t,v.y=v.y-(S.y-t))}let T=function({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:o,affectsY:i}){let a=e-t,s=n-r,l=[a>0?1:a<0?-1:0,s>0?1:s<0?-1:0];return a&&o&&(l[0]=-1*l[0]),s&&i&&(l[1]=-1*l[1]),l}({width:y.width,prevWidth:N,height:y.height,prevHeight:k,affectsX:a.controlDirection.affectsX,affectsY:a.controlDirection.affectsY}),z={...y,direction:T};!1!==f?.(e,z)&&(C=!0,c?.(e,z),r(S,u))}).on("end",e=>{C&&(h?.(e,{...y}),o?.({...y}),C=!1)});i.call(N)},destroy:function(){i.on(".drag",null)}}}e.s(["ConnectionLineType",()=>f,"ConnectionMode",()=>d,"MarkerType",()=>p,"PanOnScrollMode",()=>c,"Position",()=>g,"ResizeControlVariant",()=>m,"SelectionMode",()=>h,"XYDrag",()=>rE,"XYHandle",()=>rA,"XYMinimap",()=>rR,"XYPanZoom",()=>rF,"XYResizer",()=>rG,"XY_RESIZER_HANDLE_POSITIONS",()=>rV,"XY_RESIZER_LINE_POSITIONS",()=>rX,"addEdge",()=>n4,"adoptUserNodes",()=>rx,"areConnectionMapsEqual",()=>nn,"areSetsEqual",()=>nB,"calculateNodePosition",()=>nf,"createMarkerIds",()=>rs,"defaultAriaLabelConfig",()=>t7,"devWarn",()=>nj,"elementSelectionKeys",()=>t9,"errorMessages",()=>t6,"evaluateAbsolutePosition",()=>nO,"fitViewport",()=>nh,"getBezierEdgeCenter",()=>nG,"getBezierPath",()=>n0,"getBoundsOfRects",()=>nS,"getConnectionStatus",()=>no,"getDimensions",()=>nX,"getEdgePosition",()=>rn,"getEdgeToolbarTransform",()=>rc,"getElementsToRemove",()=>np,"getElevatedEdgeZIndex",()=>n2,"getEventPosition",()=>nW,"getHandlePosition",()=>ro,"getHostForElement",()=>nq,"getInternalNodesBounds",()=>nd,"getMarkerId",()=>ra,"getNodeDimensions",()=>n$,"getNodeToolbarTransform",()=>rl,"getNodesBounds",()=>nu,"getNodesInside",()=>nc,"getOverlappingArea",()=>n_,"getSmoothStepPath",()=>re,"getStraightPath",()=>n6,"getViewportForBounds",()=>nR,"handleConnectionChange",()=>nr,"handleExpandParent",()=>rb,"infiniteExtent",()=>t8,"initialConnection",()=>ne,"isEdgeBase",()=>ni,"isEdgeVisible",()=>n5,"isInputDOMNode",()=>nK,"isMacOs",()=>nT,"isMouseEvent",()=>nZ,"isNodeBase",()=>na,"isNumeric",()=>nE,"isRectObject",()=>nM,"mergeAriaLabelConfig",()=>nF,"nodeHasDimensions",()=>nL,"nodeToRect",()=>nN,"panBy",()=>rC,"pointToRendererPoint",()=>nD,"rendererPointToPoint",()=>nI,"shallowNodeData",()=>rS,"snapPosition",()=>nP,"updateAbsolutePositions",()=>rg,"updateConnectionLookup",()=>rk,"updateNodeInternals",()=>rw,"withResolvers",()=>nH],92002);var rQ=e.i(96482);let rJ={get url(){return`file://${e.P("node_modules/.pnpm/zustand@4.5.7_@types+react@19.2.10_react@19.2.4/node_modules/zustand/esm/vanilla.mjs")}`}},r0=e=>{let t,n=new Set,r=(e,r)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,i={setState:r,getState:o,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{(rJ.env?rJ.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},a=t=e(r,o,i);return i},{useDebugValue:r1}=v.default,{useSyncExternalStoreWithSelector:r2}=rQ.default,r5=e=>e;function r3(e,t=r5,n){let r=r2(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return r1(r),r}let r4=(e,t)=>{let n=e?r0(e):r0,r=(e,r=t)=>r3(n,e,r);return Object.assign(r,n),r};function r6(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}e.i(26036);let r8=(0,v.createContext)(null),r9=r8.Provider,r7=t6.error001();function oe(e,t){let n=(0,v.useContext)(r8);if(null===n)throw Error(r7);return r3(n,e,t)}function ot(){let e=(0,v.useContext)(r8);if(null===e)throw Error(r7);return(0,v.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let on={display:"none"},or={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},oo="react-flow__node-desc",oi="react-flow__edge-desc",oa=e=>e.ariaLiveMessage,os=e=>e.ariaLabelConfig;function ol({rfId:e}){let t=oe(oa);return(0,y.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:or,children:t})}function ou({rfId:e,disableKeyboardA11y:t}){let n=oe(os);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{id:`${oo}-${e}`,style:on,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,y.jsx)("div",{id:`${oi}-${e}`,style:on,children:n["edge.a11yDescription.default"]}),!t&&(0,y.jsx)(ol,{rfId:e})]})}let od=(0,v.forwardRef)(({position:e="top-left",children:t,className:n,style:r,...o},i)=>{let a=`${e}`.split("-");return(0,y.jsx)("div",{className:b(["react-flow__panel",n,...a]),style:r,ref:i,...o,children:t})});function oc({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,y.jsx)(od,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,y.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}od.displayName="Panel";let oh=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}},of=e=>e.id;function op(e,t){return r6(e.selectedNodes.map(of),t.selectedNodes.map(of))&&r6(e.selectedEdges.map(of),t.selectedEdges.map(of))}function og({onSelectionChange:e}){let t=ot(),{selectedNodes:n,selectedEdges:r}=oe(oh,op);return(0,v.useEffect)(()=>{let o={nodes:n,edges:r};e?.(o),t.getState().onSelectionChangeHandlers.forEach(e=>e(o))},[n,r,e]),null}let om=e=>!!e.onSelectionChangeHandlers;function ox({onSelectionChange:e}){let t=oe(om);return e||t?(0,y.jsx)(og,{onSelectionChange:e}):null}let oy=[0,0],ov={x:0,y:0,zoom:1},ob=["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","rfId"],ow=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}),oC={translateExtent:t8,nodeOrigin:oy,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function oN(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:o,setTranslateExtent:i,setNodeExtent:a,reset:s,setDefaultNodesAndEdges:l}=oe(ow,r6),u=ot();(0,v.useEffect)(()=>(l(e.defaultNodes,e.defaultEdges),()=>{d.current=oC,s()}),[]);let d=(0,v.useRef)(oC);return(0,v.useEffect)(()=>{for(let s of ob){let l=e[s];l!==d.current[s]&&void 0!==e[s]&&("nodes"===s?t(l):"edges"===s?n(l):"minZoom"===s?r(l):"maxZoom"===s?o(l):"translateExtent"===s?i(l):"nodeExtent"===s?a(l):"ariaLabelConfig"===s?u.setState({ariaLabelConfig:nF(l)}):"fitView"===s?u.setState({fitViewQueued:l}):"fitViewOptions"===s?u.setState({fitViewOptions:l}):u.setState({[s]:l}))}d.current=e},ob.map(t=>e[t])),null}function ok(){return"u"<typeof window||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}let oS="u">typeof document?document:null;function o_(e=null,t={target:oS,actInsideInputWithModifier:!0}){let[n,r]=(0,v.useState)(!1),o=(0,v.useRef)(!1),i=(0,v.useRef)(new Set([])),[a,s]=(0,v.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,v.useEffect)(()=>{let n=t?.target??oS,l=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(o.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!o.current||o.current&&!l)&&nK(e))return!1;let n=oE(e.code,s);if(i.current.add(e[n]),oM(a,i.current,!1)){let n=e.composedPath?.()?.[0]||e.target,i=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(o.current||!i)&&e.preventDefault(),r(!0)}},u=e=>{let t=oE(e.code,s);oM(a,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(e[t]),"Meta"===e.key&&i.current.clear(),o.current=!1},d=()=>{i.current.clear(),r(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",u),window.addEventListener("blur",d),window.addEventListener("contextmenu",d),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",u),window.removeEventListener("blur",d),window.removeEventListener("contextmenu",d)}}},[e,r]),n}function oM(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function oE(e,t){return t.includes(e)?"code":"key"}function oj(e,t){let n=[],r=new Map,o=[];for(let t of e)if("add"===t.type){o.push(t);continue}else if("remove"===t.type||"replace"===t.type)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let o={...e};for(let e of t){var i=e,a=o;switch(i.type){case"select":a.selected=i.selected;break;case"position":void 0!==i.position&&(a.position=i.position),void 0!==i.dragging&&(a.dragging=i.dragging);break;case"dimensions":void 0!==i.dimensions&&(a.measured={...i.dimensions},i.setAttributes&&((!0===i.setAttributes||"width"===i.setAttributes)&&(a.width=i.dimensions.width),(!0===i.setAttributes||"height"===i.setAttributes)&&(a.height=i.dimensions.height))),"boolean"==typeof i.resizing&&(a.resizing=i.resizing)}}n.push(o)}return o.length&&o.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function oP(e,t){return{id:e,type:"select",selected:t}}function oD(e,t=new Set,n=!1){let r=[];for(let[o,i]of e){let e=t.has(o);(void 0!==i.selected||e)&&i.selected!==e&&(n&&(i.selected=e),r.push(oP(i.id,e)))}return r}function oI({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,o]of e.entries()){let e=t.get(o.id),i=e?.internals?.userNode??e;void 0!==i&&i!==o&&n.push({id:o.id,item:o,type:"replace"}),void 0===i&&n.push({item:o,type:"add",index:r})}for(let[e]of t)void 0===r.get(e)&&n.push({id:e,type:"remove"});return n}function oA(e){return{id:e.id,type:"remove"}}function oR(e){return(0,v.forwardRef)(e)}let oT="u">typeof window?v.useLayoutEffect:v.useEffect;function oz(e){let[t,n]=(0,v.useState)(BigInt(0)),[r]=(0,v.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return oT(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}let o$=(0,v.createContext)(null);function oL({children:e}){let t=ot(),n=oz((0,v.useCallback)(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:o,onNodesChange:i,nodeLookup:a,fitViewQueued:s,onNodesChangeMiddlewareMap:l}=t.getState(),u=n;for(let t of e)u="function"==typeof t?t(u):t;let d=oI({items:u,lookup:a});for(let e of l.values())d=e(d);o&&r(u),d.length>0?i?.(d):s&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=oz((0,v.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:o,onEdgesChange:i,edgeLookup:a}=t.getState(),s=n;for(let t of e)s="function"==typeof t?t(s):t;o?r(s):i&&i(oI({items:s,lookup:a}))},[])),o=(0,v.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,y.jsx)(o$.Provider,{value:o,children:e})}let oO=e=>!!e.panZoom;function oB(){let e,t=(e=ot(),(0,v.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,{duration:n?.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,o,i],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??r,y:t.y??o,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:o,minZoom:i,maxZoom:a,panZoom:s}=e.getState(),l=nR(t,r,o,i,a,n?.padding??.1);return s?(await s.setViewport(l,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:o,snapToGrid:i,domNode:a}=e.getState();if(!a)return t;let{x:s,y:l}=a.getBoundingClientRect(),u={x:t.x-s,y:t.y-l},d=n.snapGrid??o;return nD(u,r,n.snapToGrid??i,d)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:o,y:i}=r.getBoundingClientRect(),a=nI(t,n);return{x:a.x+o,y:a.y+i}}}),[])),n=ot(),r=function(){let e=(0,v.useContext)(o$);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),o=oe(oO),i=(0,v.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{r.nodeQueue.push(e)},o=e=>{r.edgeQueue.push(e)},i=e=>{let{nodeLookup:t,nodeOrigin:r}=n.getState(),o=na(e)?e:t.get(e.id),i=o.parentId?nO(o.position,o.measured,o.parentId,t,r):o.position;return nN({...o,position:i,width:o.measured?.width??o.width,height:o.measured?.height??o.height})},a=(e,n,r={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return r.replace&&na(e)?e:{...t,...e}}return t}))},s=(e,t,n={replace:!1})=>{o(r=>r.map(r=>{if(r.id===e){let e="function"==typeof t?t(r):t;return n.replace&&ni(e)?e:{...r,...e}}return r}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:o,addNodes:e=>{let t=Array.isArray(e)?e:[e];r.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];r.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:r}=n.getState(),[o,i,a]=r;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:o,y:i,zoom:a}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:r,edges:o,onNodesDelete:i,onEdgesDelete:a,triggerNodeChanges:s,triggerEdgeChanges:l,onDelete:u,onBeforeDelete:d}=n.getState(),{nodes:c,edges:h}=await np({nodesToRemove:e,edgesToRemove:t,nodes:r,edges:o,onBeforeDelete:d}),f=h.length>0,p=c.length>0;if(f){let e=h.map(oA);a?.(h),l(e)}if(p){let e=c.map(oA);i?.(c),s(e)}return(p||f)&&u?.({nodes:c,edges:h}),{deletedNodes:c,deletedEdges:h}},getIntersectingNodes:(e,t=!0,r)=>{let o=nM(e),a=o?e:i(e),s=void 0!==r;return a?(r||n.getState().nodes).filter(r=>{let i=n.getState().nodeLookup.get(r.id);if(i&&!o&&(r.id===e.id||!i.internals.positionAbsolute))return!1;let l=nN(s?r:i),u=n_(l,a);return t&&u>0||u>=l.width*l.height||u>=a.width*a.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=nM(e)?e:i(e);if(!r)return!1;let o=n_(r,t);return n&&o>0||o>=t.width*t.height||o>=r.width*r.height},updateNode:a,updateNodeData:(e,t,n={replace:!1})=>{a(e,e=>{let r="function"==typeof t?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{let r="function"==typeof t?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:r}=n.getState();return nu(e,{nodeLookup:t,nodeOrigin:r})},getHandleConnections:({type:e,id:t,nodeId:r})=>Array.from(n.getState().connectionLookup.get(`${r}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:r})=>Array.from(n.getState().connectionLookup.get(`${r}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t=n.getState().fitViewResolver??nH();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),r.nodeQueue.push(e=>[...e]),t.promise}}},[]);return(0,v.useMemo)(()=>({...i,...t,viewportInitialized:o}),[o])}let oH=e=>e.selected,oF="u">typeof window?window:void 0,oV={position:"absolute",width:"100%",height:"100%",top:0,left:0},oX=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function oq({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:o=.5,panOnScrollMode:i=c.Free,zoomOnDoubleClick:a=!0,panOnDrag:s=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:h,zoomActivationKeyCode:f,preventScrolling:p=!0,children:g,noWheelClassName:m,noPanClassName:x,onViewportChange:b,isControlledViewport:w,paneClickDistance:C,selectionOnDrag:N}){let k,S=ot(),_=(0,v.useRef)(null),{userSelectionActive:M,lib:E,connectionInProgress:j}=oe(oX,r6),P=o_(f),D=(0,v.useRef)();k=ot(),(0,v.useEffect)(()=>{let e=()=>{if(!_.current||!(_.current.checkVisibility?.()??!0))return!1;let e=nX(_.current);(0===e.height||0===e.width)&&k.getState().onError?.("004",t6.error004()),k.setState({width:e.width||500,height:e.height||500})};if(_.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(_.current),()=>{window.removeEventListener("resize",e),t&&_.current&&t.unobserve(_.current)}}},[]);let I=(0,v.useCallback)(e=>{b?.({x:e[0],y:e[1],zoom:e[2]}),w||S.setState({transform:e})},[b,w]);return(0,v.useEffect)(()=>{if(_.current){D.current=rF({domNode:_.current,minZoom:d,maxZoom:h,translateExtent:u,viewport:l,onDraggingChange:e=>S.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=S.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=S.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=S.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=D.current.getViewport();return S.setState({panZoom:D.current,transform:[e,t,n],domNode:_.current.closest(".react-flow")}),()=>{D.current?.destroy()}}},[]),(0,v.useEffect)(()=>{D.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:o,panOnScrollMode:i,zoomOnDoubleClick:a,panOnDrag:s,zoomActivationKeyPressed:P,preventScrolling:p,noPanClassName:x,userSelectionActive:M,noWheelClassName:m,lib:E,onTransformChange:I,connectionInProgress:j,selectionOnDrag:N,paneClickDistance:C})},[e,t,n,r,o,i,a,s,P,p,x,M,m,E,I,j,N,C]),(0,y.jsx)("div",{className:"react-flow__renderer",ref:_,style:oV,children:g})}let oY=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function oK(){let{userSelectionActive:e,userSelectionRect:t}=oe(oY,r6);return e&&t?(0,y.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let oZ=(e,t)=>n=>{n.target===t.current&&e?.(n)},oW=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function oU({isSelecting:e,selectionKeyPressed:t,selectionMode:n=h.Full,panOnDrag:r,paneClickDistance:o,selectionOnDrag:i,onSelectionStart:a,onSelectionEnd:s,onPaneClick:l,onPaneContextMenu:u,onPaneScroll:d,onPaneMouseEnter:c,onPaneMouseMove:f,onPaneMouseLeave:p,children:g}){let m=ot(),{userSelectionActive:x,elementsSelectable:w,dragging:C,connectionInProgress:N}=oe(oW,r6),k=w&&(e||x),S=(0,v.useRef)(null),_=(0,v.useRef)(),M=(0,v.useRef)(new Set),E=(0,v.useRef)(new Set),j=(0,v.useRef)(!1),P=e=>{if(j.current||N){j.current=!1;return}l?.(e),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1})},D=!0===r||Array.isArray(r)&&r.includes(0);return(0,y.jsxs)("div",{className:b(["react-flow__pane",{draggable:D,dragging:C,selection:e}]),onClick:k?void 0:oZ(P,S),onContextMenu:oZ(e=>{Array.isArray(r)&&r?.includes(2)?e.preventDefault():u?.(e)},S),onWheel:oZ(d?e=>d(e):void 0,S),onPointerEnter:k?void 0:c,onPointerMove:k?e=>{let{userSelectionRect:r,transform:i,nodeLookup:s,edgeLookup:l,connectionLookup:u,triggerNodeChanges:d,triggerEdgeChanges:c,defaultEdgeOptions:f,resetSelectedElements:p}=m.getState();if(!_.current||!r)return;let{x:g,y:x}=nW(e.nativeEvent,_.current),{startX:y,startY:v}=r;if(!j.current){if(Math.hypot(g-y,x-v)<=(t?0:o))return;p(),a?.(e)}j.current=!0;let b={startX:y,startY:v,x:g<y?g:y,y:x<v?x:v,width:Math.abs(g-y),height:Math.abs(x-v)},w=M.current,C=E.current;M.current=new Set(nc(s,b,i,n===h.Partial,!0).map(e=>e.id)),E.current=new Set;let N=f?.selectable??!0;for(let e of M.current){let t=u.get(e);if(t)for(let{edgeId:e}of t.values()){let t=l.get(e);t&&(t.selectable??N)&&E.current.add(e)}}nB(w,M.current)||d(oD(s,M.current,!0)),nB(C,E.current)||c(oD(l,E.current)),m.setState({userSelectionRect:b,userSelectionActive:!0,nodesSelectionActive:!1})}:f,onPointerUp:k?e=>{0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!x&&e.target===S.current&&m.getState().userSelectionRect&&P?.(e),m.setState({userSelectionActive:!1,userSelectionRect:null}),j.current&&(s?.(e),m.setState({nodesSelectionActive:M.current.size>0})))}:void 0,onPointerDownCapture:k?n=>{let{domNode:r}=m.getState();if(_.current=r?.getBoundingClientRect(),!_.current)return;let o=n.target===S.current;if(!o&&n.target.closest(".nokey")||!e||!(i&&o||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),j.current=!1;let{x:a,y:s}=nW(n.nativeEvent,_.current);m.setState({userSelectionRect:{width:0,height:0,startX:a,startY:s,x:a,y:s}}),o||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:k?e=>{j.current&&(e.stopPropagation(),j.current=!1)}:void 0,onPointerLeave:p,ref:S,style:oV,children:[g,(0,y.jsx)(oK,{})]})}function oG({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:o,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:s,onError:l}=t.getState(),u=s.get(e);u?(t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(i({nodes:[u],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):o([e])):l?.("012",t6.error012(e))}function oQ({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:o,isSelectable:i,nodeClickDistance:a}){let s=ot(),[l,u]=(0,v.useState)(!1),d=(0,v.useRef)();return(0,v.useEffect)(()=>{d.current=rE({getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{oG({id:t,store:s,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),(0,v.useEffect)(()=>{if(t)d.current?.destroy();else if(e.current)return d.current?.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:i,nodeId:o,nodeClickDistance:a}),()=>{d.current?.destroy()}},[n,r,t,i,e,o]),l}function oJ(){let e=ot();return(0,v.useCallback)(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:o,nodesDraggable:i,onError:a,updateNodePositions:s,nodeLookup:l,nodeOrigin:u}=e.getState(),d=new Map,c=e=>e.selected&&(e.draggable||i&&void 0===e.draggable),h=r?o[0]:5,f=r?o[1]:5,p=t.direction.x*h*t.factor,g=t.direction.y*f*t.factor;for(let[,e]of l){if(!c(e))continue;let t={x:e.internals.positionAbsolute.x+p,y:e.internals.positionAbsolute.y+g};r&&(t=nP(t,o));let{position:i,positionAbsolute:s}=nf({nodeId:e.id,nextPosition:t,nodeLookup:l,nodeExtent:n,nodeOrigin:u,onError:a});e.position=i,e.internals.positionAbsolute=s,d.set(e.id,e)}s(d)},[])}let o0=(0,v.createContext)(null),o1=o0.Provider;o0.Consumer;let o2=()=>(0,v.useContext)(o0),o5=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),o3=(0,v.memo)(oR(function({type:e="source",position:t=g.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:o=!0,isConnectableEnd:i=!0,id:a,onConnect:s,children:l,className:u,onMouseDown:c,onTouchStart:h,...f},p){let m=a||null,x="target"===e,v=ot(),w=o2(),{connectOnClick:C,noPanClassName:N,rfId:k}=oe(o5,r6),{connectingFrom:S,connectingTo:_,clickConnecting:M,isPossibleEndHandle:E,connectionInProcess:j,clickConnectionInProcess:P,valid:D}=oe(t=>{let{connectionClickStartHandle:n,connectionMode:r,connection:o}=t,{fromHandle:i,toHandle:a,isValid:s}=o,l=a?.nodeId===w&&a?.id===m&&a?.type===e;return{connectingFrom:i?.nodeId===w&&i?.id===m&&i?.type===e,connectingTo:l,clickConnecting:n?.nodeId===w&&n?.id===m&&n?.type===e,isPossibleEndHandle:r===d.Strict?i?.type!==e:w!==i?.nodeId||m!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!n,valid:l&&s}},r6);w||v.getState().onError?.("010",t6.error010());let I=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=v.getState(),o={...t,...e};if(r){let{edges:e,setEdges:t}=v.getState();t(n4(o,e))}n?.(o),s?.(o)},A=e=>{if(!w)return;let t=nZ(e.nativeEvent);if(o&&(t&&0===e.button||!t)){let t=v.getState();rA.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:x,handleId:m,nodeId:w,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:I,isValidConnection:n||t.isValidConnection,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?c?.(e):h?.(e)};return(0,y.jsx)("div",{"data-handleid":m,"data-nodeid":w,"data-handlepos":t,"data-id":`${k}-${w}-${m}-${e}`,className:b(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",N,u,{source:!x,target:x,connectable:r,connectablestart:o,connectableend:i,clickconnecting:M,connectingfrom:S,connectingto:_,valid:D,connectionindicator:r&&(!j||E)&&(j||P?i:o)}]),onMouseDown:A,onTouchStart:A,onClick:C?t=>{let{onClickConnectStart:r,onClickConnectEnd:i,connectionClickStartHandle:a,connectionMode:s,isValidConnection:l,lib:u,rfId:d,nodeLookup:c,connection:h}=v.getState();if(!w||!a&&!o)return;if(!a){r?.(t.nativeEvent,{nodeId:w,handleId:m,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:w,type:e,id:m}});return}let f=nq(t.target),p=n||l,{connection:g,isValid:x}=rA.isValid(t.nativeEvent,{handle:{nodeId:w,id:m,type:e},connectionMode:s,fromNodeId:a.nodeId,fromHandleId:a.id||null,fromType:a.type,isValidConnection:p,flowId:d,doc:f,lib:u,nodeLookup:c});x&&g&&I(g);let y=structuredClone(h);delete y.inProgress,y.toPosition=y.toHandle?y.toHandle.position:null,i?.(t,y),v.setState({connectionClickStartHandle:null})}:void 0,ref:p,...f,children:l})})),o4={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},o6={input:function({data:e,isConnectable:t,sourcePosition:n=g.Bottom}){return(0,y.jsxs)(y.Fragment,{children:[e?.label,(0,y.jsx)(o3,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=g.Top,sourcePosition:r=g.Bottom}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(o3,{type:"target",position:n,isConnectable:t}),e?.label,(0,y.jsx)(o3,{type:"source",position:r,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=g.Top}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(o3,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},o8=e=>{let{width:t,height:n,x:r,y:o}=nd(e.nodeLookup,{filter:e=>!!e.selected});return{width:nE(t)?t:null,height:nE(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${o}px)`}};function o9({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=ot(),{width:o,height:i,transformString:a,userSelectionActive:s}=oe(o8,r6),l=oJ(),u=(0,v.useRef)(null);if((0,v.useEffect)(()=>{n||u.current?.focus({preventScroll:!0})},[n]),oQ({nodeRef:u}),s||!o||!i)return null;let d=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,y.jsx)("div",{className:b(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:(0,y.jsx)("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:d,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(o4,e.key)&&(e.preventDefault(),l({direction:o4[e.key],factor:e.shiftKey?4:1}))},style:{width:o,height:i}})})}let o7="u">typeof window?window:void 0,ie=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function it({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:a,paneClickDistance:s,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:c,onSelectionStart:h,onSelectionEnd:f,multiSelectionKeyCode:p,panActivationKeyCode:g,zoomActivationKeyCode:m,elementsSelectable:x,zoomOnScroll:b,zoomOnPinch:w,panOnScroll:C,panOnScrollSpeed:N,panOnScrollMode:k,zoomOnDoubleClick:S,panOnDrag:_,defaultViewport:M,translateExtent:E,minZoom:j,maxZoom:P,preventScrolling:D,onSelectionContextMenu:I,noWheelClassName:A,noPanClassName:R,disableKeyboardA11y:T,onViewportChange:z,isControlledViewport:$}){let{nodesSelectionActive:L,userSelectionActive:O}=oe(ie,r6),B=o_(u,{target:o7}),H=o_(g,{target:o7}),F=H||_,V=H||C,X=d&&!0!==F,q=B||O||X;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=ot(),{deleteElements:r}=oB(),o=o_(e,{actInsideInputWithModifier:!1}),i=o_(t,{target:oF});(0,v.useEffect)(()=>{if(o){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(oH),edges:e.filter(oH)}),n.setState({nodesSelectionActive:!1})}},[o]),(0,v.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])}({deleteKeyCode:l,multiSelectionKeyCode:p}),(0,y.jsx)(oq,{onPaneContextMenu:i,elementsSelectable:x,zoomOnScroll:b,zoomOnPinch:w,panOnScroll:V,panOnScrollSpeed:N,panOnScrollMode:k,zoomOnDoubleClick:S,panOnDrag:!B&&F,defaultViewport:M,translateExtent:E,minZoom:j,maxZoom:P,zoomActivationKeyCode:m,preventScrolling:D,noWheelClassName:A,noPanClassName:R,onViewportChange:z,isControlledViewport:$,paneClickDistance:s,selectionOnDrag:X,children:(0,y.jsxs)(oU,{onSelectionStart:h,onSelectionEnd:f,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:a,panOnDrag:F,isSelecting:!!q,selectionMode:c,selectionKeyPressed:B,paneClickDistance:s,selectionOnDrag:X,children:[e,L&&(0,y.jsx)(o9,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:T})]})})}it.displayName="FlowRenderer";let ir=(0,v.memo)(it),io=e=>e.updateNodeInternals;var ii=(0,v.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onContextMenu:i,onDoubleClick:a,nodesDraggable:s,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:c,noDragClassName:h,noPanClassName:f,disableKeyboardA11y:p,rfId:g,nodeTypes:m,nodeClickDistance:x,onError:w}){let{node:C,internals:N,isParent:k}=oe(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},r6),S=C.type||"default",_=m?.[S]||o6[S];void 0===_&&(w?.("003",t6.error003(S)),S="default",_=m?.default||o6.default);let M=!!(C.draggable||s&&void 0===C.draggable),E=!!(C.selectable||l&&void 0===C.selectable),j=!!(C.connectable||u&&void 0===C.connectable),P=!!(C.focusable||d&&void 0===C.focusable),D=ot(),I=nL(C),A=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let o=ot(),i=(0,v.useRef)(null),a=(0,v.useRef)(null),s=(0,v.useRef)(e.sourcePosition),l=(0,v.useRef)(e.targetPosition),u=(0,v.useRef)(t),d=n&&!!e.internals.handleBounds;return(0,v.useEffect)(()=>{!i.current||e.hidden||d&&a.current===i.current||(a.current&&r?.unobserve(a.current),r?.observe(i.current),a.current=i.current)},[d,e.hidden]),(0,v.useEffect)(()=>()=>{a.current&&(r?.unobserve(a.current),a.current=null)},[]),(0,v.useEffect)(()=>{if(i.current){let n=u.current!==t,r=s.current!==e.sourcePosition,a=l.current!==e.targetPosition;(n||r||a)&&(u.current=t,s.current=e.sourcePosition,l.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}({node:C,nodeType:S,hasDimensions:I,resizeObserver:c}),R=oQ({nodeRef:A,disabled:C.hidden||!M,noDragClassName:h,handleSelector:C.dragHandle,nodeId:e,isSelectable:E,nodeClickDistance:x}),T=oJ();if(C.hidden)return null;let z=n$(C),$=void 0===C.internals.handleBounds?{width:C.width??C.initialWidth??C.style?.width,height:C.height??C.initialHeight??C.style?.height}:{width:C.width??C.style?.width,height:C.height??C.style?.height},L=E||M||t||n||r||o,O=n?e=>n(e,{...N.userNode}):void 0,B=r?e=>r(e,{...N.userNode}):void 0,H=o?e=>o(e,{...N.userNode}):void 0,F=i?e=>i(e,{...N.userNode}):void 0,V=a?e=>a(e,{...N.userNode}):void 0;return(0,y.jsx)("div",{className:b(["react-flow__node",`react-flow__node-${S}`,{[f]:M},C.className,{selected:C.selected,selectable:E,parent:k,draggable:M,dragging:R}]),ref:A,style:{zIndex:N.z,transform:`translate(${N.positionAbsolute.x}px,${N.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:I?"visible":"hidden",...C.style,...$},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:O,onMouseMove:B,onMouseLeave:H,onContextMenu:F,onClick:n=>{let{selectNodesOnDrag:r,nodeDragThreshold:o}=D.getState();E&&(!r||!M||o>0)&&oG({id:e,store:D,nodeRef:A}),t&&t(n,{...N.userNode})},onDoubleClick:V,onKeyDown:P?t=>{if(!nK(t.nativeEvent)&&!p){if(t9.includes(t.key)&&E)oG({id:e,store:D,unselect:"Escape"===t.key,nodeRef:A});else if(M&&C.selected&&Object.prototype.hasOwnProperty.call(o4,t.key)){t.preventDefault();let{ariaLabelConfig:e}=D.getState();D.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~N.positionAbsolute.x,y:~~N.positionAbsolute.y})}),T({direction:o4[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:P?0:void 0,onFocus:P?()=>{if(p||!A.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:o,setCenter:i}=D.getState();!o||nc(new Map([[e,C]]),{x:0,y:0,width:n,height:r},t,!0).length>0||i(C.position.x+z.width/2,C.position.y+z.height/2,{zoom:t[2]})}:void 0,role:C.ariaRole??(P?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${oo}-${g}`,"aria-label":C.ariaLabel,...C.domAttributes,children:(0,y.jsx)(o1,{value:e,children:(0,y.jsx)(_,{id:e,data:C.data,type:S,positionAbsoluteX:N.positionAbsolute.x,positionAbsoluteY:N.positionAbsolute.y,selected:C.selected??!1,selectable:E,draggable:M,deletable:C.deletable??!0,isConnectable:j,sourcePosition:C.sourcePosition,targetPosition:C.targetPosition,dragging:R,dragHandle:C.dragHandle,zIndex:N.z,parentId:C.parentId,...z})})})});let ia=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function is(e){var t;let{nodesDraggable:n,nodesConnectable:r,nodesFocusable:o,elementsSelectable:i,onError:a}=oe(ia,r6),s=(t=e.onlyRenderVisibleElements,oe((0,v.useCallback)(e=>t?nc(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),r6)),l=function(){let e=oe(io),[t]=(0,v.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,v.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,y.jsx)("div",{className:"react-flow__nodes",style:oV,children:s.map(t=>(0,y.jsx)(ii,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:l,nodesDraggable:n,nodesConnectable:r,nodesFocusable:o,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:a},t))})}is.displayName="NodeRenderer";let il=(0,v.memo)(is),iu={[p.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,y.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[p.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,y.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},id=({id:e,type:t,color:n,width:r=12.5,height:o=12.5,markerUnits:i="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{let l,u=(l=ot(),(0,v.useMemo)(()=>Object.prototype.hasOwnProperty.call(iu,t)?iu[t]:(l.getState().onError?.("009",t6.error009(t)),null),[t]));return u?(0,y.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:s,refX:"0",refY:"0",children:(0,y.jsx)(u,{color:n,strokeWidth:a})}):null},ic=({defaultColor:e,rfId:t})=>{let n=oe(e=>e.edges),r=oe(e=>e.defaultEdgeOptions),o=(0,v.useMemo)(()=>rs(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return o.length?(0,y.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,y.jsx)("defs",{children:o.map(e=>(0,y.jsx)(id,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};ic.displayName="MarkerDefinitions";var ih=(0,v.memo)(ic);function ip({x:e,y:t,label:n,labelStyle:r,labelShowBg:o=!0,labelBgStyle:i,labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:l,className:u,...d}){let[c,h]=(0,v.useState)({x:1,y:0,width:0,height:0}),f=b(["react-flow__edge-textwrapper",u]),p=(0,v.useRef)(null);return((0,v.useEffect)(()=>{if(p.current){let e=p.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,y.jsxs)("g",{transform:`translate(${e-c.width/2} ${t-c.height/2})`,className:f,visibility:c.width?"visible":"hidden",...d,children:[o&&(0,y.jsx)("rect",{width:c.width+2*a[0],x:-a[0],y:-a[1],height:c.height+2*a[1],className:"react-flow__edge-textbg",style:i,rx:s,ry:s}),(0,y.jsx)("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:p,style:r,children:n}),l]}):null}ip.displayName="EdgeText";let ig=(0,v.memo)(ip);function im({path:e,labelX:t,labelY:n,label:r,labelStyle:o,labelShowBg:i,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("path",{...d,d:e,fill:"none",className:b(["react-flow__edge-path",d.className])}),u?(0,y.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,r&&nE(t)&&nE(n)?(0,y.jsx)(ig,{x:t,y:n,label:r,labelStyle:o,labelShowBg:i,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:l}):null]})}function ix({pos:e,x1:t,y1:n,x2:r,y2:o}){return e===g.Left||e===g.Right?[.5*(t+r),n]:[t,.5*(n+o)]}function iy({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:r,targetY:o,targetPosition:i=g.Top}){let[a,s]=ix({pos:n,x1:e,y1:t,x2:r,y2:o}),[l,u]=ix({pos:i,x1:r,y1:o,x2:e,y2:t}),[d,c,h,f]=nG({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:u});return[`M${e},${t} C${a},${s} ${l},${u} ${r},${o}`,d,c,h,f]}function iv(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:a,targetPosition:s,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})=>{let[v,b,w]=iy({sourceX:n,sourceY:r,sourcePosition:a,targetX:o,targetY:i,targetPosition:s}),C=e.isInternal?void 0:t;return(0,y.jsx)(im,{id:C,path:v,labelX:b,labelY:w,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})})}let ib=iv({isInternal:!1}),iw=iv({isInternal:!0});function iC(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:h,sourcePosition:f=g.Bottom,targetPosition:p=g.Top,markerEnd:m,markerStart:x,pathOptions:v,interactionWidth:b})=>{let[w,C,N]=re({sourceX:n,sourceY:r,sourcePosition:f,targetX:o,targetY:i,targetPosition:p,borderRadius:v?.borderRadius,offset:v?.offset,stepPosition:v?.stepPosition}),k=e.isInternal?void 0:t;return(0,y.jsx)(im,{id:k,path:w,labelX:C,labelY:N,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:h,markerEnd:m,markerStart:x,interactionWidth:b})})}ib.displayName="SimpleBezierEdge",iw.displayName="SimpleBezierEdgeInternal";let iN=iC({isInternal:!1}),ik=iC({isInternal:!0});function iS(e){return(0,v.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,y.jsx)(iN,{...n,id:r,pathOptions:(0,v.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}iN.displayName="SmoothStepEdge",ik.displayName="SmoothStepEdgeInternal";let i_=iS({isInternal:!1}),iM=iS({isInternal:!0});function iE(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:h,markerEnd:f,markerStart:p,interactionWidth:g})=>{let[m,x,v]=n6({sourceX:n,sourceY:r,targetX:o,targetY:i}),b=e.isInternal?void 0:t;return(0,y.jsx)(im,{id:b,path:m,labelX:x,labelY:v,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:h,markerEnd:f,markerStart:p,interactionWidth:g})})}i_.displayName="StepEdge",iM.displayName="StepEdgeInternal";let ij=iE({isInternal:!1}),iP=iE({isInternal:!0});function iD(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:a=g.Bottom,targetPosition:s=g.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:m,markerStart:x,pathOptions:v,interactionWidth:b})=>{let[w,C,N]=n0({sourceX:n,sourceY:r,sourcePosition:a,targetX:o,targetY:i,targetPosition:s,curvature:v?.curvature}),k=e.isInternal?void 0:t;return(0,y.jsx)(im,{id:k,path:w,labelX:C,labelY:N,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:m,markerStart:x,interactionWidth:b})})}ij.displayName="StraightEdge",iP.displayName="StraightEdgeInternal";let iI=iD({isInternal:!1}),iA=iD({isInternal:!0});iI.displayName="BezierEdge",iA.displayName="BezierEdgeInternal";let iR={default:iA,straight:iP,step:iM,smoothstep:ik,simplebezier:iw},iT={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},iz="react-flow__edgeupdater";function i$({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:o,onMouseEnter:i,onMouseOut:a,type:s}){return(0,y.jsx)("circle",{onMouseDown:o,onMouseEnter:i,onMouseOut:a,className:b([iz,`${iz}-${s}`]),cx:e===g.Left?t-r:e===g.Right?t+r:t,cy:e===g.Top?n-r:e===g.Bottom?n+r:n,r:r,stroke:"transparent",fill:"transparent"})}function iL({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:o,targetX:i,targetY:a,sourcePosition:s,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:c,setReconnecting:h,setUpdateHover:f}){let p=ot(),g=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:r,domNode:o,isValidConnection:i,connectionMode:a,connectionRadius:s,lib:l,onConnectStart:f,onConnectEnd:g,cancelConnection:m,nodeLookup:x,rfId:y,panBy:v,updateConnection:b}=p.getState(),w="target"===t.type;rA.onPointerDown(e.nativeEvent,{autoPanOnConnect:r,connectionMode:a,connectionRadius:s,domNode:o,handleId:t.id,nodeId:t.nodeId,nodeLookup:x,isTarget:w,edgeUpdaterType:t.type,lib:l,flowId:y,cancelConnection:m,panBy:v,isValidConnection:i,onConnect:e=>u?.(n,e),onConnectStart:(r,o)=>{h(!0),d?.(e,n,t.type),f?.(r,o)},onConnectEnd:g,onReconnectEnd:(e,r)=>{h(!1),c?.(e,n,t.type,r)},updateConnection:b,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},m=()=>f(!0),x=()=>f(!1);return(0,y.jsxs)(y.Fragment,{children:[(!0===e||"source"===e)&&(0,y.jsx)(i$,{position:s,centerX:r,centerY:o,radius:t,onMouseDown:e=>g(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:m,onMouseOut:x,type:"source"}),(!0===e||"target"===e)&&(0,y.jsx)(i$,{position:l,centerX:i,centerY:a,radius:t,onMouseDown:e=>g(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:m,onMouseOut:x,type:"target"})]})}var iO=(0,v.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:o,onDoubleClick:i,onContextMenu:a,onMouseEnter:s,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:c,onReconnectStart:h,onReconnectEnd:f,rfId:p,edgeTypes:g,noPanClassName:m,onError:x,disableKeyboardA11y:w}){let C=oe(t=>t.edgeLookup.get(e)),N=oe(e=>e.defaultEdgeOptions),k=(C=N?{...N,...C}:C).type||"default",S=g?.[k]||iR[k];void 0===S&&(x?.("011",t6.error011(k)),k="default",S=g?.default||iR.default);let _=!!(C.focusable||t&&void 0===C.focusable),M=void 0!==c&&(C.reconnectable||n&&void 0===C.reconnectable),E=!!(C.selectable||r&&void 0===C.selectable),j=(0,v.useRef)(null),[P,D]=(0,v.useState)(!1),[I,A]=(0,v.useState)(!1),R=ot(),{zIndex:T,sourceX:z,sourceY:$,targetX:L,targetY:O,sourcePosition:B,targetPosition:H}=oe((0,v.useCallback)(t=>{let n=t.nodeLookup.get(C.source),r=t.nodeLookup.get(C.target);if(!n||!r)return{zIndex:C.zIndex,...iT};let o=rn({id:e,sourceNode:n,targetNode:r,sourceHandle:C.sourceHandle||null,targetHandle:C.targetHandle||null,connectionMode:t.connectionMode,onError:x});return{zIndex:n2({selected:C.selected,zIndex:C.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...o||iT}},[C.source,C.target,C.sourceHandle,C.targetHandle,C.selected,C.zIndex]),r6),F=(0,v.useMemo)(()=>C.markerStart?`url('#${ra(C.markerStart,p)}')`:void 0,[C.markerStart,p]),V=(0,v.useMemo)(()=>C.markerEnd?`url('#${ra(C.markerEnd,p)}')`:void 0,[C.markerEnd,p]);if(C.hidden||null===z||null===$||null===L||null===O)return null;let X=i?e=>{i(e,{...C})}:void 0,q=a?e=>{a(e,{...C})}:void 0,Y=s?e=>{s(e,{...C})}:void 0,K=l?e=>{l(e,{...C})}:void 0,Z=u?e=>{u(e,{...C})}:void 0;return(0,y.jsx)("svg",{style:{zIndex:T},children:(0,y.jsxs)("g",{className:b(["react-flow__edge",`react-flow__edge-${k}`,C.className,m,{selected:C.selected,animated:C.animated,inactive:!E&&!o,updating:P,selectable:E}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:i}=R.getState();E&&(R.setState({nodesSelectionActive:!1}),C.selected&&i?(r({nodes:[],edges:[C]}),j.current?.blur()):n([e])),o&&o(t,C)},onDoubleClick:X,onContextMenu:q,onMouseEnter:Y,onMouseMove:K,onMouseLeave:Z,onKeyDown:_?t=>{if(!w&&t9.includes(t.key)&&E){let{unselectNodesAndEdges:n,addSelectedEdges:r}=R.getState();"Escape"===t.key?(j.current?.blur(),n({edges:[C]})):r([e])}}:void 0,tabIndex:_?0:void 0,role:C.ariaRole??(_?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===C.ariaLabel?void 0:C.ariaLabel||`Edge from ${C.source} to ${C.target}`,"aria-describedby":_?`${oi}-${p}`:void 0,ref:j,...C.domAttributes,children:[!I&&(0,y.jsx)(S,{id:e,source:C.source,target:C.target,type:C.type,selected:C.selected,animated:C.animated,selectable:E,deletable:C.deletable??!0,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,sourceX:z,sourceY:$,targetX:L,targetY:O,sourcePosition:B,targetPosition:H,data:C.data,style:C.style,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerStart:F,markerEnd:V,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth}),M&&(0,y.jsx)(iL,{edge:C,isReconnectable:M,reconnectRadius:d,onReconnect:c,onReconnectStart:h,onReconnectEnd:f,sourceX:z,sourceY:$,targetX:L,targetY:O,sourcePosition:B,targetPosition:H,setUpdateHover:D,setReconnecting:A})]})})});let iB=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function iH({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:o,onReconnect:i,onEdgeContextMenu:a,onEdgeMouseEnter:s,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:c,onEdgeDoubleClick:h,onReconnectStart:f,onReconnectEnd:p,disableKeyboardA11y:g}){let{edgesFocusable:m,edgesReconnectable:x,elementsSelectable:b,onError:w}=oe(iB,r6),C=oe((0,v.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let r=e.nodeLookup.get(t.source),o=e.nodeLookup.get(t.target);r&&o&&n5({sourceNode:r,targetNode:o,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),r6);return(0,y.jsxs)("div",{className:"react-flow__edges",children:[(0,y.jsx)(ih,{defaultColor:e,rfId:n}),C.map(e=>(0,y.jsx)(iO,{id:e,edgesFocusable:m,edgesReconnectable:x,elementsSelectable:b,noPanClassName:o,onReconnect:i,onContextMenu:a,onMouseEnter:s,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:c,onDoubleClick:h,onReconnectStart:f,onReconnectEnd:p,rfId:n,onError:w,edgeTypes:r,disableKeyboardA11y:g},e))]})}iH.displayName="EdgeRenderer";let iF=(0,v.memo)(iH),iV=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function iX({children:e}){let t=oe(iV);return(0,y.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}let iq=e=>e.panZoom?.syncViewport;function iY(e){return e.connection.inProgress?{...e.connection,to:nD(e.connection.to,e.transform)}:{...e.connection}}let iK=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function iZ({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:o,width:i,height:a,isValid:s,inProgress:l}=oe(iK,r6);return i&&o&&l?(0,y.jsx)("svg",{style:e,width:i,height:a,className:"react-flow__connectionline react-flow__container",children:(0,y.jsx)("g",{className:b(["react-flow__connection",no(s)]),children:(0,y.jsx)(iW,{style:t,type:n,CustomComponent:r,isValid:s})})}):null}let iW=({style:e,type:t=f.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:o,from:i,fromNode:a,fromHandle:s,fromPosition:l,to:u,toNode:d,toHandle:c,toPosition:h,pointer:p}=oe(iY,r6);if(!o)return;if(n)return(0,y.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:s,fromX:i.x,fromY:i.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:h,connectionStatus:no(r),toNode:d,toHandle:c,pointer:p});let g="",m={sourceX:i.x,sourceY:i.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case f.Bezier:[g]=n0(m);break;case f.SimpleBezier:[g]=iy(m);break;case f.Step:[g]=re({...m,borderRadius:0});break;case f.SmoothStep:[g]=re(m);break;default:[g]=n6(m)}return(0,y.jsx)("path",{d:g,fill:"none",className:"react-flow__connection-path",style:e})};iW.displayName="ConnectionLine";let iU={};function iG(e=iU){(0,v.useRef)(e),ot(),(0,v.useEffect)(()=>{},[e])}function iQ({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:o,onNodeDoubleClick:i,onEdgeDoubleClick:a,onNodeMouseEnter:s,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:c,onSelectionStart:h,onSelectionEnd:f,connectionLineType:p,connectionLineStyle:g,connectionLineComponent:m,connectionLineContainerStyle:x,selectionKeyCode:b,selectionOnDrag:w,selectionMode:C,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:S,deleteKeyCode:_,onlyRenderVisibleElements:M,elementsSelectable:E,defaultViewport:j,translateExtent:P,minZoom:D,maxZoom:I,preventScrolling:A,defaultMarkerColor:R,zoomOnScroll:T,zoomOnPinch:z,panOnScroll:$,panOnScrollSpeed:L,panOnScrollMode:O,zoomOnDoubleClick:B,panOnDrag:H,onPaneClick:F,onPaneMouseEnter:V,onPaneMouseMove:X,onPaneMouseLeave:q,onPaneScroll:Y,onPaneContextMenu:K,paneClickDistance:Z,nodeClickDistance:W,onEdgeContextMenu:U,onEdgeMouseEnter:G,onEdgeMouseMove:Q,onEdgeMouseLeave:J,reconnectRadius:ee,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,noDragClassName:eo,noWheelClassName:ei,noPanClassName:ea,disableKeyboardA11y:es,nodeExtent:el,rfId:eu,viewport:ed,onViewportChange:ec}){let eh,ef,ep,eg;return iG(e),iG(t),ot(),(0,v.useRef)(!1),(0,v.useEffect)(()=>{},[]),eh=oB(),ef=(0,v.useRef)(!1),(0,v.useEffect)(()=>{!ef.current&&eh.viewportInitialized&&n&&(setTimeout(()=>n(eh),1),ef.current=!0)},[n,eh.viewportInitialized]),ep=oe(iq),eg=ot(),(0,v.useEffect)(()=>{ed&&(ep?.(ed),eg.setState({transform:[ed.x,ed.y,ed.zoom]}))},[ed,ep]),(0,y.jsx)(ir,{onPaneClick:F,onPaneMouseEnter:V,onPaneMouseMove:X,onPaneMouseLeave:q,onPaneContextMenu:K,onPaneScroll:Y,paneClickDistance:Z,deleteKeyCode:_,selectionKeyCode:b,selectionOnDrag:w,selectionMode:C,onSelectionStart:h,onSelectionEnd:f,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:T,zoomOnPinch:z,zoomOnDoubleClick:B,panOnScroll:$,panOnScrollSpeed:L,panOnScrollMode:O,panOnDrag:H,defaultViewport:j,translateExtent:P,minZoom:D,maxZoom:I,onSelectionContextMenu:c,preventScrolling:A,noDragClassName:eo,noWheelClassName:ei,noPanClassName:ea,disableKeyboardA11y:es,onViewportChange:ec,isControlledViewport:!!ed,children:(0,y.jsxs)(iX,{children:[(0,y.jsx)(iF,{edgeTypes:t,onEdgeClick:o,onEdgeDoubleClick:a,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,onlyRenderVisibleElements:M,onEdgeContextMenu:U,onEdgeMouseEnter:G,onEdgeMouseMove:Q,onEdgeMouseLeave:J,reconnectRadius:ee,defaultMarkerColor:R,noPanClassName:ea,disableKeyboardA11y:es,rfId:eu}),(0,y.jsx)(iZ,{style:g,type:p,component:m,containerStyle:x}),(0,y.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,y.jsx)(il,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:i,onNodeMouseEnter:s,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:W,onlyRenderVisibleElements:M,noPanClassName:ea,noDragClassName:eo,disableKeyboardA11y:es,nodeExtent:el,rfId:eu}),(0,y.jsx)("div",{className:"react-flow__viewport-portal"})]})})}iQ.displayName="GraphView";let iJ=(0,v.memo)(iQ),i0=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:a,fitViewOptions:s,minZoom:l=.5,maxZoom:u=2,nodeOrigin:c,nodeExtent:h,zIndexMode:f="basic"}={})=>{let p=new Map,g=new Map,m=new Map,x=new Map,y=r??t??[],v=n??e??[],b=c??[0,0],w=h??t8;rk(m,x,y);let C=rx(v,p,g,{nodeOrigin:b,nodeExtent:w,zIndexMode:f}),N=[0,0,1];if(a&&o&&i){let{x:e,y:t,zoom:n}=nR(nd(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),o,i,l,u,s?.padding??.1);N=[e,t,n]}return{rfId:"1",width:o??0,height:i??0,transform:N,nodes:v,nodesInitialized:C,nodeLookup:p,parentLookup:g,edges:y,edgeLookup:x,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==r,panZoom:null,minZoom:l,maxZoom:u,translateExtent:t8,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:d.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:b,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:s,fitViewResolver:null,connection:{...ne},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:nj,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:t7,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function i1({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:o,initialHeight:i,initialMinZoom:a,initialMaxZoom:s,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:c,zIndexMode:h,children:f}){let[p]=(0,v.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:a,fitViewOptions:s,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:c,zIndexMode:h})=>{let f,p;return f=(f,p)=>{async function m(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:o,height:i,minZoom:a,maxZoom:s}=p();t&&(await nh({nodes:e,width:o,height:i,panZoom:t,minZoom:a,maxZoom:s},n),r?.resolve(!0),f({fitViewResolver:null}))}return{...i0({nodes:e,edges:t,width:o,height:i,fitView:a,fitViewOptions:s,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:c,defaultNodes:n,defaultEdges:r,zIndexMode:h}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,elevateNodesOnSelect:o,fitViewQueued:i,zIndexMode:a}=p(),s=rx(e,t,n,{nodeOrigin:r,nodeExtent:c,elevateNodesOnSelect:o,checkEquality:!0,zIndexMode:a});i&&s?(m(),f({nodes:e,nodesInitialized:s,fitViewQueued:!1,fitViewOptions:void 0})):f({nodes:e,nodesInitialized:s})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=p();rk(t,n,e),f({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=p();t(e),f({hasDefaultNodes:!0})}if(t){let{setEdges:e}=p();e(t),f({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:o,nodeOrigin:i,nodeExtent:a,debug:s,fitViewQueued:l,zIndexMode:u}=p(),{changes:d,updatedInternals:c}=rw(e,n,r,o,i,a,u);c&&(rg(n,r,{nodeOrigin:i,nodeExtent:a,zIndexMode:u}),l?(m(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),d?.length>0&&(s&&console.log("React Flow: trigger node changes",d),t?.(d)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:o,triggerNodeChanges:i,connection:a,updateConnection:s,onNodesChangeMiddlewareMap:l}=p();for(let[i,l]of e){let e=o.get(i),u=!!(e?.expandParent&&e?.parentId&&l?.position),d={id:i,type:"position",position:u?{x:Math.max(0,l.position.x),y:Math.max(0,l.position.y)}:l.position,dragging:t};if(e&&a.inProgress&&a.fromNode.id===e.id){let t=ro(e,a.fromHandle,g.Left,!0);s({...a,from:t})}u&&e.parentId&&n.push({id:i,parentId:e.parentId,rect:{...l.internals.positionAbsolute,width:l.measured.width??0,height:l.measured.height??0}}),r.push(d)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=p(),i=rb(n,o,e,t);r.push(...i)}for(let e of l.values())r=e(r);i(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:o,debug:i}=p();e?.length&&(o&&n(oj(e,r)),i&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:o,debug:i}=p();e?.length&&(o&&n(oj(e,r)),i&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:o,triggerEdgeChanges:i}=p();t?o(e.map(e=>oP(e,!0))):(o(oD(r,new Set([...e]),!0)),i(oD(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:o,triggerEdgeChanges:i}=p();t?i(e.map(e=>oP(e,!0))):(i(oD(n,new Set([...e]))),o(oD(r,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:o,triggerNodeChanges:i,triggerEdgeChanges:a}=p(),s=(e||r).map(e=>{let t=o.get(e.id);return t&&(t.selected=!1),oP(e.id,!1)}),l=(t||n).map(e=>oP(e.id,!1));i(s),a(l)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=p();t?.setScaleExtent([e,n]),f({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=p();t?.setScaleExtent([n,e]),f({maxZoom:e})},setTranslateExtent:e=>{p().panZoom?.setTranslateExtent(e),f({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:o}=p();if(!o)return;let i=t.reduce((e,t)=>t.selected?[...e,oP(t.id,!1)]:e,[]),a=e.reduce((e,t)=>t.selected?[...e,oP(t.id,!1)]:e,[]);n(i),r(a)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:o,elevateNodesOnSelect:i,nodeExtent:a,zIndexMode:s}=p();(e[0][0]!==a[0][0]||e[0][1]!==a[0][1]||e[1][0]!==a[1][0]||e[1][1]!==a[1][1])&&(rx(t,n,r,{nodeOrigin:o,nodeExtent:e,elevateNodesOnSelect:i,checkEquality:!1,zIndexMode:s}),f({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:o,translateExtent:i}=p();return rC({delta:e,panZoom:o,transform:t,translateExtent:i,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:o,maxZoom:i,panZoom:a}=p();if(!a)return Promise.resolve(!1);let s=void 0!==n?.zoom?n.zoom:i;return await a.setViewport({x:r/2-e*s,y:o/2-t*s,zoom:s},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{f({connection:{...ne}})},updateConnection:e=>{f({connection:e})},reset:()=>f({...i0()})}},p=Object.is,f?r4(f,p):r4})({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:u,minZoom:a,maxZoom:s,fitViewOptions:l,nodeOrigin:d,nodeExtent:c,zIndexMode:h}));return(0,y.jsx)(r9,{value:p,children:(0,y.jsx)(oL,{children:f})})}function i2({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:o,width:i,height:a,fitView:s,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:c,nodeExtent:h,zIndexMode:f}){return(0,v.useContext)(r8)?(0,y.jsx)(y.Fragment,{children:e}):(0,y.jsx)(i1,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:o,initialWidth:i,initialHeight:a,fitView:s,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:c,nodeExtent:h,zIndexMode:f,children:e})}let i5={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var i3=oR(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:o,nodeTypes:i,edgeTypes:a,onNodeClick:s,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:p,onMoveEnd:g,onConnect:m,onConnectStart:x,onConnectEnd:w,onClickConnectStart:C,onClickConnectEnd:N,onNodeMouseEnter:k,onNodeMouseMove:S,onNodeMouseLeave:_,onNodeContextMenu:M,onNodeDoubleClick:E,onNodeDragStart:j,onNodeDrag:P,onNodeDragStop:D,onNodesDelete:I,onEdgesDelete:A,onDelete:R,onSelectionChange:T,onSelectionDragStart:z,onSelectionDrag:$,onSelectionDragStop:L,onSelectionContextMenu:O,onSelectionStart:B,onSelectionEnd:H,onBeforeDelete:F,connectionMode:V,connectionLineType:X=f.Bezier,connectionLineStyle:q,connectionLineComponent:Y,connectionLineContainerStyle:K,deleteKeyCode:Z="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:U=!1,selectionMode:G=h.Full,panActivationKeyCode:Q="Space",multiSelectionKeyCode:J=nT()?"Meta":"Control",zoomActivationKeyCode:ee=nT()?"Meta":"Control",snapToGrid:et,snapGrid:en,onlyRenderVisibleElements:er=!1,selectNodesOnDrag:eo,nodesDraggable:ei,autoPanOnNodeFocus:ea,nodesConnectable:es,nodesFocusable:el,nodeOrigin:eu=oy,edgesFocusable:ed,edgesReconnectable:ec,elementsSelectable:eh=!0,defaultViewport:ef=ov,minZoom:ep=.5,maxZoom:eg=2,translateExtent:em=t8,preventScrolling:ex=!0,nodeExtent:ey,defaultMarkerColor:ev="#b1b1b7",zoomOnScroll:eb=!0,zoomOnPinch:ew=!0,panOnScroll:eC=!1,panOnScrollSpeed:eN=.5,panOnScrollMode:ek=c.Free,zoomOnDoubleClick:eS=!0,panOnDrag:e_=!0,onPaneClick:eM,onPaneMouseEnter:eE,onPaneMouseMove:ej,onPaneMouseLeave:eP,onPaneScroll:eD,onPaneContextMenu:eI,paneClickDistance:eA=1,nodeClickDistance:eR=0,children:eT,onReconnect:ez,onReconnectStart:e$,onReconnectEnd:eL,onEdgeContextMenu:eO,onEdgeDoubleClick:eB,onEdgeMouseEnter:eH,onEdgeMouseMove:eF,onEdgeMouseLeave:eV,reconnectRadius:eX=10,onNodesChange:eq,onEdgesChange:eY,noDragClassName:eK="nodrag",noWheelClassName:eZ="nowheel",noPanClassName:eW="nopan",fitView:eU,fitViewOptions:eG,connectOnClick:eQ,attributionPosition:eJ,proOptions:e0,defaultEdgeOptions:e1,elevateNodesOnSelect:e2=!0,elevateEdgesOnSelect:e5=!1,disableKeyboardA11y:e3=!1,autoPanOnConnect:e4,autoPanOnNodeDrag:e6,autoPanSpeed:e8,connectionRadius:e9,isValidConnection:e7,onError:te,style:tt,id:tn,nodeDragThreshold:tr,connectionDragThreshold:to,viewport:ti,onViewportChange:ta,width:ts,height:tl,colorMode:tu="light",debug:td,onScroll:tc,ariaLabelConfig:th,zIndexMode:tf="basic",...tp},tg){let tm=tn||"1",tx=function(e){let[t,n]=(0,v.useState)("system"===e?null:e);return(0,v.useEffect)(()=>{if("system"!==e)return void n(e);let t=ok(),r=()=>n(t?.matches?"dark":"light");return r(),t?.addEventListener("change",r),()=>{t?.removeEventListener("change",r)}},[e]),null!==t?t:ok()?.matches?"dark":"light"}(tu),ty=(0,v.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),tc?.(e)},[tc]);return(0,y.jsx)("div",{"data-testid":"rf__wrapper",...tp,onScroll:ty,style:{...tt,...i5},ref:tg,className:b(["react-flow",o,tx]),id:tn,role:"application",children:(0,y.jsxs)(i2,{nodes:e,edges:t,width:ts,height:tl,fitView:eU,fitViewOptions:eG,minZoom:ep,maxZoom:eg,nodeOrigin:eu,nodeExtent:ey,zIndexMode:tf,children:[(0,y.jsx)(iJ,{onInit:u,onNodeClick:s,onEdgeClick:l,onNodeMouseEnter:k,onNodeMouseMove:S,onNodeMouseLeave:_,onNodeContextMenu:M,onNodeDoubleClick:E,nodeTypes:i,edgeTypes:a,connectionLineType:X,connectionLineStyle:q,connectionLineComponent:Y,connectionLineContainerStyle:K,selectionKeyCode:W,selectionOnDrag:U,selectionMode:G,deleteKeyCode:Z,multiSelectionKeyCode:J,panActivationKeyCode:Q,zoomActivationKeyCode:ee,onlyRenderVisibleElements:er,defaultViewport:ef,translateExtent:em,minZoom:ep,maxZoom:eg,preventScrolling:ex,zoomOnScroll:eb,zoomOnPinch:ew,zoomOnDoubleClick:eS,panOnScroll:eC,panOnScrollSpeed:eN,panOnScrollMode:ek,panOnDrag:e_,onPaneClick:eM,onPaneMouseEnter:eE,onPaneMouseMove:ej,onPaneMouseLeave:eP,onPaneScroll:eD,onPaneContextMenu:eI,paneClickDistance:eA,nodeClickDistance:eR,onSelectionContextMenu:O,onSelectionStart:B,onSelectionEnd:H,onReconnect:ez,onReconnectStart:e$,onReconnectEnd:eL,onEdgeContextMenu:eO,onEdgeDoubleClick:eB,onEdgeMouseEnter:eH,onEdgeMouseMove:eF,onEdgeMouseLeave:eV,reconnectRadius:eX,defaultMarkerColor:ev,noDragClassName:eK,noWheelClassName:eZ,noPanClassName:eW,rfId:tm,disableKeyboardA11y:e3,nodeExtent:ey,viewport:ti,onViewportChange:ta}),(0,y.jsx)(oN,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:m,onConnectStart:x,onConnectEnd:w,onClickConnectStart:C,onClickConnectEnd:N,nodesDraggable:ei,autoPanOnNodeFocus:ea,nodesConnectable:es,nodesFocusable:el,edgesFocusable:ed,edgesReconnectable:ec,elementsSelectable:eh,elevateNodesOnSelect:e2,elevateEdgesOnSelect:e5,minZoom:ep,maxZoom:eg,nodeExtent:ey,onNodesChange:eq,onEdgesChange:eY,snapToGrid:et,snapGrid:en,connectionMode:V,translateExtent:em,connectOnClick:eQ,defaultEdgeOptions:e1,fitView:eU,fitViewOptions:eG,onNodesDelete:I,onEdgesDelete:A,onDelete:R,onNodeDragStart:j,onNodeDrag:P,onNodeDragStop:D,onSelectionDrag:$,onSelectionDragStart:z,onSelectionDragStop:L,onMove:d,onMoveStart:p,onMoveEnd:g,noPanClassName:eW,nodeOrigin:eu,rfId:tm,autoPanOnConnect:e4,autoPanOnNodeDrag:e6,autoPanSpeed:e8,onError:te,connectionRadius:e9,isValidConnection:e7,selectNodesOnDrag:eo,nodeDragThreshold:tr,connectionDragThreshold:to,onBeforeDelete:F,debug:td,ariaLabelConfig:th,zIndexMode:tf}),(0,y.jsx)(ox,{onSelectionChange:T}),eT,(0,y.jsx)(oc,{proOptions:e0,position:eJ}),(0,y.jsx)(ou,{rfId:tm,disableKeyboardA11y:e3})]})})});function i4({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,y.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:b(["react-flow__background-pattern",n,r])})}function i6({radius:e,className:t}){return(0,y.jsx)("circle",{cx:e,cy:e,r:e,className:b(["react-flow__background-pattern","dots",t])})}t6.error014(),(l=x||(x={})).Lines="lines",l.Dots="dots",l.Cross="cross";let i8={[x.Dots]:1,[x.Lines]:1,[x.Cross]:6},i9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function i7({id:e,variant:t=x.Dots,gap:n=20,size:r,lineWidth:o=1,offset:i=0,color:a,bgColor:s,style:l,className:u,patternClassName:d}){let c=(0,v.useRef)(null),{transform:h,patternId:f}=oe(i9,r6),p=r||i8[t],g=t===x.Dots,m=t===x.Cross,w=Array.isArray(n)?n:[n,n],C=[w[0]*h[2]||1,w[1]*h[2]||1],N=p*h[2],k=Array.isArray(i)?i:[i,i],S=m?[N,N]:C,_=[k[0]*h[2]||1+S[0]/2,k[1]*h[2]||1+S[1]/2],M=`${f}${e||""}`;return(0,y.jsxs)("svg",{className:b(["react-flow__background",u]),style:{...l,...oV,"--xy-background-color-props":s,"--xy-background-pattern-color-props":a},ref:c,"data-testid":"rf__background",children:[(0,y.jsx)("pattern",{id:M,x:h[0]%C[0],y:h[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${_[0]},-${_[1]})`,children:g?(0,y.jsx)(i6,{radius:N/2,className:d}):(0,y.jsx)(i4,{dimensions:S,lineWidth:o,variant:t,className:d})}),(0,y.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${M})`})]})}i7.displayName="Background";let ae=(0,v.memo)(i7);function at(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,y.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function an(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,y.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function ar(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,y.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function ao(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,y.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function ai(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,y.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function aa({children:e,className:t,...n}){return(0,y.jsx)("button",{type:"button",className:b(["react-flow__controls-button",t]),...n,children:e})}let as=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function al({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:o,onZoomIn:i,onZoomOut:a,onFitView:s,onInteractiveChange:l,className:u,children:d,position:c="bottom-left",orientation:h="vertical","aria-label":f}){let p=ot(),{isInteractive:g,minZoomReached:m,maxZoomReached:x,ariaLabelConfig:v}=oe(as,r6),{zoomIn:w,zoomOut:C,fitView:N}=oB();return(0,y.jsxs)(od,{className:b(["react-flow__controls","horizontal"===h?"horizontal":"vertical",u]),position:c,style:e,"data-testid":"rf__controls","aria-label":f??v["controls.ariaLabel"],children:[t&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(aa,{onClick:()=>{w(),i?.()},className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:x,children:(0,y.jsx)(at,{})}),(0,y.jsx)(aa,{onClick:()=>{C(),a?.()},className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:m,children:(0,y.jsx)(an,{})})]}),n&&(0,y.jsx)(aa,{className:"react-flow__controls-fitview",onClick:()=>{N(o),s?.()},title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:(0,y.jsx)(ar,{})}),r&&(0,y.jsx)(aa,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l?.(!g)},title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:g?(0,y.jsx)(ai,{}):(0,y.jsx)(ao,{})}),d]})}al.displayName="Controls",(0,v.memo)(al);let au=(0,v.memo)(function({id:e,x:t,y:n,width:r,height:o,style:i,color:a,strokeColor:s,strokeWidth:l,className:u,borderRadius:d,shapeRendering:c,selected:h,onClick:f}){let{background:p,backgroundColor:g}=i||{};return(0,y.jsx)("rect",{className:b(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:d,ry:d,width:r,height:o,style:{fill:a||p||g,stroke:s,strokeWidth:l},shapeRendering:c,onClick:f?t=>f(t,e):void 0})}),ad=e=>e.nodes.map(e=>e.id),ac=e=>e instanceof Function?e:()=>e,ah=(0,v.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:o,nodeStrokeWidth:i,shapeRendering:a,NodeComponent:s,onClick:l}){let{node:u,x:d,y:c,width:h,height:f}=oe(t=>{let{internals:n}=t.nodeLookup.get(e),r=n.userNode,{x:o,y:i}=n.positionAbsolute,{width:a,height:s}=n$(r);return{node:r,x:o,y:i,width:a,height:s}},r6);return u&&!u.hidden&&nL(u)?(0,y.jsx)(s,{x:d,y:c,width:h,height:f,style:u.style,selected:!!u.selected,className:r(u),color:t(u),borderRadius:o,strokeColor:n(u),strokeWidth:i,shapeRendering:a,onClick:l,id:u.id}):null});var af=(0,v.memo)(function({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o,nodeComponent:i=au,onClick:a}){let s=oe(ad,r6),l=ac(t),u=ac(e),d=ac(n),c="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return(0,y.jsx)(y.Fragment,{children:s.map(e=>(0,y.jsx)(ah,{id:e,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:o,NodeComponent:i,onClick:a,shapeRendering:c},e))})});let ap=e=>!e.hidden,ag=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?nS(nd(e.nodeLookup,{filter:ap}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function am({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:o="",nodeBorderRadius:i=5,nodeStrokeWidth:a,nodeComponent:s,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:c,position:h="bottom-right",onClick:f,onNodeClick:p,pannable:g=!1,zoomable:m=!1,ariaLabel:x,inversePan:w,zoomStep:C=1,offsetScale:N=5}){let k=ot(),S=(0,v.useRef)(null),{boundingRect:_,viewBB:M,rfId:E,panZoom:j,translateExtent:P,flowWidth:D,flowHeight:I,ariaLabelConfig:A}=oe(ag,r6),R=e?.width??200,T=e?.height??150,z=Math.max(_.width/R,_.height/T),$=z*R,L=z*T,O=N*z,B=_.x-($-_.width)/2-O,H=_.y-(L-_.height)/2-O,F=$+2*O,V=L+2*O,X=`react-flow__minimap-desc-${E}`,q=(0,v.useRef)(0),Y=(0,v.useRef)();q.current=z,(0,v.useEffect)(()=>{if(S.current&&j)return Y.current=rR({domNode:S.current,panZoom:j,getTransform:()=>k.getState().transform,getViewScale:()=>q.current}),()=>{Y.current?.destroy()}},[j]),(0,v.useEffect)(()=>{Y.current?.update({translateExtent:P,width:D,height:I,inversePan:w,pannable:g,zoomStep:C,zoomable:m})},[g,m,w,C,P,D,I]);let K=f?e=>{let[t,n]=Y.current?.pointer(e)||[0,0];f(e,{x:t,y:n})}:void 0,Z=p?(0,v.useCallback)((e,t)=>{p(e,k.getState().nodeLookup.get(t).internals.userNode)},[]):void 0,W=x??A["minimap.ariaLabel"];return(0,y.jsx)(od,{position:h,style:{...e,"--xy-minimap-background-color-props":"string"==typeof l?l:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof u?u:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof d?d:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof c?c*z:void 0,"--xy-minimap-node-background-color-props":"string"==typeof r?r:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof n?n:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof a?a:void 0},className:b(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,y.jsxs)("svg",{width:R,height:T,viewBox:`${B} ${H} ${F} ${V}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":X,ref:S,onClick:K,children:[W&&(0,y.jsx)("title",{id:X,children:W}),(0,y.jsx)(af,{onClick:Z,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:s}),(0,y.jsx)("path",{className:"react-flow__minimap-mask",d:`M${B-O},${H-O}h${F+2*O}v${V+2*O}h${-F-2*O}z
2
- M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}am.displayName="MiniMap",(0,v.memo)(am);let ax={[m.Line]:"right",[m.Handle]:"bottom-right"};(0,v.memo)(function({nodeId:e,position:t,variant:n=m.Handle,className:r,style:o,children:i,color:a,minWidth:s=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:h,autoScale:f=!0,shouldResize:p,onResizeStart:g,onResize:x,onResizeEnd:w}){let C,N=o2(),k="string"==typeof e?e:N,S=ot(),_=(0,v.useRef)(null),M=n===m.Handle,E=oe((0,v.useCallback)((C=M&&f,e=>C?`${Math.max(1/e.transform[2],1)}`:void 0),[M,f]),r6),j=(0,v.useRef)(null),P=t??ax[n];(0,v.useEffect)(()=>{if(_.current&&k)return j.current||(j.current=rG({domNode:_.current,nodeId:k,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:o,domNode:i}=S.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:o,paneDomNode:i}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:r,parentLookup:o,nodeOrigin:i}=S.getState(),a=[],s={x:e.x,y:e.y},l=r.get(k);if(l&&l.expandParent&&l.parentId){let t=l.origin??i,n=e.width??l.measured.width??0,u=e.height??l.measured.height??0,d=rb([{id:l.id,parentId:l.parentId,rect:{width:n,height:u,...nO({x:e.x??l.position.x,y:e.y??l.position.y},{width:n,height:u},l.parentId,r,t)}}],r,o,i);a.push(...d),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*u,e.y):void 0}if(void 0!==s.x&&void 0!==s.y){let e={id:k,type:"position",position:{...s}};a.push(e)}if(void 0!==e.width&&void 0!==e.height){let t={id:k,type:"dimensions",resizing:!0,setAttributes:!h||("horizontal"===h?"width":"height"),dimensions:{width:e.width,height:e.height}};a.push(t)}for(let e of t){let t={...e,type:"position"};a.push(t)}n(a)},onEnd:({width:e,height:t})=>{S.getState().triggerNodeChanges([{id:k,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}}])}})),j.current.update({controlPosition:P,boundaries:{minWidth:s,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:c,resizeDirection:h,onResizeStart:g,onResize:x,onResizeEnd:w,shouldResize:p}),()=>{j.current?.destroy()}},[P,s,l,u,d,c,g,x,w,p]);let D=P.split("-");return(0,y.jsx)("div",{className:b(["react-flow__resize-control","nodrag",...D,n,r]),ref:_,style:{...o,scale:E,...a&&{[M?"backgroundColor":"borderColor"]:a}},children:i})}),e.s(["Background",()=>ae,"BackgroundVariant",()=>x,"BaseEdge",()=>im,"Handle",()=>o3,"Panel",()=>od,"ReactFlow",()=>i3,"ReactFlowProvider",()=>i1,"useReactFlow",()=>oB],53271)},92786,e=>{"use strict";var t=e.i(20314),n=e.i(79054);let r=(0,n.createContext)(null);function o({children:e}){let[o,i]=(0,n.useState)(new Map),a=(0,n.useRef)(o);a.current=o;let s=(0,n.useCallback)(async()=>{if(!document.hidden)try{let e=await fetch("/api/sessions-batch");if(!e.ok)return;let t=await e.json(),n=new Map;for(let[e,r]of Object.entries(t.sessionsByPath))n.set(e,r);i(n)}catch{}},[]);(0,n.useEffect)(()=>{s();let e=setInterval(()=>void s(),3e4);return()=>clearInterval(e)},[s]);let l=(0,n.useCallback)(e=>a.current.get(e)??[],[o]),u=(0,n.useCallback)(e=>{let t=a.current.get(e);if(!t)return!1;let n=Date.now();return t.some(e=>e.lastMessageAt&&n-new Date(e.lastMessageAt).getTime()<3e5)},[o]),d=(0,n.useMemo)(()=>({getSessionsForPath:l,hasActiveSessions:u}),[l,u]);return(0,t.jsx)(r.Provider,{value:d,children:e})}function i(){let e=(0,n.useContext)(r);return e||{getSessionsForPath:()=>[],hasActiveSessions:()=>!1}}e.s(["SessionsProvider",()=>o,"useSessionsContext",()=>i])},83299,74363,65104,31566,e=>{"use strict";let t=(0,e.i(3645).default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);e.s(["ArchiveRestore",()=>t],83299);var n=e.i(20314),r=e.i(79054),o=e.i(83428);e.i(41001);var i=e.i(26960),a=e.i(64780),s=e.i(71326),l=e.i(97667),u=e.i(10714),u=u,d=e.i(5978),c=e.i(22528),h=e.i(91967),f=e.i(36589),p=e.i(23405),g=e.i(77624),m=e.i(85995),x=e.i(87620),y="Checkbox",[v,b]=(0,c.createContextScope)(y),[w,C]=v(y);function N(e){let{__scopeCheckbox:t,checked:o,children:i,defaultChecked:a,disabled:s,form:l,name:u,onCheckedChange:d,required:c,value:h="on",internal_do_not_use_render:p}=e,[g,m]=(0,f.useControllableState)({prop:o,defaultProp:a??!1,onChange:d,caller:y}),[x,v]=r.useState(null),[b,C]=r.useState(null),N=r.useRef(!1),k=!x||!!l||!!x.closest("form"),S={checked:g,disabled:s,setChecked:m,control:x,setControl:v,name:u,form:l,value:h,hasConsumerStoppedPropagationRef:N,required:c,defaultChecked:!D(a)&&a,isFormControl:k,bubbleInput:b,setBubbleInput:C};return(0,n.jsx)(w,{scope:t,...S,children:"function"==typeof p?p(S):i})}var k="CheckboxTrigger",S=r.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:o,...i},a)=>{let{control:s,value:l,disabled:u,checked:c,required:f,setControl:p,setChecked:g,hasConsumerStoppedPropagationRef:m,isFormControl:y,bubbleInput:v}=C(k,e),b=(0,d.useComposedRefs)(a,p),w=r.useRef(c);return r.useEffect(()=>{let e=s?.form;if(e){let t=()=>g(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[s,g]),(0,n.jsx)(x.Primitive.button,{type:"button",role:"checkbox","aria-checked":D(c)?"mixed":c,"aria-required":f,"data-state":I(c),"data-disabled":u?"":void 0,disabled:u,value:l,...i,ref:b,onKeyDown:(0,h.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,h.composeEventHandlers)(o,e=>{g(e=>!!D(e)||!e),v&&y&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});S.displayName=k;var _=r.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:o,checked:i,defaultChecked:a,required:s,disabled:l,value:u,onCheckedChange:d,form:c,...h}=e;return(0,n.jsx)(N,{__scopeCheckbox:r,checked:i,defaultChecked:a,disabled:l,required:s,onCheckedChange:d,name:o,form:c,value:u,internal_do_not_use_render:({isFormControl:e})=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S,{...h,ref:t,__scopeCheckbox:r}),e&&(0,n.jsx)(P,{__scopeCheckbox:r})]})})});_.displayName=y;var M="CheckboxIndicator",E=r.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:o,...i}=e,a=C(M,r);return(0,n.jsx)(m.Presence,{present:o||D(a.checked)||!0===a.checked,children:(0,n.jsx)(x.Primitive.span,{"data-state":I(a.checked),"data-disabled":a.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});E.displayName=M;var j="CheckboxBubbleInput",P=r.forwardRef(({__scopeCheckbox:e,...t},o)=>{let{control:i,hasConsumerStoppedPropagationRef:a,checked:s,defaultChecked:l,required:u,disabled:c,name:h,value:f,form:m,bubbleInput:y,setBubbleInput:v}=C(j,e),b=(0,d.useComposedRefs)(o,v),w=(0,p.usePrevious)(s),N=(0,g.useSize)(i);r.useEffect(()=>{if(!y)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!a.current;if(w!==s&&e){let n=new Event("click",{bubbles:t});y.indeterminate=D(s),e.call(y,!D(s)&&s),y.dispatchEvent(n)}},[y,w,s,a]);let k=r.useRef(!D(s)&&s);return(0,n.jsx)(x.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??k.current,required:u,disabled:c,name:h,value:f,form:m,...t,tabIndex:-1,ref:b,style:{...t.style,...N,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function D(e){return"indeterminate"===e}function I(e){return D(e)?"indeterminate":e?"checked":"unchecked"}P.displayName=j,e.s(["Checkbox",()=>_,"CheckboxIndicator",()=>E,"Indicator",()=>E,"Root",()=>_,"createCheckboxScope",()=>b,"unstable_BubbleInput",()=>P,"unstable_CheckboxBubbleInput",()=>P,"unstable_CheckboxProvider",()=>N,"unstable_CheckboxTrigger",()=>S,"unstable_Provider",()=>N,"unstable_Trigger",()=>S],57696);var A=e.i(57696),A=A,R=e.i(31777);function T({className:e,...t}){return(0,n.jsx)(A.Root,{"data-slot":"checkbox",className:(0,R.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,n.jsx)(A.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===t.checked?(0,n.jsx)(u.default,{className:"size-3.5"}):(0,n.jsx)(l.CheckIcon,{className:"size-3.5"})})})}e.s(["Checkbox",()=>T],74363);var z=e.i(41957);function $({open:e,onOpenChange:t,onConfirm:l,isDeleting:u,featureName:d,featureId:c,hasChildren:h,hasOpenPr:f}){let{t:p}=(0,a.useTranslation)("web"),[g,m]=(0,r.useState)(!0),[x,y]=(0,r.useState)(!1),[v,b]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{e&&(m(!0),y(!1),b(!0))},[e]),(0,r.useEffect)(()=>{g?b(!0):b(!1)},[g]),(0,n.jsx)(s.AlertDialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(s.AlertDialogContent,{onCloseAutoFocus:e=>e.preventDefault(),children:[(0,n.jsxs)(s.AlertDialogHeader,{children:[(0,n.jsx)(s.AlertDialogTitle,{children:p("deleteFeature.title")}),(0,n.jsx)(s.AlertDialogDescription,{children:(0,n.jsx)(i.Trans,{t:p,i18nKey:"deleteFeature.description",values:{featureName:d,featureId:c},components:{strong:(0,n.jsx)("strong",{})}})})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(T,{id:"cleanup-checkbox",checked:g,onCheckedChange:e=>m(!0===e),disabled:u,"aria-label":p("deleteFeature.cleanupLabel")}),(0,n.jsx)(z.Label,{htmlFor:"cleanup-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.cleanupLabel")})]}),h?(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(T,{id:"cascade-delete-checkbox",checked:x,onCheckedChange:e=>y(!0===e),disabled:u,"aria-label":p("deleteFeature.deleteSubFeatures")}),(0,n.jsx)(z.Label,{htmlFor:"cascade-delete-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.deleteSubFeatures")})]}):null,f?(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(T,{id:"close-pr-checkbox",checked:v,onCheckedChange:e=>b(!0===e),disabled:u||!g,"aria-label":p("deleteFeature.closePullRequest")}),(0,n.jsx)(z.Label,{htmlFor:"close-pr-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.closePullRequest")})]}):null]}),(0,n.jsxs)(s.AlertDialogFooter,{children:[(0,n.jsx)(s.AlertDialogCancel,{disabled:u,onClick:()=>t(!1),children:p("deleteFeature.cancel")}),(0,n.jsx)(s.AlertDialogAction,{variant:"destructive",disabled:u,onClick:()=>l(g,x,!!f&&v),children:u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),p("deleteFeature.deleting")]}):p("deleteFeature.delete")})]})]})})}e.s(["DeleteFeatureDialog",()=>$],65104),e.s([],31566)},2929,57335,53756,70646,e=>{"use strict";var t=e.i(83428),n=e.i(51251),r=e.i(34119),o=e.i(94819),i=e.i(54277),a=e.i(67669),s=e.i(55016),l=e.i(37260);let u={creating:{icon:t.Loader2,borderClass:"border-s-blue-500",labelClass:"text-blue-500",progressClass:"bg-blue-500",badgeClass:"text-blue-700",badgeBgClass:"bg-blue-50",label:"Creating...",showProgressBar:!1},running:{icon:t.Loader2,borderClass:"border-s-blue-500",labelClass:"text-blue-500",progressClass:"bg-blue-500",badgeClass:"text-blue-700",badgeBgClass:"bg-blue-50",label:"Running",showProgressBar:!1},"action-required":{icon:n.CircleAlert,borderClass:"border-s-amber-500",labelClass:"text-amber-500",progressClass:"bg-amber-500",badgeClass:"text-amber-700",badgeBgClass:"bg-amber-50",label:"User action required",showProgressBar:!1},done:{icon:r.CircleCheck,borderClass:"border-s-emerald-500",labelClass:"text-emerald-500",progressClass:"bg-emerald-500",badgeClass:"text-emerald-700",badgeBgClass:"bg-emerald-50",label:"Done",showProgressBar:!1},blocked:{icon:o.Ban,borderClass:"border-s-gray-400",labelClass:"text-gray-400",progressClass:"bg-gray-400",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Blocked",showProgressBar:!1},pending:{icon:s.Clock,borderClass:"border-s-slate-400",labelClass:"text-slate-400",progressClass:"bg-slate-400",badgeClass:"text-slate-600",badgeBgClass:"bg-slate-100",label:"Pending",showProgressBar:!1},error:{icon:i.CircleX,borderClass:"border-s-red-500",labelClass:"text-red-500",progressClass:"bg-red-500",badgeClass:"text-red-700",badgeBgClass:"bg-red-50",label:"Error",showProgressBar:!1},deleting:{icon:a.Trash2,borderClass:"border-s-gray-400",labelClass:"text-gray-400",progressClass:"bg-gray-400",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Deleting...",showProgressBar:!1},archived:{icon:l.Archive,borderClass:"border-s-gray-500",labelClass:"text-gray-500",progressClass:"bg-gray-500",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Archived",showProgressBar:!1}};e.s(["featureNodeStateConfig",0,u,"lifecyclePhaseBadge",0,{pending:{letter:"P",bg:"bg-stone-100 dark:bg-stone-800",text:"text-stone-500 dark:text-stone-400",dot:"bg-stone-400",tooltip:"Pending",description:"Waiting to start — the feature is queued and ready to go."},requirements:{letter:"R",bg:"bg-fuchsia-100 dark:bg-fuchsia-900/40",text:"text-fuchsia-600 dark:text-fuchsia-300",dot:"bg-fuchsia-500",tooltip:"Requirements",description:"Gathering what to build — the AI is writing a product requirements document (PRD) based on your request."},research:{letter:"D",bg:"bg-teal-100 dark:bg-teal-900/40",text:"text-teal-600 dark:text-teal-300",dot:"bg-teal-500",tooltip:"Research",description:"Exploring your codebase — the AI is analyzing existing code, patterns, and dependencies to plan the best approach."},implementation:{letter:"I",bg:"bg-indigo-100 dark:bg-indigo-900/40",text:"text-indigo-600 dark:text-indigo-300",dot:"bg-indigo-500",tooltip:"Implementation",description:"Writing code — the AI is implementing the feature, writing tests, and making sure everything compiles."},review:{letter:"M",bg:"bg-orange-100 dark:bg-orange-900/40",text:"text-orange-600 dark:text-orange-300",dot:"bg-orange-500",tooltip:"Merge Review",description:"Ready to merge — the code is complete. Review the changes and approve to merge into your repository."},awaitingUpstream:{letter:"U",bg:"bg-amber-100 dark:bg-amber-900/40",text:"text-amber-600 dark:text-amber-300",dot:"bg-amber-500",tooltip:"Awaiting upstream merge",description:"PR submitted to upstream — waiting for the upstream maintainer to review and merge."},deploy:{letter:"Q",bg:"bg-lime-100 dark:bg-lime-900/40",text:"text-lime-600 dark:text-lime-300",dot:"bg-lime-500",tooltip:"Deploy & QA",description:"Deploying and testing — the feature is being deployed to a preview environment for quality checks."},maintain:{letter:"✓",bg:"bg-emerald-100 dark:bg-emerald-900/40",text:"text-emerald-500 dark:text-emerald-400",dot:"bg-emerald-500",tooltip:"Completed",description:"All done — the feature has been merged and delivered successfully."}},"lifecycleRunningVerbs",0,{pending:"Waiting to start",requirements:"Analyzing",research:"Researching",implementation:"Implementing",review:"Reviewing",awaitingUpstream:"Awaiting upstream",deploy:"Deploying",maintain:"Maintaining"}],2929);var d=e.i(3645);let c=(0,d.default)("history",[["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"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);e.s(["History",()=>c],57335);let h=(0,d.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>h],53756);var f=e.i(20314),p=e.i(79054),g=e.i(91967),m=e.i(5978),x=e.i(22528),y=e.i(36589),v=e.i(87620),b=e.i(87342),w=e.i(66033),C=e.i(53532),N=e.i(41687),k=e.i(56720),S=e.i(13123),_=e.i(52740),M=e.i(39979),E=e.i(85995),j=e.i(51080),P=e.i(86874),D=e.i(29297),I=e.i(73772),A=e.i(13044),R=["Enter"," "],T=["ArrowUp","PageDown","End"],z=["ArrowDown","PageUp","Home",...T],$={ltr:[...R,"ArrowRight"],rtl:[...R,"ArrowLeft"]},L={ltr:["ArrowLeft"],rtl:["ArrowRight"]},O="Menu",[B,H,F]=(0,b.createCollection)(O),[V,X]=(0,x.createContextScope)(O,[F,_.createPopperScope,j.createRovingFocusGroupScope]),q=(0,_.createPopperScope)(),Y=(0,j.createRovingFocusGroupScope)(),[K,Z]=V(O),[W,U]=V(O),G=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:i,modal:a=!0}=e,s=q(t),[l,u]=p.useState(null),d=p.useRef(!1),c=(0,D.useCallbackRef)(i),h=(0,w.useDirection)(o);return p.useEffect(()=>{let e=()=>{d.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,f.jsx)(_.Root,{...s,children:(0,f.jsx)(K,{scope:t,open:n,onOpenChange:c,content:l,onContentChange:u,children:(0,f.jsx)(W,{scope:t,onClose:p.useCallback(()=>c(!1),[c]),isUsingKeyboardRef:d,dir:h,modal:a,children:r})})})};G.displayName=O;var Q=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=q(n);return(0,f.jsx)(_.Anchor,{...o,...r,ref:t})});Q.displayName="MenuAnchor";var J="MenuPortal",[ee,et]=V(J,{forceMount:void 0}),en=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:o}=e,i=Z(J,t);return(0,f.jsx)(ee,{scope:t,forceMount:n,children:(0,f.jsx)(E.Presence,{present:n||i.open,children:(0,f.jsx)(M.Portal,{asChild:!0,container:o,children:r})})})};en.displayName=J;var er="MenuContent",[eo,ei]=V(er),ea=p.forwardRef((e,t)=>{let n=et(er,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,i=Z(er,e.__scopeMenu),a=U(er,e.__scopeMenu);return(0,f.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,f.jsx)(E.Presence,{present:r||i.open,children:(0,f.jsx)(B.Slot,{scope:e.__scopeMenu,children:a.modal?(0,f.jsx)(es,{...o,ref:t}):(0,f.jsx)(el,{...o,ref:t})})})})}),es=p.forwardRef((e,t)=>{let n=Z(er,e.__scopeMenu),r=p.useRef(null),o=(0,m.useComposedRefs)(t,r);return p.useEffect(()=>{let e=r.current;if(e)return(0,I.hideOthers)(e)},[]),(0,f.jsx)(ed,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:(0,g.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),el=p.forwardRef((e,t)=>{let n=Z(er,e.__scopeMenu);return(0,f.jsx)(ed,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),eu=(0,P.createSlot)("MenuContent.ScrollLock"),ed=p.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:c,onInteractOutside:h,onDismiss:x,disableOutsideScroll:y,...v}=e,b=Z(er,n),w=U(er,n),S=q(n),M=Y(n),E=H(n),[P,D]=p.useState(null),I=p.useRef(null),R=(0,m.useComposedRefs)(t,I,b.onContentChange),$=p.useRef(0),L=p.useRef(""),O=p.useRef(0),B=p.useRef(null),F=p.useRef("right"),V=p.useRef(0),X=y?A.RemoveScroll:p.Fragment;p.useEffect(()=>()=>window.clearTimeout($.current),[]),(0,N.useFocusGuards)();let K=p.useCallback(e=>{var t,n;return F.current===B.current?.side&&(t=e,!!(n=B.current?.area)&&function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let a=t[e],s=t[i],l=a.x,u=a.y,d=s.x,c=s.y;u>r!=c>r&&n<(d-l)*(r-u)/(c-u)+l&&(o=!o)}return o}({x:t.clientX,y:t.clientY},n))},[]);return(0,f.jsx)(eo,{scope:n,searchRef:L,onItemEnter:p.useCallback(e=>{K(e)&&e.preventDefault()},[K]),onItemLeave:p.useCallback(e=>{K(e)||(I.current?.focus(),D(null))},[K]),onTriggerLeave:p.useCallback(e=>{K(e)&&e.preventDefault()},[K]),pointerGraceTimerRef:O,onPointerGraceIntentChange:p.useCallback(e=>{B.current=e},[]),children:(0,f.jsx)(X,{...y?{as:eu,allowPinchZoom:!0}:void 0,children:(0,f.jsx)(k.FocusScope,{asChild:!0,trapped:o,onMountAutoFocus:(0,g.composeEventHandlers)(i,e=>{e.preventDefault(),I.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:(0,f.jsx)(C.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:c,onInteractOutside:h,onDismiss:x,children:(0,f.jsx)(j.Root,{asChild:!0,...M,dir:w.dir,orientation:"vertical",loop:r,currentTabStopId:P,onCurrentTabStopIdChange:D,onEntryFocus:(0,g.composeEventHandlers)(l,e=>{w.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,f.jsx)(_.Content,{role:"menu","aria-orientation":"vertical","data-state":eL(b.open),"data-radix-menu-content":"",dir:w.dir,...S,...v,ref:R,style:{outline:"none",...v.style},onKeyDown:(0,g.composeEventHandlers)(v.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;if(t){var o;let t,i,a,s,l,u;"Tab"===e.key&&e.preventDefault(),!n&&r&&(o=e.key,t=L.current+o,i=E().filter(e=>!e.disabled),a=document.activeElement,s=i.find(e=>e.ref.current===a)?.textValue,l=function(e,t,n){var r;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=(r=Math.max(i,0),e.map((t,n)=>e[(r+n)%e.length]));1===o.length&&(a=a.filter(e=>e!==n));let s=a.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return s!==n?s:void 0}(i.map(e=>e.textValue),t,s),u=i.find(e=>e.textValue===l)?.ref.current,function e(t){L.current=t,window.clearTimeout($.current),""!==t&&($.current=window.setTimeout(()=>e(""),1e3))}(t),u&&setTimeout(()=>u.focus()))}let i=I.current;if(e.target!==i||!z.includes(e.key))return;e.preventDefault();let a=E().filter(e=>!e.disabled).map(e=>e.ref.current);T.includes(e.key)&&a.reverse(),function(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}(a)}),onBlur:(0,g.composeEventHandlers)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout($.current),L.current="")}),onPointerMove:(0,g.composeEventHandlers)(e.onPointerMove,eH(e=>{let t=e.target,n=V.current!==e.clientX;e.currentTarget.contains(t)&&n&&(F.current=e.clientX>V.current?"right":"left",V.current=e.clientX)}))})})})})})})});ea.displayName=er;var ec=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(v.Primitive.div,{role:"group",...r,ref:t})});ec.displayName="MenuGroup";var eh=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(v.Primitive.div,{...r,ref:t})});eh.displayName="MenuLabel";var ef="MenuItem",ep="menu.itemSelect",eg=p.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...o}=e,i=p.useRef(null),a=U(ef,e.__scopeMenu),s=ei(ef,e.__scopeMenu),l=(0,m.useComposedRefs)(t,i),u=p.useRef(!1);return(0,f.jsx)(em,{...o,ref:l,disabled:n,onClick:(0,g.composeEventHandlers)(e.onClick,()=>{let e=i.current;if(!n&&e){let t=new CustomEvent(ep,{bubbles:!0,cancelable:!0});e.addEventListener(ep,e=>r?.(e),{once:!0}),(0,v.dispatchDiscreteCustomEvent)(e,t),t.defaultPrevented?u.current=!1:a.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:(0,g.composeEventHandlers)(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:(0,g.composeEventHandlers)(e.onKeyDown,e=>{let t=""!==s.searchRef.current;n||t&&" "===e.key||R.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});eg.displayName=ef;var em=p.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:o,...i}=e,a=ei(ef,n),s=Y(n),l=p.useRef(null),u=(0,m.useComposedRefs)(t,l),[d,c]=p.useState(!1),[h,x]=p.useState("");return p.useEffect(()=>{let e=l.current;e&&x((e.textContent??"").trim())},[i.children]),(0,f.jsx)(B.ItemSlot,{scope:n,disabled:r,textValue:o??h,children:(0,f.jsx)(j.Item,{asChild:!0,...s,focusable:!r,children:(0,f.jsx)(v.Primitive.div,{role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:u,onPointerMove:(0,g.composeEventHandlers)(e.onPointerMove,eH(e=>{r?a.onItemLeave(e):(a.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,g.composeEventHandlers)(e.onPointerLeave,eH(e=>a.onItemLeave(e))),onFocus:(0,g.composeEventHandlers)(e.onFocus,()=>c(!0)),onBlur:(0,g.composeEventHandlers)(e.onBlur,()=>c(!1))})})})}),ex=p.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...o}=e;return(0,f.jsx)(eS,{scope:e.__scopeMenu,checked:n,children:(0,f.jsx)(eg,{role:"menuitemcheckbox","aria-checked":eO(n)?"mixed":n,...o,ref:t,"data-state":eB(n),onSelect:(0,g.composeEventHandlers)(o.onSelect,()=>r?.(!!eO(n)||!n),{checkForDefaultPrevented:!1})})})});ex.displayName="MenuCheckboxItem";var ey="MenuRadioGroup",[ev,eb]=V(ey,{value:void 0,onValueChange:()=>{}}),ew=p.forwardRef((e,t)=>{let{value:n,onValueChange:r,...o}=e,i=(0,D.useCallbackRef)(r);return(0,f.jsx)(ev,{scope:e.__scopeMenu,value:n,onValueChange:i,children:(0,f.jsx)(ec,{...o,ref:t})})});ew.displayName=ey;var eC="MenuRadioItem",eN=p.forwardRef((e,t)=>{let{value:n,...r}=e,o=eb(eC,e.__scopeMenu),i=n===o.value;return(0,f.jsx)(eS,{scope:e.__scopeMenu,checked:i,children:(0,f.jsx)(eg,{role:"menuitemradio","aria-checked":i,...r,ref:t,"data-state":eB(i),onSelect:(0,g.composeEventHandlers)(r.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});eN.displayName=eC;var ek="MenuItemIndicator",[eS,e_]=V(ek,{checked:!1}),eM=p.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...o}=e,i=e_(ek,n);return(0,f.jsx)(E.Presence,{present:r||eO(i.checked)||!0===i.checked,children:(0,f.jsx)(v.Primitive.span,{...o,ref:t,"data-state":eB(i.checked)})})});eM.displayName=ek;var eE=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(v.Primitive.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});eE.displayName="MenuSeparator";var ej=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=q(n);return(0,f.jsx)(_.Arrow,{...o,...r,ref:t})});ej.displayName="MenuArrow";var eP="MenuSub",[eD,eI]=V(eP),eA=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:o}=e,i=Z(eP,t),a=q(t),[s,l]=p.useState(null),[u,d]=p.useState(null),c=(0,D.useCallbackRef)(o);return p.useEffect(()=>(!1===i.open&&c(!1),()=>c(!1)),[i.open,c]),(0,f.jsx)(_.Root,{...a,children:(0,f.jsx)(K,{scope:t,open:r,onOpenChange:c,content:u,onContentChange:d,children:(0,f.jsx)(eD,{scope:t,contentId:(0,S.useId)(),triggerId:(0,S.useId)(),trigger:s,onTriggerChange:l,children:n})})})};eA.displayName=eP;var eR="MenuSubTrigger",eT=p.forwardRef((e,t)=>{let n=Z(eR,e.__scopeMenu),r=U(eR,e.__scopeMenu),o=eI(eR,e.__scopeMenu),i=ei(eR,e.__scopeMenu),a=p.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:l}=i,u={__scopeMenu:e.__scopeMenu},d=p.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return p.useEffect(()=>d,[d]),p.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),l(null)}},[s,l]),(0,f.jsx)(Q,{asChild:!0,...u,children:(0,f.jsx)(em,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":eL(n.open),...e,ref:(0,m.composeRefs)(t,o.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:(0,g.composeEventHandlers)(e.onPointerMove,eH(t=>{i.onItemEnter(t),!t.defaultPrevented&&(e.disabled||n.open||a.current||(i.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100)))})),onPointerLeave:(0,g.composeEventHandlers)(e.onPointerLeave,eH(e=>{d();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,o="right"===r,a=t[o?"left":"right"],l=t[o?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+(o?-5:5),y:e.clientY},{x:a,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:a,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:(0,g.composeEventHandlers)(e.onKeyDown,t=>{let o=""!==i.searchRef.current;e.disabled||o&&" "===t.key||$[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});eT.displayName=eR;var ez="MenuSubContent",e$=p.forwardRef((e,t)=>{let n=et(er,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,i=Z(er,e.__scopeMenu),a=U(er,e.__scopeMenu),s=eI(ez,e.__scopeMenu),l=p.useRef(null),u=(0,m.useComposedRefs)(t,l);return(0,f.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,f.jsx)(E.Presence,{present:r||i.open,children:(0,f.jsx)(B.Slot,{scope:e.__scopeMenu,children:(0,f.jsx)(ed,{id:s.contentId,"aria-labelledby":s.triggerId,...o,ref:u,align:"start",side:"rtl"===a.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{a.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,g.composeEventHandlers)(e.onFocusOutside,e=>{e.target!==s.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:(0,g.composeEventHandlers)(e.onEscapeKeyDown,e=>{a.onClose(),e.preventDefault()}),onKeyDown:(0,g.composeEventHandlers)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=L[a.dir].includes(e.key);t&&n&&(i.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});function eL(e){return e?"open":"closed"}function eO(e){return"indeterminate"===e}function eB(e){return eO(e)?"indeterminate":e?"checked":"unchecked"}function eH(e){return t=>"mouse"===t.pointerType?e(t):void 0}e$.displayName=ez;var eF="DropdownMenu",[eV,eX]=(0,x.createContextScope)(eF,[X]),eq=X(),[eY,eK]=eV(eF),eZ=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:i,onOpenChange:a,modal:s=!0}=e,l=eq(t),u=p.useRef(null),[d,c]=(0,y.useControllableState)({prop:o,defaultProp:i??!1,onChange:a,caller:eF});return(0,f.jsx)(eY,{scope:t,triggerId:(0,S.useId)(),triggerRef:u,contentId:(0,S.useId)(),open:d,onOpenChange:c,onOpenToggle:p.useCallback(()=>c(e=>!e),[c]),modal:s,children:(0,f.jsx)(G,{...l,open:d,onOpenChange:c,dir:r,modal:s,children:n})})};eZ.displayName=eF;var eW="DropdownMenuTrigger",eU=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,i=eK(eW,n),a=eq(n);return(0,f.jsx)(Q,{asChild:!0,...a,children:(0,f.jsx)(v.Primitive.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:(0,m.composeRefs)(t,i.triggerRef),onPointerDown:(0,g.composeEventHandlers)(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(i.onOpenToggle(),i.open||e.preventDefault())}),onKeyDown:(0,g.composeEventHandlers)(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});eU.displayName=eW;var eG=e=>{let{__scopeDropdownMenu:t,...n}=e,r=eq(t);return(0,f.jsx)(en,{...r,...n})};eG.displayName="DropdownMenuPortal";var eQ="DropdownMenuContent",eJ=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eK(eQ,n),i=eq(n),a=p.useRef(!1);return(0,f.jsx)(ea,{id:o.contentId,"aria-labelledby":o.triggerId,...i,...r,ref:t,onCloseAutoFocus:(0,g.composeEventHandlers)(e.onCloseAutoFocus,e=>{a.current||o.triggerRef.current?.focus(),a.current=!1,e.preventDefault()}),onInteractOutside:(0,g.composeEventHandlers)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!o.modal||r)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});eJ.displayName=eQ;var e0=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(ec,{...o,...r,ref:t})});e0.displayName="DropdownMenuGroup";var e1=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eh,{...o,...r,ref:t})});e1.displayName="DropdownMenuLabel";var e2=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eg,{...o,...r,ref:t})});e2.displayName="DropdownMenuItem";var e5=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(ex,{...o,...r,ref:t})});e5.displayName="DropdownMenuCheckboxItem";var e3=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(ew,{...o,...r,ref:t})});e3.displayName="DropdownMenuRadioGroup";var e4=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eN,{...o,...r,ref:t})});e4.displayName="DropdownMenuRadioItem";var e6=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eM,{...o,...r,ref:t})});e6.displayName="DropdownMenuItemIndicator";var e8=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eE,{...o,...r,ref:t})});e8.displayName="DropdownMenuSeparator";var e9=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(ej,{...o,...r,ref:t})});e9.displayName="DropdownMenuArrow";var e7=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:o,defaultOpen:i}=e,a=eq(t),[s,l]=(0,y.useControllableState)({prop:r,defaultProp:i??!1,onChange:o,caller:"DropdownMenuSub"});return(0,f.jsx)(eA,{...a,open:s,onOpenChange:l,children:n})},te=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eT,{...o,...r,ref:t})});te.displayName="DropdownMenuSubTrigger";var tt=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(e$,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});tt.displayName="DropdownMenuSubContent",e.s(["Arrow",()=>e9,"CheckboxItem",()=>e5,"Content",()=>eJ,"DropdownMenu",()=>eZ,"DropdownMenuArrow",()=>e9,"DropdownMenuCheckboxItem",()=>e5,"DropdownMenuContent",()=>eJ,"DropdownMenuGroup",()=>e0,"DropdownMenuItem",()=>e2,"DropdownMenuItemIndicator",()=>e6,"DropdownMenuLabel",()=>e1,"DropdownMenuPortal",()=>eG,"DropdownMenuRadioGroup",()=>e3,"DropdownMenuRadioItem",()=>e4,"DropdownMenuSeparator",()=>e8,"DropdownMenuSub",()=>e7,"DropdownMenuSubContent",()=>tt,"DropdownMenuSubTrigger",()=>te,"DropdownMenuTrigger",()=>eU,"Group",()=>e0,"Item",()=>e2,"ItemIndicator",()=>e6,"Label",()=>e1,"Portal",()=>eG,"RadioGroup",()=>e3,"RadioItem",()=>e4,"Root",()=>eZ,"Separator",()=>e8,"Sub",()=>e7,"SubContent",()=>tt,"SubTrigger",()=>te,"Trigger",()=>eU,"createDropdownMenuScope",()=>eX],61920);var tn=e.i(61920),tn=tn,tr=e.i(23925),to=e.i(76016),ti=e.i(95812),ta=e.i(31777);let ts=tn.Root,tl=tn.Trigger;tn.Group;let tu=tn.Portal,td=tn.Sub;tn.RadioGroup;let tc=p.forwardRef(({className:e,inset:t,children:n,...r},o)=>(0,f.jsxs)(tn.SubTrigger,{ref:o,className:(0,ta.cn)("focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"ps-8",e),...r,children:[n,(0,f.jsx)(to.ChevronRight,{className:"ms-auto"})]}));tc.displayName=tn.SubTrigger.displayName;let th=p.forwardRef(({className:e,...t},n)=>(0,f.jsx)(tn.SubContent,{ref:n,className:(0,ta.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",e),...t}));th.displayName=tn.SubContent.displayName;let tf=p.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,f.jsx)(tn.Portal,{children:(0,f.jsx)(tn.Content,{ref:r,sideOffset:t,className:(0,ta.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",e),...n})}));tf.displayName=tn.Content.displayName;let tp=p.forwardRef(({className:e,inset:t,...n},r)=>(0,f.jsx)(tn.Item,{ref:r,className:(0,ta.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",t&&"ps-8",e),...n}));tp.displayName=tn.Item.displayName,p.forwardRef(({className:e,children:t,checked:n,...r},o)=>(0,f.jsxs)(tn.CheckboxItem,{ref:o,className:(0,ta.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 ps-8 pe-2 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[(0,f.jsx)("span",{className:"absolute start-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(tn.ItemIndicator,{children:(0,f.jsx)(tr.Check,{className:"h-4 w-4"})})}),t]})).displayName=tn.CheckboxItem.displayName,p.forwardRef(({className:e,children:t,...n},r)=>(0,f.jsxs)(tn.RadioItem,{ref:r,className:(0,ta.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 ps-8 pe-2 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[(0,f.jsx)("span",{className:"absolute start-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(tn.ItemIndicator,{children:(0,f.jsx)(ti.Circle,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=tn.RadioItem.displayName;let tg=p.forwardRef(({className:e,inset:t,...n},r)=>(0,f.jsx)(tn.Label,{ref:r,className:(0,ta.cn)("px-2 py-1.5 text-sm font-semibold",t&&"ps-8",e),...n}));tg.displayName=tn.Label.displayName;let tm=p.forwardRef(({className:e,...t},n)=>(0,f.jsx)(tn.Separator,{ref:n,className:(0,ta.cn)("bg-muted -mx-1 my-1 h-px",e),...t}));tm.displayName=tn.Separator.displayName,e.s(["DropdownMenu",()=>ts,"DropdownMenuContent",()=>tf,"DropdownMenuItem",()=>tp,"DropdownMenuLabel",()=>tg,"DropdownMenuPortal",()=>tu,"DropdownMenuSeparator",()=>tm,"DropdownMenuSub",()=>td,"DropdownMenuSubContent",()=>th,"DropdownMenuSubTrigger",()=>tc,"DropdownMenuTrigger",()=>tl],70646)},47506,80519,89313,7311,e=>{"use strict";var t=e.i(20314),n=e.i(79054);e.i(41001);var r=e.i(26960),o=e.i(64780),i=e.i(31406),a=e.i(53271),s=e.i(92002),l=e.i(3214),u=e.i(67669),d=e.i(53360),c=e.i(41698),h=e.i(83428),f=e.i(32494),p=e.i(38227),g=e.i(24042),m=e.i(6910),x=e.i(87889),y=e.i(37260),v=e.i(83299),b=e.i(48109),w=e.i(31777),C=e.i(72714),N=e.i(35364),k=e.i(2828),S=e.i(57779),_=e.i(80554),M=e.i(8537),E=e.i(75921),j=e.i(71326);e.i(31566);var P=e.i(65104),D=e.i(2929),I=e.i(86782),A=e.i(57335),R=e.i(33548),T=e.i(30702),z=e.i(38573),$=e.i(55016),L=e.i(99105),O=e.i(53756),B=e.i(70646),H=e.i(92786);async function F(e){try{await navigator.clipboard.writeText(e)}catch{let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}}function V(e){e.stopPropagation()}function X({repositoryPath:e,className:r,onCreateFromSession:i}){let{t:a}=(0,o.useTranslation)("web"),[s,l]=(0,n.useState)(!1),{getSessionsForPath:u,hasActiveSessions:d}=(0,H.useSessionsContext)(),c=u(e),h=d(e),f=(0,n.useCallback)(e=>{e||l(!1)},[]),p=s?c:c.slice(0,3),g=c.length>3;return(0,t.jsxs)(B.DropdownMenu,{modal:!1,onOpenChange:f,children:[(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(B.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","aria-label":a("featureNode.viewSessions"),"data-testid":"feature-node-sessions-button",className:(0,w.cn)("nodrag relative flex h-5 cursor-pointer items-center gap-0.5 rounded px-0.5 text-[10px] transition-colors","text-muted-foreground hover:text-foreground hover:bg-muted",r),onClick:V,onPointerDown:V,children:[(0,t.jsx)(A.History,{className:"h-3 w-3 shrink-0"}),c.length>0?(0,t.jsx)("span",{"data-testid":"feature-node-sessions-count",children:c.length}):null,h?(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 rounded-full bg-emerald-500"}):null]})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:a(h?"featureNode.sessionsActive":"featureNode.sessions")})]})}),(0,t.jsxs)(B.DropdownMenuContent,{align:"start",side:"bottom",className:"w-80",onClick:V,onPointerDown:V,children:[(0,t.jsxs)(B.DropdownMenuLabel,{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)(A.History,{className:"h-3 w-3"}),a("featureNode.agentSessions")]}),(0,t.jsx)(B.DropdownMenuSeparator,{}),0===c.length?(0,t.jsx)("div",{className:"text-muted-foreground py-4 text-center text-xs",children:a("featureNode.noSessionsFound")}):(0,t.jsxs)(t.Fragment,{children:[p.map(n=>(0,t.jsx)(q,{session:n,repositoryPath:e,onCreateFromSession:i},n.id)),g?(0,t.jsxs)(B.DropdownMenuItem,{className:"text-muted-foreground justify-center gap-1 py-1.5 text-[10px]",onClick:e=>{e.preventDefault(),l(e=>!e)},children:[(0,t.jsx)(L.ChevronDown,{className:(0,w.cn)("h-3 w-3 transition-transform",s&&"rotate-180")}),s?a("featureNode.showLess"):a("featureNode.showMore",{count:c.length-3})]}):null]})]})]})}function q({session:e,repositoryPath:n,onCreateFromSession:r}){let o,i,a,s,l,u=!!e.lastMessageAt&&Date.now()-new Date(e.lastMessageAt).getTime()<3e5,d=(0,I.getAgentTypeIcon)(e.agentType);return(0,t.jsxs)(B.DropdownMenuSub,{children:[(0,t.jsxs)(B.DropdownMenuSubTrigger,{className:"flex items-start gap-2 py-2 pe-2",children:[(0,t.jsxs)("div",{className:"relative mt-0.5 shrink-0",children:[(0,t.jsx)(d,{className:"h-4 w-4"}),u?(0,t.jsx)("span",{className:"border-background absolute -right-0.5 -bottom-0.5 h-2 w-2 rounded-full border bg-emerald-500"}):null]}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"truncate text-xs leading-tight",children:function(e,t=40){return e?e.length<=t?e:`${e.slice(0,t)}...`:"No preview"}(e.preview)}),(0,t.jsxs)("div",{className:"text-muted-foreground flex items-center gap-2 text-[10px] leading-tight",children:[(0,t.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,t.jsx)(b.MessageSquare,{className:"h-2.5 w-2.5"}),e.messageCount]}),e.firstMessageAt?(0,t.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,t.jsx)($.Clock,{className:"h-2.5 w-2.5"}),new Date(e.firstMessageAt).toLocaleDateString()]}):null,e.lastMessageAt?(0,t.jsx)("span",{className:(0,w.cn)("ml-auto shrink-0",u?"font-medium text-emerald-600":""),children:(o=new Date(e.lastMessageAt),a=Math.floor((i=new Date().getTime()-o.getTime())/6e4),s=Math.floor(i/36e5),l=Math.floor(i/864e5),a<1?"just now":a<60?`${a}m ago`:s<24?`${s}h ago`:l<7?`${l}d ago`:o.toLocaleDateString())}):null]})]})]}),(0,t.jsx)(B.DropdownMenuPortal,{children:(0,t.jsxs)(B.DropdownMenuSubContent,{onClick:V,onPointerDown:V,children:[(0,t.jsxs)(B.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>void F(`claude --resume ${e.id} --project ${n}`),children:[(0,t.jsx)(z.Terminal,{className:"h-3.5 w-3.5"}),"Copy resume command"]}),(0,t.jsxs)(B.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>void F(e.id),children:[(0,t.jsx)(R.Copy,{className:"h-3.5 w-3.5"}),"Copy session ID"]}),(0,t.jsxs)(B.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>{let e=`vscode://file${n}`;window.open(e,"_blank")},children:[(0,t.jsx)(T.ExternalLink,{className:"h-3.5 w-3.5"}),"Open in IDE"]}),r&&e.filePath?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B.DropdownMenuSeparator,{}),(0,t.jsxs)(B.DropdownMenuItem,{className:"gap-2 text-xs font-medium text-violet-700 focus:bg-violet-50 focus:text-violet-800",onClick:()=>r(e,e.filePath),children:[(0,t.jsx)(O.Sparkles,{className:"h-3.5 w-3.5 text-violet-500"}),"Create feature from session"]})]}):null]})})]})}function Y({agentType:e,className:n}){let r=(0,I.getAgentTypeIcon)(e);return(0,t.jsx)(r,{className:n})}function K(e){return D.featureNodeStateConfig[e.state].icon}function Z(e,t){return t("requirements"===e.lifecycle?"featureNode.reviewRequirements":"implementation"===e.lifecycle?"featureNode.reviewTechnicalPlan":"review"===e.lifecycle?"featureNode.reviewChanges":"featureNode.review")}function W(e,t){let n=D.featureNodeStateConfig[e.state];switch(e.state){case"creating":return t("featureNode.creating");case"running":return D.lifecycleRunningVerbs[e.lifecycle];case"done":return e.runtime?t("featureNode.completedIn",{runtime:e.runtime}):t("featureNode.completed");case"blocked":return e.blockedBy?t("featureNode.waitingOn",{blockedBy:e.blockedBy}):t("featureNode.blocked");case"pending":return t("featureNode.pending");case"action-required":return Z(e,t);case"error":return e.errorMessage??t("featureNode.somethingWentWrong");default:return n.label}}function U({data:e,selected:I}){let A,R,T,{t:z,i18n:$}=(0,o.useTranslation)("web"),L=(0,i.useRouter)(),O="rtl"===$.dir(),B=O?s.Position.Right:s.Position.Left,H=O?s.Position.Left:s.Position.Right,F=D.featureNodeStateConfig[e.state],V=F.icon,[q,U]=(0,n.useState)(!1),[G,Q]=(0,n.useState)(!1),[J,ee]=(0,n.useState)(!1),et=(0,E.useFeatureFlags)(),en=(0,_.useTurnStatus)(e.featureId),er=et.envDeploy&&e.repositoryPath&&e.branch?{targetId:e.featureId,targetType:"feature",repositoryPath:e.repositoryPath,branch:e.branch}:null,eo=(0,M.useDeployAction)(er),ei="Booting"===eo.status||"Ready"===eo.status,ea="Ready"===eo.status;return(0,t.jsxs)("div",{className:"animate-in fade-in group relative duration-300",style:{direction:O?"rtl":"ltr"},children:[e.showHandles?(0,t.jsx)(a.Handle,{type:"target",position:B,isConnectable:!1,className:"opacity-0!",style:{top:70}}):null,(0,t.jsx)("div",{className:"absolute -start-14 top-0 bottom-0 flex items-center justify-center ps-4 pe-3 opacity-0 transition-opacity group-hover:opacity-100",onPointerDown:e=>e.stopPropagation(),children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[e.onArchive&&e.featureId&&"deleting"!==e.state&&"archived"!==e.state?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{"aria-label":z("featureNode.archiveFeature"),"data-testid":"feature-node-archive-button",onClick:e=>{e.stopPropagation(),ee(!0)},className:"bg-card text-muted-foreground flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors hover:border-gray-500 hover:text-gray-600",children:(0,t.jsx)(y.Archive,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"left",children:z("featureNode.archiveFeature")})]})}):null,e.onDelete&&e.featureId&&"deleting"!==e.state?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{"aria-label":z("featureNode.deleteFeature"),"data-testid":"feature-node-delete-button",onClick:e=>{e.stopPropagation(),U(!0)},className:"bg-card text-muted-foreground hover:border-destructive hover:text-destructive flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors",children:(0,t.jsx)(u.Trash2,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"left",children:z("featureNode.deleteFeature")})]})}):null,e.onUnarchive&&e.featureId&&"archived"===e.state?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{"aria-label":z("featureNode.unarchiveFeature"),"data-testid":"feature-node-unarchive-button",onClick:t=>{t.stopPropagation(),e.onUnarchive?.(e.featureId)},className:"bg-card text-muted-foreground hover:border-primary hover:text-primary flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors",children:(0,t.jsx)(v.ArchiveRestore,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"left",children:z("featureNode.unarchiveFeature")})]})}):null]})}),e.onDelete&&e.featureId&&"deleting"!==e.state?(0,t.jsx)(P.DeleteFeatureDialog,{open:q,onOpenChange:U,onConfirm:(t,n,r)=>{U(!1),e.onDelete?.(e.featureId,t,n,r)},isDeleting:!1,featureName:e.name??"this feature",featureId:e.featureId,hasChildren:e.hasChildren,hasOpenPr:!!e.pr&&"Open"===e.pr.status}):null,e.onArchive&&e.featureId&&"deleting"!==e.state&&"archived"!==e.state?(0,t.jsx)(j.AlertDialog,{open:J,onOpenChange:ee,children:(0,t.jsxs)(j.AlertDialogContent,{onCloseAutoFocus:e=>e.preventDefault(),children:[(0,t.jsxs)(j.AlertDialogHeader,{children:[(0,t.jsx)(j.AlertDialogTitle,{children:z("featureNode.archiveConfirmTitle")}),(0,t.jsx)(j.AlertDialogDescription,{children:(0,t.jsx)(r.Trans,{t:z,i18nKey:"featureNode.archiveConfirmDescription",values:{name:e.name},components:{strong:(0,t.jsx)("strong",{})}})})]}),(0,t.jsxs)(j.AlertDialogFooter,{children:[(0,t.jsx)(j.AlertDialogCancel,{onClick:()=>ee(!1),children:z("featureNode.cancel")}),(0,t.jsx)(j.AlertDialogAction,{onClick:()=>{ee(!1),e.onArchive?.(e.featureId)},children:z("featureNode.archive")})]})]})}):null,(0,t.jsxs)("div",{"data-testid":"feature-node-card","aria-busy":"creating"===e.state||"deleting"===e.state?"true":void 0,className:(0,w.cn)("bg-card flex min-h-35 w-97 cursor-pointer flex-col rounded-lg border p-3 shadow-sm transition-[border-color] duration-200 dark:bg-neutral-800/80","action-required"===e.state&&"border-s-[3px] border-s-rose-400 dark:border-s-amber-500","action-required"===e.state&&I&&"border-e-rose-400 border-t-rose-400 border-b-rose-400 dark:border-e-amber-500 dark:border-t-amber-500 dark:border-b-amber-500",I&&"action-required"!==e.state&&"border-blue-400 dark:border-amber-500/60","deleting"===e.state&&"opacity-60","archived"===e.state&&"opacity-50"),children:["creating"!==e.state?(0,t.jsx)("div",{className:"absolute end-4 top-3",children:(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{"data-testid":"feature-node-phase-badge",className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:D.lifecyclePhaseBadge[e.lifecycle].tooltip}),(0,t.jsx)("span",{className:(0,w.cn)("h-1.5 w-1.5 -translate-y-px rounded-full",D.lifecyclePhaseBadge[e.lifecycle].dot)})]})}),(0,t.jsxs)(k.TooltipContent,{side:"right",className:"max-w-56",children:[(0,t.jsx)("p",{className:"font-semibold",children:D.lifecyclePhaseBadge[e.lifecycle].tooltip}),(0,t.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-neutral-500",children:D.lifecyclePhaseBadge[e.lifecycle].description})]})]})})}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5 pe-24",children:[e.agentType?(0,t.jsx)(Y,{agentType:e.agentType,className:"h-4 w-4 shrink-0"}):null,(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{"data-testid":"feature-node-fast-mode-badge",className:"shrink-0",children:e.fastMode?(0,t.jsx)(d.Zap,{className:"h-3.5 w-3.5 text-amber-500"}):(0,t.jsx)(c.ClipboardList,{className:"h-3.5 w-3.5 text-indigo-500"})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:z(e.fastMode?"featureNode.fastMode":"featureNode.specDriven")})]})}),(0,t.jsx)("h3",{className:"min-w-0 truncate text-sm font-bold",children:e.name})]}),e.description?(0,t.jsx)("p",{"data-testid":"feature-node-description",className:"text-muted-foreground mt-1 line-clamp-2 text-xs",children:e.description}):null,(0,t.jsxs)("div",{className:"mt-auto pt-2",children:[F.showProgressBar?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"text-muted-foreground flex items-center justify-end text-[10px]",children:(0,t.jsxs)("span",{children:[e.progress,"%"]})}),(0,t.jsx)("div",{"data-testid":"feature-node-progress-bar",className:"bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full",children:(0,t.jsx)("div",{className:(0,w.cn)("h-full rounded-full transition-all",F.progressClass),style:{width:`${e.progress}%`}})})]}):null,F.showProgressBar||["deleting","creating","running","done","action-required","pending","blocked"].includes(e.state)?null:(0,t.jsxs)("div",{"data-testid":"feature-node-badge",className:"relative flex min-w-0 items-center gap-1.5 text-xs",children:[(A=K(e),(0,t.jsx)(A,{className:(0,w.cn)("h-3.5 w-3.5 shrink-0",F.badgeClass)})),(0,t.jsx)("span",{className:(0,w.cn)("translate-y-px truncate text-[11px] font-medium",F.badgeClass),children:W(e,z)})]}),(0,t.jsxs)("div",{className:"mt-1.5 flex min-h-[26px] items-center justify-between gap-2",style:{transform:"translateY(1px)"},children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[e.featureId?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","data-testid":"feature-node-id",className:"nodrag text-muted-foreground/60 hover:text-muted-foreground flex shrink-0 cursor-pointer items-baseline gap-1 font-mono text-[10px] transition-colors active:scale-95",onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.featureId),Q(!0),setTimeout(()=>Q(!1),1500)},children:G?(0,t.jsx)("span",{className:"text-emerald-500",children:z("featureNode.copied")}):e.featureId.slice(0,6)})}),(0,t.jsxs)(k.TooltipContent,{side:"top",children:["Click to copy: ",e.featureId]})]})}):null,e.worktreePath??e.repositoryPath?(0,t.jsx)(X,{repositoryPath:e.worktreePath??e.repositoryPath}):null,"creating"!==e.state&&"deleting"!==e.state&&(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(N.Button,{variant:"ghost",size:"xs","aria-label":"Open chat","data-testid":"feature-node-chat-button",onClick:t=>{t.stopPropagation(),L.push(`/feature/${e.featureId}/chat`)},className:"nodrag relative cursor-pointer text-violet-500 hover:text-violet-600 dark:text-violet-400 dark:hover:text-violet-300",children:[(0,t.jsx)(b.MessageSquare,{className:"h-3 w-3"}),(0,t.jsx)(S.ChatDotIndicator,{status:en})]})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:(0,t.jsx)("p",{className:"text-xs",children:z("featureNode.chatWithAgent")})})]})}),er&&"deleting"!==e.state&&"creating"!==e.state?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"bg-border h-3 w-px shrink-0"}),ea?(0,t.jsxs)("span",{className:"group/deploy nodrag flex min-w-0 items-center gap-1.5","data-testid":"feature-node-deploy-button",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":z("featureNode.stopDevServer"),className:"flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors",onClick:e=>{e.stopPropagation(),eo.stop()},children:eo.stopLoading?(0,t.jsx)(h.Loader2,{className:"h-3.5 w-3.5 animate-spin text-red-500"}):(0,t.jsxs)("span",{className:"relative h-3.5 w-3.5",children:[(0,t.jsx)(f.Globe,{className:"absolute inset-0 h-3.5 w-3.5 text-green-600 transition-opacity duration-200 group-hover/deploy:opacity-0 dark:text-green-400"}),(0,t.jsx)(m.Square,{className:"absolute inset-0 h-3.5 w-3.5 text-red-500 opacity-0 transition-opacity duration-200 group-hover/deploy:opacity-100 dark:text-red-400"})]})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:z("featureNode.stopDevServer")})]})}),eo.url?(0,t.jsx)("a",{href:eo.url,target:"_blank",rel:"noopener noreferrer","data-testid":"feature-node-deployment-indicator",className:"nodrag min-w-0 truncate text-[10px] text-green-700 hover:underline dark:text-green-400",onClick:e=>e.stopPropagation(),children:eo.url}):null]}):ei?(0,t.jsxs)("span",{className:"nodrag flex min-w-0 items-center gap-1.5","data-testid":"feature-node-deploy-button",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":z("featureNode.stopDevServer"),className:"flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full text-red-500 transition-colors hover:text-red-600 dark:text-red-400 dark:hover:text-red-300",onClick:e=>{e.stopPropagation(),eo.stop()},children:eo.stopLoading?(0,t.jsx)(h.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(m.Square,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:z("featureNode.stopDevServer")})]})}),(0,t.jsx)("span",{className:"text-muted-foreground animate-pulse text-[10px]",children:z("featureNode.starting")})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:(0,w.cn)("nodrag flex shrink-0 items-center",!eo.deployError&&"[&_button]:text-green-600 [&_button]:hover:text-green-700 dark:[&_button]:text-green-400 dark:[&_button]:hover:text-green-300"),"data-testid":"feature-node-deploy-button",onClick:e=>e.stopPropagation(),children:(0,t.jsx)(C.ActionButton,{label:z(eo.deployError?"featureNode.retry":"featureNode.startDevServer"),onClick:eo.deploy,loading:eo.deployLoading,error:!1,icon:eo.deployError?p.RotateCcw:g.Play,iconOnly:!0,variant:"ghost",size:"icon-xs"})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:z(eo.deployError?"featureNode.retryDevServer":"featureNode.startDevServer")})]})}),eo.deployError?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"min-w-0 truncate text-[10px] text-red-500",children:z("featureNode.failed")})}),(0,t.jsx)(k.TooltipContent,{side:"top",className:"max-w-64",children:(0,t.jsx)("p",{className:"text-xs",children:eo.deployError})})]})}):null]})]}):null]}),"deleting"===e.state?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)(h.Loader2,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-gray-400"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:z("featureNode.deleting")})]}):"creating"===e.state||"running"===e.state?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)(V,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-teal-600 dark:text-teal-400"}),(0,t.jsx)("span",{className:"font-medium text-teal-600 dark:text-teal-400",children:W(e,z)})]}):"action-required"===e.state?(0,t.jsxs)(N.Button,{variant:"default",size:"xs","aria-label":Z(e,z),"data-testid":"feature-node-approve-button",onClick:()=>{},className:"nodrag dark:bg-primary dark:text-primary-foreground dark:hover:bg-primary/90 cursor-pointer bg-neutral-900 text-[11px] text-white hover:bg-neutral-800",children:[(0,t.jsx)(x.Eye,{className:"h-3 w-3"}),Z(e,z)]}):"error"===e.state&&e.onRetry?(0,t.jsxs)(N.Button,{variant:"outline",size:"xs","aria-label":z("featureNode.retry"),"data-testid":"feature-node-retry-button",onClick:t=>{t.stopPropagation(),e.onRetry(e.featureId)},className:"nodrag cursor-pointer text-[11px] font-medium",children:[(0,t.jsx)(p.RotateCcw,{className:"h-3 w-3"}),z("featureNode.retry")]}):"blocked"===e.state?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs","data-testid":"feature-node-badge",children:[(R=K(e),(0,t.jsx)(R,{className:(0,w.cn)("h-3.5 w-3.5 shrink-0",F.badgeClass)})),(0,t.jsx)("span",{className:(0,w.cn)("truncate text-[11px] font-medium",F.badgeClass),children:W(e,z)})]}):"done"===e.state?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs","data-testid":"feature-node-badge",children:[(T=K(e),(0,t.jsx)(T,{className:(0,w.cn)("h-3.5 w-3.5 shrink-0",F.badgeClass)})),(0,t.jsx)("span",{className:(0,w.cn)("text-[11px] font-medium",F.badgeClass),children:W(e,z)})]}):"pending"===e.state&&e.onStart?(0,t.jsxs)(N.Button,{variant:"outline",size:"xs","aria-label":z("featureNode.start"),"data-testid":"feature-node-start-button",onClick:t=>{t.stopPropagation(),e.onStart(e.featureId)},className:"nodrag cursor-pointer text-[11px] font-medium",children:[(0,t.jsx)(g.Play,{className:"h-3 w-3"}),z("featureNode.start")]}):null]})]})]}),e.onAction&&"deleting"!==e.state?(0,t.jsx)(a.Handle,{type:"source",position:H,className:"h-0! w-0! border-0! bg-transparent!",style:{top:70},children:(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":z("featureNode.addFeature"),"data-testid":"feature-node-action-button",onClick:t=>{t.stopPropagation(),e.onAction?.()},className:"nodrag absolute start-1/2 top-1/2 flex h-6 w-6 -translate-x-1/2 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-blue-500 text-white opacity-0 shadow-md transition-opacity group-hover:opacity-100 hover:bg-blue-600",children:(0,t.jsx)(l.Plus,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"right",children:z("featureNode.addFeature")})]})})}):e.showHandles?(0,t.jsx)(a.Handle,{type:"source",position:H,isConnectable:!1,className:"opacity-0!",style:{top:70}}):null]})}e.s(["FeatureSessionsDropdown",()=>X],80519),e.s(["FeatureNode",()=>U],89313),e.s([],47506);let G=(0,e.i(3645).default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",()=>G],7311)},76874,e=>{"use strict";let t=(0,e.i(3645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],76874)},26797,61273,9583,99045,e=>{"use strict";var t=e.i(21023);let n=(0,t.createServerReference)("409ffe8b2afb1c7d10d667e601b1f9a24cc3ed5625",t.callServer,void 0,t.findSourceMapURL,"resumeFeature");e.s(["resumeFeature",()=>n],26797);let r=(0,t.createServerReference)("407689839318438d5e1dda38417500cc335dfbd213",t.callServer,void 0,t.findSourceMapURL,"startFeature");e.s(["startFeature",()=>r],61273);let o=(0,t.createServerReference)("4088ffb519dcad1da31d2c3601bfc372efedf0a5c1",t.callServer,void 0,t.findSourceMapURL,"stopFeature");e.s(["stopFeature",()=>o],9583);var i=e.i(17406);function a(e){switch(e){case i.NotificationEventType.AgentStarted:case i.NotificationEventType.PhaseCompleted:return"running";case i.NotificationEventType.WaitingApproval:return"action-required";case i.NotificationEventType.AgentCompleted:return"done";case i.NotificationEventType.AgentFailed:case i.NotificationEventType.PrChecksFailed:return"error";case i.NotificationEventType.PrMerged:case i.NotificationEventType.PrChecksPassed:return"done";case i.NotificationEventType.PrClosed:return"action-required";case i.NotificationEventType.PrBlocked:return"blocked";case i.NotificationEventType.MergeReviewReady:return"action-required"}}let s={analyze:"requirements",requirements:"requirements",research:"research",plan:"implementation",implement:"implementation",merge:"review",maintain:"maintain",blocked:"requirements",pending:"pending",archived:"maintain"};function l(e){let t=new Set(e.filter(e=>e.eventType===i.NotificationEventType.WaitingApproval).map(e=>e.featureId));return e.map(e=>{let n=e.eventType===i.NotificationEventType.PhaseCompleted&&t.has(e.featureId);return{featureId:e.featureId,state:n?void 0:a(e.eventType),lifecycle:n?void 0:function(e){if(e)return s[e]}(e.phaseName),eventType:e.eventType,phaseName:e.phaseName}})}e.s(["mapEventTypeToState",()=>a,"resolveSseEventUpdates",()=>l],99045)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,20206,(e,t,n)=>{"use strict";var r=e.r(79054),o=e.r(56032),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=o.useSyncExternalStore,s=r.useRef,l=r.useEffect,u=r.useMemo,c=r.useDebugValue;n.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=s(null);if(null===d.current){var h={hasValue:!1,value:null};d.current=h}else h=d.current;var f=a(e,(d=u(function(){function e(e){if(!l){if(l=!0,a=e,e=r(e),void 0!==o&&h.hasValue){var t=h.value;if(o(t,e))return s=t}return s=e}if(t=s,i(a,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(a=e,t):(a=e,s=n)}var a,s,l=!1,u=void 0===n?null:n;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,n,r,o]))[0],d[1]);return l(function(){h.hasValue=!0,h.value=f},[f]),c(f),f}},96482,(e,t,n)=>{"use strict";t.exports=e.r(20206)},53271,92002,e=>{"use strict";e.i(44172);var t,n,r,o,i,a,s,l,u,c,d,h,f,p,g,m,x,y=e.i(20314),v=e.i(79054);function b(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)""!==(r=b(e[n]))&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var w={value:()=>{}};function C(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw Error("illegal type: "+e);r[e]=[]}return new N(r)}function N(e){this._=e}function k(e,t,n){for(var r=0,o=e.length;r<o;++r)if(e[r].name===t){e[r]=w,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}function S(){}function _(e){return null==e?S:function(){return this.querySelector(e)}}function M(){return[]}function E(e){return null==e?M:function(){return this.querySelectorAll(e)}}function j(e){return function(){return this.matches(e)}}function P(e){return function(t){return t.matches(e)}}N.prototype=C.prototype={constructor:N,on:function(e,t){var n,r=this._,o=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");if(n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),e&&!r.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),i=-1,a=o.length;if(arguments.length<2){for(;++i<a;)if((n=(e=o[i]).type)&&(n=function(e,t){for(var n,r=0,o=e.length;r<o;++r)if((n=e[r]).name===t)return n.value}(r[n],e.name)))return n;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++i<a;)if(n=(e=o[i]).type)r[n]=k(r[n],e.name,t);else if(null==t)for(n in r)r[n]=k(r[n],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new N(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,o=Array(n),i=0;i<n;++i)o[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(r=this._[e],i=0,n=r.length;i<n;++i)r[i].value.apply(t,o)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var r=this._[e],o=0,i=r.length;o<i;++o)r[o].value.apply(t,n)}};var D=Array.prototype.find;function I(){return this.firstElementChild}var A=Array.prototype.filter;function R(){return Array.from(this.children)}function T(e){return Array(e.length)}function z(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function $(e,t,n,r,o,i){for(var a,s=0,l=t.length,u=i.length;s<u;++s)(a=t[s])?(a.__data__=i[s],r[s]=a):n[s]=new z(e,i[s]);for(;s<l;++s)(a=t[s])&&(o[s]=a)}function L(e,t,n,r,o,i,a){var s,l,u,c=new Map,d=t.length,h=i.length,f=Array(d);for(s=0;s<d;++s)(l=t[s])&&(f[s]=u=a.call(l,l.__data__,s,t)+"",c.has(u)?o[s]=l:c.set(u,l));for(s=0;s<h;++s)u=a.call(e,i[s],s,i)+"",(l=c.get(u))?(r[s]=l,l.__data__=i[s],c.delete(u)):n[s]=new z(e,i[s]);for(s=0;s<d;++s)(l=t[s])&&c.get(f[s])===l&&(o[s]=l)}function O(e){return e.__data__}function B(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}z.prototype={constructor:z,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var H="http://www.w3.org/1999/xhtml";let F={svg:"http://www.w3.org/2000/svg",xhtml:H,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function V(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),F.hasOwnProperty(t)?{space:F[t],local:e}:e}function X(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function q(e,t){return e.style.getPropertyValue(t)||X(e).getComputedStyle(e,null).getPropertyValue(t)}function Y(e){return e.trim().split(/^|\s+/)}function K(e){return e.classList||new Z(e)}function Z(e){this._node=e,this._names=Y(e.getAttribute("class")||"")}function W(e,t){for(var n=K(e),r=-1,o=t.length;++r<o;)n.add(t[r])}function U(e,t){for(var n=K(e),r=-1,o=t.length;++r<o;)n.remove(t[r])}function G(){this.textContent=""}function Q(){this.innerHTML=""}function J(){this.nextSibling&&this.parentNode.appendChild(this)}function ee(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function et(e){var t=V(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===H&&t.documentElement.namespaceURI===H?t.createElement(e):t.createElementNS(n,e)}})(t)}function en(){return null}function er(){var e=this.parentNode;e&&e.removeChild(this)}function eo(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ei(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ea(e){return function(){var t=this.__on;if(t){for(var n,r=0,o=-1,i=t.length;r<i;++r)(n=t[r],e.type&&n.type!==e.type||n.name!==e.name)?t[++o]=n:this.removeEventListener(n.type,n.listener,n.options);++o?t.length=o:delete this.__on}}}function es(e,t,n){return function(){var r,o=this.__on,i=function(e){t.call(this,e,this.__data__)};if(o){for(var a=0,s=o.length;a<s;++a)if((r=o[a]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function el(e,t,n){var r=X(e),o=r.CustomEvent;"function"==typeof o?o=new o(t,n):(o=r.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}Z.prototype={add:function(e){0>this._names.indexOf(e)&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var eu=[null];function ec(e,t){this._groups=e,this._parents=t}function ed(){return new ec([[document.documentElement]],eu)}function eh(e){return"string"==typeof e?new ec([[document.querySelector(e)]],[document.documentElement]):new ec([[e]],eu)}function ef(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}ec.prototype=ed.prototype={constructor:ec,select:function(e){"function"!=typeof e&&(e=_(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a,s=t[o],l=s.length,u=r[o]=Array(l),c=0;c<l;++c)(i=s[c])&&(a=e.call(i,i.__data__,c,s))&&("__data__"in i&&(a.__data__=i.__data__),u[c]=a);return new ec(r,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=E(e);for(var n=this._groups,r=n.length,o=[],i=[],a=0;a<r;++a)for(var s,l=n[a],u=l.length,c=0;c<u;++c)(s=l[c])&&(o.push(e.call(s,s.__data__,c,l)),i.push(s));return new ec(o,i)},selectChild:function(e){var t;return this.select(null==e?I:(t="function"==typeof e?e:P(e),function(){return D.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?R:(t="function"==typeof e?e:P(e),function(){return A.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=j(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a=t[o],s=a.length,l=r[o]=[],u=0;u<s;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&l.push(i);return new ec(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,O);var n=t?L:$,r=this._parents,o=this._groups;"function"!=typeof e&&(y=e,e=function(){return y});for(var i=o.length,a=Array(i),s=Array(i),l=Array(i),u=0;u<i;++u){var c=r[u],d=o[u],h=d.length,f="object"==typeof(x=e.call(c,c&&c.__data__,u,r))&&"length"in x?x:Array.from(x),p=f.length,g=s[u]=Array(p),m=a[u]=Array(p);n(c,d,g,m,l[u]=Array(h),f,t);for(var x,y,v,b,w=0,C=0;w<p;++w)if(v=g[w]){for(w>=C&&(C=w+1);!(b=m[C])&&++C<p;);v._next=b||null}}return(a=new ec(a,r))._enter=s,a._exit=l,a},enter:function(){return new ec(this._enter||this._groups.map(T),this._parents)},exit:function(){return new ec(this._exit||this._groups.map(T),this._parents)},join:function(e,t,n){var r=this.enter(),o=this,i=this.exit();return"function"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(o=t(o))&&(o=o.selection()),null==n?i.remove():n(i),r&&o?r.merge(o).order():o},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,o=n.length,i=r.length,a=Math.min(o,i),s=Array(o),l=0;l<a;++l)for(var u,c=n[l],d=r[l],h=c.length,f=s[l]=Array(h),p=0;p<h;++p)(u=c[p]||d[p])&&(f[p]=u);for(;l<o;++l)s[l]=n[l];return new ec(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,o=e[t],i=o.length-1,a=o[i];--i>=0;)(r=o[i])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=B);for(var n=this._groups,r=n.length,o=Array(r),i=0;i<r;++i){for(var a,s=n[i],l=s.length,u=o[i]=Array(l),c=0;c<l;++c)(a=s[c])&&(u[c]=a);u.sort(t)}return new ec(o,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],o=0,i=r.length;o<i;++o){var a=r[o];if(a)return a}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var o,i=t[n],a=0,s=i.length;a<s;++a)(o=i[a])&&e.call(o,o.__data__,a,i);return this},attr:function(e,t){var n=V(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?n.local?function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}:function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}:n.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}:function(e,t,n){return function(){this.style.setProperty(e,t,n)}})(e,t,null==n?"":n)):q(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var n=Y(e+"");if(arguments.length<2){for(var r=K(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?W:U)(this,e)}}:t?function(e){return function(){W(this,e)}}:function(e){return function(){U(this,e)}})(n,t))},text:function(e){return arguments.length?this.each(null==e?G:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Q:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(J)},lower:function(){return this.each(ee)},append:function(e){var t="function"==typeof e?e:et(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:et(e),r=null==t?en:"function"==typeof t?t:_(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(er)},clone:function(e){return this.select(e?ei:eo)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,o,i=(e+"").trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}),a=i.length;if(arguments.length<2){var s=this.node().__on;if(s){for(var l,u=0,c=s.length;u<c;++u)for(r=0,l=s[u];r<a;++r)if((o=i[r]).type===l.type&&o.name===l.name)return l.value}return}for(r=0,s=t?es:ea;r<a;++r)this.each(s(i[r],t,n));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return el(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return el(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,o=e[t],i=0,a=o.length;i<a;++i)(r=o[i])&&(yield r)}};let ep={passive:!1},eg={capture:!0,passive:!1};function em(e){e.stopImmediatePropagation()}function ex(e){e.preventDefault(),e.stopImmediatePropagation()}function ey(e){var t=e.document.documentElement,n=eh(e).on("dragstart.drag",ex,eg);"onselectstart"in t?n.on("selectstart.drag",ex,eg):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function ev(e,t){var n=e.document.documentElement,r=eh(e).on("dragstart.drag",null);t&&(r.on("click.drag",ex,eg),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}let eb=e=>()=>e;function ew(e,{sourceEvent:t,subject:n,target:r,identifier:o,active:i,x:a,y:s,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}function eC(e){return!e.ctrlKey&&!e.button}function eN(){return this.parentNode}function ek(e,t){return null==t?{x:e.x,y:e.y}:t}function eS(){return navigator.maxTouchPoints||"ontouchstart"in this}function e_(){var e,t,n,r,o=eC,i=eN,a=ek,s=eS,l={},u=C("start","drag","end"),c=0,d=0;function h(e){e.on("mousedown.drag",f).filter(s).on("touchstart.drag",m).on("touchmove.drag",x,ep).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(a,s){if(!r&&o.call(this,a,s)){var l=v(this,i.call(this,a,s),a,s,"mouse");l&&(eh(a.view).on("mousemove.drag",p,eg).on("mouseup.drag",g,eg),ey(a.view),em(a),n=!1,e=a.clientX,t=a.clientY,l("start",a))}}function p(r){if(ex(r),!n){var o=r.clientX-e,i=r.clientY-t;n=o*o+i*i>d}l.mouse("drag",r)}function g(e){eh(e.view).on("mousemove.drag mouseup.drag",null),ev(e.view,n),ex(e),l.mouse("end",e)}function m(e,t){if(o.call(this,e,t)){var n,r,a=e.changedTouches,s=i.call(this,e,t),l=a.length;for(n=0;n<l;++n)(r=v(this,s,e,t,a[n].identifier,a[n]))&&(em(e),r("start",e,a[n]))}}function x(e){var t,n,r=e.changedTouches,o=r.length;for(t=0;t<o;++t)(n=l[r[t].identifier])&&(ex(e),n("drag",e,r[t]))}function y(e){var t,n,o=e.changedTouches,i=o.length;for(r&&clearTimeout(r),r=setTimeout(function(){r=null},500),t=0;t<i;++t)(n=l[o[t].identifier])&&(em(e),n("end",e,o[t]))}function v(e,t,n,r,o,i){var s,d,f,p=u.copy(),g=ef(i||n,t);if(null!=(f=a.call(e,new ew("beforestart",{sourceEvent:n,target:h,identifier:o,active:c,x:g[0],y:g[1],dx:0,dy:0,dispatch:p}),r)))return s=f.x-g[0]||0,d=f.y-g[1]||0,function n(i,a,u){var m,x=g;switch(i){case"start":l[o]=n,m=c++;break;case"end":delete l[o],--c;case"drag":g=ef(u||a,t),m=c}p.call(i,e,new ew(i,{sourceEvent:a,subject:f,target:h,identifier:o,active:m,x:g[0]+s,y:g[1]+d,dx:g[0]-x[0],dy:g[1]-x[1],dispatch:p}),r)}}return h.filter=function(e){return arguments.length?(o="function"==typeof e?e:eb(!!e),h):o},h.container=function(e){return arguments.length?(i="function"==typeof e?e:eb(e),h):i},h.subject=function(e){return arguments.length?(a="function"==typeof e?e:eb(e),h):a},h.touchable=function(e){return arguments.length?(s="function"==typeof e?e:eb(!!e),h):s},h.on=function(){var e=u.on.apply(u,arguments);return e===u?h:e},h.clickDistance=function(e){return arguments.length?(d=(e*=1)*e,h):Math.sqrt(d)},h}function eM(e){return((e=Math.exp(e))+1/e)/2}ew.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};let eE=function e(t,n,r){function o(e,o){var i,a,s=e[0],l=e[1],u=e[2],c=o[0],d=o[1],h=o[2],f=c-s,p=d-l,g=f*f+p*p;if(g<1e-12)a=Math.log(h/u)/t,i=function(e){return[s+e*f,l+e*p,u*Math.exp(t*e*a)]};else{var m=Math.sqrt(g),x=(h*h-u*u+r*g)/(2*u*n*m),y=(h*h-u*u-r*g)/(2*h*n*m),v=Math.log(Math.sqrt(x*x+1)-x);a=(Math.log(Math.sqrt(y*y+1)-y)-v)/t,i=function(e){var r,o,i=e*a,c=eM(v),d=u/(n*m)*(c*(((r=Math.exp(2*(r=t*i+v)))-1)/(r+1))-((o=Math.exp(o=v))-1/o)/2);return[s+d*f,l+d*p,u*c/eM(t*i+v)]}}return i.duration=1e3*a*t/Math.SQRT2,i}return o.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},o}(Math.SQRT2,2,4);var ej,eP,eD=0,eI=0,eA=0,eR=0,eT=0,ez=0,e$="object"==typeof performance&&performance.now?performance:Date,eL="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function eO(){return eT||(eL(eB),eT=e$.now()+ez)}function eB(){eT=0}function eH(){this._call=this._time=this._next=null}function eF(e,t,n){var r=new eH;return r.restart(e,t,n),r}function eV(){eT=(eR=e$.now())+ez,eD=eI=0;try{eO(),++eD;for(var e,t=ej;t;)(e=eT-t._time)>=0&&t._call.call(void 0,e),t=t._next;--eD}finally{eD=0,function(){for(var e,t,n=ej,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:ej=t);eP=e,eq(r)}(),eT=0}}function eX(){var e=e$.now(),t=e-eR;t>1e3&&(ez-=t,eR=e)}function eq(e){!eD&&(eI&&(eI=clearTimeout(eI)),e-eT>24?(e<1/0&&(eI=setTimeout(eV,e-e$.now()-ez)),eA&&(eA=clearInterval(eA))):(eA||(eR=e$.now(),eA=setInterval(eX,1e3)),eD=1,eL(eV)))}function eY(e,t,n){var r=new eH;return t=null==t?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}eH.prototype=eF.prototype={constructor:eH,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?eO():+n)+(null==t?0:+t),this._next||eP===this||(eP?eP._next=this:ej=this,eP=this),this._call=e,this._time=n,eq()},stop:function(){this._call&&(this._call=null,this._time=1/0,eq())}};var eK=C("start","end","cancel","interrupt"),eZ=[];function eW(e,t,n,r,o,i){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,o=e.__transition;function i(l){var u,c,d,h;if(1!==n.state)return s();for(u in o)if((h=o[u]).name===n.name){if(3===h.state)return eY(i);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[u]):+u<t&&(h.state=6,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[u])}if(eY(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(u=0,n.state=3,r=Array(d=n.tween.length),c=-1;u<d;++u)(h=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++c]=h);r.length=c+1}}function a(t){for(var o=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(s),n.state=5,1),i=-1,a=r.length;++i<a;)r[i].call(e,o);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),s())}function s(){for(var r in n.state=6,n.timer.stop(),delete o[t],o)return;delete e.__transition}o[t]=n,n.timer=eF(function(e){n.state=1,n.timer.restart(i,n.delay,n.time),n.delay<=e&&i(e-n.delay)},0,n.time)}(e,n,{name:t,index:r,group:o,on:eK,tween:eZ,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:0})}function eU(e,t){var n=eQ(e,t);if(n.state>0)throw Error("too late; already scheduled");return n}function eG(e,t){var n=eQ(e,t);if(n.state>3)throw Error("too late; already running");return n}function eQ(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error("transition not found");return n}function eJ(e,t){var n,r,o,i=e.__transition,a=!0;if(i){for(o in t=null==t?null:t+"",i){if((n=i[o]).name!==t){a=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete i[o]}a&&delete e.__transition}}function e0(e,t){return e*=1,t*=1,function(n){return e*(1-n)+t*n}}var e1=180/Math.PI,e2={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function e5(e,t,n,r,o,i){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),e*r<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(t,e)*e1,skewX:Math.atan(l)*e1,scaleX:a,scaleY:s}}function e3(e,t,n,r){function o(e){return e.length?e.pop()+" ":""}return function(i,a){var s,l,u,c,d=[],h=[];return i=e(i),a=e(a),!function(e,r,o,i,a,s){if(e!==o||r!==i){var l=a.push("translate(",null,t,null,n);s.push({i:l-4,x:e0(e,o)},{i:l-2,x:e0(r,i)})}else(o||i)&&a.push("translate("+o+t+i+n)}(i.translateX,i.translateY,a.translateX,a.translateY,d,h),s=i.rotate,l=a.rotate,s!==l?(s-l>180?l+=360:l-s>180&&(s+=360),h.push({i:d.push(o(d)+"rotate(",null,r)-2,x:e0(s,l)})):l&&d.push(o(d)+"rotate("+l+r),u=i.skewX,c=a.skewX,u!==c?h.push({i:d.push(o(d)+"skewX(",null,r)-2,x:e0(u,c)}):c&&d.push(o(d)+"skewX("+c+r),!function(e,t,n,r,i,a){if(e!==n||t!==r){var s=i.push(o(i)+"scale(",null,",",null,")");a.push({i:s-4,x:e0(e,n)},{i:s-2,x:e0(t,r)})}else(1!==n||1!==r)&&i.push(o(i)+"scale("+n+","+r+")")}(i.scaleX,i.scaleY,a.scaleX,a.scaleY,d,h),i=a=null,function(e){for(var t,n=-1,r=h.length;++n<r;)d[(t=h[n]).i]=t.x(e);return d.join("")}}}var e4=e3(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?e2:e5(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),e6=e3(function(e){return null==e?e2:(u||(u=document.createElementNS("http://www.w3.org/2000/svg","g")),u.setAttribute("transform",e),e=u.transform.baseVal.consolidate())?e5((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):e2},", ",")",")");function e9(e,t,n){var r=e._id;return e.each(function(){var e=eG(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)}),function(e){return eQ(e,r).value[t]}}function e8(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function e7(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function te(){}var tt="\\s*([+-]?\\d+)\\s*",tn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",tr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",to=/^#([0-9a-f]{3,8})$/,ti=RegExp(`^rgb\\(${tt},${tt},${tt}\\)$`),ta=RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),ts=RegExp(`^rgba\\(${tt},${tt},${tt},${tn}\\)$`),tl=RegExp(`^rgba\\(${tr},${tr},${tr},${tn}\\)$`),tu=RegExp(`^hsl\\(${tn},${tr},${tr}\\)$`),tc=RegExp(`^hsla\\(${tn},${tr},${tr},${tn}\\)$`),td={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function th(){return this.rgb().formatHex()}function tf(){return this.rgb().formatRgb()}function tp(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=to.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?tg(t):3===n?new ty(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?tm(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?tm(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ti.exec(e))?new ty(t[1],t[2],t[3],1):(t=ta.exec(e))?new ty(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ts.exec(e))?tm(t[1],t[2],t[3],t[4]):(t=tl.exec(e))?tm(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=tu.exec(e))?tk(t[1],t[2]/100,t[3]/100,1):(t=tc.exec(e))?tk(t[1],t[2]/100,t[3]/100,t[4]):td.hasOwnProperty(e)?tg(td[e]):"transparent"===e?new ty(NaN,NaN,NaN,0):null}function tg(e){return new ty(e>>16&255,e>>8&255,255&e,1)}function tm(e,t,n,r){return r<=0&&(e=t=n=NaN),new ty(e,t,n,r)}function tx(e,t,n,r){var o;return 1==arguments.length?((o=e)instanceof te||(o=tp(o)),o)?new ty((o=o.rgb()).r,o.g,o.b,o.opacity):new ty:new ty(e,t,n,null==r?1:r)}function ty(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function tv(){return`#${tN(this.r)}${tN(this.g)}${tN(this.b)}`}function tb(){let e=tw(this.opacity);return`${1===e?"rgb(":"rgba("}${tC(this.r)}, ${tC(this.g)}, ${tC(this.b)}${1===e?")":`, ${e})`}`}function tw(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function tC(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function tN(e){return((e=tC(e))<16?"0":"")+e.toString(16)}function tk(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new t_(e,t,n,r)}function tS(e){if(e instanceof t_)return new t_(e.h,e.s,e.l,e.opacity);if(e instanceof te||(e=tp(e)),!e)return new t_;if(e instanceof t_)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,s=i-o,l=(i+o)/2;return s?(a=t===i?(n-r)/s+(n<r)*6:n===i?(r-t)/s+2:(t-n)/s+4,s/=l<.5?i+o:2-i-o,a*=60):s=l>0&&l<1?0:a,new t_(a,s,l,e.opacity)}function t_(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function tM(e){return(e=(e||0)%360)<0?e+360:e}function tE(e){return Math.max(0,Math.min(1,e||0))}function tj(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function tP(e,t,n,r,o){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*n+(1+3*e+3*i-3*a)*r+a*o)/6}e8(te,tp,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:th,formatHex:th,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tS(this).formatHsl()},formatRgb:tf,toString:tf}),e8(ty,tx,e7(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new ty(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new ty(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ty(tC(this.r),tC(this.g),tC(this.b),tw(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:tv,formatHex:tv,formatHex8:function(){return`#${tN(this.r)}${tN(this.g)}${tN(this.b)}${tN((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tb,toString:tb})),e8(t_,function(e,t,n,r){return 1==arguments.length?tS(e):new t_(e,t,n,null==r?1:r)},e7(te,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new t_(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new t_(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new ty(tj(e>=240?e-240:e+120,o,r),tj(e,o,r),tj(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new t_(tM(this.h),tE(this.s),tE(this.l),tw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=tw(this.opacity);return`${1===e?"hsl(":"hsla("}${tM(this.h)}, ${100*tE(this.s)}%, ${100*tE(this.l)}%${1===e?")":`, ${e})`}`}}));let tD=e=>()=>e;function tI(e,t){var n=t-e;return n?function(t){return e+t*n}:tD(isNaN(e)?t:e)}let tA=function e(t){var n,r=1==(n=+t)?tI:function(e,t){var r,o,i;return t-e?(r=e,o=t,r=Math.pow(r,i=n),o=Math.pow(o,i)-r,i=1/i,function(e){return Math.pow(r+e*o,i)}):tD(isNaN(e)?t:e)};function o(e,t){var n=r((e=tx(e)).r,(t=tx(t)).r),o=r(e.g,t.g),i=r(e.b,t.b),a=tI(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+""}}return o.gamma=e,o}(1);function tR(e){return function(t){var n,r,o=t.length,i=Array(o),a=Array(o),s=Array(o);for(n=0;n<o;++n)r=tx(t[n]),i[n]=r.r||0,a[n]=r.g||0,s[n]=r.b||0;return i=e(i),a=e(a),s=e(s),r.opacity=1,function(e){return r.r=i(e),r.g=a(e),r.b=s(e),r+""}}}tR(function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],a=r>0?e[r-1]:2*o-i,s=r<t-1?e[r+2]:2*i-o;return tP((n-r/t)*t,a,o,i,s)}}),tR(function(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),o=e[(r+t-1)%t],i=e[r%t],a=e[(r+1)%t],s=e[(r+2)%t];return tP((n-r/t)*t,o,i,a,s)}});var tT=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tz=RegExp(tT.source,"g");function t$(e,t){var n,r,o,i,a,s=tT.lastIndex=tz.lastIndex=0,l=-1,u=[],c=[];for(e+="",t+="";(o=tT.exec(e))&&(i=tz.exec(t));)(a=i.index)>s&&(a=t.slice(s,a),u[l]?u[l]+=a:u[++l]=a),(o=o[0])===(i=i[0])?u[l]?u[l]+=i:u[++l]=i:(u[++l]=null,c.push({i:l,x:e0(o,i)})),s=tz.lastIndex;return s<t.length&&(a=t.slice(s),u[l]?u[l]+=a:u[++l]=a),u.length<2?c[0]?(n=c[0].x,function(e){return n(e)+""}):(r=t,function(){return r}):(t=c.length,function(e){for(var n,r=0;r<t;++r)u[(n=c[r]).i]=n.x(e);return u.join("")})}function tL(e,t){var n;return("number"==typeof t?e0:t instanceof tp?tA:(n=tp(t))?(t=n,tA):t$)(e,t)}var tO=ed.prototype.constructor;function tB(e){return function(){this.style.removeProperty(e)}}var tH=0;function tF(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}var tV=ed.prototype;tF.prototype=(function(e){return ed().transition(e)}).prototype={constructor:tF,select:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=_(e));for(var r=this._groups,o=r.length,i=Array(o),a=0;a<o;++a)for(var s,l,u=r[a],c=u.length,d=i[a]=Array(c),h=0;h<c;++h)(s=u[h])&&(l=e.call(s,s.__data__,h,u))&&("__data__"in s&&(l.__data__=s.__data__),d[h]=l,eW(d[h],t,n,h,d,eQ(s,n)));return new tF(i,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!=typeof e&&(e=E(e));for(var r=this._groups,o=r.length,i=[],a=[],s=0;s<o;++s)for(var l,u=r[s],c=u.length,d=0;d<c;++d)if(l=u[d]){for(var h,f=e.call(l,l.__data__,d,u),p=eQ(l,n),g=0,m=f.length;g<m;++g)(h=f[g])&&eW(h,t,n,g,f,p);i.push(f),a.push(l)}return new tF(i,a,t,n)},selectChild:tV.selectChild,selectChildren:tV.selectChildren,filter:function(e){"function"!=typeof e&&(e=j(e));for(var t=this._groups,n=t.length,r=Array(n),o=0;o<n;++o)for(var i,a=t[o],s=a.length,l=r[o]=[],u=0;u<s;++u)(i=a[u])&&e.call(i,i.__data__,u,a)&&l.push(i);return new tF(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,o=n.length,i=Math.min(r,o),a=Array(r),s=0;s<i;++s)for(var l,u=t[s],c=n[s],d=u.length,h=a[s]=Array(d),f=0;f<d;++f)(l=u[f]||c[f])&&(h[f]=l);for(;s<r;++s)a[s]=t[s];return new tF(a,this._parents,this._name,this._id)},selection:function(){return new tO(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=++tH,r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],l=s.length,u=0;u<l;++u)if(a=s[u]){var c=eQ(a,t);eW(a,e,n,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new tF(r,this._parents,e,n)},call:tV.call,nodes:tV.nodes,node:tV.node,size:tV.size,empty:tV.empty,each:tV.each,on:function(e,t){var n,r,o,i,a,s,l=this._id;return arguments.length<2?eQ(this.node(),l).on.on(e):this.each((n=l,r=e,o=t,s=(r+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?eU:eG,function(){var e=s(this,n),t=e.on;t!==i&&(a=(i=t).copy()).on(r,o),e.on=a}))},attr:function(e,t){var n=V(e),r="transform"===n?e6:tL;return this.attrTween(e,"function"==typeof t?(n.local?function(e,t,n){var r,o,i;return function(){var a,s,l=n(this);return null==l?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:a===r&&s===o?i:(o=s,i=t(r=a,l))}}:function(e,t,n){var r,o,i;return function(){var a,s,l=n(this);return null==l?void this.removeAttribute(e):(a=this.getAttribute(e))===(s=l+"")?null:a===r&&s===o?i:(o=s,i=t(r=a,l))}})(n,r,e9(this,"attr."+e,t)):null==t?(n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(n):(n.local?function(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}:function(e,t,n){var r,o,i=n+"";return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}})(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();var r=V(e);return this.tween(n,(r.local?function(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&function(t){this.setAttributeNS(e.space,e.local,o.call(this,t))}),n}return o._value=t,o}:function(e,t){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&function(t){this.setAttribute(e,o.call(this,t))}),n}return o._value=t,o})(r,t))},style:function(e,t,n){var r,o,i,a,s,l,u,c,d,h,f,p,g,m,x,y,v,b,w,C,N,k="transform"==(e+="")?e4:tL;return null==t?this.styleTween(e,(r=e,function(){var e=q(this,r),t=(this.style.removeProperty(r),q(this,r));return e===t?null:e===o&&t===i?a:a=k(o=e,i=t)})).on("end.style."+e,tB(e)):"function"==typeof t?this.styleTween(e,(s=e,l=e9(this,"style."+e,t),function(){var e=q(this,s),t=l(this),n=t+"";return null==t&&(this.style.removeProperty(s),n=t=q(this,s)),e===n?null:e===u&&n===c?d:(c=n,d=k(u=e,t))})).each((h=this._id,v="end."+(y="style."+(f=e)),function(){var e=eG(this,h),t=e.on,n=null==e.value[y]?x||(x=tB(f)):void 0;(t!==p||m!==n)&&(g=(p=t).copy()).on(v,m=n),e.on=g})):this.styleTween(e,(b=e,N=t+"",function(){var e=q(this,b);return e===N?null:e===w?C:C=k(w=e,t)}),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw Error();return this.tween(r,function(e,t,n){var r,o;function i(){var i=t.apply(this,arguments);return i!==o&&(r=(o=i)&&function(t){this.style.setProperty(e,i.call(this,t),n)}),r}return i._value=t,i}(e,t,null==n?"":n))},text:function(e){var t,n;return this.tween("text","function"==typeof e?(t=e9(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(n=null==e?"":e+"",function(){this.textContent=n}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&function(e){this.textContent=r.call(this,e)}),t}return r._value=e,r}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,o=eQ(this.node(),n).tween,i=0,a=o.length;i<a;++i)if((r=o[i]).name===e)return r.value;return null}return this.each((null==t?function(e,t){var n,r;return function(){var o=eG(this,e),i=o.tween;if(i!==n){r=n=i;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}}o.tween=r}}:function(e,t,n){var r,o;if("function"!=typeof n)throw Error();return function(){var i=eG(this,e),a=i.tween;if(a!==r){o=(r=a).slice();for(var s={name:t,value:n},l=0,u=o.length;l<u;++l)if(o[l].name===t){o[l]=s;break}l===u&&o.push(s)}i.tween=o}})(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eU(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eU(this,e).delay=t}})(t,e)):eQ(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){eG(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){eG(this,e).duration=t}})(t,e)):eQ(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){eG(this,e).ease=t}}(t,e)):eQ(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var n=e.apply(this,arguments);if("function"!=typeof n)throw Error();eG(this,t).ease=n}))},end:function(){var e,t,n=this,r=n._id,o=n.size();return new Promise(function(i,a){var s={value:a},l={value:function(){0==--o&&i()}};n.each(function(){var n=eG(this,r),o=n.on;o!==e&&((t=(e=o).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),n.on=t}),0===o&&i()})},[Symbol.iterator]:tV[Symbol.iterator]};var tX={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};ed.prototype.interrupt=function(e){return this.each(function(){eJ(this,e)})},ed.prototype.transition=function(e){var t,n;e instanceof tF?(t=e._id,e=e._name):(t=++tH,(n=tX).time=eO(),e=null==e?null:e+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var a,s=r[i],l=s.length,u=0;u<l;++u)(a=s[u])&&eW(a,e,t,u,s,n||function(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}(a,t));return new tF(r,this._parents,e,t)};let tq=e=>()=>e;function tY(e,{sourceEvent:t,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function tK(e,t,n){this.k=e,this.x=t,this.y=n}tK.prototype={constructor:tK,scale:function(e){return 1===e?this:new tK(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new tK(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 tZ=new tK(1,0,0);function tW(e){for(;!e.__zoom;)if(!(e=e.parentNode))return tZ;return e.__zoom}function tU(e){e.stopImmediatePropagation()}function tG(e){e.preventDefault(),e.stopImmediatePropagation()}function tQ(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function tJ(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function t0(){return this.__zoom||tZ}function t1(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function t2(){return navigator.maxTouchPoints||"ontouchstart"in this}function t5(e,t,n){var r=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function t3(){var e,t,n,r=tQ,o=tJ,i=t5,a=t1,s=t2,l=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,d=eE,h=C("start","zoom","end"),f=0,p=10;function g(e){e.property("__zoom",t0).on("wheel.zoom",N,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",S).filter(s).on("touchstart.zoom",_).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",E).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new tK(t,e.x,e.y)}function x(e,t,n){var r=t[0]-n[0]*e.k,o=t[1]-n[1]*e.k;return r===e.x&&o===e.y?e:new tK(e.k,r,o)}function y(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function v(e,t,n,r){e.on("start.zoom",function(){b(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){b(this,arguments).event(r).end()}).tween("zoom",function(){var e=arguments,i=b(this,e).event(r),a=o.apply(this,e),s=null==n?y(a):"function"==typeof n?n.apply(this,e):n,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,c="function"==typeof t?t.apply(this,e):t,h=d(u.invert(s).concat(l/u.k),c.invert(s).concat(l/c.k));return function(e){if(1===e)e=c;else{var t=h(e),n=l/t[2];e=new tK(n,s[0]-t[0]*n,s[1]-t[1]*n)}i.zoom(null,e)}})}function b(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=o.apply(e,t),this.taps=0}function N(e,...t){if(r.apply(this,arguments)){var n=b(this,t).event(e),o=this.__zoom,s=Math.max(l[0],Math.min(l[1],o.k*Math.pow(2,a.apply(this,arguments)))),c=ef(e);if(n.wheel)(n.mouse[0][0]!==c[0]||n.mouse[0][1]!==c[1])&&(n.mouse[1]=o.invert(n.mouse[0]=c)),clearTimeout(n.wheel);else{if(o.k===s)return;n.mouse=[c,o.invert(c)],eJ(this),n.start()}tG(e),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",i(x(m(o,s),n.mouse[0],n.mouse[1]),n.extent,u))}}function k(e,...t){if(!n&&r.apply(this,arguments)){var o=e.currentTarget,a=b(this,t,!0).event(e),s=eh(e.view).on("mousemove.zoom",function(e){if(tG(e),!a.moved){var t=e.clientX-c,n=e.clientY-d;a.moved=t*t+n*n>f}a.event(e).zoom("mouse",i(x(a.that.__zoom,a.mouse[0]=ef(e,o),a.mouse[1]),a.extent,u))},!0).on("mouseup.zoom",function(e){s.on("mousemove.zoom mouseup.zoom",null),ev(e.view,a.moved),tG(e),a.event(e).end()},!0),l=ef(e,o),c=e.clientX,d=e.clientY;ey(e.view),tU(e),a.mouse=[l,this.__zoom.invert(l)],eJ(this),a.start()}}function S(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,a=ef(e.changedTouches?e.changedTouches[0]:e,this),s=n.invert(a),l=n.k*(e.shiftKey?.5:2),d=i(x(m(n,l),a,s),o.apply(this,t),u);tG(e),c>0?eh(this).transition().duration(c).call(v,d,a,e):eh(this).call(g.transform,d,a,e)}}function _(n,...o){if(r.apply(this,arguments)){var i,a,s,l,u=n.touches,c=u.length,d=b(this,o,n.changedTouches.length===c).event(n);for(tU(n),a=0;a<c;++a)l=[l=ef(s=u[a],this),this.__zoom.invert(l),s.identifier],d.touch0?d.touch1||d.touch0[2]===l[2]||(d.touch1=l,d.taps=0):(d.touch0=l,i=!0,d.taps=1+!!e);e&&(e=clearTimeout(e)),i&&(d.taps<2&&(t=l[0],e=setTimeout(function(){e=null},500)),eJ(this),d.start())}}function M(e,...t){if(this.__zooming){var n,r,o,a,s=b(this,t).event(e),l=e.changedTouches,c=l.length;for(tG(e),n=0;n<c;++n)o=ef(r=l[n],this),s.touch0&&s.touch0[2]===r.identifier?s.touch0[0]=o:s.touch1&&s.touch1[2]===r.identifier&&(s.touch1[0]=o);if(r=s.that.__zoom,s.touch1){var d=s.touch0[0],h=s.touch0[1],f=s.touch1[0],p=s.touch1[1],g=(g=f[0]-d[0])*g+(g=f[1]-d[1])*g,y=(y=p[0]-h[0])*y+(y=p[1]-h[1])*y;r=m(r,Math.sqrt(g/y)),o=[(d[0]+f[0])/2,(d[1]+f[1])/2],a=[(h[0]+p[0])/2,(h[1]+p[1])/2]}else{if(!s.touch0)return;o=s.touch0[0],a=s.touch0[1]}s.zoom("touch",i(x(r,o,a),s.extent,u))}}function E(e,...r){if(this.__zooming){var o,i,a=b(this,r).event(e),s=e.changedTouches,l=s.length;for(tU(e),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),o=0;o<l;++o)i=s[o],a.touch0&&a.touch0[2]===i.identifier?delete a.touch0:a.touch1&&a.touch1[2]===i.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(i=ef(i,this),Math.hypot(t[0]-i[0],t[1]-i[1])<p)){var u=eh(this).on("dblclick.zoom");u&&u.apply(this,arguments)}}}return g.transform=function(e,t,n,r){var o=e.selection?e.selection():e;o.property("__zoom",t0),e!==o?v(e,t,n,r):o.interrupt().each(function(){b(this,arguments).event(r).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},g.scaleBy=function(e,t,n,r){g.scaleTo(e,function(){var e=this.__zoom.k,n="function"==typeof t?t.apply(this,arguments):t;return e*n},n,r)},g.scaleTo=function(e,t,n,r){g.transform(e,function(){var e=o.apply(this,arguments),r=this.__zoom,a=null==n?y(e):"function"==typeof n?n.apply(this,arguments):n,s=r.invert(a),l="function"==typeof t?t.apply(this,arguments):t;return i(x(m(r,l),a,s),e,u)},n,r)},g.translateBy=function(e,t,n,r){g.transform(e,function(){return i(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),u)},null,r)},g.translateTo=function(e,t,n,r,a){g.transform(e,function(){var e=o.apply(this,arguments),a=this.__zoom,s=null==r?y(e):"function"==typeof r?r.apply(this,arguments):r;return i(tZ.translate(s[0],s[1]).scale(a.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof n?-n.apply(this,arguments):-n),e,u)},r,a)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=eh(this.that).datum();h.call(e,this.that,new tY(e,{sourceEvent:this.sourceEvent,target:g,type:e,transform:this.that.__zoom,dispatch:h}),t)}},g.wheelDelta=function(e){return arguments.length?(a="function"==typeof e?e:tq(+e),g):a},g.filter=function(e){return arguments.length?(r="function"==typeof e?e:tq(!!e),g):r},g.touchable=function(e){return arguments.length?(s="function"==typeof e?e:tq(!!e),g):s},g.extent=function(e){return arguments.length?(o="function"==typeof e?e:tq([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),g):o},g.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],g):[l[0],l[1]]},g.translateExtent=function(e){return arguments.length?(u[0][0]=+e[0][0],u[1][0]=+e[1][0],u[0][1]=+e[0][1],u[1][1]=+e[1][1],g):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},g.constrain=function(e){return arguments.length?(i=e,g):i},g.duration=function(e){return arguments.length?(c=+e,g):c},g.interpolate=function(e){return arguments.length?(d=e,g):d},g.on=function(){var e=h.on.apply(h,arguments);return e===h?g:e},g.clickDistance=function(e){return arguments.length?(f=(e*=1)*e,g):Math.sqrt(f)},g.tapDistance=function(e){return arguments.length?(p=+e,g):p},g}function t4(e,t){var n,r,o=typeof t;return null==t||"boolean"===o?tD(t):("number"===o?e0:"string"===o?(r=tp(t))?(t=r,tA):t$:t instanceof tp?tA:t instanceof Date?function(e,t){var n=new Date;return e*=1,t*=1,function(r){return n.setTime(e*(1-r)+t*r),n}}:!ArrayBuffer.isView(n=t)||n instanceof DataView?Array.isArray(t)?function(e,t){var n,r=t?t.length:0,o=e?Math.min(r,e.length):0,i=Array(o),a=Array(r);for(n=0;n<o;++n)i[n]=t4(e[n],t[n]);for(;n<r;++n)a[n]=t[n];return function(e){for(n=0;n<o;++n)a[n]=i[n](e);return a}}:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?function(e,t){var n,r={},o={};for(n in(null===e||"object"!=typeof e)&&(e={}),(null===t||"object"!=typeof t)&&(t={}),t)n in e?r[n]=t4(e[n],t[n]):o[n]=t[n];return function(e){for(n in r)o[n]=r[n](e);return o}}:e0:function(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,o=t.slice();return function(i){for(n=0;n<r;++n)o[n]=e[n]*(1-i)+t[n]*i;return o}})(e,t)}tW.prototype=tK.prototype;let t6={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${"source"===e?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."},t9=[[-1/0,-1/0],[1/0,1/0]],t8=["Enter"," ","Escape"],t7={"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"};(t=c||(c={})).Strict="strict",t.Loose="loose",(n=d||(d={})).Free="free",n.Vertical="vertical",n.Horizontal="horizontal",(r=h||(h={})).Partial="partial",r.Full="full";let ne={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};(o=f||(f={})).Bezier="default",o.Straight="straight",o.Step="step",o.SmoothStep="smoothstep",o.SimpleBezier="simplebezier",(i=p||(p={})).Arrow="arrow",i.ArrowClosed="arrowclosed",(a=g||(g={})).Left="left",a.Top="top",a.Right="right",a.Bottom="bottom";let nt={[g.Left]:g.Right,[g.Right]:g.Left,[g.Top]:g.Bottom,[g.Bottom]:g.Top};function nn(e,t){if(!e&&!t)return!0;if(!e||!t||e.size!==t.size)return!1;if(!e.size&&!t.size)return!0;for(let n of e.keys())if(!t.has(n))return!1;return!0}function nr(e,t,n){if(!n)return;let r=[];e.forEach((e,n)=>{t?.has(n)||r.push(e)}),r.length&&n(r)}function no(e){return null===e?null:e?"valid":"invalid"}let ni=e=>"id"in e&&"source"in e&&"target"in e,na=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),ns=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),nl=(e,t=[0,0])=>{let{width:n,height:r}=n$(e),o=e.origin??t,i=n*o[0],a=r*o[1];return{x:e.position.x-i,y:e.position.y-a}},nu=(e,t={nodeOrigin:[0,0]})=>0===e.length?{x:0,y:0,width:0,height:0}:nC(e.reduce((e,n)=>{let r="string"==typeof n,o=t.nodeLookup||r?void 0:n;return t.nodeLookup&&(o=r?t.nodeLookup.get(n):ns(n)?n:t.nodeLookup.get(n.id)),nb(e,o?nk(o,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nc=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(void 0===t.filter||t.filter(e))&&(n=nb(n,nk(e)),r=!0)}),r?nC(n):{x:0,y:0,width:0,height:0}},nd=(e,t,[n,r,o]=[0,0,1],i=!1,a=!1)=>{let s={...nD(t,[n,r,o]),width:t.width/o,height:t.height/o},l=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(a&&!n||r)continue;let o=e.width??t.width??t.initialWidth??null,u=e.height??t.height??t.initialHeight??null,c=n_(s,nN(t)),d=(o??0)*(u??0),h=i&&c>0;(!t.internals.handleBounds||h||c>=d||t.dragging)&&l.push(t)}return l};async function nh({nodes:e,width:t,height:n,panZoom:r,minZoom:o,maxZoom:i},a){let s,l;if(0===e.size)return Promise.resolve(!0);let u=nR(nc((s=new Map,l=a?.nodes?new Set(a.nodes.map(e=>e.id)):null,e.forEach(e=>{e.measured.width&&e.measured.height&&(a?.includeHiddenNodes||!e.hidden)&&(!l||l.has(e.id))&&s.set(e.id,e)}),s)),t,n,a?.minZoom??o,a?.maxZoom??i,a?.padding??.1);return await r.setViewport(u,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),Promise.resolve(!0)}function nf({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:o,onError:i}){let a=n.get(e),s=a.parentId?n.get(a.parentId):void 0,{x:l,y:u}=s?s.internals.positionAbsolute:{x:0,y:0},c=a.origin??r,d=a.extent||o;if("parent"!==a.extent||a.expandParent)s&&nz(a.extent)&&(d=[[a.extent[0][0]+l,a.extent[0][1]+u],[a.extent[1][0]+l,a.extent[1][1]+u]]);else if(s){let e=s.measured.width,t=s.measured.height;e&&t&&(d=[[l,u],[l+e,u+t]])}else i?.("005",t6.error005());let h=nz(d)?nm(t,d,a.measured):t;return(void 0===a.measured.width||void 0===a.measured.height)&&i?.("015",t6.error015()),{position:{x:h.x-l+(a.measured.width??0)*c[0],y:h.y-u+(a.measured.height??0)*c[1]},positionAbsolute:h}}async function np({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:o}){let i,a=new Set(e.map(e=>e.id)),s=[];for(let e of n){if(!1===e.deletable)continue;let t=a.has(e.id),n=!t&&e.parentId&&s.find(t=>t.id===e.parentId);(t||n)&&s.push(e)}let l=new Set(t.map(e=>e.id)),u=r.filter(e=>!1!==e.deletable),c=(i=new Set,s.forEach(e=>{i.add(e.id)}),u.filter(e=>i.has(e.source)||i.has(e.target)));for(let e of u)l.has(e.id)&&!c.find(t=>t.id===e.id)&&c.push(e);if(!o)return{edges:c,nodes:s};let d=await o({nodes:s,edges:c});return"boolean"==typeof d?d?{edges:c,nodes:s}:{edges:[],nodes:[]}:d}let ng=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),nm=(e={x:0,y:0},t,n)=>({x:ng(e.x,t[0][0],t[1][0]-(n?.width??0)),y:ng(e.y,t[0][1],t[1][1]-(n?.height??0))});function nx(e,t,n){let{width:r,height:o}=n$(n),{x:i,y:a}=n.internals.positionAbsolute;return nm(e,[[i,a],[i+r,a+o]],t)}let ny=(e,t,n)=>e<t?ng(Math.abs(e-t),1,t)/t:e>n?-ng(Math.abs(e-n),1,t)/t:0,nv=(e,t,n=15,r=40)=>[ny(e.x,r,t.width-r)*n,ny(e.y,r,t.height-r)*n],nb=(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)}),nw=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),nC=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),nN=(e,t=[0,0])=>{let{x:n,y:r}=ns(e)?e.internals.positionAbsolute:nl(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}},nk=(e,t=[0,0])=>{let{x:n,y:r}=ns(e)?e.internals.positionAbsolute:nl(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)}},nS=(e,t)=>nC(nb(nw(e),nw(t))),n_=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),nM=e=>nE(e.width)&&nE(e.height)&&nE(e.x)&&nE(e.y),nE=e=>!isNaN(e)&&isFinite(e),nj=(e,t)=>{},nP=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),nD=({x:e,y:t},[n,r,o],i=!1,a=[1,1])=>{let s={x:(e-n)/o,y:(t-r)/o};return i?nP(s,a):s},nI=({x:e,y:t},[n,r,o])=>({x:e*o+n,y:t*o+r});function nA(e,t){if("number"==typeof e)return Math.floor((t-t/(1+e))*.5);if("string"==typeof e&&e.endsWith("px")){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if("string"==typeof e&&e.endsWith("%")){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}let nR=(e,t,n,r,o,i)=>{let a=function(e,t,n){if("string"==typeof e||"number"==typeof e){let r=nA(e,n),o=nA(e,t);return{top:r,right:o,bottom:r,left:o,x:2*o,y:2*r}}if("object"==typeof e){let r=nA(e.top??e.y??0,n),o=nA(e.bottom??e.y??0,n),i=nA(e.left??e.x??0,t),a=nA(e.right??e.x??0,t);return{top:r,right:a,bottom:o,left:i,x:i+a,y:r+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}(i,t,n),s=ng(Math.min((t-a.x)/e.width,(n-a.y)/e.height),r,o),l=e.x+e.width/2,u=e.y+e.height/2,c=t/2-l*s,d=n/2-u*s,h=function(e,t,n,r,o,i){let{x:a,y:s}=nI(e,[t,n,r]),{x:l,y:u}=nI({x:e.x+e.width,y:e.y+e.height},[t,n,r]);return{left:Math.floor(a),top:Math.floor(s),right:Math.floor(o-l),bottom:Math.floor(i-u)}}(e,c,d,s,t,n),f={left:Math.min(h.left-a.left,0),top:Math.min(h.top-a.top,0),right:Math.min(h.right-a.right,0),bottom:Math.min(h.bottom-a.bottom,0)};return{x:c-f.left+f.right,y:d-f.top+f.bottom,zoom:s}},nT=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0;function nz(e){return null!=e&&"parent"!==e}function n$(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function nL(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function nO(e,t={width:0,height:0},n,r,o){let i={...e},a=r.get(n);if(a){let e=a.origin||o;i.x+=a.internals.positionAbsolute.x-(t.width??0)*e[0],i.y+=a.internals.positionAbsolute.y-(t.height??0)*e[1]}return i}function nB(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function nH(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function nF(e){return{...t7,...e||{}}}function nV(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:o}){let{x:i,y:a}=nW(e),s=nD({x:i-(o?.left??0),y:a-(o?.top??0)},r),{x:l,y:u}=n?nP(s,t):s;return{xSnapped:l,ySnapped:u,...s}}let nX=e=>({width:e.offsetWidth,height:e.offsetHeight}),nq=e=>e?.getRootNode?.()||window?.document,nY=["INPUT","SELECT","TEXTAREA"];function nK(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1&&(nY.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey"))}let nZ=e=>"clientX"in e,nW=(e,t)=>{let n=nZ(e),r=n?e.clientX:e.touches?.[0].clientX,o=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:o-(t?.top??0)}},nU=(e,t,n,r,o)=>{let i=t.querySelectorAll(`.${e}`);return i&&i.length?Array.from(i).map(t=>{let i=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),type:e,nodeId:o,position:t.getAttribute("data-handlepos"),x:(i.left-n.left)/r,y:(i.top-n.top)/r,...nX(t)}}):null};function nG({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:o,sourceControlY:i,targetControlX:a,targetControlY:s}){let l=.125*e+.375*o+.375*a+.125*n,u=.125*t+.375*i+.375*s+.125*r,c=Math.abs(l-e),d=Math.abs(u-t);return[l,u,c,d]}function nQ(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function nJ({pos:e,x1:t,y1:n,x2:r,y2:o,c:i}){switch(e){case g.Left:return[t-nQ(t-r,i),n];case g.Right:return[t+nQ(r-t,i),n];case g.Top:return[t,n-nQ(n-o,i)];case g.Bottom:return[t,n+nQ(o-n,i)]}}function n0({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:r,targetY:o,targetPosition:i=g.Top,curvature:a=.25}){let[s,l]=nJ({pos:n,x1:e,y1:t,x2:r,y2:o,c:a}),[u,c]=nJ({pos:i,x1:r,y1:o,x2:e,y2:t,c:a}),[d,h,f,p]=nG({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${s},${l} ${u},${c} ${r},${o}`,d,h,f,p]}function n1({sourceX:e,sourceY:t,targetX:n,targetY:r}){let o=Math.abs(n-e)/2,i=Math.abs(r-t)/2;return[n<e?n+o:n-o,r<t?r+i:r-i,o,i]}function n2({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:o=!1,zIndexMode:i="basic"}){if("manual"===i)return r;let a=Math.max(e.parentId||o&&e.selected?e.internals.z:0,t.parentId||o&&t.selected?t.internals.z:0);return(o&&n?r+1e3:r)+a}function n5({sourceNode:e,targetNode:t,width:n,height:r,transform:o}){let i=nb(nk(e),nk(t));return i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1),n_({x:-o[0]/o[2],y:-o[1]/o[2],width:n/o[2],height:r/o[2]},nC(i))>0}let n3=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,n4=(e,t,n={})=>{let r,o;if(!e.source||!e.target)return nj("006",t6.error006()),t;let i=n.getEdgeId||n3;return(o=r=ni(e)?{...e}:{...e,id:i(e)},t.some(e=>e.source===o.source&&e.target===o.target&&(e.sourceHandle===o.sourceHandle||!e.sourceHandle&&!o.sourceHandle)&&(e.targetHandle===o.targetHandle||!e.targetHandle&&!o.targetHandle)))?t:(null===r.sourceHandle&&delete r.sourceHandle,null===r.targetHandle&&delete r.targetHandle,t.concat(r))};function n6({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[o,i,a,s]=n1({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,o,i,a,s]}let n9={[g.Left]:{x:-1,y:0},[g.Right]:{x:1,y:0},[g.Top]:{x:0,y:-1},[g.Bottom]:{x:0,y:1}},n8=({source:e,sourcePosition:t=g.Bottom,target:n})=>t===g.Left||t===g.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},n7=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function re({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:r,targetY:o,targetPosition:i=g.Top,borderRadius:a=5,centerX:s,centerY:l,offset:u=20,stepPosition:c=.5}){let[d,h,f,p,m]=function({source:e,sourcePosition:t=g.Bottom,target:n,targetPosition:r=g.Top,center:o,offset:i,stepPosition:a}){let s,l,u=n9[t],c=n9[r],d={x:e.x+u.x*i,y:e.y+u.y*i},h={x:n.x+c.x*i,y:n.y+c.y*i},f=n8({source:d,sourcePosition:t,target:h}),p=0!==f.x?"x":"y",m=f[p],x=[],y={x:0,y:0},v={x:0,y:0},[,,b,w]=n1({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(u[p]*c[p]==-1){"x"===p?(s=o.x??d.x+(h.x-d.x)*a,l=o.y??(d.y+h.y)/2):(s=o.x??(d.x+h.x)/2,l=o.y??d.y+(h.y-d.y)*a);let e=[{x:s,y:d.y},{x:s,y:h.y}],t=[{x:d.x,y:l},{x:h.x,y:l}];x=u[p]===m?"x"===p?e:t:"x"===p?t:e}else{let o=[{x:d.x,y:h.y}],a=[{x:h.x,y:d.y}];if(x="x"===p?u.x===m?a:o:u.y===m?o:a,t===r){let t=Math.abs(e[p]-n[p]);if(t<=i){let r=Math.min(i-1,i-t);u[p]===m?y[p]=(d[p]>e[p]?-1:1)*r:v[p]=(h[p]>n[p]?-1:1)*r}}if(t!==r){let e="x"===p?"y":"x",t=u[p]===c[e],n=d[e]>h[e],r=d[e]<h[e];(1===u[p]&&(!t&&n||t&&r)||1!==u[p]&&(!t&&r||t&&n))&&(x="x"===p?o:a)}let f={x:d.x+y.x,y:d.y+y.y},g={x:h.x+v.x,y:h.y+v.y};Math.max(Math.abs(f.x-x[0].x),Math.abs(g.x-x[0].x))>=Math.max(Math.abs(f.y-x[0].y),Math.abs(g.y-x[0].y))?(s=(f.x+g.x)/2,l=x[0].y):(s=x[0].x,l=(f.y+g.y)/2)}return[[e,{x:d.x+y.x,y:d.y+y.y},...x,{x:h.x+v.x,y:h.y+v.y},n],s,l,b,w]}({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:o},targetPosition:i,center:{x:s,y:l},offset:u,stepPosition:c});return[d.reduce((e,t,n)=>e+(n>0&&n<d.length-1?function(e,t,n,r){let o=Math.min(n7(e,t)/2,n7(t,n)/2,r),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return`L${i} ${a}`;if(e.y===a){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${i+o*t},${a}Q ${i},${a} ${i},${a+o*r}`}let s=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${i},${a+o*l}Q ${i},${a} ${i+o*s},${a}`}(d[n-1],t,d[n+1],a):`${0===n?"M":"L"}${t.x} ${t.y}`),""),h,f,p,m]}function rt(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function rn(e){let{sourceNode:t,targetNode:n}=e;if(!rt(t)||!rt(n))return null;let r=t.internals.handleBounds||rr(t.handles),o=n.internals.handleBounds||rr(n.handles),i=ri(r?.source??[],e.sourceHandle),a=ri(e.connectionMode===c.Strict?o?.target??[]:(o?.target??[]).concat(o?.source??[]),e.targetHandle);if(!i||!a)return e.onError?.("008",t6.error008(!i?"source":"target",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=i?.position||g.Bottom,l=a?.position||g.Top,u=ro(t,i,s),d=ro(n,a,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:s,targetPosition:l}}function rr(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,"source"===r.type?t.push(r):"target"===r.type&&n.push(r);return{source:t,target:n}}function ro(e,t,n=g.Left,r=!1){let o=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:a,height:s}=t??n$(e);if(r)return{x:o+a/2,y:i+s/2};switch(t?.position??n){case g.Top:return{x:o+a/2,y:i};case g.Right:return{x:o+a,y:i+s/2};case g.Bottom:return{x:o+a/2,y:i+s};case g.Left:return{x:o,y:i+s/2}}}function ri(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function ra(e,t){if(!e)return"";if("string"==typeof e)return e;let n=t?`${t}__`:"";return`${n}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`}function rs(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:o}){let i=new Set;return e.reduce((e,a)=>([a.markerStart||r,a.markerEnd||o].forEach(r=>{if(r&&"object"==typeof r){let o=ra(r,t);i.has(o)||(e.push({id:o,color:r.color||n,...r}),i.add(o))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}function rl(e,t,n,r,o){let i=.5;"start"===o?i=0:"end"===o&&(i=1);let a=[(e.x+e.width*i)*t.zoom+t.x,e.y*t.zoom+t.y-r],s=[-100*i,-100];switch(n){case g.Right:a=[(e.x+e.width)*t.zoom+t.x+r,(e.y+e.height*i)*t.zoom+t.y],s=[0,-100*i];break;case g.Bottom:a[1]=(e.y+e.height)*t.zoom+t.y+r,s[1]=0;break;case g.Left:a=[e.x*t.zoom+t.x-r,(e.y+e.height*i)*t.zoom+t.y],s=[-100,-100*i]}return`translate(${a[0]}px, ${a[1]}px) translate(${s[0]}%, ${s[1]}%)`}let ru={left:0,center:50,right:100},rc={top:0,center:50,bottom:100};function rd(e,t,n,r="center",o="center"){return`translate(${e}px, ${t}px) scale(${1/n}) translate(${-(ru[r]??50)}%, ${-(rc[o]??50)}%)`}let rh={nodeOrigin:[0,0],nodeExtent:t9,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},rf={...rh,checkEquality:!0};function rp(e,t){let n={...e};for(let e in t)void 0!==t[e]&&(n[e]=t[e]);return n}function rg(e,t,n){let r=rp(rh,n);for(let n of e.values())if(n.parentId)ry(n,e,t,r);else{let e=nm(nl(n,r.nodeOrigin),nz(n.extent)?n.extent:r.nodeExtent,n$(n));n.internals.positionAbsolute=e}}function rm(e){return"manual"===e}function rx(e,t,n,r={}){let o=rp(rf,r),i={i:0},a=new Map(t),s=o?.elevateNodesOnSelect&&!rm(o.zIndexMode)?1e3:0,l=e.length>0;for(let u of(t.clear(),n.clear(),e)){let e=a.get(u.id);if(o.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=nm(nl(u,o.nodeOrigin),nz(u.extent)?u.extent:o.nodeExtent,n$(u));e={...o.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:function(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let o={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};"source"===t.type?n.push(o):"target"===t.type&&r.push(o)}return{source:n,target:r}}(u,e),z:rv(u,s,o.zIndexMode),userNode:u}},t.set(u.id,e)}void 0!==e.measured&&void 0!==e.measured.width&&void 0!==e.measured.height||e.hidden||(l=!1),u.parentId&&ry(e,t,n,r,i)}return l}function ry(e,t,n,r,o){let{elevateNodesOnSelect:i,nodeOrigin:a,nodeExtent:s,zIndexMode:l}=rp(rh,r),u=e.parentId,c=t.get(u);if(!c)return void console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);!function(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]]))}(e,n),o&&!c.parentId&&void 0===c.internals.rootParentIndex&&"auto"===l&&(c.internals.rootParentIndex=++o.i,c.internals.z=c.internals.z+10*o.i),o&&void 0!==c.internals.rootParentIndex&&(o.i=c.internals.rootParentIndex);let{x:d,y:h,z:f}=function(e,t,n,r,o,i){let{x:a,y:s}=t.internals.positionAbsolute,l=n$(e),u=nl(e,n),c=nz(e.extent)?nm(u,e.extent,l):u,d=nm({x:a+c.x,y:s+c.y},r,l);"parent"===e.extent&&(d=nx(d,l,t));let h=rv(e,o,i),f=t.internals.z??0;return{x:d.x,y:d.y,z:f>=h?f+1:h}}(e,c,a,s,i&&!rm(l)?1e3:0,l),{positionAbsolute:p}=e.internals,g=d!==p.x||h!==p.y;(g||f!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:g?{x:d,y:h}:p,z:f}})}function rv(e,t,n){let r=nE(e.zIndex)?e.zIndex:0;return rm(n)?r:r+(e.selected?t:0)}function rb(e,t,n,r=[0,0]){let o=[],i=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=nS(i.get(n.parentId)?.expandedRect??nN(e),n.rect);i.set(n.parentId,{expandedRect:r,parent:e})}return i.size>0&&i.forEach(({expandedRect:t,parent:i},a)=>{let s=i.internals.positionAbsolute,l=n$(i),u=i.origin??r,c=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,h=Math.max(l.width,Math.round(t.width)),f=Math.max(l.height,Math.round(t.height)),p=(h-l.width)*u[0],g=(f-l.height)*u[1];(c>0||d>0||p||g)&&(o.push({id:a,type:"position",position:{x:i.position.x-c+p,y:i.position.y-d+g}}),n.get(a)?.forEach(t=>{e.some(e=>e.id===t.id)||o.push({id:t.id,type:"position",position:{x:t.position.x+c,y:t.position.y+d}})})),(l.width<t.width||l.height<t.height||c||d)&&o.push({id:a,type:"dimensions",setAttributes:!0,dimensions:{width:h+(c?u[0]*c-p:0),height:f+(d?u[1]*d-g:0)}})}),o}function rw(e,t,n,r,o,i,a){let s=r?.querySelector(".xyflow__viewport"),l=!1;if(!s)return{changes:[],updatedInternals:l};let u=[],c=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(c.transform),h=[];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}}),l=!0;continue}let s=nX(r.nodeElement),c=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(c||!e.internals.handleBounds||r.force)){let f=r.nodeElement.getBoundingClientRect(),p=nz(e.extent)?e.extent:i,{positionAbsolute:g}=e.internals;e.parentId&&"parent"===e.extent?g=nx(g,s,t.get(e.parentId)):p&&(g=nm(g,p,s));let m={...e,measured:s,internals:{...e.internals,positionAbsolute:g,handleBounds:{source:nU("source",r.nodeElement,f,d,e.id),target:nU("target",r.nodeElement,f,d,e.id)}}};t.set(e.id,m),e.parentId&&ry(m,t,n,{nodeOrigin:o,zIndexMode:a}),l=!0,c&&(u.push({id:e.id,type:"dimensions",dimensions:s}),e.expandParent&&e.parentId&&h.push({id:e.id,parentId:e.parentId,rect:nN(m,o)}))}}if(h.length>0){let e=rb(h,t,n,o);u.push(...e)}return{changes:u,updatedInternals:l}}async function rC({delta:e,panZoom:t,transform:n,translateExtent:r,width:o,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);let a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[o,i]],r);return Promise.resolve(!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]))}function rN(e,t,n,r,o,i){let a=o,s=r.get(a)||new Map;r.set(a,s.set(n,t)),a=`${o}-${e}`;let l=r.get(a)||new Map;if(r.set(a,l.set(n,t)),i){a=`${o}-${e}-${i}`;let s=r.get(a)||new Map;r.set(a,s.set(n,t))}}function rk(e,t,n){for(let r of(e.clear(),t.clear(),n)){let{source:n,target:o,sourceHandle:i=null,targetHandle:a=null}=r,s={edgeId:r.id,source:n,target:o,sourceHandle:i,targetHandle:a},l=`${n}-${i}--${o}-${a}`;rN("source",s,`${o}-${a}--${n}-${i}`,e,n,i),rN("target",s,l,e,o,a),t.set(r.id,r)}}function rS(e,t){if(null===e||null===t)return!1;let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e].id!==r[e].id||n[e].type!==r[e].type||!Object.is(n[e].data,r[e].data))return!1;return!0}function r_(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)break;r=r?.parentElement}while(r)return!1}function rM({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let o=[];for(let[e,i]of t){let t=n.get(e)?.internals.userNode;t&&o.push({...t,position:i.position,dragging:r})}if(!e)return[o[0],o];let i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:r}:o[0],o]}function rE({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:o}){let i={x:null,y:null},a=0,s=new Map,l=!1,u={x:0,y:0},c=null,d=!1,h=null,f=!1,p=!1,g=null;return{update:function({noDragClassName:m,handleSelector:x,domNode:y,isSelectable:v,nodeId:b,nodeClickDistance:w=0}){function C({x:e,y:n}){let{nodeLookup:o,nodeExtent:a,snapGrid:l,snapToGrid:u,nodeOrigin:c,onNodeDrag:d,onSelectionDrag:h,onError:f,updateNodePositions:m}=t();i={x:e,y:n};let x=!1,y=s.size>1,v=y&&a?nw(nc(s)):null,w=y&&u?function({dragItems:e,snapGrid:t,x:n,y:r}){let o=e.values().next().value;if(!o)return null;let i={x:n-o.distance.x,y:r-o.distance.y},a=nP(i,t);return{x:a.x-i.x,y:a.y-i.y}}({dragItems:s,snapGrid:l,x:e,y:n}):null;for(let[t,r]of s){if(!o.has(t))continue;let i={x:e-r.distance.x,y:n-r.distance.y};u&&(i=w?{x:Math.round(i.x+w.x),y:Math.round(i.y+w.y)}:nP(i,l));let s=null;if(y&&a&&!r.extent&&v){let{positionAbsolute:e}=r.internals,t=e.x-v.x+a[0][0],n=e.x+r.measured.width-v.x2+a[1][0];s=[[t,e.y-v.y+a[0][1]],[n,e.y+r.measured.height-v.y2+a[1][1]]]}let{position:d,positionAbsolute:h}=nf({nodeId:t,nextPosition:i,nodeLookup:o,nodeExtent:s||a,nodeOrigin:c,onError:f});x=x||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=h}if(p=p||x,x&&(m(s,!0),g&&(r||d||!b&&h))){let[e,t]=rM({nodeId:b,dragItems:s,nodeLookup:o});r?.(g,s,e,t),d?.(g,e,t),b||h?.(g,t)}}async function N(){if(!c)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:o}=t();if(!o){l=!1,cancelAnimationFrame(a);return}let[s,d]=nv(u,c,r);(0!==s||0!==d)&&(i.x=(i.x??0)-s/e[2],i.y=(i.y??0)-d/e[2],await n({x:s,y:d})&&C(i)),a=requestAnimationFrame(N)}function k(r){let{nodeLookup:o,multiSelectionActive:a,nodesDraggable:l,transform:u,snapGrid:h,snapToGrid:f,selectNodesOnDrag:p,onNodeDragStart:g,onSelectionDragStart:m,unselectNodesAndEdges:x}=t();d=!0,p&&v||a||!b||o.get(b)?.selected||x(),v&&p&&b&&e?.(b);let y=nV(r.sourceEvent,{transform:u,snapGrid:h,snapToGrid:f,containerBounds:c});if(i=y,(s=function(e,t,n,r){let o=new Map;for(let[i,a]of e)if((a.selected||a.id===r)&&(!a.parentId||!function e(t,n){if(!t.parentId)return!1;let r=n.get(t.parentId);return!!r&&(!!r.selected||e(r,n))}(a,e))&&(a.draggable||t&&void 0===a.draggable)){let t=e.get(i);t&&o.set(i,{id:i,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 o}(o,l,y,b)).size>0&&(n||g||!b&&m)){let[e,t]=rM({nodeId:b,dragItems:s,nodeLookup:o});n?.(r.sourceEvent,s,e,t),g?.(r.sourceEvent,e,t),b||m?.(r.sourceEvent,t)}}h=eh(y);let S=e_().clickDistance(w).on("start",e=>{let{domNode:n,nodeDragThreshold:r,transform:o,snapGrid:a,snapToGrid:s}=t();c=n?.getBoundingClientRect()||null,f=!1,p=!1,g=e.sourceEvent,0===r&&k(e),i=nV(e.sourceEvent,{transform:o,snapGrid:a,snapToGrid:s,containerBounds:c}),u=nW(e.sourceEvent,c)}).on("drag",e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:o,snapToGrid:a,nodeDragThreshold:h,nodeLookup:p}=t(),m=nV(e.sourceEvent,{transform:r,snapGrid:o,snapToGrid:a,containerBounds:c});if(g=e.sourceEvent,("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1||b&&!p.has(b))&&(f=!0),!f){if(!l&&n&&d&&(l=!0,N()),!d){let t=nW(e.sourceEvent,c),n=t.x-u.x,r=t.y-u.y;Math.sqrt(n*n+r*r)>h&&k(e)}(i.x!==m.xSnapped||i.y!==m.ySnapped)&&s&&d&&(u=nW(e.sourceEvent,c),C(m))}}).on("end",e=>{if(d&&!f&&(l=!1,d=!1,cancelAnimationFrame(a),s.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:i,onSelectionDragStop:a}=t();if(p&&(r(s,!1),p=!1),o||i||!b&&a){let[t,r]=rM({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});o?.(e.sourceEvent,s,t,r),i?.(e.sourceEvent,t,r),b||a?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!m||!r_(t,`.${m}`,y))&&(!x||r_(t,x,y))});h.call(S)},destroy:function(){h?.on(".drag",null)}}}function rj(e,t,n,r,o,i=!1){let a=r.get(e);if(!a)return null;let s="strict"===o?a.internals.handleBounds?.[t]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],l=(n?s?.find(e=>e.id===n):s?.[0])??null;return l&&i?{...l,...ro(a,l,l.position,!0)}:l}function rP(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}let rD=()=>!0;function rI(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:o,fromType:i,doc:a,lib:s,flowId:l,isValidConnection:u=rD,nodeLookup:d}){let h="target"===i,f=t?a.querySelector(`.${s}-flow__handle[data-id="${l}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:g}=nW(e),m=a.elementFromPoint(p,g),x=m?.classList.contains(`${s}-flow__handle`)?m:f,y={handleDomNode:x,isValid:!1,connection:null,toHandle:null};if(x){let e=rP(void 0,x),t=x.getAttribute("data-nodeid"),i=x.getAttribute("data-handleid"),a=x.classList.contains("connectable"),s=x.classList.contains("connectableend");if(!t||!e)return y;let l={source:h?t:r,sourceHandle:h?i:o,target:h?r:t,targetHandle:h?o:i};y.connection=l,y.isValid=a&&s&&(n===c.Strict?h&&"source"===e||!h&&"target"===e:t!==r||i!==o)&&u(l),y.toHandle=rj(t,e,i,d,n,!0)}return y}let rA={onPointerDown:function(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:o,edgeUpdaterType:i,isTarget:a,domNode:s,nodeLookup:l,lib:u,autoPanOnConnect:c,flowId:d,panBy:h,cancelConnection:f,onConnectStart:p,onConnect:m,onConnectEnd:x,isValidConnection:y=rD,onReconnectEnd:v,updateConnection:b,getTransform:w,getFromHandle:C,autoPanSpeed:N,dragThreshold:k=1,handleDomNode:S}){let _,M=nq(e.target),E=0,{x:j,y:P}=nW(e),D=rP(i,S),I=s?.getBoundingClientRect(),A=!1;if(!I||!D)return;let R=rj(o,D,r,l,t);if(!R)return;let T=nW(e,I),z=!1,$=null,L=!1,O=null,B={...R,nodeId:o,type:D,position:R.position},H=l.get(o),F={inProgress:!0,isValid:null,from:ro(H,B,g.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:H,to:T,toHandle:null,toPosition:nt[B.position],toNode:null,pointer:T};function V(){A=!0,b(F),p?.(e,{nodeId:o,handleId:r,handleType:D})}function X(e){var i,s;let f;if(!A){let{x:t,y:n}=nW(e),r=t-j,o=n-P;if(!(r*r+o*o>k*k))return;V()}if(!C()||!B)return void q(e);let p=w();_=function(e,t,n,r){let o=[],i=1/0;for(let a of function(e,t,n){let r=[],o={x:e.x-n,y:e.y-n,width:2*n,height:2*n};for(let e of t.values())n_(o,nN(e))>0&&r.push(e);return r}(e,n,t+250))for(let n of[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]]){if(r.nodeId===n.nodeId&&r.type===n.type&&r.id===n.id)continue;let{x:s,y:l}=ro(a,n,n.position,!0),u=Math.sqrt(Math.pow(s-e.x,2)+Math.pow(l-e.y,2));u>t||(u<i?(o=[{...n,x:s,y:l}],i=u):u===i&&o.push({...n,x:s,y:l}))}if(!o.length)return null;if(o.length>1){let e="source"===r.type?"target":"source";return o.find(t=>t.type===e)??o[0]}return o[0]}(nD(T=nW(e,I),p,!1,[1,1]),n,l,B),z||(!function e(){if(!c||!I)return;let[t,n]=nv(T,I,N);h({x:t,y:n}),E=requestAnimationFrame(e)}(),z=!0);let m=rI(e,{handle:_,connectionMode:t,fromNodeId:o,fromHandleId:r,fromType:a?"target":"source",isValidConnection:y,doc:M,lib:u,flowId:d,nodeLookup:l});O=m.handleDomNode,$=m.connection,i=!!_,s=m.isValid,f=null,s?f=!0:i&&!s&&(f=!1),L=f;let x=l.get(o),v=x?ro(x,B,g.Left,!0):F.from,S={...F,from:v,isValid:L,to:m.toHandle&&L?nI({x:m.toHandle.x,y:m.toHandle.y},p):T,toHandle:m.toHandle,toPosition:L&&m.toHandle?m.toHandle.position:nt[B.position],toNode:m.toHandle?l.get(m.toHandle.nodeId):null,pointer:T};b(S),F=S}function q(e){if(!("touches"in e)||!(e.touches.length>0)){if(A){(_||O)&&$&&L&&m?.($);let{inProgress:t,...n}=F,r={...n,toPosition:F.toHandle?F.toPosition:null};x?.(e,r),i&&v?.(e,r)}f(),cancelAnimationFrame(E),z=!1,L=!1,$=null,O=null,M.removeEventListener("mousemove",X),M.removeEventListener("mouseup",q),M.removeEventListener("touchmove",X),M.removeEventListener("touchend",q)}}0===k&&V(),M.addEventListener("mousemove",X),M.addEventListener("mouseup",q),M.addEventListener("touchmove",X),M.addEventListener("touchend",q)},isValid:rI};function rR({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let o=eh(e);return{update:function({translateExtent:e,width:i,height:a,zoomStep:s=1,pannable:l=!0,zoomable:u=!0,inversePan:c=!1}){let d=[0,0],h=t3().on("start",e=>{("mousedown"===e.sourceEvent.type||"touchstart"===e.sourceEvent.type)&&(d=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on("zoom",l?o=>{let s=n();if("mousemove"!==o.sourceEvent.type&&"touchmove"!==o.sourceEvent.type||!t)return;let l=[o.sourceEvent.clientX??o.sourceEvent.touches[0].clientX,o.sourceEvent.clientY??o.sourceEvent.touches[0].clientY],u=[l[0]-d[0],l[1]-d[1]];d=l;let h=r()*Math.max(s[2],Math.log(s[2]))*(c?-1:1),f={x:s[0]-u[0]*h,y:s[1]-u[1]*h};t.setViewportConstrained({x:f.x,y:f.y,zoom:s[2]},[[0,0],[i,a]],e)}:null).on("zoom.wheel",u?e=>{if("wheel"!==e.sourceEvent.type||!t)return;let r=n(),o=e.sourceEvent.ctrlKey&&nT()?10:1,i=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*s,a=r[2]*Math.pow(2,i*o);t.scaleTo(a)}:null);o.call(h,{})},destroy:function(){o.on("zoom",null)},pointer:ef}}let rT=e=>({x:e.x,y:e.y,zoom:e.k}),rz=({x:e,y:t,zoom:n})=>tZ.translate(e,t).scale(n),r$=(e,t)=>e.target.closest(`.${t}`),rL=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),rO=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,rB=(e,t=0,n=rO,r=()=>{})=>{let o="number"==typeof t&&t>0;return o||r(),o?e.transition().duration(t).ease(n).on("end",r):e},rH=e=>{let t=e.ctrlKey&&nT()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t};function rF({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:o,onPanZoom:i,onPanZoomStart:a,onPanZoomEnd:s,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},c=e.getBoundingClientRect(),h=t3().scaleExtent([t,n]).translateExtent(r),f=eh(e).call(h);y({x:o.x,y:o.y,zoom:ng(o.zoom,t,n)},[[0,0],[c.width,c.height]],r);let p=f.on("wheel.zoom"),g=f.on("dblclick.zoom");function m(e,t){return f?new Promise(n=>{h?.interpolate(t?.interpolate==="linear"?t4:eE).transform(rB(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)}function x(){h.on("zoom",null)}async function y(e,t,n){let r=rz(e),o=h?.constrain()(r,t,n);return o&&await m(o),new Promise(e=>e(o))}return h.wheelDelta(rH),{update:function({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:o,panOnDrag:c,panOnScrollMode:m,panOnScrollSpeed:y,preventScrolling:v,zoomOnPinch:b,zoomOnScroll:w,zoomOnDoubleClick:C,zoomActivationKeyPressed:N,lib:k,onTransformChange:S,connectionInProgress:_,paneClickDistance:M,selectionOnDrag:E}){r&&!u.isZoomingOrPanning&&x();let j=o&&!N&&!r;h.clickDistance(E?1/0:!nE(M)||M<0?0:M);let P=j?function({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:o,panOnScrollSpeed:i,zoomOnPinch:a,onPanZoomStart:s,onPanZoom:l,onPanZoomEnd:u}){return c=>{if(r$(c,t))return c.ctrlKey&&c.preventDefault(),!1;c.preventDefault(),c.stopImmediatePropagation();let h=n.property("__zoom").k||1;if(c.ctrlKey&&a){let e=ef(c),t=h*Math.pow(2,rH(c));r.scaleTo(n,t,e,c);return}let f=1===c.deltaMode?20:1,p=o===d.Vertical?0:c.deltaX*f,g=o===d.Horizontal?0:c.deltaY*f;!nT()&&c.shiftKey&&o!==d.Vertical&&(p=c.deltaY*f,g=0),r.translateBy(n,-(p/h)*i,-(g/h)*i,{internal:!0});let m=rT(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l?.(c,m),e.panScrollTimeout=setTimeout(()=>{u?.(c,m),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,s?.(c,m))}}({zoomPanValues:u,noWheelClassName:e,d3Selection:f,d3Zoom:h,panOnScrollMode:m,panOnScrollSpeed:y,zoomOnPinch:b,onPanZoomStart:a,onPanZoom:i,onPanZoomEnd:s}):function({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,o){let i="wheel"===r.type,a=!t&&i&&!r.ctrlKey,s=r$(r,e);if(r.ctrlKey&&i&&s&&r.preventDefault(),a||s)return null;r.preventDefault(),n.call(this,r,o)}}({noWheelClassName:e,preventScrolling:v,d3ZoomHandler:p});if(f.on("wheel.zoom",P,{passive:!1}),!r){let e=function({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let o=rT(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=o,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,o)}}({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:a});h.on("start",e);let t=function({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:o}){return i=>{e.usedRightMouseButton=!!(n&&rL(t,e.mouseButton??0)),i.sourceEvent?.sync||r([i.transform.x,i.transform.y,i.transform.k]),o&&!i.sourceEvent?.internal&&o?.(i.sourceEvent,rT(i.transform))}}({zoomPanValues:u,panOnDrag:c,onPaneContextMenu:!!n,onPanZoom:i,onTransformChange:S});h.on("zoom",t);let r=function({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:o,onPaneContextMenu:i}){return a=>{if(!a.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&rL(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),e.usedRightMouseButton=!1,r(!1),o)){let t=rT(a.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o?.(a.sourceEvent,t)},150*!!n)}}}({zoomPanValues:u,panOnDrag:c,panOnScroll:o,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:l});h.on("end",r)}let D=function({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:o,zoomOnDoubleClick:i,userSelectionActive:a,noWheelClassName:s,noPanClassName:l,lib:u,connectionInProgress:c}){return d=>{let h=e||t,f=n&&d.ctrlKey,p="wheel"===d.type;if(1===d.button&&"mousedown"===d.type&&(r$(d,`${u}-flow__node`)||r$(d,`${u}-flow__edge`)))return!0;if(!r&&!h&&!o&&!i&&!n||a||c&&!p||r$(d,s)&&p||r$(d,l)&&(!p||o&&p&&!e)||!n&&d.ctrlKey&&p)return!1;if(!n&&"touchstart"===d.type&&d.touches?.length>1)return d.preventDefault(),!1;if(!h&&!o&&!f&&p||!r&&("mousedown"===d.type||"touchstart"===d.type)||Array.isArray(r)&&!r.includes(d.button)&&"mousedown"===d.type)return!1;let g=Array.isArray(r)&&r.includes(d.button)||!d.button||d.button<=1;return(!d.ctrlKey||p)&&g}}({zoomActivationKeyPressed:N,panOnDrag:c,zoomOnScroll:w,panOnScroll:o,zoomOnDoubleClick:C,zoomOnPinch:b,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:k,connectionInProgress:_});h.filter(D),C?f.on("dblclick.zoom",g):f.on("dblclick.zoom",null)},destroy:x,setViewport:async function e(e,t){let n=rz(e);return await m(n,t),new Promise(e=>e(n))},setViewportConstrained:y,getViewport:function(){let e=f?tW(f.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}},scaleTo:function(e,t){return f?new Promise(n=>{h?.interpolate(t?.interpolate==="linear"?t4:eE).scaleTo(rB(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},scaleBy:function(e,t){return f?new Promise(n=>{h?.interpolate(t?.interpolate==="linear"?t4:eE).scaleBy(rB(f,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)},setScaleExtent:function(e){h?.scaleExtent(e)},setTranslateExtent:function(e){h?.translateExtent(e)},syncViewport:function(e){if(f){let t=rz(e),n=f.property("__zoom");(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&h?.transform(f,t,null,{sync:!0})}},setClickDistance:function(e){let t=!nE(e)||e<0?0:e;h?.clickDistance(t)}}}(s=m||(m={})).Line="line",s.Handle="handle";let rV=["top-left","top-right","bottom-left","bottom-right"],rX=["top","right","bottom","left"];function rq(e){let t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:e.includes("left"),affectsY:e.includes("top")}}function rY(e,t){return Math.max(0,t-e)}function rK(e,t){return Math.max(0,e-t)}function rZ(e,t,n){return Math.max(0,t-e,e-n)}let rW={width:0,height:0,x:0,y:0},rU={...rW,pointerX:0,pointerY:0,aspectRatio:1};function rG({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:o}){let i=eh(e),a={controlDirection:rq("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};return{update:function({controlPosition:e,boundaries:s,keepAspectRatio:l,resizeDirection:u,onResizeStart:c,onResize:d,onResizeEnd:h,shouldResize:f}){let p,g,m,x,y={...rW},v={...rU};a={boundaries:s,resizeDirection:u,keepAspectRatio:l,controlDirection:rq(e)};let b=null,w=[],C=!1,N=e_().on("start",e=>{let{nodeLookup:r,transform:o,snapGrid:i,snapToGrid:a,nodeOrigin:s,paneDomNode:l}=n();if(!(p=r.get(t)))return;b=l?.getBoundingClientRect()??null;let{xSnapped:u,ySnapped:d}=nV(e.sourceEvent,{transform:o,snapGrid:i,snapToGrid:a,containerBounds:b});if(v={...y={width:p.measured.width??0,height:p.measured.height??0,x:p.position.x??0,y:p.position.y??0},pointerX:u,pointerY:d,aspectRatio:y.width/y.height},g=void 0,p.parentId&&("parent"===p.extent||p.expandParent)){var h;m=(g=r.get(p.parentId))&&"parent"===p.extent?[[0,0],[(h=g).measured.width,h.measured.height]]:void 0}for(let[e,n]of(w=[],x=void 0,r))if(n.parentId===t&&(w.push({id:e,position:{...n.position},extent:n.extent}),"parent"===n.extent||n.expandParent)){let e=function(e,t,n){let r=t.position.x+e.position.x,o=t.position.y+e.position.y,i=e.measured.width??0,a=e.measured.height??0,s=n[0]*i,l=n[1]*a;return[[r-s,o-l],[r+i-s,o+a-l]]}(n,p,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}c?.(e,{...y})}).on("drag",e=>{let{transform:t,snapGrid:o,snapToGrid:i,nodeOrigin:s}=n(),l=nV(e.sourceEvent,{transform:t,snapGrid:o,snapToGrid:i,containerBounds:b}),u=[];if(!p)return;let{x:c,y:h,width:N,height:k}=y,S={},_=p.origin??s,{width:M,height:E,x:j,y:P}=function(e,t,n,r,o,i,a,s){var l,u,c,d;let{affectsX:h,affectsY:f}=t,{isHorizontal:p,isVertical:g}=t,m=p&&g,{xSnapped:x,ySnapped:y}=n,{minWidth:v,maxWidth:b,minHeight:w,maxHeight:C}=r,{x:N,y:k,width:S,height:_,aspectRatio:M}=e,E=Math.floor(p?x-e.pointerX:0),j=Math.floor(g?y-e.pointerY:0),P=S+(h?-E:E),D=_+(f?-j:j),I=-i[0]*S,A=-i[1]*_,R=rZ(P,v,b),T=rZ(D,w,C);if(a){let e=0,t=0;h&&E<0?e=rY(N+E+I,a[0][0]):!h&&E>0&&(e=rK(N+P+I,a[1][0])),f&&j<0?t=rY(k+j+A,a[0][1]):!f&&j>0&&(t=rK(k+D+A,a[1][1])),R=Math.max(R,e),T=Math.max(T,t)}if(s){let e=0,t=0;h&&E>0?e=rK(N+E,s[0][0]):!h&&E<0&&(e=rY(N+P,s[1][0])),f&&j>0?t=rK(k+j,s[0][1]):!f&&j<0&&(t=rY(k+D,s[1][1])),R=Math.max(R,e),T=Math.max(T,t)}if(o){if(p){(R=Math.max(R,rZ(P/M,w,C)*M),a)&&(R=Math.max(R,(h||f)&&(!h||f||!m)?rY(k+A+(h?E:-E)/M,a[0][1])*M:rK(k+A+P/M,a[1][1])*M));s&&(R=Math.max(R,(h||f)&&(!h||f||!m)?rK(k+(h?E:-E)/M,s[0][1])*M:rY(k+P/M,s[1][1])*M))}if(g){(T=Math.max(T,rZ(D*M,v,b)/M),a)&&(T=Math.max(T,(h||f)&&(!f||h||!m)?rY(N+(f?j:-j)*M+I,a[0][0])/M:rK(N+D*M+I,a[1][0])/M));s&&(T=Math.max(T,(h||f)&&(!f||h||!m)?rK(N+(f?j:-j)*M,s[0][0])/M:rY(N+D*M,s[1][0])/M))}}j+=j<0?T:-T,E+=E<0?R:-R,o&&(m?P>D*M?j=((l=h,u=f,l?!u:u)?-E:E)/M:E=((c=h,d=f,c?!d:d)?-j:j)*M:p?(j=E/M,f=h):(E=j*M,h=f));let z=h?N+E:N,$=f?k+j:k;return{width:S+(h?-E:E),height:_+(f?-j:j),x:i[0]*E*(h?-1:1)+z,y:i[1]*j*(f?-1:1)+$}}(v,a.controlDirection,l,a.boundaries,a.keepAspectRatio,_,m,x),D=M!==N,I=E!==k,A=j!==c&&D,R=P!==h&&I;if(!A&&!R&&!D&&!I)return;if((A||R||1===_[0]||1===_[1])&&(S.x=A?j:y.x,S.y=R?P:y.y,y.x=S.x,y.y=S.y,w.length>0)){let e=j-c,t=P-h;for(let n of w)n.position={x:n.position.x-e+_[0]*(M-N),y:n.position.y-t+_[1]*(E-k)},u.push(n)}if((D||I)&&(S.width=D&&(!a.resizeDirection||"horizontal"===a.resizeDirection)?M:y.width,S.height=I&&(!a.resizeDirection||"vertical"===a.resizeDirection)?E:y.height,y.width=S.width,y.height=S.height),g&&p.expandParent){let e=_[0]*(S.width??0);S.x&&S.x<e&&(y.x=e,v.x=v.x-(S.x-e));let t=_[1]*(S.height??0);S.y&&S.y<t&&(y.y=t,v.y=v.y-(S.y-t))}let T=function({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:o,affectsY:i}){let a=e-t,s=n-r,l=[a>0?1:a<0?-1:0,s>0?1:s<0?-1:0];return a&&o&&(l[0]=-1*l[0]),s&&i&&(l[1]=-1*l[1]),l}({width:y.width,prevWidth:N,height:y.height,prevHeight:k,affectsX:a.controlDirection.affectsX,affectsY:a.controlDirection.affectsY}),z={...y,direction:T};!1!==f?.(e,z)&&(C=!0,d?.(e,z),r(S,u))}).on("end",e=>{C&&(h?.(e,{...y}),o?.({...y}),C=!1)});i.call(N)},destroy:function(){i.on(".drag",null)}}}e.s(["ConnectionLineType",()=>f,"ConnectionMode",()=>c,"MarkerType",()=>p,"PanOnScrollMode",()=>d,"Position",()=>g,"ResizeControlVariant",()=>m,"SelectionMode",()=>h,"XYDrag",()=>rE,"XYHandle",()=>rA,"XYMinimap",()=>rR,"XYPanZoom",()=>rF,"XYResizer",()=>rG,"XY_RESIZER_HANDLE_POSITIONS",()=>rV,"XY_RESIZER_LINE_POSITIONS",()=>rX,"addEdge",()=>n4,"adoptUserNodes",()=>rx,"areConnectionMapsEqual",()=>nn,"areSetsEqual",()=>nB,"calculateNodePosition",()=>nf,"createMarkerIds",()=>rs,"defaultAriaLabelConfig",()=>t7,"devWarn",()=>nj,"elementSelectionKeys",()=>t8,"errorMessages",()=>t6,"evaluateAbsolutePosition",()=>nO,"fitViewport",()=>nh,"getBezierEdgeCenter",()=>nG,"getBezierPath",()=>n0,"getBoundsOfRects",()=>nS,"getConnectionStatus",()=>no,"getDimensions",()=>nX,"getEdgePosition",()=>rn,"getEdgeToolbarTransform",()=>rd,"getElementsToRemove",()=>np,"getElevatedEdgeZIndex",()=>n2,"getEventPosition",()=>nW,"getHandlePosition",()=>ro,"getHostForElement",()=>nq,"getInternalNodesBounds",()=>nc,"getMarkerId",()=>ra,"getNodeDimensions",()=>n$,"getNodeToolbarTransform",()=>rl,"getNodesBounds",()=>nu,"getNodesInside",()=>nd,"getOverlappingArea",()=>n_,"getSmoothStepPath",()=>re,"getStraightPath",()=>n6,"getViewportForBounds",()=>nR,"handleConnectionChange",()=>nr,"handleExpandParent",()=>rb,"infiniteExtent",()=>t9,"initialConnection",()=>ne,"isEdgeBase",()=>ni,"isEdgeVisible",()=>n5,"isInputDOMNode",()=>nK,"isMacOs",()=>nT,"isMouseEvent",()=>nZ,"isNodeBase",()=>na,"isNumeric",()=>nE,"isRectObject",()=>nM,"mergeAriaLabelConfig",()=>nF,"nodeHasDimensions",()=>nL,"nodeToRect",()=>nN,"panBy",()=>rC,"pointToRendererPoint",()=>nD,"rendererPointToPoint",()=>nI,"shallowNodeData",()=>rS,"snapPosition",()=>nP,"updateAbsolutePositions",()=>rg,"updateConnectionLookup",()=>rk,"updateNodeInternals",()=>rw,"withResolvers",()=>nH],92002);var rQ=e.i(96482);let rJ={get url(){return`file://${e.P("node_modules/.pnpm/zustand@4.5.7_@types+react@19.2.10_react@19.2.4/node_modules/zustand/esm/vanilla.mjs")}`}},r0=e=>{let t,n=new Set,r=(e,r)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},o=()=>t,i={setState:r,getState:o,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{(rJ.env?rJ.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},a=t=e(r,o,i);return i},{useDebugValue:r1}=v.default,{useSyncExternalStoreWithSelector:r2}=rQ.default,r5=e=>e;function r3(e,t=r5,n){let r=r2(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return r1(r),r}let r4=(e,t)=>{let n=e?r0(e):r0,r=(e,r=t)=>r3(n,e,r);return Object.assign(r,n),r};function r6(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}e.i(26036);let r9=(0,v.createContext)(null),r8=r9.Provider,r7=t6.error001();function oe(e,t){let n=(0,v.useContext)(r9);if(null===n)throw Error(r7);return r3(n,e,t)}function ot(){let e=(0,v.useContext)(r9);if(null===e)throw Error(r7);return(0,v.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}let on={display:"none"},or={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},oo="react-flow__node-desc",oi="react-flow__edge-desc",oa=e=>e.ariaLiveMessage,os=e=>e.ariaLabelConfig;function ol({rfId:e}){let t=oe(oa);return(0,y.jsx)("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:or,children:t})}function ou({rfId:e,disableKeyboardA11y:t}){let n=oe(os);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("div",{id:`${oo}-${e}`,style:on,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),(0,y.jsx)("div",{id:`${oi}-${e}`,style:on,children:n["edge.a11yDescription.default"]}),!t&&(0,y.jsx)(ol,{rfId:e})]})}let oc=(0,v.forwardRef)(({position:e="top-left",children:t,className:n,style:r,...o},i)=>{let a=`${e}`.split("-");return(0,y.jsx)("div",{className:b(["react-flow__panel",n,...a]),style:r,ref:i,...o,children:t})});function od({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:(0,y.jsx)(oc,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:(0,y.jsx)("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}oc.displayName="Panel";let oh=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}},of=e=>e.id;function op(e,t){return r6(e.selectedNodes.map(of),t.selectedNodes.map(of))&&r6(e.selectedEdges.map(of),t.selectedEdges.map(of))}function og({onSelectionChange:e}){let t=ot(),{selectedNodes:n,selectedEdges:r}=oe(oh,op);return(0,v.useEffect)(()=>{let o={nodes:n,edges:r};e?.(o),t.getState().onSelectionChangeHandlers.forEach(e=>e(o))},[n,r,e]),null}let om=e=>!!e.onSelectionChangeHandlers;function ox({onSelectionChange:e}){let t=oe(om);return e||t?(0,y.jsx)(og,{onSelectionChange:e}):null}let oy=[0,0],ov={x:0,y:0,zoom:1},ob=["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","rfId"],ow=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}),oC={translateExtent:t9,nodeOrigin:oy,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function oN(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:o,setTranslateExtent:i,setNodeExtent:a,reset:s,setDefaultNodesAndEdges:l}=oe(ow,r6),u=ot();(0,v.useEffect)(()=>(l(e.defaultNodes,e.defaultEdges),()=>{c.current=oC,s()}),[]);let c=(0,v.useRef)(oC);return(0,v.useEffect)(()=>{for(let s of ob){let l=e[s];l!==c.current[s]&&void 0!==e[s]&&("nodes"===s?t(l):"edges"===s?n(l):"minZoom"===s?r(l):"maxZoom"===s?o(l):"translateExtent"===s?i(l):"nodeExtent"===s?a(l):"ariaLabelConfig"===s?u.setState({ariaLabelConfig:nF(l)}):"fitView"===s?u.setState({fitViewQueued:l}):"fitViewOptions"===s?u.setState({fitViewOptions:l}):u.setState({[s]:l}))}c.current=e},ob.map(t=>e[t])),null}function ok(){return"u"<typeof window||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}let oS="u">typeof document?document:null;function o_(e=null,t={target:oS,actInsideInputWithModifier:!0}){let[n,r]=(0,v.useState)(!1),o=(0,v.useRef)(!1),i=(0,v.useRef)(new Set([])),[a,s]=(0,v.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.replace("+","\n").replace("\n\n","\n+").split("\n")),n=t.reduce((e,t)=>e.concat(...t),[]);return[t,n]}return[[],[]]},[e]);return(0,v.useEffect)(()=>{let n=t?.target??oS,l=t?.actInsideInputWithModifier??!0;if(null!==e){let e=e=>{if(o.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!o.current||o.current&&!l)&&nK(e))return!1;let n=oE(e.code,s);if(i.current.add(e[n]),oM(a,i.current,!1)){let n=e.composedPath?.()?.[0]||e.target,i=n?.nodeName==="BUTTON"||n?.nodeName==="A";!1!==t.preventDefault&&(o.current||!i)&&e.preventDefault(),r(!0)}},u=e=>{let t=oE(e.code,s);oM(a,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(e[t]),"Meta"===e.key&&i.current.clear(),o.current=!1},c=()=>{i.current.clear(),r(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",u),window.addEventListener("blur",c),window.addEventListener("contextmenu",c),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",u),window.removeEventListener("blur",c),window.removeEventListener("contextmenu",c)}}},[e,r]),n}function oM(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function oE(e,t){return t.includes(e)?"code":"key"}function oj(e,t){let n=[],r=new Map,o=[];for(let t of e)if("add"===t.type){o.push(t);continue}else if("remove"===t.type||"replace"===t.type)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if("remove"===t[0].type)continue;if("replace"===t[0].type){n.push({...t[0].item});continue}let o={...e};for(let e of t){var i=e,a=o;switch(i.type){case"select":a.selected=i.selected;break;case"position":void 0!==i.position&&(a.position=i.position),void 0!==i.dragging&&(a.dragging=i.dragging);break;case"dimensions":void 0!==i.dimensions&&(a.measured={...i.dimensions},i.setAttributes&&((!0===i.setAttributes||"width"===i.setAttributes)&&(a.width=i.dimensions.width),(!0===i.setAttributes||"height"===i.setAttributes)&&(a.height=i.dimensions.height))),"boolean"==typeof i.resizing&&(a.resizing=i.resizing)}}n.push(o)}return o.length&&o.forEach(e=>{void 0!==e.index?n.splice(e.index,0,{...e.item}):n.push({...e.item})}),n}function oP(e,t){return{id:e,type:"select",selected:t}}function oD(e,t=new Set,n=!1){let r=[];for(let[o,i]of e){let e=t.has(o);(void 0!==i.selected||e)&&i.selected!==e&&(n&&(i.selected=e),r.push(oP(i.id,e)))}return r}function oI({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,o]of e.entries()){let e=t.get(o.id),i=e?.internals?.userNode??e;void 0!==i&&i!==o&&n.push({id:o.id,item:o,type:"replace"}),void 0===i&&n.push({item:o,type:"add",index:r})}for(let[e]of t)void 0===r.get(e)&&n.push({id:e,type:"remove"});return n}function oA(e){return{id:e.id,type:"remove"}}function oR(e){return(0,v.forwardRef)(e)}let oT="u">typeof window?v.useLayoutEffect:v.useEffect;function oz(e){let[t,n]=(0,v.useState)(BigInt(0)),[r]=(0,v.useState)(()=>{var e;let t;return e=()=>n(e=>e+BigInt(1)),t=[],{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}});return oT(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}let o$=(0,v.createContext)(null);function oL({children:e}){let t=ot(),n=oz((0,v.useCallback)(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:o,onNodesChange:i,nodeLookup:a,fitViewQueued:s,onNodesChangeMiddlewareMap:l}=t.getState(),u=n;for(let t of e)u="function"==typeof t?t(u):t;let c=oI({items:u,lookup:a});for(let e of l.values())c=e(c);o&&r(u),c.length>0?i?.(c):s&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=oz((0,v.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:o,onEdgesChange:i,edgeLookup:a}=t.getState(),s=n;for(let t of e)s="function"==typeof t?t(s):t;o?r(s):i&&i(oI({items:s,lookup:a}))},[])),o=(0,v.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,y.jsx)(o$.Provider,{value:o,children:e})}let oO=e=>!!e.panZoom;function oB(){let e,t=(e=ot(),(0,v.useMemo)(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,{duration:t?.duration}):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,{duration:n?.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,o,i],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??r,y:t.y??o,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:o,minZoom:i,maxZoom:a,panZoom:s}=e.getState(),l=nR(t,r,o,i,a,n?.padding??.1);return s?(await s.setViewport(l,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:o,snapToGrid:i,domNode:a}=e.getState();if(!a)return t;let{x:s,y:l}=a.getBoundingClientRect(),u={x:t.x-s,y:t.y-l},c=n.snapGrid??o;return nD(u,r,n.snapToGrid??i,c)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:o,y:i}=r.getBoundingClientRect(),a=nI(t,n);return{x:a.x+o,y:a.y+i}}}),[])),n=ot(),r=function(){let e=(0,v.useContext)(o$);if(!e)throw Error("useBatchContext must be used within a BatchProvider");return e}(),o=oe(oO),i=(0,v.useMemo)(()=>{let e=e=>n.getState().nodeLookup.get(e),t=e=>{r.nodeQueue.push(e)},o=e=>{r.edgeQueue.push(e)},i=e=>{let{nodeLookup:t,nodeOrigin:r}=n.getState(),o=na(e)?e:t.get(e.id),i=o.parentId?nO(o.position,o.measured,o.parentId,t,r):o.position;return nN({...o,position:i,width:o.measured?.width??o.width,height:o.measured?.height??o.height})},a=(e,n,r={replace:!1})=>{t(t=>t.map(t=>{if(t.id===e){let e="function"==typeof n?n(t):n;return r.replace&&na(e)?e:{...t,...e}}return t}))},s=(e,t,n={replace:!1})=>{o(r=>r.map(r=>{if(r.id===e){let e="function"==typeof t?t(r):t;return n.replace&&ni(e)?e:{...r,...e}}return r}))};return{getNodes:()=>n.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=n.getState();return e.map(e=>({...e}))},getEdge:e=>n.getState().edgeLookup.get(e),setNodes:t,setEdges:o,addNodes:e=>{let t=Array.isArray(e)?e:[e];r.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];r.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:t=[],transform:r}=n.getState(),[o,i,a]=r;return{nodes:e.map(e=>({...e})),edges:t.map(e=>({...e})),viewport:{x:o,y:i,zoom:a}}},deleteElements:async({nodes:e=[],edges:t=[]})=>{let{nodes:r,edges:o,onNodesDelete:i,onEdgesDelete:a,triggerNodeChanges:s,triggerEdgeChanges:l,onDelete:u,onBeforeDelete:c}=n.getState(),{nodes:d,edges:h}=await np({nodesToRemove:e,edgesToRemove:t,nodes:r,edges:o,onBeforeDelete:c}),f=h.length>0,p=d.length>0;if(f){let e=h.map(oA);a?.(h),l(e)}if(p){let e=d.map(oA);i?.(d),s(e)}return(p||f)&&u?.({nodes:d,edges:h}),{deletedNodes:d,deletedEdges:h}},getIntersectingNodes:(e,t=!0,r)=>{let o=nM(e),a=o?e:i(e),s=void 0!==r;return a?(r||n.getState().nodes).filter(r=>{let i=n.getState().nodeLookup.get(r.id);if(i&&!o&&(r.id===e.id||!i.internals.positionAbsolute))return!1;let l=nN(s?r:i),u=n_(l,a);return t&&u>0||u>=l.width*l.height||u>=a.width*a.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=nM(e)?e:i(e);if(!r)return!1;let o=n_(r,t);return n&&o>0||o>=t.width*t.height||o>=r.width*r.height},updateNode:a,updateNodeData:(e,t,n={replace:!1})=>{a(e,e=>{let r="function"==typeof t?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{let r="function"==typeof t?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:t,nodeOrigin:r}=n.getState();return nu(e,{nodeLookup:t,nodeOrigin:r})},getHandleConnections:({type:e,id:t,nodeId:r})=>Array.from(n.getState().connectionLookup.get(`${r}-${e}${t?`-${t}`:""}`)?.values()??[]),getNodeConnections:({type:e,handleId:t,nodeId:r})=>Array.from(n.getState().connectionLookup.get(`${r}${e?t?`-${e}-${t}`:`-${e}`:""}`)?.values()??[]),fitView:async e=>{let t=n.getState().fitViewResolver??nH();return n.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:t}),r.nodeQueue.push(e=>[...e]),t.promise}}},[]);return(0,v.useMemo)(()=>({...i,...t,viewportInitialized:o}),[o])}let oH=e=>e.selected,oF="u">typeof window?window:void 0,oV={position:"absolute",width:"100%",height:"100%",top:0,left:0},oX=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function oq({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:o=.5,panOnScrollMode:i=d.Free,zoomOnDoubleClick:a=!0,panOnDrag:s=!0,defaultViewport:l,translateExtent:u,minZoom:c,maxZoom:h,zoomActivationKeyCode:f,preventScrolling:p=!0,children:g,noWheelClassName:m,noPanClassName:x,onViewportChange:b,isControlledViewport:w,paneClickDistance:C,selectionOnDrag:N}){let k,S=ot(),_=(0,v.useRef)(null),{userSelectionActive:M,lib:E,connectionInProgress:j}=oe(oX,r6),P=o_(f),D=(0,v.useRef)();k=ot(),(0,v.useEffect)(()=>{let e=()=>{if(!_.current||!(_.current.checkVisibility?.()??!0))return!1;let e=nX(_.current);(0===e.height||0===e.width)&&k.getState().onError?.("004",t6.error004()),k.setState({width:e.width||500,height:e.height||500})};if(_.current){e(),window.addEventListener("resize",e);let t=new ResizeObserver(()=>e());return t.observe(_.current),()=>{window.removeEventListener("resize",e),t&&_.current&&t.unobserve(_.current)}}},[]);let I=(0,v.useCallback)(e=>{b?.({x:e[0],y:e[1],zoom:e[2]}),w||S.setState({transform:e})},[b,w]);return(0,v.useEffect)(()=>{if(_.current){D.current=rF({domNode:_.current,minZoom:c,maxZoom:h,translateExtent:u,viewport:l,onDraggingChange:e=>S.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=S.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=S.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=S.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=D.current.getViewport();return S.setState({panZoom:D.current,transform:[e,t,n],domNode:_.current.closest(".react-flow")}),()=>{D.current?.destroy()}}},[]),(0,v.useEffect)(()=>{D.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:o,panOnScrollMode:i,zoomOnDoubleClick:a,panOnDrag:s,zoomActivationKeyPressed:P,preventScrolling:p,noPanClassName:x,userSelectionActive:M,noWheelClassName:m,lib:E,onTransformChange:I,connectionInProgress:j,selectionOnDrag:N,paneClickDistance:C})},[e,t,n,r,o,i,a,s,P,p,x,M,m,E,I,j,N,C]),(0,y.jsx)("div",{className:"react-flow__renderer",ref:_,style:oV,children:g})}let oY=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function oK(){let{userSelectionActive:e,userSelectionRect:t}=oe(oY,r6);return e&&t?(0,y.jsx)("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}let oZ=(e,t)=>n=>{n.target===t.current&&e?.(n)},oW=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function oU({isSelecting:e,selectionKeyPressed:t,selectionMode:n=h.Full,panOnDrag:r,paneClickDistance:o,selectionOnDrag:i,onSelectionStart:a,onSelectionEnd:s,onPaneClick:l,onPaneContextMenu:u,onPaneScroll:c,onPaneMouseEnter:d,onPaneMouseMove:f,onPaneMouseLeave:p,children:g}){let m=ot(),{userSelectionActive:x,elementsSelectable:w,dragging:C,connectionInProgress:N}=oe(oW,r6),k=w&&(e||x),S=(0,v.useRef)(null),_=(0,v.useRef)(),M=(0,v.useRef)(new Set),E=(0,v.useRef)(new Set),j=(0,v.useRef)(!1),P=e=>{if(j.current||N){j.current=!1;return}l?.(e),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1})},D=!0===r||Array.isArray(r)&&r.includes(0);return(0,y.jsxs)("div",{className:b(["react-flow__pane",{draggable:D,dragging:C,selection:e}]),onClick:k?void 0:oZ(P,S),onContextMenu:oZ(e=>{Array.isArray(r)&&r?.includes(2)?e.preventDefault():u?.(e)},S),onWheel:oZ(c?e=>c(e):void 0,S),onPointerEnter:k?void 0:d,onPointerMove:k?e=>{let{userSelectionRect:r,transform:i,nodeLookup:s,edgeLookup:l,connectionLookup:u,triggerNodeChanges:c,triggerEdgeChanges:d,defaultEdgeOptions:f,resetSelectedElements:p}=m.getState();if(!_.current||!r)return;let{x:g,y:x}=nW(e.nativeEvent,_.current),{startX:y,startY:v}=r;if(!j.current){if(Math.hypot(g-y,x-v)<=(t?0:o))return;p(),a?.(e)}j.current=!0;let b={startX:y,startY:v,x:g<y?g:y,y:x<v?x:v,width:Math.abs(g-y),height:Math.abs(x-v)},w=M.current,C=E.current;M.current=new Set(nd(s,b,i,n===h.Partial,!0).map(e=>e.id)),E.current=new Set;let N=f?.selectable??!0;for(let e of M.current){let t=u.get(e);if(t)for(let{edgeId:e}of t.values()){let t=l.get(e);t&&(t.selectable??N)&&E.current.add(e)}}nB(w,M.current)||c(oD(s,M.current,!0)),nB(C,E.current)||d(oD(l,E.current)),m.setState({userSelectionRect:b,userSelectionActive:!0,nodesSelectionActive:!1})}:f,onPointerUp:k?e=>{0===e.button&&(e.target?.releasePointerCapture?.(e.pointerId),!x&&e.target===S.current&&m.getState().userSelectionRect&&P?.(e),m.setState({userSelectionActive:!1,userSelectionRect:null}),j.current&&(s?.(e),m.setState({nodesSelectionActive:M.current.size>0})))}:void 0,onPointerDownCapture:k?n=>{let{domNode:r}=m.getState();if(_.current=r?.getBoundingClientRect(),!_.current)return;let o=n.target===S.current;if(!o&&n.target.closest(".nokey")||!e||!(i&&o||t)||0!==n.button||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),j.current=!1;let{x:a,y:s}=nW(n.nativeEvent,_.current);m.setState({userSelectionRect:{width:0,height:0,startX:a,startY:s,x:a,y:s}}),o||(n.stopPropagation(),n.preventDefault())}:void 0,onClickCapture:k?e=>{j.current&&(e.stopPropagation(),j.current=!1)}:void 0,onPointerLeave:p,ref:S,style:oV,children:[g,(0,y.jsx)(oK,{})]})}function oG({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:o,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:s,onError:l}=t.getState(),u=s.get(e);u?(t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(i({nodes:[u],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):o([e])):l?.("012",t6.error012(e))}function oQ({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:o,isSelectable:i,nodeClickDistance:a}){let s=ot(),[l,u]=(0,v.useState)(!1),c=(0,v.useRef)();return(0,v.useEffect)(()=>{c.current=rE({getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{oG({id:t,store:s,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),(0,v.useEffect)(()=>{if(t)c.current?.destroy();else if(e.current)return c.current?.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:i,nodeId:o,nodeClickDistance:a}),()=>{c.current?.destroy()}},[n,r,t,i,e,o]),l}function oJ(){let e=ot();return(0,v.useCallback)(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:o,nodesDraggable:i,onError:a,updateNodePositions:s,nodeLookup:l,nodeOrigin:u}=e.getState(),c=new Map,d=e=>e.selected&&(e.draggable||i&&void 0===e.draggable),h=r?o[0]:5,f=r?o[1]:5,p=t.direction.x*h*t.factor,g=t.direction.y*f*t.factor;for(let[,e]of l){if(!d(e))continue;let t={x:e.internals.positionAbsolute.x+p,y:e.internals.positionAbsolute.y+g};r&&(t=nP(t,o));let{position:i,positionAbsolute:s}=nf({nodeId:e.id,nextPosition:t,nodeLookup:l,nodeExtent:n,nodeOrigin:u,onError:a});e.position=i,e.internals.positionAbsolute=s,c.set(e.id,e)}s(c)},[])}let o0=(0,v.createContext)(null),o1=o0.Provider;o0.Consumer;let o2=()=>(0,v.useContext)(o0),o5=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),o3=(0,v.memo)(oR(function({type:e="source",position:t=g.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:o=!0,isConnectableEnd:i=!0,id:a,onConnect:s,children:l,className:u,onMouseDown:d,onTouchStart:h,...f},p){let m=a||null,x="target"===e,v=ot(),w=o2(),{connectOnClick:C,noPanClassName:N,rfId:k}=oe(o5,r6),{connectingFrom:S,connectingTo:_,clickConnecting:M,isPossibleEndHandle:E,connectionInProcess:j,clickConnectionInProcess:P,valid:D}=oe(t=>{let{connectionClickStartHandle:n,connectionMode:r,connection:o}=t,{fromHandle:i,toHandle:a,isValid:s}=o,l=a?.nodeId===w&&a?.id===m&&a?.type===e;return{connectingFrom:i?.nodeId===w&&i?.id===m&&i?.type===e,connectingTo:l,clickConnecting:n?.nodeId===w&&n?.id===m&&n?.type===e,isPossibleEndHandle:r===c.Strict?i?.type!==e:w!==i?.nodeId||m!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!n,valid:l&&s}},r6);w||v.getState().onError?.("010",t6.error010());let I=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=v.getState(),o={...t,...e};if(r){let{edges:e,setEdges:t}=v.getState();t(n4(o,e))}n?.(o),s?.(o)},A=e=>{if(!w)return;let t=nZ(e.nativeEvent);if(o&&(t&&0===e.button||!t)){let t=v.getState();rA.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:x,handleId:m,nodeId:w,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:I,isValidConnection:n||t.isValidConnection,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?d?.(e):h?.(e)};return(0,y.jsx)("div",{"data-handleid":m,"data-nodeid":w,"data-handlepos":t,"data-id":`${k}-${w}-${m}-${e}`,className:b(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",N,u,{source:!x,target:x,connectable:r,connectablestart:o,connectableend:i,clickconnecting:M,connectingfrom:S,connectingto:_,valid:D,connectionindicator:r&&(!j||E)&&(j||P?i:o)}]),onMouseDown:A,onTouchStart:A,onClick:C?t=>{let{onClickConnectStart:r,onClickConnectEnd:i,connectionClickStartHandle:a,connectionMode:s,isValidConnection:l,lib:u,rfId:c,nodeLookup:d,connection:h}=v.getState();if(!w||!a&&!o)return;if(!a){r?.(t.nativeEvent,{nodeId:w,handleId:m,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:w,type:e,id:m}});return}let f=nq(t.target),p=n||l,{connection:g,isValid:x}=rA.isValid(t.nativeEvent,{handle:{nodeId:w,id:m,type:e},connectionMode:s,fromNodeId:a.nodeId,fromHandleId:a.id||null,fromType:a.type,isValidConnection:p,flowId:c,doc:f,lib:u,nodeLookup:d});x&&g&&I(g);let y=structuredClone(h);delete y.inProgress,y.toPosition=y.toHandle?y.toHandle.position:null,i?.(t,y),v.setState({connectionClickStartHandle:null})}:void 0,ref:p,...f,children:l})})),o4={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},o6={input:function({data:e,isConnectable:t,sourcePosition:n=g.Bottom}){return(0,y.jsxs)(y.Fragment,{children:[e?.label,(0,y.jsx)(o3,{type:"source",position:n,isConnectable:t})]})},default:function({data:e,isConnectable:t,targetPosition:n=g.Top,sourcePosition:r=g.Bottom}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(o3,{type:"target",position:n,isConnectable:t}),e?.label,(0,y.jsx)(o3,{type:"source",position:r,isConnectable:t})]})},output:function({data:e,isConnectable:t,targetPosition:n=g.Top}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(o3,{type:"target",position:n,isConnectable:t}),e?.label]})},group:function(){return null}},o9=e=>{let{width:t,height:n,x:r,y:o}=nc(e.nodeLookup,{filter:e=>!!e.selected});return{width:nE(t)?t:null,height:nE(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${o}px)`}};function o8({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=ot(),{width:o,height:i,transformString:a,userSelectionActive:s}=oe(o9,r6),l=oJ(),u=(0,v.useRef)(null);if((0,v.useEffect)(()=>{n||u.current?.focus({preventScroll:!0})},[n]),oQ({nodeRef:u}),s||!o||!i)return null;let c=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,y.jsx)("div",{className:b(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:(0,y.jsx)("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(o4,e.key)&&(e.preventDefault(),l({direction:o4[e.key],factor:e.shiftKey?4:1}))},style:{width:o,height:i}})})}let o7="u">typeof window?window:void 0,ie=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function it({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:a,paneClickDistance:s,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:c,selectionMode:d,onSelectionStart:h,onSelectionEnd:f,multiSelectionKeyCode:p,panActivationKeyCode:g,zoomActivationKeyCode:m,elementsSelectable:x,zoomOnScroll:b,zoomOnPinch:w,panOnScroll:C,panOnScrollSpeed:N,panOnScrollMode:k,zoomOnDoubleClick:S,panOnDrag:_,defaultViewport:M,translateExtent:E,minZoom:j,maxZoom:P,preventScrolling:D,onSelectionContextMenu:I,noWheelClassName:A,noPanClassName:R,disableKeyboardA11y:T,onViewportChange:z,isControlledViewport:$}){let{nodesSelectionActive:L,userSelectionActive:O}=oe(ie,r6),B=o_(u,{target:o7}),H=o_(g,{target:o7}),F=H||_,V=H||C,X=c&&!0!==F,q=B||O||X;return!function({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=ot(),{deleteElements:r}=oB(),o=o_(e,{actInsideInputWithModifier:!1}),i=o_(t,{target:oF});(0,v.useEffect)(()=>{if(o){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(oH),edges:e.filter(oH)}),n.setState({nodesSelectionActive:!1})}},[o]),(0,v.useEffect)(()=>{n.setState({multiSelectionActive:i})},[i])}({deleteKeyCode:l,multiSelectionKeyCode:p}),(0,y.jsx)(oq,{onPaneContextMenu:i,elementsSelectable:x,zoomOnScroll:b,zoomOnPinch:w,panOnScroll:V,panOnScrollSpeed:N,panOnScrollMode:k,zoomOnDoubleClick:S,panOnDrag:!B&&F,defaultViewport:M,translateExtent:E,minZoom:j,maxZoom:P,zoomActivationKeyCode:m,preventScrolling:D,noWheelClassName:A,noPanClassName:R,onViewportChange:z,isControlledViewport:$,paneClickDistance:s,selectionOnDrag:X,children:(0,y.jsxs)(oU,{onSelectionStart:h,onSelectionEnd:f,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:o,onPaneContextMenu:i,onPaneScroll:a,panOnDrag:F,isSelecting:!!q,selectionMode:d,selectionKeyPressed:B,paneClickDistance:s,selectionOnDrag:X,children:[e,L&&(0,y.jsx)(o8,{onSelectionContextMenu:I,noPanClassName:R,disableKeyboardA11y:T})]})})}it.displayName="FlowRenderer";let ir=(0,v.memo)(it),io=e=>e.updateNodeInternals;var ii=(0,v.memo)(function({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onContextMenu:i,onDoubleClick:a,nodesDraggable:s,elementsSelectable:l,nodesConnectable:u,nodesFocusable:c,resizeObserver:d,noDragClassName:h,noPanClassName:f,disableKeyboardA11y:p,rfId:g,nodeTypes:m,nodeClickDistance:x,onError:w}){let{node:C,internals:N,isParent:k}=oe(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},r6),S=C.type||"default",_=m?.[S]||o6[S];void 0===_&&(w?.("003",t6.error003(S)),S="default",_=m?.default||o6.default);let M=!!(C.draggable||s&&void 0===C.draggable),E=!!(C.selectable||l&&void 0===C.selectable),j=!!(C.connectable||u&&void 0===C.connectable),P=!!(C.focusable||c&&void 0===C.focusable),D=ot(),I=nL(C),A=function({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let o=ot(),i=(0,v.useRef)(null),a=(0,v.useRef)(null),s=(0,v.useRef)(e.sourcePosition),l=(0,v.useRef)(e.targetPosition),u=(0,v.useRef)(t),c=n&&!!e.internals.handleBounds;return(0,v.useEffect)(()=>{!i.current||e.hidden||c&&a.current===i.current||(a.current&&r?.unobserve(a.current),r?.observe(i.current),a.current=i.current)},[c,e.hidden]),(0,v.useEffect)(()=>()=>{a.current&&(r?.unobserve(a.current),a.current=null)},[]),(0,v.useEffect)(()=>{if(i.current){let n=u.current!==t,r=s.current!==e.sourcePosition,a=l.current!==e.targetPosition;(n||r||a)&&(u.current=t,s.current=e.sourcePosition,l.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}({node:C,nodeType:S,hasDimensions:I,resizeObserver:d}),R=oQ({nodeRef:A,disabled:C.hidden||!M,noDragClassName:h,handleSelector:C.dragHandle,nodeId:e,isSelectable:E,nodeClickDistance:x}),T=oJ();if(C.hidden)return null;let z=n$(C),$=void 0===C.internals.handleBounds?{width:C.width??C.initialWidth??C.style?.width,height:C.height??C.initialHeight??C.style?.height}:{width:C.width??C.style?.width,height:C.height??C.style?.height},L=E||M||t||n||r||o,O=n?e=>n(e,{...N.userNode}):void 0,B=r?e=>r(e,{...N.userNode}):void 0,H=o?e=>o(e,{...N.userNode}):void 0,F=i?e=>i(e,{...N.userNode}):void 0,V=a?e=>a(e,{...N.userNode}):void 0;return(0,y.jsx)("div",{className:b(["react-flow__node",`react-flow__node-${S}`,{[f]:M},C.className,{selected:C.selected,selectable:E,parent:k,draggable:M,dragging:R}]),ref:A,style:{zIndex:N.z,transform:`translate(${N.positionAbsolute.x}px,${N.positionAbsolute.y}px)`,pointerEvents:L?"all":"none",visibility:I?"visible":"hidden",...C.style,...$},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:O,onMouseMove:B,onMouseLeave:H,onContextMenu:F,onClick:n=>{let{selectNodesOnDrag:r,nodeDragThreshold:o}=D.getState();E&&(!r||!M||o>0)&&oG({id:e,store:D,nodeRef:A}),t&&t(n,{...N.userNode})},onDoubleClick:V,onKeyDown:P?t=>{if(!nK(t.nativeEvent)&&!p){if(t8.includes(t.key)&&E)oG({id:e,store:D,unselect:"Escape"===t.key,nodeRef:A});else if(M&&C.selected&&Object.prototype.hasOwnProperty.call(o4,t.key)){t.preventDefault();let{ariaLabelConfig:e}=D.getState();D.setState({ariaLiveMessage:e["node.a11yDescription.ariaLiveMessage"]({direction:t.key.replace("Arrow","").toLowerCase(),x:~~N.positionAbsolute.x,y:~~N.positionAbsolute.y})}),T({direction:o4[t.key],factor:t.shiftKey?4:1})}}}:void 0,tabIndex:P?0:void 0,onFocus:P?()=>{if(p||!A.current?.matches(":focus-visible"))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:o,setCenter:i}=D.getState();!o||nd(new Map([[e,C]]),{x:0,y:0,width:n,height:r},t,!0).length>0||i(C.position.x+z.width/2,C.position.y+z.height/2,{zoom:t[2]})}:void 0,role:C.ariaRole??(P?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${oo}-${g}`,"aria-label":C.ariaLabel,...C.domAttributes,children:(0,y.jsx)(o1,{value:e,children:(0,y.jsx)(_,{id:e,data:C.data,type:S,positionAbsoluteX:N.positionAbsolute.x,positionAbsoluteY:N.positionAbsolute.y,selected:C.selected??!1,selectable:E,draggable:M,deletable:C.deletable??!0,isConnectable:j,sourcePosition:C.sourcePosition,targetPosition:C.targetPosition,dragging:R,dragHandle:C.dragHandle,zIndex:N.z,parentId:C.parentId,...z})})})});let ia=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function is(e){var t;let{nodesDraggable:n,nodesConnectable:r,nodesFocusable:o,elementsSelectable:i,onError:a}=oe(ia,r6),s=(t=e.onlyRenderVisibleElements,oe((0,v.useCallback)(e=>t?nd(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(e=>e.id):Array.from(e.nodeLookup.keys()),[t]),r6)),l=function(){let e=oe(io),[t]=(0,v.useState)(()=>"u"<typeof ResizeObserver?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,v.useEffect)(()=>()=>{t?.disconnect()},[t]),t}();return(0,y.jsx)("div",{className:"react-flow__nodes",style:oV,children:s.map(t=>(0,y.jsx)(ii,{id:t,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:l,nodesDraggable:n,nodesConnectable:r,nodesFocusable:o,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:a},t))})}is.displayName="NodeRenderer";let il=(0,v.memo)(is),iu={[p.Arrow]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,y.jsx)("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},[p.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,y.jsx)("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})}},ic=({id:e,type:t,color:n,width:r=12.5,height:o=12.5,markerUnits:i="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{let l,u=(l=ot(),(0,v.useMemo)(()=>Object.prototype.hasOwnProperty.call(iu,t)?iu[t]:(l.getState().onError?.("009",t6.error009(t)),null),[t]));return u?(0,y.jsx)("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:s,refX:"0",refY:"0",children:(0,y.jsx)(u,{color:n,strokeWidth:a})}):null},id=({defaultColor:e,rfId:t})=>{let n=oe(e=>e.edges),r=oe(e=>e.defaultEdgeOptions),o=(0,v.useMemo)(()=>rs(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return o.length?(0,y.jsx)("svg",{className:"react-flow__marker","aria-hidden":"true",children:(0,y.jsx)("defs",{children:o.map(e=>(0,y.jsx)(ic,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};id.displayName="MarkerDefinitions";var ih=(0,v.memo)(id);function ip({x:e,y:t,label:n,labelStyle:r,labelShowBg:o=!0,labelBgStyle:i,labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:l,className:u,...c}){let[d,h]=(0,v.useState)({x:1,y:0,width:0,height:0}),f=b(["react-flow__edge-textwrapper",u]),p=(0,v.useRef)(null);return((0,v.useEffect)(()=>{if(p.current){let e=p.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n)?(0,y.jsxs)("g",{transform:`translate(${e-d.width/2} ${t-d.height/2})`,className:f,visibility:d.width?"visible":"hidden",...c,children:[o&&(0,y.jsx)("rect",{width:d.width+2*a[0],x:-a[0],y:-a[1],height:d.height+2*a[1],className:"react-flow__edge-textbg",style:i,rx:s,ry:s}),(0,y.jsx)("text",{className:"react-flow__edge-text",y:d.height/2,dy:"0.3em",ref:p,style:r,children:n}),l]}):null}ip.displayName="EdgeText";let ig=(0,v.memo)(ip);function im({path:e,labelX:t,labelY:n,label:r,labelStyle:o,labelShowBg:i,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:l,interactionWidth:u=20,...c}){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("path",{...c,d:e,fill:"none",className:b(["react-flow__edge-path",c.className])}),u?(0,y.jsx)("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,r&&nE(t)&&nE(n)?(0,y.jsx)(ig,{x:t,y:n,label:r,labelStyle:o,labelShowBg:i,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:l}):null]})}function ix({pos:e,x1:t,y1:n,x2:r,y2:o}){return e===g.Left||e===g.Right?[.5*(t+r),n]:[t,.5*(n+o)]}function iy({sourceX:e,sourceY:t,sourcePosition:n=g.Bottom,targetX:r,targetY:o,targetPosition:i=g.Top}){let[a,s]=ix({pos:n,x1:e,y1:t,x2:r,y2:o}),[l,u]=ix({pos:i,x1:r,y1:o,x2:e,y2:t}),[c,d,h,f]=nG({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:u});return[`M${e},${t} C${a},${s} ${l},${u} ${r},${o}`,c,d,h,f]}function iv(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:a,targetPosition:s,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})=>{let[v,b,w]=iy({sourceX:n,sourceY:r,sourcePosition:a,targetX:o,targetY:i,targetPosition:s}),C=e.isInternal?void 0:t;return(0,y.jsx)(im,{id:C,path:v,labelX:b,labelY:w,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})})}let ib=iv({isInternal:!1}),iw=iv({isInternal:!0});function iC(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:h,sourcePosition:f=g.Bottom,targetPosition:p=g.Top,markerEnd:m,markerStart:x,pathOptions:v,interactionWidth:b})=>{let[w,C,N]=re({sourceX:n,sourceY:r,sourcePosition:f,targetX:o,targetY:i,targetPosition:p,borderRadius:v?.borderRadius,offset:v?.offset,stepPosition:v?.stepPosition}),k=e.isInternal?void 0:t;return(0,y.jsx)(im,{id:k,path:w,labelX:C,labelY:N,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:h,markerEnd:m,markerStart:x,interactionWidth:b})})}ib.displayName="SimpleBezierEdge",iw.displayName="SimpleBezierEdgeInternal";let iN=iC({isInternal:!1}),ik=iC({isInternal:!0});function iS(e){return(0,v.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,y.jsx)(iN,{...n,id:r,pathOptions:(0,v.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}iN.displayName="SmoothStepEdge",ik.displayName="SmoothStepEdgeInternal";let i_=iS({isInternal:!1}),iM=iS({isInternal:!0});function iE(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:h,markerEnd:f,markerStart:p,interactionWidth:g})=>{let[m,x,v]=n6({sourceX:n,sourceY:r,targetX:o,targetY:i}),b=e.isInternal?void 0:t;return(0,y.jsx)(im,{id:b,path:m,labelX:x,labelY:v,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:h,markerEnd:f,markerStart:p,interactionWidth:g})})}i_.displayName="StepEdge",iM.displayName="StepEdgeInternal";let ij=iE({isInternal:!1}),iP=iE({isInternal:!0});function iD(e){return(0,v.memo)(({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:a=g.Bottom,targetPosition:s=g.Top,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:m,markerStart:x,pathOptions:v,interactionWidth:b})=>{let[w,C,N]=n0({sourceX:n,sourceY:r,sourcePosition:a,targetX:o,targetY:i,targetPosition:s,curvature:v?.curvature}),k=e.isInternal?void 0:t;return(0,y.jsx)(im,{id:k,path:w,labelX:C,labelY:N,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:m,markerStart:x,interactionWidth:b})})}ij.displayName="StraightEdge",iP.displayName="StraightEdgeInternal";let iI=iD({isInternal:!1}),iA=iD({isInternal:!0});iI.displayName="BezierEdge",iA.displayName="BezierEdgeInternal";let iR={default:iA,straight:iP,step:iM,smoothstep:ik,simplebezier:iw},iT={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},iz="react-flow__edgeupdater";function i$({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:o,onMouseEnter:i,onMouseOut:a,type:s}){return(0,y.jsx)("circle",{onMouseDown:o,onMouseEnter:i,onMouseOut:a,className:b([iz,`${iz}-${s}`]),cx:e===g.Left?t-r:e===g.Right?t+r:t,cy:e===g.Top?n-r:e===g.Bottom?n+r:n,r:r,stroke:"transparent",fill:"transparent"})}function iL({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:o,targetX:i,targetY:a,sourcePosition:s,targetPosition:l,onReconnect:u,onReconnectStart:c,onReconnectEnd:d,setReconnecting:h,setUpdateHover:f}){let p=ot(),g=(e,t)=>{if(0!==e.button)return;let{autoPanOnConnect:r,domNode:o,isValidConnection:i,connectionMode:a,connectionRadius:s,lib:l,onConnectStart:f,onConnectEnd:g,cancelConnection:m,nodeLookup:x,rfId:y,panBy:v,updateConnection:b}=p.getState(),w="target"===t.type;rA.onPointerDown(e.nativeEvent,{autoPanOnConnect:r,connectionMode:a,connectionRadius:s,domNode:o,handleId:t.id,nodeId:t.nodeId,nodeLookup:x,isTarget:w,edgeUpdaterType:t.type,lib:l,flowId:y,cancelConnection:m,panBy:v,isValidConnection:i,onConnect:e=>u?.(n,e),onConnectStart:(r,o)=>{h(!0),c?.(e,n,t.type),f?.(r,o)},onConnectEnd:g,onReconnectEnd:(e,r)=>{h(!1),d?.(e,n,t.type,r)},updateConnection:b,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},m=()=>f(!0),x=()=>f(!1);return(0,y.jsxs)(y.Fragment,{children:[(!0===e||"source"===e)&&(0,y.jsx)(i$,{position:s,centerX:r,centerY:o,radius:t,onMouseDown:e=>g(e,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),onMouseEnter:m,onMouseOut:x,type:"source"}),(!0===e||"target"===e)&&(0,y.jsx)(i$,{position:l,centerX:i,centerY:a,radius:t,onMouseDown:e=>g(e,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),onMouseEnter:m,onMouseOut:x,type:"target"})]})}var iO=(0,v.memo)(function({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:o,onDoubleClick:i,onContextMenu:a,onMouseEnter:s,onMouseMove:l,onMouseLeave:u,reconnectRadius:c,onReconnect:d,onReconnectStart:h,onReconnectEnd:f,rfId:p,edgeTypes:g,noPanClassName:m,onError:x,disableKeyboardA11y:w}){let C=oe(t=>t.edgeLookup.get(e)),N=oe(e=>e.defaultEdgeOptions),k=(C=N?{...N,...C}:C).type||"default",S=g?.[k]||iR[k];void 0===S&&(x?.("011",t6.error011(k)),k="default",S=g?.default||iR.default);let _=!!(C.focusable||t&&void 0===C.focusable),M=void 0!==d&&(C.reconnectable||n&&void 0===C.reconnectable),E=!!(C.selectable||r&&void 0===C.selectable),j=(0,v.useRef)(null),[P,D]=(0,v.useState)(!1),[I,A]=(0,v.useState)(!1),R=ot(),{zIndex:T,sourceX:z,sourceY:$,targetX:L,targetY:O,sourcePosition:B,targetPosition:H}=oe((0,v.useCallback)(t=>{let n=t.nodeLookup.get(C.source),r=t.nodeLookup.get(C.target);if(!n||!r)return{zIndex:C.zIndex,...iT};let o=rn({id:e,sourceNode:n,targetNode:r,sourceHandle:C.sourceHandle||null,targetHandle:C.targetHandle||null,connectionMode:t.connectionMode,onError:x});return{zIndex:n2({selected:C.selected,zIndex:C.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...o||iT}},[C.source,C.target,C.sourceHandle,C.targetHandle,C.selected,C.zIndex]),r6),F=(0,v.useMemo)(()=>C.markerStart?`url('#${ra(C.markerStart,p)}')`:void 0,[C.markerStart,p]),V=(0,v.useMemo)(()=>C.markerEnd?`url('#${ra(C.markerEnd,p)}')`:void 0,[C.markerEnd,p]);if(C.hidden||null===z||null===$||null===L||null===O)return null;let X=i?e=>{i(e,{...C})}:void 0,q=a?e=>{a(e,{...C})}:void 0,Y=s?e=>{s(e,{...C})}:void 0,K=l?e=>{l(e,{...C})}:void 0,Z=u?e=>{u(e,{...C})}:void 0;return(0,y.jsx)("svg",{style:{zIndex:T},children:(0,y.jsxs)("g",{className:b(["react-flow__edge",`react-flow__edge-${k}`,C.className,m,{selected:C.selected,animated:C.animated,inactive:!E&&!o,updating:P,selectable:E}]),onClick:t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:i}=R.getState();E&&(R.setState({nodesSelectionActive:!1}),C.selected&&i?(r({nodes:[],edges:[C]}),j.current?.blur()):n([e])),o&&o(t,C)},onDoubleClick:X,onContextMenu:q,onMouseEnter:Y,onMouseMove:K,onMouseLeave:Z,onKeyDown:_?t=>{if(!w&&t8.includes(t.key)&&E){let{unselectNodesAndEdges:n,addSelectedEdges:r}=R.getState();"Escape"===t.key?(j.current?.blur(),n({edges:[C]})):r([e])}}:void 0,tabIndex:_?0:void 0,role:C.ariaRole??(_?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":null===C.ariaLabel?void 0:C.ariaLabel||`Edge from ${C.source} to ${C.target}`,"aria-describedby":_?`${oi}-${p}`:void 0,ref:j,...C.domAttributes,children:[!I&&(0,y.jsx)(S,{id:e,source:C.source,target:C.target,type:C.type,selected:C.selected,animated:C.animated,selectable:E,deletable:C.deletable??!0,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,sourceX:z,sourceY:$,targetX:L,targetY:O,sourcePosition:B,targetPosition:H,data:C.data,style:C.style,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerStart:F,markerEnd:V,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth}),M&&(0,y.jsx)(iL,{edge:C,isReconnectable:M,reconnectRadius:c,onReconnect:d,onReconnectStart:h,onReconnectEnd:f,sourceX:z,sourceY:$,targetX:L,targetY:O,sourcePosition:B,targetPosition:H,setUpdateHover:D,setReconnecting:A})]})})});let iB=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function iH({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:o,onReconnect:i,onEdgeContextMenu:a,onEdgeMouseEnter:s,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:c,reconnectRadius:d,onEdgeDoubleClick:h,onReconnectStart:f,onReconnectEnd:p,disableKeyboardA11y:g}){let{edgesFocusable:m,edgesReconnectable:x,elementsSelectable:b,onError:w}=oe(iB,r6),C=oe((0,v.useCallback)(e=>{if(!t)return e.edges.map(e=>e.id);let n=[];if(e.width&&e.height)for(let t of e.edges){let r=e.nodeLookup.get(t.source),o=e.nodeLookup.get(t.target);r&&o&&n5({sourceNode:r,targetNode:o,width:e.width,height:e.height,transform:e.transform})&&n.push(t.id)}return n},[t]),r6);return(0,y.jsxs)("div",{className:"react-flow__edges",children:[(0,y.jsx)(ih,{defaultColor:e,rfId:n}),C.map(e=>(0,y.jsx)(iO,{id:e,edgesFocusable:m,edgesReconnectable:x,elementsSelectable:b,noPanClassName:o,onReconnect:i,onContextMenu:a,onMouseEnter:s,onMouseMove:l,onMouseLeave:u,onClick:c,reconnectRadius:d,onDoubleClick:h,onReconnectStart:f,onReconnectEnd:p,rfId:n,onError:w,edgeTypes:r,disableKeyboardA11y:g},e))]})}iH.displayName="EdgeRenderer";let iF=(0,v.memo)(iH),iV=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function iX({children:e}){let t=oe(iV);return(0,y.jsx)("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}let iq=e=>e.panZoom?.syncViewport;function iY(e){return e.connection.inProgress?{...e.connection,to:nD(e.connection.to,e.transform)}:{...e.connection}}let iK=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function iZ({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:o,width:i,height:a,isValid:s,inProgress:l}=oe(iK,r6);return i&&o&&l?(0,y.jsx)("svg",{style:e,width:i,height:a,className:"react-flow__connectionline react-flow__container",children:(0,y.jsx)("g",{className:b(["react-flow__connection",no(s)]),children:(0,y.jsx)(iW,{style:t,type:n,CustomComponent:r,isValid:s})})}):null}let iW=({style:e,type:t=f.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:o,from:i,fromNode:a,fromHandle:s,fromPosition:l,to:u,toNode:c,toHandle:d,toPosition:h,pointer:p}=oe(iY,r6);if(!o)return;if(n)return(0,y.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:s,fromX:i.x,fromY:i.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:h,connectionStatus:no(r),toNode:c,toHandle:d,pointer:p});let g="",m={sourceX:i.x,sourceY:i.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case f.Bezier:[g]=n0(m);break;case f.SimpleBezier:[g]=iy(m);break;case f.Step:[g]=re({...m,borderRadius:0});break;case f.SmoothStep:[g]=re(m);break;default:[g]=n6(m)}return(0,y.jsx)("path",{d:g,fill:"none",className:"react-flow__connection-path",style:e})};iW.displayName="ConnectionLine";let iU={};function iG(e=iU){(0,v.useRef)(e),ot(),(0,v.useEffect)(()=>{},[e])}function iQ({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:o,onNodeDoubleClick:i,onEdgeDoubleClick:a,onNodeMouseEnter:s,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:c,onSelectionContextMenu:d,onSelectionStart:h,onSelectionEnd:f,connectionLineType:p,connectionLineStyle:g,connectionLineComponent:m,connectionLineContainerStyle:x,selectionKeyCode:b,selectionOnDrag:w,selectionMode:C,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:S,deleteKeyCode:_,onlyRenderVisibleElements:M,elementsSelectable:E,defaultViewport:j,translateExtent:P,minZoom:D,maxZoom:I,preventScrolling:A,defaultMarkerColor:R,zoomOnScroll:T,zoomOnPinch:z,panOnScroll:$,panOnScrollSpeed:L,panOnScrollMode:O,zoomOnDoubleClick:B,panOnDrag:H,onPaneClick:F,onPaneMouseEnter:V,onPaneMouseMove:X,onPaneMouseLeave:q,onPaneScroll:Y,onPaneContextMenu:K,paneClickDistance:Z,nodeClickDistance:W,onEdgeContextMenu:U,onEdgeMouseEnter:G,onEdgeMouseMove:Q,onEdgeMouseLeave:J,reconnectRadius:ee,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,noDragClassName:eo,noWheelClassName:ei,noPanClassName:ea,disableKeyboardA11y:es,nodeExtent:el,rfId:eu,viewport:ec,onViewportChange:ed}){let eh,ef,ep,eg;return iG(e),iG(t),ot(),(0,v.useRef)(!1),(0,v.useEffect)(()=>{},[]),eh=oB(),ef=(0,v.useRef)(!1),(0,v.useEffect)(()=>{!ef.current&&eh.viewportInitialized&&n&&(setTimeout(()=>n(eh),1),ef.current=!0)},[n,eh.viewportInitialized]),ep=oe(iq),eg=ot(),(0,v.useEffect)(()=>{ec&&(ep?.(ec),eg.setState({transform:[ec.x,ec.y,ec.zoom]}))},[ec,ep]),(0,y.jsx)(ir,{onPaneClick:F,onPaneMouseEnter:V,onPaneMouseMove:X,onPaneMouseLeave:q,onPaneContextMenu:K,onPaneScroll:Y,paneClickDistance:Z,deleteKeyCode:_,selectionKeyCode:b,selectionOnDrag:w,selectionMode:C,onSelectionStart:h,onSelectionEnd:f,multiSelectionKeyCode:N,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:E,zoomOnScroll:T,zoomOnPinch:z,zoomOnDoubleClick:B,panOnScroll:$,panOnScrollSpeed:L,panOnScrollMode:O,panOnDrag:H,defaultViewport:j,translateExtent:P,minZoom:D,maxZoom:I,onSelectionContextMenu:d,preventScrolling:A,noDragClassName:eo,noWheelClassName:ei,noPanClassName:ea,disableKeyboardA11y:es,onViewportChange:ed,isControlledViewport:!!ec,children:(0,y.jsxs)(iX,{children:[(0,y.jsx)(iF,{edgeTypes:t,onEdgeClick:o,onEdgeDoubleClick:a,onReconnect:et,onReconnectStart:en,onReconnectEnd:er,onlyRenderVisibleElements:M,onEdgeContextMenu:U,onEdgeMouseEnter:G,onEdgeMouseMove:Q,onEdgeMouseLeave:J,reconnectRadius:ee,defaultMarkerColor:R,noPanClassName:ea,disableKeyboardA11y:es,rfId:eu}),(0,y.jsx)(iZ,{style:g,type:p,component:m,containerStyle:x}),(0,y.jsx)("div",{className:"react-flow__edgelabel-renderer"}),(0,y.jsx)(il,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:i,onNodeMouseEnter:s,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:c,nodeClickDistance:W,onlyRenderVisibleElements:M,noPanClassName:ea,noDragClassName:eo,disableKeyboardA11y:es,nodeExtent:el,rfId:eu}),(0,y.jsx)("div",{className:"react-flow__viewport-portal"})]})})}iQ.displayName="GraphView";let iJ=(0,v.memo)(iQ),i0=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:a,fitViewOptions:s,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:h,zIndexMode:f="basic"}={})=>{let p=new Map,g=new Map,m=new Map,x=new Map,y=r??t??[],v=n??e??[],b=d??[0,0],w=h??t9;rk(m,x,y);let C=rx(v,p,g,{nodeOrigin:b,nodeExtent:w,zIndexMode:f}),N=[0,0,1];if(a&&o&&i){let{x:e,y:t,zoom:n}=nR(nc(p,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),o,i,l,u,s?.padding??.1);N=[e,t,n]}return{rfId:"1",width:o??0,height:i??0,transform:N,nodes:v,nodesInitialized:C,nodeLookup:p,parentLookup:g,edges:y,edgeLookup:x,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:void 0!==n,hasDefaultEdges:void 0!==r,panZoom:null,minZoom:l,maxZoom:u,translateExtent:t9,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:c.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:b,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:s,fitViewResolver:null,connection:{...ne},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:nj,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:t7,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}};function i1({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:o,initialHeight:i,initialMinZoom:a,initialMaxZoom:s,initialFitViewOptions:l,fitView:u,nodeOrigin:c,nodeExtent:d,zIndexMode:h,children:f}){let[p]=(0,v.useState)(()=>(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:a,fitViewOptions:s,minZoom:l,maxZoom:u,nodeOrigin:c,nodeExtent:d,zIndexMode:h})=>{let f,p;return f=(f,p)=>{async function m(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:o,height:i,minZoom:a,maxZoom:s}=p();t&&(await nh({nodes:e,width:o,height:i,panZoom:t,minZoom:a,maxZoom:s},n),r?.resolve(!0),f({fitViewResolver:null}))}return{...i0({nodes:e,edges:t,width:o,height:i,fitView:a,fitViewOptions:s,minZoom:l,maxZoom:u,nodeOrigin:c,nodeExtent:d,defaultNodes:n,defaultEdges:r,zIndexMode:h}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,elevateNodesOnSelect:o,fitViewQueued:i,zIndexMode:a}=p(),s=rx(e,t,n,{nodeOrigin:r,nodeExtent:d,elevateNodesOnSelect:o,checkEquality:!0,zIndexMode:a});i&&s?(m(),f({nodes:e,nodesInitialized:s,fitViewQueued:!1,fitViewOptions:void 0})):f({nodes:e,nodesInitialized:s})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=p();rk(t,n,e),f({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=p();t(e),f({hasDefaultNodes:!0})}if(t){let{setEdges:e}=p();e(t),f({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:o,nodeOrigin:i,nodeExtent:a,debug:s,fitViewQueued:l,zIndexMode:u}=p(),{changes:c,updatedInternals:d}=rw(e,n,r,o,i,a,u);d&&(rg(n,r,{nodeOrigin:i,nodeExtent:a,zIndexMode:u}),l?(m(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),c?.length>0&&(s&&console.log("React Flow: trigger node changes",c),t?.(c)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:o,triggerNodeChanges:i,connection:a,updateConnection:s,onNodesChangeMiddlewareMap:l}=p();for(let[i,l]of e){let e=o.get(i),u=!!(e?.expandParent&&e?.parentId&&l?.position),c={id:i,type:"position",position:u?{x:Math.max(0,l.position.x),y:Math.max(0,l.position.y)}:l.position,dragging:t};if(e&&a.inProgress&&a.fromNode.id===e.id){let t=ro(e,a.fromHandle,g.Left,!0);s({...a,from:t})}u&&e.parentId&&n.push({id:i,parentId:e.parentId,rect:{...l.internals.positionAbsolute,width:l.measured.width??0,height:l.measured.height??0}}),r.push(c)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=p(),i=rb(n,o,e,t);r.push(...i)}for(let e of l.values())r=e(r);i(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:o,debug:i}=p();e?.length&&(o&&n(oj(e,r)),i&&console.log("React Flow: trigger node changes",e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:o,debug:i}=p();e?.length&&(o&&n(oj(e,r)),i&&console.log("React Flow: trigger edge changes",e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:o,triggerEdgeChanges:i}=p();t?o(e.map(e=>oP(e,!0))):(o(oD(r,new Set([...e]),!0)),i(oD(n)))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:o,triggerEdgeChanges:i}=p();t?i(e.map(e=>oP(e,!0))):(i(oD(n,new Set([...e]))),o(oD(r,new Set,!0)))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:o,triggerNodeChanges:i,triggerEdgeChanges:a}=p(),s=(e||r).map(e=>{let t=o.get(e.id);return t&&(t.selected=!1),oP(e.id,!1)}),l=(t||n).map(e=>oP(e.id,!1));i(s),a(l)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=p();t?.setScaleExtent([e,n]),f({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=p();t?.setScaleExtent([n,e]),f({maxZoom:e})},setTranslateExtent:e=>{p().panZoom?.setTranslateExtent(e),f({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:o}=p();if(!o)return;let i=t.reduce((e,t)=>t.selected?[...e,oP(t.id,!1)]:e,[]),a=e.reduce((e,t)=>t.selected?[...e,oP(t.id,!1)]:e,[]);n(i),r(a)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:o,elevateNodesOnSelect:i,nodeExtent:a,zIndexMode:s}=p();(e[0][0]!==a[0][0]||e[0][1]!==a[0][1]||e[1][0]!==a[1][0]||e[1][1]!==a[1][1])&&(rx(t,n,r,{nodeOrigin:o,nodeExtent:e,elevateNodesOnSelect:i,checkEquality:!1,zIndexMode:s}),f({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:o,translateExtent:i}=p();return rC({delta:e,panZoom:o,transform:t,translateExtent:i,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:o,maxZoom:i,panZoom:a}=p();if(!a)return Promise.resolve(!1);let s=void 0!==n?.zoom?n.zoom:i;return await a.setViewport({x:r/2-e*s,y:o/2-t*s,zoom:s},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{f({connection:{...ne}})},updateConnection:e=>{f({connection:e})},reset:()=>f({...i0()})}},p=Object.is,f?r4(f,p):r4})({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:o,height:i,fitView:u,minZoom:a,maxZoom:s,fitViewOptions:l,nodeOrigin:c,nodeExtent:d,zIndexMode:h}));return(0,y.jsx)(r8,{value:p,children:(0,y.jsx)(oL,{children:f})})}function i2({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:o,width:i,height:a,fitView:s,fitViewOptions:l,minZoom:u,maxZoom:c,nodeOrigin:d,nodeExtent:h,zIndexMode:f}){return(0,v.useContext)(r9)?(0,y.jsx)(y.Fragment,{children:e}):(0,y.jsx)(i1,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:o,initialWidth:i,initialHeight:a,fitView:s,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:c,nodeOrigin:d,nodeExtent:h,zIndexMode:f,children:e})}let i5={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};var i3=oR(function({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:o,nodeTypes:i,edgeTypes:a,onNodeClick:s,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:p,onMoveEnd:g,onConnect:m,onConnectStart:x,onConnectEnd:w,onClickConnectStart:C,onClickConnectEnd:N,onNodeMouseEnter:k,onNodeMouseMove:S,onNodeMouseLeave:_,onNodeContextMenu:M,onNodeDoubleClick:E,onNodeDragStart:j,onNodeDrag:P,onNodeDragStop:D,onNodesDelete:I,onEdgesDelete:A,onDelete:R,onSelectionChange:T,onSelectionDragStart:z,onSelectionDrag:$,onSelectionDragStop:L,onSelectionContextMenu:O,onSelectionStart:B,onSelectionEnd:H,onBeforeDelete:F,connectionMode:V,connectionLineType:X=f.Bezier,connectionLineStyle:q,connectionLineComponent:Y,connectionLineContainerStyle:K,deleteKeyCode:Z="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:U=!1,selectionMode:G=h.Full,panActivationKeyCode:Q="Space",multiSelectionKeyCode:J=nT()?"Meta":"Control",zoomActivationKeyCode:ee=nT()?"Meta":"Control",snapToGrid:et,snapGrid:en,onlyRenderVisibleElements:er=!1,selectNodesOnDrag:eo,nodesDraggable:ei,autoPanOnNodeFocus:ea,nodesConnectable:es,nodesFocusable:el,nodeOrigin:eu=oy,edgesFocusable:ec,edgesReconnectable:ed,elementsSelectable:eh=!0,defaultViewport:ef=ov,minZoom:ep=.5,maxZoom:eg=2,translateExtent:em=t9,preventScrolling:ex=!0,nodeExtent:ey,defaultMarkerColor:ev="#b1b1b7",zoomOnScroll:eb=!0,zoomOnPinch:ew=!0,panOnScroll:eC=!1,panOnScrollSpeed:eN=.5,panOnScrollMode:ek=d.Free,zoomOnDoubleClick:eS=!0,panOnDrag:e_=!0,onPaneClick:eM,onPaneMouseEnter:eE,onPaneMouseMove:ej,onPaneMouseLeave:eP,onPaneScroll:eD,onPaneContextMenu:eI,paneClickDistance:eA=1,nodeClickDistance:eR=0,children:eT,onReconnect:ez,onReconnectStart:e$,onReconnectEnd:eL,onEdgeContextMenu:eO,onEdgeDoubleClick:eB,onEdgeMouseEnter:eH,onEdgeMouseMove:eF,onEdgeMouseLeave:eV,reconnectRadius:eX=10,onNodesChange:eq,onEdgesChange:eY,noDragClassName:eK="nodrag",noWheelClassName:eZ="nowheel",noPanClassName:eW="nopan",fitView:eU,fitViewOptions:eG,connectOnClick:eQ,attributionPosition:eJ,proOptions:e0,defaultEdgeOptions:e1,elevateNodesOnSelect:e2=!0,elevateEdgesOnSelect:e5=!1,disableKeyboardA11y:e3=!1,autoPanOnConnect:e4,autoPanOnNodeDrag:e6,autoPanSpeed:e9,connectionRadius:e8,isValidConnection:e7,onError:te,style:tt,id:tn,nodeDragThreshold:tr,connectionDragThreshold:to,viewport:ti,onViewportChange:ta,width:ts,height:tl,colorMode:tu="light",debug:tc,onScroll:td,ariaLabelConfig:th,zIndexMode:tf="basic",...tp},tg){let tm=tn||"1",tx=function(e){let[t,n]=(0,v.useState)("system"===e?null:e);return(0,v.useEffect)(()=>{if("system"!==e)return void n(e);let t=ok(),r=()=>n(t?.matches?"dark":"light");return r(),t?.addEventListener("change",r),()=>{t?.removeEventListener("change",r)}},[e]),null!==t?t:ok()?.matches?"dark":"light"}(tu),ty=(0,v.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),td?.(e)},[td]);return(0,y.jsx)("div",{"data-testid":"rf__wrapper",...tp,onScroll:ty,style:{...tt,...i5},ref:tg,className:b(["react-flow",o,tx]),id:tn,role:"application",children:(0,y.jsxs)(i2,{nodes:e,edges:t,width:ts,height:tl,fitView:eU,fitViewOptions:eG,minZoom:ep,maxZoom:eg,nodeOrigin:eu,nodeExtent:ey,zIndexMode:tf,children:[(0,y.jsx)(iJ,{onInit:u,onNodeClick:s,onEdgeClick:l,onNodeMouseEnter:k,onNodeMouseMove:S,onNodeMouseLeave:_,onNodeContextMenu:M,onNodeDoubleClick:E,nodeTypes:i,edgeTypes:a,connectionLineType:X,connectionLineStyle:q,connectionLineComponent:Y,connectionLineContainerStyle:K,selectionKeyCode:W,selectionOnDrag:U,selectionMode:G,deleteKeyCode:Z,multiSelectionKeyCode:J,panActivationKeyCode:Q,zoomActivationKeyCode:ee,onlyRenderVisibleElements:er,defaultViewport:ef,translateExtent:em,minZoom:ep,maxZoom:eg,preventScrolling:ex,zoomOnScroll:eb,zoomOnPinch:ew,zoomOnDoubleClick:eS,panOnScroll:eC,panOnScrollSpeed:eN,panOnScrollMode:ek,panOnDrag:e_,onPaneClick:eM,onPaneMouseEnter:eE,onPaneMouseMove:ej,onPaneMouseLeave:eP,onPaneScroll:eD,onPaneContextMenu:eI,paneClickDistance:eA,nodeClickDistance:eR,onSelectionContextMenu:O,onSelectionStart:B,onSelectionEnd:H,onReconnect:ez,onReconnectStart:e$,onReconnectEnd:eL,onEdgeContextMenu:eO,onEdgeDoubleClick:eB,onEdgeMouseEnter:eH,onEdgeMouseMove:eF,onEdgeMouseLeave:eV,reconnectRadius:eX,defaultMarkerColor:ev,noDragClassName:eK,noWheelClassName:eZ,noPanClassName:eW,rfId:tm,disableKeyboardA11y:e3,nodeExtent:ey,viewport:ti,onViewportChange:ta}),(0,y.jsx)(oN,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:m,onConnectStart:x,onConnectEnd:w,onClickConnectStart:C,onClickConnectEnd:N,nodesDraggable:ei,autoPanOnNodeFocus:ea,nodesConnectable:es,nodesFocusable:el,edgesFocusable:ec,edgesReconnectable:ed,elementsSelectable:eh,elevateNodesOnSelect:e2,elevateEdgesOnSelect:e5,minZoom:ep,maxZoom:eg,nodeExtent:ey,onNodesChange:eq,onEdgesChange:eY,snapToGrid:et,snapGrid:en,connectionMode:V,translateExtent:em,connectOnClick:eQ,defaultEdgeOptions:e1,fitView:eU,fitViewOptions:eG,onNodesDelete:I,onEdgesDelete:A,onDelete:R,onNodeDragStart:j,onNodeDrag:P,onNodeDragStop:D,onSelectionDrag:$,onSelectionDragStart:z,onSelectionDragStop:L,onMove:c,onMoveStart:p,onMoveEnd:g,noPanClassName:eW,nodeOrigin:eu,rfId:tm,autoPanOnConnect:e4,autoPanOnNodeDrag:e6,autoPanSpeed:e9,onError:te,connectionRadius:e8,isValidConnection:e7,selectNodesOnDrag:eo,nodeDragThreshold:tr,connectionDragThreshold:to,onBeforeDelete:F,debug:tc,ariaLabelConfig:th,zIndexMode:tf}),(0,y.jsx)(ox,{onSelectionChange:T}),eT,(0,y.jsx)(od,{proOptions:e0,position:eJ}),(0,y.jsx)(ou,{rfId:tm,disableKeyboardA11y:e3})]})})});function i4({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,y.jsx)("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:b(["react-flow__background-pattern",n,r])})}function i6({radius:e,className:t}){return(0,y.jsx)("circle",{cx:e,cy:e,r:e,className:b(["react-flow__background-pattern","dots",t])})}t6.error014(),(l=x||(x={})).Lines="lines",l.Dots="dots",l.Cross="cross";let i9={[x.Dots]:1,[x.Lines]:1,[x.Cross]:6},i8=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function i7({id:e,variant:t=x.Dots,gap:n=20,size:r,lineWidth:o=1,offset:i=0,color:a,bgColor:s,style:l,className:u,patternClassName:c}){let d=(0,v.useRef)(null),{transform:h,patternId:f}=oe(i8,r6),p=r||i9[t],g=t===x.Dots,m=t===x.Cross,w=Array.isArray(n)?n:[n,n],C=[w[0]*h[2]||1,w[1]*h[2]||1],N=p*h[2],k=Array.isArray(i)?i:[i,i],S=m?[N,N]:C,_=[k[0]*h[2]||1+S[0]/2,k[1]*h[2]||1+S[1]/2],M=`${f}${e||""}`;return(0,y.jsxs)("svg",{className:b(["react-flow__background",u]),style:{...l,...oV,"--xy-background-color-props":s,"--xy-background-pattern-color-props":a},ref:d,"data-testid":"rf__background",children:[(0,y.jsx)("pattern",{id:M,x:h[0]%C[0],y:h[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${_[0]},-${_[1]})`,children:g?(0,y.jsx)(i6,{radius:N/2,className:c}):(0,y.jsx)(i4,{dimensions:S,lineWidth:o,variant:t,className:c})}),(0,y.jsx)("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${M})`})]})}i7.displayName="Background";let ae=(0,v.memo)(i7);function at(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:(0,y.jsx)("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function an(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:(0,y.jsx)("path",{d:"M0 0h32v4.2H0z"})})}function ar(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:(0,y.jsx)("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function ao(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,y.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function ai(){return(0,y.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:(0,y.jsx)("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function aa({children:e,className:t,...n}){return(0,y.jsx)("button",{type:"button",className:b(["react-flow__controls-button",t]),...n,children:e})}let as=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function al({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:o,onZoomIn:i,onZoomOut:a,onFitView:s,onInteractiveChange:l,className:u,children:c,position:d="bottom-left",orientation:h="vertical","aria-label":f}){let p=ot(),{isInteractive:g,minZoomReached:m,maxZoomReached:x,ariaLabelConfig:v}=oe(as,r6),{zoomIn:w,zoomOut:C,fitView:N}=oB();return(0,y.jsxs)(oc,{className:b(["react-flow__controls","horizontal"===h?"horizontal":"vertical",u]),position:d,style:e,"data-testid":"rf__controls","aria-label":f??v["controls.ariaLabel"],children:[t&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(aa,{onClick:()=>{w(),i?.()},className:"react-flow__controls-zoomin",title:v["controls.zoomIn.ariaLabel"],"aria-label":v["controls.zoomIn.ariaLabel"],disabled:x,children:(0,y.jsx)(at,{})}),(0,y.jsx)(aa,{onClick:()=>{C(),a?.()},className:"react-flow__controls-zoomout",title:v["controls.zoomOut.ariaLabel"],"aria-label":v["controls.zoomOut.ariaLabel"],disabled:m,children:(0,y.jsx)(an,{})})]}),n&&(0,y.jsx)(aa,{className:"react-flow__controls-fitview",onClick:()=>{N(o),s?.()},title:v["controls.fitView.ariaLabel"],"aria-label":v["controls.fitView.ariaLabel"],children:(0,y.jsx)(ar,{})}),r&&(0,y.jsx)(aa,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l?.(!g)},title:v["controls.interactive.ariaLabel"],"aria-label":v["controls.interactive.ariaLabel"],children:g?(0,y.jsx)(ai,{}):(0,y.jsx)(ao,{})}),c]})}al.displayName="Controls",(0,v.memo)(al);let au=(0,v.memo)(function({id:e,x:t,y:n,width:r,height:o,style:i,color:a,strokeColor:s,strokeWidth:l,className:u,borderRadius:c,shapeRendering:d,selected:h,onClick:f}){let{background:p,backgroundColor:g}=i||{};return(0,y.jsx)("rect",{className:b(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:c,ry:c,width:r,height:o,style:{fill:a||p||g,stroke:s,strokeWidth:l},shapeRendering:d,onClick:f?t=>f(t,e):void 0})}),ac=e=>e.nodes.map(e=>e.id),ad=e=>e instanceof Function?e:()=>e,ah=(0,v.memo)(function({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:o,nodeStrokeWidth:i,shapeRendering:a,NodeComponent:s,onClick:l}){let{node:u,x:c,y:d,width:h,height:f}=oe(t=>{let{internals:n}=t.nodeLookup.get(e),r=n.userNode,{x:o,y:i}=n.positionAbsolute,{width:a,height:s}=n$(r);return{node:r,x:o,y:i,width:a,height:s}},r6);return u&&!u.hidden&&nL(u)?(0,y.jsx)(s,{x:c,y:d,width:h,height:f,style:u.style,selected:!!u.selected,className:r(u),color:t(u),borderRadius:o,strokeColor:n(u),strokeWidth:i,shapeRendering:a,onClick:l,id:u.id}):null});var af=(0,v.memo)(function({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o,nodeComponent:i=au,onClick:a}){let s=oe(ac,r6),l=ad(t),u=ad(e),c=ad(n),d="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return(0,y.jsx)(y.Fragment,{children:s.map(e=>(0,y.jsx)(ah,{id:e,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:c,nodeBorderRadius:r,nodeStrokeWidth:o,NodeComponent:i,onClick:a,shapeRendering:d},e))})});let ap=e=>!e.hidden,ag=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?nS(nc(e.nodeLookup,{filter:ap}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function am({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:o="",nodeBorderRadius:i=5,nodeStrokeWidth:a,nodeComponent:s,bgColor:l,maskColor:u,maskStrokeColor:c,maskStrokeWidth:d,position:h="bottom-right",onClick:f,onNodeClick:p,pannable:g=!1,zoomable:m=!1,ariaLabel:x,inversePan:w,zoomStep:C=1,offsetScale:N=5}){let k=ot(),S=(0,v.useRef)(null),{boundingRect:_,viewBB:M,rfId:E,panZoom:j,translateExtent:P,flowWidth:D,flowHeight:I,ariaLabelConfig:A}=oe(ag,r6),R=e?.width??200,T=e?.height??150,z=Math.max(_.width/R,_.height/T),$=z*R,L=z*T,O=N*z,B=_.x-($-_.width)/2-O,H=_.y-(L-_.height)/2-O,F=$+2*O,V=L+2*O,X=`react-flow__minimap-desc-${E}`,q=(0,v.useRef)(0),Y=(0,v.useRef)();q.current=z,(0,v.useEffect)(()=>{if(S.current&&j)return Y.current=rR({domNode:S.current,panZoom:j,getTransform:()=>k.getState().transform,getViewScale:()=>q.current}),()=>{Y.current?.destroy()}},[j]),(0,v.useEffect)(()=>{Y.current?.update({translateExtent:P,width:D,height:I,inversePan:w,pannable:g,zoomStep:C,zoomable:m})},[g,m,w,C,P,D,I]);let K=f?e=>{let[t,n]=Y.current?.pointer(e)||[0,0];f(e,{x:t,y:n})}:void 0,Z=p?(0,v.useCallback)((e,t)=>{p(e,k.getState().nodeLookup.get(t).internals.userNode)},[]):void 0,W=x??A["minimap.ariaLabel"];return(0,y.jsx)(oc,{position:h,style:{...e,"--xy-minimap-background-color-props":"string"==typeof l?l:void 0,"--xy-minimap-mask-background-color-props":"string"==typeof u?u:void 0,"--xy-minimap-mask-stroke-color-props":"string"==typeof c?c:void 0,"--xy-minimap-mask-stroke-width-props":"number"==typeof d?d*z:void 0,"--xy-minimap-node-background-color-props":"string"==typeof r?r:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof n?n:void 0,"--xy-minimap-node-stroke-width-props":"number"==typeof a?a:void 0},className:b(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:(0,y.jsxs)("svg",{width:R,height:T,viewBox:`${B} ${H} ${F} ${V}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":X,ref:S,onClick:K,children:[W&&(0,y.jsx)("title",{id:X,children:W}),(0,y.jsx)(af,{onClick:Z,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:s}),(0,y.jsx)("path",{className:"react-flow__minimap-mask",d:`M${B-O},${H-O}h${F+2*O}v${V+2*O}h${-F-2*O}z
2
+ M${M.x},${M.y}h${M.width}v${M.height}h${-M.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}am.displayName="MiniMap",(0,v.memo)(am);let ax={[m.Line]:"right",[m.Handle]:"bottom-right"};(0,v.memo)(function({nodeId:e,position:t,variant:n=m.Handle,className:r,style:o,children:i,color:a,minWidth:s=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:c=Number.MAX_VALUE,keepAspectRatio:d=!1,resizeDirection:h,autoScale:f=!0,shouldResize:p,onResizeStart:g,onResize:x,onResizeEnd:w}){let C,N=o2(),k="string"==typeof e?e:N,S=ot(),_=(0,v.useRef)(null),M=n===m.Handle,E=oe((0,v.useCallback)((C=M&&f,e=>C?`${Math.max(1/e.transform[2],1)}`:void 0),[M,f]),r6),j=(0,v.useRef)(null),P=t??ax[n];(0,v.useEffect)(()=>{if(_.current&&k)return j.current||(j.current=rG({domNode:_.current,nodeId:k,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:o,domNode:i}=S.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:o,paneDomNode:i}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:r,parentLookup:o,nodeOrigin:i}=S.getState(),a=[],s={x:e.x,y:e.y},l=r.get(k);if(l&&l.expandParent&&l.parentId){let t=l.origin??i,n=e.width??l.measured.width??0,u=e.height??l.measured.height??0,c=rb([{id:l.id,parentId:l.parentId,rect:{width:n,height:u,...nO({x:e.x??l.position.x,y:e.y??l.position.y},{width:n,height:u},l.parentId,r,t)}}],r,o,i);a.push(...c),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*u,e.y):void 0}if(void 0!==s.x&&void 0!==s.y){let e={id:k,type:"position",position:{...s}};a.push(e)}if(void 0!==e.width&&void 0!==e.height){let t={id:k,type:"dimensions",resizing:!0,setAttributes:!h||("horizontal"===h?"width":"height"),dimensions:{width:e.width,height:e.height}};a.push(t)}for(let e of t){let t={...e,type:"position"};a.push(t)}n(a)},onEnd:({width:e,height:t})=>{S.getState().triggerNodeChanges([{id:k,type:"dimensions",resizing:!1,dimensions:{width:e,height:t}}])}})),j.current.update({controlPosition:P,boundaries:{minWidth:s,minHeight:l,maxWidth:u,maxHeight:c},keepAspectRatio:d,resizeDirection:h,onResizeStart:g,onResize:x,onResizeEnd:w,shouldResize:p}),()=>{j.current?.destroy()}},[P,s,l,u,c,d,g,x,w,p]);let D=P.split("-");return(0,y.jsx)("div",{className:b(["react-flow__resize-control","nodrag",...D,n,r]),ref:_,style:{...o,scale:E,...a&&{[M?"backgroundColor":"borderColor"]:a}},children:i})}),e.s(["Background",()=>ae,"BackgroundVariant",()=>x,"BaseEdge",()=>im,"Handle",()=>o3,"Panel",()=>oc,"ReactFlow",()=>i3,"ReactFlowProvider",()=>i1,"useReactFlow",()=>oB],53271)},92786,e=>{"use strict";var t=e.i(20314),n=e.i(79054);let r=(0,n.createContext)(null);function o({children:e}){let[o,i]=(0,n.useState)(new Map),a=(0,n.useRef)(o);a.current=o;let s=(0,n.useCallback)(async()=>{if(!document.hidden)try{let e=await fetch("/api/sessions-batch");if(!e.ok)return;let t=await e.json(),n=new Map;for(let[e,r]of Object.entries(t.sessionsByPath))n.set(e,r);i(n)}catch{}},[]);(0,n.useEffect)(()=>{s();let e=setInterval(()=>void s(),3e4);return()=>clearInterval(e)},[s]);let l=(0,n.useCallback)(e=>a.current.get(e)??[],[o]),u=(0,n.useCallback)(e=>{let t=a.current.get(e);if(!t)return!1;let n=Date.now();return t.some(e=>e.lastMessageAt&&n-new Date(e.lastMessageAt).getTime()<3e5)},[o]),c=(0,n.useMemo)(()=>({getSessionsForPath:l,hasActiveSessions:u}),[l,u]);return(0,t.jsx)(r.Provider,{value:c,children:e})}function i(){let e=(0,n.useContext)(r);return e||{getSessionsForPath:()=>[],hasActiveSessions:()=>!1}}e.s(["SessionsProvider",()=>o,"useSessionsContext",()=>i])},83299,74363,65104,31566,e=>{"use strict";let t=(0,e.i(3645).default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);e.s(["ArchiveRestore",()=>t],83299);var n=e.i(20314),r=e.i(79054),o=e.i(83428);e.i(41001);var i=e.i(26960),a=e.i(64780),s=e.i(71326),l=e.i(97667),u=e.i(10714),u=u,c=e.i(5978),d=e.i(22528),h=e.i(91967),f=e.i(36589),p=e.i(23405),g=e.i(77624),m=e.i(85995),x=e.i(87620),y="Checkbox",[v,b]=(0,d.createContextScope)(y),[w,C]=v(y);function N(e){let{__scopeCheckbox:t,checked:o,children:i,defaultChecked:a,disabled:s,form:l,name:u,onCheckedChange:c,required:d,value:h="on",internal_do_not_use_render:p}=e,[g,m]=(0,f.useControllableState)({prop:o,defaultProp:a??!1,onChange:c,caller:y}),[x,v]=r.useState(null),[b,C]=r.useState(null),N=r.useRef(!1),k=!x||!!l||!!x.closest("form"),S={checked:g,disabled:s,setChecked:m,control:x,setControl:v,name:u,form:l,value:h,hasConsumerStoppedPropagationRef:N,required:d,defaultChecked:!D(a)&&a,isFormControl:k,bubbleInput:b,setBubbleInput:C};return(0,n.jsx)(w,{scope:t,...S,children:"function"==typeof p?p(S):i})}var k="CheckboxTrigger",S=r.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:o,...i},a)=>{let{control:s,value:l,disabled:u,checked:d,required:f,setControl:p,setChecked:g,hasConsumerStoppedPropagationRef:m,isFormControl:y,bubbleInput:v}=C(k,e),b=(0,c.useComposedRefs)(a,p),w=r.useRef(d);return r.useEffect(()=>{let e=s?.form;if(e){let t=()=>g(w.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[s,g]),(0,n.jsx)(x.Primitive.button,{type:"button",role:"checkbox","aria-checked":D(d)?"mixed":d,"aria-required":f,"data-state":I(d),"data-disabled":u?"":void 0,disabled:u,value:l,...i,ref:b,onKeyDown:(0,h.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,h.composeEventHandlers)(o,e=>{g(e=>!!D(e)||!e),v&&y&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});S.displayName=k;var _=r.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:o,checked:i,defaultChecked:a,required:s,disabled:l,value:u,onCheckedChange:c,form:d,...h}=e;return(0,n.jsx)(N,{__scopeCheckbox:r,checked:i,defaultChecked:a,disabled:l,required:s,onCheckedChange:c,name:o,form:d,value:u,internal_do_not_use_render:({isFormControl:e})=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S,{...h,ref:t,__scopeCheckbox:r}),e&&(0,n.jsx)(P,{__scopeCheckbox:r})]})})});_.displayName=y;var M="CheckboxIndicator",E=r.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:o,...i}=e,a=C(M,r);return(0,n.jsx)(m.Presence,{present:o||D(a.checked)||!0===a.checked,children:(0,n.jsx)(x.Primitive.span,{"data-state":I(a.checked),"data-disabled":a.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});E.displayName=M;var j="CheckboxBubbleInput",P=r.forwardRef(({__scopeCheckbox:e,...t},o)=>{let{control:i,hasConsumerStoppedPropagationRef:a,checked:s,defaultChecked:l,required:u,disabled:d,name:h,value:f,form:m,bubbleInput:y,setBubbleInput:v}=C(j,e),b=(0,c.useComposedRefs)(o,v),w=(0,p.usePrevious)(s),N=(0,g.useSize)(i);r.useEffect(()=>{if(!y)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!a.current;if(w!==s&&e){let n=new Event("click",{bubbles:t});y.indeterminate=D(s),e.call(y,!D(s)&&s),y.dispatchEvent(n)}},[y,w,s,a]);let k=r.useRef(!D(s)&&s);return(0,n.jsx)(x.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??k.current,required:u,disabled:d,name:h,value:f,form:m,...t,tabIndex:-1,ref:b,style:{...t.style,...N,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function D(e){return"indeterminate"===e}function I(e){return D(e)?"indeterminate":e?"checked":"unchecked"}P.displayName=j,e.s(["Checkbox",()=>_,"CheckboxIndicator",()=>E,"Indicator",()=>E,"Root",()=>_,"createCheckboxScope",()=>b,"unstable_BubbleInput",()=>P,"unstable_CheckboxBubbleInput",()=>P,"unstable_CheckboxProvider",()=>N,"unstable_CheckboxTrigger",()=>S,"unstable_Provider",()=>N,"unstable_Trigger",()=>S],57696);var A=e.i(57696),A=A,R=e.i(31777);function T({className:e,...t}){return(0,n.jsx)(A.Root,{"data-slot":"checkbox",className:(0,R.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,n.jsx)(A.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===t.checked?(0,n.jsx)(u.default,{className:"size-3.5"}):(0,n.jsx)(l.CheckIcon,{className:"size-3.5"})})})}e.s(["Checkbox",()=>T],74363);var z=e.i(41957);function $({open:e,onOpenChange:t,onConfirm:l,isDeleting:u,featureName:c,featureId:d,hasChildren:h,hasOpenPr:f}){let{t:p}=(0,a.useTranslation)("web"),[g,m]=(0,r.useState)(!0),[x,y]=(0,r.useState)(!1),[v,b]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{e&&(m(!0),y(!1),b(!0))},[e]),(0,r.useEffect)(()=>{g?b(!0):b(!1)},[g]),(0,n.jsx)(s.AlertDialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(s.AlertDialogContent,{onCloseAutoFocus:e=>e.preventDefault(),children:[(0,n.jsxs)(s.AlertDialogHeader,{children:[(0,n.jsx)(s.AlertDialogTitle,{children:p("deleteFeature.title")}),(0,n.jsx)(s.AlertDialogDescription,{children:(0,n.jsx)(i.Trans,{t:p,i18nKey:"deleteFeature.description",values:{featureName:c,featureId:d},components:{strong:(0,n.jsx)("strong",{})}})})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(T,{id:"cleanup-checkbox",checked:g,onCheckedChange:e=>m(!0===e),disabled:u,"aria-label":p("deleteFeature.cleanupLabel")}),(0,n.jsx)(z.Label,{htmlFor:"cleanup-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.cleanupLabel")})]}),h?(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(T,{id:"cascade-delete-checkbox",checked:x,onCheckedChange:e=>y(!0===e),disabled:u,"aria-label":p("deleteFeature.deleteSubFeatures")}),(0,n.jsx)(z.Label,{htmlFor:"cascade-delete-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.deleteSubFeatures")})]}):null,f?(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(T,{id:"close-pr-checkbox",checked:v,onCheckedChange:e=>b(!0===e),disabled:u||!g,"aria-label":p("deleteFeature.closePullRequest")}),(0,n.jsx)(z.Label,{htmlFor:"close-pr-checkbox",className:"cursor-pointer text-sm",children:p("deleteFeature.closePullRequest")})]}):null]}),(0,n.jsxs)(s.AlertDialogFooter,{children:[(0,n.jsx)(s.AlertDialogCancel,{disabled:u,onClick:()=>t(!1),children:p("deleteFeature.cancel")}),(0,n.jsx)(s.AlertDialogAction,{variant:"destructive",disabled:u,onClick:()=>l(g,x,!!f&&v),children:u?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),p("deleteFeature.deleting")]}):p("deleteFeature.delete")})]})]})})}e.s(["DeleteFeatureDialog",()=>$],65104),e.s([],31566)},2929,57335,53756,70646,e=>{"use strict";var t=e.i(83428),n=e.i(51251),r=e.i(34119),o=e.i(94819),i=e.i(54277),a=e.i(67669),s=e.i(55016),l=e.i(37260);let u={creating:{icon:t.Loader2,borderClass:"border-s-blue-500",labelClass:"text-blue-500",progressClass:"bg-blue-500",badgeClass:"text-blue-700",badgeBgClass:"bg-blue-50",label:"Creating...",showProgressBar:!1},running:{icon:t.Loader2,borderClass:"border-s-blue-500",labelClass:"text-blue-500",progressClass:"bg-blue-500",badgeClass:"text-blue-700",badgeBgClass:"bg-blue-50",label:"Running",showProgressBar:!1},"action-required":{icon:n.CircleAlert,borderClass:"border-s-amber-500",labelClass:"text-amber-500",progressClass:"bg-amber-500",badgeClass:"text-amber-700",badgeBgClass:"bg-amber-50",label:"User action required",showProgressBar:!1},done:{icon:r.CircleCheck,borderClass:"border-s-emerald-500",labelClass:"text-emerald-500",progressClass:"bg-emerald-500",badgeClass:"text-emerald-700",badgeBgClass:"bg-emerald-50",label:"Done",showProgressBar:!1},blocked:{icon:o.Ban,borderClass:"border-s-gray-400",labelClass:"text-gray-400",progressClass:"bg-gray-400",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Blocked",showProgressBar:!1},pending:{icon:s.Clock,borderClass:"border-s-slate-400",labelClass:"text-slate-400",progressClass:"bg-slate-400",badgeClass:"text-slate-600",badgeBgClass:"bg-slate-100",label:"Pending",showProgressBar:!1},error:{icon:i.CircleX,borderClass:"border-s-red-500",labelClass:"text-red-500",progressClass:"bg-red-500",badgeClass:"text-red-700",badgeBgClass:"bg-red-50",label:"Error",showProgressBar:!1},deleting:{icon:a.Trash2,borderClass:"border-s-gray-400",labelClass:"text-gray-400",progressClass:"bg-gray-400",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Deleting...",showProgressBar:!1},archived:{icon:l.Archive,borderClass:"border-s-gray-500",labelClass:"text-gray-500",progressClass:"bg-gray-500",badgeClass:"text-gray-600",badgeBgClass:"bg-gray-100",label:"Archived",showProgressBar:!1}};e.s(["featureNodeStateConfig",0,u,"lifecyclePhaseBadge",0,{pending:{letter:"P",bg:"bg-stone-100 dark:bg-stone-800",text:"text-stone-500 dark:text-stone-400",dot:"bg-stone-400",tooltip:"Pending",description:"Waiting to start — the feature is queued and ready to go."},requirements:{letter:"R",bg:"bg-fuchsia-100 dark:bg-fuchsia-900/40",text:"text-fuchsia-600 dark:text-fuchsia-300",dot:"bg-fuchsia-500",tooltip:"Requirements",description:"Gathering what to build — the AI is writing a product requirements document (PRD) based on your request."},research:{letter:"D",bg:"bg-teal-100 dark:bg-teal-900/40",text:"text-teal-600 dark:text-teal-300",dot:"bg-teal-500",tooltip:"Research",description:"Exploring your codebase — the AI is analyzing existing code, patterns, and dependencies to plan the best approach."},implementation:{letter:"I",bg:"bg-indigo-100 dark:bg-indigo-900/40",text:"text-indigo-600 dark:text-indigo-300",dot:"bg-indigo-500",tooltip:"Implementation",description:"Writing code — the AI is implementing the feature, writing tests, and making sure everything compiles."},review:{letter:"M",bg:"bg-orange-100 dark:bg-orange-900/40",text:"text-orange-600 dark:text-orange-300",dot:"bg-orange-500",tooltip:"Merge Review",description:"Ready to merge — the code is complete. Review the changes and approve to merge into your repository."},awaitingUpstream:{letter:"U",bg:"bg-amber-100 dark:bg-amber-900/40",text:"text-amber-600 dark:text-amber-300",dot:"bg-amber-500",tooltip:"Awaiting upstream merge",description:"PR submitted to upstream — waiting for the upstream maintainer to review and merge."},deploy:{letter:"Q",bg:"bg-lime-100 dark:bg-lime-900/40",text:"text-lime-600 dark:text-lime-300",dot:"bg-lime-500",tooltip:"Deploy & QA",description:"Deploying and testing — the feature is being deployed to a preview environment for quality checks."},maintain:{letter:"✓",bg:"bg-emerald-100 dark:bg-emerald-900/40",text:"text-emerald-500 dark:text-emerald-400",dot:"bg-emerald-500",tooltip:"Completed",description:"All done — the feature has been merged and delivered successfully."}},"lifecycleRunningVerbs",0,{pending:"Waiting to start",requirements:"Analyzing",research:"Researching",implementation:"Implementing",review:"Reviewing",awaitingUpstream:"Awaiting upstream",deploy:"Deploying",maintain:"Maintaining"}],2929);var c=e.i(3645);let d=(0,c.default)("history",[["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"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);e.s(["History",()=>d],57335);let h=(0,c.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>h],53756);var f=e.i(20314),p=e.i(79054),g=e.i(91967),m=e.i(5978),x=e.i(22528),y=e.i(36589),v=e.i(87620),b=e.i(87342),w=e.i(66033),C=e.i(53532),N=e.i(41687),k=e.i(56720),S=e.i(13123),_=e.i(52740),M=e.i(39979),E=e.i(85995),j=e.i(51080),P=e.i(86874),D=e.i(29297),I=e.i(73772),A=e.i(13044),R=["Enter"," "],T=["ArrowUp","PageDown","End"],z=["ArrowDown","PageUp","Home",...T],$={ltr:[...R,"ArrowRight"],rtl:[...R,"ArrowLeft"]},L={ltr:["ArrowLeft"],rtl:["ArrowRight"]},O="Menu",[B,H,F]=(0,b.createCollection)(O),[V,X]=(0,x.createContextScope)(O,[F,_.createPopperScope,j.createRovingFocusGroupScope]),q=(0,_.createPopperScope)(),Y=(0,j.createRovingFocusGroupScope)(),[K,Z]=V(O),[W,U]=V(O),G=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:i,modal:a=!0}=e,s=q(t),[l,u]=p.useState(null),c=p.useRef(!1),d=(0,D.useCallbackRef)(i),h=(0,w.useDirection)(o);return p.useEffect(()=>{let e=()=>{c.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>c.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,f.jsx)(_.Root,{...s,children:(0,f.jsx)(K,{scope:t,open:n,onOpenChange:d,content:l,onContentChange:u,children:(0,f.jsx)(W,{scope:t,onClose:p.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:c,dir:h,modal:a,children:r})})})};G.displayName=O;var Q=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=q(n);return(0,f.jsx)(_.Anchor,{...o,...r,ref:t})});Q.displayName="MenuAnchor";var J="MenuPortal",[ee,et]=V(J,{forceMount:void 0}),en=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:o}=e,i=Z(J,t);return(0,f.jsx)(ee,{scope:t,forceMount:n,children:(0,f.jsx)(E.Presence,{present:n||i.open,children:(0,f.jsx)(M.Portal,{asChild:!0,container:o,children:r})})})};en.displayName=J;var er="MenuContent",[eo,ei]=V(er),ea=p.forwardRef((e,t)=>{let n=et(er,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,i=Z(er,e.__scopeMenu),a=U(er,e.__scopeMenu);return(0,f.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,f.jsx)(E.Presence,{present:r||i.open,children:(0,f.jsx)(B.Slot,{scope:e.__scopeMenu,children:a.modal?(0,f.jsx)(es,{...o,ref:t}):(0,f.jsx)(el,{...o,ref:t})})})})}),es=p.forwardRef((e,t)=>{let n=Z(er,e.__scopeMenu),r=p.useRef(null),o=(0,m.useComposedRefs)(t,r);return p.useEffect(()=>{let e=r.current;if(e)return(0,I.hideOthers)(e)},[]),(0,f.jsx)(ec,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:(0,g.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),el=p.forwardRef((e,t)=>{let n=Z(er,e.__scopeMenu);return(0,f.jsx)(ec,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),eu=(0,P.createSlot)("MenuContent.ScrollLock"),ec=p.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:h,onDismiss:x,disableOutsideScroll:y,...v}=e,b=Z(er,n),w=U(er,n),S=q(n),M=Y(n),E=H(n),[P,D]=p.useState(null),I=p.useRef(null),R=(0,m.useComposedRefs)(t,I,b.onContentChange),$=p.useRef(0),L=p.useRef(""),O=p.useRef(0),B=p.useRef(null),F=p.useRef("right"),V=p.useRef(0),X=y?A.RemoveScroll:p.Fragment;p.useEffect(()=>()=>window.clearTimeout($.current),[]),(0,N.useFocusGuards)();let K=p.useCallback(e=>{var t,n;return F.current===B.current?.side&&(t=e,!!(n=B.current?.area)&&function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let a=t[e],s=t[i],l=a.x,u=a.y,c=s.x,d=s.y;u>r!=d>r&&n<(c-l)*(r-u)/(d-u)+l&&(o=!o)}return o}({x:t.clientX,y:t.clientY},n))},[]);return(0,f.jsx)(eo,{scope:n,searchRef:L,onItemEnter:p.useCallback(e=>{K(e)&&e.preventDefault()},[K]),onItemLeave:p.useCallback(e=>{K(e)||(I.current?.focus(),D(null))},[K]),onTriggerLeave:p.useCallback(e=>{K(e)&&e.preventDefault()},[K]),pointerGraceTimerRef:O,onPointerGraceIntentChange:p.useCallback(e=>{B.current=e},[]),children:(0,f.jsx)(X,{...y?{as:eu,allowPinchZoom:!0}:void 0,children:(0,f.jsx)(k.FocusScope,{asChild:!0,trapped:o,onMountAutoFocus:(0,g.composeEventHandlers)(i,e=>{e.preventDefault(),I.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:(0,f.jsx)(C.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:h,onDismiss:x,children:(0,f.jsx)(j.Root,{asChild:!0,...M,dir:w.dir,orientation:"vertical",loop:r,currentTabStopId:P,onCurrentTabStopIdChange:D,onEntryFocus:(0,g.composeEventHandlers)(l,e=>{w.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,f.jsx)(_.Content,{role:"menu","aria-orientation":"vertical","data-state":eL(b.open),"data-radix-menu-content":"",dir:w.dir,...S,...v,ref:R,style:{outline:"none",...v.style},onKeyDown:(0,g.composeEventHandlers)(v.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;if(t){var o;let t,i,a,s,l,u;"Tab"===e.key&&e.preventDefault(),!n&&r&&(o=e.key,t=L.current+o,i=E().filter(e=>!e.disabled),a=document.activeElement,s=i.find(e=>e.ref.current===a)?.textValue,l=function(e,t,n){var r;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=(r=Math.max(i,0),e.map((t,n)=>e[(r+n)%e.length]));1===o.length&&(a=a.filter(e=>e!==n));let s=a.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return s!==n?s:void 0}(i.map(e=>e.textValue),t,s),u=i.find(e=>e.textValue===l)?.ref.current,function e(t){L.current=t,window.clearTimeout($.current),""!==t&&($.current=window.setTimeout(()=>e(""),1e3))}(t),u&&setTimeout(()=>u.focus()))}let i=I.current;if(e.target!==i||!z.includes(e.key))return;e.preventDefault();let a=E().filter(e=>!e.disabled).map(e=>e.ref.current);T.includes(e.key)&&a.reverse(),function(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}(a)}),onBlur:(0,g.composeEventHandlers)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout($.current),L.current="")}),onPointerMove:(0,g.composeEventHandlers)(e.onPointerMove,eH(e=>{let t=e.target,n=V.current!==e.clientX;e.currentTarget.contains(t)&&n&&(F.current=e.clientX>V.current?"right":"left",V.current=e.clientX)}))})})})})})})});ea.displayName=er;var ed=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(v.Primitive.div,{role:"group",...r,ref:t})});ed.displayName="MenuGroup";var eh=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(v.Primitive.div,{...r,ref:t})});eh.displayName="MenuLabel";var ef="MenuItem",ep="menu.itemSelect",eg=p.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...o}=e,i=p.useRef(null),a=U(ef,e.__scopeMenu),s=ei(ef,e.__scopeMenu),l=(0,m.useComposedRefs)(t,i),u=p.useRef(!1);return(0,f.jsx)(em,{...o,ref:l,disabled:n,onClick:(0,g.composeEventHandlers)(e.onClick,()=>{let e=i.current;if(!n&&e){let t=new CustomEvent(ep,{bubbles:!0,cancelable:!0});e.addEventListener(ep,e=>r?.(e),{once:!0}),(0,v.dispatchDiscreteCustomEvent)(e,t),t.defaultPrevented?u.current=!1:a.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:(0,g.composeEventHandlers)(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:(0,g.composeEventHandlers)(e.onKeyDown,e=>{let t=""!==s.searchRef.current;n||t&&" "===e.key||R.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});eg.displayName=ef;var em=p.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:o,...i}=e,a=ei(ef,n),s=Y(n),l=p.useRef(null),u=(0,m.useComposedRefs)(t,l),[c,d]=p.useState(!1),[h,x]=p.useState("");return p.useEffect(()=>{let e=l.current;e&&x((e.textContent??"").trim())},[i.children]),(0,f.jsx)(B.ItemSlot,{scope:n,disabled:r,textValue:o??h,children:(0,f.jsx)(j.Item,{asChild:!0,...s,focusable:!r,children:(0,f.jsx)(v.Primitive.div,{role:"menuitem","data-highlighted":c?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:u,onPointerMove:(0,g.composeEventHandlers)(e.onPointerMove,eH(e=>{r?a.onItemLeave(e):(a.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,g.composeEventHandlers)(e.onPointerLeave,eH(e=>a.onItemLeave(e))),onFocus:(0,g.composeEventHandlers)(e.onFocus,()=>d(!0)),onBlur:(0,g.composeEventHandlers)(e.onBlur,()=>d(!1))})})})}),ex=p.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...o}=e;return(0,f.jsx)(eS,{scope:e.__scopeMenu,checked:n,children:(0,f.jsx)(eg,{role:"menuitemcheckbox","aria-checked":eO(n)?"mixed":n,...o,ref:t,"data-state":eB(n),onSelect:(0,g.composeEventHandlers)(o.onSelect,()=>r?.(!!eO(n)||!n),{checkForDefaultPrevented:!1})})})});ex.displayName="MenuCheckboxItem";var ey="MenuRadioGroup",[ev,eb]=V(ey,{value:void 0,onValueChange:()=>{}}),ew=p.forwardRef((e,t)=>{let{value:n,onValueChange:r,...o}=e,i=(0,D.useCallbackRef)(r);return(0,f.jsx)(ev,{scope:e.__scopeMenu,value:n,onValueChange:i,children:(0,f.jsx)(ed,{...o,ref:t})})});ew.displayName=ey;var eC="MenuRadioItem",eN=p.forwardRef((e,t)=>{let{value:n,...r}=e,o=eb(eC,e.__scopeMenu),i=n===o.value;return(0,f.jsx)(eS,{scope:e.__scopeMenu,checked:i,children:(0,f.jsx)(eg,{role:"menuitemradio","aria-checked":i,...r,ref:t,"data-state":eB(i),onSelect:(0,g.composeEventHandlers)(r.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});eN.displayName=eC;var ek="MenuItemIndicator",[eS,e_]=V(ek,{checked:!1}),eM=p.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...o}=e,i=e_(ek,n);return(0,f.jsx)(E.Presence,{present:r||eO(i.checked)||!0===i.checked,children:(0,f.jsx)(v.Primitive.span,{...o,ref:t,"data-state":eB(i.checked)})})});eM.displayName=ek;var eE=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(v.Primitive.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});eE.displayName="MenuSeparator";var ej=p.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=q(n);return(0,f.jsx)(_.Arrow,{...o,...r,ref:t})});ej.displayName="MenuArrow";var eP="MenuSub",[eD,eI]=V(eP),eA=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:o}=e,i=Z(eP,t),a=q(t),[s,l]=p.useState(null),[u,c]=p.useState(null),d=(0,D.useCallbackRef)(o);return p.useEffect(()=>(!1===i.open&&d(!1),()=>d(!1)),[i.open,d]),(0,f.jsx)(_.Root,{...a,children:(0,f.jsx)(K,{scope:t,open:r,onOpenChange:d,content:u,onContentChange:c,children:(0,f.jsx)(eD,{scope:t,contentId:(0,S.useId)(),triggerId:(0,S.useId)(),trigger:s,onTriggerChange:l,children:n})})})};eA.displayName=eP;var eR="MenuSubTrigger",eT=p.forwardRef((e,t)=>{let n=Z(eR,e.__scopeMenu),r=U(eR,e.__scopeMenu),o=eI(eR,e.__scopeMenu),i=ei(eR,e.__scopeMenu),a=p.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:l}=i,u={__scopeMenu:e.__scopeMenu},c=p.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return p.useEffect(()=>c,[c]),p.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),l(null)}},[s,l]),(0,f.jsx)(Q,{asChild:!0,...u,children:(0,f.jsx)(em,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":eL(n.open),...e,ref:(0,m.composeRefs)(t,o.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:(0,g.composeEventHandlers)(e.onPointerMove,eH(t=>{i.onItemEnter(t),!t.defaultPrevented&&(e.disabled||n.open||a.current||(i.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),c()},100)))})),onPointerLeave:(0,g.composeEventHandlers)(e.onPointerLeave,eH(e=>{c();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,o="right"===r,a=t[o?"left":"right"],l=t[o?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+(o?-5:5),y:e.clientY},{x:a,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:a,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:(0,g.composeEventHandlers)(e.onKeyDown,t=>{let o=""!==i.searchRef.current;e.disabled||o&&" "===t.key||$[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});eT.displayName=eR;var ez="MenuSubContent",e$=p.forwardRef((e,t)=>{let n=et(er,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,i=Z(er,e.__scopeMenu),a=U(er,e.__scopeMenu),s=eI(ez,e.__scopeMenu),l=p.useRef(null),u=(0,m.useComposedRefs)(t,l);return(0,f.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,f.jsx)(E.Presence,{present:r||i.open,children:(0,f.jsx)(B.Slot,{scope:e.__scopeMenu,children:(0,f.jsx)(ec,{id:s.contentId,"aria-labelledby":s.triggerId,...o,ref:u,align:"start",side:"rtl"===a.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{a.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,g.composeEventHandlers)(e.onFocusOutside,e=>{e.target!==s.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:(0,g.composeEventHandlers)(e.onEscapeKeyDown,e=>{a.onClose(),e.preventDefault()}),onKeyDown:(0,g.composeEventHandlers)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=L[a.dir].includes(e.key);t&&n&&(i.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});function eL(e){return e?"open":"closed"}function eO(e){return"indeterminate"===e}function eB(e){return eO(e)?"indeterminate":e?"checked":"unchecked"}function eH(e){return t=>"mouse"===t.pointerType?e(t):void 0}e$.displayName=ez;var eF="DropdownMenu",[eV,eX]=(0,x.createContextScope)(eF,[X]),eq=X(),[eY,eK]=eV(eF),eZ=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:i,onOpenChange:a,modal:s=!0}=e,l=eq(t),u=p.useRef(null),[c,d]=(0,y.useControllableState)({prop:o,defaultProp:i??!1,onChange:a,caller:eF});return(0,f.jsx)(eY,{scope:t,triggerId:(0,S.useId)(),triggerRef:u,contentId:(0,S.useId)(),open:c,onOpenChange:d,onOpenToggle:p.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,f.jsx)(G,{...l,open:c,onOpenChange:d,dir:r,modal:s,children:n})})};eZ.displayName=eF;var eW="DropdownMenuTrigger",eU=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,i=eK(eW,n),a=eq(n);return(0,f.jsx)(Q,{asChild:!0,...a,children:(0,f.jsx)(v.Primitive.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:(0,m.composeRefs)(t,i.triggerRef),onPointerDown:(0,g.composeEventHandlers)(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(i.onOpenToggle(),i.open||e.preventDefault())}),onKeyDown:(0,g.composeEventHandlers)(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});eU.displayName=eW;var eG=e=>{let{__scopeDropdownMenu:t,...n}=e,r=eq(t);return(0,f.jsx)(en,{...r,...n})};eG.displayName="DropdownMenuPortal";var eQ="DropdownMenuContent",eJ=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eK(eQ,n),i=eq(n),a=p.useRef(!1);return(0,f.jsx)(ea,{id:o.contentId,"aria-labelledby":o.triggerId,...i,...r,ref:t,onCloseAutoFocus:(0,g.composeEventHandlers)(e.onCloseAutoFocus,e=>{a.current||o.triggerRef.current?.focus(),a.current=!1,e.preventDefault()}),onInteractOutside:(0,g.composeEventHandlers)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!o.modal||r)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});eJ.displayName=eQ;var e0=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(ed,{...o,...r,ref:t})});e0.displayName="DropdownMenuGroup";var e1=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eh,{...o,...r,ref:t})});e1.displayName="DropdownMenuLabel";var e2=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eg,{...o,...r,ref:t})});e2.displayName="DropdownMenuItem";var e5=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(ex,{...o,...r,ref:t})});e5.displayName="DropdownMenuCheckboxItem";var e3=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(ew,{...o,...r,ref:t})});e3.displayName="DropdownMenuRadioGroup";var e4=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eN,{...o,...r,ref:t})});e4.displayName="DropdownMenuRadioItem";var e6=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eM,{...o,...r,ref:t})});e6.displayName="DropdownMenuItemIndicator";var e9=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eE,{...o,...r,ref:t})});e9.displayName="DropdownMenuSeparator";var e8=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(ej,{...o,...r,ref:t})});e8.displayName="DropdownMenuArrow";var e7=e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:o,defaultOpen:i}=e,a=eq(t),[s,l]=(0,y.useControllableState)({prop:r,defaultProp:i??!1,onChange:o,caller:"DropdownMenuSub"});return(0,f.jsx)(eA,{...a,open:s,onOpenChange:l,children:n})},te=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(eT,{...o,...r,ref:t})});te.displayName="DropdownMenuSubTrigger";var tt=p.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=eq(n);return(0,f.jsx)(e$,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});tt.displayName="DropdownMenuSubContent",e.s(["Arrow",()=>e8,"CheckboxItem",()=>e5,"Content",()=>eJ,"DropdownMenu",()=>eZ,"DropdownMenuArrow",()=>e8,"DropdownMenuCheckboxItem",()=>e5,"DropdownMenuContent",()=>eJ,"DropdownMenuGroup",()=>e0,"DropdownMenuItem",()=>e2,"DropdownMenuItemIndicator",()=>e6,"DropdownMenuLabel",()=>e1,"DropdownMenuPortal",()=>eG,"DropdownMenuRadioGroup",()=>e3,"DropdownMenuRadioItem",()=>e4,"DropdownMenuSeparator",()=>e9,"DropdownMenuSub",()=>e7,"DropdownMenuSubContent",()=>tt,"DropdownMenuSubTrigger",()=>te,"DropdownMenuTrigger",()=>eU,"Group",()=>e0,"Item",()=>e2,"ItemIndicator",()=>e6,"Label",()=>e1,"Portal",()=>eG,"RadioGroup",()=>e3,"RadioItem",()=>e4,"Root",()=>eZ,"Separator",()=>e9,"Sub",()=>e7,"SubContent",()=>tt,"SubTrigger",()=>te,"Trigger",()=>eU,"createDropdownMenuScope",()=>eX],61920);var tn=e.i(61920),tn=tn,tr=e.i(23925),to=e.i(76016),ti=e.i(95812),ta=e.i(31777);let ts=tn.Root,tl=tn.Trigger;tn.Group;let tu=tn.Portal,tc=tn.Sub;tn.RadioGroup;let td=p.forwardRef(({className:e,inset:t,children:n,...r},o)=>(0,f.jsxs)(tn.SubTrigger,{ref:o,className:(0,ta.cn)("focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"ps-8",e),...r,children:[n,(0,f.jsx)(to.ChevronRight,{className:"ms-auto"})]}));td.displayName=tn.SubTrigger.displayName;let th=p.forwardRef(({className:e,...t},n)=>(0,f.jsx)(tn.SubContent,{ref:n,className:(0,ta.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",e),...t}));th.displayName=tn.SubContent.displayName;let tf=p.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,f.jsx)(tn.Portal,{children:(0,f.jsx)(tn.Content,{ref:r,sideOffset:t,className:(0,ta.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",e),...n})}));tf.displayName=tn.Content.displayName;let tp=p.forwardRef(({className:e,inset:t,...n},r)=>(0,f.jsx)(tn.Item,{ref:r,className:(0,ta.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",t&&"ps-8",e),...n}));tp.displayName=tn.Item.displayName,p.forwardRef(({className:e,children:t,checked:n,...r},o)=>(0,f.jsxs)(tn.CheckboxItem,{ref:o,className:(0,ta.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 ps-8 pe-2 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[(0,f.jsx)("span",{className:"absolute start-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(tn.ItemIndicator,{children:(0,f.jsx)(tr.Check,{className:"h-4 w-4"})})}),t]})).displayName=tn.CheckboxItem.displayName,p.forwardRef(({className:e,children:t,...n},r)=>(0,f.jsxs)(tn.RadioItem,{ref:r,className:(0,ta.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 ps-8 pe-2 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[(0,f.jsx)("span",{className:"absolute start-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,f.jsx)(tn.ItemIndicator,{children:(0,f.jsx)(ti.Circle,{className:"h-2 w-2 fill-current"})})}),t]})).displayName=tn.RadioItem.displayName;let tg=p.forwardRef(({className:e,inset:t,...n},r)=>(0,f.jsx)(tn.Label,{ref:r,className:(0,ta.cn)("px-2 py-1.5 text-sm font-semibold",t&&"ps-8",e),...n}));tg.displayName=tn.Label.displayName;let tm=p.forwardRef(({className:e,...t},n)=>(0,f.jsx)(tn.Separator,{ref:n,className:(0,ta.cn)("bg-muted -mx-1 my-1 h-px",e),...t}));tm.displayName=tn.Separator.displayName,e.s(["DropdownMenu",()=>ts,"DropdownMenuContent",()=>tf,"DropdownMenuItem",()=>tp,"DropdownMenuLabel",()=>tg,"DropdownMenuPortal",()=>tu,"DropdownMenuSeparator",()=>tm,"DropdownMenuSub",()=>tc,"DropdownMenuSubContent",()=>th,"DropdownMenuSubTrigger",()=>td,"DropdownMenuTrigger",()=>tl],70646)},47506,80519,89313,7311,e=>{"use strict";var t=e.i(20314),n=e.i(79054);e.i(41001);var r=e.i(26960),o=e.i(64780),i=e.i(31406),a=e.i(53271),s=e.i(92002),l=e.i(3214),u=e.i(67669),c=e.i(53360),d=e.i(41698),h=e.i(83428),f=e.i(32494),p=e.i(38227),g=e.i(24042),m=e.i(6910),x=e.i(87889),y=e.i(37260),v=e.i(83299),b=e.i(48109),w=e.i(31777),C=e.i(72714),N=e.i(35364),k=e.i(2828),S=e.i(57779),_=e.i(80554),M=e.i(8537),E=e.i(75921),j=e.i(71326);e.i(31566);var P=e.i(65104),D=e.i(2929),I=e.i(86782),A=e.i(57335),R=e.i(33548),T=e.i(30702),z=e.i(38573),$=e.i(55016),L=e.i(99105),O=e.i(53756),B=e.i(70646),H=e.i(92786);async function F(e){try{await navigator.clipboard.writeText(e)}catch{let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}}function V(e){e.stopPropagation()}function X({repositoryPath:e,className:r,onCreateFromSession:i}){let{t:a}=(0,o.useTranslation)("web"),[s,l]=(0,n.useState)(!1),{getSessionsForPath:u,hasActiveSessions:c}=(0,H.useSessionsContext)(),d=u(e),h=c(e),f=(0,n.useCallback)(e=>{e||l(!1)},[]),p=s?d:d.slice(0,3),g=d.length>3;return(0,t.jsxs)(B.DropdownMenu,{modal:!1,onOpenChange:f,children:[(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(B.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","aria-label":a("featureNode.viewSessions"),"data-testid":"feature-node-sessions-button",className:(0,w.cn)("nodrag relative flex h-5 cursor-pointer items-center gap-0.5 rounded px-0.5 text-[10px] transition-colors","text-muted-foreground hover:text-foreground hover:bg-muted",r),onClick:V,onPointerDown:V,children:[(0,t.jsx)(A.History,{className:"h-3 w-3 shrink-0"}),d.length>0?(0,t.jsx)("span",{"data-testid":"feature-node-sessions-count",children:d.length}):null,h?(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 rounded-full bg-emerald-500"}):null]})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:a(h?"featureNode.sessionsActive":"featureNode.sessions")})]})}),(0,t.jsxs)(B.DropdownMenuContent,{align:"start",side:"bottom",className:"w-80",onClick:V,onPointerDown:V,children:[(0,t.jsxs)(B.DropdownMenuLabel,{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)(A.History,{className:"h-3 w-3"}),a("featureNode.agentSessions")]}),(0,t.jsx)(B.DropdownMenuSeparator,{}),0===d.length?(0,t.jsx)("div",{className:"text-muted-foreground py-4 text-center text-xs",children:a("featureNode.noSessionsFound")}):(0,t.jsxs)(t.Fragment,{children:[p.map(n=>(0,t.jsx)(q,{session:n,repositoryPath:e,onCreateFromSession:i},n.id)),g?(0,t.jsxs)(B.DropdownMenuItem,{className:"text-muted-foreground justify-center gap-1 py-1.5 text-[10px]",onClick:e=>{e.preventDefault(),l(e=>!e)},children:[(0,t.jsx)(L.ChevronDown,{className:(0,w.cn)("h-3 w-3 transition-transform",s&&"rotate-180")}),s?a("featureNode.showLess"):a("featureNode.showMore",{count:d.length-3})]}):null]})]})]})}function q({session:e,repositoryPath:n,onCreateFromSession:r}){let o,i,a,s,l,u=!!e.lastMessageAt&&Date.now()-new Date(e.lastMessageAt).getTime()<3e5,c=(0,I.getAgentTypeIcon)(e.agentType);return(0,t.jsxs)(B.DropdownMenuSub,{children:[(0,t.jsxs)(B.DropdownMenuSubTrigger,{className:"flex items-start gap-2 py-2 pe-2",children:[(0,t.jsxs)("div",{className:"relative mt-0.5 shrink-0",children:[(0,t.jsx)(c,{className:"h-4 w-4"}),u?(0,t.jsx)("span",{className:"border-background absolute -right-0.5 -bottom-0.5 h-2 w-2 rounded-full border bg-emerald-500"}):null]}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,t.jsx)("span",{className:"truncate text-xs leading-tight",children:function(e,t=40){return e?e.length<=t?e:`${e.slice(0,t)}...`:"No preview"}(e.preview)}),(0,t.jsxs)("div",{className:"text-muted-foreground flex items-center gap-2 text-[10px] leading-tight",children:[(0,t.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,t.jsx)(b.MessageSquare,{className:"h-2.5 w-2.5"}),e.messageCount]}),e.firstMessageAt?(0,t.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,t.jsx)($.Clock,{className:"h-2.5 w-2.5"}),new Date(e.firstMessageAt).toLocaleDateString()]}):null,e.lastMessageAt?(0,t.jsx)("span",{className:(0,w.cn)("ml-auto shrink-0",u?"font-medium text-emerald-600":""),children:(o=new Date(e.lastMessageAt),a=Math.floor((i=new Date().getTime()-o.getTime())/6e4),s=Math.floor(i/36e5),l=Math.floor(i/864e5),a<1?"just now":a<60?`${a}m ago`:s<24?`${s}h ago`:l<7?`${l}d ago`:o.toLocaleDateString())}):null]})]})]}),(0,t.jsx)(B.DropdownMenuPortal,{children:(0,t.jsxs)(B.DropdownMenuSubContent,{onClick:V,onPointerDown:V,children:[(0,t.jsxs)(B.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>void F(`claude --resume ${e.id} --project ${n}`),children:[(0,t.jsx)(z.Terminal,{className:"h-3.5 w-3.5"}),"Copy resume command"]}),(0,t.jsxs)(B.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>void F(e.id),children:[(0,t.jsx)(R.Copy,{className:"h-3.5 w-3.5"}),"Copy session ID"]}),(0,t.jsxs)(B.DropdownMenuItem,{className:"gap-2 text-xs",onClick:()=>{let e=`vscode://file${n}`;window.open(e,"_blank")},children:[(0,t.jsx)(T.ExternalLink,{className:"h-3.5 w-3.5"}),"Open in IDE"]}),r&&e.filePath?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(B.DropdownMenuSeparator,{}),(0,t.jsxs)(B.DropdownMenuItem,{className:"gap-2 text-xs font-medium text-violet-700 focus:bg-violet-50 focus:text-violet-800",onClick:()=>r(e,e.filePath),children:[(0,t.jsx)(O.Sparkles,{className:"h-3.5 w-3.5 text-violet-500"}),"Create feature from session"]})]}):null]})})]})}function Y({agentType:e,className:n}){let r=(0,I.getAgentTypeIcon)(e);return(0,t.jsx)(r,{className:n})}function K(e){return D.featureNodeStateConfig[e.state].icon}function Z(e,t){return t("requirements"===e.lifecycle?"featureNode.reviewRequirements":"implementation"===e.lifecycle?"featureNode.reviewTechnicalPlan":"review"===e.lifecycle?"featureNode.reviewChanges":"featureNode.review")}function W(e,t){let n=D.featureNodeStateConfig[e.state];switch(e.state){case"creating":return t("featureNode.creating");case"running":return D.lifecycleRunningVerbs[e.lifecycle];case"done":return e.runtime?t("featureNode.completedIn",{runtime:e.runtime}):t("featureNode.completed");case"blocked":return e.blockedBy?t("featureNode.waitingOn",{blockedBy:e.blockedBy}):t("featureNode.blocked");case"pending":return t("featureNode.pending");case"action-required":return Z(e,t);case"error":return e.errorMessage??t("featureNode.somethingWentWrong");default:return n.label}}function U({data:e,selected:I}){let A,R,T,{t:z,i18n:$}=(0,o.useTranslation)("web"),L=(0,i.useRouter)(),O="rtl"===$.dir(),B=O?s.Position.Right:s.Position.Left,H=O?s.Position.Left:s.Position.Right,F=D.featureNodeStateConfig[e.state],V=F.icon,[q,U]=(0,n.useState)(!1),[G,Q]=(0,n.useState)(!1),[J,ee]=(0,n.useState)(!1),et=(0,E.useFeatureFlags)(),en=(0,_.useTurnStatus)(e.featureId),er=et.envDeploy&&e.repositoryPath&&e.branch?{targetId:e.featureId,targetType:"feature",repositoryPath:e.repositoryPath,branch:e.branch}:null,eo=(0,M.useDeployAction)(er),ei="Booting"===eo.status||"Ready"===eo.status,ea="Ready"===eo.status;return(0,t.jsxs)("div",{className:"animate-in fade-in group relative duration-300",style:{direction:O?"rtl":"ltr"},children:[e.showHandles?(0,t.jsx)(a.Handle,{type:"target",position:B,isConnectable:!1,className:"opacity-0!",style:{top:70}}):null,(0,t.jsx)("div",{className:"absolute -start-14 top-0 bottom-0 flex items-center justify-center ps-4 pe-3 opacity-0 transition-opacity group-hover:opacity-100",onPointerDown:e=>e.stopPropagation(),children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[e.onArchive&&e.featureId&&"deleting"!==e.state&&"archived"!==e.state?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{"aria-label":z("featureNode.archiveFeature"),"data-testid":"feature-node-archive-button",onClick:e=>{e.stopPropagation(),ee(!0)},className:"bg-card text-muted-foreground flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors hover:border-gray-500 hover:text-gray-600",children:(0,t.jsx)(y.Archive,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"left",children:z("featureNode.archiveFeature")})]})}):null,e.onDelete&&e.featureId&&"deleting"!==e.state?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{"aria-label":z("featureNode.deleteFeature"),"data-testid":"feature-node-delete-button",onClick:e=>{e.stopPropagation(),U(!0)},className:"bg-card text-muted-foreground hover:border-destructive hover:text-destructive flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors",children:(0,t.jsx)(u.Trash2,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"left",children:z("featureNode.deleteFeature")})]})}):null,e.onUnarchive&&e.featureId&&"archived"===e.state?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{"aria-label":z("featureNode.unarchiveFeature"),"data-testid":"feature-node-unarchive-button",onClick:t=>{t.stopPropagation(),e.onUnarchive?.(e.featureId)},className:"bg-card text-muted-foreground hover:border-primary hover:text-primary flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border shadow-sm transition-colors",children:(0,t.jsx)(v.ArchiveRestore,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"left",children:z("featureNode.unarchiveFeature")})]})}):null]})}),e.onDelete&&e.featureId&&"deleting"!==e.state?(0,t.jsx)(P.DeleteFeatureDialog,{open:q,onOpenChange:U,onConfirm:(t,n,r)=>{U(!1),e.onDelete?.(e.featureId,t,n,r)},isDeleting:!1,featureName:e.name??"this feature",featureId:e.featureId,hasChildren:e.hasChildren,hasOpenPr:!!e.pr&&"Open"===e.pr.status}):null,e.onArchive&&e.featureId&&"deleting"!==e.state&&"archived"!==e.state?(0,t.jsx)(j.AlertDialog,{open:J,onOpenChange:ee,children:(0,t.jsxs)(j.AlertDialogContent,{onCloseAutoFocus:e=>e.preventDefault(),children:[(0,t.jsxs)(j.AlertDialogHeader,{children:[(0,t.jsx)(j.AlertDialogTitle,{children:z("featureNode.archiveConfirmTitle")}),(0,t.jsx)(j.AlertDialogDescription,{children:(0,t.jsx)(r.Trans,{t:z,i18nKey:"featureNode.archiveConfirmDescription",values:{name:e.name},components:{strong:(0,t.jsx)("strong",{})}})})]}),(0,t.jsxs)(j.AlertDialogFooter,{children:[(0,t.jsx)(j.AlertDialogCancel,{onClick:()=>ee(!1),children:z("featureNode.cancel")}),(0,t.jsx)(j.AlertDialogAction,{onClick:()=>{ee(!1),e.onArchive?.(e.featureId)},children:z("featureNode.archive")})]})]})}):null,(0,t.jsxs)("div",{"data-testid":"feature-node-card","aria-busy":"creating"===e.state||"deleting"===e.state?"true":void 0,className:(0,w.cn)("bg-card flex min-h-35 w-97 cursor-pointer flex-col rounded-lg border p-3 shadow-sm transition-[border-color] duration-200 dark:bg-neutral-800/80","action-required"===e.state&&"border-s-[3px] border-s-rose-400 dark:border-s-amber-500","action-required"===e.state&&I&&"border-e-rose-400 border-t-rose-400 border-b-rose-400 dark:border-e-amber-500 dark:border-t-amber-500 dark:border-b-amber-500",I&&"action-required"!==e.state&&"border-blue-400 dark:border-amber-500/60","deleting"===e.state&&"opacity-60","archived"===e.state&&"opacity-50"),children:["creating"!==e.state?(0,t.jsx)("div",{className:"absolute end-4 top-3",children:(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("span",{"data-testid":"feature-node-phase-badge",className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:D.lifecyclePhaseBadge[e.lifecycle].tooltip}),(0,t.jsx)("span",{className:(0,w.cn)("h-1.5 w-1.5 -translate-y-px rounded-full",D.lifecyclePhaseBadge[e.lifecycle].dot)})]})}),(0,t.jsxs)(k.TooltipContent,{side:"right",className:"max-w-56",children:[(0,t.jsx)("p",{className:"font-semibold",children:D.lifecyclePhaseBadge[e.lifecycle].tooltip}),(0,t.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-neutral-500",children:D.lifecyclePhaseBadge[e.lifecycle].description})]})]})})}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5 pe-24",children:[e.agentType?(0,t.jsx)(Y,{agentType:e.agentType,className:"h-4 w-4 shrink-0"}):null,(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{"data-testid":"feature-node-fast-mode-badge",className:"shrink-0",children:e.fastMode?(0,t.jsx)(c.Zap,{className:"h-3.5 w-3.5 text-amber-500"}):(0,t.jsx)(d.ClipboardList,{className:"h-3.5 w-3.5 text-indigo-500"})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:z(e.fastMode?"featureNode.fastMode":"featureNode.specDriven")})]})}),(0,t.jsx)("h3",{className:"min-w-0 truncate text-sm font-bold",children:e.name})]}),e.description?(0,t.jsx)("p",{"data-testid":"feature-node-description",className:"text-muted-foreground mt-1 line-clamp-2 text-xs",children:e.description}):null,(0,t.jsxs)("div",{className:"mt-auto pt-2",children:[F.showProgressBar?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"text-muted-foreground flex items-center justify-end text-[10px]",children:(0,t.jsxs)("span",{children:[e.progress,"%"]})}),(0,t.jsx)("div",{"data-testid":"feature-node-progress-bar",className:"bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full",children:(0,t.jsx)("div",{className:(0,w.cn)("h-full rounded-full transition-all",F.progressClass),style:{width:`${e.progress}%`}})})]}):null,F.showProgressBar||["deleting","creating","running","done","action-required","pending","blocked"].includes(e.state)?null:(0,t.jsxs)("div",{"data-testid":"feature-node-badge",className:"relative flex min-w-0 items-center gap-1.5 text-xs",children:[(A=K(e),(0,t.jsx)(A,{className:(0,w.cn)("h-3.5 w-3.5 shrink-0",F.badgeClass)})),(0,t.jsx)("span",{className:(0,w.cn)("translate-y-px truncate text-[11px] font-medium",F.badgeClass),children:W(e,z)})]}),(0,t.jsxs)("div",{className:"mt-1.5 flex min-h-[26px] items-center justify-between gap-2",style:{transform:"translateY(1px)"},children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[e.featureId?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","data-testid":"feature-node-id",className:"nodrag text-muted-foreground/60 hover:text-muted-foreground flex shrink-0 cursor-pointer items-baseline gap-1 font-mono text-[10px] transition-colors active:scale-95",onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.featureId),Q(!0),setTimeout(()=>Q(!1),1500)},children:G?(0,t.jsx)("span",{className:"text-emerald-500",children:z("featureNode.copied")}):e.featureId.slice(0,6)})}),(0,t.jsxs)(k.TooltipContent,{side:"top",children:["Click to copy: ",e.featureId]})]})}):null,e.worktreePath??e.repositoryPath?(0,t.jsx)(X,{repositoryPath:e.worktreePath??e.repositoryPath}):null,"creating"!==e.state&&"deleting"!==e.state&&(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(N.Button,{variant:"ghost",size:"xs","aria-label":"Open chat","data-testid":"feature-node-chat-button",onClick:t=>{t.stopPropagation(),L.push(`/feature/${e.featureId}/chat`)},className:"nodrag relative cursor-pointer text-violet-500 hover:text-violet-600 dark:text-violet-400 dark:hover:text-violet-300",children:[(0,t.jsx)(b.MessageSquare,{className:"h-3 w-3"}),(0,t.jsx)(S.ChatDotIndicator,{status:en})]})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:(0,t.jsx)("p",{className:"text-xs",children:z("featureNode.chatWithAgent")})})]})}),er&&"deleting"!==e.state&&"creating"!==e.state?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"bg-border h-3 w-px shrink-0"}),ea?(0,t.jsxs)("span",{className:"group/deploy nodrag flex min-w-0 items-center gap-1.5","data-testid":"feature-node-deploy-button",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":z("featureNode.stopDevServer"),className:"flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors",onClick:e=>{e.stopPropagation(),eo.stop()},children:eo.stopLoading?(0,t.jsx)(h.Loader2,{className:"h-3.5 w-3.5 animate-spin text-red-500"}):(0,t.jsxs)("span",{className:"relative h-3.5 w-3.5",children:[(0,t.jsx)(f.Globe,{className:"absolute inset-0 h-3.5 w-3.5 text-green-600 transition-opacity duration-200 group-hover/deploy:opacity-0 dark:text-green-400"}),(0,t.jsx)(m.Square,{className:"absolute inset-0 h-3.5 w-3.5 text-red-500 opacity-0 transition-opacity duration-200 group-hover/deploy:opacity-100 dark:text-red-400"})]})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:z("featureNode.stopDevServer")})]})}),eo.url?(0,t.jsx)("a",{href:eo.url,target:"_blank",rel:"noopener noreferrer","data-testid":"feature-node-deployment-indicator",className:"nodrag min-w-0 truncate text-[10px] text-green-700 hover:underline dark:text-green-400",onClick:e=>e.stopPropagation(),children:eo.url}):null]}):ei?(0,t.jsxs)("span",{className:"nodrag flex min-w-0 items-center gap-1.5","data-testid":"feature-node-deploy-button",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":z("featureNode.stopDevServer"),className:"flex h-5 shrink-0 cursor-pointer items-center justify-center rounded-full text-red-500 transition-colors hover:text-red-600 dark:text-red-400 dark:hover:text-red-300",onClick:e=>{e.stopPropagation(),eo.stop()},children:eo.stopLoading?(0,t.jsx)(h.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(m.Square,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:z("featureNode.stopDevServer")})]})}),(0,t.jsx)("span",{className:"text-muted-foreground animate-pulse text-[10px]",children:z("featureNode.starting")})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:(0,w.cn)("nodrag flex shrink-0 items-center",!eo.deployError&&"[&_button]:text-green-600 [&_button]:hover:text-green-700 dark:[&_button]:text-green-400 dark:[&_button]:hover:text-green-300"),"data-testid":"feature-node-deploy-button",onClick:e=>e.stopPropagation(),children:(0,t.jsx)(C.ActionButton,{label:z(eo.deployError?"featureNode.retry":"featureNode.startDevServer"),onClick:eo.deploy,loading:eo.deployLoading,error:!1,icon:eo.deployError?p.RotateCcw:g.Play,iconOnly:!0,variant:"ghost",size:"icon-xs"})})}),(0,t.jsx)(k.TooltipContent,{side:"top",children:z(eo.deployError?"featureNode.retryDevServer":"featureNode.startDevServer")})]})}),eo.deployError?(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"min-w-0 truncate text-[10px] text-red-500",children:z("featureNode.failed")})}),(0,t.jsx)(k.TooltipContent,{side:"top",className:"max-w-64",children:(0,t.jsx)("p",{className:"text-xs",children:eo.deployError})})]})}):null]})]}):null]}),"deleting"===e.state?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)(h.Loader2,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-gray-400"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:z("featureNode.deleting")})]}):"creating"===e.state||"running"===e.state?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,t.jsx)(V,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-teal-600 dark:text-teal-400"}),(0,t.jsx)("span",{className:"font-medium text-teal-600 dark:text-teal-400",children:W(e,z)})]}):"action-required"===e.state?(0,t.jsxs)(N.Button,{variant:"default",size:"xs","aria-label":Z(e,z),"data-testid":"feature-node-approve-button",onClick:()=>{},className:"nodrag dark:bg-primary dark:text-primary-foreground dark:hover:bg-primary/90 cursor-pointer bg-neutral-900 text-[11px] text-white hover:bg-neutral-800",children:[(0,t.jsx)(x.Eye,{className:"h-3 w-3"}),Z(e,z)]}):"error"===e.state&&e.onRetry?(0,t.jsxs)(N.Button,{variant:"outline",size:"xs","aria-label":z("featureNode.retry"),"data-testid":"feature-node-retry-button",onClick:t=>{t.stopPropagation(),e.onRetry(e.featureId)},className:"nodrag cursor-pointer text-[11px] font-medium",children:[(0,t.jsx)(p.RotateCcw,{className:"h-3 w-3"}),z("featureNode.retry")]}):"blocked"===e.state?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs","data-testid":"feature-node-badge",children:[(R=K(e),(0,t.jsx)(R,{className:(0,w.cn)("h-3.5 w-3.5 shrink-0",F.badgeClass)})),(0,t.jsx)("span",{className:(0,w.cn)("truncate text-[11px] font-medium",F.badgeClass),children:W(e,z)})]}):"done"===e.state?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs","data-testid":"feature-node-badge",children:[(T=K(e),(0,t.jsx)(T,{className:(0,w.cn)("h-3.5 w-3.5 shrink-0",F.badgeClass)})),(0,t.jsx)("span",{className:(0,w.cn)("text-[11px] font-medium",F.badgeClass),children:W(e,z)})]}):"pending"===e.state&&e.onStart?(0,t.jsxs)(N.Button,{variant:"outline",size:"xs","aria-label":z("featureNode.start"),"data-testid":"feature-node-start-button",onClick:t=>{t.stopPropagation(),e.onStart(e.featureId)},className:"nodrag cursor-pointer text-[11px] font-medium",children:[(0,t.jsx)(g.Play,{className:"h-3 w-3"}),z("featureNode.start")]}):null]})]})]}),e.onAction&&"deleting"!==e.state?(0,t.jsx)(a.Handle,{type:"source",position:H,className:"h-0! w-0! border-0! bg-transparent!",style:{top:70},children:(0,t.jsx)(k.TooltipProvider,{children:(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":z("featureNode.addFeature"),"data-testid":"feature-node-action-button",onClick:t=>{t.stopPropagation(),e.onAction?.()},className:"nodrag absolute start-1/2 top-1/2 flex h-6 w-6 -translate-x-1/2 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-blue-500 text-white opacity-0 shadow-md transition-opacity group-hover:opacity-100 hover:bg-blue-600",children:(0,t.jsx)(l.Plus,{className:"h-3.5 w-3.5"})})}),(0,t.jsx)(k.TooltipContent,{side:"right",children:z("featureNode.addFeature")})]})})}):e.showHandles?(0,t.jsx)(a.Handle,{type:"source",position:H,isConnectable:!1,className:"opacity-0!",style:{top:70}}):null]})}e.s(["FeatureSessionsDropdown",()=>X],80519),e.s(["FeatureNode",()=>U],89313),e.s([],47506);let G=(0,e.i(3645).default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",()=>G],7311)},76874,e=>{"use strict";let t=(0,e.i(3645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],76874)},92410,16129,65257,99045,e=>{"use strict";var t=e.i(21023);let n=(0,t.createServerReference)("40429c9cf912c02f17c2da08bf4e9db4d1a9081059",t.callServer,void 0,t.findSourceMapURL,"resumeFeature");e.s(["resumeFeature",()=>n],92410);let r=(0,t.createServerReference)("409f36190e2ab34a496a18a1119a535d506aa6c3c8",t.callServer,void 0,t.findSourceMapURL,"startFeature");e.s(["startFeature",()=>r],16129);let o=(0,t.createServerReference)("40546ee39227e6e083b5ff161e95a54a24a3739a1c",t.callServer,void 0,t.findSourceMapURL,"stopFeature");e.s(["stopFeature",()=>o],65257);var i=e.i(17406);function a(e){switch(e){case i.NotificationEventType.AgentStarted:case i.NotificationEventType.PhaseCompleted:return"running";case i.NotificationEventType.WaitingApproval:return"action-required";case i.NotificationEventType.AgentCompleted:return"done";case i.NotificationEventType.AgentFailed:case i.NotificationEventType.PrChecksFailed:return"error";case i.NotificationEventType.PrMerged:case i.NotificationEventType.PrChecksPassed:return"done";case i.NotificationEventType.PrClosed:return"action-required";case i.NotificationEventType.PrBlocked:return"blocked";case i.NotificationEventType.MergeReviewReady:return"action-required"}}let s={analyze:"requirements",requirements:"requirements",research:"research",plan:"implementation",implement:"implementation",merge:"review",maintain:"maintain",blocked:"requirements",pending:"pending",archived:"maintain"};function l(e){let t=new Set(e.filter(e=>e.eventType===i.NotificationEventType.WaitingApproval).map(e=>e.featureId));return e.map(e=>{let n=e.eventType===i.NotificationEventType.PhaseCompleted&&t.has(e.featureId);return{featureId:e.featureId,state:n?void 0:a(e.eventType),lifecycle:n?void 0:function(e){if(e)return s[e]}(e.phaseName),eventType:e.eventType,phaseName:e.phaseName}})}e.s(["mapEventTypeToState",()=>a,"resolveSseEventUpdates",()=>l],99045)}]);