@marimo-team/frontend 0.15.5 → 0.16.0-dev96986
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/ConnectedDataExplorerComponent-CNLoZkWr.js +19 -0
- package/dist/assets/{ImageComparisonComponent-CEXMKKA4.js → ImageComparisonComponent-SX7fDaTK.js} +1 -1
- package/dist/assets/{VegaLite-Bt14Ds9k.js → VegaLite-MJUW3b7C.js} +6 -6
- package/dist/assets/_baseEach-9_logFrf.js +1 -0
- package/dist/assets/_baseMap-NzEbKt5c.js +1 -0
- package/dist/assets/_baseUniq-C5LFcyNC.js +1 -0
- package/dist/assets/_createAggregator-ZRm2b6Zm.js +1 -0
- package/dist/assets/agent-panel-BBd11wNX.js +287 -0
- package/dist/assets/agent-panel-D92Mfy1i.css +1 -0
- package/dist/assets/{any-language-editor-DiwNT6zp.js → any-language-editor-DwAaEQfS.js} +1 -1
- package/dist/assets/architectureDiagram-W76B3OCA-BJmVXUoW.js +36 -0
- package/dist/assets/{between-horizontal-start-FyewyCGn.js → between-horizontal-start-KiwU-a3C.js} +1 -1
- package/dist/assets/{blockDiagram-QIGZ2CNN-BrOkAf_c.js → blockDiagram-QIGZ2CNN-DzxZjE7B.js} +1 -1
- package/dist/assets/{c4Diagram-FPNF74CW-BHPzDxE2.js → c4Diagram-FPNF74CW-DjmldG_J.js} +5 -5
- package/dist/assets/channel-DHcKBVM4.js +1 -0
- package/dist/assets/chat-panel-DgJZr0eS.js +3 -0
- package/dist/assets/{chunk-4BX2VUAB-DLxaCNYh.js → chunk-4BX2VUAB-EUTQThiZ.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-DdzvO3HR.js → chunk-55IACEB6-DZAiDJxy.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-R5o-nSiG.js → chunk-FMBD7UC4-Bd0Czs-J.js} +1 -1
- package/dist/assets/{chunk-K7UQS3LO-DxaMrGgG.js → chunk-K7UQS3LO-DEKMIknX.js} +1 -1
- package/dist/assets/{chunk-QN33PNHL-DqS9-FYm.js → chunk-QN33PNHL-E0jwHU_n.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-BZ-TzajS.js → chunk-QZHKN3VN-BzaIHJbq.js} +1 -1
- package/dist/assets/{chunk-TVAH2DTR-BsgP2dyv.js → chunk-TVAH2DTR-CZFYvqnm.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-D-h3ahXI.js → chunk-TZMSLE5B-BNqnFjtv.js} +1 -1
- package/dist/assets/{circle-play-CQtRZ-rT.js → circle-play-D3J_mYrF.js} +1 -1
- package/dist/assets/classDiagram-KNZD7YFC-D-xwLnlX.js +1 -0
- package/dist/assets/classDiagram-v2-RKCZMP56-D-xwLnlX.js +1 -0
- package/dist/assets/{clear-button-BY6Z_ViL.js → clear-button-ifzRuAR3.js} +1 -1
- package/dist/assets/clone-CSxIll62.js +1 -0
- package/dist/assets/command-palette-D2fdVSET.js +1 -0
- package/dist/assets/common-Ku-cF_2J.js +1 -0
- package/dist/assets/{compile-Ct_jzdKr.js → compile-BgZlHW1c.js} +1 -1
- package/dist/assets/cose-bilkent-S5V4N54A-CVM83SqK.js +1 -0
- package/dist/assets/dagre-5GWH7T2D-ouQPkxT3.js +4 -0
- package/dist/assets/{data-grid-overlay-editor-BN_wulc3.js → data-grid-overlay-editor-B47j5GJJ.js} +1 -1
- package/dist/assets/datasources-panel-Bt41Zir-.js +1 -0
- package/dist/assets/{dependency-graph-panel-BOmSCZf7.js → dependency-graph-panel-CZC_B7pK.js} +4 -4
- package/dist/assets/diagram-N5W7TBWH-CQ817ZdR.js +24 -0
- package/dist/assets/diagram-QEK2KX5R-DOK_psUO.js +43 -0
- package/dist/assets/diagram-S2PKOQOG-CVljmOW8.js +24 -0
- package/dist/assets/{documentation-panel-BxjJO_Gw.js → documentation-panel-C7yIvGg1.js} +1 -1
- package/dist/assets/edit-page-CyTMQV2u.js +129 -0
- package/dist/assets/{ellipsis-vertical-UHbmjI2n.js → ellipsis-vertical-C7FjlUsY.js} +1 -1
- package/dist/assets/{empty-state-BIBXzY_0.js → empty-state-DIOGM_CU.js} +1 -1
- package/dist/assets/{erDiagram-AWTI2OKA-E84mAle_.js → erDiagram-AWTI2OKA-DYu8cEdc.js} +1 -1
- package/dist/assets/{error-panel-MEvQ6K7h.js → error-panel-Ddb8RkFG.js} +1 -1
- package/dist/assets/file-explorer-panel-Oy9DbyFP.js +1 -0
- package/dist/assets/{flowDiagram-PVAE7QVJ-DfbIRSAW.js → flowDiagram-PVAE7QVJ-CmvW5iTb.js} +1 -1
- package/dist/assets/{ganttDiagram-OWAHRB6G-DR4HZ1z_.js → ganttDiagram-OWAHRB6G-BaKQlCaT.js} +4 -4
- package/dist/assets/gitGraphDiagram-NY62KEGX-CWO24eP6.js +65 -0
- package/dist/assets/{glide-data-editor-nNmo1lPq.js → glide-data-editor-CNDLEJ9a.js} +11 -11
- package/dist/assets/graph-BZKTtxsc.js +1 -0
- package/dist/assets/home-page-Bvwppn9N.js +9 -0
- package/dist/assets/{index-VPWqq2Pg.js → index-0XOUPdwT.js} +1 -1
- package/dist/assets/{index-uacyUula.js → index-BH7f3aiU.js} +1 -1
- package/dist/assets/{index-Dt9UWeWn.js → index-BJVyzkx5.js} +1 -1
- package/dist/assets/{index-BAH034Ue.js → index-B_d_JZGI.js} +1 -1
- package/dist/assets/{index-CB2pnVQG.js → index-BgXbBA39.js} +1 -1
- package/dist/assets/{index-B8llrTSo.js → index-Brf2DwUM.js} +1 -1
- package/dist/assets/{index-BLu5CX6z.js → index-CXrWwFX6.js} +1 -1
- package/dist/assets/{index-DyLSuOH1.js → index-CZaurnA9.js} +1 -1
- package/dist/assets/{index-BFSnz7iM.js → index-CerjupfZ.js} +1 -1
- package/dist/assets/{index-B7yXbrLa.js → index-D-tZfElD.js} +1 -1
- package/dist/assets/{index-c6If577Q.js → index-D3PqGupX.js} +1 -1
- package/dist/assets/{index-CSgxTUzD.js → index-DCkzth56.js} +1 -1
- package/dist/assets/{index-DWOaniGT.js → index-DFrGFNW1.js} +1 -1
- package/dist/assets/{index-CPN7TRA1.js → index-DZhOPkOB.js} +1 -1
- package/dist/assets/index-DadI618h.css +1 -0
- package/dist/assets/{index-DqzMPAC8.js → index-DkntzpX4.js} +2 -2
- package/dist/assets/{index-B1_GXGaP.js → index-DmgwT3sx.js} +1 -1
- package/dist/assets/index-PmY0x4Zd.js +578 -0
- package/dist/assets/{index-Bq516OmX.js → index-WXJFkQHg.js} +1 -1
- package/dist/assets/{index-DSU75csX.js → index-qE8lHQ-N.js} +1 -1
- package/dist/assets/{index-DMomwMcN.js → index-zrSUQXha.js} +1 -1
- package/dist/assets/infoDiagram-STP46IZ2-CAuVVehw.js +2 -0
- package/dist/assets/isEmpty-D1t7Gran.js +1 -0
- package/dist/assets/{journeyDiagram-BIP6EPQ6-BBiFyygf.js → journeyDiagram-BIP6EPQ6-D4Rp6H_h.js} +1 -1
- package/dist/assets/{kanban-definition-6OIFK2YF-DhgA6Nt6.js → kanban-definition-6OIFK2YF-DFt9DftA.js} +4 -4
- package/dist/assets/layout-D8WXi2_g.js +1 -0
- package/dist/assets/linear-BwY8e5hA.js +1 -0
- package/dist/assets/links-4B6ldZ5P.js +7 -0
- package/dist/assets/{logs-panel-B9SmTZAW.js → logs-panel-Dxiyt7dO.js} +1 -1
- package/dist/assets/{agent-panel-DpQ6muj-.css → markdown-renderer-ClyzDMmG.css} +1 -1
- package/dist/assets/markdown-renderer-VDu-NBKB.js +263 -0
- package/dist/assets/mermaid-B-O-Puyi.js +1 -0
- package/dist/assets/{mermaid.core-4nVOEVX3.js → mermaid.core-BFFCqfOn.js} +41 -41
- package/dist/assets/min-DtVSfYKl.js +1 -0
- package/dist/assets/{mindmap-definition-Q6HEUPPD-CVLQNn1q.js → mindmap-definition-Q6HEUPPD-kyvIY8Dg.js} +2 -2
- package/dist/assets/{number-overlay-editor-CzRzXLcd.js → number-overlay-editor-GjLB2UK4.js} +1 -1
- package/dist/assets/outline-panel-CMJjOoN7.js +1 -0
- package/dist/assets/packages-panel-nfXB-bKW.js +1 -0
- package/dist/assets/{pieDiagram-ADFJNKIX-C5IQ5DBZ.js → pieDiagram-ADFJNKIX-D8JFQcWR.js} +3 -3
- package/dist/assets/{quadrantDiagram-LMRXKWRM-CFXFnQxx.js → quadrantDiagram-LMRXKWRM-Nf8GzxXG.js} +1 -1
- package/dist/assets/{react-plotly-mzdv02_Y.js → react-plotly-CnW9p7ZA.js} +1 -1
- package/dist/assets/{requirementDiagram-4UW4RH46-D9bPC89T.js → requirementDiagram-4UW4RH46-CCUxF8BZ.js} +1 -1
- package/dist/assets/run-page-Bl4p3AbZ.js +1 -0
- package/dist/assets/sankeyDiagram-GR3RE2ED-Sr8kDwP1.js +10 -0
- package/dist/assets/scratchpad-panel-Ja1Mu-W3.js +1 -0
- package/dist/assets/secrets-panel-B-3fcSyP.js +1 -0
- package/dist/assets/{sequenceDiagram-C3RYC4MD-6N7_hY4k.js → sequenceDiagram-C3RYC4MD-CBJ152Q3.js} +4 -4
- package/dist/assets/{slides-component-DMjQomc3.css → slides-component-C-LoGC1U.css} +1 -1
- package/dist/assets/{slides-component-EcjC8sDK.js → slides-component-DGtsVP5o.js} +1 -1
- package/dist/assets/snippets-panel-ClNnwKBM.js +1 -0
- package/dist/assets/sortBy-D47H6Vyl.js +1 -0
- package/dist/assets/state-B_RCHTH5.js +1 -0
- package/dist/assets/stateDiagram-KXAO66HF-BlBFSAZr.js +1 -0
- package/dist/assets/stateDiagram-v2-UMBNRL4Z-DbA-iToo.js +1 -0
- package/dist/assets/storage-BNcWOH3-.js +26 -0
- package/dist/assets/terminal-CATzv5Hd.js +10 -0
- package/dist/assets/time-CsYqILfB.js +1 -0
- package/dist/assets/{timeline-definition-XQNQX7LJ-BEaynAiY.js → timeline-definition-XQNQX7LJ-CGrhjuAs.js} +1 -1
- package/dist/assets/tracing-DUbJtOyq.js +2 -0
- package/dist/assets/{tracing-panel-BmuHLPrY.js → tracing-panel-DmzqPUtc.js} +2 -2
- package/dist/assets/{trash-UBqfK4mR.js → trash-rxdjLzkf.js} +1 -1
- package/dist/assets/{tree-XiEycetl.js → tree-C2Ul1h1C.js} +1 -1
- package/dist/assets/{treemap-75Q7IDZK-CnuVFbBG.js → treemap-75Q7IDZK-N9hyUpyj.js} +20 -20
- package/dist/assets/{ts-tags-CloPe9IY.js → ts-tags-DxCDHihD.js} +1 -1
- package/dist/assets/variable-panel-BbgupOdG.js +1 -0
- package/dist/assets/{vega-component-DsTH4tuX.js → vega-component-CR_MHOBT.js} +1 -1
- package/dist/assets/worker-fHbtoWvT.js +1 -0
- package/dist/assets/{xychartDiagram-6GGTOJPD-Dcz3O-A3.js → xychartDiagram-6GGTOJPD-jdLZsMb2.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +10 -5
- package/src/__tests__/mocks.ts +43 -0
- package/src/components/app-config/user-config-form.tsx +78 -1
- package/src/components/chat/acp/__tests__/__snapshots__/prompt.test.ts.snap +116 -65
- package/src/components/chat/acp/__tests__/atoms.test.ts +1 -1
- package/src/components/chat/acp/__tests__/context-utils.test.ts +222 -0
- package/src/components/chat/acp/__tests__/prompt.test.ts +1 -1
- package/src/components/chat/acp/__tests__/state.test.ts +38 -42
- package/src/components/chat/acp/agent-docs.tsx +33 -6
- package/src/components/chat/acp/agent-panel.css +0 -18
- package/src/components/chat/acp/agent-panel.tsx +394 -72
- package/src/components/chat/acp/agent-selector.tsx +7 -1
- package/src/components/chat/acp/blocks.tsx +40 -10
- package/src/components/chat/acp/common.tsx +10 -2
- package/src/components/chat/acp/context-utils.ts +127 -0
- package/src/components/chat/acp/prompt.ts +96 -53
- package/src/components/chat/acp/state.ts +1 -1
- package/src/components/chat/acp/types.ts +8 -0
- package/src/components/chat/chat-panel.tsx +28 -89
- package/src/components/chat/chat-utils.ts +127 -1
- package/src/components/chat/markdown-renderer.css +39 -0
- package/src/components/chat/markdown-renderer.tsx +12 -47
- package/src/components/chat/tool-call-accordion.tsx +148 -26
- package/src/components/data-table/SearchBar.tsx +8 -7
- package/src/components/data-table/__tests__/column_formatting.test.ts +50 -35
- package/src/components/data-table/__tests__/data-table.test.tsx +39 -1
- package/src/components/data-table/cell-hover-template/feature.ts +14 -0
- package/src/components/data-table/cell-hover-template/types.ts +11 -0
- package/src/components/data-table/charts/components/form-fields.tsx +41 -37
- package/src/components/data-table/charts/forms/common-chart.tsx +2 -2
- package/src/components/data-table/column-explorer-panel/column-explorer.tsx +5 -2
- package/src/components/data-table/column-formatting/feature.ts +62 -29
- package/src/components/data-table/column-formatting/types.ts +1 -0
- package/src/components/data-table/column-header.tsx +3 -1
- package/src/components/data-table/column-summary/chart-spec-model.tsx +24 -7
- package/src/components/data-table/column-summary/column-summary.tsx +18 -9
- package/src/components/data-table/columns.tsx +42 -18
- package/src/components/data-table/data-table.tsx +10 -2
- package/src/components/data-table/date-popover.tsx +85 -75
- package/src/components/data-table/filter-pills.tsx +14 -9
- package/src/components/data-table/header-items.tsx +5 -1
- package/src/components/data-table/pagination.tsx +20 -13
- package/src/components/data-table/renderers.tsx +28 -0
- package/src/components/data-table/row-viewer-panel/row-viewer.tsx +10 -8
- package/src/components/datasources/column-preview.tsx +6 -2
- package/src/components/datasources/datasources.tsx +8 -12
- package/src/components/editor/Cell.tsx +6 -0
- package/src/components/editor/actions/name-cell-input.tsx +6 -1
- package/src/components/editor/actions/useCellActionButton.tsx +3 -1
- package/src/components/editor/ai/__tests__/completion-utils.test.ts +178 -1
- package/src/components/editor/ai/add-cell-with-ai.tsx +68 -66
- package/src/components/editor/ai/ai-completion-editor.tsx +29 -26
- package/src/components/editor/ai/completion-handlers.tsx +44 -6
- package/src/components/editor/ai/completion-utils.ts +92 -0
- package/src/components/editor/ai/transport/chat-transport.tsx +39 -0
- package/src/components/editor/cell/CellStatus.tsx +23 -20
- package/src/components/editor/cell/CreateCellButton.tsx +3 -4
- package/src/components/editor/cell/StagedAICell.tsx +51 -0
- package/src/components/editor/cell/cell-actions.tsx +2 -1
- package/src/components/editor/cell/code/language-toggle.tsx +3 -4
- package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +39 -28
- package/src/components/editor/controls/notebook-menu-dropdown.tsx +4 -2
- package/src/components/editor/file-tree/requesting-tree.tsx +14 -8
- package/src/components/editor/renderers/CellArray.tsx +3 -4
- package/src/components/editor/renderers/slides-layout/slides-layout.tsx +3 -3
- package/src/components/editor/renderers/slides-layout/types.ts +1 -0
- package/src/components/pages/home-page.tsx +4 -1
- package/src/components/slides/slides-component.tsx +1 -1
- package/src/components/slides/slides.css +6 -0
- package/src/components/terminal/__tests__/state.test.ts +207 -0
- package/src/components/terminal/hooks.ts +41 -0
- package/src/components/terminal/state.ts +75 -0
- package/src/components/terminal/terminal.tsx +334 -13
- package/src/components/terminal/theme.tsx +57 -0
- package/src/components/tracing/tracing-spec.ts +5 -4
- package/src/components/ui/range-slider.tsx +4 -2
- package/src/components/ui/slider.tsx +3 -1
- package/src/components/variables/variables-table.tsx +3 -0
- package/src/core/MarimoApp.tsx +9 -6
- package/src/core/ai/__tests__/staged-cells.test.ts +356 -0
- package/src/core/ai/context/__tests__/registry.test.ts +6 -4
- package/src/core/ai/context/providers/cell-output.ts +3 -2
- package/src/core/ai/context/providers/error.ts +3 -1
- package/src/core/ai/context/providers/file.ts +7 -2
- package/src/core/ai/context/providers/tables.ts +3 -2
- package/src/core/ai/context/providers/variable.ts +6 -4
- package/src/core/ai/staged-cells.ts +208 -0
- package/src/core/cells/cells.ts +1 -1
- package/src/core/cells/logs.ts +1 -1
- package/src/core/codemirror/find-replace/search-highlight.ts +3 -1
- package/src/core/codemirror/language/LanguageAdapters.ts +9 -3
- package/src/core/codemirror/lsp/federated-lsp.ts +1 -1
- package/src/core/codemirror/lsp/notebook-lsp.ts +8 -2
- package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
- package/src/core/codemirror/rtc/loro/awareness.ts +52 -17
- package/src/core/codemirror/rtc/loro/sync.ts +12 -4
- package/src/core/config/config-schema.ts +1 -0
- package/src/core/config/config.ts +4 -0
- package/src/core/hotkeys/hotkeys.ts +8 -4
- package/src/core/i18n/__tests__/locale-provider.test.tsx +176 -0
- package/src/core/i18n/locale-provider.tsx +35 -0
- package/src/core/i18n/with-locale.tsx +12 -0
- package/src/core/islands/components/web-components.tsx +13 -10
- package/src/core/islands/main.ts +2 -2
- package/src/core/kernel/RuntimeState.ts +4 -1
- package/src/core/kernel/messages.ts +8 -12
- package/src/core/network/DeferredRequestRegistry.ts +16 -4
- package/src/core/runtime/runtime.ts +5 -4
- package/src/core/saving/__tests__/filename.test.ts +37 -0
- package/src/core/static/__tests__/download-html.test.ts +43 -1
- package/src/core/wasm/bridge.ts +5 -1
- package/src/core/wasm/store.ts +4 -1
- package/src/core/wasm/worker/message-buffer.ts +3 -2
- package/src/core/websocket/types.ts +22 -16
- package/src/core/websocket/useMarimoWebSocket.tsx +2 -2
- package/src/css/app/Cell.css +11 -0
- package/src/hooks/useFormatting.ts +97 -0
- package/src/hooks/useTimer.ts +8 -5
- package/src/plugins/core/RenderHTML.tsx +36 -2
- package/src/plugins/core/__test__/RenderHTML.test.ts +72 -0
- package/src/plugins/core/registerReactComponent.tsx +44 -10
- package/src/plugins/impl/DataTablePlugin.tsx +4 -0
- package/src/plugins/impl/FileBrowserPlugin.tsx +8 -2
- package/src/plugins/impl/RangeSliderPlugin.tsx +5 -3
- package/src/plugins/impl/SliderPlugin.tsx +3 -1
- package/src/plugins/impl/anywidget/model.ts +16 -5
- package/src/plugins/impl/data-editor/types.ts +7 -5
- package/src/plugins/impl/data-explorer/components/column-summary.tsx +20 -13
- package/src/plugins/impl/panel/utils.ts +6 -4
- package/src/plugins/layout/OutlinePlugin.tsx +69 -0
- package/src/plugins/layout/StatPlugin.tsx +4 -1
- package/src/plugins/plugins.ts +2 -0
- package/src/stories/cell.stories.tsx +1 -1
- package/src/stories/layout/vertical/one-column.stories.tsx +1 -1
- package/src/utils/__tests__/cell-urls.test.ts +29 -0
- package/src/utils/__tests__/dates.test.ts +45 -24
- package/src/utils/__tests__/filenames.test.ts +18 -0
- package/src/utils/__tests__/numbers.test.ts +42 -30
- package/src/utils/__tests__/once.test.ts +187 -0
- package/src/utils/__tests__/path.test.ts +38 -0
- package/src/utils/__tests__/urls.test.ts +56 -1
- package/src/utils/dates.ts +15 -10
- package/src/utils/edit-distance.ts +8 -6
- package/src/utils/errors.ts +9 -0
- package/src/utils/id-tree.tsx +21 -10
- package/src/utils/localStorage.ts +13 -4
- package/src/utils/numbers.ts +11 -11
- package/src/utils/once.ts +32 -0
- package/src/utils/paths.ts +4 -1
- package/src/utils/pluralize.ts +12 -5
- package/src/utils/python-poet/poet.ts +30 -15
- package/src/utils/time.ts +5 -1
- package/dist/assets/ConnectedDataExplorerComponent-Cn5-l2X1.js +0 -19
- package/dist/assets/_baseEach-C1FLm7WW.js +0 -1
- package/dist/assets/_baseMap-DBVArUYD.js +0 -1
- package/dist/assets/_baseUniq-Dk7ZPJ3N.js +0 -1
- package/dist/assets/_createAggregator-Bn38fDd3.js +0 -1
- package/dist/assets/agent-panel-COUYnuIK.js +0 -475
- package/dist/assets/architectureDiagram-W76B3OCA-DBzWQKKu.js +0 -36
- package/dist/assets/channel-CjhbjOv4.js +0 -1
- package/dist/assets/chat-panel-BPXKoTnZ.js +0 -7
- package/dist/assets/chat-panel-Brrs_eeH.css +0 -1
- package/dist/assets/classDiagram-KNZD7YFC-DHs5cFzy.js +0 -1
- package/dist/assets/classDiagram-v2-RKCZMP56-DHs5cFzy.js +0 -1
- package/dist/assets/clone-DM1YNjEn.js +0 -1
- package/dist/assets/command-palette-S0bzQp7v.js +0 -1
- package/dist/assets/common-B8U9k2Ly.js +0 -1
- package/dist/assets/cose-bilkent-S5V4N54A-wz1Sfx7j.js +0 -1
- package/dist/assets/dagre-5GWH7T2D-BfpcVBgq.js +0 -4
- package/dist/assets/datasources-panel-DfuURLJw.js +0 -1
- package/dist/assets/diagram-N5W7TBWH-Bf0oqqQh.js +0 -24
- package/dist/assets/diagram-QEK2KX5R-ZTc3qikh.js +0 -43
- package/dist/assets/diagram-S2PKOQOG-tLScBy7Z.js +0 -24
- package/dist/assets/edit-page-DJ8kJZ9w.js +0 -129
- package/dist/assets/file-explorer-panel-CzNUJ63G.js +0 -1
- package/dist/assets/gitGraphDiagram-NY62KEGX-C1t6QtVa.js +0 -65
- package/dist/assets/graph-CssCVWIq.js +0 -1
- package/dist/assets/home-page-9eW6qida.js +0 -9
- package/dist/assets/index-CknhX2Vy.css +0 -1
- package/dist/assets/index-DcCIe7np.js +0 -28
- package/dist/assets/index-OC46250R.js +0 -570
- package/dist/assets/infoDiagram-STP46IZ2-CwiAoz9f.js +0 -2
- package/dist/assets/layout-DpQrxGW-.js +0 -1
- package/dist/assets/linear-NsreOeBF.js +0 -1
- package/dist/assets/links-CbvGxbsJ.js +0 -7
- package/dist/assets/mermaid-DSt0r6IQ.js +0 -1
- package/dist/assets/min-D259kI3t.js +0 -1
- package/dist/assets/outline-panel-uvsS-YEQ.js +0 -1
- package/dist/assets/packages-panel-xMz9W2hW.js +0 -1
- package/dist/assets/run-page-Bb68qdhQ.js +0 -1
- package/dist/assets/sankeyDiagram-GR3RE2ED-BSJOau8E.js +0 -10
- package/dist/assets/scratchpad-panel-BF4BO-U4.js +0 -1
- package/dist/assets/secrets-panel-CdIX44dQ.js +0 -1
- package/dist/assets/snippets-panel-Dco9h0rb.js +0 -1
- package/dist/assets/sortBy-aLGA-PGK.js +0 -1
- package/dist/assets/stateDiagram-KXAO66HF-Bd68WT3b.js +0 -1
- package/dist/assets/stateDiagram-v2-UMBNRL4Z-BXz_GSwb.js +0 -1
- package/dist/assets/storage-CGlP4lCF.js +0 -26
- package/dist/assets/terminal-CxkHubcu.js +0 -9
- package/dist/assets/time-D2nr1UgQ.js +0 -1
- package/dist/assets/tracing-kTqHxa7q.js +0 -2
- package/dist/assets/variable-panel-noTnH-AQ.js +0 -1
- package/dist/assets/worker-X5rxzQGQ.js +0 -1
package/dist/assets/{dependency-graph-panel-BOmSCZf7.js → dependency-graph-panel-CZC_B7pK.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var pl=Object.defineProperty;var yl=(nt,Ze,at)=>Ze in nt?pl(nt,Ze,{enumerable:!0,configurable:!0,writable:!0,value:at}):nt[Ze]=at;var Se=(nt,Ze,at)=>yl(nt,typeof Ze!="symbol"?Ze+"":Ze,at);import{c as Ft,fK as vl,d as B,fL as bl,r as z,a$ as Xt,fM as si,a as Ke,B as El,ab as ci,I as li,fN as xl,j as F,dc as wl,ad as Sl,aO as yt,eq as Nl,dd as Cl,ac as _l,ae as kl,bT as Ml,K as co,bc as Ol,aZ as Il,a_ as Pl,fO as Dl,cA as di,fP as ui,fQ as jl,ap as Rl,aw as zl,cd as hi,aj as gi,bS as Tl,fR as Al,__tla as Bl}from"./index-OC46250R.js";import{T as Ll,__tla as $l}from"./storage-CGlP4lCF.js";import{s as He,i as tt,T as lo,a as uo}from"./transform-D9VCJYws.js";import{g as fi}from"./timer-Bqd5yn_a.js";import{i as Vl}from"./zoom-COrs4lFh.js";import{N as mi,j as Hl,a as Yl,k as Fl,__tla as Xl}from"./edit-page-DJ8kJZ9w.js";import{V as pi,C as Zl}from"./common-B8U9k2Ly.js";import{E as Kl}from"./ellipsis-vertical-UHbmjI2n.js";import"./index-Dt9UWeWn.js";import"./index-BAH034Ue.js";import"./index-DqzMPAC8.js";import"./index-DSU75csX.js";import"./index-CSgxTUzD.js";import"./index-BLu5CX6z.js";import"./index-B8llrTSo.js";import"./index-CPN7TRA1.js";import"./index-BFSnz7iM.js";import"./index-Bq516OmX.js";import"./index-CB2pnVQG.js";import"./index-DWOaniGT.js";import"./index-c6If577Q.js";import"./apl-CXdQSnD-.js";import"./asciiarmor-D5V0T9Cu.js";import"./asn1-DWPaVWf6.js";import"./brainfuck-CtZaYBKt.js";import"./cobol-stawOqaz.js";import"./clike-BgBwzOhw.js";import"./clojure-DiuoqK-z.js";import"./css-ZjFoif2m.js";import"./cmake-DXn5xaP-.js";import"./coffeescript-BTDxI-eT.js";import"./commonlisp-vq6DHwts.js";import"./cypher-gJDei3ni.js";import"./python-DD-Q2bae.js";import"./crystal-CRzZ78HM.js";import"./d-BShv7fp-.js";import"./diff-UJJ5BM9S.js";import"./dtd-DI9Herc-.js";import"./dylan-DkEP81N9.js";import"./ecl-DPFc0Uaf.js";import"./eiffel-DR5c0IrL.js";import"./elm-DompmV0j.js";import"./erlang-BuqgqA5h.js";import"./factor-CFXhaUWb.js";import"./simple-mode-C3vEBAcb.js";import"./forth-POgR1ypr.js";import"./fortran-DL7KluxX.js";import"./mllike-3c2dg9RT.js";import"./gas-bV0CklSb.js";import"./gherkin-B6X1vGSW.js";import"./groovy-DnIzCrpZ.js";import"./haskell-CLQs6EAM.js";import"./haxe-D25e-2l-.js";import"./idl-pcmmZuaN.js";import"./javascript-BpzJj0-u.js";import"./jinja2-DhgKlfW7.js";import"./julia-DjdwvFuI.js";import"./livescript-HO6ttBFx.js";import"./lua-8DXOpKDz.js";import"./mirc-DkvFAiy5.js";import"./mathematica-IIbmv7SK.js";import"./modelica-DSrSSXCg.js";import"./mumps-zvxmGV4l.js";import"./mbox-z_N2Mo3d.js";import"./nsis-BvKfQ9lQ.js";import"./ntriples-BSwWqoLa.js";import"./octave-C4hdQ5Hf.js";import"./oz-qQq7irPq.js";import"./pascal-CafrKXZF.js";import"./perl-tdMlh9QA.js";import"./pig-CwGJVRC4.js";import"./powershell-D1ly3AHC.js";import"./properties-_nPj978X.js";import"./protobuf-B4y9do6W.js";import"./pug-BTvK5tSS.js";import"./puppet-Bc-yJKzi.js";import"./q-B0kTJ4cI.js";import"./r-BA4EbLKE.js";import"./rpm-DI_rRufH.js";import"./ruby-CR-u2WLS.js";import"./sas-Bqaci40L.js";import"./scheme-qjP0V5Ag.js";import"./shell-BLav31RL.js";import"./sieve-r025o_jW.js";import"./smalltalk-C7J3IyEP.js";import"./sparql-BRLJFz69.js";import"./stylus-Bdo_Aemu.js";import"./swift-B_XXVlXX.js";import"./verilog-B4LBqg_1.js";import"./tcl-B2fODqDH.js";import"./textile-BuVhTOzU.js";import"./toml-wcPdHu67.js";import"./troff-Ce85hlLp.js";import"./ttcn-BxnYHtq8.js";import"./ttcn-cfg-CKJxb-l2.js";import"./turtle-BkSuIpt-.js";import"./webidl-CGwyPRYs.js";import"./vb-BHgjm0DN.js";import"./vbscript-Dawdd5GZ.js";import"./velocity-BdD_26Jv.js";import"./vhdl-CWWH2SUo.js";import"./xquery-CVDBqZPY.js";import"./yacas-I8QjZlxf.js";import"./z80-D8p3gKXp.js";import"./mscgen-B2igx18G.js";import"./index-DMomwMcN.js";import"./trash-UBqfK4mR.js";import"./links-CbvGxbsJ.js";import"./_createAggregator-Bn38fDd3.js";import"./_baseEach-C1FLm7WW.js";import{__tla as Wl}from"./loro_wasm_bg-C1ks32Vm.js";let yi,Gl=Promise.all([(()=>{try{return Bl}catch{}})(),(()=>{try{return $l}catch{}})(),(()=>{try{return Xl}catch{}})(),(()=>{try{return Wl}catch{}})()]).then(async()=>{const nt=Ft("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]),Ze=Ft("arrow-right-to-line",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]),at=Ft("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),vi=Ft("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);function Ye(t,e){if(t=(function(o){let i;for(;i=o.sourceEvent;)o=i;return o})(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var a=e.getBoundingClientRect();return[t.clientX-a.left-e.clientLeft,t.clientY-a.top-e.clientTop]}}return[t.pageX,t.pageY]}const bi={passive:!1},vt={capture:!0,passive:!1};function Zt(t){t.stopImmediatePropagation()}function it(t){t.preventDefault(),t.stopImmediatePropagation()}function ho(t){var e=t.document.documentElement,n=He(t).on("dragstart.drag",it,vt);"onselectstart"in e?n.on("selectstart.drag",it,vt):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function go(t,e){var n=t.document.documentElement,r=He(t).on("dragstart.drag",null);e&&(r.on("click.drag",it,vt),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const It=t=>()=>t;function Kt(t,{sourceEvent:e,subject:n,target:r,identifier:a,active:o,x:i,y:c,dx:d,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}function Ei(t){return!t.ctrlKey&&!t.button}function xi(){return this.parentNode}function wi(t,e){return e??{x:t.x,y:t.y}}function Si(){return navigator.maxTouchPoints||"ontouchstart"in this}Kt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};const Pt=t=>()=>t;function Ni(t,{sourceEvent:e,target:n,transform:r,dispatch:a}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:a}})}function Wt(t){t.stopImmediatePropagation()}function bt(t){t.preventDefault(),t.stopImmediatePropagation()}function Ci(t){return!(t.ctrlKey&&t.type!=="wheel"||t.button)}function _i(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function fo(){return this.__zoom||tt}function ki(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Mi(){return navigator.maxTouchPoints||"ontouchstart"in this}function Oi(t,e,n){var r=t.invertX(e[0][0])-n[0][0],a=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],i=t.invertY(e[1][1])-n[1][1];return t.translate(a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a),i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i))}function Oe(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n,r=0;r<t.length;r++)(n=Oe(t[r]))!==""&&(e+=(e&&" ")+n);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}const{useDebugValue:Ii}=B,{useSyncExternalStoreWithSelector:Pi}=vl,Di=t=>t;function mo(t,e=Di,n){const r=Pi(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Ii(r),r}const po=(t,e)=>{const n=bl(t),r=(a,o=e)=>mo(n,a,o);return Object.assign(r,n),r};function _e(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(const[r,a]of t)if(!Object.is(a,e.get(r)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(const r of t)if(!e.has(r))return!1;return!0}const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(e,r)||!Object.is(t[r],e[r]))return!1;return!0}const Dt=z.createContext(null),ji=Dt.Provider,Ri=t=>`Node type "${t}" not found. Using fallback type "default".`,zi=()=>"The React Flow parent container needs a width and a height to render the graph.",Ti=()=>"Only child nodes can use a parent extent.",Ai=t=>`Marker type "${t}" doesn't exist.`,Bi=(t,e)=>`Couldn't create edge for ${t?"target":"source"} handle id: "${t?e.targetHandle:e.sourceHandle}", edge id: ${e.id}.`,Li=()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",$i=t=>`Edge type "${t}" not found. Using fallback type "default".`,Vi=t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,yo="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function pe(t,e){const n=z.useContext(Dt);if(n===null)throw new Error(yo);return mo(n,t,e)}const Ce=()=>{const t=z.useContext(Dt);if(t===null)throw new Error(yo);return z.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}),[t])},Hi=t=>t.userSelectionActive?"none":"all";function jt({position:t,children:e,className:n,style:r,...a}){const o=pe(Hi),i=`${t}`.split("-");return B.createElement("div",{className:Oe(["react-flow__panel",n,...i]),style:{...r,pointerEvents:o},...a},e)}function Yi({proOptions:t,position:e="bottom-right"}){return t!=null&&t.hideAttribution?null:B.createElement(jt,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},B.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var Fi=z.memo(({x:t,y:e,label:n,labelStyle:r={},labelShowBg:a=!0,labelBgStyle:o={},labelBgPadding:i=[2,4],labelBgBorderRadius:c=2,children:d,className:l,...u})=>{const s=z.useRef(null),[g,f]=z.useState({x:0,y:0,width:0,height:0}),E=Oe(["react-flow__edge-textwrapper",l]);return z.useEffect(()=>{if(s.current){const h=s.current.getBBox();f({x:h.x,y:h.y,width:h.width,height:h.height})}},[n]),n!==void 0&&n?B.createElement("g",{transform:`translate(${t-g.width/2} ${e-g.height/2})`,className:E,visibility:g.width?"visible":"hidden",...u},a&&B.createElement("rect",{width:g.width+2*i[0],x:-i[0],y:-i[1],height:g.height+2*i[1],className:"react-flow__edge-textbg",style:o,rx:c,ry:c}),B.createElement("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:s,style:r},n),d):null});const Gt=t=>({width:t.offsetWidth,height:t.offsetHeight}),st=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),Ut=(t={x:0,y:0},e)=>({x:st(t.x,e[0][0],e[1][0]),y:st(t.y,e[0][1],e[1][1])}),vo=(t,e,n)=>t<e?st(Math.abs(t-e),1,50)/50:t>n?-st(Math.abs(t-n),1,50)/50:0,bo=(t,e)=>[20*vo(t.x,35,e.width-35),20*vo(t.y,35,e.height-35)],Eo=t=>{var e;return((e=t.getRootNode)==null?void 0:e.call(t))||(window==null?void 0:window.document)},qt=({x:t,y:e,width:n,height:r})=>({x:t,y:e,x2:t+n,y2:e+r}),xo=t=>({...t.positionAbsolute||{x:0,y:0},width:t.width||0,height:t.height||0}),Qt=(t,e)=>{const n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),r=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*r)},Re=t=>!isNaN(t)&&isFinite(t),be=Symbol.for("internals"),wo=["Enter"," ","Escape"];function Jt(t){var r,a;const e=(o=>"nativeEvent"in o)(t)?t.nativeEvent:t,n=((a=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:a[0])||t.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const So=t=>"clientX"in t,We=(t,e)=>{var o,i;const n=So(t),r=n?t.clientX:(o=t.touches)==null?void 0:o[0].clientX,a=n?t.clientY:(i=t.touches)==null?void 0:i[0].clientY;return{x:r-((e==null?void 0:e.left)??0),y:a-((e==null?void 0:e.top)??0)}},Rt=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0},Et=({id:t,path:e,labelX:n,labelY:r,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,markerEnd:s,markerStart:g,interactionWidth:f=20})=>B.createElement(B.Fragment,null,B.createElement("path",{id:t,style:u,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:s,markerStart:g}),f&&B.createElement("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}),a&&Re(n)&&Re(r)?B.createElement(Fi,{x:n,y:r,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l}):null);function xt(t,e,n){return n===void 0?n:r=>{const a=e().edges.find(o=>o.id===t);a&&n(r,{...a})}}function No({sourceX:t,sourceY:e,targetX:n,targetY:r}){const a=Math.abs(n-t)/2,o=n<t?n+a:n-a,i=Math.abs(r-e)/2;return[o,r<e?r+i:r-i,a,i]}function Co({sourceX:t,sourceY:e,targetX:n,targetY:r,sourceControlX:a,sourceControlY:o,targetControlX:i,targetControlY:c}){const d=.125*t+.375*a+.375*i+.125*n,l=.125*e+.375*o+.375*c+.125*r;return[d,l,Math.abs(d-t),Math.abs(l-e)]}var ot,_o,Ge,en,wt,ko,Ue,St,ct,Mo,q,zt;function Oo({pos:t,x1:e,y1:n,x2:r,y2:a}){return t===q.Left||t===q.Right?[.5*(e+r),n]:[e,.5*(n+a)]}function Io({sourceX:t,sourceY:e,sourcePosition:n=q.Bottom,targetX:r,targetY:a,targetPosition:o=q.Top}){const[i,c]=Oo({pos:n,x1:t,y1:e,x2:r,y2:a}),[d,l]=Oo({pos:o,x1:r,y1:a,x2:t,y2:e}),[u,s,g,f]=Co({sourceX:t,sourceY:e,targetX:r,targetY:a,sourceControlX:i,sourceControlY:c,targetControlX:d,targetControlY:l});return[`M${t},${e} C${i},${c} ${d},${l} ${r},${a}`,u,s,g,f]}Et.displayName="BaseEdge",(_o=ot||(ot={})).Strict="strict",_o.Loose="loose",(en=Ge||(Ge={})).Free="free",en.Vertical="vertical",en.Horizontal="horizontal",(ko=wt||(wt={})).Partial="partial",ko.Full="full",(St=Ue||(Ue={})).Bezier="default",St.Straight="straight",St.Step="step",St.SmoothStep="smoothstep",St.SimpleBezier="simplebezier",(Mo=ct||(ct={})).Arrow="arrow",Mo.ArrowClosed="arrowclosed",(zt=q||(q={})).Left="left",zt.Top="top",zt.Right="right",zt.Bottom="bottom";const tn=z.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,sourcePosition:a=q.Bottom,targetPosition:o=q.Top,label:i,labelStyle:c,labelShowBg:d,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:s,style:g,markerEnd:f,markerStart:E,interactionWidth:h})=>{const[m,p,y]=Io({sourceX:t,sourceY:e,sourcePosition:a,targetX:n,targetY:r,targetPosition:o});return B.createElement(Et,{path:m,labelX:p,labelY:y,label:i,labelStyle:c,labelShowBg:d,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:s,style:g,markerEnd:f,markerStart:E,interactionWidth:h})});tn.displayName="SimpleBezierEdge";const Po={[q.Left]:{x:-1,y:0},[q.Right]:{x:1,y:0},[q.Top]:{x:0,y:-1},[q.Bottom]:{x:0,y:1}},Do=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function Xi({source:t,sourcePosition:e=q.Bottom,target:n,targetPosition:r=q.Top,center:a,offset:o}){const i=Po[e],c=Po[r],d={x:t.x+i.x*o,y:t.y+i.y*o},l={x:n.x+c.x*o,y:n.y+c.y*o},u=(({source:S,sourcePosition:D=q.Bottom,target:M})=>D===q.Left||D===q.Right?S.x<M.x?{x:1,y:0}:{x:-1,y:0}:S.y<M.y?{x:0,y:1}:{x:0,y:-1})({source:d,sourcePosition:e,target:l}),s=u.x!==0?"x":"y",g=u[s];let f,E,h=[];const m={x:0,y:0},p={x:0,y:0},[y,v,x,_]=No({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(i[s]*c[s]===-1){f=a.x??y,E=a.y??v;const S=[{x:f,y:d.y},{x:f,y:l.y}],D=[{x:d.x,y:E},{x:l.x,y:E}];h=i[s]===g?s==="x"?S:D:s==="x"?D:S}else{const S=[{x:d.x,y:l.y}],D=[{x:l.x,y:d.y}];if(h=s==="x"?i.x===g?D:S:i.y===g?S:D,e===r){const P=Math.abs(t[s]-n[s]);if(P<=o){const N=Math.min(o-1,o-P);i[s]===g?m[s]=(d[s]>t[s]?-1:1)*N:p[s]=(l[s]>n[s]?-1:1)*N}}if(e!==r){const P=s==="x"?"y":"x",N=i[s]===c[P],O=d[P]>l[P],L=d[P]<l[P];(i[s]===1&&(!N&&O||N&&L)||i[s]!==1&&(!N&&L||N&&O))&&(h=s==="x"?S:D)}const M={x:d.x+m.x,y:d.y+m.y},w={x:l.x+p.x,y:l.y+p.y};Math.max(Math.abs(M.x-h[0].x),Math.abs(w.x-h[0].x))>=Math.max(Math.abs(M.y-h[0].y),Math.abs(w.y-h[0].y))?(f=(M.x+w.x)/2,E=h[0].y):(f=h[0].x,E=(M.y+w.y)/2)}return[[t,{x:d.x+m.x,y:d.y+m.y},...h,{x:l.x+p.x,y:l.y+p.y},n],f,E,x,_]}function nn({sourceX:t,sourceY:e,sourcePosition:n=q.Bottom,targetX:r,targetY:a,targetPosition:o=q.Top,borderRadius:i=5,centerX:c,centerY:d,offset:l=20}){const[u,s,g,f,E]=Xi({source:{x:t,y:e},sourcePosition:n,target:{x:r,y:a},targetPosition:o,center:{x:c,y:d},offset:l});return[u.reduce((h,m,p)=>{let y="";return y=p>0&&p<u.length-1?(function(v,x,_,S){const D=Math.min(Do(v,x)/2,Do(x,_)/2,S),{x:M,y:w}=x;if(v.x===M&&M===_.x||v.y===w&&w===_.y)return`L${M} ${w}`;if(v.y===w)return`L ${M+D*(v.x<_.x?-1:1)},${w}Q ${M},${w} ${M},${w+D*(v.y<_.y?1:-1)}`;const P=v.x<_.x?1:-1;return`L ${M},${w+D*(v.y<_.y?-1:1)}Q ${M},${w} ${M+D*P},${w}`})(u[p-1],m,u[p+1],i):`${p===0?"M":"L"}${m.x} ${m.y}`,h+=y},""),s,g,f,E]}const Tt=z.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,sourcePosition:s=q.Bottom,targetPosition:g=q.Top,markerEnd:f,markerStart:E,pathOptions:h,interactionWidth:m})=>{const[p,y,v]=nn({sourceX:t,sourceY:e,sourcePosition:s,targetX:n,targetY:r,targetPosition:g,borderRadius:h==null?void 0:h.borderRadius,offset:h==null?void 0:h.offset});return B.createElement(Et,{path:p,labelX:y,labelY:v,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,markerEnd:f,markerStart:E,interactionWidth:m})});Tt.displayName="SmoothStepEdge";const on=z.memo(t=>{var e;return B.createElement(Tt,{...t,pathOptions:z.useMemo(()=>{var n;return{borderRadius:0,offset:(n=t.pathOptions)==null?void 0:n.offset}},[(e=t.pathOptions)==null?void 0:e.offset])})});on.displayName="StepEdge";const rn=z.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,markerEnd:s,markerStart:g,interactionWidth:f})=>{const[E,h,m]=(function({sourceX:p,sourceY:y,targetX:v,targetY:x}){const[_,S,D,M]=No({sourceX:p,sourceY:y,targetX:v,targetY:x});return[`M ${p},${y}L ${v},${x}`,_,S,D,M]})({sourceX:t,sourceY:e,targetX:n,targetY:r});return B.createElement(Et,{path:E,labelX:h,labelY:m,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,markerEnd:s,markerStart:g,interactionWidth:f})});function At(t,e){return t>=0?.5*t:25*e*Math.sqrt(-t)}function jo({pos:t,x1:e,y1:n,x2:r,y2:a,c:o}){switch(t){case q.Left:return[e-At(e-r,o),n];case q.Right:return[e+At(r-e,o),n];case q.Top:return[e,n-At(n-a,o)];case q.Bottom:return[e,n+At(a-n,o)]}}function Ro({sourceX:t,sourceY:e,sourcePosition:n=q.Bottom,targetX:r,targetY:a,targetPosition:o=q.Top,curvature:i=.25}){const[c,d]=jo({pos:n,x1:t,y1:e,x2:r,y2:a,c:i}),[l,u]=jo({pos:o,x1:r,y1:a,x2:t,y2:e,c:i}),[s,g,f,E]=Co({sourceX:t,sourceY:e,targetX:r,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:l,targetControlY:u});return[`M${t},${e} C${c},${d} ${l},${u} ${r},${a}`,s,g,f,E]}rn.displayName="StraightEdge";const Bt=z.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,sourcePosition:a=q.Bottom,targetPosition:o=q.Top,label:i,labelStyle:c,labelShowBg:d,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:s,style:g,markerEnd:f,markerStart:E,pathOptions:h,interactionWidth:m})=>{const[p,y,v]=Ro({sourceX:t,sourceY:e,sourcePosition:a,targetX:n,targetY:r,targetPosition:o,curvature:h==null?void 0:h.curvature});return B.createElement(Et,{path:p,labelX:y,labelY:v,label:i,labelStyle:c,labelShowBg:d,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:s,style:g,markerEnd:f,markerStart:E,interactionWidth:m})});Bt.displayName="BezierEdge";const an=z.createContext(null),Zi=an.Provider;an.Consumer;const Ki=({source:t,sourceHandle:e,target:n,targetHandle:r})=>`reactflow__edge-${t}${e||""}-${n}${r||""}`,sn=(t,e)=>t===void 0?"":typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(n=>`${n}=${t[n]}`).join("&")}`,cn=({x:t,y:e},[n,r,a],o,[i,c])=>{const d={x:(t-n)/a,y:(e-r)/a};return o?{x:i*Math.round(d.x/i),y:c*Math.round(d.y/c)}:d},zo=({x:t,y:e},[n,r,a])=>({x:t*a+n,y:e*a+r}),lt=(t,e=[0,0])=>{if(!t)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(t.width??0)*e[0],r=(t.height??0)*e[1],a={x:t.position.x-n,y:t.position.y-r};return{...a,positionAbsolute:t.positionAbsolute?{x:t.positionAbsolute.x-n,y:t.positionAbsolute.y-r}:a}},ln=(t,e=[0,0])=>t.length===0?{x:0,y:0,width:0,height:0}:(({x:n,y:r,x2:a,y2:o})=>({x:n,y:r,width:a-n,height:o-r}))(t.reduce((n,r)=>{const{x:a,y:o}=lt(r,e).positionAbsolute;return i=n,c=qt({x:a,y:o,width:r.width||0,height:r.height||0}),{x:Math.min(i.x,c.x),y:Math.min(i.y,c.y),x2:Math.max(i.x2,c.x2),y2:Math.max(i.y2,c.y2)};var i,c},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),To=(t,e,[n,r,a]=[0,0,1],o=!1,i=!1,c=[0,0])=>{const d={x:(e.x-n)/a,y:(e.y-r)/a,width:e.width/a,height:e.height/a},l=[];return t.forEach(u=>{const{width:s,height:g,selectable:f=!0,hidden:E=!1}=u;if(i&&!f||E)return!1;const{positionAbsolute:h}=lt(u,c),m={x:h.x,y:h.y,width:s||0,height:g||0},p=Qt(d,m);(s===void 0||g===void 0||s===null||g===null||o&&p>0||p>=(s||0)*(g||0)||u.dragging)&&l.push(u)}),l},Ao=(t,e)=>{const n=t.map(r=>r.id);return e.filter(r=>n.includes(r.source)||n.includes(r.target))},Bo=(t,e,n,r,a,o=.1)=>{const i=e/(t.width*(1+o)),c=n/(t.height*(1+o)),d=Math.min(i,c),l=st(d,r,a);return{x:e/2-(t.x+t.width/2)*l,y:n/2-(t.y+t.height/2)*l,zoom:l}},rt=(t,e=0)=>t.transition().duration(e);function Lo(t,e,n,r){return(e[n]||[]).reduce((a,o)=>{var i,c;return`${t.id}-${o.id}-${n}`!==r&&a.push({id:o.id||null,type:n,nodeId:t.id,x:(((i=t.positionAbsolute)==null?void 0:i.x)??0)+o.x+o.width/2,y:(((c=t.positionAbsolute)==null?void 0:c.y)??0)+o.y+o.height/2}),a},[])}const Wi={source:null,target:null,sourceHandle:null,targetHandle:null},$o=()=>({handleDomNode:null,isValid:!1,connection:Wi,endHandle:null});function Vo(t,e,n,r,a,o,i){const c=a==="target",d=i.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),l={...$o(),handleDomNode:d};if(d){const u=dn(void 0,d),s=d.getAttribute("data-nodeid"),g=d.getAttribute("data-handleid"),f=d.classList.contains("connectable"),E=d.classList.contains("connectableend"),h={source:c?s:n,sourceHandle:c?g:r,target:c?n:s,targetHandle:c?r:g};l.connection=h,f&&E&&(e===ot.Strict?c&&u==="source"||!c&&u==="target":s!==n||g!==r)&&(l.endHandle={nodeId:s,handleId:g,type:u},l.isValid=o(h))}return l}function dn(t,e){return t||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function un(t){t==null||t.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function Gi(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}function Ho({event:t,handleId:e,nodeId:n,onConnect:r,isTarget:a,getState:o,setState:i,isValidConnection:c,edgeUpdaterType:d,onReconnectEnd:l}){const u=Eo(t.target),{connectionMode:s,domNode:g,autoPanOnConnect:f,connectionRadius:E,onConnectStart:h,panBy:m,getNodes:p,cancelConnection:y}=o();let v,x=0;const{x:_,y:S}=We(t),D=u==null?void 0:u.elementFromPoint(_,S),M=dn(d,D),w=g==null?void 0:g.getBoundingClientRect();if(!w||!M)return;let P,N=We(t,w),O=!1,L=null,b=!1,k=null;const I=(function({nodes:A,nodeId:j,handleId:H,handleType:Y}){return A.reduce((X,K)=>{if(K[be]){const{handleBounds:ne}=K[be];let ie=[],de=[];ne&&(ie=Lo(K,ne,"source",`${j}-${H}-${Y}`),de=Lo(K,ne,"target",`${j}-${H}-${Y}`)),X.push(...ie,...de)}return X},[])})({nodes:p(),nodeId:n,handleId:e,handleType:M}),T=()=>{if(!f)return;const[A,j]=bo(N,w);m({x:A,y:j}),x=requestAnimationFrame(T)};function V(A){const{transform:j}=o();N=We(A,w);const{handle:H,validHandleResult:Y}=(function(X,K,ne,ie,de,$){const{x:Q,y:oe}=We(X),se=K.elementsFromPoint(Q,oe).find(ae=>ae.classList.contains("react-flow__handle"));if(se){const ae=se.getAttribute("data-nodeid");if(ae){const W=dn(void 0,se),ge=se.getAttribute("data-handleid"),te=$({nodeId:ae,id:ge,type:W});if(te){const ye=de.find(Ee=>Ee.nodeId===ae&&Ee.type===W&&Ee.id===ge);return{handle:{id:ge,type:W,nodeId:ae,x:(ye==null?void 0:ye.x)||ne.x,y:(ye==null?void 0:ye.y)||ne.y},validHandleResult:te}}}}let re=[],ce=1/0;if(de.forEach(ae=>{const W=Math.sqrt((ae.x-ne.x)**2+(ae.y-ne.y)**2);if(W<=ie){const ge=$(ae);W<=ce&&(W<ce?re=[{handle:ae,validHandleResult:ge}]:W===ce&&re.push({handle:ae,validHandleResult:ge}),ce=W)}}),!re.length)return{handle:null,validHandleResult:$o()};if(re.length===1)return re[0];const ee=re.some(({validHandleResult:ae})=>ae.isValid),me=re.some(({handle:ae})=>ae.type==="target");return re.find(({handle:ae,validHandleResult:W})=>me?ae.type==="target":!ee||W.isValid)||re[0]})(A,u,cn(N,j,!1,[1,1]),E,I,X=>Vo(X,s,n,e,a?"target":"source",c,u));if(v=H,O||(T(),O=!0),k=Y.handleDomNode,L=Y.connection,b=Y.isValid,i({connectionPosition:v&&b?zo({x:v.x,y:v.y},j):N,connectionStatus:Gi(!!v,b),connectionEndHandle:Y.endHandle}),!v&&!b&&!k)return un(P);L.source!==L.target&&k&&(un(P),P=k,k.classList.add("connecting","react-flow__handle-connecting"),k.classList.toggle("valid",b),k.classList.toggle("react-flow__handle-valid",b))}function C(A){var j,H;(v||k)&&L&&b&&(r==null||r(L)),(H=(j=o()).onConnectEnd)==null||H.call(j,A),d&&(l==null||l(A)),un(P),y(),cancelAnimationFrame(x),O=!1,b=!1,L=null,k=null,u.removeEventListener("mousemove",V),u.removeEventListener("mouseup",C),u.removeEventListener("touchmove",V),u.removeEventListener("touchend",C)}i({connectionPosition:N,connectionStatus:null,connectionNodeId:n,connectionHandleId:e,connectionHandleType:M,connectionStartHandle:{nodeId:n,handleId:e,type:M},connectionEndHandle:null}),h==null||h(t,{nodeId:n,handleId:e,handleType:M}),u.addEventListener("mousemove",V),u.addEventListener("mouseup",C),u.addEventListener("touchmove",V),u.addEventListener("touchend",C)}const Yo=()=>!0,Ui=t=>({connectionStartHandle:t.connectionStartHandle,connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName}),Fo=z.forwardRef(({type:t="source",position:e=q.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:a=!0,isConnectableEnd:o=!0,id:i,onConnect:c,children:d,className:l,onMouseDown:u,onTouchStart:s,...g},f)=>{var M,w;const E=i||null,h=t==="target",m=Ce(),p=z.useContext(an),{connectOnClick:y,noPanClassName:v}=pe(Ui,_e),{connecting:x,clickConnecting:_}=pe(((P,N,O)=>L=>{const{connectionStartHandle:b,connectionEndHandle:k,connectionClickStartHandle:I}=L;return{connecting:(b==null?void 0:b.nodeId)===P&&(b==null?void 0:b.handleId)===N&&(b==null?void 0:b.type)===O||(k==null?void 0:k.nodeId)===P&&(k==null?void 0:k.handleId)===N&&(k==null?void 0:k.type)===O,clickConnecting:(I==null?void 0:I.nodeId)===P&&(I==null?void 0:I.handleId)===N&&(I==null?void 0:I.type)===O}})(p,E,t),_e);p||((w=(M=m.getState()).onError)==null||w.call(M,"010",Li()));const S=P=>{const{defaultEdgeOptions:N,onConnect:O,hasDefaultEdges:L}=m.getState(),b={...N,...P};if(L){const{edges:k,setEdges:I}=m.getState();I(((T,V)=>{if(!T.source||!T.target)return V;let C;var A;return C="id"in(A=T)&&"source"in A&&"target"in A?{...T}:{...T,id:Ki(T)},((j,H)=>H.some(Y=>!(Y.source!==j.source||Y.target!==j.target||Y.sourceHandle!==j.sourceHandle&&(Y.sourceHandle||j.sourceHandle)||Y.targetHandle!==j.targetHandle&&(Y.targetHandle||j.targetHandle))))(C,V)?V:V.concat(C)})(b,k))}O==null||O(b),c==null||c(b)},D=P=>{if(!p)return;const N=So(P);a&&(N&&P.button===0||!N)&&Ho({event:P,handleId:E,nodeId:p,onConnect:S,isTarget:h,getState:m.getState,setState:m.setState,isValidConnection:n||m.getState().isValidConnection||Yo}),N?u==null||u(P):s==null||s(P)};return B.createElement("div",{"data-handleid":E,"data-nodeid":p,"data-handlepos":e,"data-id":`${p}-${E}-${t}`,className:Oe(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",v,l,{source:!h,target:h,connectable:r,connectablestart:a,connectableend:o,connecting:_,connectionindicator:r&&(a&&!x||o&&x)}]),onMouseDown:D,onTouchStart:D,onClick:y?P=>{const{onClickConnectStart:N,onClickConnectEnd:O,connectionClickStartHandle:L,connectionMode:b,isValidConnection:k}=m.getState();if(!p||!L&&!a)return;if(!L)return N==null||N(P,{nodeId:p,handleId:E,handleType:t}),void m.setState({connectionClickStartHandle:{nodeId:p,type:t,handleId:E}});const I=Eo(P.target),T=n||k||Yo,{connection:V,isValid:C}=Vo({nodeId:p,id:E,type:t},b,L.nodeId,L.handleId||null,L.type,T,I);C&&S(V),O==null||O(P),m.setState({connectionClickStartHandle:null})}:void 0,ref:f,...g},d)});Fo.displayName="Handle";var qe=z.memo(Fo);const Xo=({data:t,isConnectable:e,targetPosition:n=q.Top,sourcePosition:r=q.Bottom})=>B.createElement(B.Fragment,null,B.createElement(qe,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label,B.createElement(qe,{type:"source",position:r,isConnectable:e}));Xo.displayName="DefaultNode";var hn=z.memo(Xo);const Zo=({data:t,isConnectable:e,sourcePosition:n=q.Bottom})=>B.createElement(B.Fragment,null,t==null?void 0:t.label,B.createElement(qe,{type:"source",position:n,isConnectable:e}));Zo.displayName="InputNode";var Ko=z.memo(Zo);const Wo=({data:t,isConnectable:e,targetPosition:n=q.Top})=>B.createElement(B.Fragment,null,B.createElement(qe,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label);Wo.displayName="OutputNode";var Go=z.memo(Wo);const gn=()=>null;gn.displayName="GroupNode";const qi=t=>({selectedNodes:t.getNodes().filter(e=>e.selected),selectedEdges:t.edges.filter(e=>e.selected).map(e=>({...e}))}),Lt=t=>t.id;function Qi(t,e){return _e(t.selectedNodes.map(Lt),e.selectedNodes.map(Lt))&&_e(t.selectedEdges.map(Lt),e.selectedEdges.map(Lt))}const Uo=z.memo(({onSelectionChange:t})=>{const e=Ce(),{selectedNodes:n,selectedEdges:r}=pe(qi,Qi);return z.useEffect(()=>{const a={nodes:n,edges:r};t==null||t(a),e.getState().onSelectionChange.forEach(o=>o(a))},[n,r,t]),null});Uo.displayName="SelectionListener";const Ji=t=>!!t.onSelectionChange;function es({onSelectionChange:t}){const e=pe(Ji);return t||e?B.createElement(Uo,{onSelectionChange:t}):null}const ts=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset});function dt(t,e){z.useEffect(()=>{t!==void 0&&e(t)},[t])}function le(t,e,n){z.useEffect(()=>{e!==void 0&&n({[t]:e})},[e])}const ns=({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,onConnect:a,onConnectStart:o,onConnectEnd:i,onClickConnectStart:c,onClickConnectEnd:d,nodesDraggable:l,nodesConnectable:u,nodesFocusable:s,edgesFocusable:g,edgesUpdatable:f,elevateNodesOnSelect:E,minZoom:h,maxZoom:m,nodeExtent:p,onNodesChange:y,onEdgesChange:v,elementsSelectable:x,connectionMode:_,snapGrid:S,snapToGrid:D,translateExtent:M,connectOnClick:w,defaultEdgeOptions:P,fitView:N,fitViewOptions:O,onNodesDelete:L,onEdgesDelete:b,onNodeDrag:k,onNodeDragStart:I,onNodeDragStop:T,onSelectionDrag:V,onSelectionDragStart:C,onSelectionDragStop:A,noPanClassName:j,nodeOrigin:H,rfId:Y,autoPanOnConnect:X,autoPanOnNodeDrag:K,onError:ne,connectionRadius:ie,isValidConnection:de,nodeDragThreshold:$})=>{const{setNodes:Q,setEdges:oe,setDefaultNodesAndEdges:se,setMinZoom:re,setMaxZoom:ce,setTranslateExtent:ee,setNodeExtent:me,reset:ae}=pe(ts,_e),W=Ce();return z.useEffect(()=>{const ge=r==null?void 0:r.map(te=>({...te,...P}));return se(n,ge),()=>{ae()}},[]),le("defaultEdgeOptions",P,W.setState),le("connectionMode",_,W.setState),le("onConnect",a,W.setState),le("onConnectStart",o,W.setState),le("onConnectEnd",i,W.setState),le("onClickConnectStart",c,W.setState),le("onClickConnectEnd",d,W.setState),le("nodesDraggable",l,W.setState),le("nodesConnectable",u,W.setState),le("nodesFocusable",s,W.setState),le("edgesFocusable",g,W.setState),le("edgesUpdatable",f,W.setState),le("elementsSelectable",x,W.setState),le("elevateNodesOnSelect",E,W.setState),le("snapToGrid",D,W.setState),le("snapGrid",S,W.setState),le("onNodesChange",y,W.setState),le("onEdgesChange",v,W.setState),le("connectOnClick",w,W.setState),le("fitViewOnInit",N,W.setState),le("fitViewOnInitOptions",O,W.setState),le("onNodesDelete",L,W.setState),le("onEdgesDelete",b,W.setState),le("onNodeDrag",k,W.setState),le("onNodeDragStart",I,W.setState),le("onNodeDragStop",T,W.setState),le("onSelectionDrag",V,W.setState),le("onSelectionDragStart",C,W.setState),le("onSelectionDragStop",A,W.setState),le("noPanClassName",j,W.setState),le("nodeOrigin",H,W.setState),le("rfId",Y,W.setState),le("autoPanOnConnect",X,W.setState),le("autoPanOnNodeDrag",K,W.setState),le("onError",ne,W.setState),le("connectionRadius",ie,W.setState),le("isValidConnection",de,W.setState),le("nodeDragThreshold",$,W.setState),dt(t,Q),dt(e,oe),dt(h,re),dt(m,ce),dt(M,ee),dt(p,me),null},qo={display:"none"},os={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Qo="react-flow__node-desc",Jo="react-flow__edge-desc",rs=t=>t.ariaLiveMessage;function as({rfId:t}){const e=pe(rs);return B.createElement("div",{id:`react-flow__aria-live-${t}`,"aria-live":"assertive","aria-atomic":"true",style:os},e)}function is({rfId:t,disableKeyboardA11y:e}){return B.createElement(B.Fragment,null,B.createElement("div",{id:`${Qo}-${t}`,style:qo},"Press enter or space to select a node.",!e&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),B.createElement("div",{id:`${Jo}-${t}`,style:qo},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!e&&B.createElement(as,{rfId:t}))}var Nt=(t=null,e={actInsideInputWithModifier:!0})=>{const[n,r]=z.useState(!1),a=z.useRef(!1),o=z.useRef(new Set([])),[i,c]=z.useMemo(()=>{if(t!==null){const d=(Array.isArray(t)?t:[t]).filter(u=>typeof u=="string").map(u=>u.split("+")),l=d.reduce((u,s)=>u.concat(...s),[]);return[d,l]}return[[],[]]},[t]);return z.useEffect(()=>{const d=typeof document<"u"?document:null,l=(e==null?void 0:e.target)||d;if(t!==null){const u=f=>{if(a.current=f.ctrlKey||f.metaKey||f.shiftKey,(!a.current||a.current&&!e.actInsideInputWithModifier)&&Jt(f))return!1;const E=tr(f.code,c);o.current.add(f[E]),er(i,o.current,!1)&&(f.preventDefault(),r(!0))},s=f=>{if((!a.current||a.current&&!e.actInsideInputWithModifier)&&Jt(f))return!1;const E=tr(f.code,c);er(i,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(f[E]),f.key==="Meta"&&o.current.clear(),a.current=!1},g=()=>{o.current.clear(),r(!1)};return l==null||l.addEventListener("keydown",u),l==null||l.addEventListener("keyup",s),window.addEventListener("blur",g),()=>{l==null||l.removeEventListener("keydown",u),l==null||l.removeEventListener("keyup",s),window.removeEventListener("blur",g)}}},[t,r]),n};function er(t,e,n){return t.filter(r=>n||r.length===e.size).some(r=>r.every(a=>e.has(a)))}function tr(t,e){return e.includes(t)?"code":"key"}function nr(t,e,n,r){var c,d;const a=t.parentNode||t.parentId;if(!a)return n;const o=e.get(a),i=lt(o,r);return nr(o,e,{x:(n.x??0)+i.x,y:(n.y??0)+i.y,z:(((c=o[be])==null?void 0:c.z)??0)>(n.z??0)?((d=o[be])==null?void 0:d.z)??0:n.z??0},r)}function or(t,e,n){t.forEach(r=>{var o;const a=r.parentNode||r.parentId;if(a&&!t.has(a))throw new Error(`Parent node ${a} not found`);if(a||n!=null&&n[r.id]){const{x:i,y:c,z:d}=nr(r,t,{...r.position,z:((o=r[be])==null?void 0:o.z)??0},e);r.positionAbsolute={x:i,y:c},r[be].z=d,n!=null&&n[r.id]&&(r[be].isParent=!0)}})}function fn(t,e,n,r){const a=new Map,o={},i=r?1e3:0;return t.forEach(c=>{var f;const d=(Re(c.zIndex)?c.zIndex:0)+(c.selected?i:0),l=e.get(c.id),u={...c,positionAbsolute:{x:c.position.x,y:c.position.y}},s=c.parentNode||c.parentId;s&&(o[s]=!0);const g=(l==null?void 0:l.type)&&(l==null?void 0:l.type)!==c.type;Object.defineProperty(u,be,{enumerable:!1,value:{handleBounds:g||(f=l==null?void 0:l[be])==null?void 0:f.handleBounds,z:d}}),a.set(c.id,u)}),or(a,n,o),a}function rr(t,e={}){const{getNodes:n,width:r,height:a,minZoom:o,maxZoom:i,d3Zoom:c,d3Selection:d,fitViewOnInitDone:l,fitViewOnInit:u,nodeOrigin:s}=t(),g=e.initial&&!l&&u;if(c&&d&&(g||!e.initial)){const f=n().filter(h=>{var p;const m=e.includeHiddenNodes?h.width&&h.height:!h.hidden;return(p=e.nodes)!=null&&p.length?m&&e.nodes.some(y=>y.id===h.id):m}),E=f.every(h=>h.width&&h.height);if(f.length>0&&E){const h=ln(f,s),{x:m,y:p,zoom:y}=Bo(h,r,a,e.minZoom??o,e.maxZoom??i,e.padding??.1),v=tt.translate(m,p).scale(y);return typeof e.duration=="number"&&e.duration>0?c.transform(rt(d,e.duration),v):c.transform(d,v),!0}}return!1}function ss(t,e){return t.forEach(n=>{const r=e.get(n.id);r&&e.set(r.id,{...r,[be]:r[be],selected:n.selected})}),new Map(e)}function cs(t,e){return e.map(n=>{const r=t.find(a=>a.id===n.id);return r&&(n.selected=r.selected),n})}function $t({changedNodes:t,changedEdges:e,get:n,set:r}){const{nodeInternals:a,edges:o,onNodesChange:i,onEdgesChange:c,hasDefaultNodes:d,hasDefaultEdges:l}=n();t!=null&&t.length&&(d&&r({nodeInternals:ss(t,a)}),i==null||i(t)),e!=null&&e.length&&(l&&r({edges:cs(e,o)}),c==null||c(e))}const ut=()=>{},ls={zoomIn:ut,zoomOut:ut,zoomTo:ut,getZoom:()=>1,setViewport:ut,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:ut,fitBounds:ut,project:t=>t,screenToFlowPosition:t=>t,flowToScreenPosition:t=>t,viewportInitialized:!1},ds=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection});function Ct(){const t=(()=>{const h=Ce(),{d3Zoom:m,d3Selection:p}=pe(ds,_e);return z.useMemo(()=>p&&m?{zoomIn:y=>m.scaleBy(rt(p,y==null?void 0:y.duration),1.2),zoomOut:y=>m.scaleBy(rt(p,y==null?void 0:y.duration),.8333333333333334),zoomTo:(y,v)=>m.scaleTo(rt(p,v==null?void 0:v.duration),y),getZoom:()=>h.getState().transform[2],setViewport:(y,v)=>{const[x,_,S]=h.getState().transform,D=tt.translate(y.x??x,y.y??_).scale(y.zoom??S);m.transform(rt(p,v==null?void 0:v.duration),D)},getViewport:()=>{const[y,v,x]=h.getState().transform;return{x:y,y:v,zoom:x}},fitView:y=>rr(h.getState,y),setCenter:(y,v,x)=>{const{width:_,height:S,maxZoom:D}=h.getState(),M=(x==null?void 0:x.zoom)!==void 0?x.zoom:D,w=_/2-y*M,P=S/2-v*M,N=tt.translate(w,P).scale(M);m.transform(rt(p,x==null?void 0:x.duration),N)},fitBounds:(y,v)=>{const{width:x,height:_,minZoom:S,maxZoom:D}=h.getState(),{x:M,y:w,zoom:P}=Bo(y,x,_,S,D,(v==null?void 0:v.padding)??.1),N=tt.translate(M,w).scale(P);m.transform(rt(p,v==null?void 0:v.duration),N)},project:y=>{const{transform:v,snapToGrid:x,snapGrid:_}=h.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),cn(y,v,x,_)},screenToFlowPosition:y=>{const{transform:v,snapToGrid:x,snapGrid:_,domNode:S}=h.getState();if(!S)return y;const{x:D,y:M}=S.getBoundingClientRect(),w={x:y.x-D,y:y.y-M};return cn(w,v,x,_)},flowToScreenPosition:y=>{const{transform:v,domNode:x}=h.getState();if(!x)return y;const{x:_,y:S}=x.getBoundingClientRect(),D=zo(y,v);return{x:D.x+_,y:D.y+S}},viewportInitialized:!0}:ls,[m,p])})(),e=Ce(),n=z.useCallback(()=>e.getState().getNodes().map(h=>({...h})),[]),r=z.useCallback(h=>e.getState().nodeInternals.get(h),[]),a=z.useCallback(()=>{const{edges:h=[]}=e.getState();return h.map(m=>({...m}))},[]),o=z.useCallback(h=>{const{edges:m=[]}=e.getState();return m.find(p=>p.id===h)},[]),i=z.useCallback(h=>{const{getNodes:m,setNodes:p,hasDefaultNodes:y,onNodesChange:v}=e.getState(),x=m(),_=typeof h=="function"?h(x):h;y?p(_):v&&v(_.length===0?x.map(S=>({type:"remove",id:S.id})):_.map(S=>({item:S,type:"reset"})))},[]),c=z.useCallback(h=>{const{edges:m=[],setEdges:p,hasDefaultEdges:y,onEdgesChange:v}=e.getState(),x=typeof h=="function"?h(m):h;y?p(x):v&&v(x.length===0?m.map(_=>({type:"remove",id:_.id})):x.map(_=>({item:_,type:"reset"})))},[]),d=z.useCallback(h=>{const m=Array.isArray(h)?h:[h],{getNodes:p,setNodes:y,hasDefaultNodes:v,onNodesChange:x}=e.getState();v?y([...p(),...m]):x&&x(m.map(_=>({item:_,type:"add"})))},[]),l=z.useCallback(h=>{const m=Array.isArray(h)?h:[h],{edges:p=[],setEdges:y,hasDefaultEdges:v,onEdgesChange:x}=e.getState();v?y([...p,...m]):x&&x(m.map(_=>({item:_,type:"add"})))},[]),u=z.useCallback(()=>{const{getNodes:h,edges:m=[],transform:p}=e.getState(),[y,v,x]=p;return{nodes:h().map(_=>({..._})),edges:m.map(_=>({..._})),viewport:{x:y,y:v,zoom:x}}},[]),s=z.useCallback(({nodes:h,edges:m})=>{const{nodeInternals:p,getNodes:y,edges:v,hasDefaultNodes:x,hasDefaultEdges:_,onNodesDelete:S,onEdgesDelete:D,onNodesChange:M,onEdgesChange:w}=e.getState(),P=(h||[]).map(k=>k.id),N=(m||[]).map(k=>k.id),O=y().reduce((k,I)=>{const T=I.parentNode||I.parentId,V=!P.includes(I.id)&&T&&k.find(C=>C.id===T);return(typeof I.deletable!="boolean"||I.deletable)&&(P.includes(I.id)||V)&&k.push(I),k},[]),L=v.filter(k=>typeof k.deletable!="boolean"||k.deletable),b=L.filter(k=>N.includes(k.id));if(O||b){const k=Ao(O,L),I=[...b,...k],T=I.reduce((V,C)=>(V.includes(C.id)||V.push(C.id),V),[]);(_||x)&&(_&&e.setState({edges:v.filter(V=>!T.includes(V.id))}),x&&(O.forEach(V=>{p.delete(V.id)}),e.setState({nodeInternals:new Map(p)}))),T.length>0&&(D==null||D(I),w&&w(T.map(V=>({id:V,type:"remove"})))),O.length>0&&(S==null||S(O),M)&&M(O.map(V=>({id:V.id,type:"remove"})))}},[]),g=z.useCallback(h=>{const m=Re((p=h).width)&&Re(p.height)&&Re(p.x)&&Re(p.y);var p;const y=m?null:e.getState().nodeInternals.get(h.id);return!m&&!y?[null,null,m]:[m?h:xo(y),y,m]},[]),f=z.useCallback((h,m=!0,p)=>{const[y,v,x]=g(h);return y?(p||e.getState().getNodes()).filter(_=>{if(!(x||_.id!==v.id&&_.positionAbsolute))return!1;const S=xo(_),D=Qt(S,y);return m&&D>0||D>=y.width*y.height}):[]},[]),E=z.useCallback((h,m,p=!0)=>{const[y]=g(h);if(!y)return!1;const v=Qt(y,m);return p&&v>0||v>=y.width*y.height},[]);return z.useMemo(()=>({...t,getNodes:n,getNode:r,getEdges:a,getEdge:o,setNodes:i,setEdges:c,addNodes:d,addEdges:l,toObject:u,deleteElements:s,getIntersectingNodes:f,isNodeIntersecting:E}),[t,n,r,a,o,i,c,d,l,u,s,f,E])}const us={actInsideInputWithModifier:!1},mn={position:"absolute",width:"100%",height:"100%",top:0,left:0},Vt=t=>({x:t.x,y:t.y,zoom:t.k}),ht=(t,e)=>t.target.closest(`.${e}`),ar=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),ir=t=>{const e=t.ctrlKey&&Rt()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e},hs=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection,d3ZoomHandler:t.d3ZoomHandler,userSelectionActive:t.userSelectionActive}),gs=({onMove:t,onMoveStart:e,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:a=!0,zoomOnPinch:o=!0,panOnScroll:i=!1,panOnScrollSpeed:c=.5,panOnScrollMode:d=Ge.Free,zoomOnDoubleClick:l=!0,elementsSelectable:u,panOnDrag:s=!0,defaultViewport:g,translateExtent:f,minZoom:E,maxZoom:h,zoomActivationKeyCode:m,preventScrolling:p=!0,children:y,noWheelClassName:v,noPanClassName:x})=>{const _=z.useRef(),S=Ce(),D=z.useRef(!1),M=z.useRef(!1),w=z.useRef(null),P=z.useRef({x:0,y:0,zoom:0}),{d3Zoom:N,d3Selection:O,d3ZoomHandler:L,userSelectionActive:b}=pe(hs,_e),k=Nt(m),I=z.useRef(0),T=z.useRef(!1),V=z.useRef();return(function(C){const A=Ce();z.useEffect(()=>{let j;const H=()=>{var X,K;if(!C.current)return;const Y=Gt(C.current);Y.height!==0&&Y.width!==0||((K=(X=A.getState()).onError)==null||K.call(X,"004",zi())),A.setState({width:Y.width||500,height:Y.height||500})};return H(),window.addEventListener("resize",H),C.current&&(j=new ResizeObserver(()=>H()),j.observe(C.current)),()=>{window.removeEventListener("resize",H),j&&C.current&&j.unobserve(C.current)}},[])})(w),z.useEffect(()=>{if(w.current){const C=w.current.getBoundingClientRect(),A=(function(){var K,ne,ie,de=Ci,$=_i,Q=Oi,oe=ki,se=Mi,re=[0,1/0],ce=[[-1/0,-1/0],[1/0,1/0]],ee=250,me=Vl,ae=fi("start","zoom","end"),W=0,ge=10;function te(R){R.property("__zoom",fo).on("wheel.zoom",Ne,{passive:!1}).on("mousedown.zoom",Ie).on("dblclick.zoom",Te).filter(se).on("touchstart.zoom",Le).on("touchmove.zoom",$e).on("touchend.zoom touchcancel.zoom",Me).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function ye(R,U){return(U=Math.max(re[0],Math.min(re[1],U)))===R.k?R:new lo(U,R.x,R.y)}function Ee(R,U,G){var Z=U[0]-G[0]*R.k,J=U[1]-G[1]*R.k;return Z===R.x&&J===R.y?R:new lo(R.k,Z,J)}function Pe(R){return[(+R[0][0]+ +R[1][0])/2,(+R[0][1]+ +R[1][1])/2]}function ke(R,U,G,Z){R.on("start.zoom",function(){we(this,arguments).event(Z).start()}).on("interrupt.zoom end.zoom",function(){we(this,arguments).event(Z).end()}).tween("zoom",function(){var J=this,ue=arguments,he=we(J,ue).event(Z),ve=$.apply(J,ue),fe=G==null?Pe(ve):typeof G=="function"?G.apply(J,ue):G,De=Math.max(ve[1][0]-ve[0][0],ve[1][1]-ve[0][1]),Ae=J.__zoom,Xe=typeof U=="function"?U.apply(J,ue):U,et=me(Ae.invert(fe).concat(De/Ae.k),Xe.invert(fe).concat(De/Xe.k));return function(je){if(je===1)je=Xe;else{var Ve=et(je),Ot=De/Ve[2];je=new lo(Ot,fe[0]-Ve[0]*Ot,fe[1]-Ve[1]*Ot)}he.zoom(null,je)}})}function we(R,U,G){return!G&&R.__zooming||new Fe(R,U)}function Fe(R,U){this.that=R,this.args=U,this.active=0,this.sourceEvent=null,this.extent=$.apply(R,U),this.taps=0}function Ne(R,...U){if(de.apply(this,arguments)){var G=we(this,U).event(R),Z=this.__zoom,J=Math.max(re[0],Math.min(re[1],Z.k*Math.pow(2,oe.apply(this,arguments)))),ue=Ye(R);if(G.wheel)G.mouse[0][0]===ue[0]&&G.mouse[0][1]===ue[1]||(G.mouse[1]=Z.invert(G.mouse[0]=ue)),clearTimeout(G.wheel);else{if(Z.k===J)return;G.mouse=[ue,Z.invert(ue)],uo(this),G.start()}bt(R),G.wheel=setTimeout(function(){G.wheel=null,G.end()},150),G.zoom("mouse",Q(Ee(ye(Z,J),G.mouse[0],G.mouse[1]),G.extent,ce))}}function Ie(R,...U){if(!ie&&de.apply(this,arguments)){var G=R.currentTarget,Z=we(this,U,!0).event(R),J=He(R.view).on("mousemove.zoom",function(fe){if(bt(fe),!Z.moved){var De=fe.clientX-he,Ae=fe.clientY-ve;Z.moved=De*De+Ae*Ae>W}Z.event(fe).zoom("mouse",Q(Ee(Z.that.__zoom,Z.mouse[0]=Ye(fe,G),Z.mouse[1]),Z.extent,ce))},!0).on("mouseup.zoom",function(fe){J.on("mousemove.zoom mouseup.zoom",null),go(fe.view,Z.moved),bt(fe),Z.event(fe).end()},!0),ue=Ye(R,G),he=R.clientX,ve=R.clientY;ho(R.view),Wt(R),Z.mouse=[ue,this.__zoom.invert(ue)],uo(this),Z.start()}}function Te(R,...U){if(de.apply(this,arguments)){var G=this.__zoom,Z=Ye(R.changedTouches?R.changedTouches[0]:R,this),J=G.invert(Z),ue=G.k*(R.shiftKey?.5:2),he=Q(Ee(ye(G,ue),Z,J),$.apply(this,U),ce);bt(R),ee>0?He(this).transition().duration(ee).call(ke,he,Z,R):He(this).call(te.transform,he,Z,R)}}function Le(R,...U){if(de.apply(this,arguments)){var G,Z,J,ue,he=R.touches,ve=he.length,fe=we(this,U,R.changedTouches.length===ve).event(R);for(Wt(R),Z=0;Z<ve;++Z)ue=[ue=Ye(J=he[Z],this),this.__zoom.invert(ue),J.identifier],fe.touch0?fe.touch1||fe.touch0[2]===ue[2]||(fe.touch1=ue,fe.taps=0):(fe.touch0=ue,G=!0,fe.taps=1+!!K);K&&(K=clearTimeout(K)),G&&(fe.taps<2&&(ne=ue[0],K=setTimeout(function(){K=null},500)),uo(this),fe.start())}}function $e(R,...U){if(this.__zooming){var G,Z,J,ue,he=we(this,U).event(R),ve=R.changedTouches,fe=ve.length;for(bt(R),G=0;G<fe;++G)J=Ye(Z=ve[G],this),he.touch0&&he.touch0[2]===Z.identifier?he.touch0[0]=J:he.touch1&&he.touch1[2]===Z.identifier&&(he.touch1[0]=J);if(Z=he.that.__zoom,he.touch1){var De=he.touch0[0],Ae=he.touch0[1],Xe=he.touch1[0],et=he.touch1[1],je=(je=Xe[0]-De[0])*je+(je=Xe[1]-De[1])*je,Ve=(Ve=et[0]-Ae[0])*Ve+(Ve=et[1]-Ae[1])*Ve;Z=ye(Z,Math.sqrt(je/Ve)),J=[(De[0]+Xe[0])/2,(De[1]+Xe[1])/2],ue=[(Ae[0]+et[0])/2,(Ae[1]+et[1])/2]}else{if(!he.touch0)return;J=he.touch0[0],ue=he.touch0[1]}he.zoom("touch",Q(Ee(Z,J,ue),he.extent,ce))}}function Me(R,...U){if(this.__zooming){var G,Z,J=we(this,U).event(R),ue=R.changedTouches,he=ue.length;for(Wt(R),ie&&clearTimeout(ie),ie=setTimeout(function(){ie=null},500),G=0;G<he;++G)Z=ue[G],J.touch0&&J.touch0[2]===Z.identifier?delete J.touch0:J.touch1&&J.touch1[2]===Z.identifier&&delete J.touch1;if(J.touch1&&!J.touch0&&(J.touch0=J.touch1,delete J.touch1),J.touch0)J.touch0[1]=this.__zoom.invert(J.touch0[0]);else if(J.end(),J.taps===2&&(Z=Ye(Z,this),Math.hypot(ne[0]-Z[0],ne[1]-Z[1])<ge)){var ve=He(this).on("dblclick.zoom");ve&&ve.apply(this,arguments)}}}return te.transform=function(R,U,G,Z){var J=R.selection?R.selection():R;J.property("__zoom",fo),R!==J?ke(R,U,G,Z):J.interrupt().each(function(){we(this,arguments).event(Z).start().zoom(null,typeof U=="function"?U.apply(this,arguments):U).end()})},te.scaleBy=function(R,U,G,Z){te.scaleTo(R,function(){return this.__zoom.k*(typeof U=="function"?U.apply(this,arguments):U)},G,Z)},te.scaleTo=function(R,U,G,Z){te.transform(R,function(){var J=$.apply(this,arguments),ue=this.__zoom,he=G==null?Pe(J):typeof G=="function"?G.apply(this,arguments):G,ve=ue.invert(he),fe=typeof U=="function"?U.apply(this,arguments):U;return Q(Ee(ye(ue,fe),he,ve),J,ce)},G,Z)},te.translateBy=function(R,U,G,Z){te.transform(R,function(){return Q(this.__zoom.translate(typeof U=="function"?U.apply(this,arguments):U,typeof G=="function"?G.apply(this,arguments):G),$.apply(this,arguments),ce)},null,Z)},te.translateTo=function(R,U,G,Z,J){te.transform(R,function(){var ue=$.apply(this,arguments),he=this.__zoom,ve=Z==null?Pe(ue):typeof Z=="function"?Z.apply(this,arguments):Z;return Q(tt.translate(ve[0],ve[1]).scale(he.k).translate(typeof U=="function"?-U.apply(this,arguments):-U,typeof G=="function"?-G.apply(this,arguments):-G),ue,ce)},Z,J)},Fe.prototype={event:function(R){return R&&(this.sourceEvent=R),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(R,U){return this.mouse&&R!=="mouse"&&(this.mouse[1]=U.invert(this.mouse[0])),this.touch0&&R!=="touch"&&(this.touch0[1]=U.invert(this.touch0[0])),this.touch1&&R!=="touch"&&(this.touch1[1]=U.invert(this.touch1[0])),this.that.__zoom=U,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(R){var U=He(this.that).datum();ae.call(R,this.that,new Ni(R,{sourceEvent:this.sourceEvent,target:te,transform:this.that.__zoom,dispatch:ae}),U)}},te.wheelDelta=function(R){return arguments.length?(oe=typeof R=="function"?R:Pt(+R),te):oe},te.filter=function(R){return arguments.length?(de=typeof R=="function"?R:Pt(!!R),te):de},te.touchable=function(R){return arguments.length?(se=typeof R=="function"?R:Pt(!!R),te):se},te.extent=function(R){return arguments.length?($=typeof R=="function"?R:Pt([[+R[0][0],+R[0][1]],[+R[1][0],+R[1][1]]]),te):$},te.scaleExtent=function(R){return arguments.length?(re[0]=+R[0],re[1]=+R[1],te):[re[0],re[1]]},te.translateExtent=function(R){return arguments.length?(ce[0][0]=+R[0][0],ce[1][0]=+R[1][0],ce[0][1]=+R[0][1],ce[1][1]=+R[1][1],te):[[ce[0][0],ce[0][1]],[ce[1][0],ce[1][1]]]},te.constrain=function(R){return arguments.length?(Q=R,te):Q},te.duration=function(R){return arguments.length?(ee=+R,te):ee},te.interpolate=function(R){return arguments.length?(me=R,te):me},te.on=function(){var R=ae.on.apply(ae,arguments);return R===ae?te:R},te.clickDistance=function(R){return arguments.length?(W=(R=+R)*R,te):Math.sqrt(W)},te.tapDistance=function(R){return arguments.length?(ge=+R,te):ge},te})().scaleExtent([E,h]).translateExtent(f),j=He(w.current).call(A),H=tt.translate(g.x,g.y).scale(st(g.zoom,E,h)),Y=[[0,0],[C.width,C.height]],X=A.constrain()(H,Y,f);A.transform(j,X),A.wheelDelta(ir),S.setState({d3Zoom:A,d3Selection:j,d3ZoomHandler:j.on("wheel.zoom"),transform:[X.x,X.y,X.k],domNode:w.current.closest(".react-flow")})}},[]),z.useEffect(()=>{O&&N&&(!i||k||b?L!==void 0&&O.on("wheel.zoom",function(C,A){if(!p&&C.type==="wheel"&&!C.ctrlKey||ht(C,v))return null;C.preventDefault(),L.call(this,C,A)},{passive:!1}):O.on("wheel.zoom",C=>{if(ht(C,v))return!1;C.preventDefault(),C.stopImmediatePropagation();const A=O.property("__zoom").k||1;if(C.ctrlKey&&o){const de=Ye(C),$=ir(C),Q=A*Math.pow(2,$);return void N.scaleTo(O,Q,de,C)}const j=C.deltaMode===1?20:1;let H=d===Ge.Vertical?0:C.deltaX*j,Y=d===Ge.Horizontal?0:C.deltaY*j;!Rt()&&C.shiftKey&&d!==Ge.Vertical&&(H=C.deltaY*j,Y=0),N.translateBy(O,-H/A*c,-Y/A*c,{internal:!0});const X=Vt(O.property("__zoom")),{onViewportChangeStart:K,onViewportChange:ne,onViewportChangeEnd:ie}=S.getState();clearTimeout(V.current),T.current||(T.current=!0,e==null||e(C,X),K==null||K(X)),T.current&&(t==null||t(C,X),ne==null||ne(X),V.current=setTimeout(()=>{n==null||n(C,X),ie==null||ie(X),T.current=!1},150))},{passive:!1}))},[b,i,d,O,N,L,k,o,p,v,e,t,n]),z.useEffect(()=>{N&&N.on("start",C=>{var H,Y;if(!C.sourceEvent||C.sourceEvent.internal)return null;I.current=(H=C.sourceEvent)==null?void 0:H.button;const{onViewportChangeStart:A}=S.getState(),j=Vt(C.transform);D.current=!0,P.current=j,((Y=C.sourceEvent)==null?void 0:Y.type)==="mousedown"&&S.setState({paneDragging:!0}),A==null||A(j),e==null||e(C.sourceEvent,j)})},[N,e]),z.useEffect(()=>{N&&(b&&!D.current?N.on("zoom",null):b||N.on("zoom",C=>{var j;const{onViewportChange:A}=S.getState();if(S.setState({transform:[C.transform.x,C.transform.y,C.transform.k]}),M.current=!(!r||!ar(s,I.current??0)),(t||A)&&!((j=C.sourceEvent)!=null&&j.internal)){const H=Vt(C.transform);A==null||A(H),t==null||t(C.sourceEvent,H)}}))},[b,N,t,s,r]),z.useEffect(()=>{N&&N.on("end",C=>{if(!C.sourceEvent||C.sourceEvent.internal)return null;const{onViewportChangeEnd:A}=S.getState();if(D.current=!1,S.setState({paneDragging:!1}),r&&ar(s,I.current??0)&&!M.current&&r(C.sourceEvent),M.current=!1,(n||A)&&(j=P.current,H=C.transform,j.x!==H.x||j.y!==H.y||j.zoom!==H.k)){const Y=Vt(C.transform);P.current=Y,clearTimeout(_.current),_.current=setTimeout(()=>{A==null||A(Y),n==null||n(C.sourceEvent,Y)},i?150:0)}var j,H})},[N,i,s,n,r]),z.useEffect(()=>{N&&N.filter(C=>{const A=k||a,j=o&&C.ctrlKey;if((s===!0||Array.isArray(s)&&s.includes(1))&&C.button===1&&C.type==="mousedown"&&(ht(C,"react-flow__node")||ht(C,"react-flow__edge")))return!0;if(!(s||A||i||l||o)||b||!l&&C.type==="dblclick"||ht(C,v)&&C.type==="wheel"||ht(C,x)&&(C.type!=="wheel"||i&&C.type==="wheel"&&!k)||!o&&C.ctrlKey&&C.type==="wheel"||!A&&!i&&!j&&C.type==="wheel"||!s&&(C.type==="mousedown"||C.type==="touchstart")||Array.isArray(s)&&!s.includes(C.button)&&C.type==="mousedown")return!1;const H=Array.isArray(s)&&s.includes(C.button)||!C.button||C.button<=1;return(!C.ctrlKey||C.type==="wheel")&&H})},[b,N,a,o,i,l,s,u,k]),B.createElement("div",{className:"react-flow__renderer",ref:w,style:mn},y)},fs=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function ms(){const{userSelectionActive:t,userSelectionRect:e}=pe(fs,_e);return t&&e?B.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}function sr(t,e){const n=e.parentNode||e.parentId,r=t.find(a=>a.id===n);if(r){const a=e.position.x+e.width-r.width,o=e.position.y+e.height-r.height;if(a>0||o>0||e.position.x<0||e.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,a>0&&(r.style.width+=a),o>0&&(r.style.height+=o),e.position.x<0){const i=Math.abs(e.position.x);r.position.x=r.position.x-i,r.style.width+=i,e.position.x=0}if(e.position.y<0){const i=Math.abs(e.position.y);r.position.y=r.position.y-i,r.style.height+=i,e.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function cr(t,e){if(t.some(r=>r.type==="reset"))return t.filter(r=>r.type==="reset").map(r=>r.item);const n=t.filter(r=>r.type==="add").map(r=>r.item);return e.reduce((r,a)=>{const o=t.filter(c=>c.id===a.id);if(o.length===0)return r.push(a),r;const i={...a};for(const c of o)if(c)switch(c.type){case"select":i.selected=c.selected;break;case"position":c.position!==void 0&&(i.position=c.position),c.positionAbsolute!==void 0&&(i.positionAbsolute=c.positionAbsolute),c.dragging!==void 0&&(i.dragging=c.dragging),i.expandParent&&sr(r,i);break;case"dimensions":c.dimensions!==void 0&&(i.width=c.dimensions.width,i.height=c.dimensions.height),c.updateStyle!==void 0&&(i.style={...i.style||{},...c.dimensions}),typeof c.resizing=="boolean"&&(i.resizing=c.resizing),i.expandParent&&sr(r,i);break;case"remove":return r}return r.push(i),r},n)}function lr(t,e){return cr(t,e)}const Qe=(t,e)=>({id:t,type:"select",selected:e});function gt(t,e){return t.reduce((n,r)=>{const a=e.includes(r.id);return!r.selected&&a?(r.selected=!0,n.push(Qe(r.id,!0))):r.selected&&!a&&(r.selected=!1,n.push(Qe(r.id,!1))),n},[])}const pn=(t,e)=>n=>{n.target===e.current&&(t==null||t(n))},ps=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging}),dr=z.memo(({isSelecting:t,selectionMode:e=wt.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:a,onPaneClick:o,onPaneContextMenu:i,onPaneScroll:c,onPaneMouseEnter:d,onPaneMouseMove:l,onPaneMouseLeave:u,children:s})=>{const g=z.useRef(null),f=Ce(),E=z.useRef(0),h=z.useRef(0),m=z.useRef(),{userSelectionActive:p,elementsSelectable:y,dragging:v}=pe(ps,_e),x=()=>{f.setState({userSelectionActive:!1,userSelectionRect:null}),E.current=0,h.current=0},_=M=>{o==null||o(M),f.getState().resetSelectedElements(),f.setState({nodesSelectionActive:!1})},S=c?M=>c(M):void 0,D=y&&(t||p);return B.createElement("div",{className:Oe(["react-flow__pane",{dragging:v,selection:t}]),onClick:D?void 0:pn(_,g),onContextMenu:pn(M=>{Array.isArray(n)&&(n!=null&&n.includes(2))?M.preventDefault():i==null||i(M)},g),onWheel:pn(S,g),onMouseEnter:D?void 0:d,onMouseDown:D?M=>{const{resetSelectedElements:w,domNode:P}=f.getState();if(m.current=P==null?void 0:P.getBoundingClientRect(),!y||!t||M.button!==0||M.target!==g.current||!m.current)return;const{x:N,y:O}=We(M,m.current);w(),f.setState({userSelectionRect:{width:0,height:0,startX:N,startY:O,x:N,y:O}}),r==null||r(M)}:void 0,onMouseMove:D?M=>{const{userSelectionRect:w,nodeInternals:P,edges:N,transform:O,onNodesChange:L,onEdgesChange:b,nodeOrigin:k,getNodes:I}=f.getState();if(!t||!m.current||!w)return;f.setState({userSelectionActive:!0,nodesSelectionActive:!1});const T=We(M,m.current),V=w.startX??0,C=w.startY??0,A={...w,x:T.x<V?T.x:V,y:T.y<C?T.y:C,width:Math.abs(T.x-V),height:Math.abs(T.y-C)},j=I(),H=To(P,A,O,e===wt.Partial,!0,k),Y=Ao(H,N).map(K=>K.id),X=H.map(K=>K.id);if(E.current!==X.length){E.current=X.length;const K=gt(j,X);K.length&&(L==null||L(K))}if(h.current!==Y.length){h.current=Y.length;const K=gt(N,Y);K.length&&(b==null||b(K))}f.setState({userSelectionRect:A})}:l,onMouseUp:D?M=>{if(M.button!==0)return;const{userSelectionRect:w}=f.getState();!p&&w&&M.target===g.current&&(_==null||_(M)),f.setState({nodesSelectionActive:E.current>0}),x(),a==null||a(M)}:void 0,onMouseLeave:D?M=>{p&&(f.setState({nodesSelectionActive:E.current>0}),a==null||a(M)),x()}:u,ref:g,style:mn},s,B.createElement(ms,null))});function ur(t,e){const n=t.parentNode||t.parentId;if(!n)return!1;const r=e.get(n);return!!r&&(!!r.selected||ur(r,e))}function hr(t,e,n){let r=t;do{if(r!=null&&r.matches(e))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function ys(t,e,n,r){return Array.from(t.values()).filter(a=>(a.selected||a.id===r)&&(!a.parentNode||a.parentId||!ur(a,t))&&(a.draggable||e&&a.draggable===void 0)).map(a=>{var o,i;return{id:a.id,position:a.position||{x:0,y:0},positionAbsolute:a.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=a.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((i=a.positionAbsolute)==null?void 0:i.y)??0)},delta:{x:0,y:0},extent:a.extent,parentNode:a.parentNode||a.parentId,parentId:a.parentNode||a.parentId,width:a.width,height:a.height,expandParent:a.expandParent}})}function gr(t,e,n,r,a=[0,0],o){const i=(function(s,g){return g&&g!=="parent"?[g[0],[g[1][0]-(s.width||0),g[1][1]-(s.height||0)]]:g})(t,t.extent||r);let c=i;const d=t.parentNode||t.parentId;if(t.extent!=="parent"||t.expandParent){if(t.extent&&d&&t.extent!=="parent"){const s=n.get(d),{x:g,y:f}=lt(s,a).positionAbsolute;c=[[t.extent[0][0]+g,t.extent[0][1]+f],[t.extent[1][0]+g,t.extent[1][1]+f]]}}else if(d&&t.width&&t.height){const s=n.get(d),{x:g,y:f}=lt(s,a).positionAbsolute;c=s&&Re(g)&&Re(f)&&Re(s.width)&&Re(s.height)?[[g+t.width*a[0],f+t.height*a[1]],[g+s.width-t.width+t.width*a[0],f+s.height-t.height+t.height*a[1]]]:c}else o==null||o("005",Ti()),c=i;let l={x:0,y:0};if(d){const s=n.get(d);l=lt(s,a).positionAbsolute}const u=c&&c!=="parent"?Ut(e,c):e;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function yn({nodeId:t,dragItems:e,nodeInternals:n}){const r=e.map(a=>({...n.get(a.id),position:a.position,positionAbsolute:a.positionAbsolute}));return[t?r.find(a=>a.id===t):r[0],r]}dr.displayName="Pane";const fr=(t,e,n,r)=>{const a=e.querySelectorAll(t);if(!a||!a.length)return null;const o=Array.from(a),i=e.getBoundingClientRect(),c=i.width*r[0],d=i.height*r[1];return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-i.left-c)/n,y:(u.top-i.top-d)/n,...Gt(l)}})};function _t(t,e,n){return n===void 0?n:r=>{const a=e().nodeInternals.get(t);a&&n(r,{...a})}}function vn({id:t,store:e,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:a,unselectNodesAndEdges:o,multiSelectionActive:i,nodeInternals:c,onError:d}=e.getState(),l=c.get(t);l?(e.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&i)&&(o({nodes:[l],edges:[]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):a([t])):d==null||d("012",Vi(t))}function bn(t){return(e,n,r)=>t==null?void 0:t(e,r)}function mr({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:r,nodeId:a,isSelectable:o,selectNodesOnDrag:i}){const c=Ce(),[d,l]=z.useState(!1),u=z.useRef([]),s=z.useRef({x:null,y:null}),g=z.useRef(0),f=z.useRef(null),E=z.useRef({x:0,y:0}),h=z.useRef(null),m=z.useRef(!1),p=z.useRef(!1),y=z.useRef(!1),v=(function(){const x=Ce();return z.useCallback(({sourceEvent:S})=>{const{transform:D,snapGrid:M,snapToGrid:w}=x.getState(),P=S.touches?S.touches[0].clientX:S.clientX,N=S.touches?S.touches[0].clientY:S.clientY,O={x:(P-D[0])/D[2],y:(N-D[1])/D[2]};return{xSnapped:w?M[0]*Math.round(O.x/M[0]):O.x,ySnapped:w?M[1]*Math.round(O.y/M[1]):O.y,...O}},[])})();return z.useEffect(()=>{if(t!=null&&t.current){const x=He(t.current),_=({x:M,y:w})=>{const{nodeInternals:P,onNodeDrag:N,onSelectionDrag:O,updateNodePositions:L,nodeExtent:b,snapGrid:k,snapToGrid:I,nodeOrigin:T,onError:V}=c.getState();s.current={x:M,y:w};let C=!1,A={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&b){const H=ln(u.current,T);A=qt(H)}if(u.current=u.current.map(H=>{const Y={x:M-H.distance.x,y:w-H.distance.y};I&&(Y.x=k[0]*Math.round(Y.x/k[0]),Y.y=k[1]*Math.round(Y.y/k[1]));const X=[[b[0][0],b[0][1]],[b[1][0],b[1][1]]];u.current.length>1&&b&&!H.extent&&(X[0][0]=H.positionAbsolute.x-A.x+b[0][0],X[1][0]=H.positionAbsolute.x+(H.width??0)-A.x2+b[1][0],X[0][1]=H.positionAbsolute.y-A.y+b[0][1],X[1][1]=H.positionAbsolute.y+(H.height??0)-A.y2+b[1][1]);const K=gr(H,Y,P,X,T,V);return C=C||H.position.x!==K.position.x||H.position.y!==K.position.y,H.position=K.position,H.positionAbsolute=K.positionAbsolute,H}),!C)return;L(u.current,!0,!0),l(!0);const j=a?N:bn(O);if(j&&h.current){const[H,Y]=yn({nodeId:a,dragItems:u.current,nodeInternals:P});j(h.current,H,Y)}},S=()=>{if(!f.current)return;const[M,w]=bo(E.current,f.current);if(M!==0||w!==0){const{transform:P,panBy:N}=c.getState();s.current.x=(s.current.x??0)-M/P[2],s.current.y=(s.current.y??0)-w/P[2],N({x:M,y:w})&&_(s.current)}g.current=requestAnimationFrame(S)},D=M=>{var T;const{nodeInternals:w,multiSelectionActive:P,nodesDraggable:N,unselectNodesAndEdges:O,onNodeDragStart:L,onSelectionDragStart:b}=c.getState();p.current=!0;const k=a?L:bn(b);i&&o||P||!a||(T=w.get(a))!=null&&T.selected||O(),a&&o&&i&&vn({id:a,store:c,nodeRef:t});const I=v(M);if(s.current=I,u.current=ys(w,N,I,a),k&&u.current){const[V,C]=yn({nodeId:a,dragItems:u.current,nodeInternals:w});k(M.sourceEvent,V,C)}};if(!e){const M=(function(){var w,P,N,O,L=Ei,b=xi,k=wi,I=Si,T={},V=fi("start","drag","end"),C=0,A=0;function j($){$.on("mousedown.drag",H).filter(I).on("touchstart.drag",K).on("touchmove.drag",ne,bi).on("touchend.drag touchcancel.drag",ie).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function H($,Q){if(!O&&L.call(this,$,Q)){var oe=de(this,b.call(this,$,Q),$,Q,"mouse");oe&&(He($.view).on("mousemove.drag",Y,vt).on("mouseup.drag",X,vt),ho($.view),Zt($),N=!1,w=$.clientX,P=$.clientY,oe("start",$))}}function Y($){if(it($),!N){var Q=$.clientX-w,oe=$.clientY-P;N=Q*Q+oe*oe>A}T.mouse("drag",$)}function X($){He($.view).on("mousemove.drag mouseup.drag",null),go($.view,N),it($),T.mouse("end",$)}function K($,Q){if(L.call(this,$,Q)){var oe,se,re=$.changedTouches,ce=b.call(this,$,Q),ee=re.length;for(oe=0;oe<ee;++oe)(se=de(this,ce,$,Q,re[oe].identifier,re[oe]))&&(Zt($),se("start",$,re[oe]))}}function ne($){var Q,oe,se=$.changedTouches,re=se.length;for(Q=0;Q<re;++Q)(oe=T[se[Q].identifier])&&(it($),oe("drag",$,se[Q]))}function ie($){var Q,oe,se=$.changedTouches,re=se.length;for(O&&clearTimeout(O),O=setTimeout(function(){O=null},500),Q=0;Q<re;++Q)(oe=T[se[Q].identifier])&&(Zt($),oe("end",$,se[Q]))}function de($,Q,oe,se,re,ce){var ee,me,ae,W=V.copy(),ge=Ye(ce||oe,Q);if((ae=k.call($,new Kt("beforestart",{sourceEvent:oe,target:j,identifier:re,active:C,x:ge[0],y:ge[1],dx:0,dy:0,dispatch:W}),se))!=null)return ee=ae.x-ge[0]||0,me=ae.y-ge[1]||0,function te(ye,Ee,Pe){var ke,we=ge;switch(ye){case"start":T[re]=te,ke=C++;break;case"end":delete T[re],--C;case"drag":ge=Ye(Pe||Ee,Q),ke=C}W.call(ye,$,new Kt(ye,{sourceEvent:Ee,subject:ae,target:j,identifier:re,active:ke,x:ge[0]+ee,y:ge[1]+me,dx:ge[0]-we[0],dy:ge[1]-we[1],dispatch:W}),se)}}return j.filter=function($){return arguments.length?(L=typeof $=="function"?$:It(!!$),j):L},j.container=function($){return arguments.length?(b=typeof $=="function"?$:It($),j):b},j.subject=function($){return arguments.length?(k=typeof $=="function"?$:It($),j):k},j.touchable=function($){return arguments.length?(I=typeof $=="function"?$:It(!!$),j):I},j.on=function(){var $=V.on.apply(V,arguments);return $===V?j:$},j.clickDistance=function($){return arguments.length?(A=($=+$)*$,j):Math.sqrt(A)},j})().on("start",w=>{const{domNode:P,nodeDragThreshold:N}=c.getState();N===0&&D(w),y.current=!1;const O=v(w);s.current=O,f.current=(P==null?void 0:P.getBoundingClientRect())||null,E.current=We(w.sourceEvent,f.current)}).on("drag",w=>{var L,b;const P=v(w),{autoPanOnNodeDrag:N,nodeDragThreshold:O}=c.getState();if(w.sourceEvent.type==="touchmove"&&w.sourceEvent.touches.length>1&&(y.current=!0),!y.current){if(!m.current&&p.current&&N&&(m.current=!0,S()),!p.current){const k=P.xSnapped-(((L=s==null?void 0:s.current)==null?void 0:L.x)??0),I=P.ySnapped-(((b=s==null?void 0:s.current)==null?void 0:b.y)??0);Math.sqrt(k*k+I*I)>O&&D(w)}(s.current.x!==P.xSnapped||s.current.y!==P.ySnapped)&&u.current&&p.current&&(h.current=w.sourceEvent,E.current=We(w.sourceEvent,f.current),_(P))}}).on("end",w=>{if(p.current&&!y.current&&(l(!1),m.current=!1,p.current=!1,cancelAnimationFrame(g.current),u.current)){const{updateNodePositions:P,nodeInternals:N,onNodeDragStop:O,onSelectionDragStop:L}=c.getState(),b=a?O:bn(L);if(P(u.current,!1,!1),b){const[k,I]=yn({nodeId:a,dragItems:u.current,nodeInternals:N});b(w.sourceEvent,k,I)}}}).filter(w=>{const P=w.target;return!w.button&&(!n||!hr(P,`.${n}`,t))&&(!r||hr(P,r,t))});return x.call(M),()=>{x.on(".drag",null)}}x.on(".drag",null)}},[t,e,n,r,o,c,a,i,v]),d}function pr(){const t=Ce();return z.useCallback(e=>{const{nodeInternals:n,nodeExtent:r,updateNodePositions:a,getNodes:o,snapToGrid:i,snapGrid:c,onError:d,nodesDraggable:l}=t.getState(),u=o().filter(m=>m.selected&&(m.draggable||l&&m.draggable===void 0)),s=i?c[0]:5,g=i?c[1]:5,f=e.isShiftPressed?4:1,E=e.x*s*f,h=e.y*g*f;a(u.map(m=>{if(m.positionAbsolute){const p={x:m.positionAbsolute.x+E,y:m.positionAbsolute.y+h};i&&(p.x=c[0]*Math.round(p.x/c[0]),p.y=c[1]*Math.round(p.y/c[1]));const{positionAbsolute:y,position:v}=gr(m,p,n,r,void 0,d);m.position=v,m.positionAbsolute=y}return m}),!0,!1)},[])}const ft={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var kt=t=>{const e=({id:n,type:r,data:a,xPos:o,yPos:i,xPosOrigin:c,yPosOrigin:d,selected:l,onClick:u,onMouseEnter:s,onMouseMove:g,onMouseLeave:f,onContextMenu:E,onDoubleClick:h,style:m,className:p,isDraggable:y,isSelectable:v,isConnectable:x,isFocusable:_,selectNodesOnDrag:S,sourcePosition:D,targetPosition:M,hidden:w,resizeObserver:P,dragHandle:N,zIndex:O,isParent:L,noDragClassName:b,noPanClassName:k,initialized:I,disableKeyboardA11y:T,ariaLabel:V,rfId:C,hasHandleBounds:A})=>{const j=Ce(),H=z.useRef(null),Y=z.useRef(null),X=z.useRef(D),K=z.useRef(M),ne=z.useRef(r),ie=v||y||u||s||g||f,de=pr(),$=_t(n,j.getState,s),Q=_t(n,j.getState,g),oe=_t(n,j.getState,f),se=_t(n,j.getState,E),re=_t(n,j.getState,h);z.useEffect(()=>()=>{Y.current&&(P==null||P.unobserve(Y.current),Y.current=null)},[]),z.useEffect(()=>{if(H.current&&!w){const ee=H.current;I&&A&&Y.current===ee||(Y.current&&(P==null||P.unobserve(Y.current)),P==null||P.observe(ee),Y.current=ee)}},[w,I,A]),z.useEffect(()=>{const ee=ne.current!==r,me=X.current!==D,ae=K.current!==M;H.current&&(ee||me||ae)&&(ee&&(ne.current=r),me&&(X.current=D),ae&&(K.current=M),j.getState().updateNodeDimensions([{id:n,nodeElement:H.current,forceUpdate:!0}]))},[n,r,D,M]);const ce=mr({nodeRef:H,disabled:w||!y,noDragClassName:b,handleSelector:N,nodeId:n,isSelectable:v,selectNodesOnDrag:S});return w?null:B.createElement("div",{className:Oe(["react-flow__node",`react-flow__node-${r}`,{[k]:y},p,{selected:l,selectable:v,parent:L,dragging:ce}]),ref:H,style:{zIndex:O,transform:`translate(${c}px,${d}px)`,pointerEvents:ie?"all":"none",visibility:I?"visible":"hidden",...m},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:$,onMouseMove:Q,onMouseLeave:oe,onContextMenu:se,onClick:ee=>{const{nodeDragThreshold:me}=j.getState();if(v&&(!S||!y||me>0)&&vn({id:n,store:j,nodeRef:H}),u){const ae=j.getState().nodeInternals.get(n);ae&&u(ee,{...ae})}},onDoubleClick:re,onKeyDown:_?ee=>{if(!Jt(ee)&&!T)if(wo.includes(ee.key)&&v){const me=ee.key==="Escape";vn({id:n,store:j,unselect:me,nodeRef:H})}else y&&l&&Object.prototype.hasOwnProperty.call(ft,ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~i}`}),de({x:ft[ee.key].x,y:ft[ee.key].y,isShiftPressed:ee.shiftKey}))}:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":T?void 0:`${Qo}-${C}`,"aria-label":V},B.createElement(Zi,{value:n},B.createElement(t,{id:n,data:a,type:r,xPos:o,yPos:i,selected:l,isConnectable:x,sourcePosition:D,targetPosition:M,dragging:ce,dragHandle:N,zIndex:O})))};return e.displayName="NodeWrapper",z.memo(e)};const vs=t=>{const e=t.getNodes().filter(n=>n.selected);return{...ln(e,t.nodeOrigin),transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`,userSelectionActive:t.userSelectionActive}};var bs=z.memo(function({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){const r=Ce(),{width:a,height:o,x:i,y:c,transformString:d,userSelectionActive:l}=pe(vs,_e),u=pr(),s=z.useRef(null);if(z.useEffect(()=>{var f;n||((f=s.current)==null||f.focus({preventScroll:!0}))},[n]),mr({nodeRef:s}),l||!a||!o)return null;const g=t?f=>{const E=r.getState().getNodes().filter(h=>h.selected);t(f,E)}:void 0;return B.createElement("div",{className:Oe(["react-flow__nodesselection","react-flow__container",e]),style:{transform:d}},B.createElement("div",{ref:s,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:n?void 0:-1,onKeyDown:n?void 0:f=>{Object.prototype.hasOwnProperty.call(ft,f.key)&&u({x:ft[f.key].x,y:ft[f.key].y,isShiftPressed:f.shiftKey})},style:{width:a,height:o,top:c,left:i}}))});const Es=t=>t.nodesSelectionActive,yr=({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:o,onPaneScroll:i,deleteKeyCode:c,onMove:d,onMoveStart:l,onMoveEnd:u,selectionKeyCode:s,selectionOnDrag:g,selectionMode:f,onSelectionStart:E,onSelectionEnd:h,multiSelectionKeyCode:m,panActivationKeyCode:p,zoomActivationKeyCode:y,elementsSelectable:v,zoomOnScroll:x,zoomOnPinch:_,panOnScroll:S,panOnScrollSpeed:D,panOnScrollMode:M,zoomOnDoubleClick:w,panOnDrag:P,defaultViewport:N,translateExtent:O,minZoom:L,maxZoom:b,preventScrolling:k,onSelectionContextMenu:I,noWheelClassName:T,noPanClassName:V,disableKeyboardA11y:C})=>{const A=pe(Es),j=Nt(s),H=Nt(p),Y=H||P,X=H||S,K=j||g&&Y!==!0;return(({deleteKeyCode:ne,multiSelectionKeyCode:ie})=>{const de=Ce(),{deleteElements:$}=Ct(),Q=Nt(ne,us),oe=Nt(ie);z.useEffect(()=>{if(Q){const{edges:se,getNodes:re}=de.getState(),ce=re().filter(me=>me.selected),ee=se.filter(me=>me.selected);$({nodes:ce,edges:ee}),de.setState({nodesSelectionActive:!1})}},[Q]),z.useEffect(()=>{de.setState({multiSelectionActive:oe})},[oe])})({deleteKeyCode:c,multiSelectionKeyCode:m}),B.createElement(gs,{onMove:d,onMoveStart:l,onMoveEnd:u,onPaneContextMenu:o,elementsSelectable:v,zoomOnScroll:x,zoomOnPinch:_,panOnScroll:X,panOnScrollSpeed:D,panOnScrollMode:M,zoomOnDoubleClick:w,panOnDrag:!j&&Y,defaultViewport:N,translateExtent:O,minZoom:L,maxZoom:b,zoomActivationKeyCode:y,preventScrolling:k,noWheelClassName:T,noPanClassName:V},B.createElement(dr,{onSelectionStart:E,onSelectionEnd:h,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:o,onPaneScroll:i,panOnDrag:Y,isSelecting:!!K,selectionMode:f},t,A&&B.createElement(bs,{onSelectionContextMenu:I,noPanClassName:V,disableKeyboardA11y:C})))};yr.displayName="FlowRenderer";var xs=z.memo(yr);function ws(t){return{input:kt(t.input||Ko),default:kt(t.default||hn),output:kt(t.output||Go),group:kt(t.group||gn),...Object.keys(t).filter(e=>!["input","default","output","group"].includes(e)).reduce((e,n)=>(e[n]=kt(t[n]||hn),e),{})}}const Ss=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,updateNodeDimensions:t.updateNodeDimensions,onError:t.onError}),vr=t=>{const{nodesDraggable:e,nodesConnectable:n,nodesFocusable:r,elementsSelectable:a,updateNodeDimensions:o,onError:i}=pe(Ss,_e),c=(d=t.onlyRenderVisibleElements,pe(z.useCallback(s=>d?To(s.nodeInternals,{x:0,y:0,width:s.width,height:s.height},s.transform,!0):s.getNodes(),[d])));var d;const l=z.useRef(),u=z.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const s=new ResizeObserver(g=>{const f=g.map(E=>({id:E.target.getAttribute("data-id"),nodeElement:E.target,forceUpdate:!0}));o(f)});return l.current=s,s},[]);return z.useEffect(()=>()=>{var s;(s=l==null?void 0:l.current)==null||s.disconnect()},[]),B.createElement("div",{className:"react-flow__nodes",style:mn},c.map(s=>{var S,D,M;let g=s.type||"default";t.nodeTypes[g]||(i==null||i("003",Ri(g)),g="default");const f=t.nodeTypes[g]||t.nodeTypes.default,E=!!(s.draggable||e&&s.draggable===void 0),h=!!(s.selectable||a&&s.selectable===void 0),m=!!(s.connectable||n&&s.connectable===void 0),p=!!(s.focusable||r&&s.focusable===void 0),y=t.nodeExtent?Ut(s.positionAbsolute,t.nodeExtent):s.positionAbsolute,v=(y==null?void 0:y.x)??0,x=(y==null?void 0:y.y)??0,_=(({x:w,y:P,width:N,height:O,origin:L})=>N&&O?L[0]<0||L[1]<0||L[0]>1||L[1]>1?{x:w,y:P}:{x:w-N*L[0],y:P-O*L[1]}:{x:w,y:P})({x:v,y:x,width:s.width??0,height:s.height??0,origin:t.nodeOrigin});return B.createElement(f,{key:s.id,id:s.id,className:s.className,style:s.style,type:g,data:s.data,sourcePosition:s.sourcePosition||q.Bottom,targetPosition:s.targetPosition||q.Top,hidden:s.hidden,xPos:v,yPos:x,xPosOrigin:_.x,yPosOrigin:_.y,selectNodesOnDrag:t.selectNodesOnDrag,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,selected:!!s.selected,isDraggable:E,isSelectable:h,isConnectable:m,isFocusable:p,resizeObserver:u,dragHandle:s.dragHandle,zIndex:((S=s[be])==null?void 0:S.z)??0,isParent:!!((D=s[be])!=null&&D.isParent),noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,initialized:!!s.width&&!!s.height,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,ariaLabel:s.ariaLabel,hasHandleBounds:!!((M=s[be])!=null&&M.handleBounds)})}))};vr.displayName="NodeRenderer";var Ns=z.memo(vr);const Cs=(t,e,n)=>n===q.Left?t-e:n===q.Right?t+e:t,_s=(t,e,n)=>n===q.Top?t-e:n===q.Bottom?t+e:t,br="react-flow__edgeupdater",Er=({position:t,centerX:e,centerY:n,radius:r=10,onMouseDown:a,onMouseEnter:o,onMouseOut:i,type:c})=>B.createElement("circle",{onMouseDown:a,onMouseEnter:o,onMouseOut:i,className:Oe([br,`${br}-${c}`]),cx:Cs(e,r,t),cy:_s(n,r,t),r,stroke:"transparent",fill:"transparent"}),ks=()=>!0;var mt=t=>{const e=({id:n,className:r,type:a,data:o,onClick:i,onEdgeDoubleClick:c,selected:d,animated:l,label:u,labelStyle:s,labelShowBg:g,labelBgStyle:f,labelBgPadding:E,labelBgBorderRadius:h,style:m,source:p,target:y,sourceX:v,sourceY:x,targetX:_,targetY:S,sourcePosition:D,targetPosition:M,elementsSelectable:w,hidden:P,sourceHandleId:N,targetHandleId:O,onContextMenu:L,onMouseEnter:b,onMouseMove:k,onMouseLeave:I,reconnectRadius:T,onReconnect:V,onReconnectStart:C,onReconnectEnd:A,markerEnd:j,markerStart:H,rfId:Y,ariaLabel:X,isFocusable:K,isReconnectable:ne,pathOptions:ie,interactionWidth:de,disableKeyboardA11y:$})=>{const Q=z.useRef(null),[oe,se]=z.useState(!1),[re,ce]=z.useState(!1),ee=Ce(),me=z.useMemo(()=>`url('#${sn(H,Y)}')`,[H,Y]),ae=z.useMemo(()=>`url('#${sn(j,Y)}')`,[j,Y]);if(P)return null;const W=xt(n,ee.getState,c),ge=xt(n,ee.getState,L),te=xt(n,ee.getState,b),ye=xt(n,ee.getState,k),Ee=xt(n,ee.getState,I),Pe=(Ne,Ie)=>{if(Ne.button!==0)return;const{edges:Te,isValidConnection:Le}=ee.getState(),$e=Ie?y:p,Me=(Ie?O:N)||null,R=Ie?"target":"source",U=Le||ks,G=Ie,Z=Te.find(J=>J.id===n);ce(!0),C==null||C(Ne,Z,R),Ho({event:Ne,handleId:Me,nodeId:$e,onConnect:J=>V==null?void 0:V(Z,J),isTarget:G,getState:ee.getState,setState:ee.setState,isValidConnection:U,edgeUpdaterType:R,onReconnectEnd:J=>{ce(!1),A==null||A(J,Z,R)}})},ke=()=>se(!0),we=()=>se(!1),Fe=!w&&!i;return B.createElement("g",{className:Oe(["react-flow__edge",`react-flow__edge-${a}`,r,{selected:d,animated:l,inactive:Fe,updating:oe}]),onClick:Ne=>{var R;const{edges:Ie,addSelectedEdges:Te,unselectNodesAndEdges:Le,multiSelectionActive:$e}=ee.getState(),Me=Ie.find(U=>U.id===n);Me&&(w&&(ee.setState({nodesSelectionActive:!1}),Me.selected&&$e?(Le({nodes:[],edges:[Me]}),(R=Q.current)==null||R.blur()):Te([n])),i&&i(Ne,Me))},onDoubleClick:W,onContextMenu:ge,onMouseEnter:te,onMouseMove:ye,onMouseLeave:Ee,onKeyDown:K?Ne=>{var Ie;if(!$&&wo.includes(Ne.key)&&w){const{unselectNodesAndEdges:Te,addSelectedEdges:Le,edges:$e}=ee.getState();Ne.key==="Escape"?((Ie=Q.current)==null||Ie.blur(),Te({edges:[$e.find(Me=>Me.id===n)]})):Le([n])}}:void 0,tabIndex:K?0:void 0,role:K?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":X===null?void 0:X||`Edge from ${p} to ${y}`,"aria-describedby":K?`${Jo}-${Y}`:void 0,ref:Q},!re&&B.createElement(t,{id:n,source:p,target:y,selected:d,animated:l,label:u,labelStyle:s,labelShowBg:g,labelBgStyle:f,labelBgPadding:E,labelBgBorderRadius:h,data:o,style:m,sourceX:v,sourceY:x,targetX:_,targetY:S,sourcePosition:D,targetPosition:M,sourceHandleId:N,targetHandleId:O,markerStart:me,markerEnd:ae,pathOptions:ie,interactionWidth:de}),ne&&B.createElement(B.Fragment,null,(ne==="source"||ne===!0)&&B.createElement(Er,{position:D,centerX:v,centerY:x,radius:T,onMouseDown:Ne=>Pe(Ne,!0),onMouseEnter:ke,onMouseOut:we,type:"source"}),(ne==="target"||ne===!0)&&B.createElement(Er,{position:M,centerX:_,centerY:S,radius:T,onMouseDown:Ne=>Pe(Ne,!1),onMouseEnter:ke,onMouseOut:we,type:"target"})))};return e.displayName="EdgeWrapper",z.memo(e)};function Ms(t){return{default:mt(t.default||Bt),straight:mt(t.bezier||rn),step:mt(t.step||on),smoothstep:mt(t.step||Tt),simplebezier:mt(t.simplebezier||tn),...Object.keys(t).filter(e=>!["default","bezier"].includes(e)).reduce((e,n)=>(e[n]=mt(t[n]||Bt),e),{})}}function xr(t,e,n=null){const r=((n==null?void 0:n.x)||0)+e.x,a=((n==null?void 0:n.y)||0)+e.y,o=(n==null?void 0:n.width)||e.width,i=(n==null?void 0:n.height)||e.height;switch(t){case q.Top:return{x:r+o/2,y:a};case q.Right:return{x:r+o,y:a+i/2};case q.Bottom:return{x:r+o/2,y:a+i};case q.Left:return{x:r,y:a+i/2}}}function wr(t,e){return t?t.length!==1&&e?e&&t.find(n=>n.id===e)||null:t[0]:null}function Sr(t){var r,a,o,i,c;const e=((r=t==null?void 0:t[be])==null?void 0:r.handleBounds)||null,n=e&&(t==null?void 0:t.width)&&(t==null?void 0:t.height)&&((a=t==null?void 0:t.positionAbsolute)==null?void 0:a.x)!==void 0&&((o=t==null?void 0:t.positionAbsolute)==null?void 0:o.y)!==void 0;return[{x:((i=t==null?void 0:t.positionAbsolute)==null?void 0:i.x)||0,y:((c=t==null?void 0:t.positionAbsolute)==null?void 0:c.y)||0,width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0},e,!!n]}const Os=[{level:0,isMaxLevel:!0,edges:[]}];function Is(t,e,n){return(function(r,a,o=!1){let i=-1;const c=r.reduce((l,u)=>{var f,E;const s=Re(u.zIndex);let g=s?u.zIndex:0;if(o){const h=a.get(u.target),m=a.get(u.source),p=u.selected||(h==null?void 0:h.selected)||(m==null?void 0:m.selected),y=Math.max(((f=m==null?void 0:m[be])==null?void 0:f.z)||0,((E=h==null?void 0:h[be])==null?void 0:E.z)||0,1e3);g=(s?u.zIndex:0)+(p?y:0)}return l[g]?l[g].push(u):l[g]=[u],i=g>i?g:i,l},{}),d=Object.entries(c).map(([l,u])=>{const s=+l;return{edges:u,level:s,isMaxLevel:s===i}});return d.length===0?Os:d})(pe(z.useCallback(r=>t?r.edges.filter(a=>{const o=e.get(a.source),i=e.get(a.target);return(o==null?void 0:o.width)&&(o==null?void 0:o.height)&&(i==null?void 0:i.width)&&(i==null?void 0:i.height)&&(function({sourcePos:c,targetPos:d,sourceWidth:l,sourceHeight:u,targetWidth:s,targetHeight:g,width:f,height:E,transform:h}){const m={x:Math.min(c.x,d.x),y:Math.min(c.y,d.y),x2:Math.max(c.x+l,d.x+s),y2:Math.max(c.y+u,d.y+g)};m.x===m.x2&&(m.x2+=1),m.y===m.y2&&(m.y2+=1);const p=qt({x:(0-h[0])/h[2],y:(0-h[1])/h[2],width:f/h[2],height:E/h[2]}),y=Math.max(0,Math.min(p.x2,m.x2)-Math.max(p.x,m.x)),v=Math.max(0,Math.min(p.y2,m.y2)-Math.max(p.y,m.y));return Math.ceil(y*v)>0})({sourcePos:o.positionAbsolute||{x:0,y:0},targetPos:i.positionAbsolute||{x:0,y:0},sourceWidth:o.width,sourceHeight:o.height,targetWidth:i.width,targetHeight:i.height,width:r.width,height:r.height,transform:r.transform})}):r.edges,[t,e])),e,n)}const Nr={[ct.Arrow]:({color:t="none",strokeWidth:e=1})=>B.createElement("polyline",{style:{stroke:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[ct.ArrowClosed]:({color:t="none",strokeWidth:e=1})=>B.createElement("polyline",{style:{stroke:t,fill:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Ps=({id:t,type:e,color:n,width:r=12.5,height:a=12.5,markerUnits:o="strokeWidth",strokeWidth:i,orient:c="auto-start-reverse"})=>{const d=(function(l){const u=Ce();return z.useMemo(()=>{var s,g;return Object.prototype.hasOwnProperty.call(Nr,l)?Nr[l]:((g=(s=u.getState()).onError)==null||g.call(s,"009",Ai(l)),null)},[l])})(e);return d?B.createElement("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${r}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:c,refX:"0",refY:"0"},B.createElement(d,{color:n,strokeWidth:i})):null},Cr=({defaultColor:t,rfId:e})=>{const n=pe(z.useCallback((({defaultColor:r,rfId:a})=>o=>{const i=[];return o.edges.reduce((c,d)=>([d.markerStart,d.markerEnd].forEach(l=>{if(l&&typeof l=="object"){const u=sn(l,a);i.includes(u)||(c.push({id:u,color:l.color||r,...l}),i.push(u))}}),c),[]).sort((c,d)=>c.id.localeCompare(d.id))})({defaultColor:t,rfId:e}),[t,e]),(r,a)=>!(r.length!==a.length||r.some((o,i)=>o.id!==a[i].id)));return B.createElement("defs",null,n.map(r=>B.createElement(Ps,{id:r.id,key:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient})))};Cr.displayName="MarkerDefinitions";var Ds=z.memo(Cr);const js=t=>({nodesConnectable:t.nodesConnectable,edgesFocusable:t.edgesFocusable,edgesUpdatable:t.edgesUpdatable,elementsSelectable:t.elementsSelectable,width:t.width,height:t.height,connectionMode:t.connectionMode,nodeInternals:t.nodeInternals,onError:t.onError}),_r=({defaultMarkerColor:t,onlyRenderVisibleElements:e,elevateEdgesOnSelect:n,rfId:r,edgeTypes:a,noPanClassName:o,onEdgeContextMenu:i,onEdgeMouseEnter:c,onEdgeMouseMove:d,onEdgeMouseLeave:l,onEdgeClick:u,onEdgeDoubleClick:s,onReconnect:g,onReconnectStart:f,onReconnectEnd:E,reconnectRadius:h,children:m,disableKeyboardA11y:p})=>{const{edgesFocusable:y,edgesUpdatable:v,elementsSelectable:x,width:_,height:S,connectionMode:D,nodeInternals:M,onError:w}=pe(js,_e),P=Is(e,M,n);return _?B.createElement(B.Fragment,null,P.map(({level:N,edges:O,isMaxLevel:L})=>B.createElement("svg",{key:N,style:{zIndex:N},width:_,height:S,className:"react-flow__edges react-flow__container"},L&&B.createElement(Ds,{defaultColor:t,rfId:r}),B.createElement("g",null,O.map(b=>{const[k,I,T]=Sr(M.get(b.source)),[V,C,A]=Sr(M.get(b.target));if(!T||!A)return null;let j=b.type||"default";a[j]||(w==null||w("011",$i(j)),j="default");const H=a[j]||a.default,Y=D===ot.Strict?C.target:(C.target??[]).concat(C.source??[]),X=wr(I.source,b.sourceHandle),K=wr(Y,b.targetHandle),ne=(X==null?void 0:X.position)||q.Bottom,ie=(K==null?void 0:K.position)||q.Top,de=!!(b.focusable||y&&b.focusable===void 0),$=b.reconnectable||b.updatable,Q=g!==void 0&&($||v&&$===void 0);if(!X||!K)return w==null||w("008",Bi(X,b)),null;const{sourceX:oe,sourceY:se,targetX:re,targetY:ce}=((ee,me,ae,W,ge,te)=>{const ye=xr(ae,ee,me),Ee=xr(te,W,ge);return{sourceX:ye.x,sourceY:ye.y,targetX:Ee.x,targetY:Ee.y}})(k,X,ne,V,K,ie);return B.createElement(H,{key:b.id,id:b.id,className:Oe([b.className,o]),type:j,data:b.data,selected:!!b.selected,animated:!!b.animated,hidden:!!b.hidden,label:b.label,labelStyle:b.labelStyle,labelShowBg:b.labelShowBg,labelBgStyle:b.labelBgStyle,labelBgPadding:b.labelBgPadding,labelBgBorderRadius:b.labelBgBorderRadius,style:b.style,source:b.source,target:b.target,sourceHandleId:b.sourceHandle,targetHandleId:b.targetHandle,markerEnd:b.markerEnd,markerStart:b.markerStart,sourceX:oe,sourceY:se,targetX:re,targetY:ce,sourcePosition:ne,targetPosition:ie,elementsSelectable:x,onContextMenu:i,onMouseEnter:c,onMouseMove:d,onMouseLeave:l,onClick:u,onEdgeDoubleClick:s,onReconnect:g,onReconnectStart:f,onReconnectEnd:E,reconnectRadius:h,rfId:r,ariaLabel:b.ariaLabel,isFocusable:de,isReconnectable:Q,pathOptions:"pathOptions"in b?b.pathOptions:void 0,interactionWidth:b.interactionWidth,disableKeyboardA11y:p})})))),m):null};_r.displayName="EdgeRenderer";var Rs=z.memo(_r);const zs=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function Ts({children:t}){const e=pe(zs);return B.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:e}},t)}const As={[q.Left]:q.Right,[q.Right]:q.Left,[q.Top]:q.Bottom,[q.Bottom]:q.Top},kr=({nodeId:t,handleType:e,style:n,type:r=Ue.Bezier,CustomComponent:a,connectionStatus:o})=>{var S,D,M;const{fromNode:i,handleId:c,toX:d,toY:l,connectionMode:u}=pe(z.useCallback(w=>({fromNode:w.nodeInternals.get(t),handleId:w.connectionHandleId,toX:(w.connectionPosition.x-w.transform[0])/w.transform[2],toY:(w.connectionPosition.y-w.transform[1])/w.transform[2],connectionMode:w.connectionMode}),[t]),_e),s=(S=i==null?void 0:i[be])==null?void 0:S.handleBounds;let g=s==null?void 0:s[e];if(u===ot.Loose&&(g=g||(s==null?void 0:s[e==="source"?"target":"source"])),!i||!g)return null;const f=c?g.find(w=>w.id===c):g[0],E=f?f.x+f.width/2:(i.width??0)/2,h=f?f.y+f.height/2:i.height??0,m=(((D=i.positionAbsolute)==null?void 0:D.x)??0)+E,p=(((M=i.positionAbsolute)==null?void 0:M.y)??0)+h,y=f==null?void 0:f.position,v=y?As[y]:null;if(!y||!v)return null;if(a)return B.createElement(a,{connectionLineType:r,connectionLineStyle:n,fromNode:i,fromHandle:f,fromX:m,fromY:p,toX:d,toY:l,fromPosition:y,toPosition:v,connectionStatus:o});let x="";const _={sourceX:m,sourceY:p,sourcePosition:y,targetX:d,targetY:l,targetPosition:v};return r===Ue.Bezier?[x]=Ro(_):r===Ue.Step?[x]=nn({..._,borderRadius:0}):r===Ue.SmoothStep?[x]=nn(_):r===Ue.SimpleBezier?[x]=Io(_):x=`M${m},${p} ${d},${l}`,B.createElement("path",{d:x,fill:"none",className:"react-flow__connection-path",style:n})};kr.displayName="ConnectionLine";const Bs=t=>({nodeId:t.connectionNodeId,handleType:t.connectionHandleType,nodesConnectable:t.nodesConnectable,connectionStatus:t.connectionStatus,width:t.width,height:t.height});function Ls({containerStyle:t,style:e,type:n,component:r}){const{nodeId:a,handleType:o,nodesConnectable:i,width:c,height:d,connectionStatus:l}=pe(Bs,_e);return a&&o&&c&&i?B.createElement("svg",{style:t,width:c,height:d,className:"react-flow__edges react-flow__connectionline react-flow__container"},B.createElement("g",{className:Oe(["react-flow__connection",l])},B.createElement(kr,{nodeId:a,handleType:o,style:e,type:n,CustomComponent:r,connectionStatus:l}))):null}function Mr(t,e){return z.useRef(null),Ce(),z.useMemo(()=>e(t),[t])}const Or=({nodeTypes:t,edgeTypes:e,onMove:n,onMoveStart:r,onMoveEnd:a,onInit:o,onNodeClick:i,onEdgeClick:c,onNodeDoubleClick:d,onEdgeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:s,onNodeMouseLeave:g,onNodeContextMenu:f,onSelectionContextMenu:E,onSelectionStart:h,onSelectionEnd:m,connectionLineType:p,connectionLineStyle:y,connectionLineComponent:v,connectionLineContainerStyle:x,selectionKeyCode:_,selectionOnDrag:S,selectionMode:D,multiSelectionKeyCode:M,panActivationKeyCode:w,zoomActivationKeyCode:P,deleteKeyCode:N,onlyRenderVisibleElements:O,elementsSelectable:L,selectNodesOnDrag:b,defaultViewport:k,translateExtent:I,minZoom:T,maxZoom:V,preventScrolling:C,defaultMarkerColor:A,zoomOnScroll:j,zoomOnPinch:H,panOnScroll:Y,panOnScrollSpeed:X,panOnScrollMode:K,zoomOnDoubleClick:ne,panOnDrag:ie,onPaneClick:de,onPaneMouseEnter:$,onPaneMouseMove:Q,onPaneMouseLeave:oe,onPaneScroll:se,onPaneContextMenu:re,onEdgeContextMenu:ce,onEdgeMouseEnter:ee,onEdgeMouseMove:me,onEdgeMouseLeave:ae,onReconnect:W,onReconnectStart:ge,onReconnectEnd:te,reconnectRadius:ye,noDragClassName:Ee,noWheelClassName:Pe,noPanClassName:ke,elevateEdgesOnSelect:we,disableKeyboardA11y:Fe,nodeOrigin:Ne,nodeExtent:Ie,rfId:Te})=>{const Le=Mr(t,ws),$e=Mr(e,Ms);return(function(Me){const R=Ct(),U=z.useRef(!1);z.useEffect(()=>{!U.current&&R.viewportInitialized&&Me&&(setTimeout(()=>Me(R),1),U.current=!0)},[Me,R.viewportInitialized])})(o),B.createElement(xs,{onPaneClick:de,onPaneMouseEnter:$,onPaneMouseMove:Q,onPaneMouseLeave:oe,onPaneContextMenu:re,onPaneScroll:se,deleteKeyCode:N,selectionKeyCode:_,selectionOnDrag:S,selectionMode:D,onSelectionStart:h,onSelectionEnd:m,multiSelectionKeyCode:M,panActivationKeyCode:w,zoomActivationKeyCode:P,elementsSelectable:L,onMove:n,onMoveStart:r,onMoveEnd:a,zoomOnScroll:j,zoomOnPinch:H,zoomOnDoubleClick:ne,panOnScroll:Y,panOnScrollSpeed:X,panOnScrollMode:K,panOnDrag:ie,defaultViewport:k,translateExtent:I,minZoom:T,maxZoom:V,onSelectionContextMenu:E,preventScrolling:C,noDragClassName:Ee,noWheelClassName:Pe,noPanClassName:ke,disableKeyboardA11y:Fe},B.createElement(Ts,null,B.createElement(Rs,{edgeTypes:$e,onEdgeClick:c,onEdgeDoubleClick:l,onlyRenderVisibleElements:O,onEdgeContextMenu:ce,onEdgeMouseEnter:ee,onEdgeMouseMove:me,onEdgeMouseLeave:ae,onReconnect:W,onReconnectStart:ge,onReconnectEnd:te,reconnectRadius:ye,defaultMarkerColor:A,noPanClassName:ke,elevateEdgesOnSelect:!!we,disableKeyboardA11y:Fe,rfId:Te},B.createElement(Ls,{style:y,type:p,component:v,containerStyle:x})),B.createElement("div",{className:"react-flow__edgelabel-renderer"}),B.createElement(Ns,{nodeTypes:Le,onNodeClick:i,onNodeDoubleClick:d,onNodeMouseEnter:u,onNodeMouseMove:s,onNodeMouseLeave:g,onNodeContextMenu:f,selectNodesOnDrag:b,onlyRenderVisibleElements:O,noPanClassName:ke,noDragClassName:Ee,disableKeyboardA11y:Fe,nodeOrigin:Ne,nodeExtent:Ie,rfId:Te})))};Or.displayName="GraphView";var $s=z.memo(Or);const En=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Je={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:En,nodeExtent:En,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:ot.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:(t,e)=>{},isValidConnection:void 0},Vs=()=>{return t=(n,r)=>({...Je,setNodes:a=>{const{nodeInternals:o,nodeOrigin:i,elevateNodesOnSelect:c}=r();n({nodeInternals:fn(a,o,i,c)})},getNodes:()=>Array.from(r().nodeInternals.values()),setEdges:a=>{const{defaultEdgeOptions:o={}}=r();n({edges:a.map(i=>({...o,...i}))})},setDefaultNodesAndEdges:(a,o)=>{const i=a!==void 0,c=o!==void 0,d=i?fn(a,new Map,r().nodeOrigin,r().elevateNodesOnSelect):new Map;n({nodeInternals:d,edges:c?o:[],hasDefaultNodes:i,hasDefaultEdges:c})},updateNodeDimensions:a=>{const{onNodesChange:o,nodeInternals:i,fitViewOnInit:c,fitViewOnInitDone:d,fitViewOnInitOptions:l,domNode:u,nodeOrigin:s}=r(),g=u==null?void 0:u.querySelector(".react-flow__viewport");if(!g)return;const f=window.getComputedStyle(g),{m22:E}=new window.DOMMatrixReadOnly(f.transform),h=a.reduce((p,y)=>{const v=i.get(y.id);if(v!=null&&v.hidden)i.set(v.id,{...v,[be]:{...v[be],handleBounds:void 0}});else if(v){const x=Gt(y.nodeElement);x.width&&x.height&&(v.width!==x.width||v.height!==x.height||y.forceUpdate)&&(i.set(v.id,{...v,[be]:{...v[be],handleBounds:{source:fr(".source",y.nodeElement,E,s),target:fr(".target",y.nodeElement,E,s)}},...x}),p.push({id:v.id,type:"dimensions",dimensions:x}))}return p},[]);or(i,s);const m=d||c&&!d&&rr(r,{initial:!0,...l});n({nodeInternals:new Map(i),fitViewOnInitDone:m}),(h==null?void 0:h.length)>0&&(o==null||o(h))},updateNodePositions:(a,o=!0,i=!1)=>{const{triggerNodeChanges:c}=r();c(a.map(d=>{const l={id:d.id,type:"position",dragging:i};return o&&(l.positionAbsolute=d.positionAbsolute,l.position=d.position),l}))},triggerNodeChanges:a=>{const{onNodesChange:o,nodeInternals:i,hasDefaultNodes:c,nodeOrigin:d,getNodes:l,elevateNodesOnSelect:u}=r();if(a!=null&&a.length){if(c){const s=fn(lr(a,l()),i,d,u);n({nodeInternals:s})}o==null||o(a)}},addSelectedNodes:a=>{const{multiSelectionActive:o,edges:i,getNodes:c}=r();let d,l=null;o?d=a.map(u=>Qe(u,!0)):(d=gt(c(),a),l=gt(i,[])),$t({changedNodes:d,changedEdges:l,get:r,set:n})},addSelectedEdges:a=>{const{multiSelectionActive:o,edges:i,getNodes:c}=r();let d,l=null;o?d=a.map(u=>Qe(u,!0)):(d=gt(i,a),l=gt(c(),[])),$t({changedNodes:l,changedEdges:d,get:r,set:n})},unselectNodesAndEdges:({nodes:a,edges:o}={})=>{const{edges:i,getNodes:c}=r(),d=o||i;$t({changedNodes:(a||c()).map(l=>(l.selected=!1,Qe(l.id,!1))),changedEdges:d.map(l=>Qe(l.id,!1)),get:r,set:n})},setMinZoom:a=>{const{d3Zoom:o,maxZoom:i}=r();o==null||o.scaleExtent([a,i]),n({minZoom:a})},setMaxZoom:a=>{const{d3Zoom:o,minZoom:i}=r();o==null||o.scaleExtent([i,a]),n({maxZoom:a})},setTranslateExtent:a=>{var o;(o=r().d3Zoom)==null||o.translateExtent(a),n({translateExtent:a})},resetSelectedElements:()=>{const{edges:a,getNodes:o}=r();$t({changedNodes:o().filter(i=>i.selected).map(i=>Qe(i.id,!1)),changedEdges:a.filter(i=>i.selected).map(i=>Qe(i.id,!1)),get:r,set:n})},setNodeExtent:a=>{const{nodeInternals:o}=r();o.forEach(i=>{i.positionAbsolute=Ut(i.position,a)}),n({nodeExtent:a,nodeInternals:new Map(o)})},panBy:a=>{const{transform:o,width:i,height:c,d3Zoom:d,d3Selection:l,translateExtent:u}=r();if(!d||!l||!a.x&&!a.y)return!1;const s=tt.translate(o[0]+a.x,o[1]+a.y).scale(o[2]),g=[[0,0],[i,c]],f=d==null?void 0:d.constrain()(s,g,u);return d.transform(l,f),o[0]!==f.x||o[1]!==f.y||o[2]!==f.k},cancelConnection:()=>n({connectionNodeId:Je.connectionNodeId,connectionHandleId:Je.connectionHandleId,connectionHandleType:Je.connectionHandleType,connectionStatus:Je.connectionStatus,connectionStartHandle:Je.connectionStartHandle,connectionEndHandle:Je.connectionEndHandle}),reset:()=>n({...Je})}),e=Object.is,t?po(t,e):po;var t,e},xn=({children:t})=>{const e=z.useRef(null);return e.current||(e.current=Vs()),B.createElement(ji,{value:e.current},t)};xn.displayName="ReactFlowProvider";const Ir=({children:t})=>z.useContext(Dt)?B.createElement(B.Fragment,null,t):B.createElement(xn,null,t);Ir.displayName="ReactFlowWrapper";const Hs={input:Ko,default:hn,output:Go,group:gn},Ys={default:Bt,straight:rn,step:on,smoothstep:Tt,simplebezier:tn},Fs=[0,0],Xs=[15,15],Zs={x:0,y:0,zoom:1},Ks={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},wn=z.forwardRef(({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,className:a,nodeTypes:o=Hs,edgeTypes:i=Ys,onNodeClick:c,onEdgeClick:d,onInit:l,onMove:u,onMoveStart:s,onMoveEnd:g,onConnect:f,onConnectStart:E,onConnectEnd:h,onClickConnectStart:m,onClickConnectEnd:p,onNodeMouseEnter:y,onNodeMouseMove:v,onNodeMouseLeave:x,onNodeContextMenu:_,onNodeDoubleClick:S,onNodeDragStart:D,onNodeDrag:M,onNodeDragStop:w,onNodesDelete:P,onEdgesDelete:N,onSelectionChange:O,onSelectionDragStart:L,onSelectionDrag:b,onSelectionDragStop:k,onSelectionContextMenu:I,onSelectionStart:T,onSelectionEnd:V,connectionMode:C=ot.Strict,connectionLineType:A=Ue.Bezier,connectionLineStyle:j,connectionLineComponent:H,connectionLineContainerStyle:Y,deleteKeyCode:X="Backspace",selectionKeyCode:K="Shift",selectionOnDrag:ne=!1,selectionMode:ie=wt.Full,panActivationKeyCode:de="Space",multiSelectionKeyCode:$=Rt()?"Meta":"Control",zoomActivationKeyCode:Q=Rt()?"Meta":"Control",snapToGrid:oe=!1,snapGrid:se=Xs,onlyRenderVisibleElements:re=!1,selectNodesOnDrag:ce=!0,nodesDraggable:ee,nodesConnectable:me,nodesFocusable:ae,nodeOrigin:W=Fs,edgesFocusable:ge,edgesUpdatable:te,elementsSelectable:ye,defaultViewport:Ee=Zs,minZoom:Pe=.5,maxZoom:ke=2,translateExtent:we=En,preventScrolling:Fe=!0,nodeExtent:Ne,defaultMarkerColor:Ie="#b1b1b7",zoomOnScroll:Te=!0,zoomOnPinch:Le=!0,panOnScroll:$e=!1,panOnScrollSpeed:Me=.5,panOnScrollMode:R=Ge.Free,zoomOnDoubleClick:U=!0,panOnDrag:G=!0,onPaneClick:Z,onPaneMouseEnter:J,onPaneMouseMove:ue,onPaneMouseLeave:he,onPaneScroll:ve,onPaneContextMenu:fe,children:De,onEdgeContextMenu:Ae,onEdgeDoubleClick:Xe,onEdgeMouseEnter:et,onEdgeMouseMove:je,onEdgeMouseLeave:Ve,onEdgeUpdate:Ot,onEdgeUpdateStart:Hc,onEdgeUpdateEnd:Yc,onReconnect:Fc,onReconnectStart:Xc,onReconnectEnd:Zc,reconnectRadius:Kc=10,edgeUpdaterRadius:Wc=10,onNodesChange:Gc,onEdgesChange:Uc,noDragClassName:qc="nodrag",noWheelClassName:Qc="nowheel",noPanClassName:ri="nopan",fitView:Jc=!1,fitViewOptions:el,connectOnClick:tl=!0,attributionPosition:nl,proOptions:ol,defaultEdgeOptions:rl,elevateNodesOnSelect:al=!0,elevateEdgesOnSelect:il=!1,disableKeyboardA11y:ai=!1,autoPanOnConnect:sl=!0,autoPanOnNodeDrag:cl=!0,connectionRadius:ll=20,isValidConnection:dl,onError:ul,style:hl,id:ii,nodeDragThreshold:gl,...fl},ml)=>{const so=ii||"1";return B.createElement("div",{...fl,style:{...hl,...Ks},ref:ml,className:Oe(["react-flow",a]),"data-testid":"rf__wrapper",id:ii},B.createElement(Ir,null,B.createElement($s,{onInit:l,onMove:u,onMoveStart:s,onMoveEnd:g,onNodeClick:c,onEdgeClick:d,onNodeMouseEnter:y,onNodeMouseMove:v,onNodeMouseLeave:x,onNodeContextMenu:_,onNodeDoubleClick:S,nodeTypes:o,edgeTypes:i,connectionLineType:A,connectionLineStyle:j,connectionLineComponent:H,connectionLineContainerStyle:Y,selectionKeyCode:K,selectionOnDrag:ne,selectionMode:ie,deleteKeyCode:X,multiSelectionKeyCode:$,panActivationKeyCode:de,zoomActivationKeyCode:Q,onlyRenderVisibleElements:re,selectNodesOnDrag:ce,defaultViewport:Ee,translateExtent:we,minZoom:Pe,maxZoom:ke,preventScrolling:Fe,zoomOnScroll:Te,zoomOnPinch:Le,zoomOnDoubleClick:U,panOnScroll:$e,panOnScrollSpeed:Me,panOnScrollMode:R,panOnDrag:G,onPaneClick:Z,onPaneMouseEnter:J,onPaneMouseMove:ue,onPaneMouseLeave:he,onPaneScroll:ve,onPaneContextMenu:fe,onSelectionContextMenu:I,onSelectionStart:T,onSelectionEnd:V,onEdgeContextMenu:Ae,onEdgeDoubleClick:Xe,onEdgeMouseEnter:et,onEdgeMouseMove:je,onEdgeMouseLeave:Ve,onReconnect:Fc??Ot,onReconnectStart:Xc??Hc,onReconnectEnd:Zc??Yc,reconnectRadius:Kc??Wc,defaultMarkerColor:Ie,noDragClassName:qc,noWheelClassName:Qc,noPanClassName:ri,elevateEdgesOnSelect:il,rfId:so,disableKeyboardA11y:ai,nodeOrigin:W,nodeExtent:Ne}),B.createElement(ns,{nodes:t,edges:e,defaultNodes:n,defaultEdges:r,onConnect:f,onConnectStart:E,onConnectEnd:h,onClickConnectStart:m,onClickConnectEnd:p,nodesDraggable:ee,nodesConnectable:me,nodesFocusable:ae,edgesFocusable:ge,edgesUpdatable:te,elementsSelectable:ye,elevateNodesOnSelect:al,minZoom:Pe,maxZoom:ke,nodeExtent:Ne,onNodesChange:Gc,onEdgesChange:Uc,snapToGrid:oe,snapGrid:se,connectionMode:C,translateExtent:we,connectOnClick:tl,defaultEdgeOptions:rl,fitView:Jc,fitViewOptions:el,onNodesDelete:P,onEdgesDelete:N,onNodeDragStart:D,onNodeDrag:M,onNodeDragStop:w,onSelectionDrag:b,onSelectionDragStart:L,onSelectionDragStop:k,noPanClassName:ri,nodeOrigin:W,rfId:so,autoPanOnConnect:sl,autoPanOnNodeDrag:cl,onError:ul,connectionRadius:ll,isValidConnection:dl,nodeDragThreshold:gl}),B.createElement(es,{onSelectionChange:O}),De,B.createElement(Yi,{proOptions:ol,position:nl}),B.createElement(is,{rfId:so,disableKeyboardA11y:ai})))});function Pr(t){return e=>{const[n,r]=z.useState(e),a=z.useCallback(o=>r(i=>t(o,i)),[]);return[n,r,a]}}wn.displayName="ReactFlow";const Dr=Pr(lr),jr=Pr(function(t,e){return cr(t,e)});function Ws(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},B.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function Gs(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},B.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Us(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},B.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function qs(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},B.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function Qs(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},B.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const pt=({children:t,className:e,...n})=>B.createElement("button",{type:"button",className:Oe(["react-flow__controls-button",e]),...n},t);pt.displayName="ControlButton";const Js=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom}),Rr=({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:a,onZoomIn:o,onZoomOut:i,onFitView:c,onInteractiveChange:d,className:l,children:u,position:s="bottom-left"})=>{const g=Ce(),[f,E]=z.useState(!1),{isInteractive:h,minZoomReached:m,maxZoomReached:p}=pe(Js,_e),{zoomIn:y,zoomOut:v,fitView:x}=Ct();return z.useEffect(()=>{E(!0)},[]),f?B.createElement(jt,{className:Oe(["react-flow__controls",l]),position:s,style:t,"data-testid":"rf__controls"},e&&B.createElement(B.Fragment,null,B.createElement(pt,{onClick:()=>{y(),o==null||o()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:p},B.createElement(Ws,null)),B.createElement(pt,{onClick:()=>{v(),i==null||i()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:m},B.createElement(Gs,null))),n&&B.createElement(pt,{className:"react-flow__controls-fitview",onClick:()=>{x(a),c==null||c()},title:"fit view","aria-label":"fit view"},B.createElement(Us,null)),r&&B.createElement(pt,{className:"react-flow__controls-interactive",onClick:()=>{g.setState({nodesDraggable:!h,nodesConnectable:!h,elementsSelectable:!h}),d==null||d(!h)},title:"toggle interactivity","aria-label":"toggle interactivity"},h?B.createElement(Qs,null):B.createElement(qs,null)),u):null};Rr.displayName="Controls";var ze,ec=z.memo(Rr);function tc({color:t,dimensions:e,lineWidth:n}){return B.createElement("path",{stroke:t,strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})}function nc({color:t,radius:e}){return B.createElement("circle",{cx:e,cy:e,r:e,fill:t})}(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(ze||(ze={}));const oc={[ze.Dots]:"#91919a",[ze.Lines]:"#eee",[ze.Cross]:"#e2e2e2"},rc={[ze.Dots]:1,[ze.Lines]:1,[ze.Cross]:6},ac=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function zr({id:t,variant:e=ze.Dots,gap:n=20,size:r,lineWidth:a=1,offset:o=2,color:i,style:c,className:d}){const l=z.useRef(null),{transform:u,patternId:s}=pe(ac,_e),g=i||oc[e],f=r||rc[e],E=e===ze.Dots,h=e===ze.Cross,m=Array.isArray(n)?n:[n,n],p=[m[0]*u[2]||1,m[1]*u[2]||1],y=f*u[2],v=h?[y,y]:p,x=E?[y/o,y/o]:[v[0]/o,v[1]/o];return B.createElement("svg",{className:Oe(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:l,"data-testid":"rf__background"},B.createElement("pattern",{id:s+t,x:u[0]%p[0],y:u[1]%p[1],width:p[0],height:p[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${x[0]},-${x[1]})`},E?B.createElement(nc,{color:g,radius:y/o}):B.createElement(tc,{dimensions:v,color:g,lineWidth:a})),B.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${s+t})`}))}zr.displayName="Background";var ic=z.memo(zr);function Sn(t){return Math.min(11*t+35,200)}const Tr=B.createContext("LR"),Ar=z.memo(t=>{const e=Ke.c(51),{data:n,selected:r}=t,a=El(n.atom),o=ci().inOrderIds.indexOf(a.id),i=r?"var(--gray-9)":"var(--gray-3)",c=pe(sc),d=z.use(Tr);let l,u,s,g,f;if(e[0]!==a.code||e[1]!==i||e[2]!==d||e[3]!==r){const N=a.code.split(`
|
|
2
|
-
`).length,O=d==="LR"?q.Left:q.Top;let L;e[8]!==i?(L={background:i},e[8]=i,e[9]=L):L=e[9],e[10]!==O||e[11]!==L?(s=F.jsx(qe,{type:"target",id:"inputs",position:O,style:L}),e[10]=O,e[11]=L,e[12]=s):s=e[12];const b=d==="LR"?q.Left:q.Top;let k;e[13]!==i?(k={background:i},e[13]=i,e[14]=k):k=e[14],e[15]!==b||e[16]!==k?(g=F.jsx(qe,{type:"source",id:"inputs",position:b,style:k}),e[15]=b,e[16]=k,e[17]=g):g=e[17];const I=r&&"border-primary";e[18]!==I?(u=li("flex flex-col bg-card border border-input/50 rounded-md mx-[2px] overflow-hidden",I),e[18]=I,e[19]=u):u=e[19],l=Sn(N),e[0]=a.code,e[1]=i,e[2]=d,e[3]=r,e[4]=l,e[5]=u,e[6]=s,e[7]=g}else l=e[4],u=e[5],s=e[6],g=e[7];var E;let h;e[20]!==n.forceWidth||e[21]!==c?(f=n.forceWidth||(E=c,Math.min(Math.max(E-100,100),400)),e[20]=n.forceWidth,e[21]=c,e[22]=f):f=e[22],e[23]!==l||e[24]!==f?(h={height:l,width:f},e[23]=l,e[24]=f,e[25]=h):h=e[25];const m=xl(a.name,o);let p,y,v;e[26]!==m?(p=F.jsx("div",{className:"text-muted-foreground font-semibold text-xs py-1 px-2 bg-muted border-b",children:m}),e[26]=m,e[27]=p):p=e[27],e[28]!==a.code?(y=F.jsx(Ll,{code:a.code}),e[28]=a.code,e[29]=y):y=e[29],e[30]!==u||e[31]!==h||e[32]!==p||e[33]!==y?(v=F.jsxs("div",{className:u,style:h,children:[p,y]}),e[30]=u,e[31]=h,e[32]=p,e[33]=y,e[34]=v):v=e[34];const x=d==="LR"?q.Right:q.Bottom;let _,S;e[35]!==i?(_={background:i},e[35]=i,e[36]=_):_=e[36],e[37]!==x||e[38]!==_?(S=F.jsx(qe,{type:"source",id:"outputs",position:x,style:_}),e[37]=x,e[38]=_,e[39]=S):S=e[39];const D=d==="LR"?q.Right:q.Bottom;let M,w,P;return e[40]!==i?(M={background:i},e[40]=i,e[41]=M):M=e[41],e[42]!==D||e[43]!==M?(w=F.jsx(qe,{type:"target",id:"outputs",position:D,style:M}),e[42]=D,e[43]=M,e[44]=w):w=e[44],e[45]!==v||e[46]!==S||e[47]!==w||e[48]!==s||e[49]!==g?(P=F.jsxs("div",{children:[s,g,v,S,w]}),e[45]=v,e[46]=S,e[47]=w,e[48]=s,e[49]=g,e[50]=P):P=e[50],P},(t,e)=>["data","selected","id"].every(n=>t[n]===e[n]));Ar.displayName="CustomNode";const Br={custom:Ar};function sc(t){const{width:e}=t;return e}const Nn=
|
|
3
|
-
`).length),position:{x:0,y:n+20}}}createElements(t,e,n,r){let a=0;const o=[],i=[];for(const[d,l]of si.zip(t,e)){const u=this.createNode(d,l,a);o.push(u),a=u.position.y+(u.height||0)}const c=new Set;for(const d of Object.values(n)){const{declaredBy:l,usedBy:u}=d;for(const s of l)for(const g of u){const f=`${s}-${g}`;c.has(f)||(c.add(f),i.push(this.createEdge(s,g,"inputs"),this.createEdge(s,g,"outputs")))}}return{nodes:o,edges:i}}},uc=t=>{const e=Ke.c(37),{cellIds:n,variables:r,cellAtoms:a,children:o}=t;let i;e[0]!==a||e[1]!==n||e[2]!==r?(i=$r.createElements(n,a,r,!1),e[0]=a,e[1]=n,e[2]=r,e[3]=i):i=e[3];const{nodes:c,edges:d}=i;let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[4]=l):l=e[4];const[u,s]=jr(l),[g,f]=Dr(c),[E,h]=z.useState(),[m,p]=z.useState(),y=z.useRef(!1);Lr();const v=pe(hc);let x;e[5]!==s||e[6]!==f?(x=C=>{f(C.nodes),s([])},e[5]=s,e[6]=f,e[7]=x):x=e[7];const _=di(x);let S,D,M,w;e[8]!==a||e[9]!==n||e[10]!==_||e[11]!==r?(S=()=>{y.current?_($r.createElements(n,a,r,!1)):y.current=!0},D=[n,r,a,_],e[8]=a,e[9]=n,e[10]=_,e[11]=r,e[12]=S,e[13]=D):(S=e[12],D=e[13]),z.useEffect(S,D),e[14]!==d||e[15]!==E||e[16]!==s?(M=()=>{if(E){const C=d.filter(A=>{const{source:j,target:H,data:Y}=A;return j===E&&Y.direction==="outputs"||H===E&&Y.direction==="inputs"});s(C)}},w=[E,s,d],e[14]=d,e[15]=E,e[16]=s,e[17]=M,e[18]=w):(M=e[17],w=e[18]),z.useEffect(M,w);const P=(function(C,A){const j=Ke.c(17);let H;if(j[0]!==A||j[1]!==C){let $;j[3]!==A?($=(Q,oe)=>{const{position:se}=oe;return Math.min(Q,se.y-A/2-10)},j[3]=A,j[4]=$):$=j[4],H=C.reduce($,Number.POSITIVE_INFINITY),j[0]=A,j[1]=C,j[2]=H}else H=j[2];const Y=H;let X;if(j[5]!==A||j[6]!==C){let $;j[8]!==A?($=(Q,oe)=>{const{position:se}=oe;return Math.max(Q,se.y+A/2+10)},j[8]=A,j[9]=$):$=j[9],X=C.reduce($,Number.NEGATIVE_INFINITY),j[5]=A,j[6]=C,j[7]=X}else X=j[7];const K=X;let ne,ie,de;return j[10]!==Y?(ne=[Number.NEGATIVE_INFINITY,Y],j[10]=Y,j[11]=ne):ne=j[11],j[12]!==K?(ie=[Number.POSITIVE_INFINITY,K],j[12]=K,j[13]=ie):ie=j[13],j[14]!==ne||j[15]!==ie?(de=[ne,ie],j[14]=ne,j[15]=ie,j[16]=de):de=j[16],de})(g,v);let N;e[19]===Symbol.for("react.memo_cache_sentinel")?(N=()=>{h(void 0),p(void 0)},e[19]=N):N=e[19];const O=N;let L;e[20]!==u||e[21]!==m||e[22]!==E||e[23]!==r?(L=()=>m?F.jsx(Ht,{selection:{type:"edge",source:m.source,target:m.target},onClearSelection:O,variables:r,edges:u}):E?F.jsx(Ht,{selection:{type:"node",id:E},variables:r,edges:u,onClearSelection:O}):null,e[20]=u,e[21]=m,e[22]=E,e[23]=r,e[24]=L):L=e[24];const b=L;let k,I,T,V;return e[25]!==s?(k=(C,A)=>{const j=A.id;h(j),p(void 0),s([])},e[25]=s,e[26]=k):k=e[26],e[27]===Symbol.for("react.memo_cache_sentinel")?(I=(C,A)=>{p(A)},e[27]=I):I=e[27],e[28]!==b?(T=b(),e[28]=b,e[29]=T):T=e[29],e[30]!==o||e[31]!==u||e[32]!==g||e[33]!==k||e[34]!==T||e[35]!==P?(V=F.jsxs(wn,{nodes:g,edges:u,nodeTypes:Br,translateExtent:P,onNodeClick:k,onNodeDoubleClick:gc,onEdgeClick:I,snapToGrid:!0,fitView:!0,elementsSelectable:!0,minZoom:1,maxZoom:1,draggable:!1,panOnScrollMode:Ge.Vertical,zoomOnDoubleClick:!1,nodesDraggable:!1,nodesConnectable:!1,nodesFocusable:!1,edgesFocusable:!1,selectNodesOnDrag:!1,panOnDrag:!1,preventScrolling:!1,zoomOnPinch:!1,panOnScroll:!0,autoPanOnNodeDrag:!1,autoPanOnConnect:!1,children:[T,o]}),e[30]=o,e[31]=u,e[32]=g,e[33]=k,e[34]=T,e[35]=P,e[36]=V):V=e[36],V};function hc(t){const{height:e}=t;return e}function gc(t,e){ui(e.id,"focus")}var Cn,Vr,Hr,Yr,Fr,Xr,_n,Zr,kn,Kr,Wr,Gr,Mn,Ur,On,qr,In,Qr,Pn,Jr,Dn,ea,jn,ta,Rn,na,zn,oa,Tn,ra,An,aa,Bn,ia,sa,ca,la,da,ua,ha,Ln,ga,$n,fa,Vn,ma,Hn,pa,Yn,ya,Fn,va,Xn,ba,Zn,Ea,Kn,xa,Wn,wa,Gn,Sa,Un,Na,qn,Ca,Qn,_a,ka,Ma,Oa,Ia,Pa,Da,Jn,ja,eo,Ra,za,Ta,to,Aa,no,Ba,oo,La,ro,$a,ao,Va,Ha,Ya,Fa,Xa;function io(){if(Vr)return Cn;Vr=1;var t="\0";function e(o,i){o[i]?o[i]++:o[i]=1}function n(o,i){--o[i]||delete o[i]}function r(o,i,c,d){var l=""+i,u=""+c;if(!o&&l>u){var s=l;l=u,u=s}return l+""+u+""+(d===void 0?"\0":d)}function a(o,i){return r(o,i.v,i.w,i.name)}return Cn=class{constructor(o){Se(this,"_isDirected",!0);Se(this,"_isMultigraph",!1);Se(this,"_isCompound",!1);Se(this,"_label");Se(this,"_defaultNodeLabelFn",()=>{});Se(this,"_defaultEdgeLabelFn",()=>{});Se(this,"_nodes",{});Se(this,"_in",{});Se(this,"_preds",{});Se(this,"_out",{});Se(this,"_sucs",{});Se(this,"_edgeObjs",{});Se(this,"_edgeLabels",{});Se(this,"_nodeCount",0);Se(this,"_edgeCount",0);Se(this,"_parent");Se(this,"_children");o&&(this._isDirected=!Object.hasOwn(o,"directed")||o.directed,this._isMultigraph=!!Object.hasOwn(o,"multigraph")&&o.multigraph,this._isCompound=!!Object.hasOwn(o,"compound")&&o.compound),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(o){return this._label=o,this}graph(){return this._label}setDefaultNodeLabel(o){return this._defaultNodeLabelFn=o,typeof o!="function"&&(this._defaultNodeLabelFn=()=>o),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var o=this;return this.nodes().filter(i=>Object.keys(o._in[i]).length===0)}sinks(){var o=this;return this.nodes().filter(i=>Object.keys(o._out[i]).length===0)}setNodes(o,i){var c=arguments,d=this;return o.forEach(function(l){c.length>1?d.setNode(l,i):d.setNode(l)}),this}setNode(o,i){return Object.hasOwn(this._nodes,o)?(arguments.length>1&&(this._nodes[o]=i),this):(this._nodes[o]=arguments.length>1?i:this._defaultNodeLabelFn(o),this._isCompound&&(this._parent[o]=t,this._children[o]={},this._children[t][o]=!0),this._in[o]={},this._preds[o]={},this._out[o]={},this._sucs[o]={},++this._nodeCount,this)}node(o){return this._nodes[o]}hasNode(o){return Object.hasOwn(this._nodes,o)}removeNode(o){var i=this;if(Object.hasOwn(this._nodes,o)){var c=d=>i.removeEdge(i._edgeObjs[d]);delete this._nodes[o],this._isCompound&&(this._removeFromParentsChildList(o),delete this._parent[o],this.children(o).forEach(function(d){i.setParent(d)}),delete this._children[o]),Object.keys(this._in[o]).forEach(c),delete this._in[o],delete this._preds[o],Object.keys(this._out[o]).forEach(c),delete this._out[o],delete this._sucs[o],--this._nodeCount}return this}setParent(o,i){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(i===void 0)i=t;else{for(var c=i+="";c!==void 0;c=this.parent(c))if(c===o)throw new Error("Setting "+i+" as parent of "+o+" would create a cycle");this.setNode(i)}return this.setNode(o),this._removeFromParentsChildList(o),this._parent[o]=i,this._children[i][o]=!0,this}_removeFromParentsChildList(o){delete this._children[this._parent[o]][o]}parent(o){if(this._isCompound){var i=this._parent[o];if(i!==t)return i}}children(o=t){if(this._isCompound){var i=this._children[o];if(i)return Object.keys(i)}else{if(o===t)return this.nodes();if(this.hasNode(o))return[]}}predecessors(o){var i=this._preds[o];if(i)return Object.keys(i)}successors(o){var i=this._sucs[o];if(i)return Object.keys(i)}neighbors(o){var i=this.predecessors(o);if(i){const d=new Set(i);for(var c of this.successors(o))d.add(c);return Array.from(d.values())}}isLeaf(o){return(this.isDirected()?this.successors(o):this.neighbors(o)).length===0}filterNodes(o){var i=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});i.setGraph(this.graph());var c=this;Object.entries(this._nodes).forEach(function([u,s]){o(u)&&i.setNode(u,s)}),Object.values(this._edgeObjs).forEach(function(u){i.hasNode(u.v)&&i.hasNode(u.w)&&i.setEdge(u,c.edge(u))});var d={};function l(u){var s=c.parent(u);return s===void 0||i.hasNode(s)?(d[u]=s,s):s in d?d[s]:l(s)}return this._isCompound&&i.nodes().forEach(u=>i.setParent(u,l(u))),i}setDefaultEdgeLabel(o){return this._defaultEdgeLabelFn=o,typeof o!="function"&&(this._defaultEdgeLabelFn=()=>o),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(o,i){var c=this,d=arguments;return o.reduce(function(l,u){return d.length>1?c.setEdge(l,u,i):c.setEdge(l,u),u}),this}setEdge(){var o,i,c,d,l=!1,u=arguments[0];typeof u=="object"&&u!==null&&"v"in u?(o=u.v,i=u.w,c=u.name,arguments.length===2&&(d=arguments[1],l=!0)):(o=u,i=arguments[1],c=arguments[3],arguments.length>2&&(d=arguments[2],l=!0)),o=""+o,i=""+i,c!==void 0&&(c=""+c);var s=r(this._isDirected,o,i,c);if(Object.hasOwn(this._edgeLabels,s))return l&&(this._edgeLabels[s]=d),this;if(c!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(o),this.setNode(i),this._edgeLabels[s]=l?d:this._defaultEdgeLabelFn(o,i,c);var g=(function(f,E,h,m){var p=""+E,y=""+h;if(!f&&p>y){var v=p;p=y,y=v}var x={v:p,w:y};return m&&(x.name=m),x})(this._isDirected,o,i,c);return o=g.v,i=g.w,Object.freeze(g),this._edgeObjs[s]=g,e(this._preds[i],o),e(this._sucs[o],i),this._in[i][s]=g,this._out[o][s]=g,this._edgeCount++,this}edge(o,i,c){var d=arguments.length===1?a(this._isDirected,arguments[0]):r(this._isDirected,o,i,c);return this._edgeLabels[d]}edgeAsObj(){const o=this.edge(...arguments);return typeof o!="object"?{label:o}:o}hasEdge(o,i,c){var d=arguments.length===1?a(this._isDirected,arguments[0]):r(this._isDirected,o,i,c);return Object.hasOwn(this._edgeLabels,d)}removeEdge(o,i,c){var d=arguments.length===1?a(this._isDirected,arguments[0]):r(this._isDirected,o,i,c),l=this._edgeObjs[d];return l&&(o=l.v,i=l.w,delete this._edgeLabels[d],delete this._edgeObjs[d],n(this._preds[i],o),n(this._sucs[o],i),delete this._in[i][d],delete this._out[o][d],this._edgeCount--),this}inEdges(o,i){var c=this._in[o];if(c){var d=Object.values(c);return i?d.filter(l=>l.v===i):d}}outEdges(o,i){var c=this._out[o];if(c){var d=Object.values(c);return i?d.filter(l=>l.w===i):d}}nodeEdges(o,i){var c=this.inEdges(o,i);if(c)return c.concat(this.outEdges(o,i))}},Cn}function fc(){return Xr?Fr:(Xr=1,Fr={Graph:io(),version:Yr?Hr:(Yr=1,Hr="2.2.4")})}function mc(){if(Zr)return _n;Zr=1;var t=io();function e(r){return r.nodes().map(function(a){var o=r.node(a),i=r.parent(a),c={v:a};return o!==void 0&&(c.value=o),i!==void 0&&(c.parent=i),c})}function n(r){return r.edges().map(function(a){var o=r.edge(a),i={v:a.v,w:a.w};return a.name!==void 0&&(i.name=a.name),o!==void 0&&(i.value=o),i})}return _n={write:function(r){var a={options:{directed:r.isDirected(),multigraph:r.isMultigraph(),compound:r.isCompound()},nodes:e(r),edges:n(r)};return r.graph()!==void 0&&(a.value=structuredClone(r.graph())),a},read:function(r){var a=new t(r.options).setGraph(r.value);return r.nodes.forEach(function(o){a.setNode(o.v,o.value),o.parent&&a.setParent(o.v,o.parent)}),r.edges.forEach(function(o){a.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),a}},_n}function pc(){return Kr||(Kr=1,kn=function(t){var e,n={},r=[];function a(o){Object.hasOwn(n,o)||(n[o]=!0,e.push(o),t.successors(o).forEach(a),t.predecessors(o).forEach(a))}return t.nodes().forEach(function(o){e=[],a(o),e.length&&r.push(e)}),r}),kn}function Za(){return Gr?Wr:(Gr=1,Wr=class{constructor(){Se(this,"_arr",[]);Se(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(t){return t.key})}has(t){return Object.hasOwn(this._keyIndices,t)}priority(t){var e=this._keyIndices[t];if(e!==void 0)return this._arr[e].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,e){var n=this._keyIndices;if(t=String(t),!Object.hasOwn(n,t)){var r=this._arr,a=r.length;return n[t]=a,r.push({key:t,priority:e}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)}_heapify(t){var e=this._arr,n=2*t,r=n+1,a=t;n<e.length&&(a=e[n].priority<e[a].priority?n:a,r<e.length&&(a=e[r].priority<e[a].priority?r:a),a!==t&&(this._swap(t,a),this._heapify(a)))}_decrease(t){for(var e,n=this._arr,r=n[t].priority;t!==0&&!(n[e=t>>1].priority<r);)this._swap(t,e),t=e}_swap(t,e){var n=this._arr,r=this._keyIndices,a=n[t],o=n[e];n[t]=o,n[e]=a,r[o.key]=t,r[a.key]=e}})}function Ka(){if(Ur)return Mn;Ur=1;var t=Za();Mn=function(n,r,a,o){return(function(i,c,d,l){var u,s,g={},f=new t,E=function(h){var m=h.v!==u?h.v:h.w,p=g[m],y=d(h),v=s.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);v<p.distance&&(p.distance=v,p.predecessor=u,f.decrease(m,v))};for(i.nodes().forEach(function(h){var m=h===c?0:Number.POSITIVE_INFINITY;g[h]={distance:m},f.add(h,m)});f.size()>0&&(u=f.removeMin(),(s=g[u]).distance!==Number.POSITIVE_INFINITY);)l(u).forEach(E);return g})(n,String(r),a||e,o||function(i){return n.outEdges(i)})};var e=()=>1;return Mn}function yc(){if(qr)return On;qr=1;var t=Ka();return On=function(e,n,r){return e.nodes().reduce(function(a,o){return a[o]=t(e,o,n,r),a},{})},On}function Wa(){return Qr||(Qr=1,In=function(t){var e=0,n=[],r={},a=[];function o(i){var c=r[i]={onStack:!0,lowlink:e,index:e++};if(n.push(i),t.successors(i).forEach(function(u){Object.hasOwn(r,u)?r[u].onStack&&(c.lowlink=Math.min(c.lowlink,r[u].index)):(o(u),c.lowlink=Math.min(c.lowlink,r[u].lowlink))}),c.lowlink===c.index){var d,l=[];do d=n.pop(),r[d].onStack=!1,l.push(d);while(i!==d);a.push(l)}}return t.nodes().forEach(function(i){Object.hasOwn(r,i)||o(i)}),a}),In}function vc(){if(Jr)return Pn;Jr=1;var t=Wa();return Pn=function(e){return t(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})},Pn}function bc(){if(ea)return Dn;ea=1,Dn=function(e,n,r){return(function(a,o,i){var c={},d=a.nodes();return d.forEach(function(l){c[l]={},c[l][l]={distance:0},d.forEach(function(u){l!==u&&(c[l][u]={distance:Number.POSITIVE_INFINITY})}),i(l).forEach(function(u){var s=u.v===l?u.w:u.v,g=o(u);c[l][s]={distance:g,predecessor:l}})}),d.forEach(function(l){var u=c[l];d.forEach(function(s){var g=c[s];d.forEach(function(f){var E=g[l],h=u[f],m=g[f],p=E.distance+h.distance;p<m.distance&&(m.distance=p,m.predecessor=h.predecessor)})})}),c})(e,n||t,r||function(a){return e.outEdges(a)})};var t=()=>1;return Dn}function Ga(){if(ta)return jn;function t(n){var r={},a={},o=[];if(n.sinks().forEach(function i(c){if(Object.hasOwn(a,c))throw new e;Object.hasOwn(r,c)||(a[c]=!0,r[c]=!0,n.predecessors(c).forEach(i),delete a[c],o.push(c))}),Object.keys(r).length!==n.nodeCount())throw new e;return o}ta=1;class e extends Error{constructor(){super(...arguments)}}return jn=t,t.CycleException=e,jn}function Ec(){if(na)return Rn;na=1;var t=Ga();return Rn=function(e){try{t(e)}catch(n){if(n instanceof t.CycleException)return!1;throw n}return!0},Rn}function Ua(){if(oa)return zn;function t(r,a,o,i){for(var c=[[r,!1]];c.length>0;){var d=c.pop();d[1]?i.push(d[0]):Object.hasOwn(o,d[0])||(o[d[0]]=!0,c.push([d[0],!0]),n(a(d[0]),l=>c.push([l,!1])))}}function e(r,a,o,i){for(var c=[r];c.length>0;){var d=c.pop();Object.hasOwn(o,d)||(o[d]=!0,i.push(d),n(a(d),l=>c.push(l)))}}function n(r,a){for(var o=r.length;o--;)a(r[o],o,r);return r}return oa=1,zn=function(r,a,o){Array.isArray(a)||(a=[a]);var i=r.isDirected()?u=>r.successors(u):u=>r.neighbors(u),c=o==="post"?t:e,d=[],l={};return a.forEach(u=>{if(!r.hasNode(u))throw new Error("Graph does not have node: "+u);c(u,i,l,d)}),d},zn}function xc(){if(ra)return Tn;ra=1;var t=Ua();return Tn=function(e,n){return t(e,n,"post")},Tn}function wc(){if(aa)return An;aa=1;var t=Ua();return An=function(e,n){return t(e,n,"pre")},An}function Sc(){if(ia)return Bn;ia=1;var t=io(),e=Za();return Bn=function(n,r){var a,o=new t,i={},c=new e;function d(u){var s=u.v===a?u.w:u.v,g=c.priority(s);if(g!==void 0){var f=r(u);f<g&&(i[s]=a,c.decrease(s,f))}}if(n.nodeCount()===0)return o;n.nodes().forEach(function(u){c.add(u,Number.POSITIVE_INFINITY),o.setNode(u)}),c.decrease(n.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),Object.hasOwn(i,a))o.setEdge(a,i[a]);else{if(l)throw new Error("Input graph is not connected: "+n);l=!0}n.nodeEdges(a).forEach(d)}return o},Bn}function Be(){if(da)return la;da=1;var t=fc();return la={Graph:t.Graph,json:mc(),alg:ca?sa:(ca=1,sa={components:pc(),dijkstra:Ka(),dijkstraAll:yc(),findCycles:vc(),floydWarshall:bc(),isAcyclic:Ec(),postorder:xc(),preorder:wc(),prim:Sc(),tarjan:Wa(),topsort:Ga()}),version:t.version}}function Nc(){if(ga)return Ln;ga=1;let t=Be().Graph,e=(function(){if(ha)return ua;function o(c){c._prev._next=c._next,c._next._prev=c._prev,delete c._next,delete c._prev}function i(c,d){if(c!=="_next"&&c!=="_prev")return d}return ha=1,ua=class{constructor(){let c={};c._next=c._prev=c,this._sentinel=c}dequeue(){let c=this._sentinel,d=c._prev;if(d!==c)return o(d),d}enqueue(c){let d=this._sentinel;c._prev&&c._next&&o(c),c._next=d._next,d._next._prev=c,d._next=c,c._prev=d}toString(){let c=[],d=this._sentinel,l=d._prev;for(;l!==d;)c.push(JSON.stringify(l,i)),l=l._prev;return"["+c.join(", ")+"]"}}})();Ln=function(o,i){if(o.nodeCount()<=1)return[];let c=(function(d,l){let u=new t,s=0,g=0;d.nodes().forEach(h=>{u.setNode(h,{v:h,in:0,out:0})}),d.edges().forEach(h=>{let m=u.edge(h.v,h.w)||0,p=l(h),y=m+p;u.setEdge(h.v,h.w,y),g=Math.max(g,u.node(h.v).out+=p),s=Math.max(s,u.node(h.w).in+=p)});let f=(function(h){const m=[];for(let p=0;p<h;p++)m.push(p);return m})(g+s+3).map(()=>new e),E=s+1;return u.nodes().forEach(h=>{a(f,E,u.node(h))}),{graph:u,buckets:f,zeroIdx:E}})(o,i||n);return(function(d,l,u){let s,g=[],f=l[l.length-1],E=l[0];for(;d.nodeCount();){for(;s=E.dequeue();)r(d,l,u,s);for(;s=f.dequeue();)r(d,l,u,s);if(d.nodeCount()){for(let h=l.length-2;h>0;--h)if(s=l[h].dequeue(),s){g=g.concat(r(d,l,u,s,!0));break}}}return g})(c.graph,c.buckets,c.zeroIdx).flatMap(d=>o.outEdges(d.v,d.w))};let n=()=>1;function r(o,i,c,d,l){let u=l?[]:void 0;return o.inEdges(d.v).forEach(s=>{let g=o.edge(s),f=o.node(s.v);l&&u.push({v:s.v,w:s.w}),f.out-=g,a(i,c,f)}),o.outEdges(d.v).forEach(s=>{let g=o.edge(s),f=s.w,E=o.node(f);E.in-=g,a(i,c,E)}),o.removeNode(d.v),u}function a(o,i,c){c.out?c.in?o[c.out-c.in+i].enqueue(c):o[o.length-1].enqueue(c):o[0].enqueue(c)}return Ln}function xe(){if(fa)return $n;fa=1;let t=Be().Graph;function e(l,u,s,g){for(var f=g;l.hasNode(f);)f=i(g);return s.dummy=u,l.setNode(f,s),f}$n={addBorderNode:function(l,u,s,g){let f={width:0,height:0};return arguments.length>=4&&(f.rank=s,f.order=g),e(l,"border",f,u)},addDummyNode:e,applyWithChunking:r,asNonCompoundGraph:function(l){let u=new t({multigraph:l.isMultigraph()}).setGraph(l.graph());return l.nodes().forEach(s=>{l.children(s).length||u.setNode(s,l.node(s))}),l.edges().forEach(s=>{u.setEdge(s,l.edge(s))}),u},buildLayerMatrix:function(l){let u=c(a(l)+1).map(()=>[]);return l.nodes().forEach(s=>{let g=l.node(s),f=g.rank;f!==void 0&&(u[f][g.order]=s)}),u},intersectRect:function(l,u){let s,g,f=l.x,E=l.y,h=u.x-f,m=u.y-E,p=l.width/2,y=l.height/2;if(!h&&!m)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(m)*p>Math.abs(h)*y?(m<0&&(y=-y),s=y*h/m,g=y):(h<0&&(p=-p),s=p,g=p*m/h),{x:f+s,y:E+g}},mapValues:function(l,u){let s=u;return typeof u=="string"&&(s=g=>g[u]),Object.entries(l).reduce((g,[f,E])=>(g[f]=s(E,f),g),{})},maxRank:a,normalizeRanks:function(l){let u=l.nodes().map(g=>{let f=l.node(g).rank;return f===void 0?Number.MAX_VALUE:f}),s=r(Math.min,u);l.nodes().forEach(g=>{let f=l.node(g);Object.hasOwn(f,"rank")&&(f.rank-=s)})},notime:function(l,u){return u()},partition:function(l,u){let s={lhs:[],rhs:[]};return l.forEach(g=>{u(g)?s.lhs.push(g):s.rhs.push(g)}),s},pick:function(l,u){const s={};for(const g of u)l[g]!==void 0&&(s[g]=l[g]);return s},predecessorWeights:function(l){let u=l.nodes().map(s=>{let g={};return l.inEdges(s).forEach(f=>{g[f.v]=(g[f.v]||0)+l.edge(f).weight}),g});return d(l.nodes(),u)},range:c,removeEmptyRanks:function(l){let u=l.nodes().map(h=>l.node(h).rank),s=r(Math.min,u),g=[];l.nodes().forEach(h=>{let m=l.node(h).rank-s;g[m]||(g[m]=[]),g[m].push(h)});let f=0,E=l.graph().nodeRankFactor;Array.from(g).forEach((h,m)=>{h===void 0&&m%E!==0?--f:h!==void 0&&f&&h.forEach(p=>l.node(p).rank+=f)})},simplify:function(l){let u=new t().setGraph(l.graph());return l.nodes().forEach(s=>u.setNode(s,l.node(s))),l.edges().forEach(s=>{let g=u.edge(s.v,s.w)||{weight:0,minlen:1},f=l.edge(s);u.setEdge(s.v,s.w,{weight:g.weight+f.weight,minlen:Math.max(g.minlen,f.minlen)})}),u},successorWeights:function(l){let u=l.nodes().map(s=>{let g={};return l.outEdges(s).forEach(f=>{g[f.w]=(g[f.w]||0)+l.edge(f).weight}),g});return d(l.nodes(),u)},time:function(l,u){let s=Date.now();try{return u()}finally{console.log(l+" time: "+(Date.now()-s)+"ms")}},uniqueId:i,zipObject:d};const n=65535;function r(l,u){if(u.length>n){const s=(function(g,f=n){const E=[];for(let h=0;h<g.length;h+=f){const m=g.slice(h,h+f);E.push(m)}return E})(u);return l.apply(null,s.map(g=>l.apply(null,g)))}return l.apply(null,u)}function a(l){const u=l.nodes().map(s=>{let g=l.node(s).rank;return g===void 0?Number.MIN_VALUE:g});return r(Math.max,u)}let o=0;function i(l){return l+""+ ++o}function c(l,u,s=1){u==null&&(u=l,l=0);let g=E=>E<u;s<0&&(g=E=>u<E);const f=[];for(let E=l;g(E);E+=s)f.push(E);return f}function d(l,u){return l.reduce((s,g,f)=>(s[g]=u[f],s),{})}return $n}function Cc(){if(ma)return Vn;ma=1;let t=Nc(),e=xe().uniqueId;return Vn={run:function(n){(n.graph().acyclicer==="greedy"?t(n,(function(a){return o=>a.edge(o).weight})(n)):(function(a){let o=[],i={},c={};function d(l){Object.hasOwn(c,l)||(c[l]=!0,i[l]=!0,a.outEdges(l).forEach(u=>{Object.hasOwn(i,u.w)?o.push(u):d(u.w)}),delete i[l])}return a.nodes().forEach(d),o})(n)).forEach(a=>{let o=n.edge(a);n.removeEdge(a),o.forwardName=a.name,o.reversed=!0,n.setEdge(a.w,a.v,o,e("rev"))})},undo:function(n){n.edges().forEach(r=>{let a=n.edge(r);if(a.reversed){n.removeEdge(r);let o=a.forwardName;delete a.reversed,delete a.forwardName,n.setEdge(r.w,r.v,a,o)}})}},Vn}function _c(){if(pa)return Hn;pa=1;let t=xe();return Hn={run:function(e){e.graph().dummyChains=[],e.edges().forEach(n=>(function(r,a){let o,i,c,d=a.v,l=r.node(d).rank,u=a.w,s=r.node(u).rank,g=a.name,f=r.edge(a),E=f.labelRank;if(s!==l+1){for(r.removeEdge(a),c=0,++l;l<s;++c,++l)f.points=[],i={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},o=t.addDummyNode(r,"edge",i,"_d"),l===E&&(i.width=f.width,i.height=f.height,i.dummy="edge-label",i.labelpos=f.labelpos),r.setEdge(d,o,{weight:f.weight},g),c===0&&r.graph().dummyChains.push(o),d=o;r.setEdge(d,u,{weight:f.weight},g)}})(e,n))},undo:function(e){e.graph().dummyChains.forEach(n=>{let r,a=e.node(n),o=a.edgeLabel;for(e.setEdge(a.edgeObj,o);a.dummy;)r=e.successors(n)[0],e.removeNode(n),o.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(o.x=a.x,o.y=a.y,o.width=a.width,o.height=a.height),n=r,a=e.node(n)})}},Hn}function Yt(){if(ya)return Yn;ya=1;const{applyWithChunking:t}=xe();return Yn={longestPath:function(e){var n={};e.sources().forEach(function r(a){var o=e.node(a);if(Object.hasOwn(n,a))return o.rank;n[a]=!0;let i=e.outEdges(a).map(d=>d==null?Number.POSITIVE_INFINITY:r(d.w)-e.edge(d).minlen);var c=t(Math.min,i);return c===Number.POSITIVE_INFINITY&&(c=0),o.rank=c})},slack:function(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}},Yn}function qa(){if(va)return Fn;va=1;var t=Be().Graph,e=Yt().slack;function n(o,i){return o.nodes().forEach(function c(d){i.nodeEdges(d).forEach(l=>{var u=l.v,s=d===u?l.w:u;o.hasNode(s)||e(i,l)||(o.setNode(s,{}),o.setEdge(d,s,{}),c(s))})}),o.nodeCount()}function r(o,i){return i.edges().reduce((c,d)=>{let l=Number.POSITIVE_INFINITY;return o.hasNode(d.v)!==o.hasNode(d.w)&&(l=e(i,d)),l<c[0]?[l,d]:c},[Number.POSITIVE_INFINITY,null])[1]}function a(o,i,c){o.nodes().forEach(d=>i.node(d).rank+=c)}return Fn=function(o){var i,c,d=new t({directed:!1}),l=o.nodes()[0],u=o.nodeCount();for(d.setNode(l,{});n(d,o)<u;)i=r(d,o),c=d.hasNode(i.v)?e(o,i):-e(o,i),a(d,o,c);return d},Fn}function kc(){if(ba)return Xn;ba=1;var t=qa(),e=Yt().slack,n=Yt().longestPath,r=Be().alg.preorder,a=Be().alg.postorder,o=xe().simplify;function i(h){h=o(h),n(h);var m,p=t(h);for(l(p),c(p,h);m=s(p);)f(p,h,m,g(p,h,m))}function c(h,m){var p=a(h,h.nodes());(p=p.slice(0,p.length-1)).forEach(y=>(function(v,x,_){var S=v.node(_),D=S.parent;v.edge(_,D).cutvalue=d(v,x,_)})(h,m,y))}function d(h,m,p){var y=h.node(p).parent,v=!0,x=m.edge(p,y),_=0;return x||(v=!1,x=m.edge(y,p)),_=x.weight,m.nodeEdges(p).forEach(S=>{var D,M,w=S.v===p,P=w?S.w:S.v;if(P!==y){var N=w===v,O=m.edge(S).weight;if(_+=N?O:-O,D=p,M=P,h.hasEdge(D,M)){var L=h.edge(p,P).cutvalue;_+=N?-L:L}}}),_}function l(h,m){arguments.length<2&&(m=h.nodes()[0]),u(h,{},1,m)}function u(h,m,p,y,v){var x=p,_=h.node(y);return m[y]=!0,h.neighbors(y).forEach(S=>{Object.hasOwn(m,S)||(p=u(h,m,p,S,y))}),_.low=x,_.lim=p++,v?_.parent=v:delete _.parent,p}function s(h){return h.edges().find(m=>h.edge(m).cutvalue<0)}function g(h,m,p){var y=p.v,v=p.w;m.hasEdge(y,v)||(y=p.w,v=p.v);var x=h.node(y),_=h.node(v),S=x,D=!1;x.lim>_.lim&&(S=_,D=!0);var M=m.edges().filter(w=>D===E(h,h.node(w.v),S)&&D!==E(h,h.node(w.w),S));return M.reduce((w,P)=>e(m,P)<e(m,w)?P:w)}function f(h,m,p,y){var v=p.v,x=p.w;h.removeEdge(v,x),h.setEdge(y.v,y.w,{}),l(h),c(h,m),(function(_,S){var D=_.nodes().find(w=>!S.node(w).parent),M=r(_,D);(M=M.slice(1)).forEach(w=>{var P=_.node(w).parent,N=S.edge(w,P),O=!1;N||(N=S.edge(P,w),O=!0),S.node(w).rank=S.node(P).rank+(O?N.minlen:-N.minlen)})})(h,m)}function E(h,m,p){return p.low<=m.lim&&m.lim<=p.lim}return Xn=i,i.initLowLimValues=l,i.initCutValues=c,i.calcCutValue=d,i.leaveEdge=s,i.enterEdge=g,i.exchangeEdges=f,Xn}function Mc(){if(Ea)return Zn;Ea=1;var t=Yt().longestPath,e=qa(),n=kc();Zn=function(o){var i=o.graph().ranker;if(i instanceof Function)return i(o);switch(o.graph().ranker){case"network-simplex":default:a(o);break;case"tight-tree":(function(c){t(c),e(c)})(o);break;case"longest-path":r(o);case"none":}};var r=t;function a(o){n(o)}return Zn}function Oc(){return xa||(xa=1,Kn=function(t){let e=(function(n){let r={},a=0;function o(i){let c=a;n.children(i).forEach(o),r[i]={low:c,lim:a++}}return n.children().forEach(o),r})(t);t.graph().dummyChains.forEach(n=>{let r=t.node(n),a=r.edgeObj,o=(function(s,g,f,E){let h,m,p=[],y=[],v=Math.min(g[f].low,g[E].low),x=Math.max(g[f].lim,g[E].lim);h=f;do h=s.parent(h),p.push(h);while(h&&(g[h].low>v||x>g[h].lim));for(m=h,h=E;(h=s.parent(h))!==m;)y.push(h);return{path:p.concat(y.reverse()),lca:m}})(t,e,a.v,a.w),i=o.path,c=o.lca,d=0,l=i[d],u=!0;for(;n!==a.w;){if(r=t.node(n),u){for(;(l=i[d])!==c&&t.node(l).maxRank<r.rank;)d++;l===c&&(u=!1)}if(!u){for(;d<i.length-1&&t.node(l=i[d+1]).minRank<=r.rank;)d++;l=i[d]}t.setParent(n,l),n=t.successors(n)[0]}})}),Kn}function Ic(){if(wa)return Wn;wa=1;let t=xe();function e(n,r,a,o,i,c,d){let l=n.children(d);if(!l.length)return void(d!==r&&n.setEdge(r,d,{weight:0,minlen:a}));let u=t.addBorderNode(n,"_bt"),s=t.addBorderNode(n,"_bb"),g=n.node(d);n.setParent(u,d),g.borderTop=u,n.setParent(s,d),g.borderBottom=s,l.forEach(f=>{e(n,r,a,o,i,c,f);let E=n.node(f),h=E.borderTop?E.borderTop:f,m=E.borderBottom?E.borderBottom:f,p=E.borderTop?o:2*o,y=h!==m?1:i-c[d]+1;n.setEdge(u,h,{weight:p,minlen:y,nestingEdge:!0}),n.setEdge(m,s,{weight:p,minlen:y,nestingEdge:!0})}),n.parent(d)||n.setEdge(r,u,{weight:0,minlen:i+c[d]})}return Wn={run:function(n){let r=t.addDummyNode(n,"root",{},"_root"),a=(function(l){var u={};function s(g,f){var E=l.children(g);E&&E.length&&E.forEach(h=>s(h,f+1)),u[g]=f}return l.children().forEach(g=>s(g,1)),u})(n),o=Object.values(a),i=t.applyWithChunking(Math.max,o)-1,c=2*i+1;n.graph().nestingRoot=r,n.edges().forEach(l=>n.edge(l).minlen*=c);let d=(function(l){return l.edges().reduce((u,s)=>u+l.edge(s).weight,0)})(n)+1;n.children().forEach(l=>e(n,r,c,d,i,a,l)),n.graph().nodeRankFactor=c},cleanup:function(n){var r=n.graph();n.removeNode(r.nestingRoot),delete r.nestingRoot,n.edges().forEach(a=>{n.edge(a).nestingEdge&&n.removeEdge(a)})}},Wn}function Pc(){if(Na)return Un;function t(a){a.nodes().forEach(o=>e(a.node(o))),a.edges().forEach(o=>e(a.edge(o)))}function e(a){let o=a.width;a.width=a.height,a.height=o}function n(a){a.y=-a.y}function r(a){let o=a.x;a.x=a.y,a.y=o}return Na=1,Un={adjust:function(a){let o=a.graph().rankdir.toLowerCase();o!=="lr"&&o!=="rl"||t(a)},undo:function(a){let o=a.graph().rankdir.toLowerCase();o!=="bt"&&o!=="rl"||(function(i){i.nodes().forEach(c=>n(i.node(c))),i.edges().forEach(c=>{let d=i.edge(c);d.points.forEach(n),Object.hasOwn(d,"y")&&n(d)})})(a),o!=="lr"&&o!=="rl"||((function(i){i.nodes().forEach(c=>r(i.node(c))),i.edges().forEach(c=>{let d=i.edge(c);d.points.forEach(r),Object.hasOwn(d,"x")&&r(d)})})(a),t(a))}},Un}function Dc(){if(Ia)return Oa;Ia=1;let t=xe();return Oa=function(e,n){let r={};return e.forEach((a,o)=>{let i=r[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:o};a.barycenter!==void 0&&(i.barycenter=a.barycenter,i.weight=a.weight)}),n.edges().forEach(a=>{let o=r[a.v],i=r[a.w];o!==void 0&&i!==void 0&&(i.indegree++,o.out.push(r[a.w]))}),(function(a){let o=[];function i(d){return l=>{l.merged||(l.barycenter===void 0||d.barycenter===void 0||l.barycenter>=d.barycenter)&&(function(u,s){let g=0,f=0;u.weight&&(g+=u.barycenter*u.weight,f+=u.weight),s.weight&&(g+=s.barycenter*s.weight,f+=s.weight),u.vs=s.vs.concat(u.vs),u.barycenter=g/f,u.weight=f,u.i=Math.min(s.i,u.i),s.merged=!0})(d,l)}}function c(d){return l=>{l.in.push(d),--l.indegree===0&&a.push(l)}}for(;a.length;){let d=a.pop();o.push(d),d.in.reverse().forEach(i(d)),d.out.forEach(c(d))}return o.filter(d=>!d.merged).map(d=>t.pick(d,["vs","i","barycenter","weight"]))})(Object.values(r).filter(a=>!a.indegree))}}function jc(){if(ja)return Jn;ja=1;let t=(Ma||(Ma=1,ka=function(r,a=[]){return a.map(o=>{let i=r.inEdges(o);if(i.length){let c=i.reduce((d,l)=>{let u=r.edge(l),s=r.node(l.v);return{sum:d.sum+u.weight*s.order,weight:d.weight+u.weight}},{sum:0,weight:0});return{v:o,barycenter:c.sum/c.weight,weight:c.weight}}return{v:o}})}),ka),e=Dc(),n=(function(){if(Da)return Pa;Da=1;let r=xe();function a(o,i,c){let d;for(;i.length&&(d=i[i.length-1]).i<=c;)i.pop(),o.push(d.vs),c++;return c}return Pa=function(o,i){let c=r.partition(o,m=>Object.hasOwn(m,"barycenter")),d=c.lhs,l=c.rhs.sort((m,p)=>p.i-m.i),u=[],s=0,g=0,f=0;var E;d.sort((E=!!i,(m,p)=>m.barycenter<p.barycenter?-1:m.barycenter>p.barycenter?1:E?p.i-m.i:m.i-p.i)),f=a(u,l,f),d.forEach(m=>{f+=m.vs.length,u.push(m.vs),s+=m.barycenter*m.weight,g+=m.weight,f=a(u,l,f)});let h={vs:u.flat(!0)};return g&&(h.barycenter=s/g,h.weight=g),h}})();return Jn=function r(a,o,i,c){let d=a.children(o),l=a.node(o),u=l?l.borderLeft:void 0,s=l?l.borderRight:void 0,g={};u&&(d=d.filter(m=>m!==u&&m!==s));let f=t(a,d);f.forEach(m=>{if(a.children(m.v).length){let v=r(a,m.v,i,c);g[m.v]=v,Object.hasOwn(v,"barycenter")&&(y=v,(p=m).barycenter!==void 0?(p.barycenter=(p.barycenter*p.weight+y.barycenter*y.weight)/(p.weight+y.weight),p.weight+=y.weight):(p.barycenter=y.barycenter,p.weight=y.weight))}var p,y});let E=e(f,i);(function(m,p){m.forEach(y=>{y.vs=y.vs.flatMap(v=>p[v]?p[v].vs:v)})})(E,g);let h=n(E,c);if(u&&(h.vs=[u,h.vs,s].flat(!0),a.predecessors(u).length)){let m=a.node(a.predecessors(u)[0]),p=a.node(a.predecessors(s)[0]);Object.hasOwn(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+m.order+p.order)/(h.weight+2),h.weight+=2}return h},Jn}function Rc(){if(Ra)return eo;Ra=1;let t=Be().Graph,e=xe();return eo=function(n,r,a){let o=(function(c){for(var d;c.hasNode(d=e.uniqueId("_root")););return d})(n),i=new t({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(c=>n.node(c));return n.nodes().forEach(c=>{let d=n.node(c),l=n.parent(c);(d.rank===r||d.minRank<=r&&r<=d.maxRank)&&(i.setNode(c),i.setParent(c,l||o),n[a](c).forEach(u=>{let s=u.v===c?u.w:u.v,g=i.edge(s,c),f=g!==void 0?g.weight:0;i.setEdge(s,c,{weight:n.edge(u).weight+f})}),Object.hasOwn(d,"minRank")&&i.setNode(c,{borderLeft:d.borderLeft[r],borderRight:d.borderRight[r]}))}),i},eo}function zc(){if(Aa)return to;Aa=1;let t=(function(){if(Ca)return qn;Ca=1;let u=xe();return qn=function(s){let g={},f=s.nodes().filter(y=>!s.children(y).length),E=f.map(y=>s.node(y).rank),h=u.applyWithChunking(Math.max,E),m=u.range(h+1).map(()=>[]);function p(y){if(g[y])return;g[y]=!0;let v=s.node(y);m[v.rank].push(y),s.successors(y).forEach(p)}return f.sort((y,v)=>s.node(y).rank-s.node(v).rank).forEach(p),m},qn})(),e=(function(){if(_a)return Qn;_a=1;let u=xe().zipObject;function s(g,f,E){let h=u(E,E.map((_,S)=>S)),m=f.flatMap(_=>g.outEdges(_).map(S=>({pos:h[S.w],weight:g.edge(S).weight})).sort((S,D)=>S.pos-D.pos)),p=1;for(;p<E.length;)p<<=1;let y=2*p-1;p-=1;let v=new Array(y).fill(0),x=0;return m.forEach(_=>{let S=_.pos+p;v[S]+=_.weight;let D=0;for(;S>0;)S%2&&(D+=v[S+1]),S=S-1>>1,v[S]+=_.weight;x+=_.weight*D}),x}return Qn=function(g,f){let E=0;for(let h=1;h<f.length;++h)E+=s(g,f[h-1],f[h]);return E},Qn})(),n=jc(),r=Rc(),a=(Ta||(Ta=1,za=function(u,s,g){let f,E={};g.forEach(h=>{let m,p,y=u.parent(h);for(;y;){if(m=u.parent(y),m?(p=E[m],E[m]=y):(p=f,f=y),p&&p!==y)return void s.setEdge(p,y);y=m}})}),za),o=Be().Graph,i=xe();function c(u,s,g){return s.map(function(f){return r(u,f,g)})}function d(u,s){let g=new o;u.forEach(function(f){let E=f.graph().root,h=n(f,E,g,s);h.vs.forEach((m,p)=>f.node(m).order=p),a(f,g,h.vs)})}function l(u,s){Object.values(s).forEach(g=>g.forEach((f,E)=>u.node(f).order=E))}return to=function u(s,g){if(g&&typeof g.customOrder=="function")return void g.customOrder(s,u);let f=i.maxRank(s),E=c(s,i.range(1,f+1),"inEdges"),h=c(s,i.range(f-1,-1,-1),"outEdges"),m=t(s);if(l(s,m),g&&g.disableOptimalOrderHeuristic)return;let p,y=Number.POSITIVE_INFINITY;for(let v=0,x=0;x<4;++v,++x){d(v%2?E:h,v%4>=2),m=i.buildLayerMatrix(s);let _=e(s,m);_<y&&(x=0,p=Object.assign({},m),y=_)}l(s,p)},to}function Tc(){if(Ba)return no;Ba=1;let t=Be().Graph,e=xe();function n(s,g){let f={};return g.length&&g.reduce(function(E,h){let m=0,p=0,y=E.length,v=h[h.length-1];return h.forEach((x,_)=>{let S=(function(M,w){if(M.node(w).dummy)return M.predecessors(w).find(P=>M.node(P).dummy)})(s,x),D=S?s.node(S).order:y;(S||x===v)&&(h.slice(p,_+1).forEach(M=>{s.predecessors(M).forEach(w=>{let P=s.node(w),N=P.order;!(N<m||D<N)||P.dummy&&s.node(M).dummy||a(f,w,M)})}),p=_+1,m=D)}),h}),f}function r(s,g){let f={};function E(h,m,p,y,v){let x;e.range(m,p).forEach(_=>{x=h[_],s.node(x).dummy&&s.predecessors(x).forEach(S=>{let D=s.node(S);D.dummy&&(D.order<y||D.order>v)&&a(f,S,x)})})}return g.length&&g.reduce(function(h,m){let p,y=-1,v=0;return m.forEach((x,_)=>{if(s.node(x).dummy==="border"){let S=s.predecessors(x);S.length&&(p=s.node(S[0]).order,E(m,v,_,y,p),v=_,y=p)}E(m,v,m.length,p,h.length)}),m}),f}function a(s,g,f){if(g>f){let h=g;g=f,f=h}let E=s[g];E||(s[g]=E={}),E[f]=!0}function o(s,g,f){if(g>f){let E=g;g=f,f=E}return!!s[g]&&Object.hasOwn(s[g],f)}function i(s,g,f,E){let h={},m={},p={};return g.forEach(y=>{y.forEach((v,x)=>{h[v]=v,m[v]=v,p[v]=x})}),g.forEach(y=>{let v=-1;y.forEach(x=>{let _=E(x);if(_.length){_=_.sort((D,M)=>p[D]-p[M]);let S=(_.length-1)/2;for(let D=Math.floor(S),M=Math.ceil(S);D<=M;++D){let w=_[D];m[x]===x&&v<p[w]&&!o(f,x,w)&&(m[w]=x,m[x]=h[x]=h[w],v=p[w])}}})}),{root:h,align:m}}function c(s,g,f,E,h){let m={},p=(function(x,_,S,D){let M=new t,w=x.graph(),P=(function(N,O,L){return(b,k,I)=>{let T,V=b.node(k),C=b.node(I),A=0;if(A+=V.width/2,Object.hasOwn(V,"labelpos"))switch(V.labelpos.toLowerCase()){case"l":T=-V.width/2;break;case"r":T=V.width/2}if(T&&(A+=L?T:-T),T=0,A+=(V.dummy?O:N)/2,A+=(C.dummy?O:N)/2,A+=C.width/2,Object.hasOwn(C,"labelpos"))switch(C.labelpos.toLowerCase()){case"l":T=C.width/2;break;case"r":T=-C.width/2}return T&&(A+=L?T:-T),T=0,A}})(w.nodesep,w.edgesep,D);return _.forEach(N=>{let O;N.forEach(L=>{let b=S[L];if(M.setNode(b),O){var k=S[O],I=M.edge(k,b);M.setEdge(k,b,Math.max(P(x,L,O),I||0))}O=L})}),M})(s,g,f,h),y=h?"borderLeft":"borderRight";function v(x,_){let S=p.nodes(),D=S.pop(),M={};for(;D;)M[D]?x(D):(M[D]=!0,S.push(D),S=S.concat(_(D))),D=S.pop()}return v(function(x){m[x]=p.inEdges(x).reduce((_,S)=>Math.max(_,m[S.v]+p.edge(S)),0)},p.predecessors.bind(p)),v(function(x){let _=p.outEdges(x).reduce((D,M)=>Math.min(D,m[M.w]-p.edge(M)),Number.POSITIVE_INFINITY),S=s.node(x);_!==Number.POSITIVE_INFINITY&&S.borderType!==y&&(m[x]=Math.max(m[x],_))},p.successors.bind(p)),Object.keys(E).forEach(x=>m[x]=m[f[x]]),m}function d(s,g){return Object.values(g).reduce((f,E)=>{let h=Number.NEGATIVE_INFINITY,m=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([y,v])=>{let x=(function(_,S){return _.node(S).width})(s,y)/2;h=Math.max(v+x,h),m=Math.min(v-x,m)});const p=h-m;return p<f[0]&&(f=[p,E]),f},[Number.POSITIVE_INFINITY,null])[1]}function l(s,g){let f=Object.values(g),E=e.applyWithChunking(Math.min,f),h=e.applyWithChunking(Math.max,f);["u","d"].forEach(m=>{["l","r"].forEach(p=>{let y=m+p,v=s[y];if(v===g)return;let x=Object.values(v),_=E-e.applyWithChunking(Math.min,x);p!=="l"&&(_=h-e.applyWithChunking(Math.max,x)),_&&(s[y]=e.mapValues(v,S=>S+_))})})}function u(s,g){return e.mapValues(s.ul,(f,E)=>{if(g)return s[g.toLowerCase()][E];{let h=Object.values(s).map(m=>m[E]).sort((m,p)=>m-p);return(h[1]+h[2])/2}})}return no={positionX:function(s){let g,f=e.buildLayerMatrix(s),E=Object.assign(n(s,f),r(s,f)),h={};["u","d"].forEach(p=>{g=p==="u"?f:Object.values(f).reverse(),["l","r"].forEach(y=>{y==="r"&&(g=g.map(S=>Object.values(S).reverse()));let v=(p==="u"?s.predecessors:s.successors).bind(s),x=i(s,g,E,v),_=c(s,g,x.root,x.align,y==="r");y==="r"&&(_=e.mapValues(_,S=>-S)),h[p+y]=_})});let m=d(s,h);return l(h,m),u(h,s.graph().align)},findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:o,verticalAlignment:i,horizontalCompaction:c,alignCoordinates:l,findSmallestWidthAlignment:d,balance:u},no}function Ac(){if(La)return oo;La=1;let t=xe(),e=Tc().positionX;return oo=function(n){n=t.asNonCompoundGraph(n),(function(r){let a=t.buildLayerMatrix(r),o=r.graph().ranksep,i=0;a.forEach(c=>{const d=c.reduce((l,u)=>{const s=r.node(u).height;return l>s?l:s},0);c.forEach(l=>r.node(l).y=i+d/2),i+=d+o})})(n),Object.entries(e(n)).forEach(([r,a])=>n.node(r).x=a)},oo}function Bc(){if($a)return ro;$a=1;let t=Cc(),e=_c(),n=Mc(),r=xe().normalizeRanks,a=Oc(),o=xe().removeEmptyRanks,i=Ic(),c=(function(){if(Sa)return Gn;Sa=1;let D=xe();function M(w,P,N,O,L,b){let k={width:0,height:0,rank:b,borderType:P},I=L[P][b-1],T=D.addDummyNode(w,"border",k,N);L[P][b]=T,w.setParent(T,O),I&&w.setEdge(I,T,{weight:1})}return Gn=function(w){w.children().forEach(function P(N){let O=w.children(N),L=w.node(N);if(O.length&&O.forEach(P),Object.hasOwn(L,"minRank")){L.borderLeft=[],L.borderRight=[];for(let b=L.minRank,k=L.maxRank+1;b<k;++b)M(w,"borderLeft","_bl",N,L,b),M(w,"borderRight","_br",N,L,b)}})},Gn})(),d=Pc(),l=zc(),u=Ac(),s=xe(),g=Be().Graph;ro=function(D,M){let w=M&&M.debugTiming?s.time:s.notime;w("layout",()=>{let P=w(" buildLayoutGraph",()=>(function(N){let O=new g({multigraph:!0,compound:!0}),L=S(N.graph());return O.setGraph(Object.assign({},E,_(L,f),s.pick(L,h))),N.nodes().forEach(b=>{const k=_(S(N.node(b)),m);Object.keys(p).forEach(I=>{k[I]===void 0&&(k[I]=p[I])}),O.setNode(b,k),O.setParent(b,N.parent(b))}),N.edges().forEach(b=>{let k=S(N.edge(b));O.setEdge(b,Object.assign({},v,_(k,y),s.pick(k,x)))}),O})(D));w(" runLayout",()=>(function(N,O,L){O(" makeSpaceForEdgeLabels",()=>(function(b){let k=b.graph();k.ranksep/=2,b.edges().forEach(I=>{let T=b.edge(I);T.minlen*=2,T.labelpos.toLowerCase()!=="c"&&(k.rankdir==="TB"||k.rankdir==="BT"?T.width+=T.labeloffset:T.height+=T.labeloffset)})})(N)),O(" removeSelfEdges",()=>(function(b){b.edges().forEach(k=>{if(k.v===k.w){var I=b.node(k.v);I.selfEdges||(I.selfEdges=[]),I.selfEdges.push({e:k,label:b.edge(k)}),b.removeEdge(k)}})})(N)),O(" acyclic",()=>t.run(N)),O(" nestingGraph.run",()=>i.run(N)),O(" rank",()=>n(s.asNonCompoundGraph(N))),O(" injectEdgeLabelProxies",()=>(function(b){b.edges().forEach(k=>{let I=b.edge(k);if(I.width&&I.height){let T=b.node(k.v),V={rank:(b.node(k.w).rank-T.rank)/2+T.rank,e:k};s.addDummyNode(b,"edge-proxy",V,"_ep")}})})(N)),O(" removeEmptyRanks",()=>o(N)),O(" nestingGraph.cleanup",()=>i.cleanup(N)),O(" normalizeRanks",()=>r(N)),O(" assignRankMinMax",()=>(function(b){let k=0;b.nodes().forEach(I=>{let T=b.node(I);T.borderTop&&(T.minRank=b.node(T.borderTop).rank,T.maxRank=b.node(T.borderBottom).rank,k=Math.max(k,T.maxRank))}),b.graph().maxRank=k})(N)),O(" removeEdgeLabelProxies",()=>(function(b){b.nodes().forEach(k=>{let I=b.node(k);I.dummy==="edge-proxy"&&(b.edge(I.e).labelRank=I.rank,b.removeNode(k))})})(N)),O(" normalize.run",()=>e.run(N)),O(" parentDummyChains",()=>a(N)),O(" addBorderSegments",()=>c(N)),O(" order",()=>l(N,L)),O(" insertSelfEdges",()=>(function(b){var k=s.buildLayerMatrix(b);k.forEach(I=>{var T=0;I.forEach((V,C)=>{var A=b.node(V);A.order=C+T,(A.selfEdges||[]).forEach(j=>{s.addDummyNode(b,"selfedge",{width:j.label.width,height:j.label.height,rank:A.rank,order:C+ ++T,e:j.e,label:j.label},"_se")}),delete A.selfEdges})})})(N)),O(" adjustCoordinateSystem",()=>d.adjust(N)),O(" position",()=>u(N)),O(" positionSelfEdges",()=>(function(b){b.nodes().forEach(k=>{var I=b.node(k);if(I.dummy==="selfedge"){var T=b.node(I.e.v),V=T.x+T.width/2,C=T.y,A=I.x-V,j=T.height/2;b.setEdge(I.e,I.label),b.removeNode(k),I.label.points=[{x:V+2*A/3,y:C-j},{x:V+5*A/6,y:C-j},{x:V+A,y:C},{x:V+5*A/6,y:C+j},{x:V+2*A/3,y:C+j}],I.label.x=I.x,I.label.y=I.y}})})(N)),O(" removeBorderNodes",()=>(function(b){b.nodes().forEach(k=>{if(b.children(k).length){let I=b.node(k),T=b.node(I.borderTop),V=b.node(I.borderBottom),C=b.node(I.borderLeft[I.borderLeft.length-1]),A=b.node(I.borderRight[I.borderRight.length-1]);I.width=Math.abs(A.x-C.x),I.height=Math.abs(V.y-T.y),I.x=C.x+I.width/2,I.y=T.y+I.height/2}}),b.nodes().forEach(k=>{b.node(k).dummy==="border"&&b.removeNode(k)})})(N)),O(" normalize.undo",()=>e.undo(N)),O(" fixupEdgeLabelCoords",()=>(function(b){b.edges().forEach(k=>{let I=b.edge(k);if(Object.hasOwn(I,"x"))switch(I.labelpos!=="l"&&I.labelpos!=="r"||(I.width-=I.labeloffset),I.labelpos){case"l":I.x-=I.width/2+I.labeloffset;break;case"r":I.x+=I.width/2+I.labeloffset}})})(N)),O(" undoCoordinateSystem",()=>d.undo(N)),O(" translateGraph",()=>(function(b){let k=Number.POSITIVE_INFINITY,I=0,T=Number.POSITIVE_INFINITY,V=0,C=b.graph(),A=C.marginx||0,j=C.marginy||0;function H(Y){let X=Y.x,K=Y.y,ne=Y.width,ie=Y.height;k=Math.min(k,X-ne/2),I=Math.max(I,X+ne/2),T=Math.min(T,K-ie/2),V=Math.max(V,K+ie/2)}b.nodes().forEach(Y=>H(b.node(Y))),b.edges().forEach(Y=>{let X=b.edge(Y);Object.hasOwn(X,"x")&&H(X)}),k-=A,T-=j,b.nodes().forEach(Y=>{let X=b.node(Y);X.x-=k,X.y-=T}),b.edges().forEach(Y=>{let X=b.edge(Y);X.points.forEach(K=>{K.x-=k,K.y-=T}),Object.hasOwn(X,"x")&&(X.x-=k),Object.hasOwn(X,"y")&&(X.y-=T)}),C.width=I-k+A,C.height=V-T+j})(N)),O(" assignNodeIntersects",()=>(function(b){b.edges().forEach(k=>{let I,T,V=b.edge(k),C=b.node(k.v),A=b.node(k.w);V.points?(I=V.points[0],T=V.points[V.points.length-1]):(V.points=[],I=A,T=C),V.points.unshift(s.intersectRect(C,I)),V.points.push(s.intersectRect(A,T))})})(N)),O(" reversePoints",()=>(function(b){b.edges().forEach(k=>{let I=b.edge(k);I.reversed&&I.points.reverse()})})(N)),O(" acyclic.undo",()=>t.undo(N))})(P,w,M)),w(" updateInputGraph",()=>(function(N,O){N.nodes().forEach(L=>{let b=N.node(L),k=O.node(L);b&&(b.x=k.x,b.y=k.y,b.rank=k.rank,O.children(L).length&&(b.width=k.width,b.height=k.height))}),N.edges().forEach(L=>{let b=N.edge(L),k=O.edge(L);b.points=k.points,Object.hasOwn(k,"x")&&(b.x=k.x,b.y=k.y)}),N.graph().width=O.graph().width,N.graph().height=O.graph().height})(D,P))})};let f=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},h=["acyclicer","ranker","rankdir","align"],m=["width","height","rank"],p={width:0,height:0},y=["minlen","weight","width","height","labeloffset"],v={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},x=["labelpos"];function _(D,M){return s.mapValues(s.pick(D,M),Number)}function S(D){var M={};return D&&Object.entries(D).forEach(([w,P])=>{typeof w=="string"&&(w=w.toLowerCase()),M[w]=P}),M}return ro}function Lc(){if(Va)return ao;Va=1;let t=xe(),e=Be().Graph;return ao={debugOrdering:function(n){let r=t.buildLayerMatrix(n),a=new e({compound:!0,multigraph:!0}).setGraph({});return n.nodes().forEach(o=>{a.setNode(o,{label:o}),a.setParent(o,"layer"+n.node(o).rank)}),n.edges().forEach(o=>a.setEdge(o.v,o.w,{},o.name)),r.forEach((o,i)=>{let c="layer"+i;a.setNode(c,{rank:"same"}),o.reduce((d,l)=>(a.setEdge(d,l,{style:"invis"}),l))}),a}},ao}var Qa=Xa?Fa:(Xa=1,Fa={graphlib:Be(),layout:Bc(),debug:Lc(),util:{time:xe().time,notime:xe().notime},version:Ya?Ha:(Ya=1,Ha="1.1.5")});const Mt=new Qa.graphlib.Graph().setDefaultEdgeLabel(()=>({})),Ja=({nodes:t,edges:e,direction:n})=>(Mt.setGraph({rankdir:n,nodesep:150,ranksep:200,ranker:"longest-path"}),e.forEach(r=>Mt.setEdge(r.source,r.target)),t.forEach(r=>Mt.setNode(r.id,{...r,width:r.width??0,height:r.height??0})),Qa.layout(Mt),{nodes:t.map(r=>{const{x:a,y:o}=Mt.node(r.id);return{...r,position:{x:a,y:o}}}),edges:e}),ei=new class{createEdge(t,e){return{animated:!0,markerEnd:{type:ct.ArrowClosed},id:`${t}-${e}`,style:{strokeWidth:2},source:t,sourceHandle:"outputs",targetHandle:"inputs",target:e}}createNode(t,e){return{id:t,data:{atom:e,forceWidth:300},width:300,type:"custom",height:Sn(Xt.get(e).code.trim().split(`
|
|
4
|
-
`).length),position:{x:0,y:0}}}createElements(t,e,n,r){const a=[],o=[],i=new Set,c=new Set;for(const d of Object.values(n)){if(d.value==="marimo"&&d.name==="mo")continue;const{declaredBy:l,usedBy:u}=d;for(const s of l)for(const g of u){const f=`${s}-${g}`;c.has(f)||(c.add(f),i.add(s),i.add(g),o.push(this.createEdge(s,g)))}}for(const[d,l]of si.zip(t,e)){r||a.push(this.createNode(d,l));const u=i.has(d),s=Xt.get(l).code.trim().startsWith("mo.md");!u&&s||a.push(this.createNode(d,l))}return{nodes:a,edges:o}}}
|
|
1
|
+
var pl=Object.defineProperty;var yl=(nt,Ze,at)=>Ze in nt?pl(nt,Ze,{enumerable:!0,configurable:!0,writable:!0,value:at}):nt[Ze]=at;var Se=(nt,Ze,at)=>yl(nt,typeof Ze!="symbol"?Ze+"":Ze,at);import{c as Ft,ge as vl,d as B,gf as bl,r as R,ba as Xt,gg as si,a as Ke,K as El,ak as ci,T as li,gh as xl,j as F,ee as wl,am as Sl,a_ as yt,dI as Nl,ef as Cl,al as _l,an as kl,c3 as Ml,V as co,bn as Ol,b8 as Il,b9 as Pl,fq as Dl,cM as di,gi as ui,gj as jl,aB as zl,aI as Rl,cp as hi,av as gi,c2 as Tl,gk as Al,__tla as Bl}from"./index-PmY0x4Zd.js";import{T as Ll,__tla as Vl}from"./storage-BNcWOH3-.js";import{s as He,i as tt,T as lo,a as uo}from"./transform-D9VCJYws.js";import{g as fi}from"./timer-Bqd5yn_a.js";import{i as $l}from"./zoom-COrs4lFh.js";import{N as mi,l as Hl,a as Yl,m as Fl,__tla as Xl}from"./edit-page-CyTMQV2u.js";import{V as pi,C as Zl}from"./common-Ku-cF_2J.js";import{E as Kl}from"./ellipsis-vertical-C7FjlUsY.js";import"./index-BJVyzkx5.js";import"./index-B_d_JZGI.js";import"./index-DkntzpX4.js";import"./index-qE8lHQ-N.js";import"./index-DCkzth56.js";import"./index-CXrWwFX6.js";import"./index-Brf2DwUM.js";import"./index-DZhOPkOB.js";import"./index-CerjupfZ.js";import"./index-WXJFkQHg.js";import"./index-BgXbBA39.js";import"./index-DFrGFNW1.js";import"./index-D3PqGupX.js";import"./apl-CXdQSnD-.js";import"./asciiarmor-D5V0T9Cu.js";import"./asn1-DWPaVWf6.js";import"./brainfuck-CtZaYBKt.js";import"./cobol-stawOqaz.js";import"./clike-BgBwzOhw.js";import"./clojure-DiuoqK-z.js";import"./css-ZjFoif2m.js";import"./cmake-DXn5xaP-.js";import"./coffeescript-BTDxI-eT.js";import"./commonlisp-vq6DHwts.js";import"./cypher-gJDei3ni.js";import"./python-DD-Q2bae.js";import"./crystal-CRzZ78HM.js";import"./d-BShv7fp-.js";import"./diff-UJJ5BM9S.js";import"./dtd-DI9Herc-.js";import"./dylan-DkEP81N9.js";import"./ecl-DPFc0Uaf.js";import"./eiffel-DR5c0IrL.js";import"./elm-DompmV0j.js";import"./erlang-BuqgqA5h.js";import"./factor-CFXhaUWb.js";import"./simple-mode-C3vEBAcb.js";import"./forth-POgR1ypr.js";import"./fortran-DL7KluxX.js";import"./mllike-3c2dg9RT.js";import"./gas-bV0CklSb.js";import"./gherkin-B6X1vGSW.js";import"./groovy-DnIzCrpZ.js";import"./haskell-CLQs6EAM.js";import"./haxe-D25e-2l-.js";import"./idl-pcmmZuaN.js";import"./javascript-BpzJj0-u.js";import"./jinja2-DhgKlfW7.js";import"./julia-DjdwvFuI.js";import"./livescript-HO6ttBFx.js";import"./lua-8DXOpKDz.js";import"./mirc-DkvFAiy5.js";import"./mathematica-IIbmv7SK.js";import"./modelica-DSrSSXCg.js";import"./mumps-zvxmGV4l.js";import"./mbox-z_N2Mo3d.js";import"./nsis-BvKfQ9lQ.js";import"./ntriples-BSwWqoLa.js";import"./octave-C4hdQ5Hf.js";import"./oz-qQq7irPq.js";import"./pascal-CafrKXZF.js";import"./perl-tdMlh9QA.js";import"./pig-CwGJVRC4.js";import"./powershell-D1ly3AHC.js";import"./properties-_nPj978X.js";import"./protobuf-B4y9do6W.js";import"./pug-BTvK5tSS.js";import"./puppet-Bc-yJKzi.js";import"./q-B0kTJ4cI.js";import"./r-BA4EbLKE.js";import"./rpm-DI_rRufH.js";import"./ruby-CR-u2WLS.js";import"./sas-Bqaci40L.js";import"./scheme-qjP0V5Ag.js";import"./shell-BLav31RL.js";import"./sieve-r025o_jW.js";import"./smalltalk-C7J3IyEP.js";import"./sparql-BRLJFz69.js";import"./stylus-Bdo_Aemu.js";import"./swift-B_XXVlXX.js";import"./verilog-B4LBqg_1.js";import"./tcl-B2fODqDH.js";import"./textile-BuVhTOzU.js";import"./toml-wcPdHu67.js";import"./troff-Ce85hlLp.js";import"./ttcn-BxnYHtq8.js";import"./ttcn-cfg-CKJxb-l2.js";import"./turtle-BkSuIpt-.js";import"./webidl-CGwyPRYs.js";import"./vb-BHgjm0DN.js";import"./vbscript-Dawdd5GZ.js";import"./velocity-BdD_26Jv.js";import"./vhdl-CWWH2SUo.js";import"./xquery-CVDBqZPY.js";import"./yacas-I8QjZlxf.js";import"./z80-D8p3gKXp.js";import"./mscgen-B2igx18G.js";import"./index-zrSUQXha.js";import"./trash-rxdjLzkf.js";import"./links-4B6ldZ5P.js";import"./_createAggregator-ZRm2b6Zm.js";import"./_baseEach-9_logFrf.js";import{__tla as Wl}from"./loro_wasm_bg-C1ks32Vm.js";let yi,Gl=Promise.all([(()=>{try{return Bl}catch{}})(),(()=>{try{return Vl}catch{}})(),(()=>{try{return Xl}catch{}})(),(()=>{try{return Wl}catch{}})()]).then(async()=>{const nt=Ft("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]),Ze=Ft("arrow-right-to-line",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]),at=Ft("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),vi=Ft("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);function Ye(t,e){if(t=(function(o){let i;for(;i=o.sourceEvent;)o=i;return o})(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var a=e.getBoundingClientRect();return[t.clientX-a.left-e.clientLeft,t.clientY-a.top-e.clientTop]}}return[t.pageX,t.pageY]}const bi={passive:!1},vt={capture:!0,passive:!1};function Zt(t){t.stopImmediatePropagation()}function it(t){t.preventDefault(),t.stopImmediatePropagation()}function ho(t){var e=t.document.documentElement,n=He(t).on("dragstart.drag",it,vt);"onselectstart"in e?n.on("selectstart.drag",it,vt):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function go(t,e){var n=t.document.documentElement,r=He(t).on("dragstart.drag",null);e&&(r.on("click.drag",it,vt),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const It=t=>()=>t;function Kt(t,{sourceEvent:e,subject:n,target:r,identifier:a,active:o,x:i,y:c,dx:d,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}function Ei(t){return!t.ctrlKey&&!t.button}function xi(){return this.parentNode}function wi(t,e){return e??{x:t.x,y:t.y}}function Si(){return navigator.maxTouchPoints||"ontouchstart"in this}Kt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};const Pt=t=>()=>t;function Ni(t,{sourceEvent:e,target:n,transform:r,dispatch:a}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:a}})}function Wt(t){t.stopImmediatePropagation()}function bt(t){t.preventDefault(),t.stopImmediatePropagation()}function Ci(t){return!(t.ctrlKey&&t.type!=="wheel"||t.button)}function _i(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function fo(){return this.__zoom||tt}function ki(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Mi(){return navigator.maxTouchPoints||"ontouchstart"in this}function Oi(t,e,n){var r=t.invertX(e[0][0])-n[0][0],a=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],i=t.invertY(e[1][1])-n[1][1];return t.translate(a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a),i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i))}function Oe(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let n,r=0;r<t.length;r++)(n=Oe(t[r]))!==""&&(e+=(e&&" ")+n);else for(let n in t)t[n]&&(e+=(e&&" ")+n);return e}const{useDebugValue:Ii}=B,{useSyncExternalStoreWithSelector:Pi}=vl,Di=t=>t;function mo(t,e=Di,n){const r=Pi(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return Ii(r),r}const po=(t,e)=>{const n=bl(t),r=(a,o=e)=>mo(n,a,o);return Object.assign(r,n),r};function _e(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(const[r,a]of t)if(!Object.is(a,e.get(r)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(const r of t)if(!e.has(r))return!1;return!0}const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(e,r)||!Object.is(t[r],e[r]))return!1;return!0}const Dt=R.createContext(null),ji=Dt.Provider,zi=t=>`Node type "${t}" not found. Using fallback type "default".`,Ri=()=>"The React Flow parent container needs a width and a height to render the graph.",Ti=()=>"Only child nodes can use a parent extent.",Ai=t=>`Marker type "${t}" doesn't exist.`,Bi=(t,e)=>`Couldn't create edge for ${t?"target":"source"} handle id: "${t?e.targetHandle:e.sourceHandle}", edge id: ${e.id}.`,Li=()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",Vi=t=>`Edge type "${t}" not found. Using fallback type "default".`,$i=t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,yo="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function pe(t,e){const n=R.useContext(Dt);if(n===null)throw new Error(yo);return mo(n,t,e)}const Ce=()=>{const t=R.useContext(Dt);if(t===null)throw new Error(yo);return R.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe,destroy:t.destroy}),[t])},Hi=t=>t.userSelectionActive?"none":"all";function jt({position:t,children:e,className:n,style:r,...a}){const o=pe(Hi),i=`${t}`.split("-");return B.createElement("div",{className:Oe(["react-flow__panel",n,...i]),style:{...r,pointerEvents:o},...a},e)}function Yi({proOptions:t,position:e="bottom-right"}){return t!=null&&t.hideAttribution?null:B.createElement(jt,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},B.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var Fi=R.memo(({x:t,y:e,label:n,labelStyle:r={},labelShowBg:a=!0,labelBgStyle:o={},labelBgPadding:i=[2,4],labelBgBorderRadius:c=2,children:d,className:l,...u})=>{const s=R.useRef(null),[g,f]=R.useState({x:0,y:0,width:0,height:0}),E=Oe(["react-flow__edge-textwrapper",l]);return R.useEffect(()=>{if(s.current){const h=s.current.getBBox();f({x:h.x,y:h.y,width:h.width,height:h.height})}},[n]),n!==void 0&&n?B.createElement("g",{transform:`translate(${t-g.width/2} ${e-g.height/2})`,className:E,visibility:g.width?"visible":"hidden",...u},a&&B.createElement("rect",{width:g.width+2*i[0],x:-i[0],y:-i[1],height:g.height+2*i[1],className:"react-flow__edge-textbg",style:o,rx:c,ry:c}),B.createElement("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:s,style:r},n),d):null});const Gt=t=>({width:t.offsetWidth,height:t.offsetHeight}),st=(t,e=0,n=1)=>Math.min(Math.max(t,e),n),Ut=(t={x:0,y:0},e)=>({x:st(t.x,e[0][0],e[1][0]),y:st(t.y,e[0][1],e[1][1])}),vo=(t,e,n)=>t<e?st(Math.abs(t-e),1,50)/50:t>n?-st(Math.abs(t-n),1,50)/50:0,bo=(t,e)=>[20*vo(t.x,35,e.width-35),20*vo(t.y,35,e.height-35)],Eo=t=>{var e;return((e=t.getRootNode)==null?void 0:e.call(t))||(window==null?void 0:window.document)},qt=({x:t,y:e,width:n,height:r})=>({x:t,y:e,x2:t+n,y2:e+r}),xo=t=>({...t.positionAbsolute||{x:0,y:0},width:t.width||0,height:t.height||0}),Qt=(t,e)=>{const n=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),r=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(n*r)},ze=t=>!isNaN(t)&&isFinite(t),be=Symbol.for("internals"),wo=["Enter"," ","Escape"];function Jt(t){var r,a;const e=(o=>"nativeEvent"in o)(t)?t.nativeEvent:t,n=((a=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:a[0])||t.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const So=t=>"clientX"in t,We=(t,e)=>{var o,i;const n=So(t),r=n?t.clientX:(o=t.touches)==null?void 0:o[0].clientX,a=n?t.clientY:(i=t.touches)==null?void 0:i[0].clientY;return{x:r-((e==null?void 0:e.left)??0),y:a-((e==null?void 0:e.top)??0)}},zt=()=>{var t;return typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)==null?void 0:t.indexOf("Mac"))>=0},Et=({id:t,path:e,labelX:n,labelY:r,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,markerEnd:s,markerStart:g,interactionWidth:f=20})=>B.createElement(B.Fragment,null,B.createElement("path",{id:t,style:u,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:s,markerStart:g}),f&&B.createElement("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}),a&&ze(n)&&ze(r)?B.createElement(Fi,{x:n,y:r,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l}):null);function xt(t,e,n){return n===void 0?n:r=>{const a=e().edges.find(o=>o.id===t);a&&n(r,{...a})}}function No({sourceX:t,sourceY:e,targetX:n,targetY:r}){const a=Math.abs(n-t)/2,o=n<t?n+a:n-a,i=Math.abs(r-e)/2;return[o,r<e?r+i:r-i,a,i]}function Co({sourceX:t,sourceY:e,targetX:n,targetY:r,sourceControlX:a,sourceControlY:o,targetControlX:i,targetControlY:c}){const d=.125*t+.375*a+.375*i+.125*n,l=.125*e+.375*o+.375*c+.125*r;return[d,l,Math.abs(d-t),Math.abs(l-e)]}var ot,_o,Ge,en,wt,ko,Ue,St,ct,Mo,q,Rt;function Oo({pos:t,x1:e,y1:n,x2:r,y2:a}){return t===q.Left||t===q.Right?[.5*(e+r),n]:[e,.5*(n+a)]}function Io({sourceX:t,sourceY:e,sourcePosition:n=q.Bottom,targetX:r,targetY:a,targetPosition:o=q.Top}){const[i,c]=Oo({pos:n,x1:t,y1:e,x2:r,y2:a}),[d,l]=Oo({pos:o,x1:r,y1:a,x2:t,y2:e}),[u,s,g,f]=Co({sourceX:t,sourceY:e,targetX:r,targetY:a,sourceControlX:i,sourceControlY:c,targetControlX:d,targetControlY:l});return[`M${t},${e} C${i},${c} ${d},${l} ${r},${a}`,u,s,g,f]}Et.displayName="BaseEdge",(_o=ot||(ot={})).Strict="strict",_o.Loose="loose",(en=Ge||(Ge={})).Free="free",en.Vertical="vertical",en.Horizontal="horizontal",(ko=wt||(wt={})).Partial="partial",ko.Full="full",(St=Ue||(Ue={})).Bezier="default",St.Straight="straight",St.Step="step",St.SmoothStep="smoothstep",St.SimpleBezier="simplebezier",(Mo=ct||(ct={})).Arrow="arrow",Mo.ArrowClosed="arrowclosed",(Rt=q||(q={})).Left="left",Rt.Top="top",Rt.Right="right",Rt.Bottom="bottom";const tn=R.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,sourcePosition:a=q.Bottom,targetPosition:o=q.Top,label:i,labelStyle:c,labelShowBg:d,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:s,style:g,markerEnd:f,markerStart:E,interactionWidth:h})=>{const[m,p,y]=Io({sourceX:t,sourceY:e,sourcePosition:a,targetX:n,targetY:r,targetPosition:o});return B.createElement(Et,{path:m,labelX:p,labelY:y,label:i,labelStyle:c,labelShowBg:d,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:s,style:g,markerEnd:f,markerStart:E,interactionWidth:h})});tn.displayName="SimpleBezierEdge";const Po={[q.Left]:{x:-1,y:0},[q.Right]:{x:1,y:0},[q.Top]:{x:0,y:-1},[q.Bottom]:{x:0,y:1}},Do=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function Xi({source:t,sourcePosition:e=q.Bottom,target:n,targetPosition:r=q.Top,center:a,offset:o}){const i=Po[e],c=Po[r],d={x:t.x+i.x*o,y:t.y+i.y*o},l={x:n.x+c.x*o,y:n.y+c.y*o},u=(({source:S,sourcePosition:D=q.Bottom,target:M})=>D===q.Left||D===q.Right?S.x<M.x?{x:1,y:0}:{x:-1,y:0}:S.y<M.y?{x:0,y:1}:{x:0,y:-1})({source:d,sourcePosition:e,target:l}),s=u.x!==0?"x":"y",g=u[s];let f,E,h=[];const m={x:0,y:0},p={x:0,y:0},[y,v,x,_]=No({sourceX:t.x,sourceY:t.y,targetX:n.x,targetY:n.y});if(i[s]*c[s]===-1){f=a.x??y,E=a.y??v;const S=[{x:f,y:d.y},{x:f,y:l.y}],D=[{x:d.x,y:E},{x:l.x,y:E}];h=i[s]===g?s==="x"?S:D:s==="x"?D:S}else{const S=[{x:d.x,y:l.y}],D=[{x:l.x,y:d.y}];if(h=s==="x"?i.x===g?D:S:i.y===g?S:D,e===r){const P=Math.abs(t[s]-n[s]);if(P<=o){const N=Math.min(o-1,o-P);i[s]===g?m[s]=(d[s]>t[s]?-1:1)*N:p[s]=(l[s]>n[s]?-1:1)*N}}if(e!==r){const P=s==="x"?"y":"x",N=i[s]===c[P],O=d[P]>l[P],L=d[P]<l[P];(i[s]===1&&(!N&&O||N&&L)||i[s]!==1&&(!N&&L||N&&O))&&(h=s==="x"?S:D)}const M={x:d.x+m.x,y:d.y+m.y},w={x:l.x+p.x,y:l.y+p.y};Math.max(Math.abs(M.x-h[0].x),Math.abs(w.x-h[0].x))>=Math.max(Math.abs(M.y-h[0].y),Math.abs(w.y-h[0].y))?(f=(M.x+w.x)/2,E=h[0].y):(f=h[0].x,E=(M.y+w.y)/2)}return[[t,{x:d.x+m.x,y:d.y+m.y},...h,{x:l.x+p.x,y:l.y+p.y},n],f,E,x,_]}function nn({sourceX:t,sourceY:e,sourcePosition:n=q.Bottom,targetX:r,targetY:a,targetPosition:o=q.Top,borderRadius:i=5,centerX:c,centerY:d,offset:l=20}){const[u,s,g,f,E]=Xi({source:{x:t,y:e},sourcePosition:n,target:{x:r,y:a},targetPosition:o,center:{x:c,y:d},offset:l});return[u.reduce((h,m,p)=>{let y="";return y=p>0&&p<u.length-1?(function(v,x,_,S){const D=Math.min(Do(v,x)/2,Do(x,_)/2,S),{x:M,y:w}=x;if(v.x===M&&M===_.x||v.y===w&&w===_.y)return`L${M} ${w}`;if(v.y===w)return`L ${M+D*(v.x<_.x?-1:1)},${w}Q ${M},${w} ${M},${w+D*(v.y<_.y?1:-1)}`;const P=v.x<_.x?1:-1;return`L ${M},${w+D*(v.y<_.y?-1:1)}Q ${M},${w} ${M+D*P},${w}`})(u[p-1],m,u[p+1],i):`${p===0?"M":"L"}${m.x} ${m.y}`,h+=y},""),s,g,f,E]}const Tt=R.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,sourcePosition:s=q.Bottom,targetPosition:g=q.Top,markerEnd:f,markerStart:E,pathOptions:h,interactionWidth:m})=>{const[p,y,v]=nn({sourceX:t,sourceY:e,sourcePosition:s,targetX:n,targetY:r,targetPosition:g,borderRadius:h==null?void 0:h.borderRadius,offset:h==null?void 0:h.offset});return B.createElement(Et,{path:p,labelX:y,labelY:v,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,markerEnd:f,markerStart:E,interactionWidth:m})});Tt.displayName="SmoothStepEdge";const on=R.memo(t=>{var e;return B.createElement(Tt,{...t,pathOptions:R.useMemo(()=>{var n;return{borderRadius:0,offset:(n=t.pathOptions)==null?void 0:n.offset}},[(e=t.pathOptions)==null?void 0:e.offset])})});on.displayName="StepEdge";const rn=R.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,markerEnd:s,markerStart:g,interactionWidth:f})=>{const[E,h,m]=(function({sourceX:p,sourceY:y,targetX:v,targetY:x}){const[_,S,D,M]=No({sourceX:p,sourceY:y,targetX:v,targetY:x});return[`M ${p},${y}L ${v},${x}`,_,S,D,M]})({sourceX:t,sourceY:e,targetX:n,targetY:r});return B.createElement(Et,{path:E,labelX:h,labelY:m,label:a,labelStyle:o,labelShowBg:i,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:l,style:u,markerEnd:s,markerStart:g,interactionWidth:f})});function At(t,e){return t>=0?.5*t:25*e*Math.sqrt(-t)}function jo({pos:t,x1:e,y1:n,x2:r,y2:a,c:o}){switch(t){case q.Left:return[e-At(e-r,o),n];case q.Right:return[e+At(r-e,o),n];case q.Top:return[e,n-At(n-a,o)];case q.Bottom:return[e,n+At(a-n,o)]}}function zo({sourceX:t,sourceY:e,sourcePosition:n=q.Bottom,targetX:r,targetY:a,targetPosition:o=q.Top,curvature:i=.25}){const[c,d]=jo({pos:n,x1:t,y1:e,x2:r,y2:a,c:i}),[l,u]=jo({pos:o,x1:r,y1:a,x2:t,y2:e,c:i}),[s,g,f,E]=Co({sourceX:t,sourceY:e,targetX:r,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:l,targetControlY:u});return[`M${t},${e} C${c},${d} ${l},${u} ${r},${a}`,s,g,f,E]}rn.displayName="StraightEdge";const Bt=R.memo(({sourceX:t,sourceY:e,targetX:n,targetY:r,sourcePosition:a=q.Bottom,targetPosition:o=q.Top,label:i,labelStyle:c,labelShowBg:d,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:s,style:g,markerEnd:f,markerStart:E,pathOptions:h,interactionWidth:m})=>{const[p,y,v]=zo({sourceX:t,sourceY:e,sourcePosition:a,targetX:n,targetY:r,targetPosition:o,curvature:h==null?void 0:h.curvature});return B.createElement(Et,{path:p,labelX:y,labelY:v,label:i,labelStyle:c,labelShowBg:d,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:s,style:g,markerEnd:f,markerStart:E,interactionWidth:m})});Bt.displayName="BezierEdge";const an=R.createContext(null),Zi=an.Provider;an.Consumer;const Ki=({source:t,sourceHandle:e,target:n,targetHandle:r})=>`reactflow__edge-${t}${e||""}-${n}${r||""}`,sn=(t,e)=>t===void 0?"":typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(n=>`${n}=${t[n]}`).join("&")}`,cn=({x:t,y:e},[n,r,a],o,[i,c])=>{const d={x:(t-n)/a,y:(e-r)/a};return o?{x:i*Math.round(d.x/i),y:c*Math.round(d.y/c)}:d},Ro=({x:t,y:e},[n,r,a])=>({x:t*a+n,y:e*a+r}),lt=(t,e=[0,0])=>{if(!t)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(t.width??0)*e[0],r=(t.height??0)*e[1],a={x:t.position.x-n,y:t.position.y-r};return{...a,positionAbsolute:t.positionAbsolute?{x:t.positionAbsolute.x-n,y:t.positionAbsolute.y-r}:a}},ln=(t,e=[0,0])=>t.length===0?{x:0,y:0,width:0,height:0}:(({x:n,y:r,x2:a,y2:o})=>({x:n,y:r,width:a-n,height:o-r}))(t.reduce((n,r)=>{const{x:a,y:o}=lt(r,e).positionAbsolute;return i=n,c=qt({x:a,y:o,width:r.width||0,height:r.height||0}),{x:Math.min(i.x,c.x),y:Math.min(i.y,c.y),x2:Math.max(i.x2,c.x2),y2:Math.max(i.y2,c.y2)};var i,c},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),To=(t,e,[n,r,a]=[0,0,1],o=!1,i=!1,c=[0,0])=>{const d={x:(e.x-n)/a,y:(e.y-r)/a,width:e.width/a,height:e.height/a},l=[];return t.forEach(u=>{const{width:s,height:g,selectable:f=!0,hidden:E=!1}=u;if(i&&!f||E)return!1;const{positionAbsolute:h}=lt(u,c),m={x:h.x,y:h.y,width:s||0,height:g||0},p=Qt(d,m);(s===void 0||g===void 0||s===null||g===null||o&&p>0||p>=(s||0)*(g||0)||u.dragging)&&l.push(u)}),l},Ao=(t,e)=>{const n=t.map(r=>r.id);return e.filter(r=>n.includes(r.source)||n.includes(r.target))},Bo=(t,e,n,r,a,o=.1)=>{const i=e/(t.width*(1+o)),c=n/(t.height*(1+o)),d=Math.min(i,c),l=st(d,r,a);return{x:e/2-(t.x+t.width/2)*l,y:n/2-(t.y+t.height/2)*l,zoom:l}},rt=(t,e=0)=>t.transition().duration(e);function Lo(t,e,n,r){return(e[n]||[]).reduce((a,o)=>{var i,c;return`${t.id}-${o.id}-${n}`!==r&&a.push({id:o.id||null,type:n,nodeId:t.id,x:(((i=t.positionAbsolute)==null?void 0:i.x)??0)+o.x+o.width/2,y:(((c=t.positionAbsolute)==null?void 0:c.y)??0)+o.y+o.height/2}),a},[])}const Wi={source:null,target:null,sourceHandle:null,targetHandle:null},Vo=()=>({handleDomNode:null,isValid:!1,connection:Wi,endHandle:null});function $o(t,e,n,r,a,o,i){const c=a==="target",d=i.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),l={...Vo(),handleDomNode:d};if(d){const u=dn(void 0,d),s=d.getAttribute("data-nodeid"),g=d.getAttribute("data-handleid"),f=d.classList.contains("connectable"),E=d.classList.contains("connectableend"),h={source:c?s:n,sourceHandle:c?g:r,target:c?n:s,targetHandle:c?r:g};l.connection=h,f&&E&&(e===ot.Strict?c&&u==="source"||!c&&u==="target":s!==n||g!==r)&&(l.endHandle={nodeId:s,handleId:g,type:u},l.isValid=o(h))}return l}function dn(t,e){return t||(e!=null&&e.classList.contains("target")?"target":e!=null&&e.classList.contains("source")?"source":null)}function un(t){t==null||t.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function Gi(t,e){let n=null;return e?n="valid":t&&!e&&(n="invalid"),n}function Ho({event:t,handleId:e,nodeId:n,onConnect:r,isTarget:a,getState:o,setState:i,isValidConnection:c,edgeUpdaterType:d,onReconnectEnd:l}){const u=Eo(t.target),{connectionMode:s,domNode:g,autoPanOnConnect:f,connectionRadius:E,onConnectStart:h,panBy:m,getNodes:p,cancelConnection:y}=o();let v,x=0;const{x:_,y:S}=We(t),D=u==null?void 0:u.elementFromPoint(_,S),M=dn(d,D),w=g==null?void 0:g.getBoundingClientRect();if(!w||!M)return;let P,N=We(t,w),O=!1,L=null,b=!1,k=null;const I=(function({nodes:A,nodeId:j,handleId:H,handleType:Y}){return A.reduce((X,K)=>{if(K[be]){const{handleBounds:ne}=K[be];let ie=[],de=[];ne&&(ie=Lo(K,ne,"source",`${j}-${H}-${Y}`),de=Lo(K,ne,"target",`${j}-${H}-${Y}`)),X.push(...ie,...de)}return X},[])})({nodes:p(),nodeId:n,handleId:e,handleType:M}),T=()=>{if(!f)return;const[A,j]=bo(N,w);m({x:A,y:j}),x=requestAnimationFrame(T)};function $(A){const{transform:j}=o();N=We(A,w);const{handle:H,validHandleResult:Y}=(function(X,K,ne,ie,de,V){const{x:Q,y:oe}=We(X),se=K.elementsFromPoint(Q,oe).find(ae=>ae.classList.contains("react-flow__handle"));if(se){const ae=se.getAttribute("data-nodeid");if(ae){const W=dn(void 0,se),ge=se.getAttribute("data-handleid"),te=V({nodeId:ae,id:ge,type:W});if(te){const ye=de.find(Ee=>Ee.nodeId===ae&&Ee.type===W&&Ee.id===ge);return{handle:{id:ge,type:W,nodeId:ae,x:(ye==null?void 0:ye.x)||ne.x,y:(ye==null?void 0:ye.y)||ne.y},validHandleResult:te}}}}let re=[],ce=1/0;if(de.forEach(ae=>{const W=Math.sqrt((ae.x-ne.x)**2+(ae.y-ne.y)**2);if(W<=ie){const ge=V(ae);W<=ce&&(W<ce?re=[{handle:ae,validHandleResult:ge}]:W===ce&&re.push({handle:ae,validHandleResult:ge}),ce=W)}}),!re.length)return{handle:null,validHandleResult:Vo()};if(re.length===1)return re[0];const ee=re.some(({validHandleResult:ae})=>ae.isValid),me=re.some(({handle:ae})=>ae.type==="target");return re.find(({handle:ae,validHandleResult:W})=>me?ae.type==="target":!ee||W.isValid)||re[0]})(A,u,cn(N,j,!1,[1,1]),E,I,X=>$o(X,s,n,e,a?"target":"source",c,u));if(v=H,O||(T(),O=!0),k=Y.handleDomNode,L=Y.connection,b=Y.isValid,i({connectionPosition:v&&b?Ro({x:v.x,y:v.y},j):N,connectionStatus:Gi(!!v,b),connectionEndHandle:Y.endHandle}),!v&&!b&&!k)return un(P);L.source!==L.target&&k&&(un(P),P=k,k.classList.add("connecting","react-flow__handle-connecting"),k.classList.toggle("valid",b),k.classList.toggle("react-flow__handle-valid",b))}function C(A){var j,H;(v||k)&&L&&b&&(r==null||r(L)),(H=(j=o()).onConnectEnd)==null||H.call(j,A),d&&(l==null||l(A)),un(P),y(),cancelAnimationFrame(x),O=!1,b=!1,L=null,k=null,u.removeEventListener("mousemove",$),u.removeEventListener("mouseup",C),u.removeEventListener("touchmove",$),u.removeEventListener("touchend",C)}i({connectionPosition:N,connectionStatus:null,connectionNodeId:n,connectionHandleId:e,connectionHandleType:M,connectionStartHandle:{nodeId:n,handleId:e,type:M},connectionEndHandle:null}),h==null||h(t,{nodeId:n,handleId:e,handleType:M}),u.addEventListener("mousemove",$),u.addEventListener("mouseup",C),u.addEventListener("touchmove",$),u.addEventListener("touchend",C)}const Yo=()=>!0,Ui=t=>({connectionStartHandle:t.connectionStartHandle,connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName}),Fo=R.forwardRef(({type:t="source",position:e=q.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:a=!0,isConnectableEnd:o=!0,id:i,onConnect:c,children:d,className:l,onMouseDown:u,onTouchStart:s,...g},f)=>{var M,w;const E=i||null,h=t==="target",m=Ce(),p=R.useContext(an),{connectOnClick:y,noPanClassName:v}=pe(Ui,_e),{connecting:x,clickConnecting:_}=pe(((P,N,O)=>L=>{const{connectionStartHandle:b,connectionEndHandle:k,connectionClickStartHandle:I}=L;return{connecting:(b==null?void 0:b.nodeId)===P&&(b==null?void 0:b.handleId)===N&&(b==null?void 0:b.type)===O||(k==null?void 0:k.nodeId)===P&&(k==null?void 0:k.handleId)===N&&(k==null?void 0:k.type)===O,clickConnecting:(I==null?void 0:I.nodeId)===P&&(I==null?void 0:I.handleId)===N&&(I==null?void 0:I.type)===O}})(p,E,t),_e);p||((w=(M=m.getState()).onError)==null||w.call(M,"010",Li()));const S=P=>{const{defaultEdgeOptions:N,onConnect:O,hasDefaultEdges:L}=m.getState(),b={...N,...P};if(L){const{edges:k,setEdges:I}=m.getState();I(((T,$)=>{if(!T.source||!T.target)return $;let C;var A;return C="id"in(A=T)&&"source"in A&&"target"in A?{...T}:{...T,id:Ki(T)},((j,H)=>H.some(Y=>!(Y.source!==j.source||Y.target!==j.target||Y.sourceHandle!==j.sourceHandle&&(Y.sourceHandle||j.sourceHandle)||Y.targetHandle!==j.targetHandle&&(Y.targetHandle||j.targetHandle))))(C,$)?$:$.concat(C)})(b,k))}O==null||O(b),c==null||c(b)},D=P=>{if(!p)return;const N=So(P);a&&(N&&P.button===0||!N)&&Ho({event:P,handleId:E,nodeId:p,onConnect:S,isTarget:h,getState:m.getState,setState:m.setState,isValidConnection:n||m.getState().isValidConnection||Yo}),N?u==null||u(P):s==null||s(P)};return B.createElement("div",{"data-handleid":E,"data-nodeid":p,"data-handlepos":e,"data-id":`${p}-${E}-${t}`,className:Oe(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",v,l,{source:!h,target:h,connectable:r,connectablestart:a,connectableend:o,connecting:_,connectionindicator:r&&(a&&!x||o&&x)}]),onMouseDown:D,onTouchStart:D,onClick:y?P=>{const{onClickConnectStart:N,onClickConnectEnd:O,connectionClickStartHandle:L,connectionMode:b,isValidConnection:k}=m.getState();if(!p||!L&&!a)return;if(!L)return N==null||N(P,{nodeId:p,handleId:E,handleType:t}),void m.setState({connectionClickStartHandle:{nodeId:p,type:t,handleId:E}});const I=Eo(P.target),T=n||k||Yo,{connection:$,isValid:C}=$o({nodeId:p,id:E,type:t},b,L.nodeId,L.handleId||null,L.type,T,I);C&&S($),O==null||O(P),m.setState({connectionClickStartHandle:null})}:void 0,ref:f,...g},d)});Fo.displayName="Handle";var qe=R.memo(Fo);const Xo=({data:t,isConnectable:e,targetPosition:n=q.Top,sourcePosition:r=q.Bottom})=>B.createElement(B.Fragment,null,B.createElement(qe,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label,B.createElement(qe,{type:"source",position:r,isConnectable:e}));Xo.displayName="DefaultNode";var hn=R.memo(Xo);const Zo=({data:t,isConnectable:e,sourcePosition:n=q.Bottom})=>B.createElement(B.Fragment,null,t==null?void 0:t.label,B.createElement(qe,{type:"source",position:n,isConnectable:e}));Zo.displayName="InputNode";var Ko=R.memo(Zo);const Wo=({data:t,isConnectable:e,targetPosition:n=q.Top})=>B.createElement(B.Fragment,null,B.createElement(qe,{type:"target",position:n,isConnectable:e}),t==null?void 0:t.label);Wo.displayName="OutputNode";var Go=R.memo(Wo);const gn=()=>null;gn.displayName="GroupNode";const qi=t=>({selectedNodes:t.getNodes().filter(e=>e.selected),selectedEdges:t.edges.filter(e=>e.selected).map(e=>({...e}))}),Lt=t=>t.id;function Qi(t,e){return _e(t.selectedNodes.map(Lt),e.selectedNodes.map(Lt))&&_e(t.selectedEdges.map(Lt),e.selectedEdges.map(Lt))}const Uo=R.memo(({onSelectionChange:t})=>{const e=Ce(),{selectedNodes:n,selectedEdges:r}=pe(qi,Qi);return R.useEffect(()=>{const a={nodes:n,edges:r};t==null||t(a),e.getState().onSelectionChange.forEach(o=>o(a))},[n,r,t]),null});Uo.displayName="SelectionListener";const Ji=t=>!!t.onSelectionChange;function es({onSelectionChange:t}){const e=pe(Ji);return t||e?B.createElement(Uo,{onSelectionChange:t}):null}const ts=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset});function dt(t,e){R.useEffect(()=>{t!==void 0&&e(t)},[t])}function le(t,e,n){R.useEffect(()=>{e!==void 0&&n({[t]:e})},[e])}const ns=({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,onConnect:a,onConnectStart:o,onConnectEnd:i,onClickConnectStart:c,onClickConnectEnd:d,nodesDraggable:l,nodesConnectable:u,nodesFocusable:s,edgesFocusable:g,edgesUpdatable:f,elevateNodesOnSelect:E,minZoom:h,maxZoom:m,nodeExtent:p,onNodesChange:y,onEdgesChange:v,elementsSelectable:x,connectionMode:_,snapGrid:S,snapToGrid:D,translateExtent:M,connectOnClick:w,defaultEdgeOptions:P,fitView:N,fitViewOptions:O,onNodesDelete:L,onEdgesDelete:b,onNodeDrag:k,onNodeDragStart:I,onNodeDragStop:T,onSelectionDrag:$,onSelectionDragStart:C,onSelectionDragStop:A,noPanClassName:j,nodeOrigin:H,rfId:Y,autoPanOnConnect:X,autoPanOnNodeDrag:K,onError:ne,connectionRadius:ie,isValidConnection:de,nodeDragThreshold:V})=>{const{setNodes:Q,setEdges:oe,setDefaultNodesAndEdges:se,setMinZoom:re,setMaxZoom:ce,setTranslateExtent:ee,setNodeExtent:me,reset:ae}=pe(ts,_e),W=Ce();return R.useEffect(()=>{const ge=r==null?void 0:r.map(te=>({...te,...P}));return se(n,ge),()=>{ae()}},[]),le("defaultEdgeOptions",P,W.setState),le("connectionMode",_,W.setState),le("onConnect",a,W.setState),le("onConnectStart",o,W.setState),le("onConnectEnd",i,W.setState),le("onClickConnectStart",c,W.setState),le("onClickConnectEnd",d,W.setState),le("nodesDraggable",l,W.setState),le("nodesConnectable",u,W.setState),le("nodesFocusable",s,W.setState),le("edgesFocusable",g,W.setState),le("edgesUpdatable",f,W.setState),le("elementsSelectable",x,W.setState),le("elevateNodesOnSelect",E,W.setState),le("snapToGrid",D,W.setState),le("snapGrid",S,W.setState),le("onNodesChange",y,W.setState),le("onEdgesChange",v,W.setState),le("connectOnClick",w,W.setState),le("fitViewOnInit",N,W.setState),le("fitViewOnInitOptions",O,W.setState),le("onNodesDelete",L,W.setState),le("onEdgesDelete",b,W.setState),le("onNodeDrag",k,W.setState),le("onNodeDragStart",I,W.setState),le("onNodeDragStop",T,W.setState),le("onSelectionDrag",$,W.setState),le("onSelectionDragStart",C,W.setState),le("onSelectionDragStop",A,W.setState),le("noPanClassName",j,W.setState),le("nodeOrigin",H,W.setState),le("rfId",Y,W.setState),le("autoPanOnConnect",X,W.setState),le("autoPanOnNodeDrag",K,W.setState),le("onError",ne,W.setState),le("connectionRadius",ie,W.setState),le("isValidConnection",de,W.setState),le("nodeDragThreshold",V,W.setState),dt(t,Q),dt(e,oe),dt(h,re),dt(m,ce),dt(M,ee),dt(p,me),null},qo={display:"none"},os={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Qo="react-flow__node-desc",Jo="react-flow__edge-desc",rs=t=>t.ariaLiveMessage;function as({rfId:t}){const e=pe(rs);return B.createElement("div",{id:`react-flow__aria-live-${t}`,"aria-live":"assertive","aria-atomic":"true",style:os},e)}function is({rfId:t,disableKeyboardA11y:e}){return B.createElement(B.Fragment,null,B.createElement("div",{id:`${Qo}-${t}`,style:qo},"Press enter or space to select a node.",!e&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),B.createElement("div",{id:`${Jo}-${t}`,style:qo},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!e&&B.createElement(as,{rfId:t}))}var Nt=(t=null,e={actInsideInputWithModifier:!0})=>{const[n,r]=R.useState(!1),a=R.useRef(!1),o=R.useRef(new Set([])),[i,c]=R.useMemo(()=>{if(t!==null){const d=(Array.isArray(t)?t:[t]).filter(u=>typeof u=="string").map(u=>u.split("+")),l=d.reduce((u,s)=>u.concat(...s),[]);return[d,l]}return[[],[]]},[t]);return R.useEffect(()=>{const d=typeof document<"u"?document:null,l=(e==null?void 0:e.target)||d;if(t!==null){const u=f=>{if(a.current=f.ctrlKey||f.metaKey||f.shiftKey,(!a.current||a.current&&!e.actInsideInputWithModifier)&&Jt(f))return!1;const E=tr(f.code,c);o.current.add(f[E]),er(i,o.current,!1)&&(f.preventDefault(),r(!0))},s=f=>{if((!a.current||a.current&&!e.actInsideInputWithModifier)&&Jt(f))return!1;const E=tr(f.code,c);er(i,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(f[E]),f.key==="Meta"&&o.current.clear(),a.current=!1},g=()=>{o.current.clear(),r(!1)};return l==null||l.addEventListener("keydown",u),l==null||l.addEventListener("keyup",s),window.addEventListener("blur",g),()=>{l==null||l.removeEventListener("keydown",u),l==null||l.removeEventListener("keyup",s),window.removeEventListener("blur",g)}}},[t,r]),n};function er(t,e,n){return t.filter(r=>n||r.length===e.size).some(r=>r.every(a=>e.has(a)))}function tr(t,e){return e.includes(t)?"code":"key"}function nr(t,e,n,r){var c,d;const a=t.parentNode||t.parentId;if(!a)return n;const o=e.get(a),i=lt(o,r);return nr(o,e,{x:(n.x??0)+i.x,y:(n.y??0)+i.y,z:(((c=o[be])==null?void 0:c.z)??0)>(n.z??0)?((d=o[be])==null?void 0:d.z)??0:n.z??0},r)}function or(t,e,n){t.forEach(r=>{var o;const a=r.parentNode||r.parentId;if(a&&!t.has(a))throw new Error(`Parent node ${a} not found`);if(a||n!=null&&n[r.id]){const{x:i,y:c,z:d}=nr(r,t,{...r.position,z:((o=r[be])==null?void 0:o.z)??0},e);r.positionAbsolute={x:i,y:c},r[be].z=d,n!=null&&n[r.id]&&(r[be].isParent=!0)}})}function fn(t,e,n,r){const a=new Map,o={},i=r?1e3:0;return t.forEach(c=>{var f;const d=(ze(c.zIndex)?c.zIndex:0)+(c.selected?i:0),l=e.get(c.id),u={...c,positionAbsolute:{x:c.position.x,y:c.position.y}},s=c.parentNode||c.parentId;s&&(o[s]=!0);const g=(l==null?void 0:l.type)&&(l==null?void 0:l.type)!==c.type;Object.defineProperty(u,be,{enumerable:!1,value:{handleBounds:g||(f=l==null?void 0:l[be])==null?void 0:f.handleBounds,z:d}}),a.set(c.id,u)}),or(a,n,o),a}function rr(t,e={}){const{getNodes:n,width:r,height:a,minZoom:o,maxZoom:i,d3Zoom:c,d3Selection:d,fitViewOnInitDone:l,fitViewOnInit:u,nodeOrigin:s}=t(),g=e.initial&&!l&&u;if(c&&d&&(g||!e.initial)){const f=n().filter(h=>{var p;const m=e.includeHiddenNodes?h.width&&h.height:!h.hidden;return(p=e.nodes)!=null&&p.length?m&&e.nodes.some(y=>y.id===h.id):m}),E=f.every(h=>h.width&&h.height);if(f.length>0&&E){const h=ln(f,s),{x:m,y:p,zoom:y}=Bo(h,r,a,e.minZoom??o,e.maxZoom??i,e.padding??.1),v=tt.translate(m,p).scale(y);return typeof e.duration=="number"&&e.duration>0?c.transform(rt(d,e.duration),v):c.transform(d,v),!0}}return!1}function ss(t,e){return t.forEach(n=>{const r=e.get(n.id);r&&e.set(r.id,{...r,[be]:r[be],selected:n.selected})}),new Map(e)}function cs(t,e){return e.map(n=>{const r=t.find(a=>a.id===n.id);return r&&(n.selected=r.selected),n})}function Vt({changedNodes:t,changedEdges:e,get:n,set:r}){const{nodeInternals:a,edges:o,onNodesChange:i,onEdgesChange:c,hasDefaultNodes:d,hasDefaultEdges:l}=n();t!=null&&t.length&&(d&&r({nodeInternals:ss(t,a)}),i==null||i(t)),e!=null&&e.length&&(l&&r({edges:cs(e,o)}),c==null||c(e))}const ut=()=>{},ls={zoomIn:ut,zoomOut:ut,zoomTo:ut,getZoom:()=>1,setViewport:ut,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:ut,fitBounds:ut,project:t=>t,screenToFlowPosition:t=>t,flowToScreenPosition:t=>t,viewportInitialized:!1},ds=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection});function Ct(){const t=(()=>{const h=Ce(),{d3Zoom:m,d3Selection:p}=pe(ds,_e);return R.useMemo(()=>p&&m?{zoomIn:y=>m.scaleBy(rt(p,y==null?void 0:y.duration),1.2),zoomOut:y=>m.scaleBy(rt(p,y==null?void 0:y.duration),.8333333333333334),zoomTo:(y,v)=>m.scaleTo(rt(p,v==null?void 0:v.duration),y),getZoom:()=>h.getState().transform[2],setViewport:(y,v)=>{const[x,_,S]=h.getState().transform,D=tt.translate(y.x??x,y.y??_).scale(y.zoom??S);m.transform(rt(p,v==null?void 0:v.duration),D)},getViewport:()=>{const[y,v,x]=h.getState().transform;return{x:y,y:v,zoom:x}},fitView:y=>rr(h.getState,y),setCenter:(y,v,x)=>{const{width:_,height:S,maxZoom:D}=h.getState(),M=(x==null?void 0:x.zoom)!==void 0?x.zoom:D,w=_/2-y*M,P=S/2-v*M,N=tt.translate(w,P).scale(M);m.transform(rt(p,x==null?void 0:x.duration),N)},fitBounds:(y,v)=>{const{width:x,height:_,minZoom:S,maxZoom:D}=h.getState(),{x:M,y:w,zoom:P}=Bo(y,x,_,S,D,(v==null?void 0:v.padding)??.1),N=tt.translate(M,w).scale(P);m.transform(rt(p,v==null?void 0:v.duration),N)},project:y=>{const{transform:v,snapToGrid:x,snapGrid:_}=h.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),cn(y,v,x,_)},screenToFlowPosition:y=>{const{transform:v,snapToGrid:x,snapGrid:_,domNode:S}=h.getState();if(!S)return y;const{x:D,y:M}=S.getBoundingClientRect(),w={x:y.x-D,y:y.y-M};return cn(w,v,x,_)},flowToScreenPosition:y=>{const{transform:v,domNode:x}=h.getState();if(!x)return y;const{x:_,y:S}=x.getBoundingClientRect(),D=Ro(y,v);return{x:D.x+_,y:D.y+S}},viewportInitialized:!0}:ls,[m,p])})(),e=Ce(),n=R.useCallback(()=>e.getState().getNodes().map(h=>({...h})),[]),r=R.useCallback(h=>e.getState().nodeInternals.get(h),[]),a=R.useCallback(()=>{const{edges:h=[]}=e.getState();return h.map(m=>({...m}))},[]),o=R.useCallback(h=>{const{edges:m=[]}=e.getState();return m.find(p=>p.id===h)},[]),i=R.useCallback(h=>{const{getNodes:m,setNodes:p,hasDefaultNodes:y,onNodesChange:v}=e.getState(),x=m(),_=typeof h=="function"?h(x):h;y?p(_):v&&v(_.length===0?x.map(S=>({type:"remove",id:S.id})):_.map(S=>({item:S,type:"reset"})))},[]),c=R.useCallback(h=>{const{edges:m=[],setEdges:p,hasDefaultEdges:y,onEdgesChange:v}=e.getState(),x=typeof h=="function"?h(m):h;y?p(x):v&&v(x.length===0?m.map(_=>({type:"remove",id:_.id})):x.map(_=>({item:_,type:"reset"})))},[]),d=R.useCallback(h=>{const m=Array.isArray(h)?h:[h],{getNodes:p,setNodes:y,hasDefaultNodes:v,onNodesChange:x}=e.getState();v?y([...p(),...m]):x&&x(m.map(_=>({item:_,type:"add"})))},[]),l=R.useCallback(h=>{const m=Array.isArray(h)?h:[h],{edges:p=[],setEdges:y,hasDefaultEdges:v,onEdgesChange:x}=e.getState();v?y([...p,...m]):x&&x(m.map(_=>({item:_,type:"add"})))},[]),u=R.useCallback(()=>{const{getNodes:h,edges:m=[],transform:p}=e.getState(),[y,v,x]=p;return{nodes:h().map(_=>({..._})),edges:m.map(_=>({..._})),viewport:{x:y,y:v,zoom:x}}},[]),s=R.useCallback(({nodes:h,edges:m})=>{const{nodeInternals:p,getNodes:y,edges:v,hasDefaultNodes:x,hasDefaultEdges:_,onNodesDelete:S,onEdgesDelete:D,onNodesChange:M,onEdgesChange:w}=e.getState(),P=(h||[]).map(k=>k.id),N=(m||[]).map(k=>k.id),O=y().reduce((k,I)=>{const T=I.parentNode||I.parentId,$=!P.includes(I.id)&&T&&k.find(C=>C.id===T);return(typeof I.deletable!="boolean"||I.deletable)&&(P.includes(I.id)||$)&&k.push(I),k},[]),L=v.filter(k=>typeof k.deletable!="boolean"||k.deletable),b=L.filter(k=>N.includes(k.id));if(O||b){const k=Ao(O,L),I=[...b,...k],T=I.reduce(($,C)=>($.includes(C.id)||$.push(C.id),$),[]);(_||x)&&(_&&e.setState({edges:v.filter($=>!T.includes($.id))}),x&&(O.forEach($=>{p.delete($.id)}),e.setState({nodeInternals:new Map(p)}))),T.length>0&&(D==null||D(I),w&&w(T.map($=>({id:$,type:"remove"})))),O.length>0&&(S==null||S(O),M)&&M(O.map($=>({id:$.id,type:"remove"})))}},[]),g=R.useCallback(h=>{const m=ze((p=h).width)&&ze(p.height)&&ze(p.x)&&ze(p.y);var p;const y=m?null:e.getState().nodeInternals.get(h.id);return!m&&!y?[null,null,m]:[m?h:xo(y),y,m]},[]),f=R.useCallback((h,m=!0,p)=>{const[y,v,x]=g(h);return y?(p||e.getState().getNodes()).filter(_=>{if(!(x||_.id!==v.id&&_.positionAbsolute))return!1;const S=xo(_),D=Qt(S,y);return m&&D>0||D>=y.width*y.height}):[]},[]),E=R.useCallback((h,m,p=!0)=>{const[y]=g(h);if(!y)return!1;const v=Qt(y,m);return p&&v>0||v>=y.width*y.height},[]);return R.useMemo(()=>({...t,getNodes:n,getNode:r,getEdges:a,getEdge:o,setNodes:i,setEdges:c,addNodes:d,addEdges:l,toObject:u,deleteElements:s,getIntersectingNodes:f,isNodeIntersecting:E}),[t,n,r,a,o,i,c,d,l,u,s,f,E])}const us={actInsideInputWithModifier:!1},mn={position:"absolute",width:"100%",height:"100%",top:0,left:0},$t=t=>({x:t.x,y:t.y,zoom:t.k}),ht=(t,e)=>t.target.closest(`.${e}`),ar=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),ir=t=>{const e=t.ctrlKey&&zt()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e},hs=t=>({d3Zoom:t.d3Zoom,d3Selection:t.d3Selection,d3ZoomHandler:t.d3ZoomHandler,userSelectionActive:t.userSelectionActive}),gs=({onMove:t,onMoveStart:e,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:a=!0,zoomOnPinch:o=!0,panOnScroll:i=!1,panOnScrollSpeed:c=.5,panOnScrollMode:d=Ge.Free,zoomOnDoubleClick:l=!0,elementsSelectable:u,panOnDrag:s=!0,defaultViewport:g,translateExtent:f,minZoom:E,maxZoom:h,zoomActivationKeyCode:m,preventScrolling:p=!0,children:y,noWheelClassName:v,noPanClassName:x})=>{const _=R.useRef(),S=Ce(),D=R.useRef(!1),M=R.useRef(!1),w=R.useRef(null),P=R.useRef({x:0,y:0,zoom:0}),{d3Zoom:N,d3Selection:O,d3ZoomHandler:L,userSelectionActive:b}=pe(hs,_e),k=Nt(m),I=R.useRef(0),T=R.useRef(!1),$=R.useRef();return(function(C){const A=Ce();R.useEffect(()=>{let j;const H=()=>{var X,K;if(!C.current)return;const Y=Gt(C.current);Y.height!==0&&Y.width!==0||((K=(X=A.getState()).onError)==null||K.call(X,"004",Ri())),A.setState({width:Y.width||500,height:Y.height||500})};return H(),window.addEventListener("resize",H),C.current&&(j=new ResizeObserver(()=>H()),j.observe(C.current)),()=>{window.removeEventListener("resize",H),j&&C.current&&j.unobserve(C.current)}},[])})(w),R.useEffect(()=>{if(w.current){const C=w.current.getBoundingClientRect(),A=(function(){var K,ne,ie,de=Ci,V=_i,Q=Oi,oe=ki,se=Mi,re=[0,1/0],ce=[[-1/0,-1/0],[1/0,1/0]],ee=250,me=$l,ae=fi("start","zoom","end"),W=0,ge=10;function te(z){z.property("__zoom",fo).on("wheel.zoom",Ne,{passive:!1}).on("mousedown.zoom",Ie).on("dblclick.zoom",Te).filter(se).on("touchstart.zoom",Le).on("touchmove.zoom",Ve).on("touchend.zoom touchcancel.zoom",Me).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function ye(z,U){return(U=Math.max(re[0],Math.min(re[1],U)))===z.k?z:new lo(U,z.x,z.y)}function Ee(z,U,G){var Z=U[0]-G[0]*z.k,J=U[1]-G[1]*z.k;return Z===z.x&&J===z.y?z:new lo(z.k,Z,J)}function Pe(z){return[(+z[0][0]+ +z[1][0])/2,(+z[0][1]+ +z[1][1])/2]}function ke(z,U,G,Z){z.on("start.zoom",function(){we(this,arguments).event(Z).start()}).on("interrupt.zoom end.zoom",function(){we(this,arguments).event(Z).end()}).tween("zoom",function(){var J=this,ue=arguments,he=we(J,ue).event(Z),ve=V.apply(J,ue),fe=G==null?Pe(ve):typeof G=="function"?G.apply(J,ue):G,De=Math.max(ve[1][0]-ve[0][0],ve[1][1]-ve[0][1]),Ae=J.__zoom,Xe=typeof U=="function"?U.apply(J,ue):U,et=me(Ae.invert(fe).concat(De/Ae.k),Xe.invert(fe).concat(De/Xe.k));return function(je){if(je===1)je=Xe;else{var $e=et(je),Ot=De/$e[2];je=new lo(Ot,fe[0]-$e[0]*Ot,fe[1]-$e[1]*Ot)}he.zoom(null,je)}})}function we(z,U,G){return!G&&z.__zooming||new Fe(z,U)}function Fe(z,U){this.that=z,this.args=U,this.active=0,this.sourceEvent=null,this.extent=V.apply(z,U),this.taps=0}function Ne(z,...U){if(de.apply(this,arguments)){var G=we(this,U).event(z),Z=this.__zoom,J=Math.max(re[0],Math.min(re[1],Z.k*Math.pow(2,oe.apply(this,arguments)))),ue=Ye(z);if(G.wheel)G.mouse[0][0]===ue[0]&&G.mouse[0][1]===ue[1]||(G.mouse[1]=Z.invert(G.mouse[0]=ue)),clearTimeout(G.wheel);else{if(Z.k===J)return;G.mouse=[ue,Z.invert(ue)],uo(this),G.start()}bt(z),G.wheel=setTimeout(function(){G.wheel=null,G.end()},150),G.zoom("mouse",Q(Ee(ye(Z,J),G.mouse[0],G.mouse[1]),G.extent,ce))}}function Ie(z,...U){if(!ie&&de.apply(this,arguments)){var G=z.currentTarget,Z=we(this,U,!0).event(z),J=He(z.view).on("mousemove.zoom",function(fe){if(bt(fe),!Z.moved){var De=fe.clientX-he,Ae=fe.clientY-ve;Z.moved=De*De+Ae*Ae>W}Z.event(fe).zoom("mouse",Q(Ee(Z.that.__zoom,Z.mouse[0]=Ye(fe,G),Z.mouse[1]),Z.extent,ce))},!0).on("mouseup.zoom",function(fe){J.on("mousemove.zoom mouseup.zoom",null),go(fe.view,Z.moved),bt(fe),Z.event(fe).end()},!0),ue=Ye(z,G),he=z.clientX,ve=z.clientY;ho(z.view),Wt(z),Z.mouse=[ue,this.__zoom.invert(ue)],uo(this),Z.start()}}function Te(z,...U){if(de.apply(this,arguments)){var G=this.__zoom,Z=Ye(z.changedTouches?z.changedTouches[0]:z,this),J=G.invert(Z),ue=G.k*(z.shiftKey?.5:2),he=Q(Ee(ye(G,ue),Z,J),V.apply(this,U),ce);bt(z),ee>0?He(this).transition().duration(ee).call(ke,he,Z,z):He(this).call(te.transform,he,Z,z)}}function Le(z,...U){if(de.apply(this,arguments)){var G,Z,J,ue,he=z.touches,ve=he.length,fe=we(this,U,z.changedTouches.length===ve).event(z);for(Wt(z),Z=0;Z<ve;++Z)ue=[ue=Ye(J=he[Z],this),this.__zoom.invert(ue),J.identifier],fe.touch0?fe.touch1||fe.touch0[2]===ue[2]||(fe.touch1=ue,fe.taps=0):(fe.touch0=ue,G=!0,fe.taps=1+!!K);K&&(K=clearTimeout(K)),G&&(fe.taps<2&&(ne=ue[0],K=setTimeout(function(){K=null},500)),uo(this),fe.start())}}function Ve(z,...U){if(this.__zooming){var G,Z,J,ue,he=we(this,U).event(z),ve=z.changedTouches,fe=ve.length;for(bt(z),G=0;G<fe;++G)J=Ye(Z=ve[G],this),he.touch0&&he.touch0[2]===Z.identifier?he.touch0[0]=J:he.touch1&&he.touch1[2]===Z.identifier&&(he.touch1[0]=J);if(Z=he.that.__zoom,he.touch1){var De=he.touch0[0],Ae=he.touch0[1],Xe=he.touch1[0],et=he.touch1[1],je=(je=Xe[0]-De[0])*je+(je=Xe[1]-De[1])*je,$e=($e=et[0]-Ae[0])*$e+($e=et[1]-Ae[1])*$e;Z=ye(Z,Math.sqrt(je/$e)),J=[(De[0]+Xe[0])/2,(De[1]+Xe[1])/2],ue=[(Ae[0]+et[0])/2,(Ae[1]+et[1])/2]}else{if(!he.touch0)return;J=he.touch0[0],ue=he.touch0[1]}he.zoom("touch",Q(Ee(Z,J,ue),he.extent,ce))}}function Me(z,...U){if(this.__zooming){var G,Z,J=we(this,U).event(z),ue=z.changedTouches,he=ue.length;for(Wt(z),ie&&clearTimeout(ie),ie=setTimeout(function(){ie=null},500),G=0;G<he;++G)Z=ue[G],J.touch0&&J.touch0[2]===Z.identifier?delete J.touch0:J.touch1&&J.touch1[2]===Z.identifier&&delete J.touch1;if(J.touch1&&!J.touch0&&(J.touch0=J.touch1,delete J.touch1),J.touch0)J.touch0[1]=this.__zoom.invert(J.touch0[0]);else if(J.end(),J.taps===2&&(Z=Ye(Z,this),Math.hypot(ne[0]-Z[0],ne[1]-Z[1])<ge)){var ve=He(this).on("dblclick.zoom");ve&&ve.apply(this,arguments)}}}return te.transform=function(z,U,G,Z){var J=z.selection?z.selection():z;J.property("__zoom",fo),z!==J?ke(z,U,G,Z):J.interrupt().each(function(){we(this,arguments).event(Z).start().zoom(null,typeof U=="function"?U.apply(this,arguments):U).end()})},te.scaleBy=function(z,U,G,Z){te.scaleTo(z,function(){return this.__zoom.k*(typeof U=="function"?U.apply(this,arguments):U)},G,Z)},te.scaleTo=function(z,U,G,Z){te.transform(z,function(){var J=V.apply(this,arguments),ue=this.__zoom,he=G==null?Pe(J):typeof G=="function"?G.apply(this,arguments):G,ve=ue.invert(he),fe=typeof U=="function"?U.apply(this,arguments):U;return Q(Ee(ye(ue,fe),he,ve),J,ce)},G,Z)},te.translateBy=function(z,U,G,Z){te.transform(z,function(){return Q(this.__zoom.translate(typeof U=="function"?U.apply(this,arguments):U,typeof G=="function"?G.apply(this,arguments):G),V.apply(this,arguments),ce)},null,Z)},te.translateTo=function(z,U,G,Z,J){te.transform(z,function(){var ue=V.apply(this,arguments),he=this.__zoom,ve=Z==null?Pe(ue):typeof Z=="function"?Z.apply(this,arguments):Z;return Q(tt.translate(ve[0],ve[1]).scale(he.k).translate(typeof U=="function"?-U.apply(this,arguments):-U,typeof G=="function"?-G.apply(this,arguments):-G),ue,ce)},Z,J)},Fe.prototype={event:function(z){return z&&(this.sourceEvent=z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(z,U){return this.mouse&&z!=="mouse"&&(this.mouse[1]=U.invert(this.mouse[0])),this.touch0&&z!=="touch"&&(this.touch0[1]=U.invert(this.touch0[0])),this.touch1&&z!=="touch"&&(this.touch1[1]=U.invert(this.touch1[0])),this.that.__zoom=U,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(z){var U=He(this.that).datum();ae.call(z,this.that,new Ni(z,{sourceEvent:this.sourceEvent,target:te,transform:this.that.__zoom,dispatch:ae}),U)}},te.wheelDelta=function(z){return arguments.length?(oe=typeof z=="function"?z:Pt(+z),te):oe},te.filter=function(z){return arguments.length?(de=typeof z=="function"?z:Pt(!!z),te):de},te.touchable=function(z){return arguments.length?(se=typeof z=="function"?z:Pt(!!z),te):se},te.extent=function(z){return arguments.length?(V=typeof z=="function"?z:Pt([[+z[0][0],+z[0][1]],[+z[1][0],+z[1][1]]]),te):V},te.scaleExtent=function(z){return arguments.length?(re[0]=+z[0],re[1]=+z[1],te):[re[0],re[1]]},te.translateExtent=function(z){return arguments.length?(ce[0][0]=+z[0][0],ce[1][0]=+z[1][0],ce[0][1]=+z[0][1],ce[1][1]=+z[1][1],te):[[ce[0][0],ce[0][1]],[ce[1][0],ce[1][1]]]},te.constrain=function(z){return arguments.length?(Q=z,te):Q},te.duration=function(z){return arguments.length?(ee=+z,te):ee},te.interpolate=function(z){return arguments.length?(me=z,te):me},te.on=function(){var z=ae.on.apply(ae,arguments);return z===ae?te:z},te.clickDistance=function(z){return arguments.length?(W=(z=+z)*z,te):Math.sqrt(W)},te.tapDistance=function(z){return arguments.length?(ge=+z,te):ge},te})().scaleExtent([E,h]).translateExtent(f),j=He(w.current).call(A),H=tt.translate(g.x,g.y).scale(st(g.zoom,E,h)),Y=[[0,0],[C.width,C.height]],X=A.constrain()(H,Y,f);A.transform(j,X),A.wheelDelta(ir),S.setState({d3Zoom:A,d3Selection:j,d3ZoomHandler:j.on("wheel.zoom"),transform:[X.x,X.y,X.k],domNode:w.current.closest(".react-flow")})}},[]),R.useEffect(()=>{O&&N&&(!i||k||b?L!==void 0&&O.on("wheel.zoom",function(C,A){if(!p&&C.type==="wheel"&&!C.ctrlKey||ht(C,v))return null;C.preventDefault(),L.call(this,C,A)},{passive:!1}):O.on("wheel.zoom",C=>{if(ht(C,v))return!1;C.preventDefault(),C.stopImmediatePropagation();const A=O.property("__zoom").k||1;if(C.ctrlKey&&o){const de=Ye(C),V=ir(C),Q=A*Math.pow(2,V);return void N.scaleTo(O,Q,de,C)}const j=C.deltaMode===1?20:1;let H=d===Ge.Vertical?0:C.deltaX*j,Y=d===Ge.Horizontal?0:C.deltaY*j;!zt()&&C.shiftKey&&d!==Ge.Vertical&&(H=C.deltaY*j,Y=0),N.translateBy(O,-H/A*c,-Y/A*c,{internal:!0});const X=$t(O.property("__zoom")),{onViewportChangeStart:K,onViewportChange:ne,onViewportChangeEnd:ie}=S.getState();clearTimeout($.current),T.current||(T.current=!0,e==null||e(C,X),K==null||K(X)),T.current&&(t==null||t(C,X),ne==null||ne(X),$.current=setTimeout(()=>{n==null||n(C,X),ie==null||ie(X),T.current=!1},150))},{passive:!1}))},[b,i,d,O,N,L,k,o,p,v,e,t,n]),R.useEffect(()=>{N&&N.on("start",C=>{var H,Y;if(!C.sourceEvent||C.sourceEvent.internal)return null;I.current=(H=C.sourceEvent)==null?void 0:H.button;const{onViewportChangeStart:A}=S.getState(),j=$t(C.transform);D.current=!0,P.current=j,((Y=C.sourceEvent)==null?void 0:Y.type)==="mousedown"&&S.setState({paneDragging:!0}),A==null||A(j),e==null||e(C.sourceEvent,j)})},[N,e]),R.useEffect(()=>{N&&(b&&!D.current?N.on("zoom",null):b||N.on("zoom",C=>{var j;const{onViewportChange:A}=S.getState();if(S.setState({transform:[C.transform.x,C.transform.y,C.transform.k]}),M.current=!(!r||!ar(s,I.current??0)),(t||A)&&!((j=C.sourceEvent)!=null&&j.internal)){const H=$t(C.transform);A==null||A(H),t==null||t(C.sourceEvent,H)}}))},[b,N,t,s,r]),R.useEffect(()=>{N&&N.on("end",C=>{if(!C.sourceEvent||C.sourceEvent.internal)return null;const{onViewportChangeEnd:A}=S.getState();if(D.current=!1,S.setState({paneDragging:!1}),r&&ar(s,I.current??0)&&!M.current&&r(C.sourceEvent),M.current=!1,(n||A)&&(j=P.current,H=C.transform,j.x!==H.x||j.y!==H.y||j.zoom!==H.k)){const Y=$t(C.transform);P.current=Y,clearTimeout(_.current),_.current=setTimeout(()=>{A==null||A(Y),n==null||n(C.sourceEvent,Y)},i?150:0)}var j,H})},[N,i,s,n,r]),R.useEffect(()=>{N&&N.filter(C=>{const A=k||a,j=o&&C.ctrlKey;if((s===!0||Array.isArray(s)&&s.includes(1))&&C.button===1&&C.type==="mousedown"&&(ht(C,"react-flow__node")||ht(C,"react-flow__edge")))return!0;if(!(s||A||i||l||o)||b||!l&&C.type==="dblclick"||ht(C,v)&&C.type==="wheel"||ht(C,x)&&(C.type!=="wheel"||i&&C.type==="wheel"&&!k)||!o&&C.ctrlKey&&C.type==="wheel"||!A&&!i&&!j&&C.type==="wheel"||!s&&(C.type==="mousedown"||C.type==="touchstart")||Array.isArray(s)&&!s.includes(C.button)&&C.type==="mousedown")return!1;const H=Array.isArray(s)&&s.includes(C.button)||!C.button||C.button<=1;return(!C.ctrlKey||C.type==="wheel")&&H})},[b,N,a,o,i,l,s,u,k]),B.createElement("div",{className:"react-flow__renderer",ref:w,style:mn},y)},fs=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function ms(){const{userSelectionActive:t,userSelectionRect:e}=pe(fs,_e);return t&&e?B.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}function sr(t,e){const n=e.parentNode||e.parentId,r=t.find(a=>a.id===n);if(r){const a=e.position.x+e.width-r.width,o=e.position.y+e.height-r.height;if(a>0||o>0||e.position.x<0||e.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,a>0&&(r.style.width+=a),o>0&&(r.style.height+=o),e.position.x<0){const i=Math.abs(e.position.x);r.position.x=r.position.x-i,r.style.width+=i,e.position.x=0}if(e.position.y<0){const i=Math.abs(e.position.y);r.position.y=r.position.y-i,r.style.height+=i,e.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function cr(t,e){if(t.some(r=>r.type==="reset"))return t.filter(r=>r.type==="reset").map(r=>r.item);const n=t.filter(r=>r.type==="add").map(r=>r.item);return e.reduce((r,a)=>{const o=t.filter(c=>c.id===a.id);if(o.length===0)return r.push(a),r;const i={...a};for(const c of o)if(c)switch(c.type){case"select":i.selected=c.selected;break;case"position":c.position!==void 0&&(i.position=c.position),c.positionAbsolute!==void 0&&(i.positionAbsolute=c.positionAbsolute),c.dragging!==void 0&&(i.dragging=c.dragging),i.expandParent&&sr(r,i);break;case"dimensions":c.dimensions!==void 0&&(i.width=c.dimensions.width,i.height=c.dimensions.height),c.updateStyle!==void 0&&(i.style={...i.style||{},...c.dimensions}),typeof c.resizing=="boolean"&&(i.resizing=c.resizing),i.expandParent&&sr(r,i);break;case"remove":return r}return r.push(i),r},n)}function lr(t,e){return cr(t,e)}const Qe=(t,e)=>({id:t,type:"select",selected:e});function gt(t,e){return t.reduce((n,r)=>{const a=e.includes(r.id);return!r.selected&&a?(r.selected=!0,n.push(Qe(r.id,!0))):r.selected&&!a&&(r.selected=!1,n.push(Qe(r.id,!1))),n},[])}const pn=(t,e)=>n=>{n.target===e.current&&(t==null||t(n))},ps=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,dragging:t.paneDragging}),dr=R.memo(({isSelecting:t,selectionMode:e=wt.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:a,onPaneClick:o,onPaneContextMenu:i,onPaneScroll:c,onPaneMouseEnter:d,onPaneMouseMove:l,onPaneMouseLeave:u,children:s})=>{const g=R.useRef(null),f=Ce(),E=R.useRef(0),h=R.useRef(0),m=R.useRef(),{userSelectionActive:p,elementsSelectable:y,dragging:v}=pe(ps,_e),x=()=>{f.setState({userSelectionActive:!1,userSelectionRect:null}),E.current=0,h.current=0},_=M=>{o==null||o(M),f.getState().resetSelectedElements(),f.setState({nodesSelectionActive:!1})},S=c?M=>c(M):void 0,D=y&&(t||p);return B.createElement("div",{className:Oe(["react-flow__pane",{dragging:v,selection:t}]),onClick:D?void 0:pn(_,g),onContextMenu:pn(M=>{Array.isArray(n)&&(n!=null&&n.includes(2))?M.preventDefault():i==null||i(M)},g),onWheel:pn(S,g),onMouseEnter:D?void 0:d,onMouseDown:D?M=>{const{resetSelectedElements:w,domNode:P}=f.getState();if(m.current=P==null?void 0:P.getBoundingClientRect(),!y||!t||M.button!==0||M.target!==g.current||!m.current)return;const{x:N,y:O}=We(M,m.current);w(),f.setState({userSelectionRect:{width:0,height:0,startX:N,startY:O,x:N,y:O}}),r==null||r(M)}:void 0,onMouseMove:D?M=>{const{userSelectionRect:w,nodeInternals:P,edges:N,transform:O,onNodesChange:L,onEdgesChange:b,nodeOrigin:k,getNodes:I}=f.getState();if(!t||!m.current||!w)return;f.setState({userSelectionActive:!0,nodesSelectionActive:!1});const T=We(M,m.current),$=w.startX??0,C=w.startY??0,A={...w,x:T.x<$?T.x:$,y:T.y<C?T.y:C,width:Math.abs(T.x-$),height:Math.abs(T.y-C)},j=I(),H=To(P,A,O,e===wt.Partial,!0,k),Y=Ao(H,N).map(K=>K.id),X=H.map(K=>K.id);if(E.current!==X.length){E.current=X.length;const K=gt(j,X);K.length&&(L==null||L(K))}if(h.current!==Y.length){h.current=Y.length;const K=gt(N,Y);K.length&&(b==null||b(K))}f.setState({userSelectionRect:A})}:l,onMouseUp:D?M=>{if(M.button!==0)return;const{userSelectionRect:w}=f.getState();!p&&w&&M.target===g.current&&(_==null||_(M)),f.setState({nodesSelectionActive:E.current>0}),x(),a==null||a(M)}:void 0,onMouseLeave:D?M=>{p&&(f.setState({nodesSelectionActive:E.current>0}),a==null||a(M)),x()}:u,ref:g,style:mn},s,B.createElement(ms,null))});function ur(t,e){const n=t.parentNode||t.parentId;if(!n)return!1;const r=e.get(n);return!!r&&(!!r.selected||ur(r,e))}function hr(t,e,n){let r=t;do{if(r!=null&&r.matches(e))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function ys(t,e,n,r){return Array.from(t.values()).filter(a=>(a.selected||a.id===r)&&(!a.parentNode||a.parentId||!ur(a,t))&&(a.draggable||e&&a.draggable===void 0)).map(a=>{var o,i;return{id:a.id,position:a.position||{x:0,y:0},positionAbsolute:a.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=a.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((i=a.positionAbsolute)==null?void 0:i.y)??0)},delta:{x:0,y:0},extent:a.extent,parentNode:a.parentNode||a.parentId,parentId:a.parentNode||a.parentId,width:a.width,height:a.height,expandParent:a.expandParent}})}function gr(t,e,n,r,a=[0,0],o){const i=(function(s,g){return g&&g!=="parent"?[g[0],[g[1][0]-(s.width||0),g[1][1]-(s.height||0)]]:g})(t,t.extent||r);let c=i;const d=t.parentNode||t.parentId;if(t.extent!=="parent"||t.expandParent){if(t.extent&&d&&t.extent!=="parent"){const s=n.get(d),{x:g,y:f}=lt(s,a).positionAbsolute;c=[[t.extent[0][0]+g,t.extent[0][1]+f],[t.extent[1][0]+g,t.extent[1][1]+f]]}}else if(d&&t.width&&t.height){const s=n.get(d),{x:g,y:f}=lt(s,a).positionAbsolute;c=s&&ze(g)&&ze(f)&&ze(s.width)&&ze(s.height)?[[g+t.width*a[0],f+t.height*a[1]],[g+s.width-t.width+t.width*a[0],f+s.height-t.height+t.height*a[1]]]:c}else o==null||o("005",Ti()),c=i;let l={x:0,y:0};if(d){const s=n.get(d);l=lt(s,a).positionAbsolute}const u=c&&c!=="parent"?Ut(e,c):e;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function yn({nodeId:t,dragItems:e,nodeInternals:n}){const r=e.map(a=>({...n.get(a.id),position:a.position,positionAbsolute:a.positionAbsolute}));return[t?r.find(a=>a.id===t):r[0],r]}dr.displayName="Pane";const fr=(t,e,n,r)=>{const a=e.querySelectorAll(t);if(!a||!a.length)return null;const o=Array.from(a),i=e.getBoundingClientRect(),c=i.width*r[0],d=i.height*r[1];return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-i.left-c)/n,y:(u.top-i.top-d)/n,...Gt(l)}})};function _t(t,e,n){return n===void 0?n:r=>{const a=e().nodeInternals.get(t);a&&n(r,{...a})}}function vn({id:t,store:e,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:a,unselectNodesAndEdges:o,multiSelectionActive:i,nodeInternals:c,onError:d}=e.getState(),l=c.get(t);l?(e.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&i)&&(o({nodes:[l],edges:[]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):a([t])):d==null||d("012",$i(t))}function bn(t){return(e,n,r)=>t==null?void 0:t(e,r)}function mr({nodeRef:t,disabled:e=!1,noDragClassName:n,handleSelector:r,nodeId:a,isSelectable:o,selectNodesOnDrag:i}){const c=Ce(),[d,l]=R.useState(!1),u=R.useRef([]),s=R.useRef({x:null,y:null}),g=R.useRef(0),f=R.useRef(null),E=R.useRef({x:0,y:0}),h=R.useRef(null),m=R.useRef(!1),p=R.useRef(!1),y=R.useRef(!1),v=(function(){const x=Ce();return R.useCallback(({sourceEvent:S})=>{const{transform:D,snapGrid:M,snapToGrid:w}=x.getState(),P=S.touches?S.touches[0].clientX:S.clientX,N=S.touches?S.touches[0].clientY:S.clientY,O={x:(P-D[0])/D[2],y:(N-D[1])/D[2]};return{xSnapped:w?M[0]*Math.round(O.x/M[0]):O.x,ySnapped:w?M[1]*Math.round(O.y/M[1]):O.y,...O}},[])})();return R.useEffect(()=>{if(t!=null&&t.current){const x=He(t.current),_=({x:M,y:w})=>{const{nodeInternals:P,onNodeDrag:N,onSelectionDrag:O,updateNodePositions:L,nodeExtent:b,snapGrid:k,snapToGrid:I,nodeOrigin:T,onError:$}=c.getState();s.current={x:M,y:w};let C=!1,A={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&b){const H=ln(u.current,T);A=qt(H)}if(u.current=u.current.map(H=>{const Y={x:M-H.distance.x,y:w-H.distance.y};I&&(Y.x=k[0]*Math.round(Y.x/k[0]),Y.y=k[1]*Math.round(Y.y/k[1]));const X=[[b[0][0],b[0][1]],[b[1][0],b[1][1]]];u.current.length>1&&b&&!H.extent&&(X[0][0]=H.positionAbsolute.x-A.x+b[0][0],X[1][0]=H.positionAbsolute.x+(H.width??0)-A.x2+b[1][0],X[0][1]=H.positionAbsolute.y-A.y+b[0][1],X[1][1]=H.positionAbsolute.y+(H.height??0)-A.y2+b[1][1]);const K=gr(H,Y,P,X,T,$);return C=C||H.position.x!==K.position.x||H.position.y!==K.position.y,H.position=K.position,H.positionAbsolute=K.positionAbsolute,H}),!C)return;L(u.current,!0,!0),l(!0);const j=a?N:bn(O);if(j&&h.current){const[H,Y]=yn({nodeId:a,dragItems:u.current,nodeInternals:P});j(h.current,H,Y)}},S=()=>{if(!f.current)return;const[M,w]=bo(E.current,f.current);if(M!==0||w!==0){const{transform:P,panBy:N}=c.getState();s.current.x=(s.current.x??0)-M/P[2],s.current.y=(s.current.y??0)-w/P[2],N({x:M,y:w})&&_(s.current)}g.current=requestAnimationFrame(S)},D=M=>{var T;const{nodeInternals:w,multiSelectionActive:P,nodesDraggable:N,unselectNodesAndEdges:O,onNodeDragStart:L,onSelectionDragStart:b}=c.getState();p.current=!0;const k=a?L:bn(b);i&&o||P||!a||(T=w.get(a))!=null&&T.selected||O(),a&&o&&i&&vn({id:a,store:c,nodeRef:t});const I=v(M);if(s.current=I,u.current=ys(w,N,I,a),k&&u.current){const[$,C]=yn({nodeId:a,dragItems:u.current,nodeInternals:w});k(M.sourceEvent,$,C)}};if(!e){const M=(function(){var w,P,N,O,L=Ei,b=xi,k=wi,I=Si,T={},$=fi("start","drag","end"),C=0,A=0;function j(V){V.on("mousedown.drag",H).filter(I).on("touchstart.drag",K).on("touchmove.drag",ne,bi).on("touchend.drag touchcancel.drag",ie).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function H(V,Q){if(!O&&L.call(this,V,Q)){var oe=de(this,b.call(this,V,Q),V,Q,"mouse");oe&&(He(V.view).on("mousemove.drag",Y,vt).on("mouseup.drag",X,vt),ho(V.view),Zt(V),N=!1,w=V.clientX,P=V.clientY,oe("start",V))}}function Y(V){if(it(V),!N){var Q=V.clientX-w,oe=V.clientY-P;N=Q*Q+oe*oe>A}T.mouse("drag",V)}function X(V){He(V.view).on("mousemove.drag mouseup.drag",null),go(V.view,N),it(V),T.mouse("end",V)}function K(V,Q){if(L.call(this,V,Q)){var oe,se,re=V.changedTouches,ce=b.call(this,V,Q),ee=re.length;for(oe=0;oe<ee;++oe)(se=de(this,ce,V,Q,re[oe].identifier,re[oe]))&&(Zt(V),se("start",V,re[oe]))}}function ne(V){var Q,oe,se=V.changedTouches,re=se.length;for(Q=0;Q<re;++Q)(oe=T[se[Q].identifier])&&(it(V),oe("drag",V,se[Q]))}function ie(V){var Q,oe,se=V.changedTouches,re=se.length;for(O&&clearTimeout(O),O=setTimeout(function(){O=null},500),Q=0;Q<re;++Q)(oe=T[se[Q].identifier])&&(Zt(V),oe("end",V,se[Q]))}function de(V,Q,oe,se,re,ce){var ee,me,ae,W=$.copy(),ge=Ye(ce||oe,Q);if((ae=k.call(V,new Kt("beforestart",{sourceEvent:oe,target:j,identifier:re,active:C,x:ge[0],y:ge[1],dx:0,dy:0,dispatch:W}),se))!=null)return ee=ae.x-ge[0]||0,me=ae.y-ge[1]||0,function te(ye,Ee,Pe){var ke,we=ge;switch(ye){case"start":T[re]=te,ke=C++;break;case"end":delete T[re],--C;case"drag":ge=Ye(Pe||Ee,Q),ke=C}W.call(ye,V,new Kt(ye,{sourceEvent:Ee,subject:ae,target:j,identifier:re,active:ke,x:ge[0]+ee,y:ge[1]+me,dx:ge[0]-we[0],dy:ge[1]-we[1],dispatch:W}),se)}}return j.filter=function(V){return arguments.length?(L=typeof V=="function"?V:It(!!V),j):L},j.container=function(V){return arguments.length?(b=typeof V=="function"?V:It(V),j):b},j.subject=function(V){return arguments.length?(k=typeof V=="function"?V:It(V),j):k},j.touchable=function(V){return arguments.length?(I=typeof V=="function"?V:It(!!V),j):I},j.on=function(){var V=$.on.apply($,arguments);return V===$?j:V},j.clickDistance=function(V){return arguments.length?(A=(V=+V)*V,j):Math.sqrt(A)},j})().on("start",w=>{const{domNode:P,nodeDragThreshold:N}=c.getState();N===0&&D(w),y.current=!1;const O=v(w);s.current=O,f.current=(P==null?void 0:P.getBoundingClientRect())||null,E.current=We(w.sourceEvent,f.current)}).on("drag",w=>{var L,b;const P=v(w),{autoPanOnNodeDrag:N,nodeDragThreshold:O}=c.getState();if(w.sourceEvent.type==="touchmove"&&w.sourceEvent.touches.length>1&&(y.current=!0),!y.current){if(!m.current&&p.current&&N&&(m.current=!0,S()),!p.current){const k=P.xSnapped-(((L=s==null?void 0:s.current)==null?void 0:L.x)??0),I=P.ySnapped-(((b=s==null?void 0:s.current)==null?void 0:b.y)??0);Math.sqrt(k*k+I*I)>O&&D(w)}(s.current.x!==P.xSnapped||s.current.y!==P.ySnapped)&&u.current&&p.current&&(h.current=w.sourceEvent,E.current=We(w.sourceEvent,f.current),_(P))}}).on("end",w=>{if(p.current&&!y.current&&(l(!1),m.current=!1,p.current=!1,cancelAnimationFrame(g.current),u.current)){const{updateNodePositions:P,nodeInternals:N,onNodeDragStop:O,onSelectionDragStop:L}=c.getState(),b=a?O:bn(L);if(P(u.current,!1,!1),b){const[k,I]=yn({nodeId:a,dragItems:u.current,nodeInternals:N});b(w.sourceEvent,k,I)}}}).filter(w=>{const P=w.target;return!w.button&&(!n||!hr(P,`.${n}`,t))&&(!r||hr(P,r,t))});return x.call(M),()=>{x.on(".drag",null)}}x.on(".drag",null)}},[t,e,n,r,o,c,a,i,v]),d}function pr(){const t=Ce();return R.useCallback(e=>{const{nodeInternals:n,nodeExtent:r,updateNodePositions:a,getNodes:o,snapToGrid:i,snapGrid:c,onError:d,nodesDraggable:l}=t.getState(),u=o().filter(m=>m.selected&&(m.draggable||l&&m.draggable===void 0)),s=i?c[0]:5,g=i?c[1]:5,f=e.isShiftPressed?4:1,E=e.x*s*f,h=e.y*g*f;a(u.map(m=>{if(m.positionAbsolute){const p={x:m.positionAbsolute.x+E,y:m.positionAbsolute.y+h};i&&(p.x=c[0]*Math.round(p.x/c[0]),p.y=c[1]*Math.round(p.y/c[1]));const{positionAbsolute:y,position:v}=gr(m,p,n,r,void 0,d);m.position=v,m.positionAbsolute=y}return m}),!0,!1)},[])}const ft={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var kt=t=>{const e=({id:n,type:r,data:a,xPos:o,yPos:i,xPosOrigin:c,yPosOrigin:d,selected:l,onClick:u,onMouseEnter:s,onMouseMove:g,onMouseLeave:f,onContextMenu:E,onDoubleClick:h,style:m,className:p,isDraggable:y,isSelectable:v,isConnectable:x,isFocusable:_,selectNodesOnDrag:S,sourcePosition:D,targetPosition:M,hidden:w,resizeObserver:P,dragHandle:N,zIndex:O,isParent:L,noDragClassName:b,noPanClassName:k,initialized:I,disableKeyboardA11y:T,ariaLabel:$,rfId:C,hasHandleBounds:A})=>{const j=Ce(),H=R.useRef(null),Y=R.useRef(null),X=R.useRef(D),K=R.useRef(M),ne=R.useRef(r),ie=v||y||u||s||g||f,de=pr(),V=_t(n,j.getState,s),Q=_t(n,j.getState,g),oe=_t(n,j.getState,f),se=_t(n,j.getState,E),re=_t(n,j.getState,h);R.useEffect(()=>()=>{Y.current&&(P==null||P.unobserve(Y.current),Y.current=null)},[]),R.useEffect(()=>{if(H.current&&!w){const ee=H.current;I&&A&&Y.current===ee||(Y.current&&(P==null||P.unobserve(Y.current)),P==null||P.observe(ee),Y.current=ee)}},[w,I,A]),R.useEffect(()=>{const ee=ne.current!==r,me=X.current!==D,ae=K.current!==M;H.current&&(ee||me||ae)&&(ee&&(ne.current=r),me&&(X.current=D),ae&&(K.current=M),j.getState().updateNodeDimensions([{id:n,nodeElement:H.current,forceUpdate:!0}]))},[n,r,D,M]);const ce=mr({nodeRef:H,disabled:w||!y,noDragClassName:b,handleSelector:N,nodeId:n,isSelectable:v,selectNodesOnDrag:S});return w?null:B.createElement("div",{className:Oe(["react-flow__node",`react-flow__node-${r}`,{[k]:y},p,{selected:l,selectable:v,parent:L,dragging:ce}]),ref:H,style:{zIndex:O,transform:`translate(${c}px,${d}px)`,pointerEvents:ie?"all":"none",visibility:I?"visible":"hidden",...m},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:V,onMouseMove:Q,onMouseLeave:oe,onContextMenu:se,onClick:ee=>{const{nodeDragThreshold:me}=j.getState();if(v&&(!S||!y||me>0)&&vn({id:n,store:j,nodeRef:H}),u){const ae=j.getState().nodeInternals.get(n);ae&&u(ee,{...ae})}},onDoubleClick:re,onKeyDown:_?ee=>{if(!Jt(ee)&&!T)if(wo.includes(ee.key)&&v){const me=ee.key==="Escape";vn({id:n,store:j,unselect:me,nodeRef:H})}else y&&l&&Object.prototype.hasOwnProperty.call(ft,ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~i}`}),de({x:ft[ee.key].x,y:ft[ee.key].y,isShiftPressed:ee.shiftKey}))}:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":T?void 0:`${Qo}-${C}`,"aria-label":$},B.createElement(Zi,{value:n},B.createElement(t,{id:n,data:a,type:r,xPos:o,yPos:i,selected:l,isConnectable:x,sourcePosition:D,targetPosition:M,dragging:ce,dragHandle:N,zIndex:O})))};return e.displayName="NodeWrapper",R.memo(e)};const vs=t=>{const e=t.getNodes().filter(n=>n.selected);return{...ln(e,t.nodeOrigin),transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`,userSelectionActive:t.userSelectionActive}};var bs=R.memo(function({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:n}){const r=Ce(),{width:a,height:o,x:i,y:c,transformString:d,userSelectionActive:l}=pe(vs,_e),u=pr(),s=R.useRef(null);if(R.useEffect(()=>{var f;n||((f=s.current)==null||f.focus({preventScroll:!0}))},[n]),mr({nodeRef:s}),l||!a||!o)return null;const g=t?f=>{const E=r.getState().getNodes().filter(h=>h.selected);t(f,E)}:void 0;return B.createElement("div",{className:Oe(["react-flow__nodesselection","react-flow__container",e]),style:{transform:d}},B.createElement("div",{ref:s,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:n?void 0:-1,onKeyDown:n?void 0:f=>{Object.prototype.hasOwnProperty.call(ft,f.key)&&u({x:ft[f.key].x,y:ft[f.key].y,isShiftPressed:f.shiftKey})},style:{width:a,height:o,top:c,left:i}}))});const Es=t=>t.nodesSelectionActive,yr=({children:t,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:o,onPaneScroll:i,deleteKeyCode:c,onMove:d,onMoveStart:l,onMoveEnd:u,selectionKeyCode:s,selectionOnDrag:g,selectionMode:f,onSelectionStart:E,onSelectionEnd:h,multiSelectionKeyCode:m,panActivationKeyCode:p,zoomActivationKeyCode:y,elementsSelectable:v,zoomOnScroll:x,zoomOnPinch:_,panOnScroll:S,panOnScrollSpeed:D,panOnScrollMode:M,zoomOnDoubleClick:w,panOnDrag:P,defaultViewport:N,translateExtent:O,minZoom:L,maxZoom:b,preventScrolling:k,onSelectionContextMenu:I,noWheelClassName:T,noPanClassName:$,disableKeyboardA11y:C})=>{const A=pe(Es),j=Nt(s),H=Nt(p),Y=H||P,X=H||S,K=j||g&&Y!==!0;return(({deleteKeyCode:ne,multiSelectionKeyCode:ie})=>{const de=Ce(),{deleteElements:V}=Ct(),Q=Nt(ne,us),oe=Nt(ie);R.useEffect(()=>{if(Q){const{edges:se,getNodes:re}=de.getState(),ce=re().filter(me=>me.selected),ee=se.filter(me=>me.selected);V({nodes:ce,edges:ee}),de.setState({nodesSelectionActive:!1})}},[Q]),R.useEffect(()=>{de.setState({multiSelectionActive:oe})},[oe])})({deleteKeyCode:c,multiSelectionKeyCode:m}),B.createElement(gs,{onMove:d,onMoveStart:l,onMoveEnd:u,onPaneContextMenu:o,elementsSelectable:v,zoomOnScroll:x,zoomOnPinch:_,panOnScroll:X,panOnScrollSpeed:D,panOnScrollMode:M,zoomOnDoubleClick:w,panOnDrag:!j&&Y,defaultViewport:N,translateExtent:O,minZoom:L,maxZoom:b,zoomActivationKeyCode:y,preventScrolling:k,noWheelClassName:T,noPanClassName:$},B.createElement(dr,{onSelectionStart:E,onSelectionEnd:h,onPaneClick:e,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:o,onPaneScroll:i,panOnDrag:Y,isSelecting:!!K,selectionMode:f},t,A&&B.createElement(bs,{onSelectionContextMenu:I,noPanClassName:$,disableKeyboardA11y:C})))};yr.displayName="FlowRenderer";var xs=R.memo(yr);function ws(t){return{input:kt(t.input||Ko),default:kt(t.default||hn),output:kt(t.output||Go),group:kt(t.group||gn),...Object.keys(t).filter(e=>!["input","default","output","group"].includes(e)).reduce((e,n)=>(e[n]=kt(t[n]||hn),e),{})}}const Ss=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,updateNodeDimensions:t.updateNodeDimensions,onError:t.onError}),vr=t=>{const{nodesDraggable:e,nodesConnectable:n,nodesFocusable:r,elementsSelectable:a,updateNodeDimensions:o,onError:i}=pe(Ss,_e),c=(d=t.onlyRenderVisibleElements,pe(R.useCallback(s=>d?To(s.nodeInternals,{x:0,y:0,width:s.width,height:s.height},s.transform,!0):s.getNodes(),[d])));var d;const l=R.useRef(),u=R.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const s=new ResizeObserver(g=>{const f=g.map(E=>({id:E.target.getAttribute("data-id"),nodeElement:E.target,forceUpdate:!0}));o(f)});return l.current=s,s},[]);return R.useEffect(()=>()=>{var s;(s=l==null?void 0:l.current)==null||s.disconnect()},[]),B.createElement("div",{className:"react-flow__nodes",style:mn},c.map(s=>{var S,D,M;let g=s.type||"default";t.nodeTypes[g]||(i==null||i("003",zi(g)),g="default");const f=t.nodeTypes[g]||t.nodeTypes.default,E=!!(s.draggable||e&&s.draggable===void 0),h=!!(s.selectable||a&&s.selectable===void 0),m=!!(s.connectable||n&&s.connectable===void 0),p=!!(s.focusable||r&&s.focusable===void 0),y=t.nodeExtent?Ut(s.positionAbsolute,t.nodeExtent):s.positionAbsolute,v=(y==null?void 0:y.x)??0,x=(y==null?void 0:y.y)??0,_=(({x:w,y:P,width:N,height:O,origin:L})=>N&&O?L[0]<0||L[1]<0||L[0]>1||L[1]>1?{x:w,y:P}:{x:w-N*L[0],y:P-O*L[1]}:{x:w,y:P})({x:v,y:x,width:s.width??0,height:s.height??0,origin:t.nodeOrigin});return B.createElement(f,{key:s.id,id:s.id,className:s.className,style:s.style,type:g,data:s.data,sourcePosition:s.sourcePosition||q.Bottom,targetPosition:s.targetPosition||q.Top,hidden:s.hidden,xPos:v,yPos:x,xPosOrigin:_.x,yPosOrigin:_.y,selectNodesOnDrag:t.selectNodesOnDrag,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,selected:!!s.selected,isDraggable:E,isSelectable:h,isConnectable:m,isFocusable:p,resizeObserver:u,dragHandle:s.dragHandle,zIndex:((S=s[be])==null?void 0:S.z)??0,isParent:!!((D=s[be])!=null&&D.isParent),noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,initialized:!!s.width&&!!s.height,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,ariaLabel:s.ariaLabel,hasHandleBounds:!!((M=s[be])!=null&&M.handleBounds)})}))};vr.displayName="NodeRenderer";var Ns=R.memo(vr);const Cs=(t,e,n)=>n===q.Left?t-e:n===q.Right?t+e:t,_s=(t,e,n)=>n===q.Top?t-e:n===q.Bottom?t+e:t,br="react-flow__edgeupdater",Er=({position:t,centerX:e,centerY:n,radius:r=10,onMouseDown:a,onMouseEnter:o,onMouseOut:i,type:c})=>B.createElement("circle",{onMouseDown:a,onMouseEnter:o,onMouseOut:i,className:Oe([br,`${br}-${c}`]),cx:Cs(e,r,t),cy:_s(n,r,t),r,stroke:"transparent",fill:"transparent"}),ks=()=>!0;var mt=t=>{const e=({id:n,className:r,type:a,data:o,onClick:i,onEdgeDoubleClick:c,selected:d,animated:l,label:u,labelStyle:s,labelShowBg:g,labelBgStyle:f,labelBgPadding:E,labelBgBorderRadius:h,style:m,source:p,target:y,sourceX:v,sourceY:x,targetX:_,targetY:S,sourcePosition:D,targetPosition:M,elementsSelectable:w,hidden:P,sourceHandleId:N,targetHandleId:O,onContextMenu:L,onMouseEnter:b,onMouseMove:k,onMouseLeave:I,reconnectRadius:T,onReconnect:$,onReconnectStart:C,onReconnectEnd:A,markerEnd:j,markerStart:H,rfId:Y,ariaLabel:X,isFocusable:K,isReconnectable:ne,pathOptions:ie,interactionWidth:de,disableKeyboardA11y:V})=>{const Q=R.useRef(null),[oe,se]=R.useState(!1),[re,ce]=R.useState(!1),ee=Ce(),me=R.useMemo(()=>`url('#${sn(H,Y)}')`,[H,Y]),ae=R.useMemo(()=>`url('#${sn(j,Y)}')`,[j,Y]);if(P)return null;const W=xt(n,ee.getState,c),ge=xt(n,ee.getState,L),te=xt(n,ee.getState,b),ye=xt(n,ee.getState,k),Ee=xt(n,ee.getState,I),Pe=(Ne,Ie)=>{if(Ne.button!==0)return;const{edges:Te,isValidConnection:Le}=ee.getState(),Ve=Ie?y:p,Me=(Ie?O:N)||null,z=Ie?"target":"source",U=Le||ks,G=Ie,Z=Te.find(J=>J.id===n);ce(!0),C==null||C(Ne,Z,z),Ho({event:Ne,handleId:Me,nodeId:Ve,onConnect:J=>$==null?void 0:$(Z,J),isTarget:G,getState:ee.getState,setState:ee.setState,isValidConnection:U,edgeUpdaterType:z,onReconnectEnd:J=>{ce(!1),A==null||A(J,Z,z)}})},ke=()=>se(!0),we=()=>se(!1),Fe=!w&&!i;return B.createElement("g",{className:Oe(["react-flow__edge",`react-flow__edge-${a}`,r,{selected:d,animated:l,inactive:Fe,updating:oe}]),onClick:Ne=>{var z;const{edges:Ie,addSelectedEdges:Te,unselectNodesAndEdges:Le,multiSelectionActive:Ve}=ee.getState(),Me=Ie.find(U=>U.id===n);Me&&(w&&(ee.setState({nodesSelectionActive:!1}),Me.selected&&Ve?(Le({nodes:[],edges:[Me]}),(z=Q.current)==null||z.blur()):Te([n])),i&&i(Ne,Me))},onDoubleClick:W,onContextMenu:ge,onMouseEnter:te,onMouseMove:ye,onMouseLeave:Ee,onKeyDown:K?Ne=>{var Ie;if(!V&&wo.includes(Ne.key)&&w){const{unselectNodesAndEdges:Te,addSelectedEdges:Le,edges:Ve}=ee.getState();Ne.key==="Escape"?((Ie=Q.current)==null||Ie.blur(),Te({edges:[Ve.find(Me=>Me.id===n)]})):Le([n])}}:void 0,tabIndex:K?0:void 0,role:K?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":X===null?void 0:X||`Edge from ${p} to ${y}`,"aria-describedby":K?`${Jo}-${Y}`:void 0,ref:Q},!re&&B.createElement(t,{id:n,source:p,target:y,selected:d,animated:l,label:u,labelStyle:s,labelShowBg:g,labelBgStyle:f,labelBgPadding:E,labelBgBorderRadius:h,data:o,style:m,sourceX:v,sourceY:x,targetX:_,targetY:S,sourcePosition:D,targetPosition:M,sourceHandleId:N,targetHandleId:O,markerStart:me,markerEnd:ae,pathOptions:ie,interactionWidth:de}),ne&&B.createElement(B.Fragment,null,(ne==="source"||ne===!0)&&B.createElement(Er,{position:D,centerX:v,centerY:x,radius:T,onMouseDown:Ne=>Pe(Ne,!0),onMouseEnter:ke,onMouseOut:we,type:"source"}),(ne==="target"||ne===!0)&&B.createElement(Er,{position:M,centerX:_,centerY:S,radius:T,onMouseDown:Ne=>Pe(Ne,!1),onMouseEnter:ke,onMouseOut:we,type:"target"})))};return e.displayName="EdgeWrapper",R.memo(e)};function Ms(t){return{default:mt(t.default||Bt),straight:mt(t.bezier||rn),step:mt(t.step||on),smoothstep:mt(t.step||Tt),simplebezier:mt(t.simplebezier||tn),...Object.keys(t).filter(e=>!["default","bezier"].includes(e)).reduce((e,n)=>(e[n]=mt(t[n]||Bt),e),{})}}function xr(t,e,n=null){const r=((n==null?void 0:n.x)||0)+e.x,a=((n==null?void 0:n.y)||0)+e.y,o=(n==null?void 0:n.width)||e.width,i=(n==null?void 0:n.height)||e.height;switch(t){case q.Top:return{x:r+o/2,y:a};case q.Right:return{x:r+o,y:a+i/2};case q.Bottom:return{x:r+o/2,y:a+i};case q.Left:return{x:r,y:a+i/2}}}function wr(t,e){return t?t.length!==1&&e?e&&t.find(n=>n.id===e)||null:t[0]:null}function Sr(t){var r,a,o,i,c;const e=((r=t==null?void 0:t[be])==null?void 0:r.handleBounds)||null,n=e&&(t==null?void 0:t.width)&&(t==null?void 0:t.height)&&((a=t==null?void 0:t.positionAbsolute)==null?void 0:a.x)!==void 0&&((o=t==null?void 0:t.positionAbsolute)==null?void 0:o.y)!==void 0;return[{x:((i=t==null?void 0:t.positionAbsolute)==null?void 0:i.x)||0,y:((c=t==null?void 0:t.positionAbsolute)==null?void 0:c.y)||0,width:(t==null?void 0:t.width)||0,height:(t==null?void 0:t.height)||0},e,!!n]}const Os=[{level:0,isMaxLevel:!0,edges:[]}];function Is(t,e,n){return(function(r,a,o=!1){let i=-1;const c=r.reduce((l,u)=>{var f,E;const s=ze(u.zIndex);let g=s?u.zIndex:0;if(o){const h=a.get(u.target),m=a.get(u.source),p=u.selected||(h==null?void 0:h.selected)||(m==null?void 0:m.selected),y=Math.max(((f=m==null?void 0:m[be])==null?void 0:f.z)||0,((E=h==null?void 0:h[be])==null?void 0:E.z)||0,1e3);g=(s?u.zIndex:0)+(p?y:0)}return l[g]?l[g].push(u):l[g]=[u],i=g>i?g:i,l},{}),d=Object.entries(c).map(([l,u])=>{const s=+l;return{edges:u,level:s,isMaxLevel:s===i}});return d.length===0?Os:d})(pe(R.useCallback(r=>t?r.edges.filter(a=>{const o=e.get(a.source),i=e.get(a.target);return(o==null?void 0:o.width)&&(o==null?void 0:o.height)&&(i==null?void 0:i.width)&&(i==null?void 0:i.height)&&(function({sourcePos:c,targetPos:d,sourceWidth:l,sourceHeight:u,targetWidth:s,targetHeight:g,width:f,height:E,transform:h}){const m={x:Math.min(c.x,d.x),y:Math.min(c.y,d.y),x2:Math.max(c.x+l,d.x+s),y2:Math.max(c.y+u,d.y+g)};m.x===m.x2&&(m.x2+=1),m.y===m.y2&&(m.y2+=1);const p=qt({x:(0-h[0])/h[2],y:(0-h[1])/h[2],width:f/h[2],height:E/h[2]}),y=Math.max(0,Math.min(p.x2,m.x2)-Math.max(p.x,m.x)),v=Math.max(0,Math.min(p.y2,m.y2)-Math.max(p.y,m.y));return Math.ceil(y*v)>0})({sourcePos:o.positionAbsolute||{x:0,y:0},targetPos:i.positionAbsolute||{x:0,y:0},sourceWidth:o.width,sourceHeight:o.height,targetWidth:i.width,targetHeight:i.height,width:r.width,height:r.height,transform:r.transform})}):r.edges,[t,e])),e,n)}const Nr={[ct.Arrow]:({color:t="none",strokeWidth:e=1})=>B.createElement("polyline",{style:{stroke:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[ct.ArrowClosed]:({color:t="none",strokeWidth:e=1})=>B.createElement("polyline",{style:{stroke:t,fill:t,strokeWidth:e},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Ps=({id:t,type:e,color:n,width:r=12.5,height:a=12.5,markerUnits:o="strokeWidth",strokeWidth:i,orient:c="auto-start-reverse"})=>{const d=(function(l){const u=Ce();return R.useMemo(()=>{var s,g;return Object.prototype.hasOwnProperty.call(Nr,l)?Nr[l]:((g=(s=u.getState()).onError)==null||g.call(s,"009",Ai(l)),null)},[l])})(e);return d?B.createElement("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${r}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:c,refX:"0",refY:"0"},B.createElement(d,{color:n,strokeWidth:i})):null},Cr=({defaultColor:t,rfId:e})=>{const n=pe(R.useCallback((({defaultColor:r,rfId:a})=>o=>{const i=[];return o.edges.reduce((c,d)=>([d.markerStart,d.markerEnd].forEach(l=>{if(l&&typeof l=="object"){const u=sn(l,a);i.includes(u)||(c.push({id:u,color:l.color||r,...l}),i.push(u))}}),c),[]).sort((c,d)=>c.id.localeCompare(d.id))})({defaultColor:t,rfId:e}),[t,e]),(r,a)=>!(r.length!==a.length||r.some((o,i)=>o.id!==a[i].id)));return B.createElement("defs",null,n.map(r=>B.createElement(Ps,{id:r.id,key:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient})))};Cr.displayName="MarkerDefinitions";var Ds=R.memo(Cr);const js=t=>({nodesConnectable:t.nodesConnectable,edgesFocusable:t.edgesFocusable,edgesUpdatable:t.edgesUpdatable,elementsSelectable:t.elementsSelectable,width:t.width,height:t.height,connectionMode:t.connectionMode,nodeInternals:t.nodeInternals,onError:t.onError}),_r=({defaultMarkerColor:t,onlyRenderVisibleElements:e,elevateEdgesOnSelect:n,rfId:r,edgeTypes:a,noPanClassName:o,onEdgeContextMenu:i,onEdgeMouseEnter:c,onEdgeMouseMove:d,onEdgeMouseLeave:l,onEdgeClick:u,onEdgeDoubleClick:s,onReconnect:g,onReconnectStart:f,onReconnectEnd:E,reconnectRadius:h,children:m,disableKeyboardA11y:p})=>{const{edgesFocusable:y,edgesUpdatable:v,elementsSelectable:x,width:_,height:S,connectionMode:D,nodeInternals:M,onError:w}=pe(js,_e),P=Is(e,M,n);return _?B.createElement(B.Fragment,null,P.map(({level:N,edges:O,isMaxLevel:L})=>B.createElement("svg",{key:N,style:{zIndex:N},width:_,height:S,className:"react-flow__edges react-flow__container"},L&&B.createElement(Ds,{defaultColor:t,rfId:r}),B.createElement("g",null,O.map(b=>{const[k,I,T]=Sr(M.get(b.source)),[$,C,A]=Sr(M.get(b.target));if(!T||!A)return null;let j=b.type||"default";a[j]||(w==null||w("011",Vi(j)),j="default");const H=a[j]||a.default,Y=D===ot.Strict?C.target:(C.target??[]).concat(C.source??[]),X=wr(I.source,b.sourceHandle),K=wr(Y,b.targetHandle),ne=(X==null?void 0:X.position)||q.Bottom,ie=(K==null?void 0:K.position)||q.Top,de=!!(b.focusable||y&&b.focusable===void 0),V=b.reconnectable||b.updatable,Q=g!==void 0&&(V||v&&V===void 0);if(!X||!K)return w==null||w("008",Bi(X,b)),null;const{sourceX:oe,sourceY:se,targetX:re,targetY:ce}=((ee,me,ae,W,ge,te)=>{const ye=xr(ae,ee,me),Ee=xr(te,W,ge);return{sourceX:ye.x,sourceY:ye.y,targetX:Ee.x,targetY:Ee.y}})(k,X,ne,$,K,ie);return B.createElement(H,{key:b.id,id:b.id,className:Oe([b.className,o]),type:j,data:b.data,selected:!!b.selected,animated:!!b.animated,hidden:!!b.hidden,label:b.label,labelStyle:b.labelStyle,labelShowBg:b.labelShowBg,labelBgStyle:b.labelBgStyle,labelBgPadding:b.labelBgPadding,labelBgBorderRadius:b.labelBgBorderRadius,style:b.style,source:b.source,target:b.target,sourceHandleId:b.sourceHandle,targetHandleId:b.targetHandle,markerEnd:b.markerEnd,markerStart:b.markerStart,sourceX:oe,sourceY:se,targetX:re,targetY:ce,sourcePosition:ne,targetPosition:ie,elementsSelectable:x,onContextMenu:i,onMouseEnter:c,onMouseMove:d,onMouseLeave:l,onClick:u,onEdgeDoubleClick:s,onReconnect:g,onReconnectStart:f,onReconnectEnd:E,reconnectRadius:h,rfId:r,ariaLabel:b.ariaLabel,isFocusable:de,isReconnectable:Q,pathOptions:"pathOptions"in b?b.pathOptions:void 0,interactionWidth:b.interactionWidth,disableKeyboardA11y:p})})))),m):null};_r.displayName="EdgeRenderer";var zs=R.memo(_r);const Rs=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function Ts({children:t}){const e=pe(Rs);return B.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:e}},t)}const As={[q.Left]:q.Right,[q.Right]:q.Left,[q.Top]:q.Bottom,[q.Bottom]:q.Top},kr=({nodeId:t,handleType:e,style:n,type:r=Ue.Bezier,CustomComponent:a,connectionStatus:o})=>{var S,D,M;const{fromNode:i,handleId:c,toX:d,toY:l,connectionMode:u}=pe(R.useCallback(w=>({fromNode:w.nodeInternals.get(t),handleId:w.connectionHandleId,toX:(w.connectionPosition.x-w.transform[0])/w.transform[2],toY:(w.connectionPosition.y-w.transform[1])/w.transform[2],connectionMode:w.connectionMode}),[t]),_e),s=(S=i==null?void 0:i[be])==null?void 0:S.handleBounds;let g=s==null?void 0:s[e];if(u===ot.Loose&&(g=g||(s==null?void 0:s[e==="source"?"target":"source"])),!i||!g)return null;const f=c?g.find(w=>w.id===c):g[0],E=f?f.x+f.width/2:(i.width??0)/2,h=f?f.y+f.height/2:i.height??0,m=(((D=i.positionAbsolute)==null?void 0:D.x)??0)+E,p=(((M=i.positionAbsolute)==null?void 0:M.y)??0)+h,y=f==null?void 0:f.position,v=y?As[y]:null;if(!y||!v)return null;if(a)return B.createElement(a,{connectionLineType:r,connectionLineStyle:n,fromNode:i,fromHandle:f,fromX:m,fromY:p,toX:d,toY:l,fromPosition:y,toPosition:v,connectionStatus:o});let x="";const _={sourceX:m,sourceY:p,sourcePosition:y,targetX:d,targetY:l,targetPosition:v};return r===Ue.Bezier?[x]=zo(_):r===Ue.Step?[x]=nn({..._,borderRadius:0}):r===Ue.SmoothStep?[x]=nn(_):r===Ue.SimpleBezier?[x]=Io(_):x=`M${m},${p} ${d},${l}`,B.createElement("path",{d:x,fill:"none",className:"react-flow__connection-path",style:n})};kr.displayName="ConnectionLine";const Bs=t=>({nodeId:t.connectionNodeId,handleType:t.connectionHandleType,nodesConnectable:t.nodesConnectable,connectionStatus:t.connectionStatus,width:t.width,height:t.height});function Ls({containerStyle:t,style:e,type:n,component:r}){const{nodeId:a,handleType:o,nodesConnectable:i,width:c,height:d,connectionStatus:l}=pe(Bs,_e);return a&&o&&c&&i?B.createElement("svg",{style:t,width:c,height:d,className:"react-flow__edges react-flow__connectionline react-flow__container"},B.createElement("g",{className:Oe(["react-flow__connection",l])},B.createElement(kr,{nodeId:a,handleType:o,style:e,type:n,CustomComponent:r,connectionStatus:l}))):null}function Mr(t,e){return R.useRef(null),Ce(),R.useMemo(()=>e(t),[t])}const Or=({nodeTypes:t,edgeTypes:e,onMove:n,onMoveStart:r,onMoveEnd:a,onInit:o,onNodeClick:i,onEdgeClick:c,onNodeDoubleClick:d,onEdgeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:s,onNodeMouseLeave:g,onNodeContextMenu:f,onSelectionContextMenu:E,onSelectionStart:h,onSelectionEnd:m,connectionLineType:p,connectionLineStyle:y,connectionLineComponent:v,connectionLineContainerStyle:x,selectionKeyCode:_,selectionOnDrag:S,selectionMode:D,multiSelectionKeyCode:M,panActivationKeyCode:w,zoomActivationKeyCode:P,deleteKeyCode:N,onlyRenderVisibleElements:O,elementsSelectable:L,selectNodesOnDrag:b,defaultViewport:k,translateExtent:I,minZoom:T,maxZoom:$,preventScrolling:C,defaultMarkerColor:A,zoomOnScroll:j,zoomOnPinch:H,panOnScroll:Y,panOnScrollSpeed:X,panOnScrollMode:K,zoomOnDoubleClick:ne,panOnDrag:ie,onPaneClick:de,onPaneMouseEnter:V,onPaneMouseMove:Q,onPaneMouseLeave:oe,onPaneScroll:se,onPaneContextMenu:re,onEdgeContextMenu:ce,onEdgeMouseEnter:ee,onEdgeMouseMove:me,onEdgeMouseLeave:ae,onReconnect:W,onReconnectStart:ge,onReconnectEnd:te,reconnectRadius:ye,noDragClassName:Ee,noWheelClassName:Pe,noPanClassName:ke,elevateEdgesOnSelect:we,disableKeyboardA11y:Fe,nodeOrigin:Ne,nodeExtent:Ie,rfId:Te})=>{const Le=Mr(t,ws),Ve=Mr(e,Ms);return(function(Me){const z=Ct(),U=R.useRef(!1);R.useEffect(()=>{!U.current&&z.viewportInitialized&&Me&&(setTimeout(()=>Me(z),1),U.current=!0)},[Me,z.viewportInitialized])})(o),B.createElement(xs,{onPaneClick:de,onPaneMouseEnter:V,onPaneMouseMove:Q,onPaneMouseLeave:oe,onPaneContextMenu:re,onPaneScroll:se,deleteKeyCode:N,selectionKeyCode:_,selectionOnDrag:S,selectionMode:D,onSelectionStart:h,onSelectionEnd:m,multiSelectionKeyCode:M,panActivationKeyCode:w,zoomActivationKeyCode:P,elementsSelectable:L,onMove:n,onMoveStart:r,onMoveEnd:a,zoomOnScroll:j,zoomOnPinch:H,zoomOnDoubleClick:ne,panOnScroll:Y,panOnScrollSpeed:X,panOnScrollMode:K,panOnDrag:ie,defaultViewport:k,translateExtent:I,minZoom:T,maxZoom:$,onSelectionContextMenu:E,preventScrolling:C,noDragClassName:Ee,noWheelClassName:Pe,noPanClassName:ke,disableKeyboardA11y:Fe},B.createElement(Ts,null,B.createElement(zs,{edgeTypes:Ve,onEdgeClick:c,onEdgeDoubleClick:l,onlyRenderVisibleElements:O,onEdgeContextMenu:ce,onEdgeMouseEnter:ee,onEdgeMouseMove:me,onEdgeMouseLeave:ae,onReconnect:W,onReconnectStart:ge,onReconnectEnd:te,reconnectRadius:ye,defaultMarkerColor:A,noPanClassName:ke,elevateEdgesOnSelect:!!we,disableKeyboardA11y:Fe,rfId:Te},B.createElement(Ls,{style:y,type:p,component:v,containerStyle:x})),B.createElement("div",{className:"react-flow__edgelabel-renderer"}),B.createElement(Ns,{nodeTypes:Le,onNodeClick:i,onNodeDoubleClick:d,onNodeMouseEnter:u,onNodeMouseMove:s,onNodeMouseLeave:g,onNodeContextMenu:f,selectNodesOnDrag:b,onlyRenderVisibleElements:O,noPanClassName:ke,noDragClassName:Ee,disableKeyboardA11y:Fe,nodeOrigin:Ne,nodeExtent:Ie,rfId:Te})))};Or.displayName="GraphView";var Vs=R.memo(Or);const En=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Je={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:En,nodeExtent:En,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:ot.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:(t,e)=>{},isValidConnection:void 0},$s=()=>{return t=(n,r)=>({...Je,setNodes:a=>{const{nodeInternals:o,nodeOrigin:i,elevateNodesOnSelect:c}=r();n({nodeInternals:fn(a,o,i,c)})},getNodes:()=>Array.from(r().nodeInternals.values()),setEdges:a=>{const{defaultEdgeOptions:o={}}=r();n({edges:a.map(i=>({...o,...i}))})},setDefaultNodesAndEdges:(a,o)=>{const i=a!==void 0,c=o!==void 0,d=i?fn(a,new Map,r().nodeOrigin,r().elevateNodesOnSelect):new Map;n({nodeInternals:d,edges:c?o:[],hasDefaultNodes:i,hasDefaultEdges:c})},updateNodeDimensions:a=>{const{onNodesChange:o,nodeInternals:i,fitViewOnInit:c,fitViewOnInitDone:d,fitViewOnInitOptions:l,domNode:u,nodeOrigin:s}=r(),g=u==null?void 0:u.querySelector(".react-flow__viewport");if(!g)return;const f=window.getComputedStyle(g),{m22:E}=new window.DOMMatrixReadOnly(f.transform),h=a.reduce((p,y)=>{const v=i.get(y.id);if(v!=null&&v.hidden)i.set(v.id,{...v,[be]:{...v[be],handleBounds:void 0}});else if(v){const x=Gt(y.nodeElement);x.width&&x.height&&(v.width!==x.width||v.height!==x.height||y.forceUpdate)&&(i.set(v.id,{...v,[be]:{...v[be],handleBounds:{source:fr(".source",y.nodeElement,E,s),target:fr(".target",y.nodeElement,E,s)}},...x}),p.push({id:v.id,type:"dimensions",dimensions:x}))}return p},[]);or(i,s);const m=d||c&&!d&&rr(r,{initial:!0,...l});n({nodeInternals:new Map(i),fitViewOnInitDone:m}),(h==null?void 0:h.length)>0&&(o==null||o(h))},updateNodePositions:(a,o=!0,i=!1)=>{const{triggerNodeChanges:c}=r();c(a.map(d=>{const l={id:d.id,type:"position",dragging:i};return o&&(l.positionAbsolute=d.positionAbsolute,l.position=d.position),l}))},triggerNodeChanges:a=>{const{onNodesChange:o,nodeInternals:i,hasDefaultNodes:c,nodeOrigin:d,getNodes:l,elevateNodesOnSelect:u}=r();if(a!=null&&a.length){if(c){const s=fn(lr(a,l()),i,d,u);n({nodeInternals:s})}o==null||o(a)}},addSelectedNodes:a=>{const{multiSelectionActive:o,edges:i,getNodes:c}=r();let d,l=null;o?d=a.map(u=>Qe(u,!0)):(d=gt(c(),a),l=gt(i,[])),Vt({changedNodes:d,changedEdges:l,get:r,set:n})},addSelectedEdges:a=>{const{multiSelectionActive:o,edges:i,getNodes:c}=r();let d,l=null;o?d=a.map(u=>Qe(u,!0)):(d=gt(i,a),l=gt(c(),[])),Vt({changedNodes:l,changedEdges:d,get:r,set:n})},unselectNodesAndEdges:({nodes:a,edges:o}={})=>{const{edges:i,getNodes:c}=r(),d=o||i;Vt({changedNodes:(a||c()).map(l=>(l.selected=!1,Qe(l.id,!1))),changedEdges:d.map(l=>Qe(l.id,!1)),get:r,set:n})},setMinZoom:a=>{const{d3Zoom:o,maxZoom:i}=r();o==null||o.scaleExtent([a,i]),n({minZoom:a})},setMaxZoom:a=>{const{d3Zoom:o,minZoom:i}=r();o==null||o.scaleExtent([i,a]),n({maxZoom:a})},setTranslateExtent:a=>{var o;(o=r().d3Zoom)==null||o.translateExtent(a),n({translateExtent:a})},resetSelectedElements:()=>{const{edges:a,getNodes:o}=r();Vt({changedNodes:o().filter(i=>i.selected).map(i=>Qe(i.id,!1)),changedEdges:a.filter(i=>i.selected).map(i=>Qe(i.id,!1)),get:r,set:n})},setNodeExtent:a=>{const{nodeInternals:o}=r();o.forEach(i=>{i.positionAbsolute=Ut(i.position,a)}),n({nodeExtent:a,nodeInternals:new Map(o)})},panBy:a=>{const{transform:o,width:i,height:c,d3Zoom:d,d3Selection:l,translateExtent:u}=r();if(!d||!l||!a.x&&!a.y)return!1;const s=tt.translate(o[0]+a.x,o[1]+a.y).scale(o[2]),g=[[0,0],[i,c]],f=d==null?void 0:d.constrain()(s,g,u);return d.transform(l,f),o[0]!==f.x||o[1]!==f.y||o[2]!==f.k},cancelConnection:()=>n({connectionNodeId:Je.connectionNodeId,connectionHandleId:Je.connectionHandleId,connectionHandleType:Je.connectionHandleType,connectionStatus:Je.connectionStatus,connectionStartHandle:Je.connectionStartHandle,connectionEndHandle:Je.connectionEndHandle}),reset:()=>n({...Je})}),e=Object.is,t?po(t,e):po;var t,e},xn=({children:t})=>{const e=R.useRef(null);return e.current||(e.current=$s()),B.createElement(ji,{value:e.current},t)};xn.displayName="ReactFlowProvider";const Ir=({children:t})=>R.useContext(Dt)?B.createElement(B.Fragment,null,t):B.createElement(xn,null,t);Ir.displayName="ReactFlowWrapper";const Hs={input:Ko,default:hn,output:Go,group:gn},Ys={default:Bt,straight:rn,step:on,smoothstep:Tt,simplebezier:tn},Fs=[0,0],Xs=[15,15],Zs={x:0,y:0,zoom:1},Ks={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},wn=R.forwardRef(({nodes:t,edges:e,defaultNodes:n,defaultEdges:r,className:a,nodeTypes:o=Hs,edgeTypes:i=Ys,onNodeClick:c,onEdgeClick:d,onInit:l,onMove:u,onMoveStart:s,onMoveEnd:g,onConnect:f,onConnectStart:E,onConnectEnd:h,onClickConnectStart:m,onClickConnectEnd:p,onNodeMouseEnter:y,onNodeMouseMove:v,onNodeMouseLeave:x,onNodeContextMenu:_,onNodeDoubleClick:S,onNodeDragStart:D,onNodeDrag:M,onNodeDragStop:w,onNodesDelete:P,onEdgesDelete:N,onSelectionChange:O,onSelectionDragStart:L,onSelectionDrag:b,onSelectionDragStop:k,onSelectionContextMenu:I,onSelectionStart:T,onSelectionEnd:$,connectionMode:C=ot.Strict,connectionLineType:A=Ue.Bezier,connectionLineStyle:j,connectionLineComponent:H,connectionLineContainerStyle:Y,deleteKeyCode:X="Backspace",selectionKeyCode:K="Shift",selectionOnDrag:ne=!1,selectionMode:ie=wt.Full,panActivationKeyCode:de="Space",multiSelectionKeyCode:V=zt()?"Meta":"Control",zoomActivationKeyCode:Q=zt()?"Meta":"Control",snapToGrid:oe=!1,snapGrid:se=Xs,onlyRenderVisibleElements:re=!1,selectNodesOnDrag:ce=!0,nodesDraggable:ee,nodesConnectable:me,nodesFocusable:ae,nodeOrigin:W=Fs,edgesFocusable:ge,edgesUpdatable:te,elementsSelectable:ye,defaultViewport:Ee=Zs,minZoom:Pe=.5,maxZoom:ke=2,translateExtent:we=En,preventScrolling:Fe=!0,nodeExtent:Ne,defaultMarkerColor:Ie="#b1b1b7",zoomOnScroll:Te=!0,zoomOnPinch:Le=!0,panOnScroll:Ve=!1,panOnScrollSpeed:Me=.5,panOnScrollMode:z=Ge.Free,zoomOnDoubleClick:U=!0,panOnDrag:G=!0,onPaneClick:Z,onPaneMouseEnter:J,onPaneMouseMove:ue,onPaneMouseLeave:he,onPaneScroll:ve,onPaneContextMenu:fe,children:De,onEdgeContextMenu:Ae,onEdgeDoubleClick:Xe,onEdgeMouseEnter:et,onEdgeMouseMove:je,onEdgeMouseLeave:$e,onEdgeUpdate:Ot,onEdgeUpdateStart:Hc,onEdgeUpdateEnd:Yc,onReconnect:Fc,onReconnectStart:Xc,onReconnectEnd:Zc,reconnectRadius:Kc=10,edgeUpdaterRadius:Wc=10,onNodesChange:Gc,onEdgesChange:Uc,noDragClassName:qc="nodrag",noWheelClassName:Qc="nowheel",noPanClassName:ri="nopan",fitView:Jc=!1,fitViewOptions:el,connectOnClick:tl=!0,attributionPosition:nl,proOptions:ol,defaultEdgeOptions:rl,elevateNodesOnSelect:al=!0,elevateEdgesOnSelect:il=!1,disableKeyboardA11y:ai=!1,autoPanOnConnect:sl=!0,autoPanOnNodeDrag:cl=!0,connectionRadius:ll=20,isValidConnection:dl,onError:ul,style:hl,id:ii,nodeDragThreshold:gl,...fl},ml)=>{const so=ii||"1";return B.createElement("div",{...fl,style:{...hl,...Ks},ref:ml,className:Oe(["react-flow",a]),"data-testid":"rf__wrapper",id:ii},B.createElement(Ir,null,B.createElement(Vs,{onInit:l,onMove:u,onMoveStart:s,onMoveEnd:g,onNodeClick:c,onEdgeClick:d,onNodeMouseEnter:y,onNodeMouseMove:v,onNodeMouseLeave:x,onNodeContextMenu:_,onNodeDoubleClick:S,nodeTypes:o,edgeTypes:i,connectionLineType:A,connectionLineStyle:j,connectionLineComponent:H,connectionLineContainerStyle:Y,selectionKeyCode:K,selectionOnDrag:ne,selectionMode:ie,deleteKeyCode:X,multiSelectionKeyCode:V,panActivationKeyCode:de,zoomActivationKeyCode:Q,onlyRenderVisibleElements:re,selectNodesOnDrag:ce,defaultViewport:Ee,translateExtent:we,minZoom:Pe,maxZoom:ke,preventScrolling:Fe,zoomOnScroll:Te,zoomOnPinch:Le,zoomOnDoubleClick:U,panOnScroll:Ve,panOnScrollSpeed:Me,panOnScrollMode:z,panOnDrag:G,onPaneClick:Z,onPaneMouseEnter:J,onPaneMouseMove:ue,onPaneMouseLeave:he,onPaneScroll:ve,onPaneContextMenu:fe,onSelectionContextMenu:I,onSelectionStart:T,onSelectionEnd:$,onEdgeContextMenu:Ae,onEdgeDoubleClick:Xe,onEdgeMouseEnter:et,onEdgeMouseMove:je,onEdgeMouseLeave:$e,onReconnect:Fc??Ot,onReconnectStart:Xc??Hc,onReconnectEnd:Zc??Yc,reconnectRadius:Kc??Wc,defaultMarkerColor:Ie,noDragClassName:qc,noWheelClassName:Qc,noPanClassName:ri,elevateEdgesOnSelect:il,rfId:so,disableKeyboardA11y:ai,nodeOrigin:W,nodeExtent:Ne}),B.createElement(ns,{nodes:t,edges:e,defaultNodes:n,defaultEdges:r,onConnect:f,onConnectStart:E,onConnectEnd:h,onClickConnectStart:m,onClickConnectEnd:p,nodesDraggable:ee,nodesConnectable:me,nodesFocusable:ae,edgesFocusable:ge,edgesUpdatable:te,elementsSelectable:ye,elevateNodesOnSelect:al,minZoom:Pe,maxZoom:ke,nodeExtent:Ne,onNodesChange:Gc,onEdgesChange:Uc,snapToGrid:oe,snapGrid:se,connectionMode:C,translateExtent:we,connectOnClick:tl,defaultEdgeOptions:rl,fitView:Jc,fitViewOptions:el,onNodesDelete:P,onEdgesDelete:N,onNodeDragStart:D,onNodeDrag:M,onNodeDragStop:w,onSelectionDrag:b,onSelectionDragStart:L,onSelectionDragStop:k,noPanClassName:ri,nodeOrigin:W,rfId:so,autoPanOnConnect:sl,autoPanOnNodeDrag:cl,onError:ul,connectionRadius:ll,isValidConnection:dl,nodeDragThreshold:gl}),B.createElement(es,{onSelectionChange:O}),De,B.createElement(Yi,{proOptions:ol,position:nl}),B.createElement(is,{rfId:so,disableKeyboardA11y:ai})))});function Pr(t){return e=>{const[n,r]=R.useState(e),a=R.useCallback(o=>r(i=>t(o,i)),[]);return[n,r,a]}}wn.displayName="ReactFlow";const Dr=Pr(lr),jr=Pr(function(t,e){return cr(t,e)});function Ws(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},B.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function Gs(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},B.createElement("path",{d:"M0 0h32v4.2H0z"}))}function Us(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},B.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function qs(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},B.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function Qs(){return B.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},B.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const pt=({children:t,className:e,...n})=>B.createElement("button",{type:"button",className:Oe(["react-flow__controls-button",e]),...n},t);pt.displayName="ControlButton";const Js=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom}),zr=({style:t,showZoom:e=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:a,onZoomIn:o,onZoomOut:i,onFitView:c,onInteractiveChange:d,className:l,children:u,position:s="bottom-left"})=>{const g=Ce(),[f,E]=R.useState(!1),{isInteractive:h,minZoomReached:m,maxZoomReached:p}=pe(Js,_e),{zoomIn:y,zoomOut:v,fitView:x}=Ct();return R.useEffect(()=>{E(!0)},[]),f?B.createElement(jt,{className:Oe(["react-flow__controls",l]),position:s,style:t,"data-testid":"rf__controls"},e&&B.createElement(B.Fragment,null,B.createElement(pt,{onClick:()=>{y(),o==null||o()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:p},B.createElement(Ws,null)),B.createElement(pt,{onClick:()=>{v(),i==null||i()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:m},B.createElement(Gs,null))),n&&B.createElement(pt,{className:"react-flow__controls-fitview",onClick:()=>{x(a),c==null||c()},title:"fit view","aria-label":"fit view"},B.createElement(Us,null)),r&&B.createElement(pt,{className:"react-flow__controls-interactive",onClick:()=>{g.setState({nodesDraggable:!h,nodesConnectable:!h,elementsSelectable:!h}),d==null||d(!h)},title:"toggle interactivity","aria-label":"toggle interactivity"},h?B.createElement(Qs,null):B.createElement(qs,null)),u):null};zr.displayName="Controls";var Re,ec=R.memo(zr);function tc({color:t,dimensions:e,lineWidth:n}){return B.createElement("path",{stroke:t,strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})}function nc({color:t,radius:e}){return B.createElement("circle",{cx:e,cy:e,r:e,fill:t})}(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Re||(Re={}));const oc={[Re.Dots]:"#91919a",[Re.Lines]:"#eee",[Re.Cross]:"#e2e2e2"},rc={[Re.Dots]:1,[Re.Lines]:1,[Re.Cross]:6},ac=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function Rr({id:t,variant:e=Re.Dots,gap:n=20,size:r,lineWidth:a=1,offset:o=2,color:i,style:c,className:d}){const l=R.useRef(null),{transform:u,patternId:s}=pe(ac,_e),g=i||oc[e],f=r||rc[e],E=e===Re.Dots,h=e===Re.Cross,m=Array.isArray(n)?n:[n,n],p=[m[0]*u[2]||1,m[1]*u[2]||1],y=f*u[2],v=h?[y,y]:p,x=E?[y/o,y/o]:[v[0]/o,v[1]/o];return B.createElement("svg",{className:Oe(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:l,"data-testid":"rf__background"},B.createElement("pattern",{id:s+t,x:u[0]%p[0],y:u[1]%p[1],width:p[0],height:p[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${x[0]},-${x[1]})`},E?B.createElement(nc,{color:g,radius:y/o}):B.createElement(tc,{dimensions:v,color:g,lineWidth:a})),B.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${s+t})`}))}Rr.displayName="Background";var ic=R.memo(Rr);function Sn(t){return Math.min(11*t+35,200)}const Tr=B.createContext("LR"),Ar=R.memo(t=>{const e=Ke.c(51),{data:n,selected:r}=t,a=El(n.atom),o=ci().inOrderIds.indexOf(a.id),i=r?"var(--gray-9)":"var(--gray-3)",c=pe(sc),d=R.use(Tr);let l,u,s,g,f;if(e[0]!==a.code||e[1]!==i||e[2]!==d||e[3]!==r){const N=a.code.split(`
|
|
2
|
+
`).length,O=d==="LR"?q.Left:q.Top;let L;e[8]!==i?(L={background:i},e[8]=i,e[9]=L):L=e[9],e[10]!==O||e[11]!==L?(s=F.jsx(qe,{type:"target",id:"inputs",position:O,style:L}),e[10]=O,e[11]=L,e[12]=s):s=e[12];const b=d==="LR"?q.Left:q.Top;let k;e[13]!==i?(k={background:i},e[13]=i,e[14]=k):k=e[14],e[15]!==b||e[16]!==k?(g=F.jsx(qe,{type:"source",id:"inputs",position:b,style:k}),e[15]=b,e[16]=k,e[17]=g):g=e[17];const I=r&&"border-primary";e[18]!==I?(u=li("flex flex-col bg-card border border-input/50 rounded-md mx-[2px] overflow-hidden",I),e[18]=I,e[19]=u):u=e[19],l=Sn(N),e[0]=a.code,e[1]=i,e[2]=d,e[3]=r,e[4]=l,e[5]=u,e[6]=s,e[7]=g}else l=e[4],u=e[5],s=e[6],g=e[7];var E;let h;e[20]!==n.forceWidth||e[21]!==c?(f=n.forceWidth||(E=c,Math.min(Math.max(E-100,100),400)),e[20]=n.forceWidth,e[21]=c,e[22]=f):f=e[22],e[23]!==l||e[24]!==f?(h={height:l,width:f},e[23]=l,e[24]=f,e[25]=h):h=e[25];const m=xl(a.name,o);let p,y,v;e[26]!==m?(p=F.jsx("div",{className:"text-muted-foreground font-semibold text-xs py-1 px-2 bg-muted border-b",children:m}),e[26]=m,e[27]=p):p=e[27],e[28]!==a.code?(y=F.jsx(Ll,{code:a.code}),e[28]=a.code,e[29]=y):y=e[29],e[30]!==u||e[31]!==h||e[32]!==p||e[33]!==y?(v=F.jsxs("div",{className:u,style:h,children:[p,y]}),e[30]=u,e[31]=h,e[32]=p,e[33]=y,e[34]=v):v=e[34];const x=d==="LR"?q.Right:q.Bottom;let _,S;e[35]!==i?(_={background:i},e[35]=i,e[36]=_):_=e[36],e[37]!==x||e[38]!==_?(S=F.jsx(qe,{type:"source",id:"outputs",position:x,style:_}),e[37]=x,e[38]=_,e[39]=S):S=e[39];const D=d==="LR"?q.Right:q.Bottom;let M,w,P;return e[40]!==i?(M={background:i},e[40]=i,e[41]=M):M=e[41],e[42]!==D||e[43]!==M?(w=F.jsx(qe,{type:"target",id:"outputs",position:D,style:M}),e[42]=D,e[43]=M,e[44]=w):w=e[44],e[45]!==v||e[46]!==S||e[47]!==w||e[48]!==s||e[49]!==g?(P=F.jsxs("div",{children:[s,g,v,S,w]}),e[45]=v,e[46]=S,e[47]=w,e[48]=s,e[49]=g,e[50]=P):P=e[50],P},(t,e)=>["data","selected","id"].every(n=>t[n]===e[n]));Ar.displayName="CustomNode";const Br={custom:Ar};function sc(t){const{width:e}=t;return e}const Nn=R.memo(t=>{const e=Ke.c(38),{onChange:n,view:r,settings:a,onSettingsChange:o}=t;let i;e[0]!==o||e[1]!==a?(i=(b,k)=>{o({...a,[b]:k})},e[0]=o,e[1]=a,e[2]=i):i=e[2];const c=i;let d,l,u,s,g,f;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=F.jsx(Sl,{asChild:!0,children:F.jsx(yt,{variant:"text",size:"xs",children:F.jsx(Nl,{className:"w-4 h-4"})})}),e[3]=d):d=e[3],e[4]===Symbol.for("react.memo_cache_sentinel")?(l=F.jsx("div",{className:"font-semibold pb-4",children:"Settings"}),e[4]=l):l=e[4],e[5]!==c?(u=b=>c("hidePureMarkdown",!!b),e[5]=c,e[6]=u):u=e[6],e[7]!==a.hidePureMarkdown||e[8]!==u?(s=F.jsx(wl,{"data-testid":"hide-pure-markdown-checkbox",id:"hide-pure-markdown",checked:a.hidePureMarkdown,onCheckedChange:u}),e[7]=a.hidePureMarkdown,e[8]=u,e[9]=s):s=e[9],e[10]===Symbol.for("react.memo_cache_sentinel")?(g=F.jsx(Cl,{htmlFor:"hide-pure-markdown",children:"Hide pure markdown"}),e[10]=g):g=e[10],e[11]!==s?(f=F.jsxs(_l,{children:[d,F.jsxs(kl,{className:"w-auto p-2 text-muted-foreground",children:[l,F.jsxs("div",{className:"flex items-center gap-2",children:[s,g]})]})]}),e[11]=s,e[12]=f):f=e[12];const E=f,h=r==="_minimap_";let m,p,y;e[13]!==n?(m=()=>n("_minimap_"),e[13]=n,e[14]=m):m=e[14],e[15]===Symbol.for("react.memo_cache_sentinel")?(p=F.jsx(vi,{className:"w-4 h-4 mr-1"}),e[15]=p):p=e[15],e[16]!==h||e[17]!==m?(y=F.jsxs(yt,{variant:"outline",className:"bg-background","aria-selected":h,size:"xs",onClick:m,children:[p,"Mini Map"]}),e[16]=h,e[17]=m,e[18]=y):y=e[18];const v=r==="TB";let x,_,S;e[19]!==n?(x=()=>n("TB"),e[19]=n,e[20]=x):x=e[20],e[21]===Symbol.for("react.memo_cache_sentinel")?(_=F.jsx(mi,{className:"w-4 h-4 mr-1"}),e[21]=_):_=e[21],e[22]!==v||e[23]!==x?(S=F.jsxs(yt,{variant:"outline",className:"bg-background","aria-selected":v,size:"xs",onClick:x,children:[_,"Vertical Tree"]}),e[22]=v,e[23]=x,e[24]=S):S=e[24];const D=r==="LR";let M,w,P,N;e[25]!==n?(M=()=>n("LR"),e[25]=n,e[26]=M):M=e[26],e[27]===Symbol.for("react.memo_cache_sentinel")?(w=F.jsx(mi,{className:"w-4 h-4 mr-1 transform -rotate-90"}),e[27]=w):w=e[27],e[28]!==D||e[29]!==M?(P=F.jsxs(yt,{variant:"outline",className:"bg-background","aria-selected":D,size:"xs",onClick:M,children:[w," ","Horizontal Tree"]}),e[28]=D,e[29]=M,e[30]=P):P=e[30],e[31]!==y||e[32]!==S||e[33]!==P?(N=F.jsxs("div",{className:"flex gap-2",children:[y,S,P]}),e[31]=y,e[32]=S,e[33]=P,e[34]=N):N=e[34];const O=r!=="_minimap_"&&E;let L;return e[35]!==N||e[36]!==O?(L=F.jsxs(jt,{position:"top-right",className:"flex flex-col items-end gap-2",children:[N,O]}),e[35]=N,e[36]=O,e[37]=L):L=e[37],L});Nn.displayName="GraphToolbar";const Ht=R.memo(t=>{const e=Ke.c(11),{selection:n,variables:r,onClearSelection:a}=t;if(!n)return null;const o=cc;let i;e[0]!==a||e[1]!==n.id||e[2]!==n.source||e[3]!==n.target||e[4]!==n.type||e[5]!==r?(i=()=>{if(n.type==="node"){const u=Object.values(r).filter(f=>f.usedBy.includes(n.id)),s=Object.values(r).filter(f=>f.declaredBy.includes(n.id)),g=(f,E)=>F.jsxs(F.Fragment,{children:[f.length===0&&F.jsx("div",{className:"text-muted-foreground text-sm text-center",children:"--"}),F.jsx("div",{className:"grid grid-cols-5 gap-3 items-center text-sm py-1 flex-1 empty:hidden",children:f.map(h=>F.jsxs(B.Fragment,{children:[F.jsx(pi,{declaredBy:h.declaredBy,name:h.name}),F.jsxs("div",{className:"truncate col-span-2",title:h.value??"",children:[h.value,F.jsxs("span",{className:"ml-1 truncate text-foreground/60 font-mono",children:["(",h.dataType,")"]})]}),F.jsx("div",{className:"truncate col-span-2 gap-1 items-center",children:F.jsx(Zl,{skipScroll:!0,onClick:()=>o(E==="in"?h.declaredBy[0]:h.usedBy[0],h.name),maxCount:3,cellIds:h.usedBy})})]},h.name))})]});return F.jsxs(F.Fragment,{children:[F.jsxs("div",{className:"font-bold py-2 flex items-center gap-2 border-b px-3",children:[F.jsx(Ml,{className:"w-5 h-5"}),F.jsx(co,{cellId:n.id}),F.jsx("div",{className:"flex-1"}),F.jsx(Hl,{cellId:n.id,children:F.jsx(yt,{variant:"ghost",size:"icon",children:F.jsx(Kl,{className:"w-4 h-4"})})}),F.jsx(yt,{variant:"text",size:"icon",onClick:()=>{a()},children:F.jsx(Ol,{className:"w-4 h-4"})})]}),F.jsxs("div",{className:"text-sm flex flex-col py-3 pl-2 pr-4 flex-1 justify-center",children:[F.jsxs("div",{className:"flex flex-col gap-2",children:[F.jsxs("span",{className:"flex items-center gap-2 font-semibold",children:[F.jsx(nt,{className:"w-4 h-4"}),"Outputs"]}),g(s,"out")]}),F.jsx("hr",{className:"border-divider my-3"}),F.jsxs("div",{className:"flex flex-col gap-2",children:[F.jsxs("span",{className:"flex items-center gap-2 font-semibold",children:[F.jsx(Ze,{className:"w-4 h-4"}),"Inputs"]}),g(u,"in")]})]})]})}if(n.type==="edge"){const u=Object.values(r).filter(s=>s.declaredBy.includes(n.source)&&s.usedBy.includes(n.target));return F.jsxs(F.Fragment,{children:[F.jsxs("div",{className:"font-bold py-2 flex items-center gap-2 border-b px-3",children:[F.jsx(Yl,{className:"w-4 h-4"}),F.jsx(co,{cellId:n.source}),F.jsx(Fl,{className:"w-4 h-4"}),F.jsx(co,{cellId:n.target})]}),F.jsx("div",{className:"grid grid-cols-4 gap-3 max-w-[350px] items-center text-sm p-3 flex-1",children:u.map(s=>F.jsxs(B.Fragment,{children:[F.jsx(pi,{declaredBy:s.declaredBy,name:s.name,onClick:()=>{o(s.declaredBy[0],s.name)}}),F.jsx("div",{className:"truncate text-foreground/60 font-mono",children:s.dataType}),F.jsx("div",{className:"truncate col-span-2",title:s.value??"",children:s.value})]},s.name))})]})}},e[0]=a,e[1]=n.id,e[2]=n.source,e[3]=n.target,e[4]=n.type,e[5]=r,e[6]=i):i=e[6];const c=i;let d,l;return e[7]!==c?(d=c(),e[7]=c,e[8]=d):d=e[8],e[9]!==d?(l=F.jsx(jt,{position:"bottom-left",className:"max-h-[90%] flex flex-col w-[calc(100%-5rem)]",children:F.jsx("div",{className:"min-h-[100px] shadow-md rounded-md border max-w-[550px] border-primary/40 my-4 min-w-[240px] bg-(--slate-1) text-muted-foreground/80 flex flex-col overflow-y-auto",children:d})}),e[9]=d,e[10]=l):l=e[10],l});function cc(t,e){const n=Il(t);n&&Pl(n,e)}function Lr(){const t=Ke.c(7),e=Ct(),n=pe(dc),r=pe(lc);let a;t[0]!==e?(a=()=>{e.fitView({duration:100})},t[0]=e,t[1]=a):a=t[1];const o=Dl(a,100);let i,c;t[2]!==o||t[3]!==r||t[4]!==n?(i=()=>{n&&r&&o()},c=[n,r,o],t[2]=o,t[3]=r,t[4]=n,t[5]=i,t[6]=c):(i=t[5],c=t[6]),R.useEffect(i,c)}function lc(t){const{height:e}=t;return e}function dc(t){const{width:e}=t;return e}Ht.displayName="GraphSelectionPanel";const Vr=new class{createEdge(t,e,n){return{type:"smoothstep",pathOptions:{offset:20,borderRadius:100},data:{direction:n},markerEnd:{type:ct.Arrow},id:`${t}-${e}-${n}`,source:t,sourceHandle:n,targetHandle:n,target:e}}createNode(t,e,n){return{id:t,data:{atom:e},width:250,type:"custom",height:Sn(Xt.get(e).code.trim().split(`
|
|
3
|
+
`).length),position:{x:0,y:n+20}}}createElements(t,e,n,r){let a=0;const o=[],i=[];for(const[d,l]of si.zip(t,e)){const u=this.createNode(d,l,a);o.push(u),a=u.position.y+(u.height||0)}const c=new Set;for(const d of Object.values(n)){const{declaredBy:l,usedBy:u}=d;for(const s of l)for(const g of u){const f=`${s}-${g}`;c.has(f)||(c.add(f),i.push(this.createEdge(s,g,"inputs"),this.createEdge(s,g,"outputs")))}}return{nodes:o,edges:i}}},uc=t=>{const e=Ke.c(37),{cellIds:n,variables:r,cellAtoms:a,children:o}=t;let i;e[0]!==a||e[1]!==n||e[2]!==r?(i=Vr.createElements(n,a,r,!1),e[0]=a,e[1]=n,e[2]=r,e[3]=i):i=e[3];const{nodes:c,edges:d}=i;let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[4]=l):l=e[4];const[u,s]=jr(l),[g,f]=Dr(c),[E,h]=R.useState(),[m,p]=R.useState(),y=R.useRef(!1);Lr();const v=pe(hc);let x;e[5]!==s||e[6]!==f?(x=C=>{f(C.nodes),s([])},e[5]=s,e[6]=f,e[7]=x):x=e[7];const _=di(x);let S,D,M,w;e[8]!==a||e[9]!==n||e[10]!==_||e[11]!==r?(S=()=>{y.current?_(Vr.createElements(n,a,r,!1)):y.current=!0},D=[n,r,a,_],e[8]=a,e[9]=n,e[10]=_,e[11]=r,e[12]=S,e[13]=D):(S=e[12],D=e[13]),R.useEffect(S,D),e[14]!==d||e[15]!==E||e[16]!==s?(M=()=>{if(E){const C=d.filter(A=>{const{source:j,target:H,data:Y}=A;return j===E&&Y.direction==="outputs"||H===E&&Y.direction==="inputs"});s(C)}},w=[E,s,d],e[14]=d,e[15]=E,e[16]=s,e[17]=M,e[18]=w):(M=e[17],w=e[18]),R.useEffect(M,w);const P=(function(C,A){const j=Ke.c(17);let H;if(j[0]!==A||j[1]!==C){let V;j[3]!==A?(V=(Q,oe)=>{const{position:se}=oe;return Math.min(Q,se.y-A/2-10)},j[3]=A,j[4]=V):V=j[4],H=C.reduce(V,Number.POSITIVE_INFINITY),j[0]=A,j[1]=C,j[2]=H}else H=j[2];const Y=H;let X;if(j[5]!==A||j[6]!==C){let V;j[8]!==A?(V=(Q,oe)=>{const{position:se}=oe;return Math.max(Q,se.y+A/2+10)},j[8]=A,j[9]=V):V=j[9],X=C.reduce(V,Number.NEGATIVE_INFINITY),j[5]=A,j[6]=C,j[7]=X}else X=j[7];const K=X;let ne,ie,de;return j[10]!==Y?(ne=[Number.NEGATIVE_INFINITY,Y],j[10]=Y,j[11]=ne):ne=j[11],j[12]!==K?(ie=[Number.POSITIVE_INFINITY,K],j[12]=K,j[13]=ie):ie=j[13],j[14]!==ne||j[15]!==ie?(de=[ne,ie],j[14]=ne,j[15]=ie,j[16]=de):de=j[16],de})(g,v);let N;e[19]===Symbol.for("react.memo_cache_sentinel")?(N=()=>{h(void 0),p(void 0)},e[19]=N):N=e[19];const O=N;let L;e[20]!==u||e[21]!==m||e[22]!==E||e[23]!==r?(L=()=>m?F.jsx(Ht,{selection:{type:"edge",source:m.source,target:m.target},onClearSelection:O,variables:r,edges:u}):E?F.jsx(Ht,{selection:{type:"node",id:E},variables:r,edges:u,onClearSelection:O}):null,e[20]=u,e[21]=m,e[22]=E,e[23]=r,e[24]=L):L=e[24];const b=L;let k,I,T,$;return e[25]!==s?(k=(C,A)=>{const j=A.id;h(j),p(void 0),s([])},e[25]=s,e[26]=k):k=e[26],e[27]===Symbol.for("react.memo_cache_sentinel")?(I=(C,A)=>{p(A)},e[27]=I):I=e[27],e[28]!==b?(T=b(),e[28]=b,e[29]=T):T=e[29],e[30]!==o||e[31]!==u||e[32]!==g||e[33]!==k||e[34]!==T||e[35]!==P?($=F.jsxs(wn,{nodes:g,edges:u,nodeTypes:Br,translateExtent:P,onNodeClick:k,onNodeDoubleClick:gc,onEdgeClick:I,snapToGrid:!0,fitView:!0,elementsSelectable:!0,minZoom:1,maxZoom:1,draggable:!1,panOnScrollMode:Ge.Vertical,zoomOnDoubleClick:!1,nodesDraggable:!1,nodesConnectable:!1,nodesFocusable:!1,edgesFocusable:!1,selectNodesOnDrag:!1,panOnDrag:!1,preventScrolling:!1,zoomOnPinch:!1,panOnScroll:!0,autoPanOnNodeDrag:!1,autoPanOnConnect:!1,children:[T,o]}),e[30]=o,e[31]=u,e[32]=g,e[33]=k,e[34]=T,e[35]=P,e[36]=$):$=e[36],$};function hc(t){const{height:e}=t;return e}function gc(t,e){ui(e.id,"focus")}var Cn,$r,Hr,Yr,Fr,Xr,_n,Zr,kn,Kr,Wr,Gr,Mn,Ur,On,qr,In,Qr,Pn,Jr,Dn,ea,jn,ta,zn,na,Rn,oa,Tn,ra,An,aa,Bn,ia,sa,ca,la,da,ua,ha,Ln,ga,Vn,fa,$n,ma,Hn,pa,Yn,ya,Fn,va,Xn,ba,Zn,Ea,Kn,xa,Wn,wa,Gn,Sa,Un,Na,qn,Ca,Qn,_a,ka,Ma,Oa,Ia,Pa,Da,Jn,ja,eo,za,Ra,Ta,to,Aa,no,Ba,oo,La,ro,Va,ao,$a,Ha,Ya,Fa,Xa;function io(){if($r)return Cn;$r=1;var t="\0";function e(o,i){o[i]?o[i]++:o[i]=1}function n(o,i){--o[i]||delete o[i]}function r(o,i,c,d){var l=""+i,u=""+c;if(!o&&l>u){var s=l;l=u,u=s}return l+""+u+""+(d===void 0?"\0":d)}function a(o,i){return r(o,i.v,i.w,i.name)}return Cn=class{constructor(o){Se(this,"_isDirected",!0);Se(this,"_isMultigraph",!1);Se(this,"_isCompound",!1);Se(this,"_label");Se(this,"_defaultNodeLabelFn",()=>{});Se(this,"_defaultEdgeLabelFn",()=>{});Se(this,"_nodes",{});Se(this,"_in",{});Se(this,"_preds",{});Se(this,"_out",{});Se(this,"_sucs",{});Se(this,"_edgeObjs",{});Se(this,"_edgeLabels",{});Se(this,"_nodeCount",0);Se(this,"_edgeCount",0);Se(this,"_parent");Se(this,"_children");o&&(this._isDirected=!Object.hasOwn(o,"directed")||o.directed,this._isMultigraph=!!Object.hasOwn(o,"multigraph")&&o.multigraph,this._isCompound=!!Object.hasOwn(o,"compound")&&o.compound),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(o){return this._label=o,this}graph(){return this._label}setDefaultNodeLabel(o){return this._defaultNodeLabelFn=o,typeof o!="function"&&(this._defaultNodeLabelFn=()=>o),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var o=this;return this.nodes().filter(i=>Object.keys(o._in[i]).length===0)}sinks(){var o=this;return this.nodes().filter(i=>Object.keys(o._out[i]).length===0)}setNodes(o,i){var c=arguments,d=this;return o.forEach(function(l){c.length>1?d.setNode(l,i):d.setNode(l)}),this}setNode(o,i){return Object.hasOwn(this._nodes,o)?(arguments.length>1&&(this._nodes[o]=i),this):(this._nodes[o]=arguments.length>1?i:this._defaultNodeLabelFn(o),this._isCompound&&(this._parent[o]=t,this._children[o]={},this._children[t][o]=!0),this._in[o]={},this._preds[o]={},this._out[o]={},this._sucs[o]={},++this._nodeCount,this)}node(o){return this._nodes[o]}hasNode(o){return Object.hasOwn(this._nodes,o)}removeNode(o){var i=this;if(Object.hasOwn(this._nodes,o)){var c=d=>i.removeEdge(i._edgeObjs[d]);delete this._nodes[o],this._isCompound&&(this._removeFromParentsChildList(o),delete this._parent[o],this.children(o).forEach(function(d){i.setParent(d)}),delete this._children[o]),Object.keys(this._in[o]).forEach(c),delete this._in[o],delete this._preds[o],Object.keys(this._out[o]).forEach(c),delete this._out[o],delete this._sucs[o],--this._nodeCount}return this}setParent(o,i){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(i===void 0)i=t;else{for(var c=i+="";c!==void 0;c=this.parent(c))if(c===o)throw new Error("Setting "+i+" as parent of "+o+" would create a cycle");this.setNode(i)}return this.setNode(o),this._removeFromParentsChildList(o),this._parent[o]=i,this._children[i][o]=!0,this}_removeFromParentsChildList(o){delete this._children[this._parent[o]][o]}parent(o){if(this._isCompound){var i=this._parent[o];if(i!==t)return i}}children(o=t){if(this._isCompound){var i=this._children[o];if(i)return Object.keys(i)}else{if(o===t)return this.nodes();if(this.hasNode(o))return[]}}predecessors(o){var i=this._preds[o];if(i)return Object.keys(i)}successors(o){var i=this._sucs[o];if(i)return Object.keys(i)}neighbors(o){var i=this.predecessors(o);if(i){const d=new Set(i);for(var c of this.successors(o))d.add(c);return Array.from(d.values())}}isLeaf(o){return(this.isDirected()?this.successors(o):this.neighbors(o)).length===0}filterNodes(o){var i=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});i.setGraph(this.graph());var c=this;Object.entries(this._nodes).forEach(function([u,s]){o(u)&&i.setNode(u,s)}),Object.values(this._edgeObjs).forEach(function(u){i.hasNode(u.v)&&i.hasNode(u.w)&&i.setEdge(u,c.edge(u))});var d={};function l(u){var s=c.parent(u);return s===void 0||i.hasNode(s)?(d[u]=s,s):s in d?d[s]:l(s)}return this._isCompound&&i.nodes().forEach(u=>i.setParent(u,l(u))),i}setDefaultEdgeLabel(o){return this._defaultEdgeLabelFn=o,typeof o!="function"&&(this._defaultEdgeLabelFn=()=>o),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(o,i){var c=this,d=arguments;return o.reduce(function(l,u){return d.length>1?c.setEdge(l,u,i):c.setEdge(l,u),u}),this}setEdge(){var o,i,c,d,l=!1,u=arguments[0];typeof u=="object"&&u!==null&&"v"in u?(o=u.v,i=u.w,c=u.name,arguments.length===2&&(d=arguments[1],l=!0)):(o=u,i=arguments[1],c=arguments[3],arguments.length>2&&(d=arguments[2],l=!0)),o=""+o,i=""+i,c!==void 0&&(c=""+c);var s=r(this._isDirected,o,i,c);if(Object.hasOwn(this._edgeLabels,s))return l&&(this._edgeLabels[s]=d),this;if(c!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(o),this.setNode(i),this._edgeLabels[s]=l?d:this._defaultEdgeLabelFn(o,i,c);var g=(function(f,E,h,m){var p=""+E,y=""+h;if(!f&&p>y){var v=p;p=y,y=v}var x={v:p,w:y};return m&&(x.name=m),x})(this._isDirected,o,i,c);return o=g.v,i=g.w,Object.freeze(g),this._edgeObjs[s]=g,e(this._preds[i],o),e(this._sucs[o],i),this._in[i][s]=g,this._out[o][s]=g,this._edgeCount++,this}edge(o,i,c){var d=arguments.length===1?a(this._isDirected,arguments[0]):r(this._isDirected,o,i,c);return this._edgeLabels[d]}edgeAsObj(){const o=this.edge(...arguments);return typeof o!="object"?{label:o}:o}hasEdge(o,i,c){var d=arguments.length===1?a(this._isDirected,arguments[0]):r(this._isDirected,o,i,c);return Object.hasOwn(this._edgeLabels,d)}removeEdge(o,i,c){var d=arguments.length===1?a(this._isDirected,arguments[0]):r(this._isDirected,o,i,c),l=this._edgeObjs[d];return l&&(o=l.v,i=l.w,delete this._edgeLabels[d],delete this._edgeObjs[d],n(this._preds[i],o),n(this._sucs[o],i),delete this._in[i][d],delete this._out[o][d],this._edgeCount--),this}inEdges(o,i){var c=this._in[o];if(c){var d=Object.values(c);return i?d.filter(l=>l.v===i):d}}outEdges(o,i){var c=this._out[o];if(c){var d=Object.values(c);return i?d.filter(l=>l.w===i):d}}nodeEdges(o,i){var c=this.inEdges(o,i);if(c)return c.concat(this.outEdges(o,i))}},Cn}function fc(){return Xr?Fr:(Xr=1,Fr={Graph:io(),version:Yr?Hr:(Yr=1,Hr="2.2.4")})}function mc(){if(Zr)return _n;Zr=1;var t=io();function e(r){return r.nodes().map(function(a){var o=r.node(a),i=r.parent(a),c={v:a};return o!==void 0&&(c.value=o),i!==void 0&&(c.parent=i),c})}function n(r){return r.edges().map(function(a){var o=r.edge(a),i={v:a.v,w:a.w};return a.name!==void 0&&(i.name=a.name),o!==void 0&&(i.value=o),i})}return _n={write:function(r){var a={options:{directed:r.isDirected(),multigraph:r.isMultigraph(),compound:r.isCompound()},nodes:e(r),edges:n(r)};return r.graph()!==void 0&&(a.value=structuredClone(r.graph())),a},read:function(r){var a=new t(r.options).setGraph(r.value);return r.nodes.forEach(function(o){a.setNode(o.v,o.value),o.parent&&a.setParent(o.v,o.parent)}),r.edges.forEach(function(o){a.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),a}},_n}function pc(){return Kr||(Kr=1,kn=function(t){var e,n={},r=[];function a(o){Object.hasOwn(n,o)||(n[o]=!0,e.push(o),t.successors(o).forEach(a),t.predecessors(o).forEach(a))}return t.nodes().forEach(function(o){e=[],a(o),e.length&&r.push(e)}),r}),kn}function Za(){return Gr?Wr:(Gr=1,Wr=class{constructor(){Se(this,"_arr",[]);Se(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(t){return t.key})}has(t){return Object.hasOwn(this._keyIndices,t)}priority(t){var e=this._keyIndices[t];if(e!==void 0)return this._arr[e].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,e){var n=this._keyIndices;if(t=String(t),!Object.hasOwn(n,t)){var r=this._arr,a=r.length;return n[t]=a,r.push({key:t,priority:e}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)}_heapify(t){var e=this._arr,n=2*t,r=n+1,a=t;n<e.length&&(a=e[n].priority<e[a].priority?n:a,r<e.length&&(a=e[r].priority<e[a].priority?r:a),a!==t&&(this._swap(t,a),this._heapify(a)))}_decrease(t){for(var e,n=this._arr,r=n[t].priority;t!==0&&!(n[e=t>>1].priority<r);)this._swap(t,e),t=e}_swap(t,e){var n=this._arr,r=this._keyIndices,a=n[t],o=n[e];n[t]=o,n[e]=a,r[o.key]=t,r[a.key]=e}})}function Ka(){if(Ur)return Mn;Ur=1;var t=Za();Mn=function(n,r,a,o){return(function(i,c,d,l){var u,s,g={},f=new t,E=function(h){var m=h.v!==u?h.v:h.w,p=g[m],y=d(h),v=s.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);v<p.distance&&(p.distance=v,p.predecessor=u,f.decrease(m,v))};for(i.nodes().forEach(function(h){var m=h===c?0:Number.POSITIVE_INFINITY;g[h]={distance:m},f.add(h,m)});f.size()>0&&(u=f.removeMin(),(s=g[u]).distance!==Number.POSITIVE_INFINITY);)l(u).forEach(E);return g})(n,String(r),a||e,o||function(i){return n.outEdges(i)})};var e=()=>1;return Mn}function yc(){if(qr)return On;qr=1;var t=Ka();return On=function(e,n,r){return e.nodes().reduce(function(a,o){return a[o]=t(e,o,n,r),a},{})},On}function Wa(){return Qr||(Qr=1,In=function(t){var e=0,n=[],r={},a=[];function o(i){var c=r[i]={onStack:!0,lowlink:e,index:e++};if(n.push(i),t.successors(i).forEach(function(u){Object.hasOwn(r,u)?r[u].onStack&&(c.lowlink=Math.min(c.lowlink,r[u].index)):(o(u),c.lowlink=Math.min(c.lowlink,r[u].lowlink))}),c.lowlink===c.index){var d,l=[];do d=n.pop(),r[d].onStack=!1,l.push(d);while(i!==d);a.push(l)}}return t.nodes().forEach(function(i){Object.hasOwn(r,i)||o(i)}),a}),In}function vc(){if(Jr)return Pn;Jr=1;var t=Wa();return Pn=function(e){return t(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})},Pn}function bc(){if(ea)return Dn;ea=1,Dn=function(e,n,r){return(function(a,o,i){var c={},d=a.nodes();return d.forEach(function(l){c[l]={},c[l][l]={distance:0},d.forEach(function(u){l!==u&&(c[l][u]={distance:Number.POSITIVE_INFINITY})}),i(l).forEach(function(u){var s=u.v===l?u.w:u.v,g=o(u);c[l][s]={distance:g,predecessor:l}})}),d.forEach(function(l){var u=c[l];d.forEach(function(s){var g=c[s];d.forEach(function(f){var E=g[l],h=u[f],m=g[f],p=E.distance+h.distance;p<m.distance&&(m.distance=p,m.predecessor=h.predecessor)})})}),c})(e,n||t,r||function(a){return e.outEdges(a)})};var t=()=>1;return Dn}function Ga(){if(ta)return jn;function t(n){var r={},a={},o=[];if(n.sinks().forEach(function i(c){if(Object.hasOwn(a,c))throw new e;Object.hasOwn(r,c)||(a[c]=!0,r[c]=!0,n.predecessors(c).forEach(i),delete a[c],o.push(c))}),Object.keys(r).length!==n.nodeCount())throw new e;return o}ta=1;class e extends Error{constructor(){super(...arguments)}}return jn=t,t.CycleException=e,jn}function Ec(){if(na)return zn;na=1;var t=Ga();return zn=function(e){try{t(e)}catch(n){if(n instanceof t.CycleException)return!1;throw n}return!0},zn}function Ua(){if(oa)return Rn;function t(r,a,o,i){for(var c=[[r,!1]];c.length>0;){var d=c.pop();d[1]?i.push(d[0]):Object.hasOwn(o,d[0])||(o[d[0]]=!0,c.push([d[0],!0]),n(a(d[0]),l=>c.push([l,!1])))}}function e(r,a,o,i){for(var c=[r];c.length>0;){var d=c.pop();Object.hasOwn(o,d)||(o[d]=!0,i.push(d),n(a(d),l=>c.push(l)))}}function n(r,a){for(var o=r.length;o--;)a(r[o],o,r);return r}return oa=1,Rn=function(r,a,o){Array.isArray(a)||(a=[a]);var i=r.isDirected()?u=>r.successors(u):u=>r.neighbors(u),c=o==="post"?t:e,d=[],l={};return a.forEach(u=>{if(!r.hasNode(u))throw new Error("Graph does not have node: "+u);c(u,i,l,d)}),d},Rn}function xc(){if(ra)return Tn;ra=1;var t=Ua();return Tn=function(e,n){return t(e,n,"post")},Tn}function wc(){if(aa)return An;aa=1;var t=Ua();return An=function(e,n){return t(e,n,"pre")},An}function Sc(){if(ia)return Bn;ia=1;var t=io(),e=Za();return Bn=function(n,r){var a,o=new t,i={},c=new e;function d(u){var s=u.v===a?u.w:u.v,g=c.priority(s);if(g!==void 0){var f=r(u);f<g&&(i[s]=a,c.decrease(s,f))}}if(n.nodeCount()===0)return o;n.nodes().forEach(function(u){c.add(u,Number.POSITIVE_INFINITY),o.setNode(u)}),c.decrease(n.nodes()[0],0);for(var l=!1;c.size()>0;){if(a=c.removeMin(),Object.hasOwn(i,a))o.setEdge(a,i[a]);else{if(l)throw new Error("Input graph is not connected: "+n);l=!0}n.nodeEdges(a).forEach(d)}return o},Bn}function Be(){if(da)return la;da=1;var t=fc();return la={Graph:t.Graph,json:mc(),alg:ca?sa:(ca=1,sa={components:pc(),dijkstra:Ka(),dijkstraAll:yc(),findCycles:vc(),floydWarshall:bc(),isAcyclic:Ec(),postorder:xc(),preorder:wc(),prim:Sc(),tarjan:Wa(),topsort:Ga()}),version:t.version}}function Nc(){if(ga)return Ln;ga=1;let t=Be().Graph,e=(function(){if(ha)return ua;function o(c){c._prev._next=c._next,c._next._prev=c._prev,delete c._next,delete c._prev}function i(c,d){if(c!=="_next"&&c!=="_prev")return d}return ha=1,ua=class{constructor(){let c={};c._next=c._prev=c,this._sentinel=c}dequeue(){let c=this._sentinel,d=c._prev;if(d!==c)return o(d),d}enqueue(c){let d=this._sentinel;c._prev&&c._next&&o(c),c._next=d._next,d._next._prev=c,d._next=c,c._prev=d}toString(){let c=[],d=this._sentinel,l=d._prev;for(;l!==d;)c.push(JSON.stringify(l,i)),l=l._prev;return"["+c.join(", ")+"]"}}})();Ln=function(o,i){if(o.nodeCount()<=1)return[];let c=(function(d,l){let u=new t,s=0,g=0;d.nodes().forEach(h=>{u.setNode(h,{v:h,in:0,out:0})}),d.edges().forEach(h=>{let m=u.edge(h.v,h.w)||0,p=l(h),y=m+p;u.setEdge(h.v,h.w,y),g=Math.max(g,u.node(h.v).out+=p),s=Math.max(s,u.node(h.w).in+=p)});let f=(function(h){const m=[];for(let p=0;p<h;p++)m.push(p);return m})(g+s+3).map(()=>new e),E=s+1;return u.nodes().forEach(h=>{a(f,E,u.node(h))}),{graph:u,buckets:f,zeroIdx:E}})(o,i||n);return(function(d,l,u){let s,g=[],f=l[l.length-1],E=l[0];for(;d.nodeCount();){for(;s=E.dequeue();)r(d,l,u,s);for(;s=f.dequeue();)r(d,l,u,s);if(d.nodeCount()){for(let h=l.length-2;h>0;--h)if(s=l[h].dequeue(),s){g=g.concat(r(d,l,u,s,!0));break}}}return g})(c.graph,c.buckets,c.zeroIdx).flatMap(d=>o.outEdges(d.v,d.w))};let n=()=>1;function r(o,i,c,d,l){let u=l?[]:void 0;return o.inEdges(d.v).forEach(s=>{let g=o.edge(s),f=o.node(s.v);l&&u.push({v:s.v,w:s.w}),f.out-=g,a(i,c,f)}),o.outEdges(d.v).forEach(s=>{let g=o.edge(s),f=s.w,E=o.node(f);E.in-=g,a(i,c,E)}),o.removeNode(d.v),u}function a(o,i,c){c.out?c.in?o[c.out-c.in+i].enqueue(c):o[o.length-1].enqueue(c):o[0].enqueue(c)}return Ln}function xe(){if(fa)return Vn;fa=1;let t=Be().Graph;function e(l,u,s,g){for(var f=g;l.hasNode(f);)f=i(g);return s.dummy=u,l.setNode(f,s),f}Vn={addBorderNode:function(l,u,s,g){let f={width:0,height:0};return arguments.length>=4&&(f.rank=s,f.order=g),e(l,"border",f,u)},addDummyNode:e,applyWithChunking:r,asNonCompoundGraph:function(l){let u=new t({multigraph:l.isMultigraph()}).setGraph(l.graph());return l.nodes().forEach(s=>{l.children(s).length||u.setNode(s,l.node(s))}),l.edges().forEach(s=>{u.setEdge(s,l.edge(s))}),u},buildLayerMatrix:function(l){let u=c(a(l)+1).map(()=>[]);return l.nodes().forEach(s=>{let g=l.node(s),f=g.rank;f!==void 0&&(u[f][g.order]=s)}),u},intersectRect:function(l,u){let s,g,f=l.x,E=l.y,h=u.x-f,m=u.y-E,p=l.width/2,y=l.height/2;if(!h&&!m)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(m)*p>Math.abs(h)*y?(m<0&&(y=-y),s=y*h/m,g=y):(h<0&&(p=-p),s=p,g=p*m/h),{x:f+s,y:E+g}},mapValues:function(l,u){let s=u;return typeof u=="string"&&(s=g=>g[u]),Object.entries(l).reduce((g,[f,E])=>(g[f]=s(E,f),g),{})},maxRank:a,normalizeRanks:function(l){let u=l.nodes().map(g=>{let f=l.node(g).rank;return f===void 0?Number.MAX_VALUE:f}),s=r(Math.min,u);l.nodes().forEach(g=>{let f=l.node(g);Object.hasOwn(f,"rank")&&(f.rank-=s)})},notime:function(l,u){return u()},partition:function(l,u){let s={lhs:[],rhs:[]};return l.forEach(g=>{u(g)?s.lhs.push(g):s.rhs.push(g)}),s},pick:function(l,u){const s={};for(const g of u)l[g]!==void 0&&(s[g]=l[g]);return s},predecessorWeights:function(l){let u=l.nodes().map(s=>{let g={};return l.inEdges(s).forEach(f=>{g[f.v]=(g[f.v]||0)+l.edge(f).weight}),g});return d(l.nodes(),u)},range:c,removeEmptyRanks:function(l){let u=l.nodes().map(h=>l.node(h).rank),s=r(Math.min,u),g=[];l.nodes().forEach(h=>{let m=l.node(h).rank-s;g[m]||(g[m]=[]),g[m].push(h)});let f=0,E=l.graph().nodeRankFactor;Array.from(g).forEach((h,m)=>{h===void 0&&m%E!==0?--f:h!==void 0&&f&&h.forEach(p=>l.node(p).rank+=f)})},simplify:function(l){let u=new t().setGraph(l.graph());return l.nodes().forEach(s=>u.setNode(s,l.node(s))),l.edges().forEach(s=>{let g=u.edge(s.v,s.w)||{weight:0,minlen:1},f=l.edge(s);u.setEdge(s.v,s.w,{weight:g.weight+f.weight,minlen:Math.max(g.minlen,f.minlen)})}),u},successorWeights:function(l){let u=l.nodes().map(s=>{let g={};return l.outEdges(s).forEach(f=>{g[f.w]=(g[f.w]||0)+l.edge(f).weight}),g});return d(l.nodes(),u)},time:function(l,u){let s=Date.now();try{return u()}finally{console.log(l+" time: "+(Date.now()-s)+"ms")}},uniqueId:i,zipObject:d};const n=65535;function r(l,u){if(u.length>n){const s=(function(g,f=n){const E=[];for(let h=0;h<g.length;h+=f){const m=g.slice(h,h+f);E.push(m)}return E})(u);return l.apply(null,s.map(g=>l.apply(null,g)))}return l.apply(null,u)}function a(l){const u=l.nodes().map(s=>{let g=l.node(s).rank;return g===void 0?Number.MIN_VALUE:g});return r(Math.max,u)}let o=0;function i(l){return l+""+ ++o}function c(l,u,s=1){u==null&&(u=l,l=0);let g=E=>E<u;s<0&&(g=E=>u<E);const f=[];for(let E=l;g(E);E+=s)f.push(E);return f}function d(l,u){return l.reduce((s,g,f)=>(s[g]=u[f],s),{})}return Vn}function Cc(){if(ma)return $n;ma=1;let t=Nc(),e=xe().uniqueId;return $n={run:function(n){(n.graph().acyclicer==="greedy"?t(n,(function(a){return o=>a.edge(o).weight})(n)):(function(a){let o=[],i={},c={};function d(l){Object.hasOwn(c,l)||(c[l]=!0,i[l]=!0,a.outEdges(l).forEach(u=>{Object.hasOwn(i,u.w)?o.push(u):d(u.w)}),delete i[l])}return a.nodes().forEach(d),o})(n)).forEach(a=>{let o=n.edge(a);n.removeEdge(a),o.forwardName=a.name,o.reversed=!0,n.setEdge(a.w,a.v,o,e("rev"))})},undo:function(n){n.edges().forEach(r=>{let a=n.edge(r);if(a.reversed){n.removeEdge(r);let o=a.forwardName;delete a.reversed,delete a.forwardName,n.setEdge(r.w,r.v,a,o)}})}},$n}function _c(){if(pa)return Hn;pa=1;let t=xe();return Hn={run:function(e){e.graph().dummyChains=[],e.edges().forEach(n=>(function(r,a){let o,i,c,d=a.v,l=r.node(d).rank,u=a.w,s=r.node(u).rank,g=a.name,f=r.edge(a),E=f.labelRank;if(s!==l+1){for(r.removeEdge(a),c=0,++l;l<s;++c,++l)f.points=[],i={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},o=t.addDummyNode(r,"edge",i,"_d"),l===E&&(i.width=f.width,i.height=f.height,i.dummy="edge-label",i.labelpos=f.labelpos),r.setEdge(d,o,{weight:f.weight},g),c===0&&r.graph().dummyChains.push(o),d=o;r.setEdge(d,u,{weight:f.weight},g)}})(e,n))},undo:function(e){e.graph().dummyChains.forEach(n=>{let r,a=e.node(n),o=a.edgeLabel;for(e.setEdge(a.edgeObj,o);a.dummy;)r=e.successors(n)[0],e.removeNode(n),o.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(o.x=a.x,o.y=a.y,o.width=a.width,o.height=a.height),n=r,a=e.node(n)})}},Hn}function Yt(){if(ya)return Yn;ya=1;const{applyWithChunking:t}=xe();return Yn={longestPath:function(e){var n={};e.sources().forEach(function r(a){var o=e.node(a);if(Object.hasOwn(n,a))return o.rank;n[a]=!0;let i=e.outEdges(a).map(d=>d==null?Number.POSITIVE_INFINITY:r(d.w)-e.edge(d).minlen);var c=t(Math.min,i);return c===Number.POSITIVE_INFINITY&&(c=0),o.rank=c})},slack:function(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}},Yn}function qa(){if(va)return Fn;va=1;var t=Be().Graph,e=Yt().slack;function n(o,i){return o.nodes().forEach(function c(d){i.nodeEdges(d).forEach(l=>{var u=l.v,s=d===u?l.w:u;o.hasNode(s)||e(i,l)||(o.setNode(s,{}),o.setEdge(d,s,{}),c(s))})}),o.nodeCount()}function r(o,i){return i.edges().reduce((c,d)=>{let l=Number.POSITIVE_INFINITY;return o.hasNode(d.v)!==o.hasNode(d.w)&&(l=e(i,d)),l<c[0]?[l,d]:c},[Number.POSITIVE_INFINITY,null])[1]}function a(o,i,c){o.nodes().forEach(d=>i.node(d).rank+=c)}return Fn=function(o){var i,c,d=new t({directed:!1}),l=o.nodes()[0],u=o.nodeCount();for(d.setNode(l,{});n(d,o)<u;)i=r(d,o),c=d.hasNode(i.v)?e(o,i):-e(o,i),a(d,o,c);return d},Fn}function kc(){if(ba)return Xn;ba=1;var t=qa(),e=Yt().slack,n=Yt().longestPath,r=Be().alg.preorder,a=Be().alg.postorder,o=xe().simplify;function i(h){h=o(h),n(h);var m,p=t(h);for(l(p),c(p,h);m=s(p);)f(p,h,m,g(p,h,m))}function c(h,m){var p=a(h,h.nodes());(p=p.slice(0,p.length-1)).forEach(y=>(function(v,x,_){var S=v.node(_),D=S.parent;v.edge(_,D).cutvalue=d(v,x,_)})(h,m,y))}function d(h,m,p){var y=h.node(p).parent,v=!0,x=m.edge(p,y),_=0;return x||(v=!1,x=m.edge(y,p)),_=x.weight,m.nodeEdges(p).forEach(S=>{var D,M,w=S.v===p,P=w?S.w:S.v;if(P!==y){var N=w===v,O=m.edge(S).weight;if(_+=N?O:-O,D=p,M=P,h.hasEdge(D,M)){var L=h.edge(p,P).cutvalue;_+=N?-L:L}}}),_}function l(h,m){arguments.length<2&&(m=h.nodes()[0]),u(h,{},1,m)}function u(h,m,p,y,v){var x=p,_=h.node(y);return m[y]=!0,h.neighbors(y).forEach(S=>{Object.hasOwn(m,S)||(p=u(h,m,p,S,y))}),_.low=x,_.lim=p++,v?_.parent=v:delete _.parent,p}function s(h){return h.edges().find(m=>h.edge(m).cutvalue<0)}function g(h,m,p){var y=p.v,v=p.w;m.hasEdge(y,v)||(y=p.w,v=p.v);var x=h.node(y),_=h.node(v),S=x,D=!1;x.lim>_.lim&&(S=_,D=!0);var M=m.edges().filter(w=>D===E(h,h.node(w.v),S)&&D!==E(h,h.node(w.w),S));return M.reduce((w,P)=>e(m,P)<e(m,w)?P:w)}function f(h,m,p,y){var v=p.v,x=p.w;h.removeEdge(v,x),h.setEdge(y.v,y.w,{}),l(h),c(h,m),(function(_,S){var D=_.nodes().find(w=>!S.node(w).parent),M=r(_,D);(M=M.slice(1)).forEach(w=>{var P=_.node(w).parent,N=S.edge(w,P),O=!1;N||(N=S.edge(P,w),O=!0),S.node(w).rank=S.node(P).rank+(O?N.minlen:-N.minlen)})})(h,m)}function E(h,m,p){return p.low<=m.lim&&m.lim<=p.lim}return Xn=i,i.initLowLimValues=l,i.initCutValues=c,i.calcCutValue=d,i.leaveEdge=s,i.enterEdge=g,i.exchangeEdges=f,Xn}function Mc(){if(Ea)return Zn;Ea=1;var t=Yt().longestPath,e=qa(),n=kc();Zn=function(o){var i=o.graph().ranker;if(i instanceof Function)return i(o);switch(o.graph().ranker){case"network-simplex":default:a(o);break;case"tight-tree":(function(c){t(c),e(c)})(o);break;case"longest-path":r(o);case"none":}};var r=t;function a(o){n(o)}return Zn}function Oc(){return xa||(xa=1,Kn=function(t){let e=(function(n){let r={},a=0;function o(i){let c=a;n.children(i).forEach(o),r[i]={low:c,lim:a++}}return n.children().forEach(o),r})(t);t.graph().dummyChains.forEach(n=>{let r=t.node(n),a=r.edgeObj,o=(function(s,g,f,E){let h,m,p=[],y=[],v=Math.min(g[f].low,g[E].low),x=Math.max(g[f].lim,g[E].lim);h=f;do h=s.parent(h),p.push(h);while(h&&(g[h].low>v||x>g[h].lim));for(m=h,h=E;(h=s.parent(h))!==m;)y.push(h);return{path:p.concat(y.reverse()),lca:m}})(t,e,a.v,a.w),i=o.path,c=o.lca,d=0,l=i[d],u=!0;for(;n!==a.w;){if(r=t.node(n),u){for(;(l=i[d])!==c&&t.node(l).maxRank<r.rank;)d++;l===c&&(u=!1)}if(!u){for(;d<i.length-1&&t.node(l=i[d+1]).minRank<=r.rank;)d++;l=i[d]}t.setParent(n,l),n=t.successors(n)[0]}})}),Kn}function Ic(){if(wa)return Wn;wa=1;let t=xe();function e(n,r,a,o,i,c,d){let l=n.children(d);if(!l.length)return void(d!==r&&n.setEdge(r,d,{weight:0,minlen:a}));let u=t.addBorderNode(n,"_bt"),s=t.addBorderNode(n,"_bb"),g=n.node(d);n.setParent(u,d),g.borderTop=u,n.setParent(s,d),g.borderBottom=s,l.forEach(f=>{e(n,r,a,o,i,c,f);let E=n.node(f),h=E.borderTop?E.borderTop:f,m=E.borderBottom?E.borderBottom:f,p=E.borderTop?o:2*o,y=h!==m?1:i-c[d]+1;n.setEdge(u,h,{weight:p,minlen:y,nestingEdge:!0}),n.setEdge(m,s,{weight:p,minlen:y,nestingEdge:!0})}),n.parent(d)||n.setEdge(r,u,{weight:0,minlen:i+c[d]})}return Wn={run:function(n){let r=t.addDummyNode(n,"root",{},"_root"),a=(function(l){var u={};function s(g,f){var E=l.children(g);E&&E.length&&E.forEach(h=>s(h,f+1)),u[g]=f}return l.children().forEach(g=>s(g,1)),u})(n),o=Object.values(a),i=t.applyWithChunking(Math.max,o)-1,c=2*i+1;n.graph().nestingRoot=r,n.edges().forEach(l=>n.edge(l).minlen*=c);let d=(function(l){return l.edges().reduce((u,s)=>u+l.edge(s).weight,0)})(n)+1;n.children().forEach(l=>e(n,r,c,d,i,a,l)),n.graph().nodeRankFactor=c},cleanup:function(n){var r=n.graph();n.removeNode(r.nestingRoot),delete r.nestingRoot,n.edges().forEach(a=>{n.edge(a).nestingEdge&&n.removeEdge(a)})}},Wn}function Pc(){if(Na)return Un;function t(a){a.nodes().forEach(o=>e(a.node(o))),a.edges().forEach(o=>e(a.edge(o)))}function e(a){let o=a.width;a.width=a.height,a.height=o}function n(a){a.y=-a.y}function r(a){let o=a.x;a.x=a.y,a.y=o}return Na=1,Un={adjust:function(a){let o=a.graph().rankdir.toLowerCase();o!=="lr"&&o!=="rl"||t(a)},undo:function(a){let o=a.graph().rankdir.toLowerCase();o!=="bt"&&o!=="rl"||(function(i){i.nodes().forEach(c=>n(i.node(c))),i.edges().forEach(c=>{let d=i.edge(c);d.points.forEach(n),Object.hasOwn(d,"y")&&n(d)})})(a),o!=="lr"&&o!=="rl"||((function(i){i.nodes().forEach(c=>r(i.node(c))),i.edges().forEach(c=>{let d=i.edge(c);d.points.forEach(r),Object.hasOwn(d,"x")&&r(d)})})(a),t(a))}},Un}function Dc(){if(Ia)return Oa;Ia=1;let t=xe();return Oa=function(e,n){let r={};return e.forEach((a,o)=>{let i=r[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:o};a.barycenter!==void 0&&(i.barycenter=a.barycenter,i.weight=a.weight)}),n.edges().forEach(a=>{let o=r[a.v],i=r[a.w];o!==void 0&&i!==void 0&&(i.indegree++,o.out.push(r[a.w]))}),(function(a){let o=[];function i(d){return l=>{l.merged||(l.barycenter===void 0||d.barycenter===void 0||l.barycenter>=d.barycenter)&&(function(u,s){let g=0,f=0;u.weight&&(g+=u.barycenter*u.weight,f+=u.weight),s.weight&&(g+=s.barycenter*s.weight,f+=s.weight),u.vs=s.vs.concat(u.vs),u.barycenter=g/f,u.weight=f,u.i=Math.min(s.i,u.i),s.merged=!0})(d,l)}}function c(d){return l=>{l.in.push(d),--l.indegree===0&&a.push(l)}}for(;a.length;){let d=a.pop();o.push(d),d.in.reverse().forEach(i(d)),d.out.forEach(c(d))}return o.filter(d=>!d.merged).map(d=>t.pick(d,["vs","i","barycenter","weight"]))})(Object.values(r).filter(a=>!a.indegree))}}function jc(){if(ja)return Jn;ja=1;let t=(Ma||(Ma=1,ka=function(r,a=[]){return a.map(o=>{let i=r.inEdges(o);if(i.length){let c=i.reduce((d,l)=>{let u=r.edge(l),s=r.node(l.v);return{sum:d.sum+u.weight*s.order,weight:d.weight+u.weight}},{sum:0,weight:0});return{v:o,barycenter:c.sum/c.weight,weight:c.weight}}return{v:o}})}),ka),e=Dc(),n=(function(){if(Da)return Pa;Da=1;let r=xe();function a(o,i,c){let d;for(;i.length&&(d=i[i.length-1]).i<=c;)i.pop(),o.push(d.vs),c++;return c}return Pa=function(o,i){let c=r.partition(o,m=>Object.hasOwn(m,"barycenter")),d=c.lhs,l=c.rhs.sort((m,p)=>p.i-m.i),u=[],s=0,g=0,f=0;var E;d.sort((E=!!i,(m,p)=>m.barycenter<p.barycenter?-1:m.barycenter>p.barycenter?1:E?p.i-m.i:m.i-p.i)),f=a(u,l,f),d.forEach(m=>{f+=m.vs.length,u.push(m.vs),s+=m.barycenter*m.weight,g+=m.weight,f=a(u,l,f)});let h={vs:u.flat(!0)};return g&&(h.barycenter=s/g,h.weight=g),h}})();return Jn=function r(a,o,i,c){let d=a.children(o),l=a.node(o),u=l?l.borderLeft:void 0,s=l?l.borderRight:void 0,g={};u&&(d=d.filter(m=>m!==u&&m!==s));let f=t(a,d);f.forEach(m=>{if(a.children(m.v).length){let v=r(a,m.v,i,c);g[m.v]=v,Object.hasOwn(v,"barycenter")&&(y=v,(p=m).barycenter!==void 0?(p.barycenter=(p.barycenter*p.weight+y.barycenter*y.weight)/(p.weight+y.weight),p.weight+=y.weight):(p.barycenter=y.barycenter,p.weight=y.weight))}var p,y});let E=e(f,i);(function(m,p){m.forEach(y=>{y.vs=y.vs.flatMap(v=>p[v]?p[v].vs:v)})})(E,g);let h=n(E,c);if(u&&(h.vs=[u,h.vs,s].flat(!0),a.predecessors(u).length)){let m=a.node(a.predecessors(u)[0]),p=a.node(a.predecessors(s)[0]);Object.hasOwn(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+m.order+p.order)/(h.weight+2),h.weight+=2}return h},Jn}function zc(){if(za)return eo;za=1;let t=Be().Graph,e=xe();return eo=function(n,r,a){let o=(function(c){for(var d;c.hasNode(d=e.uniqueId("_root")););return d})(n),i=new t({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(c=>n.node(c));return n.nodes().forEach(c=>{let d=n.node(c),l=n.parent(c);(d.rank===r||d.minRank<=r&&r<=d.maxRank)&&(i.setNode(c),i.setParent(c,l||o),n[a](c).forEach(u=>{let s=u.v===c?u.w:u.v,g=i.edge(s,c),f=g!==void 0?g.weight:0;i.setEdge(s,c,{weight:n.edge(u).weight+f})}),Object.hasOwn(d,"minRank")&&i.setNode(c,{borderLeft:d.borderLeft[r],borderRight:d.borderRight[r]}))}),i},eo}function Rc(){if(Aa)return to;Aa=1;let t=(function(){if(Ca)return qn;Ca=1;let u=xe();return qn=function(s){let g={},f=s.nodes().filter(y=>!s.children(y).length),E=f.map(y=>s.node(y).rank),h=u.applyWithChunking(Math.max,E),m=u.range(h+1).map(()=>[]);function p(y){if(g[y])return;g[y]=!0;let v=s.node(y);m[v.rank].push(y),s.successors(y).forEach(p)}return f.sort((y,v)=>s.node(y).rank-s.node(v).rank).forEach(p),m},qn})(),e=(function(){if(_a)return Qn;_a=1;let u=xe().zipObject;function s(g,f,E){let h=u(E,E.map((_,S)=>S)),m=f.flatMap(_=>g.outEdges(_).map(S=>({pos:h[S.w],weight:g.edge(S).weight})).sort((S,D)=>S.pos-D.pos)),p=1;for(;p<E.length;)p<<=1;let y=2*p-1;p-=1;let v=new Array(y).fill(0),x=0;return m.forEach(_=>{let S=_.pos+p;v[S]+=_.weight;let D=0;for(;S>0;)S%2&&(D+=v[S+1]),S=S-1>>1,v[S]+=_.weight;x+=_.weight*D}),x}return Qn=function(g,f){let E=0;for(let h=1;h<f.length;++h)E+=s(g,f[h-1],f[h]);return E},Qn})(),n=jc(),r=zc(),a=(Ta||(Ta=1,Ra=function(u,s,g){let f,E={};g.forEach(h=>{let m,p,y=u.parent(h);for(;y;){if(m=u.parent(y),m?(p=E[m],E[m]=y):(p=f,f=y),p&&p!==y)return void s.setEdge(p,y);y=m}})}),Ra),o=Be().Graph,i=xe();function c(u,s,g){return s.map(function(f){return r(u,f,g)})}function d(u,s){let g=new o;u.forEach(function(f){let E=f.graph().root,h=n(f,E,g,s);h.vs.forEach((m,p)=>f.node(m).order=p),a(f,g,h.vs)})}function l(u,s){Object.values(s).forEach(g=>g.forEach((f,E)=>u.node(f).order=E))}return to=function u(s,g){if(g&&typeof g.customOrder=="function")return void g.customOrder(s,u);let f=i.maxRank(s),E=c(s,i.range(1,f+1),"inEdges"),h=c(s,i.range(f-1,-1,-1),"outEdges"),m=t(s);if(l(s,m),g&&g.disableOptimalOrderHeuristic)return;let p,y=Number.POSITIVE_INFINITY;for(let v=0,x=0;x<4;++v,++x){d(v%2?E:h,v%4>=2),m=i.buildLayerMatrix(s);let _=e(s,m);_<y&&(x=0,p=Object.assign({},m),y=_)}l(s,p)},to}function Tc(){if(Ba)return no;Ba=1;let t=Be().Graph,e=xe();function n(s,g){let f={};return g.length&&g.reduce(function(E,h){let m=0,p=0,y=E.length,v=h[h.length-1];return h.forEach((x,_)=>{let S=(function(M,w){if(M.node(w).dummy)return M.predecessors(w).find(P=>M.node(P).dummy)})(s,x),D=S?s.node(S).order:y;(S||x===v)&&(h.slice(p,_+1).forEach(M=>{s.predecessors(M).forEach(w=>{let P=s.node(w),N=P.order;!(N<m||D<N)||P.dummy&&s.node(M).dummy||a(f,w,M)})}),p=_+1,m=D)}),h}),f}function r(s,g){let f={};function E(h,m,p,y,v){let x;e.range(m,p).forEach(_=>{x=h[_],s.node(x).dummy&&s.predecessors(x).forEach(S=>{let D=s.node(S);D.dummy&&(D.order<y||D.order>v)&&a(f,S,x)})})}return g.length&&g.reduce(function(h,m){let p,y=-1,v=0;return m.forEach((x,_)=>{if(s.node(x).dummy==="border"){let S=s.predecessors(x);S.length&&(p=s.node(S[0]).order,E(m,v,_,y,p),v=_,y=p)}E(m,v,m.length,p,h.length)}),m}),f}function a(s,g,f){if(g>f){let h=g;g=f,f=h}let E=s[g];E||(s[g]=E={}),E[f]=!0}function o(s,g,f){if(g>f){let E=g;g=f,f=E}return!!s[g]&&Object.hasOwn(s[g],f)}function i(s,g,f,E){let h={},m={},p={};return g.forEach(y=>{y.forEach((v,x)=>{h[v]=v,m[v]=v,p[v]=x})}),g.forEach(y=>{let v=-1;y.forEach(x=>{let _=E(x);if(_.length){_=_.sort((D,M)=>p[D]-p[M]);let S=(_.length-1)/2;for(let D=Math.floor(S),M=Math.ceil(S);D<=M;++D){let w=_[D];m[x]===x&&v<p[w]&&!o(f,x,w)&&(m[w]=x,m[x]=h[x]=h[w],v=p[w])}}})}),{root:h,align:m}}function c(s,g,f,E,h){let m={},p=(function(x,_,S,D){let M=new t,w=x.graph(),P=(function(N,O,L){return(b,k,I)=>{let T,$=b.node(k),C=b.node(I),A=0;if(A+=$.width/2,Object.hasOwn($,"labelpos"))switch($.labelpos.toLowerCase()){case"l":T=-$.width/2;break;case"r":T=$.width/2}if(T&&(A+=L?T:-T),T=0,A+=($.dummy?O:N)/2,A+=(C.dummy?O:N)/2,A+=C.width/2,Object.hasOwn(C,"labelpos"))switch(C.labelpos.toLowerCase()){case"l":T=C.width/2;break;case"r":T=-C.width/2}return T&&(A+=L?T:-T),T=0,A}})(w.nodesep,w.edgesep,D);return _.forEach(N=>{let O;N.forEach(L=>{let b=S[L];if(M.setNode(b),O){var k=S[O],I=M.edge(k,b);M.setEdge(k,b,Math.max(P(x,L,O),I||0))}O=L})}),M})(s,g,f,h),y=h?"borderLeft":"borderRight";function v(x,_){let S=p.nodes(),D=S.pop(),M={};for(;D;)M[D]?x(D):(M[D]=!0,S.push(D),S=S.concat(_(D))),D=S.pop()}return v(function(x){m[x]=p.inEdges(x).reduce((_,S)=>Math.max(_,m[S.v]+p.edge(S)),0)},p.predecessors.bind(p)),v(function(x){let _=p.outEdges(x).reduce((D,M)=>Math.min(D,m[M.w]-p.edge(M)),Number.POSITIVE_INFINITY),S=s.node(x);_!==Number.POSITIVE_INFINITY&&S.borderType!==y&&(m[x]=Math.max(m[x],_))},p.successors.bind(p)),Object.keys(E).forEach(x=>m[x]=m[f[x]]),m}function d(s,g){return Object.values(g).reduce((f,E)=>{let h=Number.NEGATIVE_INFINITY,m=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([y,v])=>{let x=(function(_,S){return _.node(S).width})(s,y)/2;h=Math.max(v+x,h),m=Math.min(v-x,m)});const p=h-m;return p<f[0]&&(f=[p,E]),f},[Number.POSITIVE_INFINITY,null])[1]}function l(s,g){let f=Object.values(g),E=e.applyWithChunking(Math.min,f),h=e.applyWithChunking(Math.max,f);["u","d"].forEach(m=>{["l","r"].forEach(p=>{let y=m+p,v=s[y];if(v===g)return;let x=Object.values(v),_=E-e.applyWithChunking(Math.min,x);p!=="l"&&(_=h-e.applyWithChunking(Math.max,x)),_&&(s[y]=e.mapValues(v,S=>S+_))})})}function u(s,g){return e.mapValues(s.ul,(f,E)=>{if(g)return s[g.toLowerCase()][E];{let h=Object.values(s).map(m=>m[E]).sort((m,p)=>m-p);return(h[1]+h[2])/2}})}return no={positionX:function(s){let g,f=e.buildLayerMatrix(s),E=Object.assign(n(s,f),r(s,f)),h={};["u","d"].forEach(p=>{g=p==="u"?f:Object.values(f).reverse(),["l","r"].forEach(y=>{y==="r"&&(g=g.map(S=>Object.values(S).reverse()));let v=(p==="u"?s.predecessors:s.successors).bind(s),x=i(s,g,E,v),_=c(s,g,x.root,x.align,y==="r");y==="r"&&(_=e.mapValues(_,S=>-S)),h[p+y]=_})});let m=d(s,h);return l(h,m),u(h,s.graph().align)},findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:o,verticalAlignment:i,horizontalCompaction:c,alignCoordinates:l,findSmallestWidthAlignment:d,balance:u},no}function Ac(){if(La)return oo;La=1;let t=xe(),e=Tc().positionX;return oo=function(n){n=t.asNonCompoundGraph(n),(function(r){let a=t.buildLayerMatrix(r),o=r.graph().ranksep,i=0;a.forEach(c=>{const d=c.reduce((l,u)=>{const s=r.node(u).height;return l>s?l:s},0);c.forEach(l=>r.node(l).y=i+d/2),i+=d+o})})(n),Object.entries(e(n)).forEach(([r,a])=>n.node(r).x=a)},oo}function Bc(){if(Va)return ro;Va=1;let t=Cc(),e=_c(),n=Mc(),r=xe().normalizeRanks,a=Oc(),o=xe().removeEmptyRanks,i=Ic(),c=(function(){if(Sa)return Gn;Sa=1;let D=xe();function M(w,P,N,O,L,b){let k={width:0,height:0,rank:b,borderType:P},I=L[P][b-1],T=D.addDummyNode(w,"border",k,N);L[P][b]=T,w.setParent(T,O),I&&w.setEdge(I,T,{weight:1})}return Gn=function(w){w.children().forEach(function P(N){let O=w.children(N),L=w.node(N);if(O.length&&O.forEach(P),Object.hasOwn(L,"minRank")){L.borderLeft=[],L.borderRight=[];for(let b=L.minRank,k=L.maxRank+1;b<k;++b)M(w,"borderLeft","_bl",N,L,b),M(w,"borderRight","_br",N,L,b)}})},Gn})(),d=Pc(),l=Rc(),u=Ac(),s=xe(),g=Be().Graph;ro=function(D,M){let w=M&&M.debugTiming?s.time:s.notime;w("layout",()=>{let P=w(" buildLayoutGraph",()=>(function(N){let O=new g({multigraph:!0,compound:!0}),L=S(N.graph());return O.setGraph(Object.assign({},E,_(L,f),s.pick(L,h))),N.nodes().forEach(b=>{const k=_(S(N.node(b)),m);Object.keys(p).forEach(I=>{k[I]===void 0&&(k[I]=p[I])}),O.setNode(b,k),O.setParent(b,N.parent(b))}),N.edges().forEach(b=>{let k=S(N.edge(b));O.setEdge(b,Object.assign({},v,_(k,y),s.pick(k,x)))}),O})(D));w(" runLayout",()=>(function(N,O,L){O(" makeSpaceForEdgeLabels",()=>(function(b){let k=b.graph();k.ranksep/=2,b.edges().forEach(I=>{let T=b.edge(I);T.minlen*=2,T.labelpos.toLowerCase()!=="c"&&(k.rankdir==="TB"||k.rankdir==="BT"?T.width+=T.labeloffset:T.height+=T.labeloffset)})})(N)),O(" removeSelfEdges",()=>(function(b){b.edges().forEach(k=>{if(k.v===k.w){var I=b.node(k.v);I.selfEdges||(I.selfEdges=[]),I.selfEdges.push({e:k,label:b.edge(k)}),b.removeEdge(k)}})})(N)),O(" acyclic",()=>t.run(N)),O(" nestingGraph.run",()=>i.run(N)),O(" rank",()=>n(s.asNonCompoundGraph(N))),O(" injectEdgeLabelProxies",()=>(function(b){b.edges().forEach(k=>{let I=b.edge(k);if(I.width&&I.height){let T=b.node(k.v),$={rank:(b.node(k.w).rank-T.rank)/2+T.rank,e:k};s.addDummyNode(b,"edge-proxy",$,"_ep")}})})(N)),O(" removeEmptyRanks",()=>o(N)),O(" nestingGraph.cleanup",()=>i.cleanup(N)),O(" normalizeRanks",()=>r(N)),O(" assignRankMinMax",()=>(function(b){let k=0;b.nodes().forEach(I=>{let T=b.node(I);T.borderTop&&(T.minRank=b.node(T.borderTop).rank,T.maxRank=b.node(T.borderBottom).rank,k=Math.max(k,T.maxRank))}),b.graph().maxRank=k})(N)),O(" removeEdgeLabelProxies",()=>(function(b){b.nodes().forEach(k=>{let I=b.node(k);I.dummy==="edge-proxy"&&(b.edge(I.e).labelRank=I.rank,b.removeNode(k))})})(N)),O(" normalize.run",()=>e.run(N)),O(" parentDummyChains",()=>a(N)),O(" addBorderSegments",()=>c(N)),O(" order",()=>l(N,L)),O(" insertSelfEdges",()=>(function(b){var k=s.buildLayerMatrix(b);k.forEach(I=>{var T=0;I.forEach(($,C)=>{var A=b.node($);A.order=C+T,(A.selfEdges||[]).forEach(j=>{s.addDummyNode(b,"selfedge",{width:j.label.width,height:j.label.height,rank:A.rank,order:C+ ++T,e:j.e,label:j.label},"_se")}),delete A.selfEdges})})})(N)),O(" adjustCoordinateSystem",()=>d.adjust(N)),O(" position",()=>u(N)),O(" positionSelfEdges",()=>(function(b){b.nodes().forEach(k=>{var I=b.node(k);if(I.dummy==="selfedge"){var T=b.node(I.e.v),$=T.x+T.width/2,C=T.y,A=I.x-$,j=T.height/2;b.setEdge(I.e,I.label),b.removeNode(k),I.label.points=[{x:$+2*A/3,y:C-j},{x:$+5*A/6,y:C-j},{x:$+A,y:C},{x:$+5*A/6,y:C+j},{x:$+2*A/3,y:C+j}],I.label.x=I.x,I.label.y=I.y}})})(N)),O(" removeBorderNodes",()=>(function(b){b.nodes().forEach(k=>{if(b.children(k).length){let I=b.node(k),T=b.node(I.borderTop),$=b.node(I.borderBottom),C=b.node(I.borderLeft[I.borderLeft.length-1]),A=b.node(I.borderRight[I.borderRight.length-1]);I.width=Math.abs(A.x-C.x),I.height=Math.abs($.y-T.y),I.x=C.x+I.width/2,I.y=T.y+I.height/2}}),b.nodes().forEach(k=>{b.node(k).dummy==="border"&&b.removeNode(k)})})(N)),O(" normalize.undo",()=>e.undo(N)),O(" fixupEdgeLabelCoords",()=>(function(b){b.edges().forEach(k=>{let I=b.edge(k);if(Object.hasOwn(I,"x"))switch(I.labelpos!=="l"&&I.labelpos!=="r"||(I.width-=I.labeloffset),I.labelpos){case"l":I.x-=I.width/2+I.labeloffset;break;case"r":I.x+=I.width/2+I.labeloffset}})})(N)),O(" undoCoordinateSystem",()=>d.undo(N)),O(" translateGraph",()=>(function(b){let k=Number.POSITIVE_INFINITY,I=0,T=Number.POSITIVE_INFINITY,$=0,C=b.graph(),A=C.marginx||0,j=C.marginy||0;function H(Y){let X=Y.x,K=Y.y,ne=Y.width,ie=Y.height;k=Math.min(k,X-ne/2),I=Math.max(I,X+ne/2),T=Math.min(T,K-ie/2),$=Math.max($,K+ie/2)}b.nodes().forEach(Y=>H(b.node(Y))),b.edges().forEach(Y=>{let X=b.edge(Y);Object.hasOwn(X,"x")&&H(X)}),k-=A,T-=j,b.nodes().forEach(Y=>{let X=b.node(Y);X.x-=k,X.y-=T}),b.edges().forEach(Y=>{let X=b.edge(Y);X.points.forEach(K=>{K.x-=k,K.y-=T}),Object.hasOwn(X,"x")&&(X.x-=k),Object.hasOwn(X,"y")&&(X.y-=T)}),C.width=I-k+A,C.height=$-T+j})(N)),O(" assignNodeIntersects",()=>(function(b){b.edges().forEach(k=>{let I,T,$=b.edge(k),C=b.node(k.v),A=b.node(k.w);$.points?(I=$.points[0],T=$.points[$.points.length-1]):($.points=[],I=A,T=C),$.points.unshift(s.intersectRect(C,I)),$.points.push(s.intersectRect(A,T))})})(N)),O(" reversePoints",()=>(function(b){b.edges().forEach(k=>{let I=b.edge(k);I.reversed&&I.points.reverse()})})(N)),O(" acyclic.undo",()=>t.undo(N))})(P,w,M)),w(" updateInputGraph",()=>(function(N,O){N.nodes().forEach(L=>{let b=N.node(L),k=O.node(L);b&&(b.x=k.x,b.y=k.y,b.rank=k.rank,O.children(L).length&&(b.width=k.width,b.height=k.height))}),N.edges().forEach(L=>{let b=N.edge(L),k=O.edge(L);b.points=k.points,Object.hasOwn(k,"x")&&(b.x=k.x,b.y=k.y)}),N.graph().width=O.graph().width,N.graph().height=O.graph().height})(D,P))})};let f=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},h=["acyclicer","ranker","rankdir","align"],m=["width","height","rank"],p={width:0,height:0},y=["minlen","weight","width","height","labeloffset"],v={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},x=["labelpos"];function _(D,M){return s.mapValues(s.pick(D,M),Number)}function S(D){var M={};return D&&Object.entries(D).forEach(([w,P])=>{typeof w=="string"&&(w=w.toLowerCase()),M[w]=P}),M}return ro}function Lc(){if($a)return ao;$a=1;let t=xe(),e=Be().Graph;return ao={debugOrdering:function(n){let r=t.buildLayerMatrix(n),a=new e({compound:!0,multigraph:!0}).setGraph({});return n.nodes().forEach(o=>{a.setNode(o,{label:o}),a.setParent(o,"layer"+n.node(o).rank)}),n.edges().forEach(o=>a.setEdge(o.v,o.w,{},o.name)),r.forEach((o,i)=>{let c="layer"+i;a.setNode(c,{rank:"same"}),o.reduce((d,l)=>(a.setEdge(d,l,{style:"invis"}),l))}),a}},ao}var Qa=Xa?Fa:(Xa=1,Fa={graphlib:Be(),layout:Bc(),debug:Lc(),util:{time:xe().time,notime:xe().notime},version:Ya?Ha:(Ya=1,Ha="1.1.5")});const Mt=new Qa.graphlib.Graph().setDefaultEdgeLabel(()=>({})),Ja=({nodes:t,edges:e,direction:n})=>(Mt.setGraph({rankdir:n,nodesep:150,ranksep:200,ranker:"longest-path"}),e.forEach(r=>Mt.setEdge(r.source,r.target)),t.forEach(r=>Mt.setNode(r.id,{...r,width:r.width??0,height:r.height??0})),Qa.layout(Mt),{nodes:t.map(r=>{const{x:a,y:o}=Mt.node(r.id);return{...r,position:{x:a,y:o}}}),edges:e}),ei=new class{createEdge(t,e){return{animated:!0,markerEnd:{type:ct.ArrowClosed},id:`${t}-${e}`,style:{strokeWidth:2},source:t,sourceHandle:"outputs",targetHandle:"inputs",target:e}}createNode(t,e){return{id:t,data:{atom:e,forceWidth:300},width:300,type:"custom",height:Sn(Xt.get(e).code.trim().split(`
|
|
4
|
+
`).length),position:{x:0,y:0}}}createElements(t,e,n,r){const a=[],o=[],i=new Set,c=new Set;for(const d of Object.values(n)){if(d.value==="marimo"&&d.name==="mo")continue;const{declaredBy:l,usedBy:u}=d;for(const s of l)for(const g of u){const f=`${s}-${g}`;c.has(f)||(c.add(f),i.add(s),i.add(g),o.push(this.createEdge(s,g)))}}for(const[d,l]of si.zip(t,e)){r||a.push(this.createNode(d,l));const u=i.has(d),s=Xt.get(l).code.trim().startsWith("mo.md");!u&&s||a.push(this.createNode(d,l))}return{nodes:a,edges:o}}},Vc=t=>{const e=Ke.c(43),{cellIds:n,variables:r,cellAtoms:a,children:o,layoutDirection:i,settings:c}=t;let d;e[0]!==a||e[1]!==n||e[2]!==i||e[3]!==c.hidePureMarkdown||e[4]!==r?(d=()=>{let C=ei.createElements(n,a,r,c.hidePureMarkdown);return C=Ja({nodes:C.nodes,edges:C.edges,direction:i}),C},e[0]=a,e[1]=n,e[2]=i,e[3]=c.hidePureMarkdown,e[4]=r,e[5]=d):d=e[5];const[l]=R.useState(d),[u,s,g]=Dr(l.nodes),[f,E,h]=jr(l.edges),m=Ct();let p;e[6]!==i||e[7]!==E||e[8]!==s?(p=C=>{const A=Ja({nodes:C.nodes,edges:C.edges,direction:i});s(A.nodes),E(A.edges)},e[6]=i,e[7]=E,e[8]=s,e[9]=p):p=e[9];const y=di(p);let v,x;e[10]!==a||e[11]!==n||e[12]!==c.hidePureMarkdown||e[13]!==y||e[14]!==r?(v=()=>{y(ei.createElements(n,a,r,c.hidePureMarkdown))},x=[n,r,a,y,c.hidePureMarkdown],e[10]=a,e[11]=n,e[12]=c.hidePureMarkdown,e[13]=y,e[14]=r,e[15]=v,e[16]=x):(v=e[15],x=e[16]),R.useEffect(v,x);const[_,S]=R.useState();let D;Lr(),e[17]===Symbol.for("react.memo_cache_sentinel")?(D=()=>{S(void 0)},e[17]=D):D=e[17];const M=D;let w,P,N,O,L,b,k,I,T,$;return e[18]===Symbol.for("react.memo_cache_sentinel")?(w={minZoom:.5,maxZoom:1.5},P=(C,A)=>{S({type:"node",id:A.id})},N=(C,A)=>{const{source:j,target:H}=A;S({type:"edge",source:j,target:H})},e[18]=w,e[19]=P,e[20]=N):(w=e[18],P=e[19],N=e[20]),e[21]===Symbol.for("react.memo_cache_sentinel")?(O=F.jsx(ic,{color:"#ccc",variant:Re.Dots}),e[21]=O):O=e[21],e[22]!==m||e[23]!==u?(L=()=>{const C=Xt.get(jl);if(C){const A=u.find(j=>j.id===C);A&&(m.fitView({padding:1,duration:600,nodes:[A]}),S({type:"node",id:C}))}},e[22]=m,e[23]=u,e[24]=L):L=e[24],e[25]===Symbol.for("react.memo_cache_sentinel")?(b=F.jsx(at,{className:"size-4"}),e[25]=b):b=e[25],e[26]!==L?(k=F.jsx(ec,{position:"bottom-right",showInteractive:!1,children:F.jsx(zl,{content:"Jump to focused cell",delayDuration:200,side:"left",asChild:!1,children:F.jsx(pt,{onMouseDown:Rl.preventFocus,onClick:L,children:b})})}),e[26]=L,e[27]=k):k=e[27],e[28]!==f||e[29]!==_||e[30]!==r?(I=F.jsx(Ht,{selection:_,variables:r,edges:f,onClearSelection:M}),e[28]=f,e[29]=_,e[30]=r,e[31]=I):I=e[31],e[32]!==o||e[33]!==f||e[34]!==u||e[35]!==h||e[36]!==g||e[37]!==k||e[38]!==I?(T=F.jsxs(wn,{nodes:u,edges:f,nodeTypes:Br,minZoom:.2,fitViewOptions:w,onNodeClick:P,onEdgeClick:N,onNodeDoubleClick:$c,fitView:!0,onNodesChange:g,onEdgesChange:h,zoomOnDoubleClick:!1,nodesConnectable:!1,children:[O,k,I,o]}),e[32]=o,e[33]=f,e[34]=u,e[35]=h,e[36]=g,e[37]=k,e[38]=I,e[39]=T):T=e[39],e[40]!==i||e[41]!==T?($=F.jsx(Tr,{value:i,children:T}),e[40]=i,e[41]=T,e[42]=$):$=e[42],$};function $c(t,e){ui(e.id,"focus")}let ti,ni,oi;ti=gi("_minimap_"),ni=gi({hidePureMarkdown:!0}),oi=t=>{const e=Ke.c(11),[n,r]=hi(ti),[a,o]=hi(ni);let i;e[0]!==n||e[1]!==t||e[2]!==r||e[3]!==o||e[4]!==a?(i=()=>n==="_minimap_"?F.jsx(uc,{...t,children:F.jsx(Nn,{settings:a,onSettingsChange:o,view:n,onChange:r})}):F.jsx(Vc,{...t,settings:a,layoutDirection:n,children:F.jsx(Nn,{settings:a,onSettingsChange:o,view:n,onChange:r})}),e[0]=n,e[1]=t,e[2]=r,e[3]=o,e[4]=a,e[5]=i):i=e[5];const c=i;let d,l;return e[6]!==c?(d=c(),e[6]=c,e[7]=d):d=e[7],e[8]!==n||e[9]!==d?(l=F.jsx(xn,{children:d},n),e[8]=n,e[9]=d,e[10]=l):l=e[10],l},yi=()=>{const t=Ke.c(5),e=Tl(),n=ci(),[r]=Al();let a,o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(a=li("w-full h-full flex-1 mx-auto -mb-4 relative"),t[0]=a):a=t[0],t[1]!==n.inOrderIds||t[2]!==r||t[3]!==e?(o=F.jsx("div",{className:a,children:F.jsx(oi,{cellAtoms:r,variables:e,cellIds:n.inOrderIds})}),t[1]=n.inOrderIds,t[2]=r,t[3]=e,t[4]=o):o=t[4],o}});export{Gl as __tla,yi as default};
|