pmx-canvas 0.11.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/.github/extensions/pmx-canvas/extension.mjs +4 -1
  2. package/.github/extensions/pmx-canvas/runtime.json +1 -1
  3. package/.github/extensions/pmx-canvas/tools.json +440 -18
  4. package/CHANGELOG.md +51 -0
  5. package/dist/amp-plugin/pmx-canvas/LICENSE +21 -0
  6. package/dist/amp-plugin/pmx-canvas/THIRD_PARTY_LICENSES.txt +331 -0
  7. package/dist/amp-plugin/pmx-canvas/index.js +5445 -0
  8. package/dist/amp-plugin/pmx-canvas/runtime.json +3 -0
  9. package/dist/amp-plugin/pmx-canvas/shared-runtime.mjs +194 -0
  10. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/SKILL.md +267 -0
  11. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/evals/evals.json +1168 -0
  12. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/evals/fixtures/code-exploration/src/auth/jwt.ts +17 -0
  13. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/evals/fixtures/code-exploration/src/auth/login.ts +12 -0
  14. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/evals/fixtures/code-exploration/src/auth/middleware.ts +13 -0
  15. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/evals/fixtures/code-exploration/src/routes/auth.ts +13 -0
  16. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/evals/fixtures/investigation-board/src/handlers/users.ts +27 -0
  17. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/mcp.json +36 -0
  18. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/ax-html-control-surface.md +101 -0
  19. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/codex-app-adapter.md +151 -0
  20. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/excalidraw-diagram-authoring.md +150 -0
  21. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/full-reference.md +1839 -0
  22. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/github-copilot-app-adapter.md +223 -0
  23. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/html-primitives.md +139 -0
  24. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/importing-context.md +132 -0
  25. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/installing-pmx-canvas.md +301 -0
  26. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/tours-and-recording.md +117 -0
  27. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas/references/workbench-workflows.md +908 -0
  28. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas-orchestration/SKILL.md +141 -0
  29. package/dist/amp-plugin/pmx-canvas/skills/pmx-canvas-testing/SKILL.md +266 -0
  30. package/dist/amp-plugin/pmx-canvas/start-mcp.mjs +14857 -0
  31. package/dist/amp-plugin/pmx-canvas/tools.json +10963 -0
  32. package/dist/canvas/chunks/{abnfDiagram-N423BO3Z-p8dtp6va.js → abnfDiagram-N423BO3Z-cwtsds5d.js} +1 -1
  33. package/dist/canvas/chunks/architecture-TIHT7OUA-x63cwejs.js +1 -0
  34. package/dist/canvas/chunks/{architectureDiagram-T3A2C74G-5jhmxrzf.js → architectureDiagram-T3A2C74G-b4xc9tpz.js} +3 -3
  35. package/dist/canvas/chunks/{blockDiagram-VBNYF7ZC-pw1fa9yb.js → blockDiagram-VBNYF7ZC-ahp3yxxs.js} +7 -7
  36. package/dist/canvas/chunks/{c4Diagram-5PPSVZJV-x07nq0tt.js → c4Diagram-5PPSVZJV-nappnay7.js} +4 -4
  37. package/dist/canvas/chunks/classDiagram-JCYQIIEL-k1j2xc1t.js +1 -0
  38. package/dist/canvas/chunks/classDiagram-v2-OCEON4UE-33x08xf2.js +1 -0
  39. package/dist/canvas/chunks/{cose-bilkent-JH36ORCC-nm39npq0.js → cose-bilkent-JH36ORCC-a428syda.js} +1 -1
  40. package/dist/canvas/chunks/cynefin-VYW2F7L2-8v6jxfz8.js +1 -0
  41. package/dist/canvas/chunks/{cynefinDiagram-MW4NZA55-vdxrwahz.js → cynefinDiagram-MW4NZA55-nspsqebj.js} +1 -1
  42. package/dist/canvas/chunks/{dagre-VZM6K2ZE-bqdm7wpd.js → dagre-VZM6K2ZE-8y6177fh.js} +2 -2
  43. package/dist/canvas/chunks/{diagram-7IWD3JNH-gs5gpr93.js → diagram-7IWD3JNH-vym028wn.js} +4 -4
  44. package/dist/canvas/chunks/{diagram-B4RE2ZJO-cgwjg47s.js → diagram-B4RE2ZJO-jddqb8sy.js} +1 -1
  45. package/dist/canvas/chunks/{diagram-LBJQPF4R-w3vahpav.js → diagram-LBJQPF4R-bjwbpkrn.js} +1 -1
  46. package/dist/canvas/chunks/{diagram-Q27KOJAE-42837z6h.js → diagram-Q27KOJAE-j6ph6hcx.js} +2 -2
  47. package/dist/canvas/chunks/{diagram-UB23O5K3-4fz83q59.js → diagram-UB23O5K3-p09w8jej.js} +1 -1
  48. package/dist/canvas/chunks/{ebnfDiagram-BXEA7PRR-zphtgegj.js → ebnfDiagram-BXEA7PRR-j975ycq5.js} +1 -1
  49. package/dist/canvas/chunks/{erDiagram-JOGREHBK-zvbbdxp4.js → erDiagram-JOGREHBK-sxp6hjn8.js} +5 -5
  50. package/dist/canvas/chunks/eventmodeling-45OFAUF4-xzfgn6xg.js +1 -0
  51. package/dist/canvas/chunks/flowDiagram-UKHOOZJN-2nsmkskb.js +1 -0
  52. package/dist/canvas/chunks/{ganttDiagram-PKOTCBZU-282jzycm.js → ganttDiagram-PKOTCBZU-4tv230y2.js} +2 -2
  53. package/dist/canvas/chunks/gitGraph-TEB2WS4Q-macbhand.js +1 -0
  54. package/dist/canvas/chunks/{gitGraphDiagram-DS77QQ5N-vqqy6p1b.js → gitGraphDiagram-DS77QQ5N-mqgmnw9g.js} +1 -1
  55. package/dist/canvas/chunks/{index-wgv7en21.js → index-037z5dz2.js} +2 -2
  56. package/dist/canvas/chunks/{index-w2mra17t.js → index-081n3har.js} +1 -1
  57. package/dist/canvas/chunks/{index-353m7b0p.js → index-5n03dmb9.js} +1 -1
  58. package/dist/canvas/chunks/{index-yw8h9vha.js → index-60pgzdqe.js} +1 -1
  59. package/dist/canvas/chunks/index-8g1vb57n.js +2 -0
  60. package/dist/canvas/chunks/{index-vv56h019.js → index-8rjes9r6.js} +1 -1
  61. package/dist/canvas/chunks/{index-nprm96xp.js → index-9022d1n9.js} +1 -1
  62. package/dist/canvas/chunks/{index-194m3hc3.js → index-9b02042t.js} +1 -1
  63. package/dist/canvas/chunks/{index-0rk4gp1g.js → index-ap4q4vez.js} +1 -1
  64. package/dist/canvas/chunks/{index-rh7nv68n.js → index-dyp2nhd3.js} +1 -1
  65. package/dist/canvas/chunks/index-frvta4tm.js +2 -0
  66. package/dist/canvas/chunks/{index-s4j678gj.js → index-h9ycj8n2.js} +1 -1
  67. package/dist/canvas/chunks/{index-fjtdggjn.js → index-mergmj97.js} +2 -2
  68. package/dist/canvas/chunks/index-nwsya6dj.js +301 -0
  69. package/dist/canvas/chunks/{index-3cy1bzwh.js → index-nz8qbd1p.js} +1 -1
  70. package/dist/canvas/chunks/{index-d3b3gqe9.js → index-qhfrazv3.js} +1 -1
  71. package/dist/canvas/chunks/{index-6qmsnxwy.js → index-v119nznk.js} +4 -4
  72. package/dist/canvas/chunks/{index-r2fyc9w1.js → index-vpt37m3d.js} +6 -6
  73. package/dist/canvas/chunks/{index-qj8fxwsf.js → index-y9ma6azy.js} +1 -1
  74. package/dist/canvas/chunks/{index-tb1wf525.js → index-zx0j3a2z.js} +26 -26
  75. package/dist/canvas/chunks/info-DKCQHKI2-a0ykzs9z.js +1 -0
  76. package/dist/canvas/chunks/{infoDiagram-6WML65LV-v1yvggqj.js → infoDiagram-6WML65LV-qv97qq6a.js} +2 -2
  77. package/dist/canvas/chunks/ishikawaDiagram-WSZJBQD7-p9306gh0.js +70 -0
  78. package/dist/canvas/chunks/{journeyDiagram-NVQOT4AX-zjcffveh.js → journeyDiagram-NVQOT4AX-sv67zats.js} +5 -5
  79. package/dist/canvas/chunks/{kanban-definition-27J2QSJJ-dakqtfp1.js → kanban-definition-27J2QSJJ-k2pfam6p.js} +1 -1
  80. package/dist/canvas/chunks/{mermaid.core-j2geswrd.js → mermaid.core-83r0fdce.js} +4 -4
  81. package/dist/canvas/chunks/{mindmap-definition-FAOFIHXS-142xhr3k.js → mindmap-definition-FAOFIHXS-vg2newm1.js} +1 -1
  82. package/dist/canvas/chunks/packet-7NZHBO7P-tqnabcdv.js +1 -0
  83. package/dist/canvas/chunks/{pegDiagram-VL7TDLO6-5wvk7vsd.js → pegDiagram-VL7TDLO6-k2h7zc5n.js} +1 -1
  84. package/dist/canvas/chunks/pie-RZYD4A2V-wke6gyhe.js +1 -0
  85. package/dist/canvas/chunks/{pieDiagram-7S7Q4E2Y-ztdhwycc.js → pieDiagram-7S7Q4E2Y-hg169p1v.js} +2 -2
  86. package/dist/canvas/chunks/{quadrantDiagram-CIZ2JOQS-c5p9gmg6.js → quadrantDiagram-CIZ2JOQS-bxtvsq0b.js} +5 -5
  87. package/dist/canvas/chunks/radar-I7S5WNFK-w7ka0drw.js +1 -0
  88. package/dist/canvas/chunks/railroad-3IZDKUUU-y3vg318x.js +1 -0
  89. package/dist/canvas/chunks/railroad-abnf-AHOZXSZD-6hqvcz3c.js +1 -0
  90. package/dist/canvas/chunks/railroad-ebnf-EBAXGLYW-vcae260m.js +1 -0
  91. package/dist/canvas/chunks/railroad-peg-LSFZ7HO6-0dbyme23.js +1 -0
  92. package/dist/canvas/chunks/{railroadDiagram-AXF67PYL-xkmqkjwf.js → railroadDiagram-AXF67PYL-njyhcp4p.js} +1 -1
  93. package/dist/canvas/chunks/{requirementDiagram-LRYGKXZP-9wm2dyaw.js → requirementDiagram-LRYGKXZP-2z6v09gm.js} +4 -4
  94. package/dist/canvas/chunks/{sankeyDiagram-W5VNT64P-2w19etgb.js → sankeyDiagram-W5VNT64P-15mzam0e.js} +1 -1
  95. package/dist/canvas/chunks/{sequenceDiagram-SI44F4Z6-0jn0vwmz.js → sequenceDiagram-SI44F4Z6-rbshyd2c.js} +12 -12
  96. package/dist/canvas/chunks/{sizeCapture-X5ZJPWSS-x75epwdq.js → sizeCapture-X5ZJPWSS-sg26xwts.js} +1 -1
  97. package/dist/canvas/chunks/{stateDiagram-OKZ733FA-schjpy6d.js → stateDiagram-OKZ733FA-6eahp98e.js} +1 -1
  98. package/dist/canvas/chunks/stateDiagram-v2-UEYNNEHI-tty0ggn5.js +1 -0
  99. package/dist/canvas/chunks/{swimlanes-SLNWSIFB-gkw4xce3.js → swimlanes-SLNWSIFB-ze5db10t.js} +1 -1
  100. package/dist/canvas/chunks/swimlanesDiagram-ULZ7WXOC-thze75gq.js +8 -0
  101. package/dist/canvas/chunks/{timeline-definition-Z64GVDOM-x7nkcy01.js → timeline-definition-Z64GVDOM-vnp7jyy8.js} +3 -3
  102. package/dist/canvas/chunks/treeView-QDETBFTQ-6ysffnm6.js +1 -0
  103. package/dist/canvas/chunks/treemap-6X3UGDF4-m3h9p066.js +1 -0
  104. package/dist/canvas/chunks/vennDiagram-T6HMQDX7-0qrnb7mj.js +34 -0
  105. package/dist/canvas/chunks/wardley-OPB4EBWU-dp37drwx.js +1 -0
  106. package/dist/canvas/chunks/{wardleyDiagram-T6FBY63Y-t1j52t9r.js → wardleyDiagram-T6FBY63Y-8nxg8wqt.js} +4 -4
  107. package/dist/canvas/chunks/{xychartDiagram-ELKLHX3M-38t16pme.js → xychartDiagram-ELKLHX3M-nj921e7s.js} +5 -5
  108. package/dist/canvas/global.css +94 -1
  109. package/dist/canvas/index.js +154 -145
  110. package/dist/canvas/mcp-app.html +600 -498
  111. package/dist/json-render/index.css +1 -1
  112. package/dist/types/client/canvas/BoardMoveDialog.d.ts +2 -0
  113. package/dist/types/client/canvas/EdgeEditor.d.ts +19 -0
  114. package/dist/types/client/canvas/GroupNavigation.d.ts +2 -0
  115. package/dist/types/client/canvas/TextPrompt.d.ts +4 -0
  116. package/dist/types/client/nodes/PromptNode.d.ts +1 -0
  117. package/dist/types/client/nodes/ViewerFrame.d.ts +1 -1
  118. package/dist/types/client/nodes/WorkCard.d.ts +7 -0
  119. package/dist/types/client/nodes/use-ax-surface-bridge.d.ts +1 -0
  120. package/dist/types/client/state/canvas-store.d.ts +15 -0
  121. package/dist/types/client/state/human-store.d.ts +2 -0
  122. package/dist/types/client/state/intent-bridge.d.ts +4 -2
  123. package/dist/types/client/state/relation-store.d.ts +11 -0
  124. package/dist/types/client/types.d.ts +1 -1
  125. package/dist/types/json-render/catalog.d.ts +2 -2
  126. package/dist/types/server/agent-presence.d.ts +1 -0
  127. package/dist/types/server/ax-interaction.d.ts +1 -0
  128. package/dist/types/server/ax-state-manager.d.ts +10 -2
  129. package/dist/types/server/board-local.d.ts +4 -0
  130. package/dist/types/server/board-move.d.ts +38 -0
  131. package/dist/types/server/canvas-db.d.ts +12 -2
  132. package/dist/types/server/canvas-operations.d.ts +5 -6
  133. package/dist/types/server/canvas-provenance.d.ts +1 -1
  134. package/dist/types/server/canvas-serialization.d.ts +1 -0
  135. package/dist/types/server/canvas-state.d.ts +84 -20
  136. package/dist/types/server/card-relocation.d.ts +6 -0
  137. package/dist/types/server/context-reads.d.ts +3 -1
  138. package/dist/types/server/human-presence.d.ts +1 -1
  139. package/dist/types/server/index.d.ts +16 -5
  140. package/dist/types/server/intent-registry.d.ts +8 -4
  141. package/dist/types/server/knowledge-lifecycle.d.ts +4 -2
  142. package/dist/types/server/mutation-history.d.ts +7 -5
  143. package/dist/types/server/operations/registry.d.ts +2 -0
  144. package/dist/types/server/trace-manager.d.ts +1 -0
  145. package/dist/types/shared/ax-kinds.d.ts +6 -0
  146. package/dist/types/shared/ax-surface-protocol.d.ts +8 -0
  147. package/dist/types/shared/human-presence.d.ts +1 -0
  148. package/dist/types/shared/lifecycle-status.d.ts +2 -0
  149. package/docs/RELEASE.md +21 -14
  150. package/docs/agent-plugin.md +22 -2
  151. package/docs/amp-plugin.md +270 -0
  152. package/docs/cli.md +42 -3
  153. package/docs/design/GuestName.dc.html +50 -0
  154. package/docs/design/PluginLogo.svg +7 -0
  155. package/docs/design/WorkCards.dc.html +39 -0
  156. package/docs/design/canvas.json +16 -0
  157. package/docs/design/plugin-logo.png +0 -0
  158. package/docs/design.md +111 -8
  159. package/docs/evals/agents-md-sections.md +38 -0
  160. package/docs/http-api.md +128 -10
  161. package/docs/mcp.md +61 -9
  162. package/docs/node-types.md +71 -1
  163. package/docs/plans/plan-009-tech-debt-backlog.md +1 -1
  164. package/docs/plans/plan-019-post-0.9-roadmap.md +44 -20
  165. package/docs/plans/plan-020-wave-5-work-planning.md +553 -0
  166. package/docs/product-vision-2026-09.md +33 -17
  167. package/docs/sdk.md +18 -0
  168. package/package.json +6 -3
  169. package/plugins/pmx-canvas/assets/preview.png +0 -0
  170. package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/extension.mjs +4 -1
  171. package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/runtime.json +1 -1
  172. package/plugins/pmx-canvas/plugin.json +2 -2
  173. package/plugins/pmx-canvas/runtime.json +1 -1
  174. package/plugins/pmx-canvas/tools.json +440 -18
  175. package/skills/data-analysis/SKILL.md +13 -26
  176. package/skills/frontend-design/LICENSE.txt +177 -0
  177. package/skills/frontend-design/SKILL.md +3 -0
  178. package/skills/pmx-canvas/SKILL.md +248 -842
  179. package/skills/pmx-canvas/evals/evals.json +110 -5
  180. package/skills/pmx-canvas/references/full-reference.md +142 -28
  181. package/skills/pmx-canvas/references/html-primitives.md +7 -0
  182. package/skills/pmx-canvas/references/installing-pmx-canvas.md +61 -11
  183. package/skills/pmx-canvas/references/tours-and-recording.md +39 -6
  184. package/skills/pmx-canvas/references/workbench-workflows.md +908 -0
  185. package/skills/pmx-canvas-testing/SKILL.md +7 -5
  186. package/skills/published-consumer-e2e/SKILL.md +25 -8
  187. package/skills/published-consumer-e2e/scripts/run-published-consumer-e2e.sh +51 -75
  188. package/skills/web-artifacts-builder/LICENSE.txt +202 -0
  189. package/skills/web-artifacts-builder/SKILL.md +6 -0
  190. package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +2 -2
  191. package/skills/web-artifacts-builder/scripts/init-artifact.sh +8 -8
  192. package/src/cli/commands/apps.ts +1 -0
  193. package/src/cli/commands/boards.ts +30 -0
  194. package/src/client/App.tsx +20 -4
  195. package/src/client/canvas/AttentionHistory.tsx +10 -2
  196. package/src/client/canvas/BoardMoveDialog.tsx +225 -0
  197. package/src/client/canvas/CanvasNode.tsx +45 -2
  198. package/src/client/canvas/CanvasViewport.tsx +38 -9
  199. package/src/client/canvas/ContextMenu.tsx +34 -12
  200. package/src/client/canvas/EdgeEditor.tsx +149 -0
  201. package/src/client/canvas/EdgeLayer.tsx +87 -16
  202. package/src/client/canvas/ExpandedNodeOverlay.tsx +4 -0
  203. package/src/client/canvas/GroupNavigation.tsx +85 -0
  204. package/src/client/canvas/RelationsPanel.tsx +9 -0
  205. package/src/client/canvas/SelectionBar.tsx +21 -0
  206. package/src/client/canvas/SessionPanel.tsx +35 -1
  207. package/src/client/canvas/TextPrompt.tsx +18 -1
  208. package/src/client/canvas/TopBar.tsx +30 -0
  209. package/src/client/canvas/canvas-area.ts +1 -1
  210. package/src/client/nodes/ExtAppFrame.tsx +26 -10
  211. package/src/client/nodes/MarkdownNode.tsx +6 -7
  212. package/src/client/nodes/PromptNode.tsx +32 -3
  213. package/src/client/nodes/StatusNode.tsx +12 -0
  214. package/src/client/nodes/StatusSummary.tsx +11 -0
  215. package/src/client/nodes/ViewerFrame.tsx +21 -10
  216. package/src/client/nodes/WorkCard.tsx +175 -0
  217. package/src/client/nodes/use-ax-surface-bridge.ts +18 -14
  218. package/src/client/state/attention-bridge.ts +5 -0
  219. package/src/client/state/attention-store.ts +1 -0
  220. package/src/client/state/canvas-store.ts +185 -15
  221. package/src/client/state/human-store.ts +22 -2
  222. package/src/client/state/intent-bridge.ts +19 -5
  223. package/src/client/state/relation-store.ts +127 -1
  224. package/src/client/theme/global.css +94 -1
  225. package/src/client/types.ts +1 -0
  226. package/src/mcp/server.ts +13 -3
  227. package/src/server/agent-presence.ts +43 -23
  228. package/src/server/ax-flow-loop.ts +6 -0
  229. package/src/server/ax-gate-ttl.ts +8 -1
  230. package/src/server/ax-interaction.ts +16 -10
  231. package/src/server/ax-state-manager.ts +17 -4
  232. package/src/server/ax-wait.ts +20 -6
  233. package/src/server/board-export.ts +19 -6
  234. package/src/server/board-local.ts +20 -0
  235. package/src/server/board-move.ts +297 -0
  236. package/src/server/canvas-db.ts +262 -160
  237. package/src/server/canvas-operations.ts +139 -109
  238. package/src/server/canvas-schema.ts +21 -0
  239. package/src/server/canvas-serialization.ts +2 -0
  240. package/src/server/canvas-state.ts +792 -159
  241. package/src/server/card-relocation.ts +53 -0
  242. package/src/server/code-graph.ts +4 -3
  243. package/src/server/context-reads.ts +83 -55
  244. package/src/server/demo-state.json +35 -15
  245. package/src/server/file-watcher.ts +30 -10
  246. package/src/server/human-presence.ts +18 -5
  247. package/src/server/index.ts +35 -15
  248. package/src/server/intent-registry.ts +43 -5
  249. package/src/server/knowledge-lifecycle.ts +32 -9
  250. package/src/server/lifecycle-status.ts +29 -1
  251. package/src/server/mcp-app-runtime.ts +26 -7
  252. package/src/server/mutation-history.ts +37 -8
  253. package/src/server/operations/composites.ts +6 -3
  254. package/src/server/operations/mcp-contracts.ts +15 -0
  255. package/src/server/operations/mcp.ts +36 -9
  256. package/src/server/operations/ops/annotation.ts +22 -1
  257. package/src/server/operations/ops/ax-await.ts +1 -0
  258. package/src/server/operations/ops/ax-timeline.ts +28 -2
  259. package/src/server/operations/ops/batch.ts +25 -11
  260. package/src/server/operations/ops/boards.ts +44 -3
  261. package/src/server/operations/ops/nodes.ts +70 -0
  262. package/src/server/operations/ops/query.ts +32 -3
  263. package/src/server/operations/ops/snapshots.ts +1 -0
  264. package/src/server/operations/registry.ts +49 -4
  265. package/src/server/server.ts +62 -16
  266. package/src/server/tour-control.ts +37 -12
  267. package/src/server/trace-manager.ts +4 -0
  268. package/src/server/web-artifacts/scripts/bundle-artifact.sh +2 -2
  269. package/src/server/web-artifacts/scripts/init-artifact.sh +8 -8
  270. package/src/shared/agent-context.ts +7 -1
  271. package/src/shared/auto-arrange.ts +5 -4
  272. package/src/shared/ax-kinds.ts +13 -0
  273. package/src/shared/ax-surface-protocol.ts +22 -0
  274. package/src/shared/human-presence.ts +1 -0
  275. package/src/shared/lifecycle-status.ts +2 -0
  276. package/dist/canvas/chunks/architecture-TIHT7OUA-9tffvpsv.js +0 -1
  277. package/dist/canvas/chunks/classDiagram-JCYQIIEL-nc6g5x1r.js +0 -1
  278. package/dist/canvas/chunks/classDiagram-v2-OCEON4UE-0qnbpwvh.js +0 -1
  279. package/dist/canvas/chunks/cynefin-VYW2F7L2-ys8p46ts.js +0 -1
  280. package/dist/canvas/chunks/eventmodeling-45OFAUF4-v9q6dn4c.js +0 -1
  281. package/dist/canvas/chunks/flowDiagram-UKHOOZJN-yrr5z8tc.js +0 -1
  282. package/dist/canvas/chunks/gitGraph-TEB2WS4Q-kdwb8m0a.js +0 -1
  283. package/dist/canvas/chunks/index-1r72hdzb.js +0 -301
  284. package/dist/canvas/chunks/index-g3pwnqeb.js +0 -2
  285. package/dist/canvas/chunks/index-rft2hcz5.js +0 -2
  286. package/dist/canvas/chunks/info-DKCQHKI2-wpzs6sz3.js +0 -1
  287. package/dist/canvas/chunks/ishikawaDiagram-WSZJBQD7-5hnq1a9p.js +0 -70
  288. package/dist/canvas/chunks/packet-7NZHBO7P-xn439f0s.js +0 -1
  289. package/dist/canvas/chunks/pie-RZYD4A2V-0kf16rwh.js +0 -1
  290. package/dist/canvas/chunks/radar-I7S5WNFK-0g2pz36t.js +0 -1
  291. package/dist/canvas/chunks/railroad-3IZDKUUU-fcaran6j.js +0 -1
  292. package/dist/canvas/chunks/railroad-abnf-AHOZXSZD-wgdya41q.js +0 -1
  293. package/dist/canvas/chunks/railroad-ebnf-EBAXGLYW-gy07a4ka.js +0 -1
  294. package/dist/canvas/chunks/railroad-peg-LSFZ7HO6-ewk6wtkh.js +0 -1
  295. package/dist/canvas/chunks/stateDiagram-v2-UEYNNEHI-k8sfp2e7.js +0 -1
  296. package/dist/canvas/chunks/swimlanesDiagram-ULZ7WXOC-nqysw67j.js +0 -8
  297. package/dist/canvas/chunks/treeView-QDETBFTQ-cesw6gp0.js +0 -1
  298. package/dist/canvas/chunks/treemap-6X3UGDF4-zdv4knp9.js +0 -1
  299. package/dist/canvas/chunks/vennDiagram-T6HMQDX7-x8dqn9yf.js +0 -34
  300. package/dist/canvas/chunks/wardley-OPB4EBWU-44pdddez.js +0 -1
