@excalidraw/excalidraw 0.17.1-890ed9f → 0.17.1-96eeec5
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/CHANGELOG.md +15 -2
- package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js → blockDiagram-91b80b7a-H47FTXHA.js} +5 -5
- package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js → c4Diagram-b2a90758-NNJK6GKC.js} +3 -3
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js → chunk-4KQVEBHW.js} +3 -3
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js → chunk-53YI56GV.js} +4 -4
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js → chunk-A2WCJI4I.js} +3 -3
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-WQFMSDPT.js → chunk-DEYXWPUO.js} +7503 -2575
- package/dist/browser/dev/excalidraw-assets-dev/chunk-DEYXWPUO.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js → chunk-EFLPX7NE.js} +6 -6
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-XOM7LNOU.js → chunk-EM6LVGFW.js} +27 -4
- package/dist/browser/dev/excalidraw-assets-dev/chunk-EM6LVGFW.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js → chunk-JYIQCNWV.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js → chunk-LVIQQW6F.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js → chunk-PXLO3FOU.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js → chunk-TO2AW5PW.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js → chunk-VURILHLY.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js → chunk-ZAYGSUHF.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-Z3PH3V2B.js → chunk-ZQR5ML6Y.js} +26 -26
- package/dist/browser/dev/excalidraw-assets-dev/chunk-ZQR5ML6Y.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js → classDiagram-30eddba6-CUYIJICN.js} +5 -5
- package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js → classDiagram-v2-f2df5561-K6WW6K73.js} +8 -8
- package/dist/browser/dev/excalidraw-assets-dev/{dist-Z46EOVOL.js → dist-6QVAH5JA.js} +37 -15
- package/dist/browser/dev/excalidraw-assets-dev/dist-6QVAH5JA.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{en-TR4QLF5E.js → en-AZFA5HJJ.js} +4 -2
- package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js → erDiagram-47591fe2-XGAD7EEP.js} +4 -4
- package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js → flowDiagram-5540d9b9-B6EOVNNO.js} +9 -9
- package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js → flowDiagram-v2-3b53844e-NUG24FJH.js} +9 -9
- package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js → flowchart-elk-definition-5fe447d6-25Y7PCBL.js} +5 -5
- package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js → ganttDiagram-9a3bba1f-GNL6ZDTC.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js → gitGraphDiagram-96e6b4ee-HNW52NVO.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{image-OIPMBJGR.js → image-5XCR4WHS.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{image-OFRRV5MB.css → image-O66MQ7WQ.css} +1 -1
- package/dist/browser/dev/excalidraw-assets-dev/image-O66MQ7WQ.css.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js → infoDiagram-bcd20f53-FWEUVFLT.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js → journeyDiagram-4fe6b3dc-RZIUI7UG.js} +3 -3
- package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js → mindmap-definition-f354de21-GBVN45GU.js} +3 -3
- package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js → pieDiagram-79897490-ECENNII6.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js → quadrantDiagram-62f64e94-ZMEOFVNL.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js → requirementDiagram-05bf5f74-FHZSFHCR.js} +4 -4
- package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js → sankeyDiagram-97764748-VDKIKTA6.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js → sequenceDiagram-acc0e65c-6JUSPVKX.js} +3 -3
- package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js → stateDiagram-0ff1cf1a-L3AKWENF.js} +5 -5
- package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js → stateDiagram-v2-9a9d610d-NU3GGMCH.js} +8 -8
- package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js → timeline-definition-fea2a41d-JGP7XCHW.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js → xychartDiagram-ab372869-HLFHHF2I.js} +3 -3
- package/dist/browser/dev/index.css +199 -77
- package/dist/browser/dev/index.css.map +3 -3
- package/dist/browser/dev/index.js +12477 -8028
- package/dist/browser/dev/index.js.map +4 -4
- package/dist/browser/prod/excalidraw-assets/{blockDiagram-91b80b7a-ONPS22AM.js → blockDiagram-91b80b7a-FVCRVGN5.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{c4Diagram-b2a90758-XMIQY7ZT.js → c4Diagram-b2a90758-56CXO7GA.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-GCHQBOKV.js → chunk-635MQ3CK.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-5SYIAZGL.js → chunk-7DXALCB2.js} +5 -5
- package/dist/browser/prod/excalidraw-assets/{chunk-P5M3G2RP.js → chunk-AIKXYJX3.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-E2YLWFZX.js → chunk-CR7VMNWC.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-WEYK4A2L.js → chunk-FFF2CSVG.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-R3HAIP6R.js → chunk-G4WDCSPE.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-HFOXJM22.js → chunk-HKZSHFLX.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-XIMFFJTE.js → chunk-IKCDYWMW.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-AHLLBBVJ.js → chunk-L5DS24G6.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-CQJF3C6G.js → chunk-MUNOKHUD.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/chunk-ODWTVSS7.js +68 -0
- package/dist/browser/prod/excalidraw-assets/{chunk-NI6SYCUG.js → chunk-QOQYOOQ4.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{chunk-I2PZFXTK.js → chunk-ZTIWFPBM.js} +21 -21
- package/dist/browser/prod/excalidraw-assets/{classDiagram-30eddba6-IEJXXCVX.js → classDiagram-30eddba6-BCUTAUMD.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{classDiagram-v2-f2df5561-7LZDSWOS.js → classDiagram-v2-f2df5561-6SOXSGQ2.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/dist-567JAXHK.js +7 -0
- package/dist/browser/prod/excalidraw-assets/en-6E7MYLWO.js +1 -0
- package/dist/browser/prod/excalidraw-assets/{erDiagram-47591fe2-E5V666CF.js → erDiagram-47591fe2-RE6HB7RM.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{flowDiagram-5540d9b9-GMBRCYVF.js → flowDiagram-5540d9b9-ZNJZBERW.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{flowDiagram-v2-3b53844e-Z4HUWP6B.js → flowDiagram-v2-3b53844e-LY44JLQJ.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{flowchart-elk-definition-5fe447d6-5ZCYTX5N.js → flowchart-elk-definition-5fe447d6-TMTJ6Z7O.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{ganttDiagram-9a3bba1f-WM32OMT5.js → ganttDiagram-9a3bba1f-5O6EA6LX.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{gitGraphDiagram-96e6b4ee-CAKZ2U6E.js → gitGraphDiagram-96e6b4ee-UHYNM5DI.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/image-LQAMCFQI.js +1 -0
- package/dist/browser/prod/excalidraw-assets/{infoDiagram-bcd20f53-MUIKXGC4.js → infoDiagram-bcd20f53-BP77NQEH.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{journeyDiagram-4fe6b3dc-NYRV4HK2.js → journeyDiagram-4fe6b3dc-XMGKCMES.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{mindmap-definition-f354de21-MY55DRSM.js → mindmap-definition-f354de21-ZQRRBRWF.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{pieDiagram-79897490-47L6J6L2.js → pieDiagram-79897490-IGXEC2KX.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{quadrantDiagram-62f64e94-DF5C2GDT.js → quadrantDiagram-62f64e94-WTHHDYJL.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{requirementDiagram-05bf5f74-C4IMUBDN.js → requirementDiagram-05bf5f74-MV4OFRVW.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{sankeyDiagram-97764748-YHW7EUST.js → sankeyDiagram-97764748-ZGYUHEJT.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{sequenceDiagram-acc0e65c-H3XEHT32.js → sequenceDiagram-acc0e65c-IBSENK6W.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{stateDiagram-0ff1cf1a-Z5WB6Q3P.js → stateDiagram-0ff1cf1a-DB73XNZH.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{stateDiagram-v2-9a9d610d-T7OZETQC.js → stateDiagram-v2-9a9d610d-2OOBUPNR.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{timeline-definition-fea2a41d-VVC22BWF.js → timeline-definition-fea2a41d-P3NQQVDU.js} +1 -1
- package/dist/browser/prod/excalidraw-assets/{xychartDiagram-ab372869-JAXODQF7.js → xychartDiagram-ab372869-HI3XLK3Y.js} +1 -1
- package/dist/browser/prod/index.css +1 -1
- package/dist/browser/prod/index.js +69 -51
- package/dist/{prod/en-XW4JO6VX.json → dev/en-EB2MBPAV.json} +24 -3
- package/dist/dev/index.css +199 -77
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +15120 -11334
- package/dist/dev/index.js.map +4 -4
- package/dist/excalidraw/actions/actionAddToLibrary.d.ts +16 -7
- package/dist/excalidraw/actions/actionAddToLibrary.js +4 -3
- package/dist/excalidraw/actions/actionAlign.d.ts +22 -22
- package/dist/excalidraw/actions/actionAlign.js +7 -6
- package/dist/excalidraw/actions/actionBoundText.d.ts +18 -12
- package/dist/excalidraw/actions/actionBoundText.js +7 -4
- package/dist/excalidraw/actions/actionCanvas.d.ts +100 -64
- package/dist/excalidraw/actions/actionCanvas.js +17 -14
- package/dist/excalidraw/actions/actionClipboard.d.ts +52 -31
- package/dist/excalidraw/actions/actionClipboard.js +14 -13
- package/dist/excalidraw/actions/actionDeleteSelected.d.ts +22 -13
- package/dist/excalidraw/actions/actionDeleteSelected.js +6 -3
- package/dist/excalidraw/actions/actionDistribute.d.ts +10 -10
- package/dist/excalidraw/actions/actionDistribute.js +3 -2
- package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +7 -8
- package/dist/excalidraw/actions/actionDuplicateSelection.js +4 -4
- package/dist/excalidraw/actions/actionElementLock.d.ts +17 -11
- package/dist/excalidraw/actions/actionElementLock.js +3 -2
- package/dist/excalidraw/actions/actionExport.d.ts +68 -41
- package/dist/excalidraw/actions/actionExport.js +15 -11
- package/dist/excalidraw/actions/actionFinalize.d.ts +17 -11
- package/dist/excalidraw/actions/actionFinalize.js +7 -3
- package/dist/excalidraw/actions/actionFlip.d.ts +10 -10
- package/dist/excalidraw/actions/actionFlip.js +9 -9
- package/dist/excalidraw/actions/actionFrame.d.ts +186 -21
- package/dist/excalidraw/actions/actionFrame.js +7 -6
- package/dist/excalidraw/actions/actionGroup.d.ts +24 -18
- package/dist/excalidraw/actions/actionGroup.js +7 -11
- package/dist/excalidraw/actions/actionHistory.d.ts +4 -3
- package/dist/excalidraw/actions/actionHistory.js +27 -31
- package/dist/excalidraw/actions/actionLinearEditor.d.ts +10 -5
- package/dist/excalidraw/actions/actionLinearEditor.js +21 -5
- package/dist/excalidraw/actions/actionLink.d.ts +9 -6
- package/dist/excalidraw/actions/actionLink.js +2 -1
- package/dist/excalidraw/actions/actionMenu.d.ts +20 -11
- package/dist/excalidraw/actions/actionMenu.js +4 -3
- package/dist/excalidraw/actions/actionNavigate.d.ts +12 -6
- package/dist/excalidraw/actions/actionNavigate.js +3 -2
- package/dist/excalidraw/actions/actionProperties.d.ts +86 -47
- package/dist/excalidraw/actions/actionProperties.js +19 -14
- package/dist/excalidraw/actions/actionSelectAll.d.ts +9 -6
- package/dist/excalidraw/actions/actionSelectAll.js +2 -1
- package/dist/excalidraw/actions/actionStyles.d.ts +15 -12
- package/dist/excalidraw/actions/actionStyles.js +4 -3
- package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
- package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
- package/dist/excalidraw/actions/actionToggleGridMode.d.ts +9 -6
- package/dist/excalidraw/actions/actionToggleGridMode.js +2 -1
- package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +8 -5
- package/dist/excalidraw/actions/actionToggleObjectsSnapMode.js +2 -1
- package/dist/excalidraw/actions/actionToggleStats.d.ts +9 -5
- package/dist/excalidraw/actions/actionToggleStats.js +6 -4
- package/dist/excalidraw/actions/actionToggleViewMode.d.ts +8 -5
- package/dist/excalidraw/actions/actionToggleViewMode.js +2 -1
- package/dist/excalidraw/actions/actionToggleZenMode.d.ts +8 -5
- package/dist/excalidraw/actions/actionToggleZenMode.js +2 -1
- package/dist/excalidraw/actions/actionZindex.d.ts +20 -16
- package/dist/excalidraw/actions/actionZindex.js +9 -4
- package/dist/excalidraw/actions/manager.d.ts +5 -5
- package/dist/excalidraw/actions/register.d.ts +1 -1
- package/dist/excalidraw/actions/shortcuts.d.ts +2 -2
- package/dist/excalidraw/actions/types.d.ts +8 -8
- package/dist/excalidraw/align.d.ts +1 -1
- package/dist/excalidraw/animated-trail.d.ts +2 -2
- package/dist/excalidraw/appState.d.ts +9 -6
- package/dist/excalidraw/appState.js +6 -3
- package/dist/excalidraw/change.d.ts +191 -0
- package/dist/excalidraw/change.js +901 -0
- package/dist/excalidraw/charts.d.ts +1 -1
- package/dist/excalidraw/clients.d.ts +2 -2
- package/dist/excalidraw/clients.js +1 -1
- package/dist/excalidraw/clipboard.d.ts +3 -3
- package/dist/excalidraw/colors.d.ts +1 -1
- package/dist/excalidraw/components/Actions.d.ts +3 -3
- package/dist/excalidraw/components/Actions.js +9 -6
- package/dist/excalidraw/components/App.d.ts +19 -20
- package/dist/excalidraw/components/App.js +323 -195
- package/dist/excalidraw/components/ButtonIconSelect.js +1 -1
- package/dist/excalidraw/components/CheckboxItem.js +1 -1
- package/dist/excalidraw/components/ColorPicker/ColorInput.d.ts +1 -1
- package/dist/excalidraw/components/ColorPicker/ColorInput.js +1 -1
- package/dist/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
- package/dist/excalidraw/components/ColorPicker/ColorPicker.js +1 -1
- package/dist/excalidraw/components/ColorPicker/Picker.d.ts +3 -3
- package/dist/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
- package/dist/excalidraw/components/ColorPicker/PickerHeading.d.ts +1 -1
- package/dist/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
- package/dist/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
- package/dist/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
- package/dist/excalidraw/components/ColorPicker/colorPickerUtils.js +1 -1
- package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
- package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.js +1 -1
- package/dist/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
- package/dist/excalidraw/components/CommandPalette/CommandPalette.js +5 -5
- package/dist/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -1
- package/dist/excalidraw/components/CommandPalette/types.d.ts +3 -3
- package/dist/excalidraw/components/ConfirmDialog.d.ts +1 -1
- package/dist/excalidraw/components/ContextMenu.d.ts +2 -2
- package/dist/excalidraw/components/ContextMenu.js +2 -2
- package/dist/excalidraw/components/DarkModeToggle.d.ts +1 -1
- package/dist/excalidraw/components/DefaultSidebar.d.ts +2 -2
- package/dist/excalidraw/components/Dialog.js +1 -1
- package/dist/excalidraw/components/DialogActionButton.d.ts +1 -1
- package/dist/excalidraw/components/EyeDropper.d.ts +2 -2
- package/dist/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
- package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
- package/dist/excalidraw/components/HelpDialog.js +1 -1
- package/dist/excalidraw/components/HintViewer.d.ts +1 -1
- package/dist/excalidraw/components/IconPicker.js +2 -2
- package/dist/excalidraw/components/ImageExportDialog.d.ts +1 -1
- package/dist/excalidraw/components/InitializeApp.d.ts +2 -2
- package/dist/excalidraw/components/JSONExportDialog.d.ts +3 -3
- package/dist/excalidraw/components/LayerUI.d.ts +4 -4
- package/dist/excalidraw/components/LayerUI.js +10 -7
- package/dist/excalidraw/components/LibraryMenu.d.ts +2 -2
- package/dist/excalidraw/components/LibraryMenuBrowseButton.d.ts +1 -1
- package/dist/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
- package/dist/excalidraw/components/LibraryMenuHeaderContent.d.ts +2 -2
- package/dist/excalidraw/components/LibraryMenuItems.d.ts +1 -1
- package/dist/excalidraw/components/LibraryMenuSection.d.ts +5 -4
- package/dist/excalidraw/components/LibraryUnit.d.ts +2 -2
- package/dist/excalidraw/components/LoadingMessage.d.ts +1 -1
- package/dist/excalidraw/components/MagicSettings.js +2 -2
- package/dist/excalidraw/components/MobileMenu.d.ts +3 -3
- package/dist/excalidraw/components/MobileMenu.js +2 -6
- package/dist/excalidraw/components/Modal.d.ts +1 -1
- package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
- package/dist/excalidraw/components/PasteChartDialog.d.ts +1 -1
- package/dist/excalidraw/components/PasteChartDialog.js +1 -1
- package/dist/excalidraw/components/PublishLibrary.d.ts +1 -1
- package/dist/excalidraw/components/SVGLayer.d.ts +1 -1
- package/dist/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
- package/dist/excalidraw/components/Sidebar/Sidebar.js +1 -1
- package/dist/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -1
- package/dist/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -1
- package/dist/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
- package/dist/excalidraw/components/Sidebar/common.d.ts +1 -1
- package/dist/excalidraw/components/Stack.d.ts +2 -2
- package/dist/excalidraw/components/Stats/Angle.d.ts +12 -0
- package/dist/excalidraw/components/Stats/Angle.js +52 -0
- package/dist/excalidraw/components/Stats/Collapsible.d.ts +9 -0
- package/dist/excalidraw/components/Stats/Collapsible.js +12 -0
- package/dist/excalidraw/components/Stats/Dimension.d.ts +12 -0
- package/dist/excalidraw/components/Stats/Dimension.js +67 -0
- package/dist/excalidraw/components/Stats/DragInput.d.ts +32 -0
- package/dist/excalidraw/components/Stats/DragInput.js +174 -0
- package/dist/excalidraw/components/Stats/FontSize.d.ts +12 -0
- package/dist/excalidraw/components/Stats/FontSize.js +50 -0
- package/dist/excalidraw/components/Stats/MultiAngle.d.ts +12 -0
- package/dist/excalidraw/components/Stats/MultiAngle.js +66 -0
- package/dist/excalidraw/components/Stats/MultiDimension.d.ts +15 -0
- package/dist/excalidraw/components/Stats/MultiDimension.js +197 -0
- package/dist/excalidraw/components/Stats/MultiFontSize.d.ts +13 -0
- package/dist/excalidraw/components/Stats/MultiFontSize.js +72 -0
- package/dist/excalidraw/components/Stats/MultiPosition.d.ts +15 -0
- package/dist/excalidraw/components/Stats/MultiPosition.js +100 -0
- package/dist/excalidraw/components/Stats/Position.d.ts +13 -0
- package/dist/excalidraw/components/Stats/Position.js +39 -0
- package/dist/excalidraw/components/Stats/index.d.ts +16 -0
- package/dist/excalidraw/components/Stats/index.js +78 -0
- package/dist/excalidraw/components/Stats/utils.d.ts +25 -0
- package/dist/excalidraw/components/Stats/utils.js +158 -0
- package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -1
- package/dist/excalidraw/components/TTDDialog/TTDDialog.js +2 -2
- package/dist/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +1 -1
- package/dist/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +1 -1
- package/dist/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +1 -1
- package/dist/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +1 -1
- package/dist/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
- package/dist/excalidraw/components/TTDDialog/common.d.ts +4 -4
- package/dist/excalidraw/components/TextField.d.ts +1 -1
- package/dist/excalidraw/components/Toast.d.ts +1 -1
- package/dist/excalidraw/components/ToolButton.d.ts +4 -2
- package/dist/excalidraw/components/ToolButton.js +1 -1
- package/dist/excalidraw/components/Trans.d.ts +1 -1
- package/dist/excalidraw/components/UserList.d.ts +1 -1
- package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +5 -3
- package/dist/excalidraw/components/canvases/InteractiveCanvas.js +5 -2
- package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +2 -2
- package/dist/excalidraw/components/canvases/StaticCanvas.js +2 -2
- package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.js +2 -2
- package/dist/excalidraw/components/footer/Footer.d.ts +2 -2
- package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
- package/dist/excalidraw/components/hyperlink/helpers.d.ts +3 -3
- package/dist/excalidraw/components/icons.d.ts +6 -2
- package/dist/excalidraw/components/icons.js +22 -6
- package/dist/excalidraw/constants.d.ts +11 -2
- package/dist/excalidraw/constants.js +14 -1
- package/dist/excalidraw/context/ui-appState.d.ts +1 -1
- package/dist/excalidraw/cursor.d.ts +1 -1
- package/dist/excalidraw/data/EditorLocalStorage.d.ts +2 -2
- package/dist/excalidraw/data/blob.d.ts +5 -5
- package/dist/excalidraw/data/filesystem.d.ts +2 -1
- package/dist/excalidraw/data/index.d.ts +4 -4
- package/dist/excalidraw/data/json.d.ts +3 -3
- package/dist/excalidraw/data/library.d.ts +3 -3
- package/dist/excalidraw/data/magic.d.ts +3 -3
- package/dist/excalidraw/data/reconcile.d.ts +3 -3
- package/dist/excalidraw/data/reconcile.js +1 -1
- package/dist/excalidraw/data/resave.d.ts +2 -2
- package/dist/excalidraw/data/restore.d.ts +3 -3
- package/dist/excalidraw/data/restore.js +17 -2
- package/dist/excalidraw/data/transform.d.ts +3 -3
- package/dist/excalidraw/data/types.d.ts +3 -3
- package/dist/excalidraw/element/ElementCanvasButtons.d.ts +1 -1
- package/dist/excalidraw/element/binding.d.ts +48 -20
- package/dist/excalidraw/element/binding.js +354 -168
- package/dist/excalidraw/element/bounds.d.ts +3 -3
- package/dist/excalidraw/element/collision.d.ts +3 -3
- package/dist/excalidraw/element/collision.js +1 -1
- package/dist/excalidraw/element/containerCache.d.ts +1 -1
- package/dist/excalidraw/element/dragElements.d.ts +4 -4
- package/dist/excalidraw/element/dragElements.js +27 -3
- package/dist/excalidraw/element/embeddable.d.ts +10 -7
- package/dist/excalidraw/element/embeddable.js +2 -1
- package/dist/excalidraw/element/image.d.ts +2 -2
- package/dist/excalidraw/element/index.d.ts +2 -2
- package/dist/excalidraw/element/index.js +1 -1
- package/dist/excalidraw/element/linearElementEditor.d.ts +10 -7
- package/dist/excalidraw/element/linearElementEditor.js +9 -6
- package/dist/excalidraw/element/mutateElement.d.ts +3 -4
- package/dist/excalidraw/element/mutateElement.js +1 -1
- package/dist/excalidraw/element/newElement.d.ts +5 -8
- package/dist/excalidraw/element/newElement.js +16 -14
- package/dist/excalidraw/element/resizeElements.d.ts +12 -4
- package/dist/excalidraw/element/resizeElements.js +174 -98
- package/dist/excalidraw/element/resizeTest.d.ts +7 -7
- package/dist/excalidraw/element/resizeTest.js +53 -8
- package/dist/excalidraw/element/showSelectedShapeActions.d.ts +2 -2
- package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
- package/dist/excalidraw/element/sizeHelpers.js +3 -0
- package/dist/excalidraw/element/sortElements.d.ts +1 -1
- package/dist/excalidraw/element/textElement.d.ts +6 -5
- package/dist/excalidraw/element/textElement.js +16 -7
- package/dist/excalidraw/element/textWysiwyg.d.ts +12 -6
- package/dist/excalidraw/element/textWysiwyg.js +38 -17
- package/dist/excalidraw/element/transformHandles.d.ts +24 -6
- package/dist/excalidraw/element/transformHandles.js +22 -11
- package/dist/excalidraw/element/typeChecks.d.ts +5 -5
- package/dist/excalidraw/element/types.d.ts +16 -8
- package/dist/excalidraw/emitter.d.ts +1 -1
- package/dist/excalidraw/fractionalIndex.d.ts +1 -1
- package/dist/excalidraw/fractionalIndex.js +2 -4
- package/dist/excalidraw/frame.d.ts +3 -3
- package/dist/excalidraw/gatransforms.d.ts +1 -1
- package/dist/excalidraw/gesture.d.ts +1 -1
- package/dist/excalidraw/groups.d.ts +6 -4
- package/dist/excalidraw/groups.js +17 -0
- package/dist/excalidraw/history.d.ts +35 -47
- package/dist/excalidraw/history.js +100 -167
- package/dist/excalidraw/hooks/useEmitter.d.ts +2 -0
- package/dist/excalidraw/hooks/useEmitter.js +13 -0
- package/dist/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
- package/dist/excalidraw/i18n.d.ts +1 -1
- package/dist/excalidraw/index.d.ts +3 -1
- package/dist/excalidraw/index.js +2 -0
- package/dist/excalidraw/jotai.d.ts +1 -1
- package/dist/excalidraw/laser-trails.d.ts +3 -2
- package/dist/excalidraw/locales/en.json +24 -3
- package/dist/excalidraw/math.d.ts +4 -2
- package/dist/excalidraw/math.js +6 -0
- package/dist/excalidraw/mermaid.d.ts +2 -0
- package/dist/excalidraw/mermaid.js +28 -0
- package/dist/excalidraw/points.d.ts +1 -1
- package/dist/excalidraw/queue.d.ts +1 -1
- package/dist/excalidraw/renderer/helpers.d.ts +2 -2
- package/dist/excalidraw/renderer/interactiveScene.d.ts +2 -2
- package/dist/excalidraw/renderer/interactiveScene.js +38 -11
- package/dist/excalidraw/renderer/renderElement.d.ts +4 -4
- package/dist/excalidraw/renderer/renderElement.js +5 -5
- package/dist/excalidraw/renderer/renderSnaps.d.ts +1 -1
- package/dist/excalidraw/renderer/staticScene.d.ts +1 -1
- package/dist/excalidraw/renderer/staticScene.js +1 -1
- package/dist/excalidraw/renderer/staticSvgScene.d.ts +4 -4
- package/dist/excalidraw/scene/Fonts.d.ts +2 -4
- package/dist/excalidraw/scene/Fonts.js +12 -15
- package/dist/excalidraw/scene/Renderer.d.ts +4 -4
- package/dist/excalidraw/scene/Renderer.js +2 -3
- package/dist/excalidraw/scene/Scene.d.ts +17 -8
- package/dist/excalidraw/scene/Scene.js +19 -10
- package/dist/excalidraw/scene/Shape.d.ts +1 -1
- package/dist/excalidraw/scene/ShapeCache.d.ts +4 -4
- package/dist/excalidraw/scene/comparisons.d.ts +2 -2
- package/dist/excalidraw/scene/export.d.ts +2 -2
- package/dist/excalidraw/scene/export.js +2 -2
- package/dist/excalidraw/scene/scroll.d.ts +2 -2
- package/dist/excalidraw/scene/scrollbars.d.ts +3 -3
- package/dist/excalidraw/scene/selection.d.ts +2 -2
- package/dist/excalidraw/scene/types.d.ts +7 -8
- package/dist/excalidraw/scene/zoom.d.ts +1 -1
- package/dist/excalidraw/shapes.d.ts +7 -0
- package/dist/excalidraw/shapes.js +40 -0
- package/dist/excalidraw/snapping.d.ts +4 -4
- package/dist/excalidraw/snapping.js +2 -1
- package/dist/excalidraw/store.d.ts +129 -0
- package/dist/excalidraw/store.js +296 -0
- package/dist/excalidraw/types.d.ts +38 -20
- package/dist/excalidraw/utils.d.ts +10 -4
- package/dist/excalidraw/utils.js +7 -0
- package/dist/excalidraw/zindex.d.ts +2 -2
- package/dist/{dev/en-XW4JO6VX.json → prod/en-EB2MBPAV.json} +24 -3
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +39 -39
- package/dist/utils/bbox.d.ts +2 -2
- package/dist/utils/collision.d.ts +1 -1
- package/dist/utils/export.d.ts +2 -2
- package/dist/utils/geometry/geometry.d.ts +1 -1
- package/dist/utils/geometry/shape.d.ts +2 -1
- package/dist/utils/geometry/shape.js +19 -0
- package/dist/utils/withinBounds.d.ts +1 -1
- package/history.ts +163 -218
- package/package.json +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/chunk-WQFMSDPT.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/chunk-XOM7LNOU.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/chunk-Z3PH3V2B.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/dist-Z46EOVOL.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/image-OFRRV5MB.css.map +0 -7
- package/dist/browser/prod/excalidraw-assets/chunk-U3COIHDW.js +0 -55
- package/dist/browser/prod/excalidraw-assets/dist-PIPZXALV.js +0 -6
- package/dist/browser/prod/excalidraw-assets/en-7GPZE2Y2.js +0 -1
- package/dist/browser/prod/excalidraw-assets/image-ZLNYKWVQ.js +0 -1
- package/dist/excalidraw/components/Stats.d.ts +0 -11
- package/dist/excalidraw/components/Stats.js +0 -13
- /package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js.map → blockDiagram-91b80b7a-H47FTXHA.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js.map → c4Diagram-b2a90758-NNJK6GKC.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js.map → chunk-4KQVEBHW.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js.map → chunk-53YI56GV.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js.map → chunk-A2WCJI4I.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js.map → chunk-EFLPX7NE.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js.map → chunk-JYIQCNWV.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js.map → chunk-LVIQQW6F.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js.map → chunk-PXLO3FOU.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js.map → chunk-TO2AW5PW.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js.map → chunk-VURILHLY.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js.map → chunk-ZAYGSUHF.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js.map → classDiagram-30eddba6-CUYIJICN.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js.map → classDiagram-v2-f2df5561-K6WW6K73.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{en-TR4QLF5E.js.map → en-AZFA5HJJ.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js.map → erDiagram-47591fe2-XGAD7EEP.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js.map → flowDiagram-5540d9b9-B6EOVNNO.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js.map → flowDiagram-v2-3b53844e-NUG24FJH.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js.map → flowchart-elk-definition-5fe447d6-25Y7PCBL.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js.map → ganttDiagram-9a3bba1f-GNL6ZDTC.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js.map → gitGraphDiagram-96e6b4ee-HNW52NVO.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{image-OIPMBJGR.js.map → image-5XCR4WHS.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js.map → infoDiagram-bcd20f53-FWEUVFLT.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js.map → journeyDiagram-4fe6b3dc-RZIUI7UG.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js.map → mindmap-definition-f354de21-GBVN45GU.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js.map → pieDiagram-79897490-ECENNII6.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js.map → quadrantDiagram-62f64e94-ZMEOFVNL.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js.map → requirementDiagram-05bf5f74-FHZSFHCR.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js.map → sankeyDiagram-97764748-VDKIKTA6.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js.map → sequenceDiagram-acc0e65c-6JUSPVKX.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js.map → stateDiagram-0ff1cf1a-L3AKWENF.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js.map → stateDiagram-v2-9a9d610d-NU3GGMCH.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js.map → timeline-definition-fea2a41d-JGP7XCHW.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js.map → xychartDiagram-ab372869-HLFHHF2I.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as x,a as L,c as wr,d as Z,e as Er,f as O,g as s,h as C,i as W,j as E,k as br,l as yr,m,n as R,o as k,p as A,q as g,r as S,s as D,t as j,u as N,v as G,w as xr,x as T,y as Y,z as $}from"./chunk-AHLLBBVJ.js";import{Ba as U,ha as _r,xa as B}from"./chunk-I2PZFXTK.js";import{a as h}from"./chunk-M2JW2GFW.js";h();h();h();function I(r,e,n,o){var t;do t=Y(o);while(r.hasNode(t));return n.dummy=e,r.setNode(t,n),t}function kr(r){var e=new x().setGraph(r.graph());return s(r.nodes(),function(n){e.setNode(n,r.node(n))}),s(r.edges(),function(n){var o=e.edge(n.v,n.w)||{weight:0,minlen:1},t=r.edge(n);e.setEdge(n.v,n.w,{weight:o.weight+t.weight,minlen:Math.max(o.minlen,t.minlen)})}),e}function H(r){var e=new x({multigraph:r.isMultigraph()}).setGraph(r.graph());return s(r.nodes(),function(n){r.children(n).length||e.setNode(n,r.node(n))}),s(r.edges(),function(n){e.setEdge(n,r.edge(n))}),e}function rr(r,e){var n=r.x,o=r.y,t=e.x-n,i=e.y-o,a=r.width/2,f=r.height/2;if(!t&&!i)throw new Error("Not possible to find intersection inside of the rectangle");var u,d;return Math.abs(i)*a>Math.abs(t)*f?(i<0&&(f=-f),u=f*t/i,d=f):(t<0&&(a=-a),u=a,d=a*i/t),{x:n+u,y:o+d}}function M(r){var e=E(N(nr(r)+1),function(){return[]});return s(r.nodes(),function(n){var o=r.node(n),t=o.rank;k(t)||(e[t][o.order]=n)}),e}function gr(r){var e=S(E(r.nodes(),function(n){return r.node(n).rank}));s(r.nodes(),function(n){var o=r.node(n);m(o,"rank")&&(o.rank-=e)})}function Nr(r){var e=S(E(r.nodes(),function(i){return r.node(i).rank})),n=[];s(r.nodes(),function(i){var a=r.node(i).rank-e;n[a]||(n[a]=[]),n[a].push(i)});var o=0,t=r.graph().nodeRankFactor;s(n,function(i,a){k(i)&&a%t!==0?--o:o&&s(i,function(f){r.node(f).rank+=o})})}function er(r,e,n,o){var t={width:0,height:0};return arguments.length>=4&&(t.rank=n,t.order=o),I(r,"border",t,e)}function nr(r){return g(E(r.nodes(),function(e){var n=r.node(e).rank;if(!k(n))return n}))}function Ir(r,e){var n={lhs:[],rhs:[]};return s(r,function(o){e(o)?n.lhs.push(o):n.rhs.push(o)}),n}function Lr(r,e){var n=Z();try{return e()}finally{console.log(r+" time: "+(Z()-n)+"ms")}}function Cr(r,e){return e()}function Rr(r){function e(n){var o=r.children(n),t=r.node(n);if(o.length&&s(o,e),m(t,"minRank")){t.borderLeft=[],t.borderRight=[];for(var i=t.minRank,a=t.maxRank+1;i<a;++i)Tr(r,"borderLeft","_bl",n,t,i),Tr(r,"borderRight","_br",n,t,i)}}s(r.children(),e)}function Tr(r,e,n,o,t,i){var a={width:0,height:0,rank:i,borderType:e},f=t[e][i-1],u=I(r,"border",a,n);t[e][i]=u,r.setParent(u,o),f&&r.setEdge(f,u,{weight:1})}h();function Mr(r){var e=r.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&Fr(r)}function Pr(r){var e=r.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&me(r),(e==="lr"||e==="rl")&&(ve(r),Fr(r))}function Fr(r){s(r.nodes(),function(e){Sr(r.node(e))}),s(r.edges(),function(e){Sr(r.edge(e))})}function Sr(r){var e=r.width;r.width=r.height,r.height=e}function me(r){s(r.nodes(),function(e){or(r.node(e))}),s(r.edges(),function(e){var n=r.edge(e);s(n.points,or),m(n,"y")&&or(n)})}function or(r){r.y=-r.y}function ve(r){s(r.nodes(),function(e){tr(r.node(e))}),s(r.edges(),function(e){var n=r.edge(e);s(n.points,tr),m(n,"x")&&tr(n)})}function tr(r){var e=r.x;r.x=r.y,r.y=e}h();h();h();var J=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,n=e._prev;if(n!==e)return Or(n),n}enqueue(e){var n=this._sentinel;e._prev&&e._next&&Or(e),e._next=n._next,n._next._prev=e,n._next=e,e._prev=n}toString(){for(var e=[],n=this._sentinel,o=n._prev;o!==n;)e.push(JSON.stringify(o,we)),o=o._prev;return"["+e.join(", ")+"]"}};function Or(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function we(r,e){if(r!=="_next"&&r!=="_prev")return e}var Ee=B(1);function Gr(r,e){if(r.nodeCount()<=1)return[];var n=ye(r,e||Ee),o=be(n.graph,n.buckets,n.zeroIdx);return L(E(o,function(t){return r.outEdges(t.v,t.w)}))}function be(r,e,n){for(var o=[],t=e[e.length-1],i=e[0],a;r.nodeCount();){for(;a=i.dequeue();)ir(r,e,n,a);for(;a=t.dequeue();)ir(r,e,n,a);if(r.nodeCount()){for(var f=e.length-2;f>0;--f)if(a=e[f].dequeue(),a){o=o.concat(ir(r,e,n,a,!0));break}}}return o}function ir(r,e,n,o,t){var i=t?[]:void 0;return s(r.inEdges(o.v),function(a){var f=r.edge(a),u=r.node(a.v);t&&i.push({v:a.v,w:a.w}),u.out-=f,ar(e,n,u)}),s(r.outEdges(o.v),function(a){var f=r.edge(a),u=a.w,d=r.node(u);d.in-=f,ar(e,n,d)}),r.removeNode(o.v),i}function ye(r,e){var n=new x,o=0,t=0;s(r.nodes(),function(f){n.setNode(f,{v:f,in:0,out:0})}),s(r.edges(),function(f){var u=n.edge(f.v,f.w)||0,d=e(f),c=u+d;n.setEdge(f.v,f.w,c),t=Math.max(t,n.node(f.v).out+=d),o=Math.max(o,n.node(f.w).in+=d)});var i=N(t+o+3).map(function(){return new J}),a=o+1;return s(n.nodes(),function(f){ar(i,a,n.node(f))}),{graph:n,buckets:i,zeroIdx:a}}function ar(r,e,n){n.out?n.in?r[n.out-n.in+e].enqueue(n):r[r.length-1].enqueue(n):r[0].enqueue(n)}function Vr(r){var e=r.graph().acyclicer==="greedy"?Gr(r,n(r)):xe(r);s(e,function(o){var t=r.edge(o);r.removeEdge(o),t.forwardName=o.name,t.reversed=!0,r.setEdge(o.w,o.v,t,Y("rev"))});function n(o){return function(t){return o.edge(t).weight}}}function xe(r){var e=[],n={},o={};function t(i){m(o,i)||(o[i]=!0,n[i]=!0,s(r.outEdges(i),function(a){m(n,a.w)?e.push(a):t(a.w)}),delete n[i])}return s(r.nodes(),t),e}function Br(r){s(r.edges(),function(e){var n=r.edge(e);if(n.reversed){r.removeEdge(e);var o=n.forwardName;delete n.reversed,delete n.forwardName,r.setEdge(e.w,e.v,n,o)}})}h();function Dr(r){r.graph().dummyChains=[],s(r.edges(),function(e){ke(r,e)})}function ke(r,e){var n=e.v,o=r.node(n).rank,t=e.w,i=r.node(t).rank,a=e.name,f=r.edge(e),u=f.labelRank;if(i!==o+1){r.removeEdge(e);var d,c,l;for(l=0,++o;o<i;++l,++o)f.points=[],c={width:0,height:0,edgeLabel:f,edgeObj:e,rank:o},d=I(r,"edge",c,"_d"),o===u&&(c.width=f.width,c.height=f.height,c.dummy="edge-label",c.labelpos=f.labelpos),r.setEdge(n,d,{weight:f.weight},a),l===0&&r.graph().dummyChains.push(d),n=d;r.setEdge(n,t,{weight:f.weight},a)}}function jr(r){s(r.graph().dummyChains,function(e){var n=r.node(e),o=n.edgeLabel,t;for(r.setEdge(n.edgeObj,o);n.dummy;)t=r.successors(e)[0],r.removeNode(e),o.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height),e=t,n=r.node(e)})}h();h();h();function q(r){var e={};function n(o){var t=r.node(o);if(m(e,o))return t.rank;e[o]=!0;var i=S(E(r.outEdges(o),function(a){return n(a.w)-r.edge(a).minlen}));return(i===Number.POSITIVE_INFINITY||i===void 0||i===null)&&(i=0),t.rank=i}s(r.sources(),n)}function V(r,e){return r.node(e.w).rank-r.node(e.v).rank-r.edge(e).minlen}function K(r){var e=new x({directed:!1}),n=r.nodes()[0],o=r.nodeCount();e.setNode(n,{});for(var t,i;ge(e,r)<o;)t=Ne(e,r),i=e.hasNode(t.v)?V(r,t):-V(r,t),Ie(e,r,i);return e}function ge(r,e){function n(o){s(e.nodeEdges(o),function(t){var i=t.v,a=o===i?t.w:i;!r.hasNode(a)&&!V(e,t)&&(r.setNode(a,{}),r.setEdge(o,a,{}),n(a))})}return s(r.nodes(),n),r.nodeCount()}function Ne(r,e){return D(e.edges(),function(n){if(r.hasNode(n.v)!==r.hasNode(n.w))return V(e,n)})}function Ie(r,e,n){s(r.nodes(),function(o){e.node(o).rank+=n})}h();h();h();h();h();var to=B(1);h();h();h();h();var vo=B(1);h();h();fr.CycleException=X;function fr(r){var e={},n={},o=[];function t(i){if(m(n,i))throw new X;m(e,i)||(n[i]=!0,e[i]=!0,s(r.predecessors(i),t),delete n[i],o.push(i))}if(s(r.sinks(),t),xr(e)!==r.nodeCount())throw new X;return o}function X(){}X.prototype=new Error;h();h();function Q(r,e,n){_r(e)||(e=[e]);var o=(r.isDirected()?r.successors:r.neighbors).bind(r),t=[],i={};return s(e,function(a){if(!r.hasNode(a))throw new Error("Graph does not have node: "+a);zr(r,a,n==="post",i,o,t)}),t}function zr(r,e,n,o,t,i){m(o,e)||(o[e]=!0,n||i.push(e),s(t(e),function(a){zr(r,a,n,o,t,i)}),n&&i.push(e))}function sr(r,e){return Q(r,e,"post")}h();function ur(r,e){return Q(r,e,"pre")}h();F.initLowLimValues=cr;F.initCutValues=dr;F.calcCutValue=Wr;F.leaveEdge=Xr;F.enterEdge=Hr;F.exchangeEdges=Jr;function F(r){r=kr(r),q(r);var e=K(r);cr(e),dr(e,r);for(var n,o;n=Xr(e);)o=Hr(e,r,n),Jr(e,r,n,o)}function dr(r,e){var n=sr(r,r.nodes());n=n.slice(0,n.length-1),s(n,function(o){Se(r,e,o)})}function Se(r,e,n){var o=r.node(n),t=o.parent;r.edge(n,t).cutvalue=Wr(r,e,n)}function Wr(r,e,n){var o=r.node(n),t=o.parent,i=!0,a=e.edge(n,t),f=0;return a||(i=!1,a=e.edge(t,n)),f=a.weight,s(e.nodeEdges(n),function(u){var d=u.v===n,c=d?u.w:u.v;if(c!==t){var l=d===i,v=e.edge(u).weight;if(f+=l?v:-v,Pe(r,n,c)){var _=r.edge(n,c).cutvalue;f+=l?-_:_}}}),f}function cr(r,e){arguments.length<2&&(e=r.nodes()[0]),qr(r,{},1,e)}function qr(r,e,n,o,t){var i=n,a=r.node(o);return e[o]=!0,s(r.neighbors(o),function(f){m(e,f)||(n=qr(r,e,n,f,o))}),a.low=i,a.lim=n++,t?a.parent=t:delete a.parent,n}function Xr(r){return W(r.edges(),function(e){return r.edge(e).cutvalue<0})}function Hr(r,e,n){var o=n.v,t=n.w;e.hasEdge(o,t)||(o=n.w,t=n.v);var i=r.node(o),a=r.node(t),f=i,u=!1;i.lim>a.lim&&(f=a,u=!0);var d=C(e.edges(),function(c){return u===Ur(r,r.node(c.v),f)&&u!==Ur(r,r.node(c.w),f)});return D(d,function(c){return V(e,c)})}function Jr(r,e,n,o){var t=n.v,i=n.w;r.removeEdge(t,i),r.setEdge(o.v,o.w,{}),cr(r),dr(r,e),Me(r,e)}function Me(r,e){var n=W(r.nodes(),function(t){return!e.node(t).parent}),o=ur(r,n);o=o.slice(1),s(o,function(t){var i=r.node(t).parent,a=e.edge(t,i),f=!1;a||(a=e.edge(i,t),f=!0),e.node(t).rank=e.node(i).rank+(f?a.minlen:-a.minlen)})}function Pe(r,e,n){return r.hasEdge(e,n)}function Ur(r,e,n){return n.low<=e.lim&&e.lim<=n.lim}function hr(r){switch(r.graph().ranker){case"network-simplex":Kr(r);break;case"tight-tree":Oe(r);break;case"longest-path":Fe(r);break;default:Kr(r)}}var Fe=q;function Oe(r){q(r),K(r)}function Kr(r){F(r)}h();function Qr(r){var e=I(r,"root",{},"_root"),n=Ge(r),o=g(R(n))-1,t=2*o+1;r.graph().nestingRoot=e,s(r.edges(),function(a){r.edge(a).minlen*=t});var i=Ve(r)+1;s(r.children(),function(a){Zr(r,e,t,i,o,n,a)}),r.graph().nodeRankFactor=t}function Zr(r,e,n,o,t,i,a){var f=r.children(a);if(!f.length){a!==e&&r.setEdge(e,a,{weight:0,minlen:n});return}var u=er(r,"_bt"),d=er(r,"_bb"),c=r.node(a);r.setParent(u,a),c.borderTop=u,r.setParent(d,a),c.borderBottom=d,s(f,function(l){Zr(r,e,n,o,t,i,l);var v=r.node(l),_=v.borderTop?v.borderTop:l,w=v.borderBottom?v.borderBottom:l,y=v.borderTop?o:2*o,z=_!==w?1:t-i[a]+1;r.setEdge(u,_,{weight:y,minlen:z,nestingEdge:!0}),r.setEdge(w,d,{weight:y,minlen:z,nestingEdge:!0})}),r.parent(a)||r.setEdge(e,u,{weight:0,minlen:t+i[a]})}function Ge(r){var e={};function n(o,t){var i=r.children(o);i&&i.length&&s(i,function(a){n(a,t+1)}),e[o]=t}return s(r.children(),function(o){n(o,1)}),e}function Ve(r){return G(r.edges(),function(e,n){return e+r.edge(n).weight},0)}function $r(r){var e=r.graph();r.removeNode(e.nestingRoot),delete e.nestingRoot,s(r.edges(),function(n){var o=r.edge(n);o.nestingEdge&&r.removeEdge(n)})}h();h();function re(r,e,n){var o={},t;s(n,function(i){for(var a=r.parent(i),f,u;a;){if(f=r.parent(a),f?(u=o[f],o[f]=a):(u=t,t=a),u&&u!==a){e.setEdge(u,a);return}a=f}})}h();function ee(r,e,n){var o=Ae(r),t=new x({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(i){return r.node(i)});return s(r.nodes(),function(i){var a=r.node(i),f=r.parent(i);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(t.setNode(i),t.setParent(i,f||o),s(r[n](i),function(u){var d=u.v===i?u.w:u.v,c=t.edge(d,i),l=k(c)?0:c.weight;t.setEdge(d,i,{weight:r.edge(u).weight+l})}),m(a,"minRank")&&t.setNode(i,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),t}function Ae(r){for(var e;r.hasNode(e=Y("_root")););return e}h();function ne(r,e){for(var n=0,o=1;o<e.length;++o)n+=De(r,e[o-1],e[o]);return n}function De(r,e,n){for(var o=$(n,E(n,function(d,c){return c})),t=L(E(e,function(d){return T(E(r.outEdges(d),function(c){return{pos:o[c.w],weight:r.edge(c).weight}}),"pos")})),i=1;i<n.length;)i<<=1;var a=2*i-1;i-=1;var f=E(new Array(a),function(){return 0}),u=0;return s(t.forEach(function(d){var c=d.pos+i;f[c]+=d.weight;for(var l=0;c>0;)c%2&&(l+=f[c+1]),c=c-1>>1,f[c]+=d.weight;u+=d.weight*l})),u}h();function oe(r){var e={},n=C(r.nodes(),function(f){return!r.children(f).length}),o=g(E(n,function(f){return r.node(f).rank})),t=E(N(o+1),function(){return[]});function i(f){if(!m(e,f)){e[f]=!0;var u=r.node(f);t[u.rank].push(f),s(r.successors(f),i)}}var a=T(n,function(f){return r.node(f).rank});return s(a,i),t}h();h();function te(r,e){return E(e,function(n){var o=r.inEdges(n);if(o.length){var t=G(o,function(i,a){var f=r.edge(a),u=r.node(a.v);return{sum:i.sum+f.weight*u.order,weight:i.weight+f.weight}},{sum:0,weight:0});return{v:n,barycenter:t.sum/t.weight,weight:t.weight}}else return{v:n}})}h();function ie(r,e){var n={};s(r,function(t,i){var a=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i};k(t.barycenter)||(a.barycenter=t.barycenter,a.weight=t.weight)}),s(e.edges(),function(t){var i=n[t.v],a=n[t.w];!k(i)&&!k(a)&&(a.indegree++,i.out.push(n[t.w]))});var o=C(n,function(t){return!t.indegree});return je(o)}function je(r){var e=[];function n(i){return function(a){a.merged||(k(a.barycenter)||k(i.barycenter)||a.barycenter>=i.barycenter)&&Ye(i,a)}}function o(i){return function(a){a.in.push(i),--a.indegree===0&&r.push(a)}}for(;r.length;){var t=r.pop();e.push(t),s(t.in.reverse(),n(t)),s(t.out,o(t))}return E(C(e,function(i){return!i.merged}),function(i){return j(i,["vs","i","barycenter","weight"])})}function Ye(r,e){var n=0,o=0;r.weight&&(n+=r.barycenter*r.weight,o+=r.weight),e.weight&&(n+=e.barycenter*e.weight,o+=e.weight),r.vs=e.vs.concat(r.vs),r.barycenter=n/o,r.weight=o,r.i=Math.min(e.i,r.i),e.merged=!0}h();function fe(r,e){var n=Ir(r,function(c){return m(c,"barycenter")}),o=n.lhs,t=T(n.rhs,function(c){return-c.i}),i=[],a=0,f=0,u=0;o.sort(ze(!!e)),u=ae(i,t,u),s(o,function(c){u+=c.vs.length,i.push(c.vs),a+=c.barycenter*c.weight,f+=c.weight,u=ae(i,t,u)});var d={vs:L(i)};return f&&(d.barycenter=a/f,d.weight=f),d}function ae(r,e,n){for(var o;e.length&&(o=O(e)).i<=n;)e.pop(),r.push(o.vs),n++;return n}function ze(r){return function(e,n){return e.barycenter<n.barycenter?-1:e.barycenter>n.barycenter?1:r?n.i-e.i:e.i-n.i}}function lr(r,e,n,o){var t=r.children(e),i=r.node(e),a=i?i.borderLeft:void 0,f=i?i.borderRight:void 0,u={};a&&(t=C(t,function(w){return w!==a&&w!==f}));var d=te(r,t);s(d,function(w){if(r.children(w.v).length){var y=lr(r,w.v,n,o);u[w.v]=y,m(y,"barycenter")&&We(w,y)}});var c=ie(d,n);Ue(c,u);var l=fe(c,o);if(a&&(l.vs=L([a,l.vs,f]),r.predecessors(a).length)){var v=r.node(r.predecessors(a)[0]),_=r.node(r.predecessors(f)[0]);m(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+v.order+_.order)/(l.weight+2),l.weight+=2}return l}function Ue(r,e){s(r,function(n){n.vs=L(n.vs.map(function(o){return e[o]?e[o].vs:o}))})}function We(r,e){k(r.barycenter)?(r.barycenter=e.barycenter,r.weight=e.weight):(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight)}function de(r){var e=nr(r),n=se(r,N(1,e+1),"inEdges"),o=se(r,N(e-1,-1,-1),"outEdges"),t=oe(r);ue(r,t);for(var i=Number.POSITIVE_INFINITY,a,f=0,u=0;u<4;++f,++u){qe(f%2?n:o,f%4>=2),t=M(r);var d=ne(r,t);d<i&&(u=0,a=wr(t),i=d)}ue(r,a)}function se(r,e,n){return E(e,function(o){return ee(r,o,n)})}function qe(r,e){var n=new x;s(r,function(o){var t=o.graph().root,i=lr(o,t,n,e);s(i.vs,function(a,f){o.node(a).order=f}),re(o,n,i.vs)})}function ue(r,e){s(e,function(n){s(n,function(o,t){r.node(o).order=t})})}h();function ce(r){var e=He(r);s(r.graph().dummyChains,function(n){for(var o=r.node(n),t=o.edgeObj,i=Xe(r,e,t.v,t.w),a=i.path,f=i.lca,u=0,d=a[u],c=!0;n!==t.w;){if(o=r.node(n),c){for(;(d=a[u])!==f&&r.node(d).maxRank<o.rank;)u++;d===f&&(c=!1)}if(!c){for(;u<a.length-1&&r.node(d=a[u+1]).minRank<=o.rank;)u++;d=a[u]}r.setParent(n,d),n=r.successors(n)[0]}})}function Xe(r,e,n,o){var t=[],i=[],a=Math.min(e[n].low,e[o].low),f=Math.max(e[n].lim,e[o].lim),u,d;u=n;do u=r.parent(u),t.push(u);while(u&&(e[u].low>a||f>e[u].lim));for(d=u,u=o;(u=r.parent(u))!==d;)i.push(u);return{path:t.concat(i.reverse()),lca:d}}function He(r){var e={},n=0;function o(t){var i=n;s(r.children(t),o),e[t]={low:i,lim:n++}}return s(r.children(),o),e}h();h();function Je(r,e){var n={};function o(t,i){var a=0,f=0,u=t.length,d=O(i);return s(i,function(c,l){var v=Qe(r,c),_=v?r.node(v).order:u;(v||c===d)&&(s(i.slice(f,l+1),function(w){s(r.predecessors(w),function(y){var z=r.node(y),vr=z.order;(vr<a||_<vr)&&!(z.dummy&&r.node(w).dummy)&&he(n,y,w)})}),f=l+1,a=_)}),i}return G(e,o),n}function Ke(r,e){var n={};function o(i,a,f,u,d){var c;s(N(a,f),function(l){c=i[l],r.node(c).dummy&&s(r.predecessors(c),function(v){var _=r.node(v);_.dummy&&(_.order<u||_.order>d)&&he(n,v,c)})})}function t(i,a){var f=-1,u,d=0;return s(a,function(c,l){if(r.node(c).dummy==="border"){var v=r.predecessors(c);v.length&&(u=r.node(v[0]).order,o(a,d,l,f,u),d=l,f=u)}o(a,d,a.length,u,i.length)}),a}return G(e,t),n}function Qe(r,e){if(r.node(e).dummy)return W(r.predecessors(e),function(n){return r.node(n).dummy})}function he(r,e,n){if(e>n){var o=e;e=n,n=o}var t=r[e];t||(r[e]=t={}),t[n]=!0}function Ze(r,e,n){if(e>n){var o=e;e=n,n=o}return m(r[e],n)}function $e(r,e,n,o){var t={},i={},a={};return s(e,function(f){s(f,function(u,d){t[u]=u,i[u]=u,a[u]=d})}),s(e,function(f){var u=-1;s(f,function(d){var c=o(d);if(c.length){c=T(c,function(y){return a[y]});for(var l=(c.length-1)/2,v=Math.floor(l),_=Math.ceil(l);v<=_;++v){var w=c[v];i[d]===d&&u<a[w]&&!Ze(n,d,w)&&(i[w]=d,i[d]=t[d]=t[w],u=a[w])}}})}),{root:t,align:i}}function rn(r,e,n,o,t){var i={},a=en(r,e,n,t),f=t?"borderLeft":"borderRight";function u(l,v){for(var _=a.nodes(),w=_.pop(),y={};w;)y[w]?l(w):(y[w]=!0,_.push(w),_=_.concat(v(w))),w=_.pop()}function d(l){i[l]=a.inEdges(l).reduce(function(v,_){return Math.max(v,i[_.v]+a.edge(_))},0)}function c(l){var v=a.outEdges(l).reduce(function(w,y){return Math.min(w,i[y.w]-a.edge(y))},Number.POSITIVE_INFINITY),_=r.node(l);v!==Number.POSITIVE_INFINITY&&_.borderType!==f&&(i[l]=Math.max(i[l],v))}return u(d,a.predecessors.bind(a)),u(c,a.successors.bind(a)),s(o,function(l){i[l]=i[n[l]]}),i}function en(r,e,n,o){var t=new x,i=r.graph(),a=an(i.nodesep,i.edgesep,o);return s(e,function(f){var u;s(f,function(d){var c=n[d];if(t.setNode(c),u){var l=n[u],v=t.edge(l,c);t.setEdge(l,c,Math.max(a(r,d,u),v||0))}u=d})}),t}function nn(r,e){return D(R(e),function(n){var o=Number.NEGATIVE_INFINITY,t=Number.POSITIVE_INFINITY;return br(n,function(i,a){var f=fn(r,a)/2;o=Math.max(i+f,o),t=Math.min(i-f,t)}),o-t})}function on(r,e){var n=R(e),o=S(n),t=g(n);s(["u","d"],function(i){s(["l","r"],function(a){var f=i+a,u=r[f],d;if(u!==e){var c=R(u);d=a==="l"?o-S(c):t-g(c),d&&(r[f]=A(u,function(l){return l+d}))}})})}function tn(r,e){return A(r.ul,function(n,o){if(e)return r[e.toLowerCase()][o];var t=T(E(r,o));return(t[1]+t[2])/2})}function le(r){var e=M(r),n=U(Je(r,e),Ke(r,e)),o={},t;s(["u","d"],function(a){t=a==="u"?e:R(e).reverse(),s(["l","r"],function(f){f==="r"&&(t=E(t,function(l){return R(l).reverse()}));var u=(a==="u"?r.predecessors:r.successors).bind(r),d=$e(r,t,n,u),c=rn(r,t,d.root,d.align,f==="r");f==="r"&&(c=A(c,function(l){return-l})),o[a+f]=c})});var i=nn(r,o);return on(o,i),tn(o,r.graph().align)}function an(r,e,n){return function(o,t,i){var a=o.node(t),f=o.node(i),u=0,d;if(u+=a.width/2,m(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":d=-a.width/2;break;case"r":d=a.width/2;break}if(d&&(u+=n?d:-d),d=0,u+=(a.dummy?e:r)/2,u+=(f.dummy?e:r)/2,u+=f.width/2,m(f,"labelpos"))switch(f.labelpos.toLowerCase()){case"l":d=f.width/2;break;case"r":d=-f.width/2;break}return d&&(u+=n?d:-d),d=0,u}}function fn(r,e){return r.node(e).width}function pe(r){r=H(r),sn(r),yr(le(r),function(e,n){r.node(n).x=e})}function sn(r){var e=M(r),n=r.graph().ranksep,o=0;s(e,function(t){var i=g(E(t,function(a){return r.node(a).height}));s(t,function(a){r.node(a).y=o+i/2}),o+=i+n})}function un(r,e){var n=e&&e.debugTiming?Lr:Cr;n("layout",function(){var o=n(" buildLayoutGraph",function(){return bn(r)});n(" runLayout",function(){dn(o,n)}),n(" updateInputGraph",function(){cn(r,o)})})}function dn(r,e){e(" makeSpaceForEdgeLabels",function(){yn(r)}),e(" removeSelfEdges",function(){Rn(r)}),e(" acyclic",function(){Vr(r)}),e(" nestingGraph.run",function(){Qr(r)}),e(" rank",function(){hr(H(r))}),e(" injectEdgeLabelProxies",function(){xn(r)}),e(" removeEmptyRanks",function(){Nr(r)}),e(" nestingGraph.cleanup",function(){$r(r)}),e(" normalizeRanks",function(){gr(r)}),e(" assignRankMinMax",function(){kn(r)}),e(" removeEdgeLabelProxies",function(){gn(r)}),e(" normalize.run",function(){Dr(r)}),e(" parentDummyChains",function(){ce(r)}),e(" addBorderSegments",function(){Rr(r)}),e(" order",function(){de(r)}),e(" insertSelfEdges",function(){Sn(r)}),e(" adjustCoordinateSystem",function(){Mr(r)}),e(" position",function(){pe(r)}),e(" positionSelfEdges",function(){Mn(r)}),e(" removeBorderNodes",function(){Tn(r)}),e(" normalize.undo",function(){jr(r)}),e(" fixupEdgeLabelCoords",function(){Ln(r)}),e(" undoCoordinateSystem",function(){Pr(r)}),e(" translateGraph",function(){Nn(r)}),e(" assignNodeIntersects",function(){In(r)}),e(" reversePoints",function(){Cn(r)}),e(" acyclic.undo",function(){Br(r)})}function cn(r,e){s(r.nodes(),function(n){var o=r.node(n),t=e.node(n);o&&(o.x=t.x,o.y=t.y,e.children(n).length&&(o.width=t.width,o.height=t.height))}),s(r.edges(),function(n){var o=r.edge(n),t=e.edge(n);o.points=t.points,m(t,"x")&&(o.x=t.x,o.y=t.y)}),r.graph().width=e.graph().width,r.graph().height=e.graph().height}var hn=["nodesep","edgesep","ranksep","marginx","marginy"],ln={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},pn=["acyclicer","ranker","rankdir","align"],mn=["width","height"],vn={width:0,height:0},_n=["minlen","weight","width","height","labeloffset"],wn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},En=["labelpos"];function bn(r){var e=new x({multigraph:!0,compound:!0}),n=mr(r.graph());return e.setGraph(U({},ln,pr(n,hn),j(n,pn))),s(r.nodes(),function(o){var t=mr(r.node(o));e.setNode(o,Er(pr(t,mn),vn)),e.setParent(o,r.parent(o))}),s(r.edges(),function(o){var t=mr(r.edge(o));e.setEdge(o,U({},wn,pr(t,_n),j(t,En)))}),e}function yn(r){var e=r.graph();e.ranksep/=2,s(r.edges(),function(n){var o=r.edge(n);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function xn(r){s(r.edges(),function(e){var n=r.edge(e);if(n.width&&n.height){var o=r.node(e.v),t=r.node(e.w),i={rank:(t.rank-o.rank)/2+o.rank,e};I(r,"edge-proxy",i,"_ep")}})}function kn(r){var e=0;s(r.nodes(),function(n){var o=r.node(n);o.borderTop&&(o.minRank=r.node(o.borderTop).rank,o.maxRank=r.node(o.borderBottom).rank,e=g(e,o.maxRank))}),r.graph().maxRank=e}function gn(r){s(r.nodes(),function(e){var n=r.node(e);n.dummy==="edge-proxy"&&(r.edge(n.e).labelRank=n.rank,r.removeNode(e))})}function Nn(r){var e=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,t=0,i=r.graph(),a=i.marginx||0,f=i.marginy||0;function u(d){var c=d.x,l=d.y,v=d.width,_=d.height;e=Math.min(e,c-v/2),n=Math.max(n,c+v/2),o=Math.min(o,l-_/2),t=Math.max(t,l+_/2)}s(r.nodes(),function(d){u(r.node(d))}),s(r.edges(),function(d){var c=r.edge(d);m(c,"x")&&u(c)}),e-=a,o-=f,s(r.nodes(),function(d){var c=r.node(d);c.x-=e,c.y-=o}),s(r.edges(),function(d){var c=r.edge(d);s(c.points,function(l){l.x-=e,l.y-=o}),m(c,"x")&&(c.x-=e),m(c,"y")&&(c.y-=o)}),i.width=n-e+a,i.height=t-o+f}function In(r){s(r.edges(),function(e){var n=r.edge(e),o=r.node(e.v),t=r.node(e.w),i,a;n.points?(i=n.points[0],a=n.points[n.points.length-1]):(n.points=[],i=t,a=o),n.points.unshift(rr(o,i)),n.points.push(rr(t,a))})}function Ln(r){s(r.edges(),function(e){var n=r.edge(e);if(m(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}})}function Cn(r){s(r.edges(),function(e){var n=r.edge(e);n.reversed&&n.points.reverse()})}function Tn(r){s(r.nodes(),function(e){if(r.children(e).length){var n=r.node(e),o=r.node(n.borderTop),t=r.node(n.borderBottom),i=r.node(O(n.borderLeft)),a=r.node(O(n.borderRight));n.width=Math.abs(a.x-i.x),n.height=Math.abs(t.y-o.y),n.x=i.x+n.width/2,n.y=o.y+n.height/2}}),s(r.nodes(),function(e){r.node(e).dummy==="border"&&r.removeNode(e)})}function Rn(r){s(r.edges(),function(e){if(e.v===e.w){var n=r.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:r.edge(e)}),r.removeEdge(e)}})}function Sn(r){var e=M(r);s(e,function(n){var o=0;s(n,function(t,i){var a=r.node(t);a.order=i+o,s(a.selfEdges,function(f){I(r,"selfedge",{width:f.label.width,height:f.label.height,rank:a.rank,order:i+ ++o,e:f.e,label:f.label},"_se")}),delete a.selfEdges})})}function Mn(r){s(r.nodes(),function(e){var n=r.node(e);if(n.dummy==="selfedge"){var o=r.node(n.e.v),t=o.x+o.width/2,i=o.y,a=n.x-t,f=o.height/2;r.setEdge(n.e,n.label),r.removeNode(e),n.label.points=[{x:t+2*a/3,y:i-f},{x:t+5*a/6,y:i-f},{x:t+a,y:i},{x:t+5*a/6,y:i+f},{x:t+2*a/3,y:i+f}],n.label.x=n.x,n.label.y=n.y}})}function pr(r,e){return A(j(r,e),Number)}function mr(r){var e={};return s(r,function(n,o){e[o.toLowerCase()]=n}),e}h();export{un as a};
|
|
1
|
+
import{A as x,a as L,c as wr,d as Z,e as Er,f as O,g as s,h as C,i as W,j as E,k as br,l as yr,m,n as R,o as k,p as A,q as g,r as S,s as D,t as j,u as N,v as G,w as xr,x as T,y as Y,z as $}from"./chunk-L5DS24G6.js";import{Ba as U,ha as _r,xa as B}from"./chunk-ZTIWFPBM.js";import{a as h}from"./chunk-M2JW2GFW.js";h();h();h();function I(r,e,n,o){var t;do t=Y(o);while(r.hasNode(t));return n.dummy=e,r.setNode(t,n),t}function kr(r){var e=new x().setGraph(r.graph());return s(r.nodes(),function(n){e.setNode(n,r.node(n))}),s(r.edges(),function(n){var o=e.edge(n.v,n.w)||{weight:0,minlen:1},t=r.edge(n);e.setEdge(n.v,n.w,{weight:o.weight+t.weight,minlen:Math.max(o.minlen,t.minlen)})}),e}function H(r){var e=new x({multigraph:r.isMultigraph()}).setGraph(r.graph());return s(r.nodes(),function(n){r.children(n).length||e.setNode(n,r.node(n))}),s(r.edges(),function(n){e.setEdge(n,r.edge(n))}),e}function rr(r,e){var n=r.x,o=r.y,t=e.x-n,i=e.y-o,a=r.width/2,f=r.height/2;if(!t&&!i)throw new Error("Not possible to find intersection inside of the rectangle");var u,d;return Math.abs(i)*a>Math.abs(t)*f?(i<0&&(f=-f),u=f*t/i,d=f):(t<0&&(a=-a),u=a,d=a*i/t),{x:n+u,y:o+d}}function M(r){var e=E(N(nr(r)+1),function(){return[]});return s(r.nodes(),function(n){var o=r.node(n),t=o.rank;k(t)||(e[t][o.order]=n)}),e}function gr(r){var e=S(E(r.nodes(),function(n){return r.node(n).rank}));s(r.nodes(),function(n){var o=r.node(n);m(o,"rank")&&(o.rank-=e)})}function Nr(r){var e=S(E(r.nodes(),function(i){return r.node(i).rank})),n=[];s(r.nodes(),function(i){var a=r.node(i).rank-e;n[a]||(n[a]=[]),n[a].push(i)});var o=0,t=r.graph().nodeRankFactor;s(n,function(i,a){k(i)&&a%t!==0?--o:o&&s(i,function(f){r.node(f).rank+=o})})}function er(r,e,n,o){var t={width:0,height:0};return arguments.length>=4&&(t.rank=n,t.order=o),I(r,"border",t,e)}function nr(r){return g(E(r.nodes(),function(e){var n=r.node(e).rank;if(!k(n))return n}))}function Ir(r,e){var n={lhs:[],rhs:[]};return s(r,function(o){e(o)?n.lhs.push(o):n.rhs.push(o)}),n}function Lr(r,e){var n=Z();try{return e()}finally{console.log(r+" time: "+(Z()-n)+"ms")}}function Cr(r,e){return e()}function Rr(r){function e(n){var o=r.children(n),t=r.node(n);if(o.length&&s(o,e),m(t,"minRank")){t.borderLeft=[],t.borderRight=[];for(var i=t.minRank,a=t.maxRank+1;i<a;++i)Tr(r,"borderLeft","_bl",n,t,i),Tr(r,"borderRight","_br",n,t,i)}}s(r.children(),e)}function Tr(r,e,n,o,t,i){var a={width:0,height:0,rank:i,borderType:e},f=t[e][i-1],u=I(r,"border",a,n);t[e][i]=u,r.setParent(u,o),f&&r.setEdge(f,u,{weight:1})}h();function Mr(r){var e=r.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&Fr(r)}function Pr(r){var e=r.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&me(r),(e==="lr"||e==="rl")&&(ve(r),Fr(r))}function Fr(r){s(r.nodes(),function(e){Sr(r.node(e))}),s(r.edges(),function(e){Sr(r.edge(e))})}function Sr(r){var e=r.width;r.width=r.height,r.height=e}function me(r){s(r.nodes(),function(e){or(r.node(e))}),s(r.edges(),function(e){var n=r.edge(e);s(n.points,or),m(n,"y")&&or(n)})}function or(r){r.y=-r.y}function ve(r){s(r.nodes(),function(e){tr(r.node(e))}),s(r.edges(),function(e){var n=r.edge(e);s(n.points,tr),m(n,"x")&&tr(n)})}function tr(r){var e=r.x;r.x=r.y,r.y=e}h();h();h();var J=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,n=e._prev;if(n!==e)return Or(n),n}enqueue(e){var n=this._sentinel;e._prev&&e._next&&Or(e),e._next=n._next,n._next._prev=e,n._next=e,e._prev=n}toString(){for(var e=[],n=this._sentinel,o=n._prev;o!==n;)e.push(JSON.stringify(o,we)),o=o._prev;return"["+e.join(", ")+"]"}};function Or(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function we(r,e){if(r!=="_next"&&r!=="_prev")return e}var Ee=B(1);function Gr(r,e){if(r.nodeCount()<=1)return[];var n=ye(r,e||Ee),o=be(n.graph,n.buckets,n.zeroIdx);return L(E(o,function(t){return r.outEdges(t.v,t.w)}))}function be(r,e,n){for(var o=[],t=e[e.length-1],i=e[0],a;r.nodeCount();){for(;a=i.dequeue();)ir(r,e,n,a);for(;a=t.dequeue();)ir(r,e,n,a);if(r.nodeCount()){for(var f=e.length-2;f>0;--f)if(a=e[f].dequeue(),a){o=o.concat(ir(r,e,n,a,!0));break}}}return o}function ir(r,e,n,o,t){var i=t?[]:void 0;return s(r.inEdges(o.v),function(a){var f=r.edge(a),u=r.node(a.v);t&&i.push({v:a.v,w:a.w}),u.out-=f,ar(e,n,u)}),s(r.outEdges(o.v),function(a){var f=r.edge(a),u=a.w,d=r.node(u);d.in-=f,ar(e,n,d)}),r.removeNode(o.v),i}function ye(r,e){var n=new x,o=0,t=0;s(r.nodes(),function(f){n.setNode(f,{v:f,in:0,out:0})}),s(r.edges(),function(f){var u=n.edge(f.v,f.w)||0,d=e(f),c=u+d;n.setEdge(f.v,f.w,c),t=Math.max(t,n.node(f.v).out+=d),o=Math.max(o,n.node(f.w).in+=d)});var i=N(t+o+3).map(function(){return new J}),a=o+1;return s(n.nodes(),function(f){ar(i,a,n.node(f))}),{graph:n,buckets:i,zeroIdx:a}}function ar(r,e,n){n.out?n.in?r[n.out-n.in+e].enqueue(n):r[r.length-1].enqueue(n):r[0].enqueue(n)}function Vr(r){var e=r.graph().acyclicer==="greedy"?Gr(r,n(r)):xe(r);s(e,function(o){var t=r.edge(o);r.removeEdge(o),t.forwardName=o.name,t.reversed=!0,r.setEdge(o.w,o.v,t,Y("rev"))});function n(o){return function(t){return o.edge(t).weight}}}function xe(r){var e=[],n={},o={};function t(i){m(o,i)||(o[i]=!0,n[i]=!0,s(r.outEdges(i),function(a){m(n,a.w)?e.push(a):t(a.w)}),delete n[i])}return s(r.nodes(),t),e}function Br(r){s(r.edges(),function(e){var n=r.edge(e);if(n.reversed){r.removeEdge(e);var o=n.forwardName;delete n.reversed,delete n.forwardName,r.setEdge(e.w,e.v,n,o)}})}h();function Dr(r){r.graph().dummyChains=[],s(r.edges(),function(e){ke(r,e)})}function ke(r,e){var n=e.v,o=r.node(n).rank,t=e.w,i=r.node(t).rank,a=e.name,f=r.edge(e),u=f.labelRank;if(i!==o+1){r.removeEdge(e);var d,c,l;for(l=0,++o;o<i;++l,++o)f.points=[],c={width:0,height:0,edgeLabel:f,edgeObj:e,rank:o},d=I(r,"edge",c,"_d"),o===u&&(c.width=f.width,c.height=f.height,c.dummy="edge-label",c.labelpos=f.labelpos),r.setEdge(n,d,{weight:f.weight},a),l===0&&r.graph().dummyChains.push(d),n=d;r.setEdge(n,t,{weight:f.weight},a)}}function jr(r){s(r.graph().dummyChains,function(e){var n=r.node(e),o=n.edgeLabel,t;for(r.setEdge(n.edgeObj,o);n.dummy;)t=r.successors(e)[0],r.removeNode(e),o.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height),e=t,n=r.node(e)})}h();h();h();function q(r){var e={};function n(o){var t=r.node(o);if(m(e,o))return t.rank;e[o]=!0;var i=S(E(r.outEdges(o),function(a){return n(a.w)-r.edge(a).minlen}));return(i===Number.POSITIVE_INFINITY||i===void 0||i===null)&&(i=0),t.rank=i}s(r.sources(),n)}function V(r,e){return r.node(e.w).rank-r.node(e.v).rank-r.edge(e).minlen}function K(r){var e=new x({directed:!1}),n=r.nodes()[0],o=r.nodeCount();e.setNode(n,{});for(var t,i;ge(e,r)<o;)t=Ne(e,r),i=e.hasNode(t.v)?V(r,t):-V(r,t),Ie(e,r,i);return e}function ge(r,e){function n(o){s(e.nodeEdges(o),function(t){var i=t.v,a=o===i?t.w:i;!r.hasNode(a)&&!V(e,t)&&(r.setNode(a,{}),r.setEdge(o,a,{}),n(a))})}return s(r.nodes(),n),r.nodeCount()}function Ne(r,e){return D(e.edges(),function(n){if(r.hasNode(n.v)!==r.hasNode(n.w))return V(e,n)})}function Ie(r,e,n){s(r.nodes(),function(o){e.node(o).rank+=n})}h();h();h();h();h();var to=B(1);h();h();h();h();var vo=B(1);h();h();fr.CycleException=X;function fr(r){var e={},n={},o=[];function t(i){if(m(n,i))throw new X;m(e,i)||(n[i]=!0,e[i]=!0,s(r.predecessors(i),t),delete n[i],o.push(i))}if(s(r.sinks(),t),xr(e)!==r.nodeCount())throw new X;return o}function X(){}X.prototype=new Error;h();h();function Q(r,e,n){_r(e)||(e=[e]);var o=(r.isDirected()?r.successors:r.neighbors).bind(r),t=[],i={};return s(e,function(a){if(!r.hasNode(a))throw new Error("Graph does not have node: "+a);zr(r,a,n==="post",i,o,t)}),t}function zr(r,e,n,o,t,i){m(o,e)||(o[e]=!0,n||i.push(e),s(t(e),function(a){zr(r,a,n,o,t,i)}),n&&i.push(e))}function sr(r,e){return Q(r,e,"post")}h();function ur(r,e){return Q(r,e,"pre")}h();F.initLowLimValues=cr;F.initCutValues=dr;F.calcCutValue=Wr;F.leaveEdge=Xr;F.enterEdge=Hr;F.exchangeEdges=Jr;function F(r){r=kr(r),q(r);var e=K(r);cr(e),dr(e,r);for(var n,o;n=Xr(e);)o=Hr(e,r,n),Jr(e,r,n,o)}function dr(r,e){var n=sr(r,r.nodes());n=n.slice(0,n.length-1),s(n,function(o){Se(r,e,o)})}function Se(r,e,n){var o=r.node(n),t=o.parent;r.edge(n,t).cutvalue=Wr(r,e,n)}function Wr(r,e,n){var o=r.node(n),t=o.parent,i=!0,a=e.edge(n,t),f=0;return a||(i=!1,a=e.edge(t,n)),f=a.weight,s(e.nodeEdges(n),function(u){var d=u.v===n,c=d?u.w:u.v;if(c!==t){var l=d===i,v=e.edge(u).weight;if(f+=l?v:-v,Pe(r,n,c)){var _=r.edge(n,c).cutvalue;f+=l?-_:_}}}),f}function cr(r,e){arguments.length<2&&(e=r.nodes()[0]),qr(r,{},1,e)}function qr(r,e,n,o,t){var i=n,a=r.node(o);return e[o]=!0,s(r.neighbors(o),function(f){m(e,f)||(n=qr(r,e,n,f,o))}),a.low=i,a.lim=n++,t?a.parent=t:delete a.parent,n}function Xr(r){return W(r.edges(),function(e){return r.edge(e).cutvalue<0})}function Hr(r,e,n){var o=n.v,t=n.w;e.hasEdge(o,t)||(o=n.w,t=n.v);var i=r.node(o),a=r.node(t),f=i,u=!1;i.lim>a.lim&&(f=a,u=!0);var d=C(e.edges(),function(c){return u===Ur(r,r.node(c.v),f)&&u!==Ur(r,r.node(c.w),f)});return D(d,function(c){return V(e,c)})}function Jr(r,e,n,o){var t=n.v,i=n.w;r.removeEdge(t,i),r.setEdge(o.v,o.w,{}),cr(r),dr(r,e),Me(r,e)}function Me(r,e){var n=W(r.nodes(),function(t){return!e.node(t).parent}),o=ur(r,n);o=o.slice(1),s(o,function(t){var i=r.node(t).parent,a=e.edge(t,i),f=!1;a||(a=e.edge(i,t),f=!0),e.node(t).rank=e.node(i).rank+(f?a.minlen:-a.minlen)})}function Pe(r,e,n){return r.hasEdge(e,n)}function Ur(r,e,n){return n.low<=e.lim&&e.lim<=n.lim}function hr(r){switch(r.graph().ranker){case"network-simplex":Kr(r);break;case"tight-tree":Oe(r);break;case"longest-path":Fe(r);break;default:Kr(r)}}var Fe=q;function Oe(r){q(r),K(r)}function Kr(r){F(r)}h();function Qr(r){var e=I(r,"root",{},"_root"),n=Ge(r),o=g(R(n))-1,t=2*o+1;r.graph().nestingRoot=e,s(r.edges(),function(a){r.edge(a).minlen*=t});var i=Ve(r)+1;s(r.children(),function(a){Zr(r,e,t,i,o,n,a)}),r.graph().nodeRankFactor=t}function Zr(r,e,n,o,t,i,a){var f=r.children(a);if(!f.length){a!==e&&r.setEdge(e,a,{weight:0,minlen:n});return}var u=er(r,"_bt"),d=er(r,"_bb"),c=r.node(a);r.setParent(u,a),c.borderTop=u,r.setParent(d,a),c.borderBottom=d,s(f,function(l){Zr(r,e,n,o,t,i,l);var v=r.node(l),_=v.borderTop?v.borderTop:l,w=v.borderBottom?v.borderBottom:l,y=v.borderTop?o:2*o,z=_!==w?1:t-i[a]+1;r.setEdge(u,_,{weight:y,minlen:z,nestingEdge:!0}),r.setEdge(w,d,{weight:y,minlen:z,nestingEdge:!0})}),r.parent(a)||r.setEdge(e,u,{weight:0,minlen:t+i[a]})}function Ge(r){var e={};function n(o,t){var i=r.children(o);i&&i.length&&s(i,function(a){n(a,t+1)}),e[o]=t}return s(r.children(),function(o){n(o,1)}),e}function Ve(r){return G(r.edges(),function(e,n){return e+r.edge(n).weight},0)}function $r(r){var e=r.graph();r.removeNode(e.nestingRoot),delete e.nestingRoot,s(r.edges(),function(n){var o=r.edge(n);o.nestingEdge&&r.removeEdge(n)})}h();h();function re(r,e,n){var o={},t;s(n,function(i){for(var a=r.parent(i),f,u;a;){if(f=r.parent(a),f?(u=o[f],o[f]=a):(u=t,t=a),u&&u!==a){e.setEdge(u,a);return}a=f}})}h();function ee(r,e,n){var o=Ae(r),t=new x({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(i){return r.node(i)});return s(r.nodes(),function(i){var a=r.node(i),f=r.parent(i);(a.rank===e||a.minRank<=e&&e<=a.maxRank)&&(t.setNode(i),t.setParent(i,f||o),s(r[n](i),function(u){var d=u.v===i?u.w:u.v,c=t.edge(d,i),l=k(c)?0:c.weight;t.setEdge(d,i,{weight:r.edge(u).weight+l})}),m(a,"minRank")&&t.setNode(i,{borderLeft:a.borderLeft[e],borderRight:a.borderRight[e]}))}),t}function Ae(r){for(var e;r.hasNode(e=Y("_root")););return e}h();function ne(r,e){for(var n=0,o=1;o<e.length;++o)n+=De(r,e[o-1],e[o]);return n}function De(r,e,n){for(var o=$(n,E(n,function(d,c){return c})),t=L(E(e,function(d){return T(E(r.outEdges(d),function(c){return{pos:o[c.w],weight:r.edge(c).weight}}),"pos")})),i=1;i<n.length;)i<<=1;var a=2*i-1;i-=1;var f=E(new Array(a),function(){return 0}),u=0;return s(t.forEach(function(d){var c=d.pos+i;f[c]+=d.weight;for(var l=0;c>0;)c%2&&(l+=f[c+1]),c=c-1>>1,f[c]+=d.weight;u+=d.weight*l})),u}h();function oe(r){var e={},n=C(r.nodes(),function(f){return!r.children(f).length}),o=g(E(n,function(f){return r.node(f).rank})),t=E(N(o+1),function(){return[]});function i(f){if(!m(e,f)){e[f]=!0;var u=r.node(f);t[u.rank].push(f),s(r.successors(f),i)}}var a=T(n,function(f){return r.node(f).rank});return s(a,i),t}h();h();function te(r,e){return E(e,function(n){var o=r.inEdges(n);if(o.length){var t=G(o,function(i,a){var f=r.edge(a),u=r.node(a.v);return{sum:i.sum+f.weight*u.order,weight:i.weight+f.weight}},{sum:0,weight:0});return{v:n,barycenter:t.sum/t.weight,weight:t.weight}}else return{v:n}})}h();function ie(r,e){var n={};s(r,function(t,i){var a=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i};k(t.barycenter)||(a.barycenter=t.barycenter,a.weight=t.weight)}),s(e.edges(),function(t){var i=n[t.v],a=n[t.w];!k(i)&&!k(a)&&(a.indegree++,i.out.push(n[t.w]))});var o=C(n,function(t){return!t.indegree});return je(o)}function je(r){var e=[];function n(i){return function(a){a.merged||(k(a.barycenter)||k(i.barycenter)||a.barycenter>=i.barycenter)&&Ye(i,a)}}function o(i){return function(a){a.in.push(i),--a.indegree===0&&r.push(a)}}for(;r.length;){var t=r.pop();e.push(t),s(t.in.reverse(),n(t)),s(t.out,o(t))}return E(C(e,function(i){return!i.merged}),function(i){return j(i,["vs","i","barycenter","weight"])})}function Ye(r,e){var n=0,o=0;r.weight&&(n+=r.barycenter*r.weight,o+=r.weight),e.weight&&(n+=e.barycenter*e.weight,o+=e.weight),r.vs=e.vs.concat(r.vs),r.barycenter=n/o,r.weight=o,r.i=Math.min(e.i,r.i),e.merged=!0}h();function fe(r,e){var n=Ir(r,function(c){return m(c,"barycenter")}),o=n.lhs,t=T(n.rhs,function(c){return-c.i}),i=[],a=0,f=0,u=0;o.sort(ze(!!e)),u=ae(i,t,u),s(o,function(c){u+=c.vs.length,i.push(c.vs),a+=c.barycenter*c.weight,f+=c.weight,u=ae(i,t,u)});var d={vs:L(i)};return f&&(d.barycenter=a/f,d.weight=f),d}function ae(r,e,n){for(var o;e.length&&(o=O(e)).i<=n;)e.pop(),r.push(o.vs),n++;return n}function ze(r){return function(e,n){return e.barycenter<n.barycenter?-1:e.barycenter>n.barycenter?1:r?n.i-e.i:e.i-n.i}}function lr(r,e,n,o){var t=r.children(e),i=r.node(e),a=i?i.borderLeft:void 0,f=i?i.borderRight:void 0,u={};a&&(t=C(t,function(w){return w!==a&&w!==f}));var d=te(r,t);s(d,function(w){if(r.children(w.v).length){var y=lr(r,w.v,n,o);u[w.v]=y,m(y,"barycenter")&&We(w,y)}});var c=ie(d,n);Ue(c,u);var l=fe(c,o);if(a&&(l.vs=L([a,l.vs,f]),r.predecessors(a).length)){var v=r.node(r.predecessors(a)[0]),_=r.node(r.predecessors(f)[0]);m(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+v.order+_.order)/(l.weight+2),l.weight+=2}return l}function Ue(r,e){s(r,function(n){n.vs=L(n.vs.map(function(o){return e[o]?e[o].vs:o}))})}function We(r,e){k(r.barycenter)?(r.barycenter=e.barycenter,r.weight=e.weight):(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight)}function de(r){var e=nr(r),n=se(r,N(1,e+1),"inEdges"),o=se(r,N(e-1,-1,-1),"outEdges"),t=oe(r);ue(r,t);for(var i=Number.POSITIVE_INFINITY,a,f=0,u=0;u<4;++f,++u){qe(f%2?n:o,f%4>=2),t=M(r);var d=ne(r,t);d<i&&(u=0,a=wr(t),i=d)}ue(r,a)}function se(r,e,n){return E(e,function(o){return ee(r,o,n)})}function qe(r,e){var n=new x;s(r,function(o){var t=o.graph().root,i=lr(o,t,n,e);s(i.vs,function(a,f){o.node(a).order=f}),re(o,n,i.vs)})}function ue(r,e){s(e,function(n){s(n,function(o,t){r.node(o).order=t})})}h();function ce(r){var e=He(r);s(r.graph().dummyChains,function(n){for(var o=r.node(n),t=o.edgeObj,i=Xe(r,e,t.v,t.w),a=i.path,f=i.lca,u=0,d=a[u],c=!0;n!==t.w;){if(o=r.node(n),c){for(;(d=a[u])!==f&&r.node(d).maxRank<o.rank;)u++;d===f&&(c=!1)}if(!c){for(;u<a.length-1&&r.node(d=a[u+1]).minRank<=o.rank;)u++;d=a[u]}r.setParent(n,d),n=r.successors(n)[0]}})}function Xe(r,e,n,o){var t=[],i=[],a=Math.min(e[n].low,e[o].low),f=Math.max(e[n].lim,e[o].lim),u,d;u=n;do u=r.parent(u),t.push(u);while(u&&(e[u].low>a||f>e[u].lim));for(d=u,u=o;(u=r.parent(u))!==d;)i.push(u);return{path:t.concat(i.reverse()),lca:d}}function He(r){var e={},n=0;function o(t){var i=n;s(r.children(t),o),e[t]={low:i,lim:n++}}return s(r.children(),o),e}h();h();function Je(r,e){var n={};function o(t,i){var a=0,f=0,u=t.length,d=O(i);return s(i,function(c,l){var v=Qe(r,c),_=v?r.node(v).order:u;(v||c===d)&&(s(i.slice(f,l+1),function(w){s(r.predecessors(w),function(y){var z=r.node(y),vr=z.order;(vr<a||_<vr)&&!(z.dummy&&r.node(w).dummy)&&he(n,y,w)})}),f=l+1,a=_)}),i}return G(e,o),n}function Ke(r,e){var n={};function o(i,a,f,u,d){var c;s(N(a,f),function(l){c=i[l],r.node(c).dummy&&s(r.predecessors(c),function(v){var _=r.node(v);_.dummy&&(_.order<u||_.order>d)&&he(n,v,c)})})}function t(i,a){var f=-1,u,d=0;return s(a,function(c,l){if(r.node(c).dummy==="border"){var v=r.predecessors(c);v.length&&(u=r.node(v[0]).order,o(a,d,l,f,u),d=l,f=u)}o(a,d,a.length,u,i.length)}),a}return G(e,t),n}function Qe(r,e){if(r.node(e).dummy)return W(r.predecessors(e),function(n){return r.node(n).dummy})}function he(r,e,n){if(e>n){var o=e;e=n,n=o}var t=r[e];t||(r[e]=t={}),t[n]=!0}function Ze(r,e,n){if(e>n){var o=e;e=n,n=o}return m(r[e],n)}function $e(r,e,n,o){var t={},i={},a={};return s(e,function(f){s(f,function(u,d){t[u]=u,i[u]=u,a[u]=d})}),s(e,function(f){var u=-1;s(f,function(d){var c=o(d);if(c.length){c=T(c,function(y){return a[y]});for(var l=(c.length-1)/2,v=Math.floor(l),_=Math.ceil(l);v<=_;++v){var w=c[v];i[d]===d&&u<a[w]&&!Ze(n,d,w)&&(i[w]=d,i[d]=t[d]=t[w],u=a[w])}}})}),{root:t,align:i}}function rn(r,e,n,o,t){var i={},a=en(r,e,n,t),f=t?"borderLeft":"borderRight";function u(l,v){for(var _=a.nodes(),w=_.pop(),y={};w;)y[w]?l(w):(y[w]=!0,_.push(w),_=_.concat(v(w))),w=_.pop()}function d(l){i[l]=a.inEdges(l).reduce(function(v,_){return Math.max(v,i[_.v]+a.edge(_))},0)}function c(l){var v=a.outEdges(l).reduce(function(w,y){return Math.min(w,i[y.w]-a.edge(y))},Number.POSITIVE_INFINITY),_=r.node(l);v!==Number.POSITIVE_INFINITY&&_.borderType!==f&&(i[l]=Math.max(i[l],v))}return u(d,a.predecessors.bind(a)),u(c,a.successors.bind(a)),s(o,function(l){i[l]=i[n[l]]}),i}function en(r,e,n,o){var t=new x,i=r.graph(),a=an(i.nodesep,i.edgesep,o);return s(e,function(f){var u;s(f,function(d){var c=n[d];if(t.setNode(c),u){var l=n[u],v=t.edge(l,c);t.setEdge(l,c,Math.max(a(r,d,u),v||0))}u=d})}),t}function nn(r,e){return D(R(e),function(n){var o=Number.NEGATIVE_INFINITY,t=Number.POSITIVE_INFINITY;return br(n,function(i,a){var f=fn(r,a)/2;o=Math.max(i+f,o),t=Math.min(i-f,t)}),o-t})}function on(r,e){var n=R(e),o=S(n),t=g(n);s(["u","d"],function(i){s(["l","r"],function(a){var f=i+a,u=r[f],d;if(u!==e){var c=R(u);d=a==="l"?o-S(c):t-g(c),d&&(r[f]=A(u,function(l){return l+d}))}})})}function tn(r,e){return A(r.ul,function(n,o){if(e)return r[e.toLowerCase()][o];var t=T(E(r,o));return(t[1]+t[2])/2})}function le(r){var e=M(r),n=U(Je(r,e),Ke(r,e)),o={},t;s(["u","d"],function(a){t=a==="u"?e:R(e).reverse(),s(["l","r"],function(f){f==="r"&&(t=E(t,function(l){return R(l).reverse()}));var u=(a==="u"?r.predecessors:r.successors).bind(r),d=$e(r,t,n,u),c=rn(r,t,d.root,d.align,f==="r");f==="r"&&(c=A(c,function(l){return-l})),o[a+f]=c})});var i=nn(r,o);return on(o,i),tn(o,r.graph().align)}function an(r,e,n){return function(o,t,i){var a=o.node(t),f=o.node(i),u=0,d;if(u+=a.width/2,m(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":d=-a.width/2;break;case"r":d=a.width/2;break}if(d&&(u+=n?d:-d),d=0,u+=(a.dummy?e:r)/2,u+=(f.dummy?e:r)/2,u+=f.width/2,m(f,"labelpos"))switch(f.labelpos.toLowerCase()){case"l":d=f.width/2;break;case"r":d=-f.width/2;break}return d&&(u+=n?d:-d),d=0,u}}function fn(r,e){return r.node(e).width}function pe(r){r=H(r),sn(r),yr(le(r),function(e,n){r.node(n).x=e})}function sn(r){var e=M(r),n=r.graph().ranksep,o=0;s(e,function(t){var i=g(E(t,function(a){return r.node(a).height}));s(t,function(a){r.node(a).y=o+i/2}),o+=i+n})}function un(r,e){var n=e&&e.debugTiming?Lr:Cr;n("layout",function(){var o=n(" buildLayoutGraph",function(){return bn(r)});n(" runLayout",function(){dn(o,n)}),n(" updateInputGraph",function(){cn(r,o)})})}function dn(r,e){e(" makeSpaceForEdgeLabels",function(){yn(r)}),e(" removeSelfEdges",function(){Rn(r)}),e(" acyclic",function(){Vr(r)}),e(" nestingGraph.run",function(){Qr(r)}),e(" rank",function(){hr(H(r))}),e(" injectEdgeLabelProxies",function(){xn(r)}),e(" removeEmptyRanks",function(){Nr(r)}),e(" nestingGraph.cleanup",function(){$r(r)}),e(" normalizeRanks",function(){gr(r)}),e(" assignRankMinMax",function(){kn(r)}),e(" removeEdgeLabelProxies",function(){gn(r)}),e(" normalize.run",function(){Dr(r)}),e(" parentDummyChains",function(){ce(r)}),e(" addBorderSegments",function(){Rr(r)}),e(" order",function(){de(r)}),e(" insertSelfEdges",function(){Sn(r)}),e(" adjustCoordinateSystem",function(){Mr(r)}),e(" position",function(){pe(r)}),e(" positionSelfEdges",function(){Mn(r)}),e(" removeBorderNodes",function(){Tn(r)}),e(" normalize.undo",function(){jr(r)}),e(" fixupEdgeLabelCoords",function(){Ln(r)}),e(" undoCoordinateSystem",function(){Pr(r)}),e(" translateGraph",function(){Nn(r)}),e(" assignNodeIntersects",function(){In(r)}),e(" reversePoints",function(){Cn(r)}),e(" acyclic.undo",function(){Br(r)})}function cn(r,e){s(r.nodes(),function(n){var o=r.node(n),t=e.node(n);o&&(o.x=t.x,o.y=t.y,e.children(n).length&&(o.width=t.width,o.height=t.height))}),s(r.edges(),function(n){var o=r.edge(n),t=e.edge(n);o.points=t.points,m(t,"x")&&(o.x=t.x,o.y=t.y)}),r.graph().width=e.graph().width,r.graph().height=e.graph().height}var hn=["nodesep","edgesep","ranksep","marginx","marginy"],ln={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},pn=["acyclicer","ranker","rankdir","align"],mn=["width","height"],vn={width:0,height:0},_n=["minlen","weight","width","height","labeloffset"],wn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},En=["labelpos"];function bn(r){var e=new x({multigraph:!0,compound:!0}),n=mr(r.graph());return e.setGraph(U({},ln,pr(n,hn),j(n,pn))),s(r.nodes(),function(o){var t=mr(r.node(o));e.setNode(o,Er(pr(t,mn),vn)),e.setParent(o,r.parent(o))}),s(r.edges(),function(o){var t=mr(r.edge(o));e.setEdge(o,U({},wn,pr(t,_n),j(t,En)))}),e}function yn(r){var e=r.graph();e.ranksep/=2,s(r.edges(),function(n){var o=r.edge(n);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function xn(r){s(r.edges(),function(e){var n=r.edge(e);if(n.width&&n.height){var o=r.node(e.v),t=r.node(e.w),i={rank:(t.rank-o.rank)/2+o.rank,e};I(r,"edge-proxy",i,"_ep")}})}function kn(r){var e=0;s(r.nodes(),function(n){var o=r.node(n);o.borderTop&&(o.minRank=r.node(o.borderTop).rank,o.maxRank=r.node(o.borderBottom).rank,e=g(e,o.maxRank))}),r.graph().maxRank=e}function gn(r){s(r.nodes(),function(e){var n=r.node(e);n.dummy==="edge-proxy"&&(r.edge(n.e).labelRank=n.rank,r.removeNode(e))})}function Nn(r){var e=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,t=0,i=r.graph(),a=i.marginx||0,f=i.marginy||0;function u(d){var c=d.x,l=d.y,v=d.width,_=d.height;e=Math.min(e,c-v/2),n=Math.max(n,c+v/2),o=Math.min(o,l-_/2),t=Math.max(t,l+_/2)}s(r.nodes(),function(d){u(r.node(d))}),s(r.edges(),function(d){var c=r.edge(d);m(c,"x")&&u(c)}),e-=a,o-=f,s(r.nodes(),function(d){var c=r.node(d);c.x-=e,c.y-=o}),s(r.edges(),function(d){var c=r.edge(d);s(c.points,function(l){l.x-=e,l.y-=o}),m(c,"x")&&(c.x-=e),m(c,"y")&&(c.y-=o)}),i.width=n-e+a,i.height=t-o+f}function In(r){s(r.edges(),function(e){var n=r.edge(e),o=r.node(e.v),t=r.node(e.w),i,a;n.points?(i=n.points[0],a=n.points[n.points.length-1]):(n.points=[],i=t,a=o),n.points.unshift(rr(o,i)),n.points.push(rr(t,a))})}function Ln(r){s(r.edges(),function(e){var n=r.edge(e);if(m(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}})}function Cn(r){s(r.edges(),function(e){var n=r.edge(e);n.reversed&&n.points.reverse()})}function Tn(r){s(r.nodes(),function(e){if(r.children(e).length){var n=r.node(e),o=r.node(n.borderTop),t=r.node(n.borderBottom),i=r.node(O(n.borderLeft)),a=r.node(O(n.borderRight));n.width=Math.abs(a.x-i.x),n.height=Math.abs(t.y-o.y),n.x=i.x+n.width/2,n.y=o.y+n.height/2}}),s(r.nodes(),function(e){r.node(e).dummy==="border"&&r.removeNode(e)})}function Rn(r){s(r.edges(),function(e){if(e.v===e.w){var n=r.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:r.edge(e)}),r.removeEdge(e)}})}function Sn(r){var e=M(r);s(e,function(n){var o=0;s(n,function(t,i){var a=r.node(t);a.order=i+o,s(a.selfEdges,function(f){I(r,"selfedge",{width:f.label.width,height:f.label.height,rank:a.rank,order:i+ ++o,e:f.e,label:f.label},"_se")}),delete a.selfEdges})})}function Mn(r){s(r.nodes(),function(e){var n=r.node(e);if(n.dummy==="selfedge"){var o=r.node(n.e.v),t=o.x+o.width/2,i=o.y,a=n.x-t,f=o.height/2;r.setEdge(n.e,n.label),r.removeNode(e),n.label.points=[{x:t+2*a/3,y:i-f},{x:t+5*a/6,y:i-f},{x:t+a,y:i},{x:t+5*a/6,y:i+f},{x:t+2*a/3,y:i+f}],n.label.x=n.x,n.label.y=n.y}})}function pr(r,e){return A(j(r,e),Number)}function mr(r){var e={};return s(r,function(n,o){e[o.toLowerCase()]=n}),e}h();export{un as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Ga as He,Ia as We,Ka as he,Oa as N,ab as we,fb as Je,gb as Ze,h as M,hb as $e,ib as et,jb as tt,kb as st,lb as it,nb as F}from"./chunk-I2PZFXTK.js";import{a as qe}from"./chunk-M2JW2GFW.js";qe();var Pe=function(){var e=function(x,u,a,h){for(a=a||{},h=x.length;h--;a[x[h]]=u);return a},i=[1,17],r=[1,18],l=[1,19],o=[1,39],A=[1,40],g=[1,25],D=[1,23],B=[1,24],_=[1,31],Ee=[1,32],Ce=[1,33],me=[1,34],be=[1,35],ge=[1,36],ke=[1,26],Te=[1,27],Fe=[1,28],ye=[1,29],d=[1,43],De=[1,30],E=[1,42],C=[1,44],m=[1,41],k=[1,45],Be=[1,9],c=[1,8,9],Y=[1,56],Q=[1,57],j=[1,58],X=[1,59],q=[1,60],_e=[1,61],Se=[1,62],H=[1,8,9,39],ze=[1,74],G=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],W=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],J=[13,74,80,95,97,98],U=[13,64,65,74,80,95,97,98],Ke=[13,59,60,61,62,63,74,80,95,97,98],Ne=[1,93],Z=[1,110],$=[1,108],ee=[1,102],te=[1,103],se=[1,104],ie=[1,105],ne=[1,106],ue=[1,107],re=[1,109],Le=[1,8,9,37,39,42],ae=[1,8,9,21],Ye=[1,8,9,78],S=[1,8,9,21,73,74,78,80,81,82,83,84,85],ve={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(u,a,h,n,f,t,z){var s=t.length-1;switch(f){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:n.addRelation(t[s]);break;case 17:t[s-1].title=n.cleanupLabel(t[s]),n.addRelation(t[s-1]);break;case 27:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 28:case 29:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 30:n.addClassesToNamespace(t[s-3],t[s-1]);break;case 31:n.addClassesToNamespace(t[s-4],t[s-1]);break;case 32:this.$=t[s],n.addNamespace(t[s]);break;case 33:this.$=[t[s]];break;case 34:this.$=[t[s-1]];break;case 35:t[s].unshift(t[s-2]),this.$=t[s];break;case 37:n.setCssClass(t[s-2],t[s]);break;case 38:n.addMembers(t[s-3],t[s-1]);break;case 39:n.setCssClass(t[s-5],t[s-3]),n.addMembers(t[s-5],t[s-1]);break;case 40:this.$=t[s],n.addClass(t[s]);break;case 41:this.$=t[s-1],n.addClass(t[s-1]),n.setClassLabel(t[s-1],t[s]);break;case 42:n.addAnnotation(t[s],t[s-2]);break;case 43:this.$=[t[s]];break;case 44:t[s].push(t[s-1]),this.$=t[s];break;case 45:break;case 46:n.addMember(t[s-1],n.cleanupLabel(t[s]));break;case 47:break;case 48:break;case 49:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 51:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 52:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 53:n.addNote(t[s],t[s-1]);break;case 54:n.addNote(t[s]);break;case 55:n.setDirection("TB");break;case 56:n.setDirection("BT");break;case 57:n.setDirection("RL");break;case 58:n.setDirection("LR");break;case 59:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 61:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 62:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 63:this.$=n.relationType.AGGREGATION;break;case 64:this.$=n.relationType.EXTENSION;break;case 65:this.$=n.relationType.COMPOSITION;break;case 66:this.$=n.relationType.DEPENDENCY;break;case 67:this.$=n.relationType.LOLLIPOP;break;case 68:this.$=n.lineType.LINE;break;case 69:this.$=n.lineType.DOTTED_LINE;break;case 70:case 76:this.$=t[s-2],n.setClickEvent(t[s-1],t[s]);break;case 71:case 77:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 72:this.$=t[s-2],n.setLink(t[s-1],t[s]);break;case 73:this.$=t[s-3],n.setLink(t[s-2],t[s-1],t[s]);break;case 74:this.$=t[s-3],n.setLink(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 75:this.$=t[s-4],n.setLink(t[s-3],t[s-2],t[s]),n.setTooltip(t[s-3],t[s-1]);break;case 78:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 79:this.$=t[s-4],n.setClickEvent(t[s-3],t[s-2],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],n.setLink(t[s-2],t[s]);break;case 81:this.$=t[s-4],n.setLink(t[s-3],t[s-1],t[s]);break;case 82:this.$=t[s-4],n.setLink(t[s-3],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 83:this.$=t[s-5],n.setLink(t[s-4],t[s-2],t[s]),n.setTooltip(t[s-4],t[s-1]);break;case 84:this.$=t[s-2],n.setCssStyle(t[s-1],t[s]);break;case 85:n.setCssClass(t[s-1],t[s]);break;case 86:this.$=[t[s]];break;case 87:t[s-2].push(t[s]),this.$=t[s-2];break;case 89:this.$=t[s-1]+t[s];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:Ee,53:Ce,54:me,55:be,56:ge,66:ke,67:Te,69:Fe,73:ye,74:d,76:De,80:E,95:C,97:m,98:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(Be,[2,5],{8:[1,46]}),{8:[1,47]},e(c,[2,16],{21:[1,48]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),e(c,[2,26]),{32:[1,49]},{34:[1,50]},e(c,[2,29]),e(c,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Y,60:Q,61:j,62:X,63:q,64:_e,65:Se}),{37:[1,63]},e(H,[2,36],{37:[1,65],42:[1,64]}),e(c,[2,47]),e(c,[2,48]),{16:66,74:d,80:E,95:C,97:m},{16:37,17:67,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:68,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:69,18:38,74:d,80:E,95:C,97:m,98:k},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:d,80:E,95:C,97:m,98:k},{13:ze,51:73},e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(c,[2,58]),e(G,[2,11],{16:37,18:38,17:75,19:[1,76],74:d,80:E,95:C,97:m,98:k}),e(G,[2,12],{19:[1,77]}),{15:78,16:79,74:d,80:E,95:C,97:m},{16:37,17:80,18:38,74:d,80:E,95:C,97:m,98:k},e(W,[2,112]),e(W,[2,113]),e(W,[2,114]),e(W,[2,115]),e([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),e(Be,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:i,33:r,35:l,40:o,44:A,45:g,47:D,48:B,50:_,52:Ee,53:Ce,54:me,55:be,56:ge,66:ke,67:Te,69:Fe,73:ye,74:d,76:De,80:E,95:C,97:m,98:k}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:Ee,53:Ce,54:me,55:be,56:ge,66:ke,67:Te,69:Fe,73:ye,74:d,76:De,80:E,95:C,97:m,98:k},e(c,[2,17]),e(c,[2,27]),e(c,[2,28]),{13:[1,84],16:37,17:83,18:38,74:d,80:E,95:C,97:m,98:k},{49:85,57:54,58:55,59:Y,60:Q,61:j,62:X,63:q,64:_e,65:Se},e(c,[2,46]),{58:86,64:_e,65:Se},e(J,[2,62],{57:87,59:Y,60:Q,61:j,62:X,63:q}),e(U,[2,63]),e(U,[2,64]),e(U,[2,65]),e(U,[2,66]),e(U,[2,67]),e(Ke,[2,68]),e(Ke,[2,69]),{8:[1,89],23:90,38:88,41:22,44:A},{16:91,74:d,80:E,95:C,97:m},{43:92,47:Ne},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Z,73:$,74:ee,75:99,77:100,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},{74:[1,111]},{13:ze,51:112},e(c,[2,54]),e(c,[2,117]),e(G,[2,13]),e(G,[2,14]),e(G,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:d,80:E,95:C,97:m},e(Le,[2,40],{11:114,12:[1,115]}),e(Be,[2,7]),{9:[1,116]},e(ae,[2,49]),{16:37,17:117,18:38,74:d,80:E,95:C,97:m,98:k},{13:[1,119],16:37,17:118,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,61],{57:120,59:Y,60:Q,61:j,62:X,63:q}),e(J,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:A},{8:[1,123],39:[2,33]},e(H,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:Ne},{16:37,17:127,18:38,74:d,80:E,95:C,97:m,98:k},e(c,[2,70],{13:[1,128]}),e(c,[2,72],{13:[1,130],68:[1,129]}),e(c,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},e(c,[2,84],{78:[1,134]}),e(Ye,[2,86],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(S,[2,88]),e(S,[2,90]),e(S,[2,91]),e(S,[2,92]),e(S,[2,93]),e(S,[2,94]),e(S,[2,95]),e(S,[2,96]),e(S,[2,97]),e(S,[2,98]),e(c,[2,85]),e(c,[2,53]),{37:[2,10]},e(Le,[2,41]),{13:[1,136]},{1:[2,4]},e(ae,[2,51]),e(ae,[2,50]),{16:37,17:137,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,59]),e(c,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:A},{43:140,47:Ne},e(H,[2,38]),{39:[2,44]},e(c,[2,42]),e(c,[2,71]),e(c,[2,73]),e(c,[2,74],{68:[1,141]}),e(c,[2,77]),e(c,[2,78],{13:[1,142]}),e(c,[2,80],{13:[1,144],68:[1,143]}),{21:Z,73:$,74:ee,77:145,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},e(S,[2,89]),{14:[1,146]},e(ae,[2,52]),e(c,[2,31]),{39:[2,35]},{39:[1,147]},e(c,[2,75]),e(c,[2,79]),e(c,[2,81]),e(c,[2,82],{68:[1,148]}),e(Ye,[2,87],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(Le,[2,8]),e(H,[2,39]),e(c,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var h=new Error(u);throw h.hash=a,h}},parse:function(u){var a=this,h=[0],n=[],f=[null],t=[],z=this.table,s="",le=0,Qe=0,ht=2,je=1,At=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var Oe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Oe)&&(I.yy[Oe]=this.yy[Oe]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var Ie=b.yylloc;t.push(Ie);var pt=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(){var v;return v=n.pop()||b.lex()||je,typeof v!="number"&&(v instanceof Array&&(n=v,v=n.pop()),v=a.symbols_[v]||v),v}for(var T,R,y,Re,P={},ce,L,Xe,oe;;){if(R=h[h.length-1],this.defaultActions[R]?y=this.defaultActions[R]:((T===null||typeof T>"u")&&(T=ft()),y=z[R]&&z[R][T]),typeof y>"u"||!y.length||!y[0]){var Ve="";oe=[];for(ce in z[R])this.terminals_[ce]&&ce>ht&&oe.push("'"+this.terminals_[ce]+"'");b.showPosition?Ve="Parse error on line "+(le+1)+`:
|
|
1
|
+
import{Ga as He,Ia as We,Ka as he,Oa as N,ab as we,fb as Je,gb as Ze,h as M,hb as $e,ib as et,jb as tt,kb as st,lb as it,nb as F}from"./chunk-ZTIWFPBM.js";import{a as qe}from"./chunk-M2JW2GFW.js";qe();var Pe=function(){var e=function(x,u,a,h){for(a=a||{},h=x.length;h--;a[x[h]]=u);return a},i=[1,17],r=[1,18],l=[1,19],o=[1,39],A=[1,40],g=[1,25],D=[1,23],B=[1,24],_=[1,31],Ee=[1,32],Ce=[1,33],me=[1,34],be=[1,35],ge=[1,36],ke=[1,26],Te=[1,27],Fe=[1,28],ye=[1,29],d=[1,43],De=[1,30],E=[1,42],C=[1,44],m=[1,41],k=[1,45],Be=[1,9],c=[1,8,9],Y=[1,56],Q=[1,57],j=[1,58],X=[1,59],q=[1,60],_e=[1,61],Se=[1,62],H=[1,8,9,39],ze=[1,74],G=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],W=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],J=[13,74,80,95,97,98],U=[13,64,65,74,80,95,97,98],Ke=[13,59,60,61,62,63,74,80,95,97,98],Ne=[1,93],Z=[1,110],$=[1,108],ee=[1,102],te=[1,103],se=[1,104],ie=[1,105],ne=[1,106],ue=[1,107],re=[1,109],Le=[1,8,9,37,39,42],ae=[1,8,9,21],Ye=[1,8,9,78],S=[1,8,9,21,73,74,78,80,81,82,83,84,85],ve={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(u,a,h,n,f,t,z){var s=t.length-1;switch(f){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:n.addRelation(t[s]);break;case 17:t[s-1].title=n.cleanupLabel(t[s]),n.addRelation(t[s-1]);break;case 27:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 28:case 29:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 30:n.addClassesToNamespace(t[s-3],t[s-1]);break;case 31:n.addClassesToNamespace(t[s-4],t[s-1]);break;case 32:this.$=t[s],n.addNamespace(t[s]);break;case 33:this.$=[t[s]];break;case 34:this.$=[t[s-1]];break;case 35:t[s].unshift(t[s-2]),this.$=t[s];break;case 37:n.setCssClass(t[s-2],t[s]);break;case 38:n.addMembers(t[s-3],t[s-1]);break;case 39:n.setCssClass(t[s-5],t[s-3]),n.addMembers(t[s-5],t[s-1]);break;case 40:this.$=t[s],n.addClass(t[s]);break;case 41:this.$=t[s-1],n.addClass(t[s-1]),n.setClassLabel(t[s-1],t[s]);break;case 42:n.addAnnotation(t[s],t[s-2]);break;case 43:this.$=[t[s]];break;case 44:t[s].push(t[s-1]),this.$=t[s];break;case 45:break;case 46:n.addMember(t[s-1],n.cleanupLabel(t[s]));break;case 47:break;case 48:break;case 49:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 51:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 52:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 53:n.addNote(t[s],t[s-1]);break;case 54:n.addNote(t[s]);break;case 55:n.setDirection("TB");break;case 56:n.setDirection("BT");break;case 57:n.setDirection("RL");break;case 58:n.setDirection("LR");break;case 59:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 61:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 62:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 63:this.$=n.relationType.AGGREGATION;break;case 64:this.$=n.relationType.EXTENSION;break;case 65:this.$=n.relationType.COMPOSITION;break;case 66:this.$=n.relationType.DEPENDENCY;break;case 67:this.$=n.relationType.LOLLIPOP;break;case 68:this.$=n.lineType.LINE;break;case 69:this.$=n.lineType.DOTTED_LINE;break;case 70:case 76:this.$=t[s-2],n.setClickEvent(t[s-1],t[s]);break;case 71:case 77:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 72:this.$=t[s-2],n.setLink(t[s-1],t[s]);break;case 73:this.$=t[s-3],n.setLink(t[s-2],t[s-1],t[s]);break;case 74:this.$=t[s-3],n.setLink(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 75:this.$=t[s-4],n.setLink(t[s-3],t[s-2],t[s]),n.setTooltip(t[s-3],t[s-1]);break;case 78:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 79:this.$=t[s-4],n.setClickEvent(t[s-3],t[s-2],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 80:this.$=t[s-3],n.setLink(t[s-2],t[s]);break;case 81:this.$=t[s-4],n.setLink(t[s-3],t[s-1],t[s]);break;case 82:this.$=t[s-4],n.setLink(t[s-3],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 83:this.$=t[s-5],n.setLink(t[s-4],t[s-2],t[s]),n.setTooltip(t[s-4],t[s-1]);break;case 84:this.$=t[s-2],n.setCssStyle(t[s-1],t[s]);break;case 85:n.setCssClass(t[s-1],t[s]);break;case 86:this.$=[t[s]];break;case 87:t[s-2].push(t[s]),this.$=t[s-2];break;case 89:this.$=t[s-1]+t[s];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:Ee,53:Ce,54:me,55:be,56:ge,66:ke,67:Te,69:Fe,73:ye,74:d,76:De,80:E,95:C,97:m,98:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(Be,[2,5],{8:[1,46]}),{8:[1,47]},e(c,[2,16],{21:[1,48]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),e(c,[2,26]),{32:[1,49]},{34:[1,50]},e(c,[2,29]),e(c,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:Y,60:Q,61:j,62:X,63:q,64:_e,65:Se}),{37:[1,63]},e(H,[2,36],{37:[1,65],42:[1,64]}),e(c,[2,47]),e(c,[2,48]),{16:66,74:d,80:E,95:C,97:m},{16:37,17:67,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:68,18:38,74:d,80:E,95:C,97:m,98:k},{16:37,17:69,18:38,74:d,80:E,95:C,97:m,98:k},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:d,80:E,95:C,97:m,98:k},{13:ze,51:73},e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(c,[2,58]),e(G,[2,11],{16:37,18:38,17:75,19:[1,76],74:d,80:E,95:C,97:m,98:k}),e(G,[2,12],{19:[1,77]}),{15:78,16:79,74:d,80:E,95:C,97:m},{16:37,17:80,18:38,74:d,80:E,95:C,97:m,98:k},e(W,[2,112]),e(W,[2,113]),e(W,[2,114]),e(W,[2,115]),e([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),e(Be,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:i,33:r,35:l,40:o,44:A,45:g,47:D,48:B,50:_,52:Ee,53:Ce,54:me,55:be,56:ge,66:ke,67:Te,69:Fe,73:ye,74:d,76:De,80:E,95:C,97:m,98:k}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:i,33:r,35:l,36:21,40:o,41:22,44:A,45:g,47:D,48:B,50:_,52:Ee,53:Ce,54:me,55:be,56:ge,66:ke,67:Te,69:Fe,73:ye,74:d,76:De,80:E,95:C,97:m,98:k},e(c,[2,17]),e(c,[2,27]),e(c,[2,28]),{13:[1,84],16:37,17:83,18:38,74:d,80:E,95:C,97:m,98:k},{49:85,57:54,58:55,59:Y,60:Q,61:j,62:X,63:q,64:_e,65:Se},e(c,[2,46]),{58:86,64:_e,65:Se},e(J,[2,62],{57:87,59:Y,60:Q,61:j,62:X,63:q}),e(U,[2,63]),e(U,[2,64]),e(U,[2,65]),e(U,[2,66]),e(U,[2,67]),e(Ke,[2,68]),e(Ke,[2,69]),{8:[1,89],23:90,38:88,41:22,44:A},{16:91,74:d,80:E,95:C,97:m},{43:92,47:Ne},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Z,73:$,74:ee,75:99,77:100,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},{74:[1,111]},{13:ze,51:112},e(c,[2,54]),e(c,[2,117]),e(G,[2,13]),e(G,[2,14]),e(G,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:d,80:E,95:C,97:m},e(Le,[2,40],{11:114,12:[1,115]}),e(Be,[2,7]),{9:[1,116]},e(ae,[2,49]),{16:37,17:117,18:38,74:d,80:E,95:C,97:m,98:k},{13:[1,119],16:37,17:118,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,61],{57:120,59:Y,60:Q,61:j,62:X,63:q}),e(J,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:A},{8:[1,123],39:[2,33]},e(H,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:Ne},{16:37,17:127,18:38,74:d,80:E,95:C,97:m,98:k},e(c,[2,70],{13:[1,128]}),e(c,[2,72],{13:[1,130],68:[1,129]}),e(c,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},e(c,[2,84],{78:[1,134]}),e(Ye,[2,86],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(S,[2,88]),e(S,[2,90]),e(S,[2,91]),e(S,[2,92]),e(S,[2,93]),e(S,[2,94]),e(S,[2,95]),e(S,[2,96]),e(S,[2,97]),e(S,[2,98]),e(c,[2,85]),e(c,[2,53]),{37:[2,10]},e(Le,[2,41]),{13:[1,136]},{1:[2,4]},e(ae,[2,51]),e(ae,[2,50]),{16:37,17:137,18:38,74:d,80:E,95:C,97:m,98:k},e(J,[2,59]),e(c,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:A},{43:140,47:Ne},e(H,[2,38]),{39:[2,44]},e(c,[2,42]),e(c,[2,71]),e(c,[2,73]),e(c,[2,74],{68:[1,141]}),e(c,[2,77]),e(c,[2,78],{13:[1,142]}),e(c,[2,80],{13:[1,144],68:[1,143]}),{21:Z,73:$,74:ee,77:145,79:101,80:te,81:se,82:ie,83:ne,84:ue,85:re},e(S,[2,89]),{14:[1,146]},e(ae,[2,52]),e(c,[2,31]),{39:[2,35]},{39:[1,147]},e(c,[2,75]),e(c,[2,79]),e(c,[2,81]),e(c,[2,82],{68:[1,148]}),e(Ye,[2,87],{79:135,21:Z,73:$,74:ee,80:te,81:se,82:ie,83:ne,84:ue,85:re}),e(Le,[2,8]),e(H,[2,39]),e(c,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var h=new Error(u);throw h.hash=a,h}},parse:function(u){var a=this,h=[0],n=[],f=[null],t=[],z=this.table,s="",le=0,Qe=0,ht=2,je=1,At=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var Oe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Oe)&&(I.yy[Oe]=this.yy[Oe]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var Ie=b.yylloc;t.push(Ie);var pt=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(){var v;return v=n.pop()||b.lex()||je,typeof v!="number"&&(v instanceof Array&&(n=v,v=n.pop()),v=a.symbols_[v]||v),v}for(var T,R,y,Re,P={},ce,L,Xe,oe;;){if(R=h[h.length-1],this.defaultActions[R]?y=this.defaultActions[R]:((T===null||typeof T>"u")&&(T=ft()),y=z[R]&&z[R][T]),typeof y>"u"||!y.length||!y[0]){var Ve="";oe=[];for(ce in z[R])this.terminals_[ce]&&ce>ht&&oe.push("'"+this.terminals_[ce]+"'");b.showPosition?Ve="Parse error on line "+(le+1)+`:
|
|
2
2
|
`+b.showPosition()+`
|
|
3
3
|
Expecting `+oe.join(", ")+", got '"+(this.terminals_[T]||T)+"'":Ve="Parse error on line "+(le+1)+": Unexpected "+(T==je?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(Ve,{text:b.match,token:this.terminals_[T]||T,line:b.yylineno,loc:Ie,expected:oe})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+T);switch(y[0]){case 1:h.push(T),f.push(b.yytext),t.push(b.yylloc),h.push(y[1]),T=null,Qe=b.yyleng,s=b.yytext,le=b.yylineno,Ie=b.yylloc;break;case 2:if(L=this.productions_[y[1]][1],P.$=f[f.length-L],P._$={first_line:t[t.length-(L||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(L||1)].first_column,last_column:t[t.length-1].last_column},pt&&(P._$.range=[t[t.length-(L||1)].range[0],t[t.length-1].range[1]]),Re=this.performAction.apply(P,[s,Qe,le,I.yy,y[1],f,t].concat(At)),typeof Re<"u")return Re;L&&(h=h.slice(0,-1*L*2),f=f.slice(0,-1*L),t=t.slice(0,-1*L)),h.push(this.productions_[y[1]][0]),f.push(P.$),t.push(P._$),Xe=z[h[h.length-2]][h[h.length-1]],h.push(Xe);break;case 3:return!0}}return!0}},ot=function(){var x={EOF:1,parseError:function(a,h){if(this.yy.parser)this.yy.parser.parseError(a,h);else throw new Error(a)},setInput:function(u,a){return this.yy=a||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var a=u.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},unput:function(u){var a=u.length,h=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),h.length-1&&(this.yylineno-=h.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:h?(h.length===n.length?this.yylloc.first_column:0)+n[n.length-h.length].length-h[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(u){this.unput(this.match.slice(u))},pastInput:function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var u=this.pastInput(),a=new Array(u.length+1).join("-");return u+this.upcomingInput()+`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as V}from"./chunk-GCHQBOKV.js";import{G as P,Ga as g,I as tt,Ia as q,Ja as H,ab as Y,bb as U,h as T,nb as b}from"./chunk-I2PZFXTK.js";import{a as K}from"./chunk-M2JW2GFW.js";K();var ot=(e,t,a,i)=>{t.forEach(l=>{mt[l](e,a,i)})},yt=(e,t,a)=>{g.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},pt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ft=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},xt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},dt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ut=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},bt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},wt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},mt={extension:yt,composition:pt,aggregation:ft,dependency:xt,lollipop:dt,point:gt,circle:ut,cross:bt,barb:wt},yr=ot;function kt(e,t){t&&e.attr("style",t)}function vt(e){let t=T(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('<span class="'+l+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+i+"</span>"),kt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}var Lt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),H(b().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),g.debug("vertexText"+l);let r={isNode:i,label:U(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>`<i class='${n.replace(":"," ")}'></i>`),labelStyle:t.replace("fill:","color:")};return vt(r)}else{let r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?s=l:s=[];for(let n of s){let c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},R=Lt,M=async(e,t,a,i)=>{let l,r=t.useHtmlLabels||H(b().flowchart.htmlLabels);a?l=a:l="node default";let s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle),c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];let o=n.node(),h;t.labelType==="markdown"?h=V(n,q(U(c),b()),{useHtmlLabels:r,width:t.width||b().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(R(q(U(c),b()),t.labelStyle,!1,i));let y=h.getBBox(),f=t.padding/2;if(H(b().flowchart.htmlLabels)){let p=h.children[0],d=T(h),k=p.getElementsByTagName("img");if(k){let x=c.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...k].map(u=>new Promise(S=>{function E(){if(u.style.display="flex",u.style.flexDirection="column",x){let C=b().fontSize?b().fontSize:window.getComputedStyle(document.body).fontSize,W=5,A=parseInt(C,10)*W+"px";u.style.minWidth=A,u.style.maxWidth=A}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&E()}),u.addEventListener("error",E),u.addEventListener("load",E)})))}y=p.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:f,label:n}},m=(e,t)=>{let a=t.node().getBBox();e.width=a.width,e.height=a.height};function I(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function St(e,t){return e.intersect(t)}function ct(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),o=Math.abs(t*a*s/c);i.x<l&&(o=-o);var h=Math.abs(t*a*n/c);return i.y<r&&(h=-h),{x:l+o,y:r+h}}function Mt(e,t,a){return ct(e,t,t,a)}function Tt(e,t,a,i){var l,r,s,n,c,o,h,y,f,p,d,k,x,u,S;if(l=t.y-e.y,s=e.x-t.x,c=t.x*e.y-e.x*t.y,f=l*a.x+s*a.y+c,p=l*i.x+s*i.y+c,!(f!==0&&p!==0&&rt(f,p))&&(r=i.y-a.y,n=a.x-i.x,o=i.x*a.y-a.x*i.y,h=r*e.x+n*e.y+o,y=r*t.x+n*t.y+o,!(h!==0&&y!==0&&rt(h,y))&&(d=l*n-r*s,d!==0)))return k=Math.abs(d/2),x=s*o-n*c,u=x<0?(x-k)/d:(x+k)/d,x=r*c-l*o,S=x<0?(x-k)/d:(x+k)/d,{x:u,y:S}}function rt(e,t){return e*t>0}function Bt(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,o=l-e.height/2-n,h=0;h<t.length;h++){var y=t[h],f=t[h<t.length-1?h+1:0],p=Tt(e,a,{x:c+y.x,y:o+y.y},{x:c+f.x,y:o+f.y});p&&r.push(p)}return r.length?(r.length>1&&r.sort(function(d,k){var x=d.x-a.x,u=d.y-a.y,S=Math.sqrt(x*x+u*u),E=k.x-a.x,C=k.y-a.y,W=Math.sqrt(E*E+C*C);return S<W?-1:S===W?0:1}),r[0]):e}var Et=(e,t)=>{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,o;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,o=n):(l<0&&(s=-s),c=s,o=l===0?0:s*r/l),{x:a+c,y:i+o}},Ct=Et,w={node:St,circle:Mt,ellipse:ct,polygon:Bt,rect:Ct},$t=async(e,t)=>{t.useHtmlLabels||b().flowchart.htmlLabels||(t.centerLabel=!0);let{shapeSvg:i,bbox:l,halfPadding:r}=await M(e,t,"node "+t.classes,!0);g.info("Classes = ",t.classes);let s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),m(t,s),t.intersect=function(n){return w.rect(t,n)},i},_t=$t,Rt=e=>{let t=new Set;for(let a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Ht=(e,t,a)=>{let i=Rt(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},at=e=>e?" "+e:"",_=(e,t)=>`${t||"node default"}${at(e.classes)} ${at(e.class)}`,et=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];g.info("Question main (Circle)");let c=I(a,s,s,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return g.warn("Intersect called"),w.polygon(t,n,o)},a},It=(e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return w.circle(t,14,s)},a},Nt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Ot=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Ht(t.directions,i,t),o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Wt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return I(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return w.polygon(t,s,c)},a},Xt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Yt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Dt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},At=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},jt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Ut=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,o=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return m(t,o),t.intersect=function(h){let y=w.rect(t,h),f=y.x-t.x;if(r!=0&&(Math.abs(f)<t.width/2||Math.abs(f)==t.width/2&&Math.abs(y.y-t.y)>t.height/2-s)){let p=s*s*(1-f*f/(r*r));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),y.y+=p}return y},a},zt=async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){let h=new Set(Object.keys(t.props));t.props.borders&&(J(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Zt=async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){let h=new Set(Object.keys(t.props));t.props.borders&&(J(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Gt=async(e,t)=>{let{shapeSvg:a}=await M(e,t,"label",!0);g.trace("Classes = ",t.class);let i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){let s=new Set(Object.keys(t.props));t.props.borders&&(J(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{g.warn(`Unknown node property ${n}`)})}return m(t,i),t.intersect=function(s){return w.rect(t,s)},a};function J(e,t,a,i){let l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(g.debug("add top border"),r(a)):s(a),t.includes("r")?(g.debug("add right border"),r(i)):s(i),t.includes("b")?(g.debug("add bottom border"),r(a)):s(a),t.includes("l")?(g.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}var Ft=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";let i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText,c="";typeof n=="object"?c=n[0]:c=n,g.info("Label text abc79",c,n,typeof n=="object");let o=s.node().appendChild(R(c,t.labelStyle,!0,!0)),h={width:0,height:0};if(H(b().flowchart.htmlLabels)){let k=o.children[0],x=T(o);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}g.info("Text 2",n);let y=n.slice(1,n.length),f=o.getBBox(),p=s.node().appendChild(R(y.join?y.join("<br/>"):y,t.labelStyle,!0,!0));if(H(b().flowchart.htmlLabels)){let k=p.children[0],x=T(p);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}let d=t.padding/2;return T(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+d+5)+")"),T(o).attr("transform","translate( "+(h.width<f.width?0:-(f.width-h.width)/2)+", 0)"),h=s.node().getBBox(),s.attr("transform","translate("+-h.width/2+", "+(-h.height/2-d+3)+")"),l.attr("class","outer title-state").attr("x",-h.width/2-d).attr("y",-h.height/2-d).attr("width",h.width+t.padding).attr("height",h.height+t.padding),r.attr("class","divider").attr("x1",-h.width/2-d).attr("x2",h.width/2+d).attr("y1",-h.height/2-d+f.height+d).attr("y2",-h.height/2-d+f.height+d),m(t,l),t.intersect=function(k){return w.rect(t,k)},i},Qt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return m(t,s),t.intersect=function(n){return w.rect(t,n)},a},Vt=async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("Circle main"),m(t,r),t.intersect=function(s){return g.info("Circle intersect",t,i.width/2+l,s),w.circle(t,i.width/2+l,s)},a},qt=async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return g.info("DoubleCircle intersect",t,i.width/2+l+r,o),w.circle(t,i.width/2+l+r,o)},a},Jt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Kt=(e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,i),t.intersect=function(l){return w.circle(t,7,l)},a},st=(e,t,a)=>{let i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=70,r=10;a==="LR"&&(l=10,r=70);let s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return m(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return w.rect(t,n)},i},Pt=(e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,l),t.intersect=function(r){return w.circle(t,7,r)},a},tr=(e,t)=>{let a=t.padding/2,i=4,l=8,r;t.classes?r="node "+t.classes:r="node default";let s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line"),h=0,y=i,f=s.insert("g").attr("class","label"),p=0,d=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"\xAB"+t.classData.annotations[0]+"\xBB":"",x=f.node().appendChild(R(k,t.labelStyle,!0,!0)),u=x.getBBox();if(H(b().flowchart.htmlLabels)){let v=x.children[0],L=T(x);u=v.getBoundingClientRect(),L.attr("width",u.width),L.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,h+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(b().flowchart.htmlLabels?S+="<"+t.classData.type+">":S+="<"+t.classData.type+">");let E=f.node().appendChild(R(S,t.labelStyle,!0,!0));T(E).attr("class","classTitle");let C=E.getBBox();if(H(b().flowchart.htmlLabels)){let v=E.children[0],L=T(E);C=v.getBoundingClientRect(),L.attr("width",C.width),L.attr("height",C.height)}y+=C.height+i,C.width>h&&(h=C.width);let W=[];t.classData.members.forEach(v=>{let L=v.getDisplayDetails(),X=L.displayText;b().flowchart.htmlLabels&&(X=X.replace(/</g,"<").replace(/>/g,">"));let N=f.node().appendChild(R(X,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0)),$=N.getBBox();if(H(b().flowchart.htmlLabels)){let Q=N.children[0],j=T(N);$=Q.getBoundingClientRect(),j.attr("width",$.width),j.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,W.push(N)}),y+=l;let A=[];if(t.classData.methods.forEach(v=>{let L=v.getDisplayDetails(),X=L.displayText;b().flowchart.htmlLabels&&(X=X.replace(/</g,"<").replace(/>/g,">"));let N=f.node().appendChild(R(X,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0)),$=N.getBBox();if(H(b().flowchart.htmlLabels)){let Q=N.children[0],j=T(N);$=Q.getBoundingClientRect(),j.attr("width",$.width),j.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,A.push(N)}),y+=l,d){let v=(h-u.width)/2;T(x).attr("transform","translate( "+(-1*h/2+v)+", "+-1*y/2+")"),p=u.height+i}let ht=(h-C.width)/2;return T(E).attr("transform","translate( "+(-1*h/2+ht)+", "+(-1*y/2+p)+")"),p+=C.height+i,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,W.forEach(v=>{T(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p+l/2)+")");let L=v?.getBBox();p+=(L?.height??0)+i}),p+=l,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,A.forEach(v=>{T(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p)+")");let L=v?.getBBox();p+=(L?.height??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(y/2)-a).attr("width",h+t.padding).attr("height",y+t.padding),m(t,n),t.intersect=function(v){return w.rect(t,v)},s},it={rhombus:et,composite:Zt,question:et,rect:zt,labelRect:Gt,rectWithTitle:Ft,choice:It,circle:Vt,doublecircle:qt,stadium:Qt,hexagon:Nt,block_arrow:Ot,rect_left_inv_arrow:Wt,lean_right:Xt,lean_left:Yt,trapezoid:Dt,inv_trapezoid:At,rect_right_inv_arrow:jt,cylinder:Ut,start:Kt,end:Pt,note:_t,subroutine:Jt,fork:st,join:st,class_box:tr},D={},pr=async(e,t,a)=>{let i,l;if(t.link){let r;b().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await it[t.shape](i,t,a)}else l=await it[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),D[t.id]=i,t.haveCallback&&D[t.id].attr("class",D[t.id].attr("class")+" clickable"),i},fr=(e,t)=>{D[t.id]=e},xr=()=>{D={}},dr=e=>{let t=D[e.id];g.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");let a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},rr=({flowchart:e})=>{var t,a;let i=((t=e?.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e?.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function z(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=G(e),t=G(t);let[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}var G=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,ar=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){let{angle:r,deltaX:s}=z(i[0],i[1]);l=O[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){let{angle:r,deltaX:s}=z(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return G(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){let{angle:r,deltaY:s}=z(i[0],i[1]);l=O[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){let{angle:r,deltaY:s}=z(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return G(t).y+l}}),er=(e,t,a,i,l)=>{t.arrowTypeStart&&nt(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&nt(e,"end",t.arrowTypeEnd,a,i,l)},sr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},nt=(e,t,a,i,l,r)=>{let s=sr[a];if(!s){g.warn(`Unknown arrow type: ${a}`);return}let n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)},F={},B={},gr=()=>{F={},B={}},ur=(e,t)=>{let a=H(b().flowchart.htmlLabels),i=t.labelType==="markdown"?V(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):R(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){let c=i.children[0],o=T(i);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),F[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){let c=R(t.startLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);let y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),B[t.id]||(B[t.id]={}),B[t.id].startLeft=o,Z(n,t.startLabelLeft)}if(t.startLabelRight){let c=R(t.startLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);let y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),B[t.id]||(B[t.id]={}),B[t.id].startRight=o,Z(n,t.startLabelRight)}if(t.endLabelLeft){let c=R(t.endLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);let y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),B[t.id]||(B[t.id]={}),B[t.id].endLeft=o,Z(n,t.endLabelLeft)}if(t.endLabelRight){let c=R(t.endLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);let y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),B[t.id]||(B[t.id]={}),B[t.id].endRight=o,Z(n,t.endLabelRight)}return i};function Z(e,t){b().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}var br=(e,t)=>{g.debug("Moving label abc88 ",e.id,e.label,F[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath,i=b(),{subGraphTitleTotalMargin:l}=rr(i);if(e.label){let r=F[e.id],s=e.x,n=e.y;if(a){let c=Y.calcLabelPosition(a);g.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){let r=B[e.id].startLeft,s=e.x,n=e.y;if(a){let c=Y.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){let r=B[e.id].startRight,s=e.x,n=e.y;if(a){let c=Y.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){let r=B[e.id].endLeft,s=e.x,n=e.y;if(a){let c=Y.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){let r=B[e.id].endRight,s=e.x,n=e.y;if(a){let c=Y.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},ir=(e,t)=>{let a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},nr=(e,t,a)=>{g.debug(`intersection calc abc89:
|
|
1
|
+
import{b as V}from"./chunk-635MQ3CK.js";import{G as P,Ga as g,I as tt,Ia as q,Ja as H,ab as Y,bb as U,h as T,nb as b}from"./chunk-ZTIWFPBM.js";import{a as K}from"./chunk-M2JW2GFW.js";K();var ot=(e,t,a,i)=>{t.forEach(l=>{mt[l](e,a,i)})},yt=(e,t,a)=>{g.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},pt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ft=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},xt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},dt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},gt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},ut=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},bt=(e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},wt=(e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},mt={extension:yt,composition:pt,aggregation:ft,dependency:xt,lollipop:dt,point:gt,circle:ut,cross:bt,barb:wt},yr=ot;function kt(e,t){t&&e.attr("style",t)}function vt(e){let t=T(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),i=e.label,l=e.isNode?"nodeLabel":"edgeLabel";return a.html('<span class="'+l+'" '+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+i+"</span>"),kt(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}var Lt=(e,t,a,i)=>{let l=e||"";if(typeof l=="object"&&(l=l[0]),H(b().flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),g.debug("vertexText"+l);let r={isNode:i,label:U(l).replace(/fa[blrs]?:fa-[\w-]+/g,n=>`<i class='${n.replace(":"," ")}'></i>`),labelStyle:t.replace("fill:","color:")};return vt(r)}else{let r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let s=[];typeof l=="string"?s=l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?s=l:s=[];for(let n of s){let c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=n.trim(),r.appendChild(c)}return r}},R=Lt,M=async(e,t,a,i)=>{let l,r=t.useHtmlLabels||H(b().flowchart.htmlLabels);a?l=a:l="node default";let s=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle),c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];let o=n.node(),h;t.labelType==="markdown"?h=V(n,q(U(c),b()),{useHtmlLabels:r,width:t.width||b().flowchart.wrappingWidth,classes:"markdown-node-label"}):h=o.appendChild(R(q(U(c),b()),t.labelStyle,!1,i));let y=h.getBBox(),f=t.padding/2;if(H(b().flowchart.htmlLabels)){let p=h.children[0],d=T(h),k=p.getElementsByTagName("img");if(k){let x=c.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...k].map(u=>new Promise(S=>{function E(){if(u.style.display="flex",u.style.flexDirection="column",x){let C=b().fontSize?b().fontSize:window.getComputedStyle(document.body).fontSize,W=5,A=parseInt(C,10)*W+"px";u.style.minWidth=A,u.style.maxWidth=A}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&E()}),u.addEventListener("error",E),u.addEventListener("load",E)})))}y=p.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:f,label:n}},m=(e,t)=>{let a=t.node().getBBox();e.width=a.width,e.height=a.height};function I(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}function St(e,t){return e.intersect(t)}function ct(e,t,a,i){var l=e.x,r=e.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+a*a*s*s),o=Math.abs(t*a*s/c);i.x<l&&(o=-o);var h=Math.abs(t*a*n/c);return i.y<r&&(h=-h),{x:l+o,y:r+h}}function Mt(e,t,a){return ct(e,t,t,a)}function Tt(e,t,a,i){var l,r,s,n,c,o,h,y,f,p,d,k,x,u,S;if(l=t.y-e.y,s=e.x-t.x,c=t.x*e.y-e.x*t.y,f=l*a.x+s*a.y+c,p=l*i.x+s*i.y+c,!(f!==0&&p!==0&&rt(f,p))&&(r=i.y-a.y,n=a.x-i.x,o=i.x*a.y-a.x*i.y,h=r*e.x+n*e.y+o,y=r*t.x+n*t.y+o,!(h!==0&&y!==0&&rt(h,y))&&(d=l*n-r*s,d!==0)))return k=Math.abs(d/2),x=s*o-n*c,u=x<0?(x-k)/d:(x+k)/d,x=r*c-l*o,S=x<0?(x-k)/d:(x+k)/d,{x:u,y:S}}function rt(e,t){return e*t>0}function Bt(e,t,a){var i=e.x,l=e.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-e.width/2-s,o=l-e.height/2-n,h=0;h<t.length;h++){var y=t[h],f=t[h<t.length-1?h+1:0],p=Tt(e,a,{x:c+y.x,y:o+y.y},{x:c+f.x,y:o+f.y});p&&r.push(p)}return r.length?(r.length>1&&r.sort(function(d,k){var x=d.x-a.x,u=d.y-a.y,S=Math.sqrt(x*x+u*u),E=k.x-a.x,C=k.y-a.y,W=Math.sqrt(E*E+C*C);return S<W?-1:S===W?0:1}),r[0]):e}var Et=(e,t)=>{var a=e.x,i=e.y,l=t.x-a,r=t.y-i,s=e.width/2,n=e.height/2,c,o;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,o=n):(l<0&&(s=-s),c=s,o=l===0?0:s*r/l),{x:a+c,y:i+o}},Ct=Et,w={node:St,circle:Mt,ellipse:ct,polygon:Bt,rect:Ct},$t=async(e,t)=>{t.useHtmlLabels||b().flowchart.htmlLabels||(t.centerLabel=!0);let{shapeSvg:i,bbox:l,halfPadding:r}=await M(e,t,"node "+t.classes,!0);g.info("Classes = ",t.classes);let s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),m(t,s),t.intersect=function(n){return w.rect(t,n)},i},_t=$t,Rt=e=>{let t=new Set;for(let a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},Ht=(e,t,a)=>{let i=Rt(e),l=2,r=t.height+2*a.padding,s=r/l,n=t.width+2*s+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},at=e=>e?" "+e:"",_=(e,t)=>`${t||"node default"}${at(e.classes)} ${at(e.class)}`,et=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];g.info("Question main (Circle)");let c=I(a,s,s,n);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return g.warn("Intersect called"),w.polygon(t,n,o)},a},It=(e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return w.circle(t,14,s)},a},Nt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Ot=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Ht(t.directions,i,t),o=I(a,n,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},Wt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return I(a,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return w.polygon(t,s,c)},a},Xt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Yt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Dt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},At=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},jt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Ut=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,o=a.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return m(t,o),t.intersect=function(h){let y=w.rect(t,h),f=y.x-t.x;if(r!=0&&(Math.abs(f)<t.width/2||Math.abs(f)==t.width/2&&Math.abs(y.y-t.y)>t.height/2-s)){let p=s*s*(1-f*f/(r*r));p!=0&&(p=Math.sqrt(p)),p=s-p,h.y-t.y>0&&(p=-p),y.y+=p}return y},a},zt=async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){let h=new Set(Object.keys(t.props));t.props.borders&&(J(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Zt=async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,o=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",s).attr("height",n),t.props){let h=new Set(Object.keys(t.props));t.props.borders&&(J(r,t.props.borders,s,n),h.delete("borders")),h.forEach(y=>{g.warn(`Unknown node property ${y}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},Gt=async(e,t)=>{let{shapeSvg:a}=await M(e,t,"label",!0);g.trace("Classes = ",t.class);let i=a.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),a.attr("class","label edgeLabel"),t.props){let s=new Set(Object.keys(t.props));t.props.borders&&(J(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{g.warn(`Unknown node property ${n}`)})}return m(t,i),t.intersect=function(s){return w.rect(t,s)},a};function J(e,t,a,i){let l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(g.debug("add top border"),r(a)):s(a),t.includes("r")?(g.debug("add right border"),r(i)):s(i),t.includes("b")?(g.debug("add bottom border"),r(a)):s(a),t.includes("l")?(g.debug("add left border"),r(i)):s(i),e.attr("stroke-dasharray",l.join(" "))}var Ft=(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";let i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText,c="";typeof n=="object"?c=n[0]:c=n,g.info("Label text abc79",c,n,typeof n=="object");let o=s.node().appendChild(R(c,t.labelStyle,!0,!0)),h={width:0,height:0};if(H(b().flowchart.htmlLabels)){let k=o.children[0],x=T(o);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}g.info("Text 2",n);let y=n.slice(1,n.length),f=o.getBBox(),p=s.node().appendChild(R(y.join?y.join("<br/>"):y,t.labelStyle,!0,!0));if(H(b().flowchart.htmlLabels)){let k=p.children[0],x=T(p);h=k.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}let d=t.padding/2;return T(p).attr("transform","translate( "+(h.width>f.width?0:(f.width-h.width)/2)+", "+(f.height+d+5)+")"),T(o).attr("transform","translate( "+(h.width<f.width?0:-(f.width-h.width)/2)+", 0)"),h=s.node().getBBox(),s.attr("transform","translate("+-h.width/2+", "+(-h.height/2-d+3)+")"),l.attr("class","outer title-state").attr("x",-h.width/2-d).attr("y",-h.height/2-d).attr("width",h.width+t.padding).attr("height",h.height+t.padding),r.attr("class","divider").attr("x1",-h.width/2-d).attr("x2",h.width/2+d).attr("y1",-h.height/2-d+f.height+d).attr("y2",-h.height/2-d+f.height+d),m(t,l),t.intersect=function(k){return w.rect(t,k)},i},Qt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=a.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return m(t,s),t.intersect=function(n){return w.rect(t,n)},a},Vt=async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("Circle main"),m(t,r),t.intersect=function(s){return g.info("Circle intersect",t,i.width/2+l,s),w.circle(t,i.width/2+l,s)},a},qt=async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:l}=await M(e,t,_(t,void 0),!0),r=5,s=a.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),g.info("DoubleCircle main"),m(t,n),t.intersect=function(o){return g.info("DoubleCircle intersect",t,i.width/2+l+r,o),w.circle(t,i.width/2+l+r,o)},a},Jt=async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,_(t,void 0),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=I(a,l,r,s);return n.attr("style",t.style),m(t,n),t.intersect=function(c){return w.polygon(t,s,c)},a},Kt=(e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,i),t.intersect=function(l){return w.circle(t,7,l)},a},st=(e,t,a)=>{let i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=70,r=10;a==="LR"&&(l=10,r=70);let s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return m(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return w.rect(t,n)},i},Pt=(e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,l),t.intersect=function(r){return w.circle(t,7,r)},a},tr=(e,t)=>{let a=t.padding/2,i=4,l=8,r;t.classes?r="node "+t.classes:r="node default";let s=e.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),o=s.insert("line"),h=0,y=i,f=s.insert("g").attr("class","label"),p=0,d=t.classData.annotations&&t.classData.annotations[0],k=t.classData.annotations[0]?"\xAB"+t.classData.annotations[0]+"\xBB":"",x=f.node().appendChild(R(k,t.labelStyle,!0,!0)),u=x.getBBox();if(H(b().flowchart.htmlLabels)){let v=x.children[0],L=T(x);u=v.getBoundingClientRect(),L.attr("width",u.width),L.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,h+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(b().flowchart.htmlLabels?S+="<"+t.classData.type+">":S+="<"+t.classData.type+">");let E=f.node().appendChild(R(S,t.labelStyle,!0,!0));T(E).attr("class","classTitle");let C=E.getBBox();if(H(b().flowchart.htmlLabels)){let v=E.children[0],L=T(E);C=v.getBoundingClientRect(),L.attr("width",C.width),L.attr("height",C.height)}y+=C.height+i,C.width>h&&(h=C.width);let W=[];t.classData.members.forEach(v=>{let L=v.getDisplayDetails(),X=L.displayText;b().flowchart.htmlLabels&&(X=X.replace(/</g,"<").replace(/>/g,">"));let N=f.node().appendChild(R(X,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0)),$=N.getBBox();if(H(b().flowchart.htmlLabels)){let Q=N.children[0],j=T(N);$=Q.getBoundingClientRect(),j.attr("width",$.width),j.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,W.push(N)}),y+=l;let A=[];if(t.classData.methods.forEach(v=>{let L=v.getDisplayDetails(),X=L.displayText;b().flowchart.htmlLabels&&(X=X.replace(/</g,"<").replace(/>/g,">"));let N=f.node().appendChild(R(X,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0)),$=N.getBBox();if(H(b().flowchart.htmlLabels)){let Q=N.children[0],j=T(N);$=Q.getBoundingClientRect(),j.attr("width",$.width),j.attr("height",$.height)}$.width>h&&(h=$.width),y+=$.height+i,A.push(N)}),y+=l,d){let v=(h-u.width)/2;T(x).attr("transform","translate( "+(-1*h/2+v)+", "+-1*y/2+")"),p=u.height+i}let ht=(h-C.width)/2;return T(E).attr("transform","translate( "+(-1*h/2+ht)+", "+(-1*y/2+p)+")"),p+=C.height+i,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,W.forEach(v=>{T(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p+l/2)+")");let L=v?.getBBox();p+=(L?.height??0)+i}),p+=l,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-y/2-a+l+p).attr("y2",-y/2-a+l+p),p+=l,A.forEach(v=>{T(v).attr("transform","translate( "+-h/2+", "+(-1*y/2+p)+")");let L=v?.getBBox();p+=(L?.height??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(y/2)-a).attr("width",h+t.padding).attr("height",y+t.padding),m(t,n),t.intersect=function(v){return w.rect(t,v)},s},it={rhombus:et,composite:Zt,question:et,rect:zt,labelRect:Gt,rectWithTitle:Ft,choice:It,circle:Vt,doublecircle:qt,stadium:Qt,hexagon:Nt,block_arrow:Ot,rect_left_inv_arrow:Wt,lean_right:Xt,lean_left:Yt,trapezoid:Dt,inv_trapezoid:At,rect_right_inv_arrow:jt,cylinder:Ut,start:Kt,end:Pt,note:_t,subroutine:Jt,fork:st,join:st,class_box:tr},D={},pr=async(e,t,a)=>{let i,l;if(t.link){let r;b().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await it[t.shape](i,t,a)}else l=await it[t.shape](e,t,a),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),D[t.id]=i,t.haveCallback&&D[t.id].attr("class",D[t.id].attr("class")+" clickable"),i},fr=(e,t)=>{D[t.id]=e},xr=()=>{D={}},dr=e=>{let t=D[e.id];g.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");let a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},rr=({flowchart:e})=>{var t,a;let i=((t=e?.subGraphTitleMargin)==null?void 0:t.top)??0,l=((a=e?.subGraphTitleMargin)==null?void 0:a.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},O={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function z(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=G(e),t=G(t);let[a,i]=[e.x,e.y],[l,r]=[t.x,t.y],s=l-a,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}var G=e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,ar=e=>({x:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){let{angle:r,deltaX:s}=z(i[0],i[1]);l=O[e.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){let{angle:r,deltaX:s}=z(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return G(t).x+l},y:function(t,a,i){let l=0;if(a===0&&Object.hasOwn(O,e.arrowTypeStart)){let{angle:r,deltaY:s}=z(i[0],i[1]);l=O[e.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(a===i.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){let{angle:r,deltaY:s}=z(i[i.length-1],i[i.length-2]);l=O[e.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return G(t).y+l}}),er=(e,t,a,i,l)=>{t.arrowTypeStart&&nt(e,"start",t.arrowTypeStart,a,i,l),t.arrowTypeEnd&&nt(e,"end",t.arrowTypeEnd,a,i,l)},sr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},nt=(e,t,a,i,l,r)=>{let s=sr[a];if(!s){g.warn(`Unknown arrow type: ${a}`);return}let n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)},F={},B={},gr=()=>{F={},B={}},ur=(e,t)=>{let a=H(b().flowchart.htmlLabels),i=t.labelType==="markdown"?V(e,t.label,{style:t.labelStyle,useHtmlLabels:a,addSvgBackground:!0}):R(t.label,t.labelStyle),l=e.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(a){let c=i.children[0],o=T(i);s=c.getBoundingClientRect(),o.attr("width",s.width),o.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),F[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){let c=R(t.startLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);let y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),B[t.id]||(B[t.id]={}),B[t.id].startLeft=o,Z(n,t.startLabelLeft)}if(t.startLabelRight){let c=R(t.startLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=o.node().appendChild(c),h.node().appendChild(c);let y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),B[t.id]||(B[t.id]={}),B[t.id].startRight=o,Z(n,t.startLabelRight)}if(t.endLabelLeft){let c=R(t.endLabelLeft,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);let y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),B[t.id]||(B[t.id]={}),B[t.id].endLeft=o,Z(n,t.endLabelLeft)}if(t.endLabelRight){let c=R(t.endLabelRight,t.labelStyle),o=e.insert("g").attr("class","edgeTerminals"),h=o.insert("g").attr("class","inner");n=h.node().appendChild(c);let y=c.getBBox();h.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),o.node().appendChild(c),B[t.id]||(B[t.id]={}),B[t.id].endRight=o,Z(n,t.endLabelRight)}return i};function Z(e,t){b().flowchart.htmlLabels&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}var br=(e,t)=>{g.debug("Moving label abc88 ",e.id,e.label,F[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath,i=b(),{subGraphTitleTotalMargin:l}=rr(i);if(e.label){let r=F[e.id],s=e.x,n=e.y;if(a){let c=Y.calcLabelPosition(a);g.debug("Moving label "+e.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(e.startLabelLeft){let r=B[e.id].startLeft,s=e.x,n=e.y;if(a){let c=Y.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.startLabelRight){let r=B[e.id].startRight,s=e.x,n=e.y;if(a){let c=Y.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelLeft){let r=B[e.id].endLeft,s=e.x,n=e.y;if(a){let c=Y.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(e.endLabelRight){let r=B[e.id].endRight,s=e.x,n=e.y;if(a){let c=Y.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},ir=(e,t)=>{let a=e.x,i=e.y,l=Math.abs(t.x-a),r=Math.abs(t.y-i),s=e.width/2,n=e.height/2;return l>=s||r>=n},nr=(e,t,a)=>{g.debug(`intersection calc abc89:
|
|
2
2
|
outsidePoint: ${JSON.stringify(t)}
|
|
3
3
|
insidePoint : ${JSON.stringify(a)}
|
|
4
4
|
node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let i=e.x,l=e.y,r=Math.abs(i-a.x),s=e.width/2,n=a.x<t.x?s-r:s+r,c=e.height/2,o=Math.abs(t.y-a.y),h=Math.abs(t.x-a.x);if(Math.abs(l-t.y)*s>Math.abs(i-t.x)*c){let y=a.y<t.y?t.y-c-l:l-c-t.y;n=h*y/o;let f={x:a.x<t.x?a.x+n:a.x-h+n,y:a.y<t.y?a.y+o-y:a.y-o+y};return n===0&&(f.x=t.x,f.y=t.y),h===0&&(f.x=t.x),o===0&&(f.y=t.y),g.debug(`abc89 topp/bott calc, Q ${o}, q ${y}, R ${h}, r ${n}`,f),f}else{a.x<t.x?n=t.x-s-i:n=i-s-t.x;let y=o*n/h,f=a.x<t.x?a.x+h-n:a.x-h+n,p=a.y<t.y?a.y+y:a.y-y;return g.debug(`sides calc abc89, Q ${o}, q ${y}, R ${h}, r ${n}`,{_x:f,_y:p}),n===0&&(f=t.x,p=t.y),h===0&&(f=t.x),o===0&&(p=t.y),{x:f,y:p}}},lt=(e,t)=>{g.debug("abc88 cutPathAtIntersect",e,t);let a=[],i=e[0],l=!1;return e.forEach(r=>{if(!ir(t,r)&&!l){let s=nr(t,i,r),n=!1;a.forEach(c=>{n=n||c.x===s.x&&c.y===s.y}),a.some(c=>c.x===s.x&&c.y===s.y)||a.push(s),l=!0}else i=r,l||a.push(r)}),a},wr=function(e,t,a,i,l,r,s){let n=a.points;g.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1,o=r.node(t.v);var h=r.node(t.w);h?.intersect&&o?.intersect&&(n=n.slice(1,a.points.length-1),n.unshift(o.intersect(n[0])),n.push(h.intersect(n[n.length-1]))),a.toCluster&&(g.debug("to cluster abc88",i[a.toCluster]),n=lt(a.points,i[a.toCluster].node),c=!0),a.fromCluster&&(g.debug("from cluster abc88",i[a.fromCluster]),n=lt(n.reverse(),i[a.fromCluster].node).reverse(),c=!0);let y=n.filter(C=>!Number.isNaN(C.y)),f=tt;a.curve&&(l==="graph"||l==="flowchart")&&(f=a.curve);let{x:p,y:d}=ar(a),k=P().x(p).y(d).curve(f),x;switch(a.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-thick";break;default:x=""}switch(a.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break}let u=e.append("path").attr("d",k(y)).attr("id",a.id).attr("class"," "+x+(a.classes?" "+a.classes:"")).attr("style",a.style),S="";(b().flowchart.arrowMarkerAbsolute||b().state.arrowMarkerAbsolute)&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),er(u,a,S,s,l);let E={};return c&&(E.updatedPath=n),E.originalPath=a.points,E};export{yr as a,R as b,M as c,m as d,Ct as e,pr as f,fr as g,xr as h,dr as i,rr as j,ar as k,er as l,gr as m,ur as n,br as o,wr as p};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as F,b as R,d as M,e as N,f as U,g as j,h as A,i as _,j as B,m as H,n as V,o as W,p as q}from"./chunk-WEYK4A2L.js";import{b as $}from"./chunk-GCHQBOKV.js";import{a as G}from"./chunk-P5M3G2RP.js";import{A as P,b as k,j as L,o as p}from"./chunk-AHLLBBVJ.js";import{Ga as s,Ja as C,h as O,nb as D}from"./chunk-I2PZFXTK.js";import{a as S}from"./chunk-M2JW2GFW.js";S();function m(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:nt(e),edges:it(e)};return p(e.graph())||(t.value=k(e.graph())),t}function nt(e){return L(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return p(n)||(i.value=n),p(r)||(i.parent=r),i})}function it(e){return L(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return p(t.name)||(r.name=t.name),p(n)||(r.value=n),r})}S();var l={},g={},z={},rt=()=>{g={},z={},l={}},T=(e,t)=>(s.trace("In isDescendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),at=(e,t)=>(s.info("Descendants of ",t," is ",g[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||T(e.v,t)||T(e.w,t)||g[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),K=(e,t,n,r)=>{s.warn("Copying children of ",e,"root",r,"data",t.node(e),r);let i=t.children(e)||[];e!==r&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)K(a,t,n,r);else{let d=t.node(a);s.info("cp ",a," to ",r," with parent ",e),n.setNode(a,d),r!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",r,"data",t.node(e),r),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));let h=t.edges(a);s.debug("Copying Edges",h),h.forEach(f=>{s.info("Edge",f);let u=t.edge(f.v,f.w,f.name);s.info("Edge data",u,r);try{at(f,r)?(s.info("Copying as ",f.v,f.w,u,f.name),n.setEdge(f.v,f.w,u,f.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",f.v,"-->",f.w," rootId: ",r," clusterId:",e)}catch(w){s.error(w)}})}s.debug("Removing node",a),t.removeNode(a)})},Q=(e,t)=>{let n=t.children(e),r=[...n];for(let i of n)z[i]=e,r=[...r,...Q(i,t)];return r},X=(e,t)=>{s.trace("Searching",e);let n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(let r of n){let i=X(r,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},J=e=>!l[e]||!l[e].externalConnections?e:l[e]?l[e].id:e,ct=(e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",X(n,e)),g[n]=Q(n,e),l[n]={id:X(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){let r=e.children(n),i=e.edges();r.length>0?(s.debug("Cluster identified",n,g),i.forEach(a=>{if(a.v!==n&&a.w!==n){let d=T(a.v,n),h=T(a.w,n);d^h&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",g[n]),l[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,g)});for(let n of Object.keys(l)){let r=l[n].id,i=e.parent(r);i!==n&&l[i]&&!l[i].externalConnections&&(l[n].id=i)}e.edges().forEach(function(n){let r=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",l,"ids:",n.v,n.w,"Translating: ",l[n.v]," --- ",l[n.w]),l[n.v]&&l[n.w]&&l[n.v]===l[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=J(n.v),a=J(n.w),e.removeEdge(n.v,n.w,n.name);let d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});let h=structuredClone(r),f=structuredClone(r);h.label="",h.arrowTypeEnd="none",f.label="",h.fromCluster=n.v,f.toCluster=n.v,e.setEdge(i,d,h,n.name+"-cyclic-special"),e.setEdge(d,a,f,n.name+"-cyclic-special")}else if(l[n.v]||l[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=J(n.v),a=J(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){let d=e.parent(i);l[d].externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){let d=e.parent(a);l[d].externalConnections=!0,r.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,r,n.name)}}),s.warn("Adjusted Graph",m(e)),Y(e,0),s.trace(l)},Y=(e,t)=>{if(s.warn("extractor - ",t,m(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),r=!1;for(let i of n){let a=e.children(i);r=r||a.length>0}if(!r){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(let i of n)if(s.debug("Extracting node",i,l,l[i]&&!l[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!l[i])s.debug("Not a cluster",i,t);else if(!l[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,t);let d=e.graph().rankdir==="TB"?"LR":"TB";l[i]&&l[i].clusterData&&l[i].clusterData.dir&&(d=l[i].clusterData.dir,s.warn("Fixing dir",l[i].clusterData.dir,d));let h=new P({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",m(e)),K(i,e,h,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:l[i].clusterData,labelText:l[i].labelText,graph:h}),s.warn("New graph after copy node: (",i,")",m(h)),s.debug("Old graph after copy",m(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.debug(l);n=e.nodes(),s.warn("New list of nodes",n);for(let i of n){let a=e.node(i);s.warn(" Now next level",i,a),a.clusterNode&&Y(a.graph,t+1)}},Z=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{let i=e.children(r),a=Z(e,i);n=[...n,...a]}),n},ot=e=>Z(e,e.children()),lt=(e,t)=>{s.info("Creating subgraph rect for ",t.id,t);let n=D(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=C(n.flowchart.htmlLabels),d=r.insert("g").attr("class","cluster-label"),h=t.labelType==="markdown"?$(d,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):d.node().appendChild(R(t.labelText,t.labelStyle,void 0,!0)),f=h.getBBox();if(C(n.flowchart.htmlLabels)){let c=h.children[0],o=O(h);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}let u=0*t.padding,w=u/2,b=t.width<=f.width+u?f.width+u:t.width;t.width<=f.width+u?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-b/2).attr("y",t.y-t.height/2-w).attr("width",b).attr("height",t.height+u);let{subGraphTitleTopMargin:y}=B(n);a?d.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+y})`):d.attr("transform",`translate(${t.x}, ${t.y-t.height/2+y})`);let v=i.node().getBBox();return t.width=v.width,t.height=v.height,t.intersect=function(c){return N(t,c)},r},ft=(e,t)=>{let n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");let d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(h){return N(t,h)},n},dt=(e,t)=>{let n=D(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),d=r.append("rect"),h=a.node().appendChild(R(t.labelText,t.labelStyle,void 0,!0)),f=h.getBBox();if(C(n.flowchart.htmlLabels)){let c=h.children[0],o=O(h);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}f=h.getBBox();let u=0*t.padding,w=u/2,b=t.width<=f.width+t.padding?f.width+t.padding:t.width;t.width<=f.width+t.padding?t.diff=(f.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-b/2-w).attr("y",t.y-t.height/2-w).attr("width",b+u).attr("height",t.height+u),d.attr("class","inner").attr("x",t.x-b/2-w).attr("y",t.y-t.height/2-w+f.height-1).attr("width",b+u).attr("height",t.height+u-f.height-3);let{subGraphTitleTopMargin:y}=B(n);a.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2-t.padding/3+(C(n.flowchart.htmlLabels)?5:3)+y})`);let v=i.node().getBBox();return t.height=v.height,t.intersect=function(c){return N(t,c)},r},ht=(e,t)=>{let n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);let d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(h){return N(t,h)},n},ut={rect:lt,roundedWithTitle:dt,noteGroup:ft,divider:ht},I={},gt=(e,t)=>{s.trace("Inserting cluster");let n=t.shape||"rect";I[t.id]=ut[n](e,t)},wt=()=>{I={}},tt=async(e,t,n,r,i,a)=>{s.info("Graph in recursive render: XXX",m(t),i);let d=t.graph().rankdir;s.trace("Dir in recursive render - dir:",d);let h=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));let f=h.insert("g").attr("class","clusters"),u=h.insert("g").attr("class","edgePaths"),w=h.insert("g").attr("class","edgeLabels"),b=h.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){let o=t.node(c);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",x,i),t.setNode(i.id,x),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,x))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));let x=await tt(b,o.graph,n,r,t.node(c),a),E=x.elem;M(o,E),o.diff=x.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),j(E,o),s.warn("Recursive render complete ",E,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(X(o.id,t)),l[o.id]={id:X(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await U(b,t.node(c),d))})),t.edges().forEach(function(c){let o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",l,"ids:",c.v,c.w,"Translating: ",l[c.v],l[c.w]),V(w,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),G(t),s.info("Graph after layout:",m(t));let y=0,{subGraphTitleTotalMargin:v}=B(a);return ot(t).forEach(function(c){let o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?(o.y+=v,_(o)):t.children(c).length>0?(o.height+=v,gt(f,o),l[o.id].node=o):(o.y+=v/2,_(o))}),t.edges().forEach(function(c){let o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=v/2);let x=q(u,c,o,l,n,t,r);W(o,x)}),t.nodes().forEach(function(c){let o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(y=o.diff)}),{elem:h,diff:y}},St=async(e,t,n,r,i)=>{F(e,n,r,i),A(),H(),wt(),rt(),s.warn("Graph at first:",JSON.stringify(m(t))),ct(t),s.warn("Graph after:",JSON.stringify(m(t)));let a=D();await tt(e,t,r,i,void 0,a)};export{St as a};
|
|
1
|
+
import{a as F,b as R,d as M,e as N,f as U,g as j,h as A,i as _,j as B,m as H,n as V,o as W,p as q}from"./chunk-FFF2CSVG.js";import{b as $}from"./chunk-635MQ3CK.js";import{a as G}from"./chunk-AIKXYJX3.js";import{A as P,b as k,j as L,o as p}from"./chunk-L5DS24G6.js";import{Ga as s,Ja as C,h as O,nb as D}from"./chunk-ZTIWFPBM.js";import{a as S}from"./chunk-M2JW2GFW.js";S();function m(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:nt(e),edges:it(e)};return p(e.graph())||(t.value=k(e.graph())),t}function nt(e){return L(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return p(n)||(i.value=n),p(r)||(i.parent=r),i})}function it(e){return L(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return p(t.name)||(r.name=t.name),p(n)||(r.value=n),r})}S();var l={},g={},z={},rt=()=>{g={},z={},l={}},T=(e,t)=>(s.trace("In isDescendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),at=(e,t)=>(s.info("Descendants of ",t," is ",g[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||T(e.v,t)||T(e.w,t)||g[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),K=(e,t,n,r)=>{s.warn("Copying children of ",e,"root",r,"data",t.node(e),r);let i=t.children(e)||[];e!==r&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)K(a,t,n,r);else{let d=t.node(a);s.info("cp ",a," to ",r," with parent ",e),n.setNode(a,d),r!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",r,"data",t.node(e),r),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));let h=t.edges(a);s.debug("Copying Edges",h),h.forEach(f=>{s.info("Edge",f);let u=t.edge(f.v,f.w,f.name);s.info("Edge data",u,r);try{at(f,r)?(s.info("Copying as ",f.v,f.w,u,f.name),n.setEdge(f.v,f.w,u,f.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",f.v,"-->",f.w," rootId: ",r," clusterId:",e)}catch(w){s.error(w)}})}s.debug("Removing node",a),t.removeNode(a)})},Q=(e,t)=>{let n=t.children(e),r=[...n];for(let i of n)z[i]=e,r=[...r,...Q(i,t)];return r},X=(e,t)=>{s.trace("Searching",e);let n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(let r of n){let i=X(r,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},J=e=>!l[e]||!l[e].externalConnections?e:l[e]?l[e].id:e,ct=(e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",X(n,e)),g[n]=Q(n,e),l[n]={id:X(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){let r=e.children(n),i=e.edges();r.length>0?(s.debug("Cluster identified",n,g),i.forEach(a=>{if(a.v!==n&&a.w!==n){let d=T(a.v,n),h=T(a.w,n);d^h&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",g[n]),l[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,g)});for(let n of Object.keys(l)){let r=l[n].id,i=e.parent(r);i!==n&&l[i]&&!l[i].externalConnections&&(l[n].id=i)}e.edges().forEach(function(n){let r=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",l,"ids:",n.v,n.w,"Translating: ",l[n.v]," --- ",l[n.w]),l[n.v]&&l[n.w]&&l[n.v]===l[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=J(n.v),a=J(n.w),e.removeEdge(n.v,n.w,n.name);let d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});let h=structuredClone(r),f=structuredClone(r);h.label="",h.arrowTypeEnd="none",f.label="",h.fromCluster=n.v,f.toCluster=n.v,e.setEdge(i,d,h,n.name+"-cyclic-special"),e.setEdge(d,a,f,n.name+"-cyclic-special")}else if(l[n.v]||l[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=J(n.v),a=J(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){let d=e.parent(i);l[d].externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){let d=e.parent(a);l[d].externalConnections=!0,r.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,r,n.name)}}),s.warn("Adjusted Graph",m(e)),Y(e,0),s.trace(l)},Y=(e,t)=>{if(s.warn("extractor - ",t,m(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),r=!1;for(let i of n){let a=e.children(i);r=r||a.length>0}if(!r){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(let i of n)if(s.debug("Extracting node",i,l,l[i]&&!l[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!l[i])s.debug("Not a cluster",i,t);else if(!l[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,t);let d=e.graph().rankdir==="TB"?"LR":"TB";l[i]&&l[i].clusterData&&l[i].clusterData.dir&&(d=l[i].clusterData.dir,s.warn("Fixing dir",l[i].clusterData.dir,d));let h=new P({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",m(e)),K(i,e,h,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:l[i].clusterData,labelText:l[i].labelText,graph:h}),s.warn("New graph after copy node: (",i,")",m(h)),s.debug("Old graph after copy",m(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.debug(l);n=e.nodes(),s.warn("New list of nodes",n);for(let i of n){let a=e.node(i);s.warn(" Now next level",i,a),a.clusterNode&&Y(a.graph,t+1)}},Z=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{let i=e.children(r),a=Z(e,i);n=[...n,...a]}),n},ot=e=>Z(e,e.children()),lt=(e,t)=>{s.info("Creating subgraph rect for ",t.id,t);let n=D(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=C(n.flowchart.htmlLabels),d=r.insert("g").attr("class","cluster-label"),h=t.labelType==="markdown"?$(d,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):d.node().appendChild(R(t.labelText,t.labelStyle,void 0,!0)),f=h.getBBox();if(C(n.flowchart.htmlLabels)){let c=h.children[0],o=O(h);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}let u=0*t.padding,w=u/2,b=t.width<=f.width+u?f.width+u:t.width;t.width<=f.width+u?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-b/2).attr("y",t.y-t.height/2-w).attr("width",b).attr("height",t.height+u);let{subGraphTitleTopMargin:y}=B(n);a?d.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+y})`):d.attr("transform",`translate(${t.x}, ${t.y-t.height/2+y})`);let v=i.node().getBBox();return t.width=v.width,t.height=v.height,t.intersect=function(c){return N(t,c)},r},ft=(e,t)=>{let n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");let d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(h){return N(t,h)},n},dt=(e,t)=>{let n=D(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),d=r.append("rect"),h=a.node().appendChild(R(t.labelText,t.labelStyle,void 0,!0)),f=h.getBBox();if(C(n.flowchart.htmlLabels)){let c=h.children[0],o=O(h);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}f=h.getBBox();let u=0*t.padding,w=u/2,b=t.width<=f.width+t.padding?f.width+t.padding:t.width;t.width<=f.width+t.padding?t.diff=(f.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-b/2-w).attr("y",t.y-t.height/2-w).attr("width",b+u).attr("height",t.height+u),d.attr("class","inner").attr("x",t.x-b/2-w).attr("y",t.y-t.height/2-w+f.height-1).attr("width",b+u).attr("height",t.height+u-f.height-3);let{subGraphTitleTopMargin:y}=B(n);a.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2-t.padding/3+(C(n.flowchart.htmlLabels)?5:3)+y})`);let v=i.node().getBBox();return t.height=v.height,t.intersect=function(c){return N(t,c)},r},ht=(e,t)=>{let n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);let d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(h){return N(t,h)},n},ut={rect:lt,roundedWithTitle:dt,noteGroup:ft,divider:ht},I={},gt=(e,t)=>{s.trace("Inserting cluster");let n=t.shape||"rect";I[t.id]=ut[n](e,t)},wt=()=>{I={}},tt=async(e,t,n,r,i,a)=>{s.info("Graph in recursive render: XXX",m(t),i);let d=t.graph().rankdir;s.trace("Dir in recursive render - dir:",d);let h=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));let f=h.insert("g").attr("class","clusters"),u=h.insert("g").attr("class","edgePaths"),w=h.insert("g").attr("class","edgeLabels"),b=h.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){let o=t.node(c);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",x,i),t.setNode(i.id,x),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,x))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));let x=await tt(b,o.graph,n,r,t.node(c),a),E=x.elem;M(o,E),o.diff=x.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),j(E,o),s.warn("Recursive render complete ",E,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(X(o.id,t)),l[o.id]={id:X(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await U(b,t.node(c),d))})),t.edges().forEach(function(c){let o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",l,"ids:",c.v,c.w,"Translating: ",l[c.v],l[c.w]),V(w,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),G(t),s.info("Graph after layout:",m(t));let y=0,{subGraphTitleTotalMargin:v}=B(a);return ot(t).forEach(function(c){let o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?(o.y+=v,_(o)):t.children(c).length>0?(o.height+=v,gt(f,o),l[o.id].node=o):(o.y+=v/2,_(o))}),t.edges().forEach(function(c){let o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=v/2);let x=q(u,c,o,l,n,t,r);W(o,x)}),t.nodes().forEach(function(c){let o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(y=o.diff)}),{elem:h,diff:y}},St=async(e,t,n,r,i)=>{F(e,n,r,i),A(),H(),wt(),rt(),s.warn("Graph at first:",JSON.stringify(m(t))),ct(t),s.warn("Graph after:",JSON.stringify(m(t)));let a=D();await tt(e,t,r,i,void 0,a)};export{St as a};
|