@@ -1,13 +1,13 @@
1
- import{vt}from"./index-vv56h019.js";import{e,t,F,u,w,ht,H,pr,mr,l,k,d,f,p,m,g,b,v,r,gr,n,Ze,Je,pt,Ti,he,h}from"./index-1r72hdzb.js";import{K}from"./index-6qmsnxwy.js";import{dt,Br,An,Rn,ne,In}from"./index-qj8fxwsf.js";var xe=K(pt(),1),fe=function(){var s=e(function(wt,U,Z,G){for(Z=Z||{},G=wt.length;G--;Z[wt[G]]=U);return Z},"o"),a=[1,2],o=[1,3],i=[1,4],T=[2,4],_=[1,9],c=[1,11],x=[1,12],A=[1,14],R=[1,15],L=[1,17],P=[1,18],S=[1,19],V=[1,25],O=[1,26],D=[1,27],N=[1,28],C=[1,29],Y=[1,30],W=[1,31],X=[1,32],z=[1,33],J=[1,34],tt=[1,35],rt=[1,36],st=[1,37],Tt=[1,38],Et=[1,39],ut=[1,40],yt=[1,42],gt=[1,43],lt=[1,44],bt=[1,45],xt=[1,46],at=[1,47],j=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],Ht=[1,74],Xt=[1,80],q=[1,81],Q=[1,82],mt=[1,83],It=[1,84],it=[1,85],Wt=[1,86],Ie=[1,87],be=[1,88],ye=[1,89],Re=[1,90],Oe=[1,91],Le=[1,92],me=[1,93],Se=[1,94],Ae=[1,95],Ne=[1,96],ke=[1,97],we=[1,98],Pe=[1,99],De=[1,100],Ce=[1,101],ve=[1,102],Me=[1,103],Be=[1,104],Ve=[1,105],Ye=[2,78],zt=[4,5,17,51,53,54],Qt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],We=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],ie=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],Ke=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],oe=[5,52],nt=[70,71,72,73],Rt=[1,151],ce={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:e(function(U,Z,G,M,ot,E,Ut){var y=E.length-1;switch(ot){case 3:return M.apply(E[y]),E[y];break;case 4:case 10:this.$=[];break;case 5:case 11:E[y-1].push(E[y]),this.$=E[y-1];break;case 6:case 7:case 12:case 13:this.$=E[y];break;case 8:case 9:case 14:this.$=[];break;case 16:E[y].type="createParticipant",this.$=E[y];break;case 17:E[y-1].unshift({type:"boxStart",boxData:M.parseBoxData(E[y-2])}),E[y-1].push({type:"boxEnd",boxText:E[y-2]}),this.$=E[y-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(E[y-2]),sequenceIndexStep:Number(E[y-1]),sequenceVisible:!0,signalType:M.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(E[y-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:M.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:M.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:M.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:M.LINETYPE.ACTIVE_START,actor:E[y-1].actor};break;case 24:this.$={type:"activeEnd",signalType:M.LINETYPE.ACTIVE_END,actor:E[y-1].actor};break;case 30:M.setDiagramTitle(E[y].substring(6)),this.$=E[y].substring(6);break;case 31:M.setDiagramTitle(E[y].substring(7)),this.$=E[y].substring(7);break;case 32:this.$=E[y].trim(),M.setAccTitle(this.$);break;case 33:case 34:this.$=E[y].trim(),M.setAccDescription(this.$);break;case 35:E[y-1].unshift({type:"loopStart",loopText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.LOOP_START}),E[y-1].push({type:"loopEnd",loopText:E[y-2],signalType:M.LINETYPE.LOOP_END}),this.$=E[y-1];break;case 36:E[y-1].unshift({type:"rectStart",color:M.parseMessage(E[y-2]),signalType:M.LINETYPE.RECT_START}),E[y-1].push({type:"rectEnd",color:M.parseMessage(E[y-2]),signalType:M.LINETYPE.RECT_END}),this.$=E[y-1];break;case 37:E[y-1].unshift({type:"optStart",optText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.OPT_START}),E[y-1].push({type:"optEnd",optText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.OPT_END}),this.$=E[y-1];break;case 38:E[y-1].unshift({type:"altStart",altText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.ALT_START}),E[y-1].push({type:"altEnd",signalType:M.LINETYPE.ALT_END}),this.$=E[y-1];break;case 39:E[y-1].unshift({type:"parStart",parText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.PAR_START}),E[y-1].push({type:"parEnd",signalType:M.LINETYPE.PAR_END}),this.$=E[y-1];break;case 40:E[y-1].unshift({type:"parStart",parText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.PAR_OVER_START}),E[y-1].push({type:"parEnd",signalType:M.LINETYPE.PAR_END}),this.$=E[y-1];break;case 41:E[y-1].unshift({type:"criticalStart",criticalText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.CRITICAL_START}),E[y-1].push({type:"criticalEnd",signalType:M.LINETYPE.CRITICAL_END}),this.$=E[y-1];break;case 42:E[y-1].unshift({type:"breakStart",breakText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.BREAK_START}),E[y-1].push({type:"breakEnd",optText:M.parseMessage(E[y-2]),signalType:M.LINETYPE.BREAK_END}),this.$=E[y-1];break;case 44:this.$=E[y-3].concat([{type:"option",optionText:M.parseMessage(E[y-1]),signalType:M.LINETYPE.CRITICAL_OPTION},E[y]]);break;case 46:this.$=E[y-3].concat([{type:"and",parText:M.parseMessage(E[y-1]),signalType:M.LINETYPE.PAR_AND},E[y]]);break;case 48:this.$=E[y-3].concat([{type:"else",altText:M.parseMessage(E[y-1]),signalType:M.LINETYPE.ALT_ELSE},E[y]]);break;case 49:E[y-3].draw="participant",E[y-3].type="addParticipant",E[y-3].description=M.parseMessage(E[y-1]),this.$=E[y-3];break;case 50:E[y-1].draw="participant",E[y-1].type="addParticipant",this.$=E[y-1];break;case 51:E[y-3].draw="actor",E[y-3].type="addParticipant",E[y-3].description=M.parseMessage(E[y-1]),this.$=E[y-3];break;case 52:case 57:E[y-1].draw="actor",E[y-1].type="addParticipant",this.$=E[y-1];break;case 53:E[y-1].type="destroyParticipant",this.$=E[y-1];break;case 54:E[y-3].draw="participant",E[y-3].type="addParticipant",E[y-3].description=M.parseMessage(E[y-1]),this.$=E[y-3];break;case 55:E[y-1].draw="participant",E[y-1].type="addParticipant",this.$=E[y-1];break;case 56:E[y-3].draw="actor",E[y-3].type="addParticipant",E[y-3].description=M.parseMessage(E[y-1]),this.$=E[y-3];break;case 58:this.$=[E[y-1],{type:"addNote",placement:E[y-2],actor:E[y-1].actor,text:E[y]}];break;case 59:E[y-2]=[].concat(E[y-1],E[y-1]).slice(0,2),E[y-2][0]=E[y-2][0].actor,E[y-2][1]=E[y-2][1].actor,this.$=[E[y-1],{type:"addNote",placement:M.PLACEMENT.OVER,actor:E[y-2].slice(0,2),text:E[y]}];break;case 60:this.$=[E[y-1],{type:"addLinks",actor:E[y-1].actor,text:E[y]}];break;case 61:this.$=[E[y-1],{type:"addALink",actor:E[y-1].actor,text:E[y]}];break;case 62:this.$=[E[y-1],{type:"addProperties",actor:E[y-1].actor,text:E[y]}];break;case 63:this.$=[E[y-1],{type:"addDetails",actor:E[y-1].actor,text:E[y]}];break;case 66:this.$=[E[y-2],E[y]];break;case 67:this.$=E[y];break;case 68:this.$=M.PLACEMENT.LEFTOF;break;case 69:this.$=M.PLACEMENT.RIGHTOF;break;case 70:this.$=[E[y-4],E[y-1],{type:"addMessage",from:E[y-4].actor,to:E[y-1].actor,signalType:E[y-3],msg:E[y],activate:!0},{type:"activeStart",signalType:M.LINETYPE.ACTIVE_START,actor:E[y-1].actor}];break;case 71:this.$=[E[y-4],E[y-1],{type:"addMessage",from:E[y-4].actor,to:E[y-1].actor,signalType:E[y-3],msg:E[y]},{type:"activeEnd",signalType:M.LINETYPE.ACTIVE_END,actor:E[y-4].actor}];break;case 72:this.$=[E[y-4],E[y-1],{type:"addMessage",from:E[y-4].actor,to:E[y-1].actor,signalType:E[y-3],msg:E[y],activate:!0,centralConnection:M.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:M.LINETYPE.CENTRAL_CONNECTION,actor:E[y-1].actor}];break;case 73:this.$=[E[y-4],E[y-1],{type:"addMessage",from:E[y-4].actor,to:E[y-1].actor,signalType:E[y-2],msg:E[y],activate:!1,centralConnection:M.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:M.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:E[y-4].actor}];break;case 74:this.$=[E[y-5],E[y-1],{type:"addMessage",from:E[y-5].actor,to:E[y-1].actor,signalType:E[y-3],msg:E[y],activate:!0,centralConnection:M.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:M.LINETYPE.CENTRAL_CONNECTION,actor:E[y-1].actor},{type:"centralConnectionReverse",signalType:M.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:E[y-5].actor}];break;case 75:this.$=[E[y-3],E[y-1],{type:"addMessage",from:E[y-3].actor,to:E[y-1].actor,signalType:E[y-2],msg:E[y]}];break;case 76:this.$={type:"addParticipant",actor:E[y-1],config:E[y]};break;case 77:this.$=E[y-1].trim();break;case 78:this.$={type:"addParticipant",actor:E[y]};break;case 79:this.$=M.LINETYPE.SOLID_OPEN;break;case 80:this.$=M.LINETYPE.DOTTED_OPEN;break;case 81:this.$=M.LINETYPE.SOLID;break;case 82:this.$=M.LINETYPE.SOLID_TOP;break;case 83:this.$=M.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=M.LINETYPE.STICK_TOP;break;case 85:this.$=M.LINETYPE.STICK_BOTTOM;break;case 86:this.$=M.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=M.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=M.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=M.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=M.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=M.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=M.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=M.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=M.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=M.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=M.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=M.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=M.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=M.LINETYPE.DOTTED;break;case 100:this.$=M.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=M.LINETYPE.SOLID_CROSS;break;case 102:this.$=M.LINETYPE.DOTTED_CROSS;break;case 103:this.$=M.LINETYPE.SOLID_POINT;break;case 104:this.$=M.LINETYPE.DOTTED_POINT;break;case 105:this.$=M.parseMessage(E[y].trim().substring(1));break}},"anonymous"),table:[{3:1,4:a,5:o,6:i},{1:[3]},{3:5,4:a,5:o,6:i},{3:6,4:a,5:o,6:i},s([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],T,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:_,5:c,8:8,9:10,10:x,13:13,14:A,15:R,18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},s(j,[2,5]),{9:48,13:13,14:A,15:R,18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},s(j,[2,7]),s(j,[2,8]),s(j,[2,9]),s(j,[2,15]),{13:49,51:Tt,53:Et,54:ut},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:at},{23:56,73:at},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},s(j,[2,30]),s(j,[2,31]),{33:[1,62]},{35:[1,63]},s(j,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:Ht},{23:75,55:76,73:Ht},{23:77,73:at},{69:78,72:[1,79],78:Xt,79:q,80:Q,81:mt,82:It,83:it,84:Wt,85:Ie,86:be,87:ye,88:Re,89:Oe,90:Le,91:me,92:Se,93:Ae,94:Ne,95:ke,96:we,97:Pe,98:De,99:Ce,100:ve,101:Me,102:Be,103:Ve},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:at},{23:111,73:at},{23:112,73:at},{23:113,73:at},s([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ye),s(j,[2,6]),s(j,[2,16]),s(zt,[2,10],{11:114}),s(j,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},s(j,[2,22]),{5:[1,118]},{5:[1,119]},s(j,[2,25]),s(j,[2,26]),s(j,[2,27]),s(j,[2,28]),s(j,[2,29]),s(j,[2,32]),s(j,[2,33]),s(Qt,T,{7:120}),s(Qt,T,{7:121}),s(Qt,T,{7:122}),s(We,T,{41:123,7:124}),s(ie,T,{43:125,7:126}),s(ie,T,{7:126,43:127}),s(Ke,T,{46:128,7:129}),s(Qt,T,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},s(oe,Ye,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:at},{69:146,78:Xt,79:q,80:Q,81:mt,82:It,83:it,84:Wt,85:Ie,86:be,87:ye,88:Re,89:Oe,90:Le,91:me,92:Se,93:Ae,94:Ne,95:ke,96:we,97:Pe,98:De,99:Ce,100:ve,101:Me,102:Be,103:Ve},s(nt,[2,79]),s(nt,[2,80]),s(nt,[2,81]),s(nt,[2,82]),s(nt,[2,83]),s(nt,[2,84]),s(nt,[2,85]),s(nt,[2,86]),s(nt,[2,87]),s(nt,[2,88]),s(nt,[2,89]),s(nt,[2,90]),s(nt,[2,91]),s(nt,[2,92]),s(nt,[2,93]),s(nt,[2,94]),s(nt,[2,95]),s(nt,[2,96]),s(nt,[2,97]),s(nt,[2,98]),s(nt,[2,99]),s(nt,[2,100]),s(nt,[2,101]),s(nt,[2,102]),s(nt,[2,103]),s(nt,[2,104]),{23:147,73:at},{23:149,60:148,73:at},{73:[2,68]},{73:[2,69]},{58:150,104:Rt},{58:152,104:Rt},{58:153,104:Rt},{58:154,104:Rt},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:Tt,53:Et,54:ut},{5:[1,160]},s(j,[2,20]),s(j,[2,21]),s(j,[2,23]),s(j,[2,24]),{4:_,5:c,8:8,9:10,10:x,13:13,14:A,15:R,17:[1,161],18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{4:_,5:c,8:8,9:10,10:x,13:13,14:A,15:R,17:[1,162],18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{4:_,5:c,8:8,9:10,10:x,13:13,14:A,15:R,17:[1,163],18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{17:[1,164]},{4:_,5:c,8:8,9:10,10:x,13:13,14:A,15:R,17:[2,47],18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,50:[1,165],51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{17:[1,166]},{4:_,5:c,8:8,9:10,10:x,13:13,14:A,15:R,17:[2,45],18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,49:[1,167],51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{17:[1,168]},{17:[1,169]},{4:_,5:c,8:8,9:10,10:x,13:13,14:A,15:R,17:[2,43],18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,48:[1,170],51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{4:_,5:c,8:8,9:10,10:x,13:13,14:A,15:R,17:[1,171],18:16,19:L,22:P,23:41,24:S,25:20,26:21,27:22,28:23,29:24,30:V,31:O,32:D,34:N,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{16:[1,172]},s(j,[2,50]),{16:[1,173]},s(j,[2,55]),s(oe,[2,76]),{76:[1,174]},{16:[1,175]},s(j,[2,52]),{16:[1,176]},s(j,[2,57]),s(j,[2,53]),{23:177,73:at},{23:178,73:at},{23:179,73:at},{58:180,104:Rt},{23:181,72:[1,182],73:at},{58:183,104:Rt},{58:184,104:Rt},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},s(j,[2,17]),s(zt,[2,11]),{13:186,51:Tt,53:Et,54:ut},s(zt,[2,13]),s(zt,[2,14]),s(j,[2,19]),s(j,[2,35]),s(j,[2,36]),s(j,[2,37]),s(j,[2,38]),{16:[1,187]},s(j,[2,39]),{16:[1,188]},s(j,[2,40]),s(j,[2,41]),{16:[1,189]},s(j,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:Rt},{58:196,104:Rt},{58:197,104:Rt},{5:[2,75]},{58:198,104:Rt},{23:199,73:at},{5:[2,58]},{5:[2,59]},{23:200,73:at},s(zt,[2,12]),s(We,T,{7:124,41:201}),s(ie,T,{7:126,43:202}),s(Ke,T,{7:129,46:203}),s(j,[2,49]),s(j,[2,54]),s(oe,[2,77]),s(j,[2,51]),s(j,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:Rt},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:e(function(U,Z){if(Z.recoverable)this.trace(U);else{var G=Error(U);throw G.hash=Z,G}},"parseError"),parse:e(function(U){var Z=this,G=[0],M=[],ot=[null],E=[],Ut=this.table,y="",Zt=0,Fe=0,qe=0,lr=2,He=1,hr=E.slice.call(arguments,1),ft=Object.create(this.lexer),Ct={yy:{}};for(var le in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,le))Ct.yy[le]=this.yy[le];if(ft.setInput(U,Ct.yy),Ct.yy.lexer=ft,Ct.yy.parser=this,typeof ft.yylloc>"u")ft.yylloc={};var de=ft.yylloc;E.push(de);var dr=ft.options&&ft.options.ranges;if(typeof Ct.yy.parseError==="function")this.parseError=Ct.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function Tr(Lt){G.length=G.length-2*Lt,ot.length=ot.length-Lt,E.length=E.length-Lt}e(Tr,"popStack");function ze(){var Lt=M.pop()||ft.lex()||He;if(typeof Lt!=="number"){if(Lt instanceof Array)M=Lt,Lt=M.pop();Lt=Z.symbols_[Lt]||Lt}return Lt}e(ze,"lex");var _t,Te,Mt,Ot,da,pe,Kt={},$t,At,Ue,jt;while(!0){if(Mt=G[G.length-1],this.defaultActions[Mt])Ot=this.defaultActions[Mt];else{if(_t===null||typeof _t>"u")_t=ze();Ot=Ut[Mt]&&Ut[Mt][_t]}if(typeof Ot>"u"||!Ot.length||!Ot[0]){var Ee="";jt=[];for($t in Ut[Mt])if(this.terminals_[$t]&&$t>lr)jt.push("'"+this.terminals_[$t]+"'");if(ft.showPosition)Ee="Parse error on line "+(Zt+1)+`:
1
+ import{vt}from"./index-8rjes9r6.js";import{e,t,F,u,w,ht,H,pr,mr,l,T,d,f,p,m,g,b,v,r,gr,n,Ze,Je,pt,ki,he,h}from"./index-nwsya6dj.js";import{K}from"./index-v119nznk.js";import{dt,Br,An,Rn,ne,In}from"./index-y9ma6azy.js";var xe=K(pt(),1),fe=function(){var s=e(function(wt,U,Z,G){for(Z=Z||{},G=wt.length;G--;Z[wt[G]]=U);return Z},"o"),a=[1,2],o=[1,3],i=[1,4],E=[2,4],x=[1,9],c=[1,11],I=[1,12],N=[1,14],O=[1,15],S=[1,17],P=[1,18],A=[1,19],V=[1,25],L=[1,26],D=[1,27],k=[1,28],C=[1,29],Y=[1,30],W=[1,31],X=[1,32],z=[1,33],J=[1,34],tt=[1,35],rt=[1,36],st=[1,37],Tt=[1,38],Et=[1,39],ut=[1,40],yt=[1,42],gt=[1,43],lt=[1,44],bt=[1,45],xt=[1,46],at=[1,47],j=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],Ht=[1,74],Xt=[1,80],q=[1,81],Q=[1,82],mt=[1,83],It=[1,84],it=[1,85],Wt=[1,86],Ie=[1,87],be=[1,88],ye=[1,89],Re=[1,90],Oe=[1,91],Le=[1,92],me=[1,93],Se=[1,94],Ae=[1,95],Ne=[1,96],ke=[1,97],we=[1,98],Pe=[1,99],De=[1,100],Ce=[1,101],ve=[1,102],Me=[1,103],Be=[1,104],Ve=[1,105],Ye=[2,78],zt=[4,5,17,51,53,54],Qt=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],We=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],ie=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],Ke=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],oe=[5,52],nt=[70,71,72,73],Rt=[1,151],ce={trace:e(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:e(function(U,Z,G,M,ot,_,Ut){var R=_.length-1;switch(ot){case 3:return M.apply(_[R]),_[R];break;case 4:case 10:this.$=[];break;case 5:case 11:_[R-1].push(_[R]),this.$=_[R-1];break;case 6:case 7:case 12:case 13:this.$=_[R];break;case 8:case 9:case 14:this.$=[];break;case 16:_[R].type="createParticipant",this.$=_[R];break;case 17:_[R-1].unshift({type:"boxStart",boxData:M.parseBoxData(_[R-2])}),_[R-1].push({type:"boxEnd",boxText:_[R-2]}),this.$=_[R-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(_[R-2]),sequenceIndexStep:Number(_[R-1]),sequenceVisible:!0,signalType:M.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(_[R-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:M.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:M.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:M.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:M.LINETYPE.ACTIVE_START,actor:_[R-1].actor};break;case 24:this.$={type:"activeEnd",signalType:M.LINETYPE.ACTIVE_END,actor:_[R-1].actor};break;case 30:M.setDiagramTitle(_[R].substring(6)),this.$=_[R].substring(6);break;case 31:M.setDiagramTitle(_[R].substring(7)),this.$=_[R].substring(7);break;case 32:this.$=_[R].trim(),M.setAccTitle(this.$);break;case 33:case 34:this.$=_[R].trim(),M.setAccDescription(this.$);break;case 35:_[R-1].unshift({type:"loopStart",loopText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.LOOP_START}),_[R-1].push({type:"loopEnd",loopText:_[R-2],signalType:M.LINETYPE.LOOP_END}),this.$=_[R-1];break;case 36:_[R-1].unshift({type:"rectStart",color:M.parseMessage(_[R-2]),signalType:M.LINETYPE.RECT_START}),_[R-1].push({type:"rectEnd",color:M.parseMessage(_[R-2]),signalType:M.LINETYPE.RECT_END}),this.$=_[R-1];break;case 37:_[R-1].unshift({type:"optStart",optText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.OPT_START}),_[R-1].push({type:"optEnd",optText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.OPT_END}),this.$=_[R-1];break;case 38:_[R-1].unshift({type:"altStart",altText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.ALT_START}),_[R-1].push({type:"altEnd",signalType:M.LINETYPE.ALT_END}),this.$=_[R-1];break;case 39:_[R-1].unshift({type:"parStart",parText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.PAR_START}),_[R-1].push({type:"parEnd",signalType:M.LINETYPE.PAR_END}),this.$=_[R-1];break;case 40:_[R-1].unshift({type:"parStart",parText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.PAR_OVER_START}),_[R-1].push({type:"parEnd",signalType:M.LINETYPE.PAR_END}),this.$=_[R-1];break;case 41:_[R-1].unshift({type:"criticalStart",criticalText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.CRITICAL_START}),_[R-1].push({type:"criticalEnd",signalType:M.LINETYPE.CRITICAL_END}),this.$=_[R-1];break;case 42:_[R-1].unshift({type:"breakStart",breakText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.BREAK_START}),_[R-1].push({type:"breakEnd",optText:M.parseMessage(_[R-2]),signalType:M.LINETYPE.BREAK_END}),this.$=_[R-1];break;case 44:this.$=_[R-3].concat([{type:"option",optionText:M.parseMessage(_[R-1]),signalType:M.LINETYPE.CRITICAL_OPTION},_[R]]);break;case 46:this.$=_[R-3].concat([{type:"and",parText:M.parseMessage(_[R-1]),signalType:M.LINETYPE.PAR_AND},_[R]]);break;case 48:this.$=_[R-3].concat([{type:"else",altText:M.parseMessage(_[R-1]),signalType:M.LINETYPE.ALT_ELSE},_[R]]);break;case 49:_[R-3].draw="participant",_[R-3].type="addParticipant",_[R-3].description=M.parseMessage(_[R-1]),this.$=_[R-3];break;case 50:_[R-1].draw="participant",_[R-1].type="addParticipant",this.$=_[R-1];break;case 51:_[R-3].draw="actor",_[R-3].type="addParticipant",_[R-3].description=M.parseMessage(_[R-1]),this.$=_[R-3];break;case 52:case 57:_[R-1].draw="actor",_[R-1].type="addParticipant",this.$=_[R-1];break;case 53:_[R-1].type="destroyParticipant",this.$=_[R-1];break;case 54:_[R-3].draw="participant",_[R-3].type="addParticipant",_[R-3].description=M.parseMessage(_[R-1]),this.$=_[R-3];break;case 55:_[R-1].draw="participant",_[R-1].type="addParticipant",this.$=_[R-1];break;case 56:_[R-3].draw="actor",_[R-3].type="addParticipant",_[R-3].description=M.parseMessage(_[R-1]),this.$=_[R-3];break;case 58:this.$=[_[R-1],{type:"addNote",placement:_[R-2],actor:_[R-1].actor,text:_[R]}];break;case 59:_[R-2]=[].concat(_[R-1],_[R-1]).slice(0,2),_[R-2][0]=_[R-2][0].actor,_[R-2][1]=_[R-2][1].actor,this.$=[_[R-1],{type:"addNote",placement:M.PLACEMENT.OVER,actor:_[R-2].slice(0,2),text:_[R]}];break;case 60:this.$=[_[R-1],{type:"addLinks",actor:_[R-1].actor,text:_[R]}];break;case 61:this.$=[_[R-1],{type:"addALink",actor:_[R-1].actor,text:_[R]}];break;case 62:this.$=[_[R-1],{type:"addProperties",actor:_[R-1].actor,text:_[R]}];break;case 63:this.$=[_[R-1],{type:"addDetails",actor:_[R-1].actor,text:_[R]}];break;case 66:this.$=[_[R-2],_[R]];break;case 67:this.$=_[R];break;case 68:this.$=M.PLACEMENT.LEFTOF;break;case 69:this.$=M.PLACEMENT.RIGHTOF;break;case 70:this.$=[_[R-4],_[R-1],{type:"addMessage",from:_[R-4].actor,to:_[R-1].actor,signalType:_[R-3],msg:_[R],activate:!0},{type:"activeStart",signalType:M.LINETYPE.ACTIVE_START,actor:_[R-1].actor}];break;case 71:this.$=[_[R-4],_[R-1],{type:"addMessage",from:_[R-4].actor,to:_[R-1].actor,signalType:_[R-3],msg:_[R]},{type:"activeEnd",signalType:M.LINETYPE.ACTIVE_END,actor:_[R-4].actor}];break;case 72:this.$=[_[R-4],_[R-1],{type:"addMessage",from:_[R-4].actor,to:_[R-1].actor,signalType:_[R-3],msg:_[R],activate:!0,centralConnection:M.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:M.LINETYPE.CENTRAL_CONNECTION,actor:_[R-1].actor}];break;case 73:this.$=[_[R-4],_[R-1],{type:"addMessage",from:_[R-4].actor,to:_[R-1].actor,signalType:_[R-2],msg:_[R],activate:!1,centralConnection:M.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:M.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:_[R-4].actor}];break;case 74:this.$=[_[R-5],_[R-1],{type:"addMessage",from:_[R-5].actor,to:_[R-1].actor,signalType:_[R-3],msg:_[R],activate:!0,centralConnection:M.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:M.LINETYPE.CENTRAL_CONNECTION,actor:_[R-1].actor},{type:"centralConnectionReverse",signalType:M.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:_[R-5].actor}];break;case 75:this.$=[_[R-3],_[R-1],{type:"addMessage",from:_[R-3].actor,to:_[R-1].actor,signalType:_[R-2],msg:_[R]}];break;case 76:this.$={type:"addParticipant",actor:_[R-1],config:_[R]};break;case 77:this.$=_[R-1].trim();break;case 78:this.$={type:"addParticipant",actor:_[R]};break;case 79:this.$=M.LINETYPE.SOLID_OPEN;break;case 80:this.$=M.LINETYPE.DOTTED_OPEN;break;case 81:this.$=M.LINETYPE.SOLID;break;case 82:this.$=M.LINETYPE.SOLID_TOP;break;case 83:this.$=M.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=M.LINETYPE.STICK_TOP;break;case 85:this.$=M.LINETYPE.STICK_BOTTOM;break;case 86:this.$=M.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=M.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=M.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=M.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=M.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=M.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=M.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=M.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=M.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=M.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=M.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=M.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=M.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=M.LINETYPE.DOTTED;break;case 100:this.$=M.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=M.LINETYPE.SOLID_CROSS;break;case 102:this.$=M.LINETYPE.DOTTED_CROSS;break;case 103:this.$=M.LINETYPE.SOLID_POINT;break;case 104:this.$=M.LINETYPE.DOTTED_POINT;break;case 105:this.$=M.parseMessage(_[R].trim().substring(1));break}},"anonymous"),table:[{3:1,4:a,5:o,6:i},{1:[3]},{3:5,4:a,5:o,6:i},{3:6,4:a,5:o,6:i},s([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],E,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:x,5:c,8:8,9:10,10:I,13:13,14:N,15:O,18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},s(j,[2,5]),{9:48,13:13,14:N,15:O,18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},s(j,[2,7]),s(j,[2,8]),s(j,[2,9]),s(j,[2,15]),{13:49,51:Tt,53:Et,54:ut},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:at},{23:56,73:at},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},s(j,[2,30]),s(j,[2,31]),{33:[1,62]},{35:[1,63]},s(j,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:Ht},{23:75,55:76,73:Ht},{23:77,73:at},{69:78,72:[1,79],78:Xt,79:q,80:Q,81:mt,82:It,83:it,84:Wt,85:Ie,86:be,87:ye,88:Re,89:Oe,90:Le,91:me,92:Se,93:Ae,94:Ne,95:ke,96:we,97:Pe,98:De,99:Ce,100:ve,101:Me,102:Be,103:Ve},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:at},{23:111,73:at},{23:112,73:at},{23:113,73:at},s([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Ye),s(j,[2,6]),s(j,[2,16]),s(zt,[2,10],{11:114}),s(j,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},s(j,[2,22]),{5:[1,118]},{5:[1,119]},s(j,[2,25]),s(j,[2,26]),s(j,[2,27]),s(j,[2,28]),s(j,[2,29]),s(j,[2,32]),s(j,[2,33]),s(Qt,E,{7:120}),s(Qt,E,{7:121}),s(Qt,E,{7:122}),s(We,E,{41:123,7:124}),s(ie,E,{43:125,7:126}),s(ie,E,{7:126,43:127}),s(Ke,E,{46:128,7:129}),s(Qt,E,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},s(oe,Ye,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:at},{69:146,78:Xt,79:q,80:Q,81:mt,82:It,83:it,84:Wt,85:Ie,86:be,87:ye,88:Re,89:Oe,90:Le,91:me,92:Se,93:Ae,94:Ne,95:ke,96:we,97:Pe,98:De,99:Ce,100:ve,101:Me,102:Be,103:Ve},s(nt,[2,79]),s(nt,[2,80]),s(nt,[2,81]),s(nt,[2,82]),s(nt,[2,83]),s(nt,[2,84]),s(nt,[2,85]),s(nt,[2,86]),s(nt,[2,87]),s(nt,[2,88]),s(nt,[2,89]),s(nt,[2,90]),s(nt,[2,91]),s(nt,[2,92]),s(nt,[2,93]),s(nt,[2,94]),s(nt,[2,95]),s(nt,[2,96]),s(nt,[2,97]),s(nt,[2,98]),s(nt,[2,99]),s(nt,[2,100]),s(nt,[2,101]),s(nt,[2,102]),s(nt,[2,103]),s(nt,[2,104]),{23:147,73:at},{23:149,60:148,73:at},{73:[2,68]},{73:[2,69]},{58:150,104:Rt},{58:152,104:Rt},{58:153,104:Rt},{58:154,104:Rt},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:Tt,53:Et,54:ut},{5:[1,160]},s(j,[2,20]),s(j,[2,21]),s(j,[2,23]),s(j,[2,24]),{4:x,5:c,8:8,9:10,10:I,13:13,14:N,15:O,17:[1,161],18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{4:x,5:c,8:8,9:10,10:I,13:13,14:N,15:O,17:[1,162],18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{4:x,5:c,8:8,9:10,10:I,13:13,14:N,15:O,17:[1,163],18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{17:[1,164]},{4:x,5:c,8:8,9:10,10:I,13:13,14:N,15:O,17:[2,47],18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,50:[1,165],51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{17:[1,166]},{4:x,5:c,8:8,9:10,10:I,13:13,14:N,15:O,17:[2,45],18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,49:[1,167],51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{17:[1,168]},{17:[1,169]},{4:x,5:c,8:8,9:10,10:I,13:13,14:N,15:O,17:[2,43],18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,48:[1,170],51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{4:x,5:c,8:8,9:10,10:I,13:13,14:N,15:O,17:[1,171],18:16,19:S,22:P,23:41,24:A,25:20,26:21,27:22,28:23,29:24,30:V,31:L,32:D,34:k,36:C,37:Y,38:W,39:X,40:z,42:J,44:tt,45:rt,47:st,51:Tt,53:Et,54:ut,56:yt,61:gt,62:lt,63:bt,64:xt,73:at},{16:[1,172]},s(j,[2,50]),{16:[1,173]},s(j,[2,55]),s(oe,[2,76]),{76:[1,174]},{16:[1,175]},s(j,[2,52]),{16:[1,176]},s(j,[2,57]),s(j,[2,53]),{23:177,73:at},{23:178,73:at},{23:179,73:at},{58:180,104:Rt},{23:181,72:[1,182],73:at},{58:183,104:Rt},{58:184,104:Rt},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},s(j,[2,17]),s(zt,[2,11]),{13:186,51:Tt,53:Et,54:ut},s(zt,[2,13]),s(zt,[2,14]),s(j,[2,19]),s(j,[2,35]),s(j,[2,36]),s(j,[2,37]),s(j,[2,38]),{16:[1,187]},s(j,[2,39]),{16:[1,188]},s(j,[2,40]),s(j,[2,41]),{16:[1,189]},s(j,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:Rt},{58:196,104:Rt},{58:197,104:Rt},{5:[2,75]},{58:198,104:Rt},{23:199,73:at},{5:[2,58]},{5:[2,59]},{23:200,73:at},s(zt,[2,12]),s(We,E,{7:124,41:201}),s(ie,E,{7:126,43:202}),s(Ke,E,{7:129,46:203}),s(j,[2,49]),s(j,[2,54]),s(oe,[2,77]),s(j,[2,51]),s(j,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:Rt},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:e(function(U,Z){if(Z.recoverable)this.trace(U);else{var G=Error(U);throw G.hash=Z,G}},"parseError"),parse:e(function(U){var Z=this,G=[0],M=[],ot=[null],_=[],Ut=this.table,R="",Zt=0,Fe=0,qe=0,lr=2,He=1,hr=_.slice.call(arguments,1),ft=Object.create(this.lexer),Ct={yy:{}};for(var le in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,le))Ct.yy[le]=this.yy[le];if(ft.setInput(U,Ct.yy),Ct.yy.lexer=ft,Ct.yy.parser=this,typeof ft.yylloc>"u")ft.yylloc={};var de=ft.yylloc;_.push(de);var dr=ft.options&&ft.options.ranges;if(typeof Ct.yy.parseError==="function")this.parseError=Ct.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function Tr(Lt){G.length=G.length-2*Lt,ot.length=ot.length-Lt,_.length=_.length-Lt}e(Tr,"popStack");function ze(){var Lt=M.pop()||ft.lex()||He;if(typeof Lt!=="number"){if(Lt instanceof Array)M=Lt,Lt=M.pop();Lt=Z.symbols_[Lt]||Lt}return Lt}e(ze,"lex");var _t,Te,Mt,Ot,da,pe,Kt={},$t,At,Ue,jt;while(!0){if(Mt=G[G.length-1],this.defaultActions[Mt])Ot=this.defaultActions[Mt];else{if(_t===null||typeof _t>"u")_t=ze();Ot=Ut[Mt]&&Ut[Mt][_t]}if(typeof Ot>"u"||!Ot.length||!Ot[0]){var Ee="";jt=[];for($t in Ut[Mt])if(this.terminals_[$t]&&$t>lr)jt.push("'"+this.terminals_[$t]+"'");if(ft.showPosition)Ee="Parse error on line "+(Zt+1)+`:
2
2
  `+ft.showPosition()+`
3
- Expecting `+jt.join(", ")+", got '"+(this.terminals_[_t]||_t)+"'";else Ee="Parse error on line "+(Zt+1)+": Unexpected "+(_t==He?"end of input":"'"+(this.terminals_[_t]||_t)+"'");this.parseError(Ee,{text:ft.match,token:this.terminals_[_t]||_t,line:ft.yylineno,loc:de,expected:jt})}if(Ot[0]instanceof Array&&Ot.length>1)throw Error("Parse Error: multiple actions possible at state: "+Mt+", token: "+_t);switch(Ot[0]){case 1:if(G.push(_t),ot.push(ft.yytext),E.push(ft.yylloc),G.push(Ot[1]),_t=null,!Te){if(Fe=ft.yyleng,y=ft.yytext,Zt=ft.yylineno,de=ft.yylloc,qe>0)qe--}else _t=Te,Te=null;break;case 2:if(At=this.productions_[Ot[1]][1],Kt.$=ot[ot.length-At],Kt._$={first_line:E[E.length-(At||1)].first_line,last_line:E[E.length-1].last_line,first_column:E[E.length-(At||1)].first_column,last_column:E[E.length-1].last_column},dr)Kt._$.range=[E[E.length-(At||1)].range[0],E[E.length-1].range[1]];if(pe=this.performAction.apply(Kt,[y,Fe,Zt,Ct.yy,Ot[1],ot,E].concat(hr)),typeof pe<"u")return pe;if(At)G=G.slice(0,-1*At*2),ot=ot.slice(0,-1*At),E=E.slice(0,-1*At);G.push(this.productions_[Ot[1]][0]),ot.push(Kt.$),E.push(Kt._$),Ue=Ut[G[G.length-2]][G[G.length-1]],G.push(Ue);break;case 3:return!0}}return!0},"parse")},cr=function(){var wt={EOF:1,parseError:e(function(Z,G){if(this.yy.parser)this.yy.parser.parseError(Z,G);else throw Error(Z)},"parseError"),setInput:e(function(U,Z){if(this.yy=Z||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];return this.offset=0,this},"setInput"),input:e(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var Z=U.match(/(?:\r\n?|\n).*/g);if(Z)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),U},"input"),unput:e(function(U){var Z=U.length,G=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Z),this.offset-=Z;var M=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),G.length-1)this.yylineno-=G.length-1;var ot=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:G?(G.length===M.length?this.yylloc.first_column:0)+M[M.length-G.length].length-G[0].length:this.yylloc.first_column-Z},this.options.ranges)this.yylloc.range=[ot[0],ot[0]+this.yyleng-Z];return this.yyleng=this.yytext.length,this},"unput"),more:e(function(){return this._more=!0,this},"more"),reject:e(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).
3
+ Expecting `+jt.join(", ")+", got '"+(this.terminals_[_t]||_t)+"'";else Ee="Parse error on line "+(Zt+1)+": Unexpected "+(_t==He?"end of input":"'"+(this.terminals_[_t]||_t)+"'");this.parseError(Ee,{text:ft.match,token:this.terminals_[_t]||_t,line:ft.yylineno,loc:de,expected:jt})}if(Ot[0]instanceof Array&&Ot.length>1)throw Error("Parse Error: multiple actions possible at state: "+Mt+", token: "+_t);switch(Ot[0]){case 1:if(G.push(_t),ot.push(ft.yytext),_.push(ft.yylloc),G.push(Ot[1]),_t=null,!Te){if(Fe=ft.yyleng,R=ft.yytext,Zt=ft.yylineno,de=ft.yylloc,qe>0)qe--}else _t=Te,Te=null;break;case 2:if(At=this.productions_[Ot[1]][1],Kt.$=ot[ot.length-At],Kt._$={first_line:_[_.length-(At||1)].first_line,last_line:_[_.length-1].last_line,first_column:_[_.length-(At||1)].first_column,last_column:_[_.length-1].last_column},dr)Kt._$.range=[_[_.length-(At||1)].range[0],_[_.length-1].range[1]];if(pe=this.performAction.apply(Kt,[R,Fe,Zt,Ct.yy,Ot[1],ot,_].concat(hr)),typeof pe<"u")return pe;if(At)G=G.slice(0,-1*At*2),ot=ot.slice(0,-1*At),_=_.slice(0,-1*At);G.push(this.productions_[Ot[1]][0]),ot.push(Kt.$),_.push(Kt._$),Ue=Ut[G[G.length-2]][G[G.length-1]],G.push(Ue);break;case 3:return!0}}return!0},"parse")},cr=function(){var wt={EOF:1,parseError:e(function(Z,G){if(this.yy.parser)this.yy.parser.parseError(Z,G);else throw Error(Z)},"parseError"),setInput:e(function(U,Z){if(this.yy=Z||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];return this.offset=0,this},"setInput"),input:e(function(){var U=this._input[0];this.yytext+=U,this.yyleng++,this.offset++,this.match+=U,this.matched+=U;var Z=U.match(/(?:\r\n?|\n).*/g);if(Z)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),U},"input"),unput:e(function(U){var Z=U.length,G=U.split(/(?:\r\n?|\n)/g);this._input=U+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Z),this.offset-=Z;var M=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),G.length-1)this.yylineno-=G.length-1;var ot=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:G?(G.length===M.length?this.yylloc.first_column:0)+M[M.length-G.length].length-G[0].length:this.yylloc.first_column-Z},this.options.ranges)this.yylloc.range=[ot[0],ot[0]+this.yyleng-Z];return this.yyleng=this.yytext.length,this},"unput"),more:e(function(){return this._more=!0,this},"more"),reject:e(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},"reject"),less:e(function(U){this.unput(this.match.slice(U))},"less"),pastInput:e(function(){var U=this.matched.substr(0,this.matched.length-this.match.length);return(U.length>20?"...":"")+U.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:e(function(){var U=this.match;if(U.length<20)U+=this._input.substr(0,20-U.length);return(U.substr(0,20)+(U.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:e(function(){var U=this.pastInput(),Z=Array(U.length+1).join("-");return U+this.upcomingInput()+`
5
- `+Z+"^"},"showPosition"),test_match:e(function(U,Z){var G,M,ot;if(this.options.backtrack_lexer){if(ot={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)ot.yylloc.range=this.yylloc.range.slice(0)}if(M=U[0].match(/(?:\r\n?|\n).*/g),M)this.yylineno+=M.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:M?M[M.length-1].length-M[M.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],G=this.performAction.call(this,this.yy,this,Z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(G)return G;else if(this._backtrack){for(var E in ot)this[E]=ot[E];return!1}return!1},"test_match"),next:e(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var U,Z,G,M;if(!this._more)this.yytext="",this.match="";var ot=this._currentRules();for(var E=0;E<ot.length;E++)if(G=this._input.match(this.rules[ot[E]]),G&&(!Z||G[0].length>Z[0].length)){if(Z=G,M=E,this.options.backtrack_lexer)if(U=this.test_match(G,ot[E]),U!==!1)return U;else if(this._backtrack){Z=!1;continue}else return!1;else if(!this.options.flex)break}if(Z){if(U=this.test_match(Z,ot[M]),U!==!1)return U;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:e(function(){var Z=this.next();if(Z)return Z;else return this.lex()},"lex"),begin:e(function(Z){this.conditionStack.push(Z)},"begin"),popState:e(function(){var Z=this.conditionStack.length-1;if(Z>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:e(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:e(function(Z){if(Z=this.conditionStack.length-1-Math.abs(Z||0),Z>=0)return this.conditionStack[Z];else return"INITIAL"},"topState"),pushState:e(function(Z){this.begin(Z)},"pushState"),stateStackSize:e(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:e(function(Z,G,M,ot){var E=ot;switch(M){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;break;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;break;case 10:return this.popState(),this.popState(),77;break;case 11:return G.yytext=G.yytext.trim(),73;break;case 12:return G.yytext=G.yytext.trim(),this.begin("ALIAS"),73;break;case 13:return G.yytext=G.yytext.trim(),this.popState(),73;break;case 14:return this.popState(),10;break;case 15:return G.yytext=G.yytext.trim(),this.popState(),10;break;case 16:return this.begin("LINE"),15;break;case 17:return this.begin("ID"),51;break;case 18:return this.begin("ID"),53;break;case 19:return 14;case 20:return this.begin("ID"),54;break;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;break;case 22:return this.popState(),this.popState(),5;break;case 23:return this.begin("LINE"),37;break;case 24:return this.begin("LINE"),38;break;case 25:return this.begin("LINE"),39;break;case 26:return this.begin("LINE"),40;break;case 27:return this.begin("LINE"),50;break;case 28:return this.begin("LINE"),42;break;case 29:return this.begin("LINE"),44;break;case 30:return this.begin("LINE"),49;break;case 31:return this.begin("LINE"),45;break;case 32:return this.begin("LINE"),48;break;case 33:return this.begin("LINE"),47;break;case 34:return this.popState(),16;break;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;break;case 45:return this.begin("ID"),24;break;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;break;case 49:return this.popState(),"acc_title_value";break;case 50:return this.begin("acc_descr"),34;break;case 51:return this.popState(),"acc_descr_value";break;case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return G.yytext=G.yytext.trim(),73;break;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return wt}();ce.lexer=cr;function Jt(){this.yy={}}return e(Jt,"Parser"),Jt.prototype=ce,ce.Parser=Jt,new Jt}();fe.parser=fe;var Er=fe,ur={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},fr={FILLED:0,OPEN:1},_r={LEFTOF:0,RIGHTOF:1,OVER:2},te={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},xr=class{constructor(){this.state=new vt(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=f,this.setAccDescription=m,this.setDiagramTitle=b,this.getAccTitle=p,this.getAccDescription=g,this.getDiagramTitle=v,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(r().wrap),this.LINETYPE=ur,this.ARROWTYPE=fr,this.PLACEMENT=_r}static{e(this,"SequenceDB")}addBox(s){this.state.records.boxes.push({name:s.text,wrap:s.wrap??this.autoWrap(),fill:s.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(s,a,o,i,T){let _=this.state.records.currentBox,c;if(T!==void 0){let A;if(!T.includes(`
7
- `))A=`{
8
- `+T+`
9
- }`;else A=T+`
10
- `;c=Je(A,{schema:Ze})}if(i=c?.type??i,c?.alias&&(!o||o.text===a))o={text:c.alias,wrap:o?.wrap,type:i};let x=this.state.records.actors.get(s);if(x){if(this.state.records.currentBox&&x.box&&this.state.records.currentBox!==x.box)throw Error(`A same participant should only be defined in one Box: ${x.name} can't be in '${x.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(_=x.box?x.box:this.state.records.currentBox,x.box=_,x&&a===x.name&&o==null)return}if(o?.text==null)o={text:a,type:i};if(i==null||o.text==null)o={text:a,type:i};if(this.state.records.actors.set(s,{box:_,name:a,description:o.text,wrap:o.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){let A=this.state.records.actors.get(this.state.records.prevActor);if(A)A.nextActor=s}if(this.state.records.currentBox)this.state.records.currentBox.actorKeys.push(s);this.state.records.prevActor=s}activationCount(s){let a,o=0;if(!s)return 0;for(a=0;a<this.state.records.messages.length;a++){if(this.state.records.messages[a].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[a].from===s)o++;if(this.state.records.messages[a].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[a].from===s)o--}return o}addMessage(s,a,o,i){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:s,to:a,message:o.text,wrap:o.wrap??this.autoWrap(),answer:i})}addSignal(s,a,o,i,T=!1,_){if(i===this.LINETYPE.ACTIVE_END){if(this.activationCount(s??"")<1){let x=Error("Trying to inactivate an inactive participant ("+s+")");throw x.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},x}}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:s,to:a,message:o?.text??"",wrap:o?.wrap??this.autoWrap(),type:i,activate:T,centralConnection:_??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some((s)=>s.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(s){return this.state.records.actors.get(s)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(s){this.state.records.wrapEnabled=s}extractWrap(s){if(s===void 0)return{};s=s.trim();let a=/^:?wrap:/.exec(s)!==null?!0:/^:?nowrap:/.exec(s)!==null?!1:void 0;return{cleanedText:(a===void 0?s:s.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:a}}autoWrap(){if(this.state.records.wrapEnabled!==void 0)return this.state.records.wrapEnabled;return r().sequence?.wrap??!1}clear(){this.state.reset(),d()}parseMessage(s){let a=s.trim(),{wrap:o,cleanedText:i}=this.extractWrap(a),T={text:i,wrap:o};return t.debug(`parseMessage: ${JSON.stringify(T)}`),T}parseBoxData(s){let a=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(s),o=a?.[1]?a[1].trim():"transparent",i=a?.[2]?a[2].trim():void 0;if(window?.CSS){if(!window.CSS.supports("color",o))o="transparent",i=s.trim()}else{let c=new Option().style;if(c.color=o,c.color!==o)o="transparent",i=s.trim()}let{wrap:T,cleanedText:_}=this.extractWrap(i);return{text:_?w(_,r()):void 0,color:o,wrap:T}}addNote(s,a,o){let i={actor:s,placement:a,message:o.text,wrap:o.wrap??this.autoWrap()},T=[].concat(s,s);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:T[0],to:T[1],message:o.text,wrap:o.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:a})}addLinks(s,a){let o=this.getActor(s);try{let i=w(a.text,r());i=i.replace(/&equals;/g,"="),i=i.replace(/&amp;/g,"&");let T=JSON.parse(i);this.insertLinks(o,T)}catch(i){t.error("error while parsing actor link text",i)}}addALink(s,a){let o=this.getActor(s);try{let i={},T=w(a.text,r()),_=T.indexOf("@");T=T.replace(/&equals;/g,"="),T=T.replace(/&amp;/g,"&");let c=T.slice(0,_-1).trim(),x=T.slice(_+1).trim();i[c]=x,this.insertLinks(o,i)}catch(i){t.error("error while parsing actor link text",i)}}insertLinks(s,a){if(s.links==null)s.links=a;else for(let o in a)s.links[o]=a[o]}addProperties(s,a){let o=this.getActor(s);try{let i=w(a.text,r()),T=JSON.parse(i);this.insertProperties(o,T)}catch(i){t.error("error while parsing actor properties text",i)}}insertProperties(s,a){if(s.properties==null)s.properties=a;else for(let o in a)s.properties[o]=a[o]}boxEnd(){this.state.records.currentBox=void 0}addDetails(s,a){let o=this.getActor(s),i=document.getElementById(a.text);try{let T=i.innerHTML,_=JSON.parse(T);if(_.properties)this.insertProperties(o,_.properties);if(_.links)this.insertLinks(o,_.links)}catch(T){t.error("error while parsing actor details text",T)}}getActorProperty(s,a){if(s?.properties!==void 0)return s.properties[a];return}apply(s){if(Array.isArray(s))s.forEach((a)=>{this.apply(a)});else switch(s.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:s.sequenceIndex,step:s.sequenceIndexStep,visible:s.sequenceVisible},wrap:!1,type:s.signalType});break;case"addParticipant":this.addActor(s.actor,s.actor,s.description,s.draw,s.config);break;case"createParticipant":if(this.state.records.actors.has(s.actor))throw Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=s.actor,this.addActor(s.actor,s.actor,s.description,s.draw,s.config),this.state.records.createdActors.set(s.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=s.actor,this.state.records.destroyedActors.set(s.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(s.actor,void 0,void 0,s.signalType);break;case"centralConnection":this.addSignal(s.actor,void 0,void 0,s.signalType);break;case"centralConnectionReverse":this.addSignal(s.actor,void 0,void 0,s.signalType);break;case"activeEnd":this.addSignal(s.actor,void 0,void 0,s.signalType);break;case"addNote":this.addNote(s.actor,s.placement,s.text);break;case"addLinks":this.addLinks(s.actor,s.text);break;case"addALink":this.addALink(s.actor,s.text);break;case"addProperties":this.addProperties(s.actor,s.text);break;case"addDetails":this.addDetails(s.actor,s.text);break;case"addMessage":if(this.state.records.lastCreated)if(s.to!==this.state.records.lastCreated)throw Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");else this.state.records.lastCreated=void 0;else if(this.state.records.lastDestroyed)if(s.to!==this.state.records.lastDestroyed&&s.from!==this.state.records.lastDestroyed)throw Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");else this.state.records.lastDestroyed=void 0;this.addSignal(s.from,s.to,s.msg,s.signalType,s.activate,s.centralConnection);break;case"boxStart":this.addBox(s.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,s.loopText,s.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"rectStart":this.addSignal(void 0,void 0,s.color,s.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"optStart":this.addSignal(void 0,void 0,s.optText,s.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"altStart":this.addSignal(void 0,void 0,s.altText,s.signalType);break;case"else":this.addSignal(void 0,void 0,s.altText,s.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"setAccTitle":f(s.text);break;case"parStart":this.addSignal(void 0,void 0,s.parText,s.signalType);break;case"and":this.addSignal(void 0,void 0,s.parText,s.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,s.criticalText,s.signalType);break;case"option":this.addSignal(void 0,void 0,s.optionText,s.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"breakStart":this.addSignal(void 0,void 0,s.breakText,s.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break}}getConfig(){return r().sequence}},Ir=e((s)=>{let a=s.dropShadow??"none",{look:o}=r();return`.actor {
5
+ `+Z+"^"},"showPosition"),test_match:e(function(U,Z){var G,M,ot;if(this.options.backtrack_lexer){if(ot={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)ot.yylloc.range=this.yylloc.range.slice(0)}if(M=U[0].match(/(?:\r\n?|\n).*/g),M)this.yylineno+=M.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:M?M[M.length-1].length-M[M.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+U[0].length},this.yytext+=U[0],this.match+=U[0],this.matches=U,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(U[0].length),this.matched+=U[0],G=this.performAction.call(this,this.yy,this,Z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(G)return G;else if(this._backtrack){for(var _ in ot)this[_]=ot[_];return!1}return!1},"test_match"),next:e(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var U,Z,G,M;if(!this._more)this.yytext="",this.match="";var ot=this._currentRules();for(var _=0;_<ot.length;_++)if(G=this._input.match(this.rules[ot[_]]),G&&(!Z||G[0].length>Z[0].length)){if(Z=G,M=_,this.options.backtrack_lexer)if(U=this.test_match(G,ot[_]),U!==!1)return U;else if(this._backtrack){Z=!1;continue}else return!1;else if(!this.options.flex)break}if(Z){if(U=this.test_match(Z,ot[M]),U!==!1)return U;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:e(function(){var Z=this.next();if(Z)return Z;else return this.lex()},"lex"),begin:e(function(Z){this.conditionStack.push(Z)},"begin"),popState:e(function(){var Z=this.conditionStack.length-1;if(Z>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:e(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:e(function(Z){if(Z=this.conditionStack.length-1-Math.abs(Z||0),Z>=0)return this.conditionStack[Z];else return"INITIAL"},"topState"),pushState:e(function(Z){this.begin(Z)},"pushState"),stateStackSize:e(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:e(function(Z,G,M,ot){var _=ot;switch(M){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;break;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;break;case 10:return this.popState(),this.popState(),77;break;case 11:return G.yytext=G.yytext.trim(),73;break;case 12:return G.yytext=G.yytext.trim(),this.begin("ALIAS"),73;break;case 13:return G.yytext=G.yytext.trim(),this.popState(),73;break;case 14:return this.popState(),10;break;case 15:return G.yytext=G.yytext.trim(),this.popState(),10;break;case 16:return this.begin("LINE"),15;break;case 17:return this.begin("ID"),51;break;case 18:return this.begin("ID"),53;break;case 19:return 14;case 20:return this.begin("ID"),54;break;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;break;case 22:return this.popState(),this.popState(),5;break;case 23:return this.begin("LINE"),37;break;case 24:return this.begin("LINE"),38;break;case 25:return this.begin("LINE"),39;break;case 26:return this.begin("LINE"),40;break;case 27:return this.begin("LINE"),50;break;case 28:return this.begin("LINE"),42;break;case 29:return this.begin("LINE"),44;break;case 30:return this.begin("LINE"),49;break;case 31:return this.begin("LINE"),45;break;case 32:return this.begin("LINE"),48;break;case 33:return this.begin("LINE"),47;break;case 34:return this.popState(),16;break;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;break;case 45:return this.begin("ID"),24;break;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;break;case 49:return this.popState(),"acc_title_value";break;case 50:return this.begin("acc_descr"),34;break;case 51:return this.popState(),"acc_descr_value";break;case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return G.yytext=G.yytext.trim(),73;break;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return wt}();ce.lexer=cr;function Jt(){this.yy={}}return e(Jt,"Parser"),Jt.prototype=ce,ce.Parser=Jt,new Jt}();fe.parser=fe;var Er=fe,ur={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},fr={FILLED:0,OPEN:1},_r={LEFTOF:0,RIGHTOF:1,OVER:2},te={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},xr=class{constructor(){this.state=new vt(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=f,this.setAccDescription=m,this.setDiagramTitle=b,this.getAccTitle=p,this.getAccDescription=g,this.getDiagramTitle=v,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(r().wrap),this.LINETYPE=ur,this.ARROWTYPE=fr,this.PLACEMENT=_r}static{e(this,"SequenceDB")}addBox(s){this.state.records.boxes.push({name:s.text,wrap:s.wrap??this.autoWrap(),fill:s.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(s,a,o,i,E){let x=this.state.records.currentBox,c;if(E!==void 0){let N;if(!E.includes(`
7
+ `))N=`{
8
+ `+E+`
9
+ }`;else N=E+`
10
+ `;c=Je(N,{schema:Ze})}if(i=c?.type??i,c?.alias&&(!o||o.text===a))o={text:c.alias,wrap:o?.wrap,type:i};let I=this.state.records.actors.get(s);if(I){if(this.state.records.currentBox&&I.box&&this.state.records.currentBox!==I.box)throw Error(`A same participant should only be defined in one Box: ${I.name} can't be in '${I.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(x=I.box?I.box:this.state.records.currentBox,I.box=x,I&&a===I.name&&o==null)return}if(o?.text==null)o={text:a,type:i};if(i==null||o.text==null)o={text:a,type:i};if(this.state.records.actors.set(s,{box:x,name:a,description:o.text,wrap:o.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){let N=this.state.records.actors.get(this.state.records.prevActor);if(N)N.nextActor=s}if(this.state.records.currentBox)this.state.records.currentBox.actorKeys.push(s);this.state.records.prevActor=s}activationCount(s){let a,o=0;if(!s)return 0;for(a=0;a<this.state.records.messages.length;a++){if(this.state.records.messages[a].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[a].from===s)o++;if(this.state.records.messages[a].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[a].from===s)o--}return o}addMessage(s,a,o,i){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:s,to:a,message:o.text,wrap:o.wrap??this.autoWrap(),answer:i})}addSignal(s,a,o,i,E=!1,x){if(i===this.LINETYPE.ACTIVE_END){if(this.activationCount(s??"")<1){let I=Error("Trying to inactivate an inactive participant ("+s+")");throw I.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},I}}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:s,to:a,message:o?.text??"",wrap:o?.wrap??this.autoWrap(),type:i,activate:E,centralConnection:x??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some((s)=>s.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(s){return this.state.records.actors.get(s)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(s){this.state.records.wrapEnabled=s}extractWrap(s){if(s===void 0)return{};s=s.trim();let a=/^:?wrap:/.exec(s)!==null?!0:/^:?nowrap:/.exec(s)!==null?!1:void 0;return{cleanedText:(a===void 0?s:s.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:a}}autoWrap(){if(this.state.records.wrapEnabled!==void 0)return this.state.records.wrapEnabled;return r().sequence?.wrap??!1}clear(){this.state.reset(),d()}parseMessage(s){let a=s.trim(),{wrap:o,cleanedText:i}=this.extractWrap(a),E={text:i,wrap:o};return t.debug(`parseMessage: ${JSON.stringify(E)}`),E}parseBoxData(s){let a=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(s),o=a?.[1]?a[1].trim():"transparent",i=a?.[2]?a[2].trim():void 0;if(window?.CSS){if(!window.CSS.supports("color",o))o="transparent",i=s.trim()}else{let c=new Option().style;if(c.color=o,c.color!==o)o="transparent",i=s.trim()}let{wrap:E,cleanedText:x}=this.extractWrap(i);return{text:x?w(x,r()):void 0,color:o,wrap:E}}addNote(s,a,o){let i={actor:s,placement:a,message:o.text,wrap:o.wrap??this.autoWrap()},E=[].concat(s,s);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:E[0],to:E[1],message:o.text,wrap:o.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:a})}addLinks(s,a){let o=this.getActor(s);try{let i=w(a.text,r());i=i.replace(/&equals;/g,"="),i=i.replace(/&amp;/g,"&");let E=JSON.parse(i);this.insertLinks(o,E)}catch(i){t.error("error while parsing actor link text",i)}}addALink(s,a){let o=this.getActor(s);try{let i={},E=w(a.text,r()),x=E.indexOf("@");E=E.replace(/&equals;/g,"="),E=E.replace(/&amp;/g,"&");let c=E.slice(0,x-1).trim(),I=E.slice(x+1).trim();i[c]=I,this.insertLinks(o,i)}catch(i){t.error("error while parsing actor link text",i)}}insertLinks(s,a){if(s.links==null)s.links=a;else for(let o in a)s.links[o]=a[o]}addProperties(s,a){let o=this.getActor(s);try{let i=w(a.text,r()),E=JSON.parse(i);this.insertProperties(o,E)}catch(i){t.error("error while parsing actor properties text",i)}}insertProperties(s,a){if(s.properties==null)s.properties=a;else for(let o in a)s.properties[o]=a[o]}boxEnd(){this.state.records.currentBox=void 0}addDetails(s,a){let o=this.getActor(s),i=document.getElementById(a.text);try{let E=i.innerHTML,x=JSON.parse(E);if(x.properties)this.insertProperties(o,x.properties);if(x.links)this.insertLinks(o,x.links)}catch(E){t.error("error while parsing actor details text",E)}}getActorProperty(s,a){if(s?.properties!==void 0)return s.properties[a];return}apply(s){if(Array.isArray(s))s.forEach((a)=>{this.apply(a)});else switch(s.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:s.sequenceIndex,step:s.sequenceIndexStep,visible:s.sequenceVisible},wrap:!1,type:s.signalType});break;case"addParticipant":this.addActor(s.actor,s.actor,s.description,s.draw,s.config);break;case"createParticipant":if(this.state.records.actors.has(s.actor))throw Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=s.actor,this.addActor(s.actor,s.actor,s.description,s.draw,s.config),this.state.records.createdActors.set(s.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=s.actor,this.state.records.destroyedActors.set(s.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(s.actor,void 0,void 0,s.signalType);break;case"centralConnection":this.addSignal(s.actor,void 0,void 0,s.signalType);break;case"centralConnectionReverse":this.addSignal(s.actor,void 0,void 0,s.signalType);break;case"activeEnd":this.addSignal(s.actor,void 0,void 0,s.signalType);break;case"addNote":this.addNote(s.actor,s.placement,s.text);break;case"addLinks":this.addLinks(s.actor,s.text);break;case"addALink":this.addALink(s.actor,s.text);break;case"addProperties":this.addProperties(s.actor,s.text);break;case"addDetails":this.addDetails(s.actor,s.text);break;case"addMessage":if(this.state.records.lastCreated)if(s.to!==this.state.records.lastCreated)throw Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");else this.state.records.lastCreated=void 0;else if(this.state.records.lastDestroyed)if(s.to!==this.state.records.lastDestroyed&&s.from!==this.state.records.lastDestroyed)throw Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");else this.state.records.lastDestroyed=void 0;this.addSignal(s.from,s.to,s.msg,s.signalType,s.activate,s.centralConnection);break;case"boxStart":this.addBox(s.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,s.loopText,s.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"rectStart":this.addSignal(void 0,void 0,s.color,s.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"optStart":this.addSignal(void 0,void 0,s.optText,s.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"altStart":this.addSignal(void 0,void 0,s.altText,s.signalType);break;case"else":this.addSignal(void 0,void 0,s.altText,s.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"setAccTitle":f(s.text);break;case"parStart":this.addSignal(void 0,void 0,s.parText,s.signalType);break;case"and":this.addSignal(void 0,void 0,s.parText,s.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,s.criticalText,s.signalType);break;case"option":this.addSignal(void 0,void 0,s.optionText,s.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break;case"breakStart":this.addSignal(void 0,void 0,s.breakText,s.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,s.signalType);break}}getConfig(){return r().sequence}},Ir=e((s)=>{let a=s.dropShadow??"none",{look:o}=r();return`.actor {
11
11
  stroke: ${s.actorBorder};
12
12
  fill: ${s.actorBkg};
13
13
  stroke-width: ${s.strokeWidth??1};
@@ -146,17 +146,17 @@ Expecting `+jt.join(", ")+", got '"+(this.terminals_[_t]||_t)+"'";else Ee="Parse
146
146
  filter: ${a};
147
147
  stroke: ${s.nodeBorder};
148
148
  }
149
- `},"getStyles"),br=Ir,Bt=36,Pt="actor-top",Dt="actor-bottom",re="actor-box",Vt="actor-man",Nt=new Set(["redux-color","redux-dark-color"]),Gt=e(function(s,a){let o=dt(s,a);if(u().look==="neo")o.attr("data-look","neo");return o},"drawRect"),yr=e(function(s,a,o,i,T){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};let{links:_,actorCnt:c,rectData:x}=a;var A="none";if(T)A="block !important";let R=s.append("g");R.attr("id","actor"+c+"_popup"),R.attr("class","actorPopupMenu"),R.attr("display",A);var L="";if(x.class!==void 0)L=" "+x.class;let P=x.width>o?x.width:o,S=R.append("rect");if(S.attr("class","actorPopupMenuPanel"+L),S.attr("x",x.x),S.attr("y",x.height),S.attr("fill",x.fill),S.attr("stroke",x.stroke),S.attr("width",P),S.attr("height",x.height),S.attr("rx",x.rx),S.attr("ry",x.ry),_!=null){var V=20;for(let N in _){var O=R.append("a"),D=xe.sanitizeUrl(_[N]);O.attr("xlink:href",D),O.attr("target","_blank"),Gr(i)(N,O,x.x+10,x.height+V,P,20,{class:"actor"},i),V+=30}}return S.attr("height",V),{height:x.height+V,width:P}},"drawPopup"),ae=e(function(s){return"var pu = document.getElementById('"+s+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),ee=e(async function(s,a,o=null){let i=s.append("foreignObject"),T=await mr(a.text,u()),c=i.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(T).node().getBoundingClientRect();if(i.attr("height",Math.round(c.height)).attr("width",Math.round(c.width)),a.class==="noteText"){let x=s.node().firstChild;x.setAttribute("height",c.height+2*a.textMargin);let A=x.getBBox();i.attr("x",Math.round(A.x+A.width/2-c.width/2)).attr("y",Math.round(A.y+A.height/2-c.height/2))}else if(o){let{startx:x,stopx:A,starty:R}=o;if(x>A){let L=x;x=A,A=L}if(i.attr("x",Math.round(x+Math.abs(x-A)/2-c.width/2)),a.class==="loopText")i.attr("y",Math.round(R));else i.attr("y",Math.round(R-c.height))}return[i]},"drawKatex"),qt=e(function(s,a){let o=0,i=0,T=a.text.split(l.lineBreakRegex),[_,c]=he(a.fontSize),x=[],A=0,R=e(()=>a.y,"yfunc");if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":R=e(()=>Math.round(a.y+a.textMargin),"yfunc");break;case"middle":case"center":R=e(()=>Math.round(a.y+(o+i+a.textMargin)/2),"yfunc");break;case"bottom":case"end":R=e(()=>Math.round(a.y+(o+i+2*a.textMargin)-a.textMargin),"yfunc");break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[L,P]of T.entries()){if(a.textMargin!==void 0&&a.textMargin===0&&_!==void 0)A=L*_;let S=s.append("text");if(S.attr("x",a.x),S.attr("y",R()),a.anchor!==void 0)S.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline);if(a.fontFamily!==void 0)S.style("font-family",a.fontFamily);if(c!==void 0)S.style("font-size",c);if(a.fontWeight!==void 0)S.style("font-weight",a.fontWeight);if(a.fill!==void 0)S.attr("fill",a.fill);if(a.class!==void 0)S.attr("class",a.class);if(a.dy!==void 0)S.attr("dy",a.dy);else if(A!==0)S.attr("dy",A);let V=P||Ti;if(a.tspan){let O=S.append("tspan");if(O.attr("x",a.x),a.fill!==void 0)O.attr("fill",a.fill);O.text(V)}else S.text(V);if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)i+=(S._groups||S)[0][0].getBBox().height,o=i;x.push(S)}return x},"drawText"),Qe=e(function(s,a){function o(T,_,c,x,A){return T+","+_+" "+(T+c)+","+_+" "+(T+c)+","+(_+x-A)+" "+(T+c-A*1.2)+","+(_+x)+" "+T+","+(_+x)}e(o,"genPoints");let i=s.append("polygon");return i.attr("points",o(a.x,a.y,a.width,a.height,7)),i.attr("class","labelBox"),a.y=a.y+a.height/2,qt(s,a),i},"drawLabel"),et=-1,$e=e((s,a,o,i)=>{if(!s.select)return;o.forEach((T)=>{let _=a.get(T),c=s.select("#actor"+_.actorCnt);if(!i.mirrorActors&&_.stopy)c.attr("y2",_.stopy+_.height/2);else if(i.mirrorActors)c.attr("y2",_.stopy)})},"fixLifeLineHeights"),Rr=e(function(s,a,o,i,T){let _=i?a.stopy:a.starty,c=a.x+a.width/2,x=_+a.height,{look:A,theme:R,themeVariables:L}=o,{bkgColorArray:P,borderColorArray:S}=L,V=s.append("g").lower();var O=V;if(!i){if(et++,Object.keys(a.links||{}).length&&!o.forceMenus)O.attr("onclick",ae(`actor${et}_popup`)).attr("cursor","pointer");if(O.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",x).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),O=V.append("g"),a.actorCnt=et,a.links!=null)O.attr("id","root-"+et);if(A==="neo")O.attr("data-look","neo")}let D=ne();var N="actor";if(a.properties?.class)N=a.properties.class;else D.fill="#eaeaea";if(i)N+=` ${Dt}`;else N+=` ${Pt}`;if(D.x=a.x,D.y=_,D.width=a.width,D.height=a.height,D.class=N,D.rx=3,D.ry=3,D.name=a.name,A==="neo")D.rx=6,D.ry=6;let C=Gt(O,D),Y=T.get(a.name)??0;if(Nt.has(R))C.style("stroke",S[Y%S.length]),C.style("fill",P[Y%S.length]);if(A==="neo")C.attr("filter","url(#drop-shadow)");if(a.rectData=D,a.properties?.icon){let X=a.properties.icon.trim();if(X.charAt(0)==="@")Rn(O,D.x+D.width-20,D.y+10,X.substr(1));else An(O,D.x+D.width-20,D.y+10,X)}if(!i)O.attr("data-et","participant"),O.attr("data-type","participant"),O.attr("data-id",a.name);kt(o,H(a.description))(a.description,O,D.x,D.y,D.width,D.height,{class:`actor ${re}`},o);let W=a.height;if(C.node){let X=C.node().getBBox();a.height=X.height,W=X.height}return W},"drawActorTypeParticipant"),Or=e(function(s,a,o,i,T){let _=i?a.stopy:a.starty,c=a.x+a.width/2,x=_+a.height,{look:A,theme:R,themeVariables:L}=o,{bkgColorArray:P,borderColorArray:S}=L,V=s.append("g").lower();var O=V;if(!i){if(et++,Object.keys(a.links||{}).length&&!o.forceMenus)O.attr("onclick",ae(`actor${et}_popup`)).attr("cursor","pointer");if(O.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",x).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),O=V.append("g"),a.actorCnt=et,a.links!=null)O.attr("id","root-"+et);if(A==="neo")O.attr("data-look","neo")}let D=ne();var N="actor";if(a.properties?.class)N=a.properties.class;else D.fill="#eaeaea";if(i)N+=` ${Dt}`;else N+=` ${Pt}`;D.x=a.x,D.y=_,D.width=a.width,D.height=a.height,D.class=N,D.name=a.name;let C=6,Y={...D,x:D.x+(i?-C:-C),y:D.y+(i?+C:+C),class:"actor"},W=Gt(O,D),X=Gt(O,Y);if(a.rectData=D,A==="neo")O.attr("filter","url(#drop-shadow)");let z=T.get(a.name)??0;if(Nt.has(R))W.style("stroke",S[z%S.length]),W.style("fill",P[z%S.length]),X.style("stroke",S[z%S.length]),X.style("fill",P[z%S.length]);if(a.properties?.icon){let tt=a.properties.icon.trim();if(tt.charAt(0)==="@")Rn(O,D.x+D.width-20,D.y+10,tt.substr(1));else An(O,D.x+D.width-20,D.y+10,tt)}kt(o,H(a.description))(a.description,O,D.x-C,D.y+C,D.width,D.height,{class:`actor ${re}`},o);let J=a.height;if(W.node){let tt=W.node().getBBox();a.height=tt.height,J=tt.height}if(!i)O.attr("data-et","participant"),O.attr("data-type","collections"),O.attr("data-id",a.name);return J},"drawActorTypeCollections"),Lr=e(function(s,a,o,i,T){let _=i?a.stopy:a.starty,c=a.x+a.width/2,x=_+a.height,{look:A,theme:R,themeVariables:L}=o,{bkgColorArray:P,borderColorArray:S}=L,V=s.append("g").lower(),O=V;if(!i){if(et++,Object.keys(a.links||{}).length&&!o.forceMenus)O.attr("onclick",ae(`actor${et}_popup`)).attr("cursor","pointer");if(O.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",x).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),O=V.append("g"),a.actorCnt=et,a.links!=null)O.attr("id","root-"+et);if(A==="neo")O.attr("data-look","neo")}let D=ne(),N="actor";if(a.properties?.class)N=a.properties.class;else D.fill="#eaeaea";if(i)N+=` ${Dt}`;else N+=` ${Pt}`;O.attr("class",N),D.x=a.x,D.y=_,D.width=a.width,D.height=a.height,D.name=a.name;let C=D.height/2,Y=C/(2.5+D.height/50),W=O.append("g"),X=O.append("g"),z=`M ${D.x},${D.y+C}
149
+ `},"getStyles"),br=Ir,Bt=36,Pt="actor-top",Dt="actor-bottom",re="actor-box",Vt="actor-man",Nt=new Set(["redux-color","redux-dark-color"]),Gt=e(function(s,a){let o=dt(s,a);if(u().look==="neo")o.attr("data-look","neo");return o},"drawRect"),yr=e(function(s,a,o,i,E){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};let{links:x,actorCnt:c,rectData:I}=a;var N="none";if(E)N="block !important";let O=s.append("g");O.attr("id","actor"+c+"_popup"),O.attr("class","actorPopupMenu"),O.attr("display",N);var S="";if(I.class!==void 0)S=" "+I.class;let P=I.width>o?I.width:o,A=O.append("rect");if(A.attr("class","actorPopupMenuPanel"+S),A.attr("x",I.x),A.attr("y",I.height),A.attr("fill",I.fill),A.attr("stroke",I.stroke),A.attr("width",P),A.attr("height",I.height),A.attr("rx",I.rx),A.attr("ry",I.ry),x!=null){var V=20;for(let k in x){var L=O.append("a"),D=xe.sanitizeUrl(x[k]);L.attr("xlink:href",D),L.attr("target","_blank"),Gr(i)(k,L,I.x+10,I.height+V,P,20,{class:"actor"},i),V+=30}}return A.attr("height",V),{height:I.height+V,width:P}},"drawPopup"),ae=e(function(s){return"var pu = document.getElementById('"+s+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),ee=e(async function(s,a,o=null){let i=s.append("foreignObject"),E=await mr(a.text,u()),c=i.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(E).node().getBoundingClientRect();if(i.attr("height",Math.round(c.height)).attr("width",Math.round(c.width)),a.class==="noteText"){let I=s.node().firstChild;I.setAttribute("height",c.height+2*a.textMargin);let N=I.getBBox();i.attr("x",Math.round(N.x+N.width/2-c.width/2)).attr("y",Math.round(N.y+N.height/2-c.height/2))}else if(o){let{startx:I,stopx:N,starty:O}=o;if(I>N){let S=I;I=N,N=S}if(i.attr("x",Math.round(I+Math.abs(I-N)/2-c.width/2)),a.class==="loopText")i.attr("y",Math.round(O));else i.attr("y",Math.round(O-c.height))}return[i]},"drawKatex"),qt=e(function(s,a){let o=0,i=0,E=a.text.split(l.lineBreakRegex),[x,c]=he(a.fontSize),I=[],N=0,O=e(()=>a.y,"yfunc");if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":O=e(()=>Math.round(a.y+a.textMargin),"yfunc");break;case"middle":case"center":O=e(()=>Math.round(a.y+(o+i+a.textMargin)/2),"yfunc");break;case"bottom":case"end":O=e(()=>Math.round(a.y+(o+i+2*a.textMargin)-a.textMargin),"yfunc");break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[S,P]of E.entries()){if(a.textMargin!==void 0&&a.textMargin===0&&x!==void 0)N=S*x;let A=s.append("text");if(A.attr("x",a.x),A.attr("y",O()),a.anchor!==void 0)A.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline);if(a.fontFamily!==void 0)A.style("font-family",a.fontFamily);if(c!==void 0)A.style("font-size",c);if(a.fontWeight!==void 0)A.style("font-weight",a.fontWeight);if(a.fill!==void 0)A.attr("fill",a.fill);if(a.class!==void 0)A.attr("class",a.class);if(a.dy!==void 0)A.attr("dy",a.dy);else if(N!==0)A.attr("dy",N);let V=P||ki;if(a.tspan){let L=A.append("tspan");if(L.attr("x",a.x),a.fill!==void 0)L.attr("fill",a.fill);L.text(V)}else A.text(V);if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)i+=(A._groups||A)[0][0].getBBox().height,o=i;I.push(A)}return I},"drawText"),Qe=e(function(s,a){function o(E,x,c,I,N){return E+","+x+" "+(E+c)+","+x+" "+(E+c)+","+(x+I-N)+" "+(E+c-N*1.2)+","+(x+I)+" "+E+","+(x+I)}e(o,"genPoints");let i=s.append("polygon");return i.attr("points",o(a.x,a.y,a.width,a.height,7)),i.attr("class","labelBox"),a.y=a.y+a.height/2,qt(s,a),i},"drawLabel"),et=-1,$e=e((s,a,o,i)=>{if(!s.select)return;o.forEach((E)=>{let x=a.get(E),c=s.select("#actor"+x.actorCnt);if(!i.mirrorActors&&x.stopy)c.attr("y2",x.stopy+x.height/2);else if(i.mirrorActors)c.attr("y2",x.stopy)})},"fixLifeLineHeights"),Rr=e(function(s,a,o,i,E){let x=i?a.stopy:a.starty,c=a.x+a.width/2,I=x+a.height,{look:N,theme:O,themeVariables:S}=o,{bkgColorArray:P,borderColorArray:A}=S,V=s.append("g").lower();var L=V;if(!i){if(et++,Object.keys(a.links||{}).length&&!o.forceMenus)L.attr("onclick",ae(`actor${et}_popup`)).attr("cursor","pointer");if(L.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",I).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),L=V.append("g"),a.actorCnt=et,a.links!=null)L.attr("id","root-"+et);if(N==="neo")L.attr("data-look","neo")}let D=ne();var k="actor";if(a.properties?.class)k=a.properties.class;else D.fill="#eaeaea";if(i)k+=` ${Dt}`;else k+=` ${Pt}`;if(D.x=a.x,D.y=x,D.width=a.width,D.height=a.height,D.class=k,D.rx=3,D.ry=3,D.name=a.name,N==="neo")D.rx=6,D.ry=6;let C=Gt(L,D),Y=E.get(a.name)??0;if(Nt.has(O))C.style("stroke",A[Y%A.length]),C.style("fill",P[Y%A.length]);if(N==="neo")C.attr("filter","url(#drop-shadow)");if(a.rectData=D,a.properties?.icon){let X=a.properties.icon.trim();if(X.charAt(0)==="@")Rn(L,D.x+D.width-20,D.y+10,X.substr(1));else An(L,D.x+D.width-20,D.y+10,X)}if(!i)L.attr("data-et","participant"),L.attr("data-type","participant"),L.attr("data-id",a.name);kt(o,H(a.description))(a.description,L,D.x,D.y,D.width,D.height,{class:`actor ${re}`},o);let W=a.height;if(C.node){let X=C.node().getBBox();a.height=X.height,W=X.height}return W},"drawActorTypeParticipant"),Or=e(function(s,a,o,i,E){let x=i?a.stopy:a.starty,c=a.x+a.width/2,I=x+a.height,{look:N,theme:O,themeVariables:S}=o,{bkgColorArray:P,borderColorArray:A}=S,V=s.append("g").lower();var L=V;if(!i){if(et++,Object.keys(a.links||{}).length&&!o.forceMenus)L.attr("onclick",ae(`actor${et}_popup`)).attr("cursor","pointer");if(L.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",I).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),L=V.append("g"),a.actorCnt=et,a.links!=null)L.attr("id","root-"+et);if(N==="neo")L.attr("data-look","neo")}let D=ne();var k="actor";if(a.properties?.class)k=a.properties.class;else D.fill="#eaeaea";if(i)k+=` ${Dt}`;else k+=` ${Pt}`;D.x=a.x,D.y=x,D.width=a.width,D.height=a.height,D.class=k,D.name=a.name;let C=6,Y={...D,x:D.x+(i?-C:-C),y:D.y+(i?+C:+C),class:"actor"},W=Gt(L,D),X=Gt(L,Y);if(a.rectData=D,N==="neo")L.attr("filter","url(#drop-shadow)");let z=E.get(a.name)??0;if(Nt.has(O))W.style("stroke",A[z%A.length]),W.style("fill",P[z%A.length]),X.style("stroke",A[z%A.length]),X.style("fill",P[z%A.length]);if(a.properties?.icon){let tt=a.properties.icon.trim();if(tt.charAt(0)==="@")Rn(L,D.x+D.width-20,D.y+10,tt.substr(1));else An(L,D.x+D.width-20,D.y+10,tt)}kt(o,H(a.description))(a.description,L,D.x-C,D.y+C,D.width,D.height,{class:`actor ${re}`},o);let J=a.height;if(W.node){let tt=W.node().getBBox();a.height=tt.height,J=tt.height}if(!i)L.attr("data-et","participant"),L.attr("data-type","collections"),L.attr("data-id",a.name);return J},"drawActorTypeCollections"),Lr=e(function(s,a,o,i,E){let x=i?a.stopy:a.starty,c=a.x+a.width/2,I=x+a.height,{look:N,theme:O,themeVariables:S}=o,{bkgColorArray:P,borderColorArray:A}=S,V=s.append("g").lower(),L=V;if(!i){if(et++,Object.keys(a.links||{}).length&&!o.forceMenus)L.attr("onclick",ae(`actor${et}_popup`)).attr("cursor","pointer");if(L.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",I).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),L=V.append("g"),a.actorCnt=et,a.links!=null)L.attr("id","root-"+et);if(N==="neo")L.attr("data-look","neo")}let D=ne(),k="actor";if(a.properties?.class)k=a.properties.class;else D.fill="#eaeaea";if(i)k+=` ${Dt}`;else k+=` ${Pt}`;L.attr("class",k),D.x=a.x,D.y=x,D.width=a.width,D.height=a.height,D.name=a.name;let C=D.height/2,Y=C/(2.5+D.height/50),W=L.append("g"),X=L.append("g"),z=`M ${D.x},${D.y+C}
150
150
  a ${Y},${C} 0 0 0 0,${D.height}
151
151
  h ${D.width-2*Y}
152
152
  a ${Y},${C} 0 0 0 0,-${D.height}
153
153
  Z
154
154
  `;if(W.append("path").attr("d",z),X.append("path").attr("d",`M ${D.x},${D.y+C}
155
- a ${Y},${C} 0 0 0 0,${D.height}`),W.attr("transform",`translate(${Y}, ${-(D.height/2)})`),X.attr("transform",`translate(${D.width-Y}, ${-D.height/2})`),a.rectData=D,A==="neo")W.attr("filter","url(#drop-shadow)");let J=T.get(a.name)??0;if(Nt.has(R))W.style("stroke",S[J%S.length]),W.style("fill",P[J%S.length]),X.style("stroke",S[J%S.length]),X.style("fill",P[J%S.length]);if(a.properties?.icon){let st=a.properties.icon.trim(),Tt=D.x+D.width-20,Et=D.y+10;if(st.charAt(0)==="@")Rn(O,Tt,Et,st.substr(1));else An(O,Tt,Et,st)}kt(o,H(a.description))(a.description,O,D.x,D.y,D.width,D.height,{class:`actor ${re}`},o);let tt=a.height,rt=W.select("path:last-child");if(rt.node()){let st=rt.node().getBBox();a.height=st.height,tt=st.height}if(!i)O.attr("data-et","participant"),O.attr("data-type","queue"),O.attr("data-id",a.name);return tt},"drawActorTypeQueue"),Sr=e(function(s,a,o,i,T,_){let c=i?a.stopy:a.starty,x=a.x+a.width/2,A=c+75,{look:R,theme:L,themeVariables:P}=o,{bkgColorArray:S,borderColorArray:V,actorBorder:O,actorBkg:D}=P,N=s.append("g").lower();if(!i)et++,N.append("line").attr("id","actor"+et).attr("x1",x).attr("y1",A).attr("x2",x).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),a.actorCnt=et;let C=s.append("g"),Y=Vt;if(i)Y+=` ${Dt}`;else Y+=` ${Pt}`;C.attr("class",Y),C.attr("name",a.name);let W=ne();W.x=a.x,W.y=c,W.fill="#eaeaea",W.width=a.width,W.height=a.height,W.class="actor";let X=a.x+a.width/2,z=c+32,J=22;C.append("defs").append("marker").attr("id",T+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),C.append("circle").attr("cx",X).attr("cy",z).attr("r",J).attr("filter",`${R==="neo"?"url(#drop-shadow)":""}`),C.append("line").attr("marker-end","url(#"+T+"-filled-head-control)").attr("transform",`translate(${X}, ${z-J})`);let tt=_.get(a.name)??0;if(Nt.has(L))C.style("stroke",V[tt%V.length]),C.style("fill",S[tt%V.length]);else C.style("stroke",O),C.style("fill",D);let rt=C.node().getBBox();if(a.height=rt.height+2*(o?.sequence?.labelBoxHeight??0),kt(o,H(a.description))(a.description,C,W.x,W.y+J+(!i?12:5),W.width,W.height,{class:`actor ${Vt}`},o),!i)C.attr("data-et","participant"),C.attr("data-type","control"),C.attr("data-id",a.name);return a.height},"drawActorTypeControl"),Ar=e(function(s,a,o,i,T){let _=i?a.stopy:a.starty,c=a.x+a.width/2,x=_+75,{look:A,theme:R,themeVariables:L}=o,{bkgColorArray:P,borderColorArray:S}=L,V=s.append("g").lower(),O=s.append("g"),D="actor";if(i)D+=` ${Dt}`;else D+=` ${Pt}`;O.attr("class",D),O.attr("name",a.name);let N=ne();N.x=a.x,N.y=_,N.fill="#eaeaea",N.width=a.width,N.height=a.height,N.class="actor";let C=a.x+a.width/2,Y=_+(!i?25:10),W=22;if(O.append("circle").attr("cx",C).attr("cy",Y).attr("r",W).attr("width",a.width).attr("height",a.height),O.append("line").attr("x1",C-W).attr("x2",C+W).attr("y1",Y+W).attr("y2",Y+W).attr("stroke-width",2),A==="neo")O.attr("filter","url(#drop-shadow)");let X=T.get(a.name)??0;if(Nt.has(R))O.style("stroke",S[X%S.length]),O.style("fill",P[X%S.length]);let z=O.node().getBBox();if(a.height=z.height+(o?.sequence?.labelBoxHeight??0),!i)et++,V.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",x).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),a.actorCnt=et;if(kt(o,H(a.description))(a.description,O,N.x,N.y+(!i?30:15),N.width,N.height,{class:`actor ${Vt}`},o),!i)O.attr("transform",`translate(0, ${W/2-5})`),O.attr("data-et","participant"),O.attr("data-type","entity"),O.attr("data-id",a.name);else O.attr("transform",`translate(0, ${W})`);return a.height},"drawActorTypeEntity"),Nr=e(function(s,a,o,i,T){let _=i?a.stopy:a.starty,c=a.x+a.width/2,x=_+a.height+2*o.boxTextMargin,{theme:A,themeVariables:R,look:L}=o,{bkgColorArray:P,borderColorArray:S,actorBorder:V}=R,O=s.append("g").lower(),D=O;if(!i){if(et++,Object.keys(a.links||{}).length&&!o.forceMenus)D.attr("onclick",ae(`actor${et}_popup`)).attr("cursor","pointer");if(D.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",x).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),D=O.append("g"),a.actorCnt=et,a.links!=null)D.attr("id","root-"+et);if(L==="neo")D.attr("data-look","neo")}let N=ne(),C="actor";if(a.properties?.class)C=a.properties.class;else N.fill="#eaeaea";if(i)C+=` ${Dt}`;else C+=` ${Pt}`;N.x=a.x,N.y=_,N.width=a.width,N.height=a.height,N.class=C,N.name=a.name,N.x=a.x,N.y=_;let Y=N.width/3,W=N.width/3,X=Y/2,z=X/(2.5+Y/50),J=D.append("g");J.attr("class",C);let tt=`
156
- M ${N.x},${N.y+z}
155
+ a ${Y},${C} 0 0 0 0,${D.height}`),W.attr("transform",`translate(${Y}, ${-(D.height/2)})`),X.attr("transform",`translate(${D.width-Y}, ${-D.height/2})`),a.rectData=D,N==="neo")W.attr("filter","url(#drop-shadow)");let J=E.get(a.name)??0;if(Nt.has(O))W.style("stroke",A[J%A.length]),W.style("fill",P[J%A.length]),X.style("stroke",A[J%A.length]),X.style("fill",P[J%A.length]);if(a.properties?.icon){let st=a.properties.icon.trim(),Tt=D.x+D.width-20,Et=D.y+10;if(st.charAt(0)==="@")Rn(L,Tt,Et,st.substr(1));else An(L,Tt,Et,st)}kt(o,H(a.description))(a.description,L,D.x,D.y,D.width,D.height,{class:`actor ${re}`},o);let tt=a.height,rt=W.select("path:last-child");if(rt.node()){let st=rt.node().getBBox();a.height=st.height,tt=st.height}if(!i)L.attr("data-et","participant"),L.attr("data-type","queue"),L.attr("data-id",a.name);return tt},"drawActorTypeQueue"),Sr=e(function(s,a,o,i,E,x){let c=i?a.stopy:a.starty,I=a.x+a.width/2,N=c+75,{look:O,theme:S,themeVariables:P}=o,{bkgColorArray:A,borderColorArray:V,actorBorder:L,actorBkg:D}=P,k=s.append("g").lower();if(!i)et++,k.append("line").attr("id","actor"+et).attr("x1",I).attr("y1",N).attr("x2",I).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),a.actorCnt=et;let C=s.append("g"),Y=Vt;if(i)Y+=` ${Dt}`;else Y+=` ${Pt}`;C.attr("class",Y),C.attr("name",a.name);let W=ne();W.x=a.x,W.y=c,W.fill="#eaeaea",W.width=a.width,W.height=a.height,W.class="actor";let X=a.x+a.width/2,z=c+32,J=22;C.append("defs").append("marker").attr("id",E+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),C.append("circle").attr("cx",X).attr("cy",z).attr("r",J).attr("filter",`${O==="neo"?"url(#drop-shadow)":""}`),C.append("line").attr("marker-end","url(#"+E+"-filled-head-control)").attr("transform",`translate(${X}, ${z-J})`);let tt=x.get(a.name)??0;if(Nt.has(S))C.style("stroke",V[tt%V.length]),C.style("fill",A[tt%V.length]);else C.style("stroke",L),C.style("fill",D);let rt=C.node().getBBox();if(a.height=rt.height+2*(o?.sequence?.labelBoxHeight??0),kt(o,H(a.description))(a.description,C,W.x,W.y+J+(!i?12:5),W.width,W.height,{class:`actor ${Vt}`},o),!i)C.attr("data-et","participant"),C.attr("data-type","control"),C.attr("data-id",a.name);return a.height},"drawActorTypeControl"),Ar=e(function(s,a,o,i,E){let x=i?a.stopy:a.starty,c=a.x+a.width/2,I=x+75,{look:N,theme:O,themeVariables:S}=o,{bkgColorArray:P,borderColorArray:A}=S,V=s.append("g").lower(),L=s.append("g"),D="actor";if(i)D+=` ${Dt}`;else D+=` ${Pt}`;L.attr("class",D),L.attr("name",a.name);let k=ne();k.x=a.x,k.y=x,k.fill="#eaeaea",k.width=a.width,k.height=a.height,k.class="actor";let C=a.x+a.width/2,Y=x+(!i?25:10),W=22;if(L.append("circle").attr("cx",C).attr("cy",Y).attr("r",W).attr("width",a.width).attr("height",a.height),L.append("line").attr("x1",C-W).attr("x2",C+W).attr("y1",Y+W).attr("y2",Y+W).attr("stroke-width",2),N==="neo")L.attr("filter","url(#drop-shadow)");let X=E.get(a.name)??0;if(Nt.has(O))L.style("stroke",A[X%A.length]),L.style("fill",P[X%A.length]);let z=L.node().getBBox();if(a.height=z.height+(o?.sequence?.labelBoxHeight??0),!i)et++,V.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",I).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),a.actorCnt=et;if(kt(o,H(a.description))(a.description,L,k.x,k.y+(!i?30:15),k.width,k.height,{class:`actor ${Vt}`},o),!i)L.attr("transform",`translate(0, ${W/2-5})`),L.attr("data-et","participant"),L.attr("data-type","entity"),L.attr("data-id",a.name);else L.attr("transform",`translate(0, ${W})`);return a.height},"drawActorTypeEntity"),Nr=e(function(s,a,o,i,E){let x=i?a.stopy:a.starty,c=a.x+a.width/2,I=x+a.height+2*o.boxTextMargin,{theme:N,themeVariables:O,look:S}=o,{bkgColorArray:P,borderColorArray:A,actorBorder:V}=O,L=s.append("g").lower(),D=L;if(!i){if(et++,Object.keys(a.links||{}).length&&!o.forceMenus)D.attr("onclick",ae(`actor${et}_popup`)).attr("cursor","pointer");if(D.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",I).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),D=L.append("g"),a.actorCnt=et,a.links!=null)D.attr("id","root-"+et);if(S==="neo")D.attr("data-look","neo")}let k=ne(),C="actor";if(a.properties?.class)C=a.properties.class;else k.fill="#eaeaea";if(i)C+=` ${Dt}`;else C+=` ${Pt}`;k.x=a.x,k.y=x,k.width=a.width,k.height=a.height,k.class=C,k.name=a.name,k.x=a.x,k.y=x;let Y=k.width/3,W=k.width/3,X=Y/2,z=X/(2.5+Y/50),J=D.append("g");J.attr("class",C);let tt=`
156
+ M ${k.x},${k.y+z}
157
157
  a ${X},${z} 0 0 0 ${Y},0
158
158
  a ${X},${z} 0 0 0 -${Y},0
159
159
  l 0,${W-2*z}
160
160
  a ${X},${z} 0 0 0 ${Y},0
161
161
  l 0,-${W-2*z}
162
- `;if(J.append("path").attr("d",tt),L==="neo")J.attr("filter","url(#drop-shadow)");let rt=T.get(a.name)??0;if(Nt.has(A))J.style("stroke",S[rt%S.length]),J.style("fill",P[rt%S.length]);else J.style("stroke",V);J.attr("transform",`translate(${Y}, ${z})`),a.rectData=N,kt(o,H(a.description))(a.description,D,N.x,N.y+35,N.width,N.height,{class:`actor ${re}`},o);let st=J.select("path:last-child");if(st.node()){let Tt=st.node().getBBox();a.height=Tt.height+(o.sequence.labelBoxHeight??0)}if(!i)D.attr("data-et","participant"),D.attr("data-type","database"),D.attr("data-id",a.name);return a.height},"drawActorTypeDatabase"),kr=e(function(s,a,o,i,T){let _=i?a.stopy:a.starty,c=a.x+a.width/2,x=_+80,A=22,R=s.append("g").lower(),{look:L,theme:P,themeVariables:S}=o,{bkgColorArray:V,borderColorArray:O,actorBorder:D}=S;if(!i)et++,R.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",x).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),a.actorCnt=et;let N=s.append("g"),C=Vt;if(i)C+=` ${Dt}`;else C+=` ${Pt}`;N.attr("class",C),N.attr("name",a.name);let Y=ne();if(Y.x=a.x,Y.y=_,Y.fill="#eaeaea",Y.width=a.width,Y.height=a.height,Y.class="actor",N.append("line").attr("id","actor-man-torso"+et).attr("x1",a.x+a.width/2-55).attr("y1",_+12).attr("x2",a.x+a.width/2-15).attr("y2",_+12),N.append("line").attr("id","actor-man-arms"+et).attr("x1",a.x+a.width/2-55).attr("y1",_+2).attr("x2",a.x+a.width/2-55).attr("y2",_+22),N.append("circle").attr("cx",a.x+a.width/2).attr("cy",_+12).attr("r",22),L==="neo")N.attr("filter","url(#drop-shadow)");let W=T.get(a.name)??0;if(Nt.has(P))N.style("stroke",O[W%O.length]),N.style("fill",V[W%O.length]);else N.style("stroke",D);let X=N.node().getBBox();if(a.height=X.height+(o.sequence.labelBoxHeight??0),kt(o,H(a.description))(a.description,N,Y.x,Y.y+15,Y.width,Y.height,{class:`actor ${Vt}`},o),N.attr("transform","translate(0,21)"),!i)N.attr("data-et","participant"),N.attr("data-type","boundary"),N.attr("data-id",a.name);return a.height},"drawActorTypeBoundary"),wr=e(function(s,a,o,i,T){let _=i?a.stopy:a.starty,c=a.x+a.width/2,x=_+80,{look:A,theme:R,themeVariables:L}=o,{bkgColorArray:P,borderColorArray:S,actorBorder:V}=L,O=s.append("g").lower();if(!i)et++,O.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",x).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),a.actorCnt=et;let D=s.append("g"),N=Vt;if(i)N+=` ${Dt}`;else N+=` ${Pt}`;if(D.attr("class",N),D.attr("name",a.name),!i)D.attr("data-et","participant").attr("data-type","actor").attr("data-id",a.name);let C=A==="neo"?0.5:1,Y=A==="neo"?_+(1-C)*30:_;D.append("line").attr("id","actor-man-torso"+et).attr("x1",c).attr("y1",Y+25*C).attr("x2",c).attr("y2",Y+45*C),D.append("line").attr("id","actor-man-arms"+et).attr("x1",c-Bt/2*C).attr("y1",Y+33*C).attr("x2",c+Bt/2*C).attr("y2",Y+33*C),D.append("line").attr("x1",c-Bt/2*C).attr("y1",Y+60*C).attr("x2",c).attr("y2",Y+45*C),D.append("line").attr("x1",c).attr("y1",Y+45*C).attr("x2",c+(Bt/2-2)*C).attr("y2",Y+60*C);let W=D.append("circle");W.attr("cx",a.x+a.width/2),W.attr("cy",Y+10*C),W.attr("r",15*C),W.attr("width",a.width*C),W.attr("height",a.height*C);let X=D.node().getBBox();a.height=X.height;let z=ne();z.x=a.x,z.y=Y,z.fill="#eaeaea",z.width=a.width,z.height=a.height/C,z.class="actor",z.rx=3,z.ry=3;let J=T.get(a.name)??0;if(Nt.has(R))D.style("stroke",S[J%S.length]),D.style("fill",P[J%S.length]);else D.style("stroke",V);return kt(o,H(a.description))(a.description,D,z.x,Y+35*C-(A==="neo"?10:0),z.width,z.height,{class:`actor ${Vt}`},o),a.height},"drawActorTypeActor"),Pr=e(async function(s,a,o,i,T,_,c){let x=c??new Map([..._.db.getActors().values()].map((A,R)=>[A.name,R]));switch(a.type){case"actor":return await wr(s,a,o,i,x);case"participant":return await Rr(s,a,o,i,x);case"boundary":return await kr(s,a,o,i,x);case"control":return await Sr(s,a,o,i,T,x);case"entity":return await Ar(s,a,o,i,x);case"database":return await Nr(s,a,o,i,x);case"collections":return await Or(s,a,o,i,x);case"queue":return await Lr(s,a,o,i,x)}},"drawActor"),Dr=e(function(s,a,o){let T=s.append("g");if(je(T,a),a.name)kt(o)(a.name,T,a.x,a.y+o.boxTextMargin+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},o);T.lower()},"drawBox"),Cr=e(function(s){return s.append("g")},"anchorElement"),vr=e(function(s,a,o,i,T,_,c){let{theme:x,themeVariables:A}=i,{bkgColorArray:R,borderColorArray:L,mainBkg:P}=A,S=ne(),{anchored:V,actor:O}=a;S.x=a.startx,S.y=a.starty,S.class="activation"+T%3,S.width=a.stopx-a.startx,S.height=o-a.starty;let D=Gt(V,S),C=(c??new Map([..._.db.getActors().values()].map((Y,W)=>[Y.name,W]))).get(O)??0;if(Nt.has(x))D.style("stroke",L[C%L.length]),D.style("fill",R[C%L.length]??P)},"drawActivation"),Mr=e(async function(s,a,o,i,T){let{boxMargin:_,boxTextMargin:c,labelBoxHeight:x,labelBoxWidth:A,messageFontFamily:R,messageFontSize:L,messageFontWeight:P}=i,S=s.append("g").attr("data-et","control-structure").attr("data-id","i"+T.id),V=e(function(N,C,Y,W){return S.append("line").attr("x1",N).attr("y1",C).attr("x2",Y).attr("y2",W).attr("class","loopLine")},"drawLoopLine");if(V(a.startx,a.starty,a.stopx,a.starty),V(a.stopx,a.starty,a.stopx,a.stopy),V(a.startx,a.stopy,a.stopx,a.stopy),V(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0)a.sections.forEach(function(N){V(a.startx,N.y,a.stopx,N.y).style("stroke-dasharray","3, 3")});let O=In();O.text=o,O.x=a.startx,O.y=a.starty,O.fontFamily=R,O.fontSize=L,O.fontWeight=P,O.anchor="middle",O.valign="middle",O.tspan=!1,O.width=Math.max(A??0,50),O.height=x+(i.look==="neo"?15:0)||20,O.textMargin=c,O.class="labelText",Qe(S,O),O=tr(),O.text=a.title,O.x=a.startx+A/2+(a.stopx-a.startx)/2,O.y=a.starty+_+c,O.anchor="middle",O.valign="middle",O.textMargin=c,O.class="loopText",O.fontFamily=R,O.fontSize=L,O.fontWeight=P,O.wrap=!0;let D=H(O.text)?await ee(S,O,a):qt(S,O);if(a.sectionTitles!==void 0){for(let[N,C]of Object.entries(a.sectionTitles))if(C.message){if(O.text=C.message,O.x=a.startx+(a.stopx-a.startx)/2,O.y=a.sections[N].y+_+c,O.class="sectionTitle",O.anchor="middle",O.valign="middle",O.tspan=!1,O.fontFamily=R,O.fontSize=L,O.fontWeight=P,O.wrap=a.wrap,H(O.text))a.starty=a.sections[N].y,await ee(S,O,a);else qt(S,O);let Y=Math.round(D.map((W)=>(W._groups||W)[0][0].getBBox().height).reduce((W,X)=>W+X));a.sections[N].height+=Y-(_+c)}}return a.height=Math.round(a.stopy-a.starty),S},"drawLoop"),je=e(function(s,a){Br(s,a)},"drawBackgroundRect"),Vr=e(function(s,a){s.append("defs").append("symbol").attr("id",a+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),Yr=e(function(s,a){s.append("defs").append("symbol").attr("id",a+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Wr=e(function(s,a){s.append("defs").append("symbol").attr("id",a+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),Kr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),Fr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-filled-head").attr("refX",15.5).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")},"insertArrowFilledHead"),qr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),Hr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),zr=e(function(s,a){let{theme:o}=a;s.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${o==="redux"||o==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),tr=e(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),Ur=e(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),kt=function(){function s(_,c,x,A,R,L,P){let S=c.append("text").attr("x",x+R/2).attr("y",A+L/2+5).style("text-anchor","middle").text(_);T(S,P)}e(s,"byText");function a(_,c,x,A,R,L,P,S){let{actorFontSize:V,actorFontFamily:O,actorFontWeight:D}=S,[N,C]=he(V),Y=_.split(l.lineBreakRegex);for(let W=0;W<Y.length;W++){let X=W*N-N*(Y.length-1)/2,z=c.append("text").attr("x",x+R/2).attr("y",A).style("text-anchor","middle").style("font-size",C).style("font-weight",D).style("font-family",O);z.append("tspan").attr("x",x+R/2).attr("dy",X).text(Y[W]),z.attr("y",A+L/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),T(z,P)}}e(a,"byTspan");function o(_,c,x,A,R,L,P,S){let V=c.append("switch"),D=V.append("foreignObject").attr("x",x).attr("y",A).attr("width",R).attr("height",L).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");D.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(_),a(_,V,x,A,R,L,P,S),T(D,P)}e(o,"byFo");async function i(_,c,x,A,R,L,P,S){let V=await pr(_,u()),O=c.append("switch"),N=O.append("foreignObject").attr("x",x+R/2-V.width/2).attr("y",A+L/2-V.height/2).attr("width",V.width).attr("height",V.height).append("xhtml:div").style("height","100%").style("width","100%");N.append("div").style("text-align","center").style("vertical-align","middle").html(await mr(_,u())),a(_,O,x,A,R,L,P,S),T(N,P)}e(i,"byKatex");function T(_,c){for(let x in c)if(c.hasOwnProperty(x))_.attr(x,c[x])}return e(T,"_setTextAttrs"),function(_,c=!1){if(c)return i;return _.textPlacement==="fo"?o:_.textPlacement==="old"?s:a}}(),Gr=function(){function s(T,_,c,x,A,R,L){let P=_.append("text").attr("x",c).attr("y",x).style("text-anchor","start").text(T);i(P,L)}e(s,"byText");function a(T,_,c,x,A,R,L,P){let{actorFontSize:S,actorFontFamily:V,actorFontWeight:O}=P,D=T.split(l.lineBreakRegex);for(let N=0;N<D.length;N++){let C=N*S-S*(D.length-1)/2,Y=_.append("text").attr("x",c).attr("y",x).style("text-anchor","start").style("font-size",S).style("font-weight",O).style("font-family",V);Y.append("tspan").attr("x",c).attr("dy",C).text(D[N]),Y.attr("y",x+R/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(Y,L)}}e(a,"byTspan");function o(T,_,c,x,A,R,L,P){let S=_.append("switch"),O=S.append("foreignObject").attr("x",c).attr("y",x).attr("width",A).attr("height",R).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");O.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(T),a(T,S,c,x,A,R,L,P),i(O,L)}e(o,"byFo");function i(T,_){for(let c in _)if(_.hasOwnProperty(c))T.attr(c,_[c])}return e(i,"_setTextAttrs"),function(T){return T.textPlacement==="fo"?o:T.textPlacement==="old"?s:a}}(),Xr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-solidTopArrowHead").attr("refX",7.9).attr("refY",7.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 8 L 0 8 z")},"insertSolidTopArrowHead"),Qr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-solidBottomArrowHead").attr("refX",7.9).attr("refY",0.75).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 0 L 0 8 z")},"insertSolidBottomArrowHead"),Jr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-stickTopArrowHead").attr("refX",7.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 7 7").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickTopArrowHead"),Zr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-stickBottomArrowHead").attr("refX",7.5).attr("refY",0).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 7 L 7 0").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickBottomArrowHead"),ct={drawRect:Gt,drawText:qt,drawLabel:Qe,drawActor:Pr,drawBox:Dr,drawPopup:yr,anchorElement:Cr,drawActivation:vr,drawLoop:Mr,drawBackgroundRect:je,insertArrowHead:Kr,insertArrowFilledHead:Fr,insertSequenceNumber:qr,insertArrowCrossHead:Hr,insertDatabaseIcon:Vr,insertComputerIcon:Yr,insertClockIcon:Wr,getTextObj:tr,getNoteRect:Ur,fixLifeLineHeights:$e,sanitizeUrl:xe.sanitizeUrl,insertDropShadow:zr,insertSolidTopArrowHead:Xr,insertSolidBottomArrowHead:Qr,insertStickTopArrowHead:Jr,insertStickBottomArrowHead:Zr},I={},B={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:e(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map((s)=>s.height||0))+(this.loops.length===0?0:this.loops.map((s)=>s.height||0).reduce((s,a)=>s+a))+(this.messages.length===0?0:this.messages.map((s)=>s.height||0).reduce((s,a)=>s+a))+(this.notes.length===0?0:this.notes.map((s)=>s.height||0).reduce((s,a)=>s+a))},"getHeight"),clear:e(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:e(function(s){this.boxes.push(s)},"addBox"),addActor:e(function(s){this.actors.push(s)},"addActor"),addLoop:e(function(s){this.loops.push(s)},"addLoop"),addMessage:e(function(s){this.messages.push(s)},"addMessage"),addNote:e(function(s){this.notes.push(s)},"addNote"),lastActor:e(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:e(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:e(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:e(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:e(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ar(r())},"init"),updateVal:e(function(s,a,o,i){if(s[a]===void 0)s[a]=o;else s[a]=i(o,s[a])},"updateVal"),updateBounds:e(function(s,a,o,i){let T=this,_=0;function c(x){return e(function(R){_++;let L=T.sequenceItems.length-_+1;if(T.updateVal(R,"starty",a-L*I.boxMargin,Math.min),T.updateVal(R,"stopy",i+L*I.boxMargin,Math.max),T.updateVal(B.data,"startx",s-L*I.boxMargin,Math.min),T.updateVal(B.data,"stopx",o+L*I.boxMargin,Math.max),x!=="activation")T.updateVal(R,"startx",s-L*I.boxMargin,Math.min),T.updateVal(R,"stopx",o+L*I.boxMargin,Math.max),T.updateVal(B.data,"starty",a-L*I.boxMargin,Math.min),T.updateVal(B.data,"stopy",i+L*I.boxMargin,Math.max)},"updateItemBounds")}e(c,"updateFn"),this.sequenceItems.forEach(c()),this.activations.forEach(c("activation"))},"updateBounds"),insert:e(function(s,a,o,i){let T=l.getMin(s,o),_=l.getMax(s,o),c=l.getMin(a,i),x=l.getMax(a,i);this.updateVal(B.data,"startx",T,Math.min),this.updateVal(B.data,"starty",c,Math.min),this.updateVal(B.data,"stopx",_,Math.max),this.updateVal(B.data,"stopy",x,Math.max),this.updateBounds(T,c,_,x)},"insert"),newActivation:e(function(s,a,o){let i=o.get(s.from),T=se(s.from).length||0,_=i.x+i.width/2+(T-1)*I.activationWidth/2;this.activations.push({startx:_,starty:this.verticalPos+2,stopx:_+I.activationWidth,stopy:void 0,actor:s.from,anchored:ct.anchorElement(a)})},"newActivation"),endActivation:e(function(s){let a=this.activations.map(function(o){return o.actor}).lastIndexOf(s.from);return this.activations.splice(a,1)[0]},"endActivation"),createLoop:e(function(s={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:s.message,wrap:s.wrap,width:s.width,height:0,fill:a}},"createLoop"),newLoop:e(function(s={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(s,a))},"newLoop"),endLoop:e(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:e(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:e(function(s){let a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:B.getVerticalPos(),height:0}),a.sectionTitles.push(s),this.sequenceItems.push(a)},"addSectionToLoop"),saveVerticalPos:e(function(){if(this.isLoopOverlap())this.savedVerticalPos=this.verticalPos},"saveVerticalPos"),resetVerticalPos:e(function(){if(this.isLoopOverlap())this.verticalPos=this.savedVerticalPos},"resetVerticalPos"),bumpVerticalPos:e(function(s){this.verticalPos=this.verticalPos+s,this.data.stopy=l.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:e(function(){return this.verticalPos},"getVerticalPos"),getBounds:e(function(){return{bounds:this.data,models:this.models}},"getBounds")},$r=e(async function(s,a,o){B.bumpVerticalPos(I.boxMargin),a.height=I.boxMargin,a.starty=B.getVerticalPos();let i=ne();i.x=a.startx,i.y=a.starty,i.width=a.width||I.width,i.class="note";let T=s.append("g");T.attr("data-et","note"),T.attr("data-id","i"+o);let _=ct.drawRect(T,i),c=In();c.x=a.startx,c.y=a.starty,c.width=i.width,c.dy="1em",c.text=a.message,c.class="noteText",c.fontFamily=I.noteFontFamily,c.fontSize=I.noteFontSize,c.fontWeight=I.noteFontWeight,c.anchor=I.noteAlign,c.textMargin=I.noteMargin,c.valign="center";let x=H(c.text)?await ee(T,c):qt(T,c),A=Math.round(x.map((R)=>(R._groups||R)[0][0].getBBox().height).reduce((R,L)=>R+L));_.attr("height",A+2*I.noteMargin),a.height+=A+2*I.noteMargin,B.bumpVerticalPos(A+2*I.noteMargin),a.stopy=a.starty+A+2*I.noteMargin,a.stopx=a.startx+i.width,B.insert(a.startx,a.starty,a.stopx,a.stopy),B.models.addNote(a)},"drawNote"),Ge=e(function(s,a,o,i,T,_,c){let x=i.db.getActors(),A=x.get(a.from),R=x.get(a.to),L=o.sequenceVisible,P=A.x+A.width/2,S=R.x+R.width/2,V=P<=S,O=or(a,i),D=s.append("g"),N=16.5,C=e((J,tt)=>{let rt=J?N:-N;return tt?-rt:rt},"getCircleOffset"),Y=e((J)=>{D.append("circle").attr("cx",J).attr("cy",c).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:W,CENTRAL_CONNECTION_REVERSE:X,CENTRAL_CONNECTION_DUAL:z}=i.db.LINETYPE;if(L)switch(a.centralConnection){case W:if(O)S+=C(V,!0);break;case X:if(!O)P+=C(V,!1);break;case z:if(O)S+=C(V,!0);else P+=C(V,!1);break}switch(a.centralConnection){case W:Y(S);break;case X:Y(P);break;case z:Y(P),Y(S);break}},"drawCentralConnection"),Yt=e((s)=>({fontFamily:s.messageFontFamily,fontSize:s.messageFontSize,fontWeight:s.messageFontWeight}),"messageFont"),Ft=e((s)=>({fontFamily:s.noteFontFamily,fontSize:s.noteFontSize,fontWeight:s.noteFontWeight}),"noteFont"),_e=e((s)=>({fontFamily:s.actorFontFamily,fontSize:s.actorFontSize,fontWeight:s.actorFontWeight}),"actorFont");async function er(s,a){B.bumpVerticalPos(10);let{startx:o,stopx:i,message:T}=a,_=l.splitBreaks(T).length,c=H(T),x=c?await pr(T,r()):h.calculateTextDimensions(T,Yt(I));if(!c){let P=x.height/_;a.height+=P,B.bumpVerticalPos(P)}let A,R=x.height-10,L=x.width;if(o===i){if(A=B.getVerticalPos()+R,!I.rightAngles)R+=I.boxMargin,A=B.getVerticalPos()+R;R+=30;let P=l.getMax(L/2,I.width/2);B.insert(o-P,B.getVerticalPos()-10+R,i+P,B.getVerticalPos()+30+R)}else R+=I.boxMargin,A=B.getVerticalPos()+R,B.insert(o,A-10,i,A);return B.bumpVerticalPos(R),a.height+=R,a.stopy=a.starty+a.height,B.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),A}e(er,"boundMessage");var jr=e(async function(s,a,o,i,T,_){let{startx:c,stopx:x,starty:A,message:R,type:L,sequenceIndex:P,sequenceVisible:S}=a,V=h.calculateTextDimensions(R,Yt(I)),O=In();if(O.x=Math.min(c,x),O.y=A+10,O.width=Math.abs(x-c),O.class="messageText",O.dy="1em",O.text=R,O.fontFamily=I.messageFontFamily,O.fontSize=I.messageFontSize,O.fontWeight=I.messageFontWeight,O.anchor=I.messageAlign,O.valign="center",O.textMargin=I.wrapPadding,O.tspan=!1,H(O.text))await ee(s,O,{startx:c,stopx:x,starty:o});else qt(s,O);let D=V.width,N;if(c===x){let Y=S||I.showSequenceNumbers,W=or(T,i),X=oa(T,i),z=c+(Y&&(W||X)?10:0);if(I.rightAngles)N=s.append("path").attr("d",`M ${z},${o} H ${c+l.getMax(I.width/2,D/2)} V ${o+25} H ${c}`);else N=s.append("path").attr("d","M "+z+","+o+" C "+(z+60)+","+(o-10)+" "+(c+60)+","+(o+30)+" "+c+","+(o+20));if(ue(T,i))Ge(s,T,a,i,c,x,o)}else if(N=s.append("line"),N.attr("x1",c),N.attr("y1",o),N.attr("x2",x),N.attr("y2",o),ue(T,i))Ge(s,T,a,i,c,x,o);if(L===i.db.LINETYPE.DOTTED||L===i.db.LINETYPE.DOTTED_CROSS||L===i.db.LINETYPE.DOTTED_POINT||L===i.db.LINETYPE.DOTTED_OPEN||L===i.db.LINETYPE.BIDIRECTIONAL_DOTTED||L===i.db.LINETYPE.SOLID_TOP_DOTTED||L===i.db.LINETYPE.SOLID_BOTTOM_DOTTED||L===i.db.LINETYPE.STICK_TOP_DOTTED||L===i.db.LINETYPE.STICK_BOTTOM_DOTTED||L===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||L===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||L===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||L===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)N.style("stroke-dasharray","3, 3"),N.attr("class","messageLine1");else N.attr("class","messageLine0");N.attr("data-et","message"),N.attr("data-id","i"+a.id),N.attr("data-from",a.from),N.attr("data-to",a.to);let C="";if(I.arrowMarkerAbsolute)C=ht(!0);if(N.attr("stroke-width",2),N.attr("stroke","none"),N.style("fill","none"),L===i.db.LINETYPE.SOLID_TOP||L===i.db.LINETYPE.SOLID_TOP_DOTTED)N.attr("marker-end","url("+C+"#"+_+"-solidTopArrowHead)");if(L===i.db.LINETYPE.SOLID_BOTTOM||L===i.db.LINETYPE.SOLID_BOTTOM_DOTTED)N.attr("marker-end","url("+C+"#"+_+"-solidBottomArrowHead)");if(L===i.db.LINETYPE.STICK_TOP||L===i.db.LINETYPE.STICK_TOP_DOTTED)N.attr("marker-end","url("+C+"#"+_+"-stickTopArrowHead)");if(L===i.db.LINETYPE.STICK_BOTTOM||L===i.db.LINETYPE.STICK_BOTTOM_DOTTED)N.attr("marker-end","url("+C+"#"+_+"-stickBottomArrowHead)");if(L===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||L===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)N.attr("marker-start","url("+C+"#"+_+"-solidBottomArrowHead)");if(L===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||L===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)N.attr("marker-start","url("+C+"#"+_+"-solidTopArrowHead)");if(L===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE||L===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)N.attr("marker-start","url("+C+"#"+_+"-stickBottomArrowHead)");if(L===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||L===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)N.attr("marker-start","url("+C+"#"+_+"-stickTopArrowHead)");if(L===i.db.LINETYPE.SOLID||L===i.db.LINETYPE.DOTTED)N.attr("marker-end","url("+C+"#"+_+"-arrowhead)");if(L===i.db.LINETYPE.BIDIRECTIONAL_SOLID||L===i.db.LINETYPE.BIDIRECTIONAL_DOTTED)N.attr("marker-start","url("+C+"#"+_+"-arrowhead)"),N.attr("marker-end","url("+C+"#"+_+"-arrowhead)");if(L===i.db.LINETYPE.SOLID_POINT||L===i.db.LINETYPE.DOTTED_POINT)N.attr("marker-end","url("+C+"#"+_+"-filled-head)");if(L===i.db.LINETYPE.SOLID_CROSS||L===i.db.LINETYPE.DOTTED_CROSS)N.attr("marker-end","url("+C+"#"+_+"-crosshead)");if(S||I.showSequenceNumbers){let Y=L===i.db.LINETYPE.BIDIRECTIONAL_SOLID||L===i.db.LINETYPE.BIDIRECTIONAL_DOTTED,W=L===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||L===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||L===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||L===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||L===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE||L===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||L===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||L===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,X=6,z=ue(T,i),J=c,tt=x;if(Y){if(c<x)J=c+12;else J=c-6+(z?-5:0),J+=T?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_DUAL||T?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0;N.attr("x1",J)}else if(W){if(x>c)tt=x-12;else tt=x-6,J+=T?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_DUAL||T?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0;tt+=z?15:0,N.attr("x2",tt),N.attr("x1",J)}else N.attr("x1",c+6);let rt=0,st=c===x,Tt=c<=x;if(st)rt=a.fromBounds+1;else if(W)rt=Tt?a.toBounds-1:a.fromBounds+1;else rt=Tt?a.fromBounds+1:a.toBounds-1;let Et="12px",ut=P.toString().length;if(ut>5)Et="7px";else if(ut>3)Et="9px";s.append("line").attr("x1",rt).attr("y1",o).attr("x2",rt).attr("y2",o).attr("stroke-width",0).attr("marker-start","url("+C+"#"+_+"-sequencenumber)"),s.append("text").attr("x",rt).attr("y",o+4).attr("font-family","sans-serif").attr("font-size",Et).attr("text-anchor","middle").attr("class","sequenceNumber").text(P)}},"drawMessage"),ta=e(function(s,a,o,i,T,_,c){let x=0,A=0,R=void 0,L=0;for(let P of i){let S=a.get(P),V=S.box;if(R&&R!=V){if(!c)B.models.addBox(R);A+=I.boxMargin+R.margin}if(V&&V!=R){if(!c)V.x=x+A,V.y=T;A+=V.margin}if(S.width=l.getMax(S.width||I.width,I.width),S.height=l.getMax(S.height||I.height,I.height),S.margin=S.margin||I.actorMargin,L=l.getMax(L,S.height),o.get(S.name))A+=S.width/2;if(S.x=x+A,S.starty=B.getVerticalPos(),B.insert(S.x,T,S.x+S.width,S.height),x+=S.width+A,S.box)S.box.width=x+V.margin-S.box.x;A=S.margin,R=S.box,B.models.addActor(S)}if(R&&!c)B.models.addBox(R);B.bumpVerticalPos(L)},"addActorRenderingData"),ge=e(async function(s,a,o,i,T,_,c){if(!i)for(let x of o){let A=a.get(x);await ct.drawActor(s,A,I,!1,T,_,c)}else{let x=0;B.bumpVerticalPos(I.boxMargin*2);for(let A of o){let R=a.get(A);if(!R.stopy)R.stopy=B.getVerticalPos();let L=await ct.drawActor(s,R,I,!0,T,_,c);x=l.getMax(x,L)}B.bumpVerticalPos(x+I.boxMargin)}},"drawActors"),rr=e(function(s,a,o,i){let T=0,_=0;for(let c of o){let x=a.get(c),A=ra(x),R=ct.drawPopup(s,x,A,I,I.forceMenus,i);if(R.height>T)T=R.height;if(R.width+x.x>_)_=R.width+x.x}return{maxHeight:T,maxWidth:_}},"drawActorsPopup"),ar=e(function(s){if(F(I,s),s.fontFamily)I.actorFontFamily=I.noteFontFamily=I.messageFontFamily=s.fontFamily;if(s.fontSize)I.actorFontSize=I.noteFontSize=I.messageFontSize=s.fontSize;if(s.fontWeight)I.actorFontWeight=I.noteFontWeight=I.messageFontWeight=s.fontWeight},"setConf"),se=e(function(s){return B.activations.filter(function(a){return a.actor===s})},"actorActivations"),Xe=e(function(s,a){let o=a.get(s),i=se(s),T=i.reduce(function(c,x){return l.getMin(c,x.startx)},o.x+o.width/2-1),_=i.reduce(function(c,x){return l.getMax(c,x.stopx)},o.x+o.width/2+1);return[T,_]},"activationBounds");function St(s,a,o,i,T){B.bumpVerticalPos(o);let _=i;if(a.id&&a.message&&s[a.id]){let c=s[a.id].width,x=Yt(I);a.message=h.wrapLabel(`[${a.message}]`,c-2*I.wrapPadding,x),a.width=c,a.wrap=!0;let A=h.calculateTextDimensions(a.message,x),R=l.getMax(A.height,I.labelBoxHeight);_=i+R,t.debug(`${R} - ${a.message}`)}T(a),B.bumpVerticalPos(_)}e(St,"adjustLoopHeightForWrap");function sr(s,a,o,i,T,_,c){function x(L,P){if(L.x<T.get(s.from).x)B.insert(a.stopx-P,a.starty,a.startx,a.stopy+L.height/2+I.noteMargin),a.stopx=a.stopx+P;else B.insert(a.startx,a.starty,a.stopx+P,a.stopy+L.height/2+I.noteMargin),a.stopx=a.stopx-P}e(x,"receiverAdjustment");function A(L,P){if(L.x<T.get(s.to).x)B.insert(a.startx-P,a.starty,a.stopx,a.stopy+L.height/2+I.noteMargin),a.startx=a.startx+P;else B.insert(a.stopx,a.starty,a.startx+P,a.stopy+L.height/2+I.noteMargin),a.startx=a.startx-P}e(A,"senderAdjustment");let R=[te.ACTOR,te.CONTROL,te.ENTITY,te.DATABASE];if(_.get(s.to)==i){let L=T.get(s.to),P=R.includes(L.type)?Bt/2+3:L.width/2+3;x(L,P),L.starty=o-L.height/2,B.bumpVerticalPos(L.height/2)}else if(c.get(s.from)==i){let L=T.get(s.from);if(I.mirrorActors){let P=R.includes(L.type)?Bt/2:L.width/2;A(L,P)}L.stopy=o-L.height/2,B.bumpVerticalPos(L.height/2)}else if(c.get(s.to)==i){let L=T.get(s.to);if(I.mirrorActors){let P=R.includes(L.type)?Bt/2+3:L.width/2+3;x(L,P)}L.stopy=o-L.height/2,B.bumpVerticalPos(L.height/2)}}e(sr,"adjustCreatedDestroyedData");var ea=e(async function(s,a,o,i){let{securityLevel:T,sequence:_,look:c,themeVariables:x}=r();I=_;let A;if(T==="sandbox")A=n("#i"+a);let R=T==="sandbox"?n(A.nodes()[0].contentDocument.body):n("body"),L=T==="sandbox"?A.nodes()[0].contentDocument:document;B.init(),t.debug(i.db);let P=T==="sandbox"?R.select(`[id="${a}"]`):n(`[id="${a}"]`),S=i.db.getActors(),V=i.db.getCreatedActors(),O=i.db.getDestroyedActors(),D=i.db.getBoxes(),N=i.db.getActorKeys(),C=i.db.getMessages(),Y=i.db.getDiagramTitle(),W=i.db.hasAtLeastOneBox(),X=i.db.hasAtLeastOneBoxWithTitle(),z=await ir(S,C,i);if(I.height=await nr(S,z,D),ct.insertComputerIcon(P,a),ct.insertDatabaseIcon(P,a),ct.insertClockIcon(P,a),W){if(B.bumpVerticalPos(I.boxMargin),X)B.bumpVerticalPos(D[0].textMaxHeight)}if(I.hideUnusedParticipants===!0){let q=new Set;C.forEach((Q)=>{q.add(Q.from),q.add(Q.to)}),N=N.filter((Q)=>q.has(Q))}let J=new Map(N.map((q,Q)=>[S.get(q)?.name??q,Q]));ta(P,S,V,N,0,C,!1);let tt=await la(C,S,z,i);if(ct.insertArrowHead(P,a),ct.insertArrowCrossHead(P,a),ct.insertArrowFilledHead(P,a),ct.insertSequenceNumber(P,a),ct.insertSolidTopArrowHead(P,a),ct.insertSolidBottomArrowHead(P,a),ct.insertStickTopArrowHead(P,a),ct.insertStickBottomArrowHead(P,a),c==="neo")ct.insertDropShadow(P,I);function rt(q,Q){let mt=B.endActivation(q);if(mt.starty+18>Q)mt.starty=Q-6,Q+=12;ct.drawActivation(P,mt,Q,I,se(q.from).length,i,J),B.insert(mt.startx,Q-10,mt.stopx,Q)}e(rt,"activeEnd");let st=1,Tt=1,Et=[],ut=[],yt=0;for(let q of C){let Q,mt,It;switch(q.type){case i.db.LINETYPE.NOTE:B.resetVerticalPos(),mt=q.noteModel,await $r(P,mt,q.id);break;case i.db.LINETYPE.ACTIVE_START:B.newActivation(q,P,S);break;case i.db.LINETYPE.CENTRAL_CONNECTION:B.newActivation(q,P,S);break;case i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:B.newActivation(q,P,S);break;case i.db.LINETYPE.ACTIVE_END:rt(q,B.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:St(tt,q,I.boxMargin,I.boxMargin+I.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.LOOP_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"loop",I,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.RECT_START:St(tt,q,I.boxMargin,I.boxMargin,(it)=>{let Wt=it.message;if(!Wt)Wt=x?.rectBkgColor||x?.actorBkg||"rgba(128, 128, 128, 0.5)";B.newLoop(void 0,Wt)});break;case i.db.LINETYPE.RECT_END:Q=B.endLoop(),ut.push(Q),B.models.addLoop(Q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos());break;case i.db.LINETYPE.OPT_START:St(tt,q,I.boxMargin,I.boxMargin+I.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.OPT_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"opt",I,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.ALT_START:St(tt,q,I.boxMargin,I.boxMargin+I.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.ALT_ELSE:St(tt,q,I.boxMargin+I.boxTextMargin,I.boxMargin,(it)=>B.addSectionToLoop(it));break;case i.db.LINETYPE.ALT_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"alt",I,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:St(tt,q,I.boxMargin,I.boxMargin+I.boxTextMargin,(it)=>B.newLoop(it)),B.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:St(tt,q,I.boxMargin+I.boxTextMargin,I.boxMargin,(it)=>B.addSectionToLoop(it));break;case i.db.LINETYPE.PAR_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"par",I,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.AUTONUMBER:if(st=q.message.start||st,Tt=q.message.step||Tt,q.message.visible)i.db.enableSequenceNumbers();else i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:St(tt,q,I.boxMargin,I.boxMargin+I.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.CRITICAL_OPTION:St(tt,q,I.boxMargin+I.boxTextMargin,I.boxMargin,(it)=>B.addSectionToLoop(it));break;case i.db.LINETYPE.CRITICAL_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"critical",I,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.BREAK_START:St(tt,q,I.boxMargin,I.boxMargin+I.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.BREAK_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"break",I,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;default:try{It=q.msgModel,It.starty=B.getVerticalPos(),It.sequenceIndex=st,It.sequenceVisible=i.db.showSequenceNumbers(),It.id=q.id,It.from=q.from,It.to=q.to;let it=await er(P,It);sr(q,It,it,yt,S,V,O),Et.push({messageModel:It,lineStartY:it,msg:q}),B.models.addMessage(It)}catch(it){t.error("error while drawing message",it)}}if([i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.SOLID_TOP,i.db.LINETYPE.SOLID_BOTTOM,i.db.LINETYPE.STICK_TOP,i.db.LINETYPE.STICK_BOTTOM,i.db.LINETYPE.SOLID_TOP_DOTTED,i.db.LINETYPE.SOLID_BOTTOM_DOTTED,i.db.LINETYPE.STICK_TOP_DOTTED,i.db.LINETYPE.STICK_BOTTOM_DOTTED,i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,i.db.LINETYPE.STICK_ARROW_TOP_REVERSE,i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT,i.db.LINETYPE.BIDIRECTIONAL_SOLID,i.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(q.type))st=Math.round((st+Tt)*100)/100;yt++}t.debug("createdActors",V),t.debug("destroyedActors",O),await ge(P,S,N,!1,a,i,J);for(let q of Et)await jr(P,q.messageModel,q.lineStartY,i,q.msg,a);if(I.mirrorActors)await ge(P,S,N,!0,a,i,J);ut.forEach((q)=>ct.drawBackgroundRect(P,q)),$e(P,S,N,I);for(let q of B.models.boxes){q.height=B.getVerticalPos()-q.y,B.insert(q.x,q.y,q.x+q.width,q.height);let Q=I.boxMargin*2;q.startx=q.x-Q,q.starty=q.y-Q*0.25,q.stopx=q.startx+q.width+2*Q,q.stopy=q.starty+q.height+Q*0.75,q.stroke="rgb(0,0,0, 0.5)",ct.drawBox(P,q,I)}if(W)B.bumpVerticalPos(I.boxMargin);let gt=rr(P,S,N,L),{bounds:lt}=B.getBounds();if(lt.startx===void 0)lt.startx=0;if(lt.starty===void 0)lt.starty=0;if(lt.stopx===void 0)lt.stopx=0;if(lt.stopy===void 0)lt.stopy=0;let bt=lt.stopy-lt.starty;if(bt<gt.maxHeight)bt=gt.maxHeight;let xt=bt+2*I.diagramMarginY;if(I.mirrorActors)xt=xt-I.boxMargin+I.bottomMarginAdj;let at=lt.stopx-lt.startx;if(at<gt.maxWidth)at=gt.maxWidth;let j=at+2*I.diagramMarginX;if(Y)P.append("text").text(Y).attr("x",(lt.stopx-lt.startx)/2-2*I.diagramMarginX).attr("y",-25);k(P,xt,j,I.useMaxWidth);let Ht=Y?40:0,Xt=S.size&&c==="neo"?30:0;P.attr("viewBox",lt.startx-I.diagramMarginX+" -"+(I.diagramMarginY+Ht)+" "+j+" "+(xt+Ht+Xt)),t.debug("models:",B.models)},"draw");async function ir(s,a,o){let i={};for(let T of a)if(s.get(T.to)&&s.get(T.from)){let _=s.get(T.to);if(T.placement===o.db.PLACEMENT.LEFTOF&&!_.prevActor)continue;if(T.placement===o.db.PLACEMENT.RIGHTOF&&!_.nextActor)continue;let c=T.placement!==void 0,x=!c,A=c?Ft(I):Yt(I),R=T.wrap?h.wrapLabel(T.message,I.width-2*I.wrapPadding,A):T.message,P=(H(R)?await pr(T.message,r()):h.calculateTextDimensions(R,A)).width+2*I.wrapPadding;if(x&&T.from===_.nextActor)i[T.to]=l.getMax(i[T.to]||0,P);else if(x&&T.from===_.prevActor)i[T.from]=l.getMax(i[T.from]||0,P);else if(x&&T.from===T.to)i[T.from]=l.getMax(i[T.from]||0,P/2),i[T.to]=l.getMax(i[T.to]||0,P/2);else if(T.placement===o.db.PLACEMENT.RIGHTOF)i[T.from]=l.getMax(i[T.from]||0,P);else if(T.placement===o.db.PLACEMENT.LEFTOF)i[_.prevActor]=l.getMax(i[_.prevActor]||0,P);else if(T.placement===o.db.PLACEMENT.OVER){if(_.prevActor)i[_.prevActor]=l.getMax(i[_.prevActor]||0,P/2);if(_.nextActor)i[T.from]=l.getMax(i[T.from]||0,P/2)}}return t.debug("maxMessageWidthPerActor:",i),i}e(ir,"getMaxMessageWidthPerActor");var ra=e(function(s){let a=0,o=_e(I);for(let i in s.links){let _=h.calculateTextDimensions(i,o).width+2*I.wrapPadding+2*I.boxMargin;if(a<_)a=_}return a},"getRequiredPopupWidth");async function nr(s,a,o){let i=0;for(let _ of s.keys()){let c=s.get(_);if(c.wrap)c.description=h.wrapLabel(c.description,I.width-2*I.wrapPadding,_e(I));let x=H(c.description)?await pr(c.description,r()):h.calculateTextDimensions(c.description,_e(I));c.width=c.wrap?I.width:l.getMax(I.width,x.width+2*I.wrapPadding),c.height=c.wrap?l.getMax(x.height,I.height):I.height,i=l.getMax(i,c.height)}for(let _ in a){let c=s.get(_);if(!c)continue;let x=s.get(c.nextActor);if(!x){let P=a[_]+I.actorMargin-c.width/2;c.margin=l.getMax(P,I.actorMargin);continue}let R=a[_]+I.actorMargin-c.width/2-x.width/2;c.margin=l.getMax(R,I.actorMargin)}let T=0;return o.forEach((_)=>{let c=Yt(I),x=_.actorKeys.reduce((P,S)=>P+=s.get(S).width+(s.get(S).margin||0),0),A=I.boxMargin*8;if(x+=A,x-=2*I.boxTextMargin,_.wrap)_.name=h.wrapLabel(_.name,x-2*I.wrapPadding,c);let R=h.calculateTextDimensions(_.name,c);T=l.getMax(R.height,T);let L=l.getMax(x,R.width+2*I.wrapPadding);if(_.margin=I.boxTextMargin,x<L){let P=(L-x)/2;_.margin+=P}}),o.forEach((_)=>_.textMaxHeight=T),l.getMax(i,I.height)}e(nr,"calculateActorMargins");var aa=e(async function(s,a,o){let i=a.get(s.from),T=a.get(s.to),_=i.x,c=T.x,x=s.wrap&&s.message,A=H(s.message)?await pr(s.message,r()):h.calculateTextDimensions(x?h.wrapLabel(s.message,I.width,Ft(I)):s.message,Ft(I)),R={width:x?I.width:l.getMax(I.width,A.width+2*I.noteMargin),height:0,startx:i.x,stopx:0,starty:0,stopy:0,message:s.message};if(s.placement===o.db.PLACEMENT.RIGHTOF)R.width=x?l.getMax(I.width,A.width):l.getMax(i.width/2+T.width/2,A.width+2*I.noteMargin),R.startx=_+(i.width+I.actorMargin)/2;else if(s.placement===o.db.PLACEMENT.LEFTOF)R.width=x?l.getMax(I.width,A.width+2*I.noteMargin):l.getMax(i.width/2+T.width/2,A.width+2*I.noteMargin),R.startx=_-R.width+(i.width-I.actorMargin)/2;else if(s.to===s.from)A=h.calculateTextDimensions(x?h.wrapLabel(s.message,l.getMax(I.width,i.width),Ft(I)):s.message,Ft(I)),R.width=x?l.getMax(I.width,i.width):l.getMax(i.width,I.width,A.width+2*I.noteMargin),R.startx=_+(i.width-R.width)/2;else R.width=Math.abs(_+i.width/2-(c+T.width/2))+I.actorMargin,R.startx=_<c?_+i.width/2-I.actorMargin/2:c+T.width/2-I.actorMargin/2;if(x)R.message=h.wrapLabel(s.message,R.width-2*I.wrapPadding,Ft(I));return t.debug(`NM:[${R.startx},${R.stopx},${R.starty},${R.stopy}:${R.width},${R.height}=${s.message}]`),R},"buildNoteModel"),sa=4,ia=6,ue=e(function(s,a){let{CENTRAL_CONNECTION:o,CENTRAL_CONNECTION_REVERSE:i,CENTRAL_CONNECTION_DUAL:T}=a.db.LINETYPE;return[o,i,T].includes(s.centralConnection)},"hasCentralConnection"),na=e(function(s,a,o){let{CENTRAL_CONNECTION_REVERSE:i,CENTRAL_CONNECTION_DUAL:T,BIDIRECTIONAL_SOLID:_,BIDIRECTIONAL_DOTTED:c}=a.db.LINETYPE,x=0;if(s.centralConnection===i||s.centralConnection===T)x+=sa;if((s.centralConnection===i||s.centralConnection===T)&&(s.type===_||s.type===c))x+=o?0:-ia;return x},"calculateCentralConnectionOffset"),or=e(function(s,a){let{SOLID_ARROW_TOP_REVERSE:o,SOLID_ARROW_TOP_REVERSE_DOTTED:i,SOLID_ARROW_BOTTOM_REVERSE:T,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:_,STICK_ARROW_TOP_REVERSE:c,STICK_ARROW_TOP_REVERSE_DOTTED:x,STICK_ARROW_BOTTOM_REVERSE:A,STICK_ARROW_BOTTOM_REVERSE_DOTTED:R}=a.db.LINETYPE;return[o,i,T,_,c,x,A,R].includes(s.type)},"isReverseArrowType"),oa=e(function(s,a){let{BIDIRECTIONAL_SOLID:o,BIDIRECTIONAL_DOTTED:i}=a.db.LINETYPE;return[o,i].includes(s.type)},"isBidirectionalArrowType"),ca=e(function(s,a,o){let{look:i}=r();if(![o.db.LINETYPE.SOLID_OPEN,o.db.LINETYPE.DOTTED_OPEN,o.db.LINETYPE.SOLID,o.db.LINETYPE.SOLID_TOP,o.db.LINETYPE.SOLID_BOTTOM,o.db.LINETYPE.STICK_TOP,o.db.LINETYPE.STICK_BOTTOM,o.db.LINETYPE.SOLID_TOP_DOTTED,o.db.LINETYPE.SOLID_BOTTOM_DOTTED,o.db.LINETYPE.STICK_TOP_DOTTED,o.db.LINETYPE.STICK_BOTTOM_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,o.db.LINETYPE.STICK_ARROW_TOP_REVERSE,o.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.DOTTED,o.db.LINETYPE.SOLID_CROSS,o.db.LINETYPE.DOTTED_CROSS,o.db.LINETYPE.SOLID_POINT,o.db.LINETYPE.DOTTED_POINT,o.db.LINETYPE.BIDIRECTIONAL_SOLID,o.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(s.type))return{};let[T,_]=Xe(s.from,a),[c,x]=Xe(s.to,a),A=T<=c,R=A?_:T,L=A?c:x;if(i==="neo"){if(s.type!==o.db.LINETYPE.SOLID_OPEN)L+=A?-3:3;if(s.type===o.db.LINETYPE.BIDIRECTIONAL_SOLID||s.type===o.db.LINETYPE.BIDIRECTIONAL_DOTTED)R+=A?3:-3}R+=na(s,o,A);let P=Math.abs(c-x)>2,S=e((N)=>A?-N:N,"adjustValue");if(s.from===s.to)L=R;else{if(s.activate&&!P)L+=S(I.activationWidth/2-1);if(![o.db.LINETYPE.SOLID_OPEN,o.db.LINETYPE.DOTTED_OPEN,o.db.LINETYPE.STICK_TOP,o.db.LINETYPE.STICK_BOTTOM,o.db.LINETYPE.STICK_TOP_DOTTED,o.db.LINETYPE.STICK_BOTTOM_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.STICK_ARROW_TOP_REVERSE,o.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,o.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(s.type))L+=S(3);if([o.db.LINETYPE.BIDIRECTIONAL_SOLID,o.db.LINETYPE.BIDIRECTIONAL_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(s.type))R-=S(3)}let V=[T,_,c,x],O=Math.abs(R-L);if(s.wrap&&s.message)s.message=h.wrapLabel(s.message,l.getMax(O+2*I.wrapPadding,I.width),Yt(I));let D=h.calculateTextDimensions(s.message,Yt(I));return{width:l.getMax(s.wrap?0:D.width+2*I.wrapPadding,O+2*I.wrapPadding,I.width),height:0,startx:R,stopx:L,starty:0,stopy:0,message:s.message,type:s.type,wrap:s.wrap,fromBounds:Math.min.apply(null,V),toBounds:Math.max.apply(null,V)}},"buildMessageModel"),la=e(async function(s,a,o,i){let T={},_=[],c,x,A;for(let R of s){switch(R.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:_.push({id:R.id,msg:R.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:if(R.message)c=_.pop(),T[c.id]=c,T[R.id]=c,_.push(c);break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:c=_.pop(),T[c.id]=c;break;case i.db.LINETYPE.ACTIVE_START:{let P=a.get(R.from?R.from:R.to.actor),S=se(R.from?R.from:R.to.actor).length,V=P.x+P.width/2+(S-1)*I.activationWidth/2,O={startx:V,stopx:V+I.activationWidth,actor:R.from,enabled:!0};B.activations.push(O)}break;case i.db.LINETYPE.ACTIVE_END:{let P=B.activations.map((S)=>S.actor).lastIndexOf(R.from);B.activations.splice(P,1).splice(0,1)}break}if(R.placement!==void 0)x=await aa(R,a,i),R.noteModel=x,_.forEach((P)=>{c=P,c.from=l.getMin(c.from,x.startx),c.to=l.getMax(c.to,x.startx+x.width),c.width=l.getMax(c.width,Math.abs(c.from-c.to))-I.labelBoxWidth});else if(A=ca(R,a,i),R.msgModel=A,A.startx&&A.stopx&&_.length>0)_.forEach((P)=>{if(c=P,A.startx===A.stopx){let S=a.get(R.from),V=a.get(R.to);c.from=l.getMin(S.x-A.width/2,S.x-S.width/2,c.from),c.to=l.getMax(V.x+A.width/2,V.x+S.width/2,c.to),c.width=l.getMax(c.width,Math.abs(c.to-c.from))-I.labelBoxWidth}else c.from=l.getMin(A.startx,c.from),c.to=l.getMax(A.stopx,c.to),c.width=l.getMax(c.width,A.width)-I.labelBoxWidth})}return B.activations=[],t.debug("Loop type widths:",T),T},"calculateLoopBounds"),ha={bounds:B,drawActors:ge,drawActorsPopup:rr,setConf:ar,draw:ea},Ia={parser:Er,get db(){return new xr},renderer:ha,styles:br,init:e((s)=>{if(!s.sequence)s.sequence={};if(s.wrap)s.sequence.wrap=s.wrap,gr({sequence:{wrap:s.wrap}})},"init")};export{Ia as diagram};
162
+ `;if(J.append("path").attr("d",tt),S==="neo")J.attr("filter","url(#drop-shadow)");let rt=E.get(a.name)??0;if(Nt.has(N))J.style("stroke",A[rt%A.length]),J.style("fill",P[rt%A.length]);else J.style("stroke",V);J.attr("transform",`translate(${Y}, ${z})`),a.rectData=k,kt(o,H(a.description))(a.description,D,k.x,k.y+35,k.width,k.height,{class:`actor ${re}`},o);let st=J.select("path:last-child");if(st.node()){let Tt=st.node().getBBox();a.height=Tt.height+(o.sequence.labelBoxHeight??0)}if(!i)D.attr("data-et","participant"),D.attr("data-type","database"),D.attr("data-id",a.name);return a.height},"drawActorTypeDatabase"),kr=e(function(s,a,o,i,E){let x=i?a.stopy:a.starty,c=a.x+a.width/2,I=x+80,N=22,O=s.append("g").lower(),{look:S,theme:P,themeVariables:A}=o,{bkgColorArray:V,borderColorArray:L,actorBorder:D}=A;if(!i)et++,O.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",I).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),a.actorCnt=et;let k=s.append("g"),C=Vt;if(i)C+=` ${Dt}`;else C+=` ${Pt}`;k.attr("class",C),k.attr("name",a.name);let Y=ne();if(Y.x=a.x,Y.y=x,Y.fill="#eaeaea",Y.width=a.width,Y.height=a.height,Y.class="actor",k.append("line").attr("id","actor-man-torso"+et).attr("x1",a.x+a.width/2-55).attr("y1",x+12).attr("x2",a.x+a.width/2-15).attr("y2",x+12),k.append("line").attr("id","actor-man-arms"+et).attr("x1",a.x+a.width/2-55).attr("y1",x+2).attr("x2",a.x+a.width/2-55).attr("y2",x+22),k.append("circle").attr("cx",a.x+a.width/2).attr("cy",x+12).attr("r",22),S==="neo")k.attr("filter","url(#drop-shadow)");let W=E.get(a.name)??0;if(Nt.has(P))k.style("stroke",L[W%L.length]),k.style("fill",V[W%L.length]);else k.style("stroke",D);let X=k.node().getBBox();if(a.height=X.height+(o.sequence.labelBoxHeight??0),kt(o,H(a.description))(a.description,k,Y.x,Y.y+15,Y.width,Y.height,{class:`actor ${Vt}`},o),k.attr("transform","translate(0,21)"),!i)k.attr("data-et","participant"),k.attr("data-type","boundary"),k.attr("data-id",a.name);return a.height},"drawActorTypeBoundary"),wr=e(function(s,a,o,i,E){let x=i?a.stopy:a.starty,c=a.x+a.width/2,I=x+80,{look:N,theme:O,themeVariables:S}=o,{bkgColorArray:P,borderColorArray:A,actorBorder:V}=S,L=s.append("g").lower();if(!i)et++,L.append("line").attr("id","actor"+et).attr("x1",c).attr("y1",I).attr("x2",c).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",a.name).attr("data-et","life-line").attr("data-id",a.name),a.actorCnt=et;let D=s.append("g"),k=Vt;if(i)k+=` ${Dt}`;else k+=` ${Pt}`;if(D.attr("class",k),D.attr("name",a.name),!i)D.attr("data-et","participant").attr("data-type","actor").attr("data-id",a.name);let C=N==="neo"?0.5:1,Y=N==="neo"?x+(1-C)*30:x;D.append("line").attr("id","actor-man-torso"+et).attr("x1",c).attr("y1",Y+25*C).attr("x2",c).attr("y2",Y+45*C),D.append("line").attr("id","actor-man-arms"+et).attr("x1",c-Bt/2*C).attr("y1",Y+33*C).attr("x2",c+Bt/2*C).attr("y2",Y+33*C),D.append("line").attr("x1",c-Bt/2*C).attr("y1",Y+60*C).attr("x2",c).attr("y2",Y+45*C),D.append("line").attr("x1",c).attr("y1",Y+45*C).attr("x2",c+(Bt/2-2)*C).attr("y2",Y+60*C);let W=D.append("circle");W.attr("cx",a.x+a.width/2),W.attr("cy",Y+10*C),W.attr("r",15*C),W.attr("width",a.width*C),W.attr("height",a.height*C);let X=D.node().getBBox();a.height=X.height;let z=ne();z.x=a.x,z.y=Y,z.fill="#eaeaea",z.width=a.width,z.height=a.height/C,z.class="actor",z.rx=3,z.ry=3;let J=E.get(a.name)??0;if(Nt.has(O))D.style("stroke",A[J%A.length]),D.style("fill",P[J%A.length]);else D.style("stroke",V);return kt(o,H(a.description))(a.description,D,z.x,Y+35*C-(N==="neo"?10:0),z.width,z.height,{class:`actor ${Vt}`},o),a.height},"drawActorTypeActor"),Pr=e(async function(s,a,o,i,E,x,c){let I=c??new Map([...x.db.getActors().values()].map((N,O)=>[N.name,O]));switch(a.type){case"actor":return await wr(s,a,o,i,I);case"participant":return await Rr(s,a,o,i,I);case"boundary":return await kr(s,a,o,i,I);case"control":return await Sr(s,a,o,i,E,I);case"entity":return await Ar(s,a,o,i,I);case"database":return await Nr(s,a,o,i,I);case"collections":return await Or(s,a,o,i,I);case"queue":return await Lr(s,a,o,i,I)}},"drawActor"),Dr=e(function(s,a,o){let E=s.append("g");if(je(E,a),a.name)kt(o)(a.name,E,a.x,a.y+o.boxTextMargin+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},o);E.lower()},"drawBox"),Cr=e(function(s){return s.append("g")},"anchorElement"),vr=e(function(s,a,o,i,E,x,c){let{theme:I,themeVariables:N}=i,{bkgColorArray:O,borderColorArray:S,mainBkg:P}=N,A=ne(),{anchored:V,actor:L}=a;A.x=a.startx,A.y=a.starty,A.class="activation"+E%3,A.width=a.stopx-a.startx,A.height=o-a.starty;let D=Gt(V,A),C=(c??new Map([...x.db.getActors().values()].map((Y,W)=>[Y.name,W]))).get(L)??0;if(Nt.has(I))D.style("stroke",S[C%S.length]),D.style("fill",O[C%S.length]??P)},"drawActivation"),Mr=e(async function(s,a,o,i,E){let{boxMargin:x,boxTextMargin:c,labelBoxHeight:I,labelBoxWidth:N,messageFontFamily:O,messageFontSize:S,messageFontWeight:P}=i,A=s.append("g").attr("data-et","control-structure").attr("data-id","i"+E.id),V=e(function(k,C,Y,W){return A.append("line").attr("x1",k).attr("y1",C).attr("x2",Y).attr("y2",W).attr("class","loopLine")},"drawLoopLine");if(V(a.startx,a.starty,a.stopx,a.starty),V(a.stopx,a.starty,a.stopx,a.stopy),V(a.startx,a.stopy,a.stopx,a.stopy),V(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0)a.sections.forEach(function(k){V(a.startx,k.y,a.stopx,k.y).style("stroke-dasharray","3, 3")});let L=In();L.text=o,L.x=a.startx,L.y=a.starty,L.fontFamily=O,L.fontSize=S,L.fontWeight=P,L.anchor="middle",L.valign="middle",L.tspan=!1,L.width=Math.max(N??0,50),L.height=I+(i.look==="neo"?15:0)||20,L.textMargin=c,L.class="labelText",Qe(A,L),L=tr(),L.text=a.title,L.x=a.startx+N/2+(a.stopx-a.startx)/2,L.y=a.starty+x+c,L.anchor="middle",L.valign="middle",L.textMargin=c,L.class="loopText",L.fontFamily=O,L.fontSize=S,L.fontWeight=P,L.wrap=!0;let D=H(L.text)?await ee(A,L,a):qt(A,L);if(a.sectionTitles!==void 0){for(let[k,C]of Object.entries(a.sectionTitles))if(C.message){if(L.text=C.message,L.x=a.startx+(a.stopx-a.startx)/2,L.y=a.sections[k].y+x+c,L.class="sectionTitle",L.anchor="middle",L.valign="middle",L.tspan=!1,L.fontFamily=O,L.fontSize=S,L.fontWeight=P,L.wrap=a.wrap,H(L.text))a.starty=a.sections[k].y,await ee(A,L,a);else qt(A,L);let Y=Math.round(D.map((W)=>(W._groups||W)[0][0].getBBox().height).reduce((W,X)=>W+X));a.sections[k].height+=Y-(x+c)}}return a.height=Math.round(a.stopy-a.starty),A},"drawLoop"),je=e(function(s,a){Br(s,a)},"drawBackgroundRect"),Vr=e(function(s,a){s.append("defs").append("symbol").attr("id",a+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),Yr=e(function(s,a){s.append("defs").append("symbol").attr("id",a+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Wr=e(function(s,a){s.append("defs").append("symbol").attr("id",a+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),Kr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),Fr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-filled-head").attr("refX",15.5).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")},"insertArrowFilledHead"),qr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),Hr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),zr=e(function(s,a){let{theme:o}=a;s.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${o==="redux"||o==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),tr=e(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),Ur=e(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),kt=function(){function s(x,c,I,N,O,S,P){let A=c.append("text").attr("x",I+O/2).attr("y",N+S/2+5).style("text-anchor","middle").text(x);E(A,P)}e(s,"byText");function a(x,c,I,N,O,S,P,A){let{actorFontSize:V,actorFontFamily:L,actorFontWeight:D}=A,[k,C]=he(V),Y=x.split(l.lineBreakRegex);for(let W=0;W<Y.length;W++){let X=W*k-k*(Y.length-1)/2,z=c.append("text").attr("x",I+O/2).attr("y",N).style("text-anchor","middle").style("font-size",C).style("font-weight",D).style("font-family",L);z.append("tspan").attr("x",I+O/2).attr("dy",X).text(Y[W]),z.attr("y",N+S/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),E(z,P)}}e(a,"byTspan");function o(x,c,I,N,O,S,P,A){let V=c.append("switch"),D=V.append("foreignObject").attr("x",I).attr("y",N).attr("width",O).attr("height",S).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");D.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(x),a(x,V,I,N,O,S,P,A),E(D,P)}e(o,"byFo");async function i(x,c,I,N,O,S,P,A){let V=await pr(x,u()),L=c.append("switch"),k=L.append("foreignObject").attr("x",I+O/2-V.width/2).attr("y",N+S/2-V.height/2).attr("width",V.width).attr("height",V.height).append("xhtml:div").style("height","100%").style("width","100%");k.append("div").style("text-align","center").style("vertical-align","middle").html(await mr(x,u())),a(x,L,I,N,O,S,P,A),E(k,P)}e(i,"byKatex");function E(x,c){for(let I in c)if(c.hasOwnProperty(I))x.attr(I,c[I])}return e(E,"_setTextAttrs"),function(x,c=!1){if(c)return i;return x.textPlacement==="fo"?o:x.textPlacement==="old"?s:a}}(),Gr=function(){function s(E,x,c,I,N,O,S){let P=x.append("text").attr("x",c).attr("y",I).style("text-anchor","start").text(E);i(P,S)}e(s,"byText");function a(E,x,c,I,N,O,S,P){let{actorFontSize:A,actorFontFamily:V,actorFontWeight:L}=P,D=E.split(l.lineBreakRegex);for(let k=0;k<D.length;k++){let C=k*A-A*(D.length-1)/2,Y=x.append("text").attr("x",c).attr("y",I).style("text-anchor","start").style("font-size",A).style("font-weight",L).style("font-family",V);Y.append("tspan").attr("x",c).attr("dy",C).text(D[k]),Y.attr("y",I+O/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(Y,S)}}e(a,"byTspan");function o(E,x,c,I,N,O,S,P){let A=x.append("switch"),L=A.append("foreignObject").attr("x",c).attr("y",I).attr("width",N).attr("height",O).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");L.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(E),a(E,A,c,I,N,O,S,P),i(L,S)}e(o,"byFo");function i(E,x){for(let c in x)if(x.hasOwnProperty(c))E.attr(c,x[c])}return e(i,"_setTextAttrs"),function(E){return E.textPlacement==="fo"?o:E.textPlacement==="old"?s:a}}(),Xr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-solidTopArrowHead").attr("refX",7.9).attr("refY",7.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 8 L 0 8 z")},"insertSolidTopArrowHead"),Qr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-solidBottomArrowHead").attr("refX",7.9).attr("refY",0.75).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 0 L 0 8 z")},"insertSolidBottomArrowHead"),Jr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-stickTopArrowHead").attr("refX",7.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 7 7").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickTopArrowHead"),Zr=e(function(s,a){s.append("defs").append("marker").attr("id",a+"-stickBottomArrowHead").attr("refX",7.5).attr("refY",0).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 7 L 7 0").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickBottomArrowHead"),ct={drawRect:Gt,drawText:qt,drawLabel:Qe,drawActor:Pr,drawBox:Dr,drawPopup:yr,anchorElement:Cr,drawActivation:vr,drawLoop:Mr,drawBackgroundRect:je,insertArrowHead:Kr,insertArrowFilledHead:Fr,insertSequenceNumber:qr,insertArrowCrossHead:Hr,insertDatabaseIcon:Vr,insertComputerIcon:Yr,insertClockIcon:Wr,getTextObj:tr,getNoteRect:Ur,fixLifeLineHeights:$e,sanitizeUrl:xe.sanitizeUrl,insertDropShadow:zr,insertSolidTopArrowHead:Xr,insertSolidBottomArrowHead:Qr,insertStickTopArrowHead:Jr,insertStickBottomArrowHead:Zr},y={},B={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:e(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map((s)=>s.height||0))+(this.loops.length===0?0:this.loops.map((s)=>s.height||0).reduce((s,a)=>s+a))+(this.messages.length===0?0:this.messages.map((s)=>s.height||0).reduce((s,a)=>s+a))+(this.notes.length===0?0:this.notes.map((s)=>s.height||0).reduce((s,a)=>s+a))},"getHeight"),clear:e(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:e(function(s){this.boxes.push(s)},"addBox"),addActor:e(function(s){this.actors.push(s)},"addActor"),addLoop:e(function(s){this.loops.push(s)},"addLoop"),addMessage:e(function(s){this.messages.push(s)},"addMessage"),addNote:e(function(s){this.notes.push(s)},"addNote"),lastActor:e(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:e(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:e(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:e(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:e(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ar(r())},"init"),updateVal:e(function(s,a,o,i){if(s[a]===void 0)s[a]=o;else s[a]=i(o,s[a])},"updateVal"),updateBounds:e(function(s,a,o,i){let E=this,x=0;function c(I){return e(function(O){x++;let S=E.sequenceItems.length-x+1;if(E.updateVal(O,"starty",a-S*y.boxMargin,Math.min),E.updateVal(O,"stopy",i+S*y.boxMargin,Math.max),E.updateVal(B.data,"startx",s-S*y.boxMargin,Math.min),E.updateVal(B.data,"stopx",o+S*y.boxMargin,Math.max),I!=="activation")E.updateVal(O,"startx",s-S*y.boxMargin,Math.min),E.updateVal(O,"stopx",o+S*y.boxMargin,Math.max),E.updateVal(B.data,"starty",a-S*y.boxMargin,Math.min),E.updateVal(B.data,"stopy",i+S*y.boxMargin,Math.max)},"updateItemBounds")}e(c,"updateFn"),this.sequenceItems.forEach(c()),this.activations.forEach(c("activation"))},"updateBounds"),insert:e(function(s,a,o,i){let E=l.getMin(s,o),x=l.getMax(s,o),c=l.getMin(a,i),I=l.getMax(a,i);this.updateVal(B.data,"startx",E,Math.min),this.updateVal(B.data,"starty",c,Math.min),this.updateVal(B.data,"stopx",x,Math.max),this.updateVal(B.data,"stopy",I,Math.max),this.updateBounds(E,c,x,I)},"insert"),newActivation:e(function(s,a,o){let i=o.get(s.from),E=se(s.from).length||0,x=i.x+i.width/2+(E-1)*y.activationWidth/2;this.activations.push({startx:x,starty:this.verticalPos+2,stopx:x+y.activationWidth,stopy:void 0,actor:s.from,anchored:ct.anchorElement(a)})},"newActivation"),endActivation:e(function(s){let a=this.activations.map(function(o){return o.actor}).lastIndexOf(s.from);return this.activations.splice(a,1)[0]},"endActivation"),createLoop:e(function(s={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:s.message,wrap:s.wrap,width:s.width,height:0,fill:a}},"createLoop"),newLoop:e(function(s={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(s,a))},"newLoop"),endLoop:e(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:e(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:e(function(s){let a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:B.getVerticalPos(),height:0}),a.sectionTitles.push(s),this.sequenceItems.push(a)},"addSectionToLoop"),saveVerticalPos:e(function(){if(this.isLoopOverlap())this.savedVerticalPos=this.verticalPos},"saveVerticalPos"),resetVerticalPos:e(function(){if(this.isLoopOverlap())this.verticalPos=this.savedVerticalPos},"resetVerticalPos"),bumpVerticalPos:e(function(s){this.verticalPos=this.verticalPos+s,this.data.stopy=l.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:e(function(){return this.verticalPos},"getVerticalPos"),getBounds:e(function(){return{bounds:this.data,models:this.models}},"getBounds")},$r=e(async function(s,a,o){B.bumpVerticalPos(y.boxMargin),a.height=y.boxMargin,a.starty=B.getVerticalPos();let i=ne();i.x=a.startx,i.y=a.starty,i.width=a.width||y.width,i.class="note";let E=s.append("g");E.attr("data-et","note"),E.attr("data-id","i"+o);let x=ct.drawRect(E,i),c=In();c.x=a.startx,c.y=a.starty,c.width=i.width,c.dy="1em",c.text=a.message,c.class="noteText",c.fontFamily=y.noteFontFamily,c.fontSize=y.noteFontSize,c.fontWeight=y.noteFontWeight,c.anchor=y.noteAlign,c.textMargin=y.noteMargin,c.valign="center";let I=H(c.text)?await ee(E,c):qt(E,c),N=Math.round(I.map((O)=>(O._groups||O)[0][0].getBBox().height).reduce((O,S)=>O+S));x.attr("height",N+2*y.noteMargin),a.height+=N+2*y.noteMargin,B.bumpVerticalPos(N+2*y.noteMargin),a.stopy=a.starty+N+2*y.noteMargin,a.stopx=a.startx+i.width,B.insert(a.startx,a.starty,a.stopx,a.stopy),B.models.addNote(a)},"drawNote"),Ge=e(function(s,a,o,i,E,x,c){let I=i.db.getActors(),N=I.get(a.from),O=I.get(a.to),S=o.sequenceVisible,P=N.x+N.width/2,A=O.x+O.width/2,V=P<=A,L=or(a,i),D=s.append("g"),k=16.5,C=e((J,tt)=>{let rt=J?k:-k;return tt?-rt:rt},"getCircleOffset"),Y=e((J)=>{D.append("circle").attr("cx",J).attr("cy",c).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:W,CENTRAL_CONNECTION_REVERSE:X,CENTRAL_CONNECTION_DUAL:z}=i.db.LINETYPE;if(S)switch(a.centralConnection){case W:if(L)A+=C(V,!0);break;case X:if(!L)P+=C(V,!1);break;case z:if(L)A+=C(V,!0);else P+=C(V,!1);break}switch(a.centralConnection){case W:Y(A);break;case X:Y(P);break;case z:Y(P),Y(A);break}},"drawCentralConnection"),Yt=e((s)=>({fontFamily:s.messageFontFamily,fontSize:s.messageFontSize,fontWeight:s.messageFontWeight}),"messageFont"),Ft=e((s)=>({fontFamily:s.noteFontFamily,fontSize:s.noteFontSize,fontWeight:s.noteFontWeight}),"noteFont"),_e=e((s)=>({fontFamily:s.actorFontFamily,fontSize:s.actorFontSize,fontWeight:s.actorFontWeight}),"actorFont");async function er(s,a){B.bumpVerticalPos(10);let{startx:o,stopx:i,message:E}=a,x=l.splitBreaks(E).length,c=H(E),I=c?await pr(E,r()):h.calculateTextDimensions(E,Yt(y));if(!c){let P=I.height/x;a.height+=P,B.bumpVerticalPos(P)}let N,O=I.height-10,S=I.width;if(o===i){if(N=B.getVerticalPos()+O,!y.rightAngles)O+=y.boxMargin,N=B.getVerticalPos()+O;O+=30;let P=l.getMax(S/2,y.width/2);B.insert(o-P,B.getVerticalPos()-10+O,i+P,B.getVerticalPos()+30+O)}else O+=y.boxMargin,N=B.getVerticalPos()+O,B.insert(o,N-10,i,N);return B.bumpVerticalPos(O),a.height+=O,a.stopy=a.starty+a.height,B.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),N}e(er,"boundMessage");var jr=e(async function(s,a,o,i,E,x){let{startx:c,stopx:I,starty:N,message:O,type:S,sequenceIndex:P,sequenceVisible:A}=a,V=h.calculateTextDimensions(O,Yt(y)),L=In();if(L.x=Math.min(c,I),L.y=N+10,L.width=Math.abs(I-c),L.class="messageText",L.dy="1em",L.text=O,L.fontFamily=y.messageFontFamily,L.fontSize=y.messageFontSize,L.fontWeight=y.messageFontWeight,L.anchor=y.messageAlign,L.valign="center",L.textMargin=y.wrapPadding,L.tspan=!1,H(L.text))await ee(s,L,{startx:c,stopx:I,starty:o});else qt(s,L);let D=V.width,k;if(c===I){let Y=A||y.showSequenceNumbers,W=or(E,i),X=oa(E,i),z=c+(Y&&(W||X)?10:0);if(y.rightAngles)k=s.append("path").attr("d",`M ${z},${o} H ${c+l.getMax(y.width/2,D/2)} V ${o+25} H ${c}`);else k=s.append("path").attr("d","M "+z+","+o+" C "+(z+60)+","+(o-10)+" "+(c+60)+","+(o+30)+" "+c+","+(o+20));if(ue(E,i))Ge(s,E,a,i,c,I,o)}else if(k=s.append("line"),k.attr("x1",c),k.attr("y1",o),k.attr("x2",I),k.attr("y2",o),ue(E,i))Ge(s,E,a,i,c,I,o);if(S===i.db.LINETYPE.DOTTED||S===i.db.LINETYPE.DOTTED_CROSS||S===i.db.LINETYPE.DOTTED_POINT||S===i.db.LINETYPE.DOTTED_OPEN||S===i.db.LINETYPE.BIDIRECTIONAL_DOTTED||S===i.db.LINETYPE.SOLID_TOP_DOTTED||S===i.db.LINETYPE.SOLID_BOTTOM_DOTTED||S===i.db.LINETYPE.STICK_TOP_DOTTED||S===i.db.LINETYPE.STICK_BOTTOM_DOTTED||S===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||S===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||S===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||S===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)k.style("stroke-dasharray","3, 3"),k.attr("class","messageLine1");else k.attr("class","messageLine0");k.attr("data-et","message"),k.attr("data-id","i"+a.id),k.attr("data-from",a.from),k.attr("data-to",a.to);let C="";if(y.arrowMarkerAbsolute)C=ht(!0);if(k.attr("stroke-width",2),k.attr("stroke","none"),k.style("fill","none"),S===i.db.LINETYPE.SOLID_TOP||S===i.db.LINETYPE.SOLID_TOP_DOTTED)k.attr("marker-end","url("+C+"#"+x+"-solidTopArrowHead)");if(S===i.db.LINETYPE.SOLID_BOTTOM||S===i.db.LINETYPE.SOLID_BOTTOM_DOTTED)k.attr("marker-end","url("+C+"#"+x+"-solidBottomArrowHead)");if(S===i.db.LINETYPE.STICK_TOP||S===i.db.LINETYPE.STICK_TOP_DOTTED)k.attr("marker-end","url("+C+"#"+x+"-stickTopArrowHead)");if(S===i.db.LINETYPE.STICK_BOTTOM||S===i.db.LINETYPE.STICK_BOTTOM_DOTTED)k.attr("marker-end","url("+C+"#"+x+"-stickBottomArrowHead)");if(S===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||S===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)k.attr("marker-start","url("+C+"#"+x+"-solidBottomArrowHead)");if(S===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||S===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)k.attr("marker-start","url("+C+"#"+x+"-solidTopArrowHead)");if(S===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE||S===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)k.attr("marker-start","url("+C+"#"+x+"-stickBottomArrowHead)");if(S===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||S===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)k.attr("marker-start","url("+C+"#"+x+"-stickTopArrowHead)");if(S===i.db.LINETYPE.SOLID||S===i.db.LINETYPE.DOTTED)k.attr("marker-end","url("+C+"#"+x+"-arrowhead)");if(S===i.db.LINETYPE.BIDIRECTIONAL_SOLID||S===i.db.LINETYPE.BIDIRECTIONAL_DOTTED)k.attr("marker-start","url("+C+"#"+x+"-arrowhead)"),k.attr("marker-end","url("+C+"#"+x+"-arrowhead)");if(S===i.db.LINETYPE.SOLID_POINT||S===i.db.LINETYPE.DOTTED_POINT)k.attr("marker-end","url("+C+"#"+x+"-filled-head)");if(S===i.db.LINETYPE.SOLID_CROSS||S===i.db.LINETYPE.DOTTED_CROSS)k.attr("marker-end","url("+C+"#"+x+"-crosshead)");if(A||y.showSequenceNumbers){let Y=S===i.db.LINETYPE.BIDIRECTIONAL_SOLID||S===i.db.LINETYPE.BIDIRECTIONAL_DOTTED,W=S===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||S===i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||S===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||S===i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||S===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE||S===i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||S===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||S===i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,X=6,z=ue(E,i),J=c,tt=I;if(Y){if(c<I)J=c+12;else J=c-6+(z?-5:0),J+=E?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_DUAL||E?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0;k.attr("x1",J)}else if(W){if(I>c)tt=I-12;else tt=I-6,J+=E?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_DUAL||E?.centralConnection===i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0;tt+=z?15:0,k.attr("x2",tt),k.attr("x1",J)}else k.attr("x1",c+6);let rt=0,st=c===I,Tt=c<=I;if(st)rt=a.fromBounds+1;else if(W)rt=Tt?a.toBounds-1:a.fromBounds+1;else rt=Tt?a.fromBounds+1:a.toBounds-1;let Et="12px",ut=P.toString().length;if(ut>5)Et="7px";else if(ut>3)Et="9px";s.append("line").attr("x1",rt).attr("y1",o).attr("x2",rt).attr("y2",o).attr("stroke-width",0).attr("marker-start","url("+C+"#"+x+"-sequencenumber)"),s.append("text").attr("x",rt).attr("y",o+4).attr("font-family","sans-serif").attr("font-size",Et).attr("text-anchor","middle").attr("class","sequenceNumber").text(P)}},"drawMessage"),ta=e(function(s,a,o,i,E,x,c){let I=0,N=0,O=void 0,S=0;for(let P of i){let A=a.get(P),V=A.box;if(O&&O!=V){if(!c)B.models.addBox(O);N+=y.boxMargin+O.margin}if(V&&V!=O){if(!c)V.x=I+N,V.y=E;N+=V.margin}if(A.width=l.getMax(A.width||y.width,y.width),A.height=l.getMax(A.height||y.height,y.height),A.margin=A.margin||y.actorMargin,S=l.getMax(S,A.height),o.get(A.name))N+=A.width/2;if(A.x=I+N,A.starty=B.getVerticalPos(),B.insert(A.x,E,A.x+A.width,A.height),I+=A.width+N,A.box)A.box.width=I+V.margin-A.box.x;N=A.margin,O=A.box,B.models.addActor(A)}if(O&&!c)B.models.addBox(O);B.bumpVerticalPos(S)},"addActorRenderingData"),ge=e(async function(s,a,o,i,E,x,c){if(!i)for(let I of o){let N=a.get(I);await ct.drawActor(s,N,y,!1,E,x,c)}else{let I=0;B.bumpVerticalPos(y.boxMargin*2);for(let N of o){let O=a.get(N);if(!O.stopy)O.stopy=B.getVerticalPos();let S=await ct.drawActor(s,O,y,!0,E,x,c);I=l.getMax(I,S)}B.bumpVerticalPos(I+y.boxMargin)}},"drawActors"),rr=e(function(s,a,o,i){let E=0,x=0;for(let c of o){let I=a.get(c),N=ra(I),O=ct.drawPopup(s,I,N,y,y.forceMenus,i);if(O.height>E)E=O.height;if(O.width+I.x>x)x=O.width+I.x}return{maxHeight:E,maxWidth:x}},"drawActorsPopup"),ar=e(function(s){if(F(y,s),s.fontFamily)y.actorFontFamily=y.noteFontFamily=y.messageFontFamily=s.fontFamily;if(s.fontSize)y.actorFontSize=y.noteFontSize=y.messageFontSize=s.fontSize;if(s.fontWeight)y.actorFontWeight=y.noteFontWeight=y.messageFontWeight=s.fontWeight},"setConf"),se=e(function(s){return B.activations.filter(function(a){return a.actor===s})},"actorActivations"),Xe=e(function(s,a){let o=a.get(s),i=se(s),E=i.reduce(function(c,I){return l.getMin(c,I.startx)},o.x+o.width/2-1),x=i.reduce(function(c,I){return l.getMax(c,I.stopx)},o.x+o.width/2+1);return[E,x]},"activationBounds");function St(s,a,o,i,E){B.bumpVerticalPos(o);let x=i;if(a.id&&a.message&&s[a.id]){let c=s[a.id].width,I=Yt(y);a.message=h.wrapLabel(`[${a.message}]`,c-2*y.wrapPadding,I),a.width=c,a.wrap=!0;let N=h.calculateTextDimensions(a.message,I),O=l.getMax(N.height,y.labelBoxHeight);x=i+O,t.debug(`${O} - ${a.message}`)}E(a),B.bumpVerticalPos(x)}e(St,"adjustLoopHeightForWrap");function sr(s,a,o,i,E,x,c){function I(S,P){if(S.x<E.get(s.from).x)B.insert(a.stopx-P,a.starty,a.startx,a.stopy+S.height/2+y.noteMargin),a.stopx=a.stopx+P;else B.insert(a.startx,a.starty,a.stopx+P,a.stopy+S.height/2+y.noteMargin),a.stopx=a.stopx-P}e(I,"receiverAdjustment");function N(S,P){if(S.x<E.get(s.to).x)B.insert(a.startx-P,a.starty,a.stopx,a.stopy+S.height/2+y.noteMargin),a.startx=a.startx+P;else B.insert(a.stopx,a.starty,a.startx+P,a.stopy+S.height/2+y.noteMargin),a.startx=a.startx-P}e(N,"senderAdjustment");let O=[te.ACTOR,te.CONTROL,te.ENTITY,te.DATABASE];if(x.get(s.to)==i){let S=E.get(s.to),P=O.includes(S.type)?Bt/2+3:S.width/2+3;I(S,P),S.starty=o-S.height/2,B.bumpVerticalPos(S.height/2)}else if(c.get(s.from)==i){let S=E.get(s.from);if(y.mirrorActors){let P=O.includes(S.type)?Bt/2:S.width/2;N(S,P)}S.stopy=o-S.height/2,B.bumpVerticalPos(S.height/2)}else if(c.get(s.to)==i){let S=E.get(s.to);if(y.mirrorActors){let P=O.includes(S.type)?Bt/2+3:S.width/2+3;I(S,P)}S.stopy=o-S.height/2,B.bumpVerticalPos(S.height/2)}}e(sr,"adjustCreatedDestroyedData");var ea=e(async function(s,a,o,i){let{securityLevel:E,sequence:x,look:c,themeVariables:I}=r();y=x;let N;if(E==="sandbox")N=n("#i"+a);let O=E==="sandbox"?n(N.nodes()[0].contentDocument.body):n("body"),S=E==="sandbox"?N.nodes()[0].contentDocument:document;B.init(),t.debug(i.db);let P=E==="sandbox"?O.select(`[id="${a}"]`):n(`[id="${a}"]`),A=i.db.getActors(),V=i.db.getCreatedActors(),L=i.db.getDestroyedActors(),D=i.db.getBoxes(),k=i.db.getActorKeys(),C=i.db.getMessages(),Y=i.db.getDiagramTitle(),W=i.db.hasAtLeastOneBox(),X=i.db.hasAtLeastOneBoxWithTitle(),z=await ir(A,C,i);if(y.height=await nr(A,z,D),ct.insertComputerIcon(P,a),ct.insertDatabaseIcon(P,a),ct.insertClockIcon(P,a),W){if(B.bumpVerticalPos(y.boxMargin),X)B.bumpVerticalPos(D[0].textMaxHeight)}if(y.hideUnusedParticipants===!0){let q=new Set;C.forEach((Q)=>{q.add(Q.from),q.add(Q.to)}),k=k.filter((Q)=>q.has(Q))}let J=new Map(k.map((q,Q)=>[A.get(q)?.name??q,Q]));ta(P,A,V,k,0,C,!1);let tt=await la(C,A,z,i);if(ct.insertArrowHead(P,a),ct.insertArrowCrossHead(P,a),ct.insertArrowFilledHead(P,a),ct.insertSequenceNumber(P,a),ct.insertSolidTopArrowHead(P,a),ct.insertSolidBottomArrowHead(P,a),ct.insertStickTopArrowHead(P,a),ct.insertStickBottomArrowHead(P,a),c==="neo")ct.insertDropShadow(P,y);function rt(q,Q){let mt=B.endActivation(q);if(mt.starty+18>Q)mt.starty=Q-6,Q+=12;ct.drawActivation(P,mt,Q,y,se(q.from).length,i,J),B.insert(mt.startx,Q-10,mt.stopx,Q)}e(rt,"activeEnd");let st=1,Tt=1,Et=[],ut=[],yt=0;for(let q of C){let Q,mt,It;switch(q.type){case i.db.LINETYPE.NOTE:B.resetVerticalPos(),mt=q.noteModel,await $r(P,mt,q.id);break;case i.db.LINETYPE.ACTIVE_START:B.newActivation(q,P,A);break;case i.db.LINETYPE.CENTRAL_CONNECTION:B.newActivation(q,P,A);break;case i.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:B.newActivation(q,P,A);break;case i.db.LINETYPE.ACTIVE_END:rt(q,B.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:St(tt,q,y.boxMargin,y.boxMargin+y.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.LOOP_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"loop",y,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.RECT_START:St(tt,q,y.boxMargin,y.boxMargin,(it)=>{let Wt=it.message;if(!Wt)Wt=I?.rectBkgColor||I?.actorBkg||"rgba(128, 128, 128, 0.5)";B.newLoop(void 0,Wt)});break;case i.db.LINETYPE.RECT_END:Q=B.endLoop(),ut.push(Q),B.models.addLoop(Q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos());break;case i.db.LINETYPE.OPT_START:St(tt,q,y.boxMargin,y.boxMargin+y.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.OPT_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"opt",y,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.ALT_START:St(tt,q,y.boxMargin,y.boxMargin+y.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.ALT_ELSE:St(tt,q,y.boxMargin+y.boxTextMargin,y.boxMargin,(it)=>B.addSectionToLoop(it));break;case i.db.LINETYPE.ALT_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"alt",y,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:St(tt,q,y.boxMargin,y.boxMargin+y.boxTextMargin,(it)=>B.newLoop(it)),B.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:St(tt,q,y.boxMargin+y.boxTextMargin,y.boxMargin,(it)=>B.addSectionToLoop(it));break;case i.db.LINETYPE.PAR_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"par",y,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.AUTONUMBER:if(st=q.message.start||st,Tt=q.message.step||Tt,q.message.visible)i.db.enableSequenceNumbers();else i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:St(tt,q,y.boxMargin,y.boxMargin+y.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.CRITICAL_OPTION:St(tt,q,y.boxMargin+y.boxTextMargin,y.boxMargin,(it)=>B.addSectionToLoop(it));break;case i.db.LINETYPE.CRITICAL_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"critical",y,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;case i.db.LINETYPE.BREAK_START:St(tt,q,y.boxMargin,y.boxMargin+y.boxTextMargin,(it)=>B.newLoop(it));break;case i.db.LINETYPE.BREAK_END:Q=B.endLoop(),await ct.drawLoop(P,Q,"break",y,q),B.bumpVerticalPos(Q.stopy-B.getVerticalPos()),B.models.addLoop(Q);break;default:try{It=q.msgModel,It.starty=B.getVerticalPos(),It.sequenceIndex=st,It.sequenceVisible=i.db.showSequenceNumbers(),It.id=q.id,It.from=q.from,It.to=q.to;let it=await er(P,It);sr(q,It,it,yt,A,V,L),Et.push({messageModel:It,lineStartY:it,msg:q}),B.models.addMessage(It)}catch(it){t.error("error while drawing message",it)}}if([i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.SOLID_TOP,i.db.LINETYPE.SOLID_BOTTOM,i.db.LINETYPE.STICK_TOP,i.db.LINETYPE.STICK_BOTTOM,i.db.LINETYPE.SOLID_TOP_DOTTED,i.db.LINETYPE.SOLID_BOTTOM_DOTTED,i.db.LINETYPE.STICK_TOP_DOTTED,i.db.LINETYPE.STICK_BOTTOM_DOTTED,i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,i.db.LINETYPE.STICK_ARROW_TOP_REVERSE,i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,i.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,i.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,i.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,i.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT,i.db.LINETYPE.BIDIRECTIONAL_SOLID,i.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(q.type))st=Math.round((st+Tt)*100)/100;yt++}t.debug("createdActors",V),t.debug("destroyedActors",L),await ge(P,A,k,!1,a,i,J);for(let q of Et)await jr(P,q.messageModel,q.lineStartY,i,q.msg,a);if(y.mirrorActors)await ge(P,A,k,!0,a,i,J);ut.forEach((q)=>ct.drawBackgroundRect(P,q)),$e(P,A,k,y);for(let q of B.models.boxes){q.height=B.getVerticalPos()-q.y,B.insert(q.x,q.y,q.x+q.width,q.height);let Q=y.boxMargin*2;q.startx=q.x-Q,q.starty=q.y-Q*0.25,q.stopx=q.startx+q.width+2*Q,q.stopy=q.starty+q.height+Q*0.75,q.stroke="rgb(0,0,0, 0.5)",ct.drawBox(P,q,y)}if(W)B.bumpVerticalPos(y.boxMargin);let gt=rr(P,A,k,S),{bounds:lt}=B.getBounds();if(lt.startx===void 0)lt.startx=0;if(lt.starty===void 0)lt.starty=0;if(lt.stopx===void 0)lt.stopx=0;if(lt.stopy===void 0)lt.stopy=0;let bt=lt.stopy-lt.starty;if(bt<gt.maxHeight)bt=gt.maxHeight;let xt=bt+2*y.diagramMarginY;if(y.mirrorActors)xt=xt-y.boxMargin+y.bottomMarginAdj;let at=lt.stopx-lt.startx;if(at<gt.maxWidth)at=gt.maxWidth;let j=at+2*y.diagramMarginX;if(Y)P.append("text").text(Y).attr("x",(lt.stopx-lt.startx)/2-2*y.diagramMarginX).attr("y",-25);T(P,xt,j,y.useMaxWidth);let Ht=Y?40:0,Xt=A.size&&c==="neo"?30:0;P.attr("viewBox",lt.startx-y.diagramMarginX+" -"+(y.diagramMarginY+Ht)+" "+j+" "+(xt+Ht+Xt)),t.debug("models:",B.models)},"draw");async function ir(s,a,o){let i={};for(let E of a)if(s.get(E.to)&&s.get(E.from)){let x=s.get(E.to);if(E.placement===o.db.PLACEMENT.LEFTOF&&!x.prevActor)continue;if(E.placement===o.db.PLACEMENT.RIGHTOF&&!x.nextActor)continue;let c=E.placement!==void 0,I=!c,N=c?Ft(y):Yt(y),O=E.wrap?h.wrapLabel(E.message,y.width-2*y.wrapPadding,N):E.message,P=(H(O)?await pr(E.message,r()):h.calculateTextDimensions(O,N)).width+2*y.wrapPadding;if(I&&E.from===x.nextActor)i[E.to]=l.getMax(i[E.to]||0,P);else if(I&&E.from===x.prevActor)i[E.from]=l.getMax(i[E.from]||0,P);else if(I&&E.from===E.to)i[E.from]=l.getMax(i[E.from]||0,P/2),i[E.to]=l.getMax(i[E.to]||0,P/2);else if(E.placement===o.db.PLACEMENT.RIGHTOF)i[E.from]=l.getMax(i[E.from]||0,P);else if(E.placement===o.db.PLACEMENT.LEFTOF)i[x.prevActor]=l.getMax(i[x.prevActor]||0,P);else if(E.placement===o.db.PLACEMENT.OVER){if(x.prevActor)i[x.prevActor]=l.getMax(i[x.prevActor]||0,P/2);if(x.nextActor)i[E.from]=l.getMax(i[E.from]||0,P/2)}}return t.debug("maxMessageWidthPerActor:",i),i}e(ir,"getMaxMessageWidthPerActor");var ra=e(function(s){let a=0,o=_e(y);for(let i in s.links){let x=h.calculateTextDimensions(i,o).width+2*y.wrapPadding+2*y.boxMargin;if(a<x)a=x}return a},"getRequiredPopupWidth");async function nr(s,a,o){let i=0;for(let x of s.keys()){let c=s.get(x);if(c.wrap)c.description=h.wrapLabel(c.description,y.width-2*y.wrapPadding,_e(y));let I=H(c.description)?await pr(c.description,r()):h.calculateTextDimensions(c.description,_e(y));c.width=c.wrap?y.width:l.getMax(y.width,I.width+2*y.wrapPadding),c.height=c.wrap?l.getMax(I.height,y.height):y.height,i=l.getMax(i,c.height)}for(let x in a){let c=s.get(x);if(!c)continue;let I=s.get(c.nextActor);if(!I){let P=a[x]+y.actorMargin-c.width/2;c.margin=l.getMax(P,y.actorMargin);continue}let O=a[x]+y.actorMargin-c.width/2-I.width/2;c.margin=l.getMax(O,y.actorMargin)}let E=0;return o.forEach((x)=>{let c=Yt(y),I=x.actorKeys.reduce((P,A)=>P+=s.get(A).width+(s.get(A).margin||0),0),N=y.boxMargin*8;if(I+=N,I-=2*y.boxTextMargin,x.wrap)x.name=h.wrapLabel(x.name,I-2*y.wrapPadding,c);let O=h.calculateTextDimensions(x.name,c);E=l.getMax(O.height,E);let S=l.getMax(I,O.width+2*y.wrapPadding);if(x.margin=y.boxTextMargin,I<S){let P=(S-I)/2;x.margin+=P}}),o.forEach((x)=>x.textMaxHeight=E),l.getMax(i,y.height)}e(nr,"calculateActorMargins");var aa=e(async function(s,a,o){let i=a.get(s.from),E=a.get(s.to),x=i.x,c=E.x,I=s.wrap&&s.message,N=H(s.message)?await pr(s.message,r()):h.calculateTextDimensions(I?h.wrapLabel(s.message,y.width,Ft(y)):s.message,Ft(y)),O={width:I?y.width:l.getMax(y.width,N.width+2*y.noteMargin),height:0,startx:i.x,stopx:0,starty:0,stopy:0,message:s.message};if(s.placement===o.db.PLACEMENT.RIGHTOF)O.width=I?l.getMax(y.width,N.width):l.getMax(i.width/2+E.width/2,N.width+2*y.noteMargin),O.startx=x+(i.width+y.actorMargin)/2;else if(s.placement===o.db.PLACEMENT.LEFTOF)O.width=I?l.getMax(y.width,N.width+2*y.noteMargin):l.getMax(i.width/2+E.width/2,N.width+2*y.noteMargin),O.startx=x-O.width+(i.width-y.actorMargin)/2;else if(s.to===s.from)N=h.calculateTextDimensions(I?h.wrapLabel(s.message,l.getMax(y.width,i.width),Ft(y)):s.message,Ft(y)),O.width=I?l.getMax(y.width,i.width):l.getMax(i.width,y.width,N.width+2*y.noteMargin),O.startx=x+(i.width-O.width)/2;else O.width=Math.abs(x+i.width/2-(c+E.width/2))+y.actorMargin,O.startx=x<c?x+i.width/2-y.actorMargin/2:c+E.width/2-y.actorMargin/2;if(I)O.message=h.wrapLabel(s.message,O.width-2*y.wrapPadding,Ft(y));return t.debug(`NM:[${O.startx},${O.stopx},${O.starty},${O.stopy}:${O.width},${O.height}=${s.message}]`),O},"buildNoteModel"),sa=4,ia=6,ue=e(function(s,a){let{CENTRAL_CONNECTION:o,CENTRAL_CONNECTION_REVERSE:i,CENTRAL_CONNECTION_DUAL:E}=a.db.LINETYPE;return[o,i,E].includes(s.centralConnection)},"hasCentralConnection"),na=e(function(s,a,o){let{CENTRAL_CONNECTION_REVERSE:i,CENTRAL_CONNECTION_DUAL:E,BIDIRECTIONAL_SOLID:x,BIDIRECTIONAL_DOTTED:c}=a.db.LINETYPE,I=0;if(s.centralConnection===i||s.centralConnection===E)I+=sa;if((s.centralConnection===i||s.centralConnection===E)&&(s.type===x||s.type===c))I+=o?0:-ia;return I},"calculateCentralConnectionOffset"),or=e(function(s,a){let{SOLID_ARROW_TOP_REVERSE:o,SOLID_ARROW_TOP_REVERSE_DOTTED:i,SOLID_ARROW_BOTTOM_REVERSE:E,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:x,STICK_ARROW_TOP_REVERSE:c,STICK_ARROW_TOP_REVERSE_DOTTED:I,STICK_ARROW_BOTTOM_REVERSE:N,STICK_ARROW_BOTTOM_REVERSE_DOTTED:O}=a.db.LINETYPE;return[o,i,E,x,c,I,N,O].includes(s.type)},"isReverseArrowType"),oa=e(function(s,a){let{BIDIRECTIONAL_SOLID:o,BIDIRECTIONAL_DOTTED:i}=a.db.LINETYPE;return[o,i].includes(s.type)},"isBidirectionalArrowType"),ca=e(function(s,a,o){let{look:i}=r();if(![o.db.LINETYPE.SOLID_OPEN,o.db.LINETYPE.DOTTED_OPEN,o.db.LINETYPE.SOLID,o.db.LINETYPE.SOLID_TOP,o.db.LINETYPE.SOLID_BOTTOM,o.db.LINETYPE.STICK_TOP,o.db.LINETYPE.STICK_BOTTOM,o.db.LINETYPE.SOLID_TOP_DOTTED,o.db.LINETYPE.SOLID_BOTTOM_DOTTED,o.db.LINETYPE.STICK_TOP_DOTTED,o.db.LINETYPE.STICK_BOTTOM_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,o.db.LINETYPE.STICK_ARROW_TOP_REVERSE,o.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.DOTTED,o.db.LINETYPE.SOLID_CROSS,o.db.LINETYPE.DOTTED_CROSS,o.db.LINETYPE.SOLID_POINT,o.db.LINETYPE.DOTTED_POINT,o.db.LINETYPE.BIDIRECTIONAL_SOLID,o.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(s.type))return{};let[E,x]=Xe(s.from,a),[c,I]=Xe(s.to,a),N=E<=c,O=N?x:E,S=N?c:I;if(i==="neo"){if(s.type!==o.db.LINETYPE.SOLID_OPEN)S+=N?-3:3;if(s.type===o.db.LINETYPE.BIDIRECTIONAL_SOLID||s.type===o.db.LINETYPE.BIDIRECTIONAL_DOTTED)O+=N?3:-3}O+=na(s,o,N);let P=Math.abs(c-I)>2,A=e((k)=>N?-k:k,"adjustValue");if(s.from===s.to)S=O;else{if(s.activate&&!P)S+=A(y.activationWidth/2-1);if(![o.db.LINETYPE.SOLID_OPEN,o.db.LINETYPE.DOTTED_OPEN,o.db.LINETYPE.STICK_TOP,o.db.LINETYPE.STICK_BOTTOM,o.db.LINETYPE.STICK_TOP_DOTTED,o.db.LINETYPE.STICK_BOTTOM_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.STICK_ARROW_TOP_REVERSE,o.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,o.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(s.type))S+=A(3);if([o.db.LINETYPE.BIDIRECTIONAL_SOLID,o.db.LINETYPE.BIDIRECTIONAL_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,o.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,o.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(s.type))O-=A(3)}let V=[E,x,c,I],L=Math.abs(O-S);if(s.wrap&&s.message)s.message=h.wrapLabel(s.message,l.getMax(L+2*y.wrapPadding,y.width),Yt(y));let D=h.calculateTextDimensions(s.message,Yt(y));return{width:l.getMax(s.wrap?0:D.width+2*y.wrapPadding,L+2*y.wrapPadding,y.width),height:0,startx:O,stopx:S,starty:0,stopy:0,message:s.message,type:s.type,wrap:s.wrap,fromBounds:Math.min.apply(null,V),toBounds:Math.max.apply(null,V)}},"buildMessageModel"),la=e(async function(s,a,o,i){let E={},x=[],c,I,N;for(let O of s){switch(O.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:x.push({id:O.id,msg:O.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:if(O.message)c=x.pop(),E[c.id]=c,E[O.id]=c,x.push(c);break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:c=x.pop(),E[c.id]=c;break;case i.db.LINETYPE.ACTIVE_START:{let P=a.get(O.from?O.from:O.to.actor),A=se(O.from?O.from:O.to.actor).length,V=P.x+P.width/2+(A-1)*y.activationWidth/2,L={startx:V,stopx:V+y.activationWidth,actor:O.from,enabled:!0};B.activations.push(L)}break;case i.db.LINETYPE.ACTIVE_END:{let P=B.activations.map((A)=>A.actor).lastIndexOf(O.from);B.activations.splice(P,1).splice(0,1)}break}if(O.placement!==void 0)I=await aa(O,a,i),O.noteModel=I,x.forEach((P)=>{c=P,c.from=l.getMin(c.from,I.startx),c.to=l.getMax(c.to,I.startx+I.width),c.width=l.getMax(c.width,Math.abs(c.from-c.to))-y.labelBoxWidth});else if(N=ca(O,a,i),O.msgModel=N,N.startx&&N.stopx&&x.length>0)x.forEach((P)=>{if(c=P,N.startx===N.stopx){let A=a.get(O.from),V=a.get(O.to);c.from=l.getMin(A.x-N.width/2,A.x-A.width/2,c.from),c.to=l.getMax(V.x+N.width/2,V.x+A.width/2,c.to),c.width=l.getMax(c.width,Math.abs(c.to-c.from))-y.labelBoxWidth}else c.from=l.getMin(N.startx,c.from),c.to=l.getMax(N.stopx,c.to),c.width=l.getMax(c.width,N.width)-y.labelBoxWidth})}return B.activations=[],t.debug("Loop type widths:",E),E},"calculateLoopBounds"),ha={bounds:B,drawActors:ge,drawActorsPopup:rr,setConf:ar,draw:ea},Ia={parser:Er,get db(){return new xr},renderer:ha,styles:br,init:e((s)=>{if(!s.sequence)s.sequence={};if(s.wrap)s.sequence.wrap=s.wrap,gr({sequence:{wrap:s.wrap}})},"init")};export{Ia as diagram};