@cagent/chat-embedding-core 0.0.12 → 0.0.14

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 (317) hide show
  1. package/.env +6 -0
  2. package/README.md +213 -213
  3. package/bun.lock +1548 -1548
  4. package/dist/abnfDiagram-VRR7QNED-3cfb3856.js +1 -0
  5. package/dist/abnfDiagram-VRR7QNED-686410b0.js +1 -0
  6. package/dist/abnfDiagram-VRR7QNED-fb22812d.js +1 -0
  7. package/dist/api/chatRoom.d.ts.map +1 -0
  8. package/dist/arc-24dd4755.js +1 -0
  9. package/dist/arc-5d6257cf.js +1 -0
  10. package/dist/arc-90e71e7e.js +1 -0
  11. package/dist/architecture-TIHT7OUA-a997f441.js +1 -0
  12. package/dist/architecture-TIHT7OUA-faa1f9b3.js +1 -0
  13. package/dist/architectureDiagram-ZJ3FMSHR-87443299.js +1 -0
  14. package/dist/architectureDiagram-ZJ3FMSHR-93988e41.js +1 -0
  15. package/dist/architectureDiagram-ZJ3FMSHR-bde2dd21.js +1 -0
  16. package/dist/blockDiagram-677ZJIJ3-25a94a47.js +1 -0
  17. package/dist/blockDiagram-677ZJIJ3-88bd543c.js +1 -0
  18. package/dist/blockDiagram-677ZJIJ3-c769a3c8.js +1 -0
  19. package/dist/c4Diagram-LMCZKHZV-763880d7.js +1 -0
  20. package/dist/c4Diagram-LMCZKHZV-d7fc839e.js +1 -0
  21. package/dist/c4Diagram-LMCZKHZV-da04a76e.js +1 -0
  22. package/dist/channel-11d3f4bc.js +1 -0
  23. package/dist/channel-534c2e17.js +1 -0
  24. package/dist/channel-c3cf6060.js +1 -0
  25. package/dist/chunk-2Q5K7J3B-2892df89.js +1 -0
  26. package/dist/chunk-2Q5K7J3B-7960ff8e.js +1 -0
  27. package/dist/chunk-2Q5K7J3B-9497bf31.js +1 -0
  28. package/dist/chunk-32BRIVSS-10123eba.js +1 -0
  29. package/dist/chunk-32BRIVSS-10ac68f7.js +1 -0
  30. package/dist/chunk-32BRIVSS-8a8507a2.js +1 -0
  31. package/dist/chunk-5VM5RSS4-36b32f6e.js +1 -0
  32. package/dist/chunk-5VM5RSS4-4b2efd20.js +1 -0
  33. package/dist/chunk-5VM5RSS4-5fc85a49.js +1 -0
  34. package/dist/chunk-EX3LRPZG-36494b87.js +1 -0
  35. package/dist/chunk-EX3LRPZG-6cd1f2fa.js +1 -0
  36. package/dist/chunk-EX3LRPZG-7ac6d0d7.js +1 -0
  37. package/dist/chunk-JWPE2WC7-15a55950.js +1 -0
  38. package/dist/chunk-JWPE2WC7-84faee3d.js +1 -0
  39. package/dist/chunk-JWPE2WC7-e2521b1e.js +1 -0
  40. package/dist/chunk-MOJQB5TN-47f0392f.js +1 -0
  41. package/dist/chunk-MOJQB5TN-5cc2e61b.js +1 -0
  42. package/dist/chunk-MOJQB5TN-ea88675c.js +1 -0
  43. package/dist/chunk-PUDLZKDR-057ec46a.js +1 -0
  44. package/dist/chunk-PUDLZKDR-53309be9.js +1 -0
  45. package/dist/chunk-PUDLZKDR-6de50ada.js +1 -0
  46. package/dist/chunk-RYQCIY6F-06b096c5.js +1 -0
  47. package/dist/chunk-RYQCIY6F-453400cd.js +1 -0
  48. package/dist/chunk-RYQCIY6F-8de649c8.js +1 -0
  49. package/dist/chunk-V7JOEXUC-4083766f.js +1 -0
  50. package/dist/chunk-V7JOEXUC-4e8d7729.js +1 -0
  51. package/dist/chunk-V7JOEXUC-bb2df9b0.js +1 -0
  52. package/dist/chunk-VR4S4FIN-5feb7571.js +1 -0
  53. package/dist/chunk-VR4S4FIN-9df47127.js +1 -0
  54. package/dist/chunk-VR4S4FIN-c4f2681d.js +1 -0
  55. package/dist/chunk-XXDRQBXY-3c9d8bf9.js +1 -0
  56. package/dist/chunk-XXDRQBXY-de00e988.js +1 -0
  57. package/dist/chunk-XXDRQBXY-f923ffed.js +1 -0
  58. package/dist/classDiagram-OUVF2IWQ-5cdf5fe6.js +1 -0
  59. package/dist/classDiagram-OUVF2IWQ-d51bd736.js +1 -0
  60. package/dist/classDiagram-OUVF2IWQ-fc2b54d6.js +1 -0
  61. package/dist/classDiagram-v2-EOCWNBFH-5cdf5fe6.js +1 -0
  62. package/dist/classDiagram-v2-EOCWNBFH-d51bd736.js +1 -0
  63. package/dist/classDiagram-v2-EOCWNBFH-fc2b54d6.js +1 -0
  64. package/dist/components/Badge.d.ts.map +1 -0
  65. package/dist/components/Bot.d.ts.map +1 -0
  66. package/dist/components/FeedbackContentDialog.d.ts.map +1 -0
  67. package/dist/components/RoomReconnectAlert.d.ts.map +1 -0
  68. package/dist/components/Toast.d.ts.map +1 -0
  69. package/dist/components/TypingBubble.d.ts.map +1 -0
  70. package/dist/components/avatars/Avatar.d.ts.map +1 -0
  71. package/dist/components/avatars/DefaultAvatar.d.ts.map +1 -0
  72. package/dist/components/bubbles/AgentReasoningBubble.d.ts.map +1 -0
  73. package/dist/components/bubbles/BotBubble.d.ts.map +1 -0
  74. package/dist/components/bubbles/ChartBubble.d.ts.map +1 -0
  75. package/dist/components/bubbles/ChartLoadingPlaceholder.d.ts.map +1 -0
  76. package/dist/components/bubbles/ChartPlaceholder.d.ts.map +1 -0
  77. package/dist/components/bubbles/ChartPopupModal.d.ts.map +1 -0
  78. package/dist/components/bubbles/FollowUpPromptBubble.d.ts.map +1 -0
  79. package/dist/components/bubbles/GuestBubble.d.ts.map +1 -0
  80. package/dist/components/bubbles/LeadCaptureBubble.d.ts.map +1 -0
  81. package/dist/components/bubbles/LoadingBubble.d.ts.map +1 -0
  82. package/dist/components/bubbles/SourceBubble.d.ts.map +1 -0
  83. package/dist/components/bubbles/StableChartWrapper.d.ts.map +1 -0
  84. package/dist/components/bubbles/StarterPromptBubble.d.ts.map +1 -0
  85. package/dist/components/buttons/AttachmentUploadButton.d.ts.map +1 -0
  86. package/dist/components/buttons/CancelButton.d.ts.map +1 -0
  87. package/dist/components/buttons/CopyMessageButton.d.ts.map +1 -0
  88. package/dist/components/buttons/EditMessageButton.d.ts.map +1 -0
  89. package/dist/components/buttons/FeedbackButtons.d.ts.map +1 -0
  90. package/dist/components/buttons/ImageUploadButton.d.ts.map +1 -0
  91. package/dist/components/buttons/LeadCaptureButtons.d.ts.map +1 -0
  92. package/dist/components/buttons/PopupToast.d.ts.map +1 -0
  93. package/dist/components/buttons/RecordAudioButton.d.ts.map +1 -0
  94. package/dist/components/buttons/SendButton.d.ts.map +1 -0
  95. package/dist/components/dialogs/EditMessageDialog.d.ts.map +1 -0
  96. package/dist/components/icons/AddImageIcon.d.ts.map +1 -0
  97. package/dist/components/icons/AttachmentIcon.d.ts.map +1 -0
  98. package/dist/components/icons/CheckIcon.d.ts.map +1 -0
  99. package/dist/components/icons/CircleDotIcon.d.ts.map +1 -0
  100. package/dist/components/icons/ClipboardIcon.d.ts.map +1 -0
  101. package/dist/components/icons/CopyIcon.d.ts.map +1 -0
  102. package/dist/components/icons/DeleteIcon.d.ts.map +1 -0
  103. package/dist/components/icons/EditIcon.d.ts.map +1 -0
  104. package/dist/components/icons/FullScreenIcon.d.ts.map +1 -0
  105. package/dist/components/icons/RecordIcon.d.ts.map +1 -0
  106. package/dist/components/icons/ResetZoomIcon.d.ts.map +1 -0
  107. package/dist/components/icons/SendIcon.d.ts.map +1 -0
  108. package/dist/components/icons/SparklesIcon.d.ts.map +1 -0
  109. package/dist/components/icons/StopIcon.d.ts.map +1 -0
  110. package/dist/components/icons/ThumbsDownIcon.d.ts.map +1 -0
  111. package/dist/components/icons/ThumbsUpIcon.d.ts.map +1 -0
  112. package/dist/components/icons/TickIcon.d.ts.map +1 -0
  113. package/dist/components/icons/TrashIcon.d.ts.map +1 -0
  114. package/dist/components/icons/XIcon.d.ts.map +1 -0
  115. package/dist/components/icons/ZoomInIcon.d.ts.map +1 -0
  116. package/dist/components/icons/ZoomOutIcon.d.ts.map +1 -0
  117. package/dist/components/icons/index.d.ts.map +1 -0
  118. package/dist/components/image/PreviewImage.d.ts.map +1 -0
  119. package/dist/components/index.d.ts.map +1 -0
  120. package/dist/components/inputs/textInput/components/FilePreview.d.ts.map +1 -0
  121. package/dist/components/inputs/textInput/components/ShortTextInput.d.ts.map +1 -0
  122. package/dist/components/inputs/textInput/components/TextInput.d.ts.map +1 -0
  123. package/dist/components/inputs/textInput/index.d.ts.map +1 -0
  124. package/dist/constants.d.ts.map +1 -0
  125. package/dist/cose-bilkent-JH36ORCC-ac4d2e28.js +1 -0
  126. package/dist/cose-bilkent-JH36ORCC-c3560feb.js +1 -0
  127. package/dist/cose-bilkent-JH36ORCC-f0ddc3e7.js +1 -0
  128. package/dist/cynefin-VYW2F7L2-2458ad91.js +1 -0
  129. package/dist/cynefin-VYW2F7L2-a8648cf6.js +1 -0
  130. package/dist/cynefinDiagram-TSTJHNR4-62a29383.js +1 -0
  131. package/dist/cynefinDiagram-TSTJHNR4-910b3dfd.js +1 -0
  132. package/dist/cynefinDiagram-TSTJHNR4-deb0bb2c.js +1 -0
  133. package/dist/cytoscape.esm-56d2239f.js +1 -0
  134. package/dist/cytoscape.esm-c9352dc8.js +1 -0
  135. package/dist/dagre-VKFMJZFB-1467d0af.js +1 -0
  136. package/dist/dagre-VKFMJZFB-35daad97.js +1 -0
  137. package/dist/dagre-VKFMJZFB-c5b9a4a0.js +1 -0
  138. package/dist/defaultLocale-b4977250.js +1 -0
  139. package/dist/defaultLocale-e35a4def.js +1 -0
  140. package/dist/diagram-FQU43EPY-41eed431.js +1 -0
  141. package/dist/diagram-FQU43EPY-613e9e4e.js +1 -0
  142. package/dist/diagram-FQU43EPY-d256050e.js +1 -0
  143. package/dist/diagram-G47NLZAW-813bbb70.js +1 -0
  144. package/dist/diagram-G47NLZAW-8ef917d1.js +1 -0
  145. package/dist/diagram-G47NLZAW-aa02607c.js +1 -0
  146. package/dist/diagram-NH7WQ7WH-0af7a921.js +1 -0
  147. package/dist/diagram-NH7WQ7WH-0e4f7f17.js +1 -0
  148. package/dist/diagram-NH7WQ7WH-6f91f6aa.js +1 -0
  149. package/dist/diagram-OA4YK3LP-0fba2475.js +1 -0
  150. package/dist/diagram-OA4YK3LP-587273f4.js +1 -0
  151. package/dist/diagram-OA4YK3LP-6cbfc7a5.js +1 -0
  152. package/dist/diagram-WEI45ONY-0241463f.js +1 -0
  153. package/dist/diagram-WEI45ONY-dd634033.js +1 -0
  154. package/dist/diagram-WEI45ONY-e002e844.js +1 -0
  155. package/dist/ebnfDiagram-CCIWWBDH-20ac4ba3.js +1 -0
  156. package/dist/ebnfDiagram-CCIWWBDH-e9974165.js +1 -0
  157. package/dist/ebnfDiagram-CCIWWBDH-ead44055.js +1 -0
  158. package/dist/erDiagram-Q63AITRT-1febb8fc.js +1 -0
  159. package/dist/erDiagram-Q63AITRT-4ea4b93d.js +1 -0
  160. package/dist/erDiagram-Q63AITRT-bcb00855.js +1 -0
  161. package/dist/eventmodeling-45OFAUF4-a82f1f18.js +1 -0
  162. package/dist/eventmodeling-45OFAUF4-dcf667fc.js +1 -0
  163. package/dist/features/bubble/components/Bubble.d.ts.map +1 -0
  164. package/dist/features/bubble/components/BubbleButton.d.ts.map +1 -0
  165. package/dist/features/bubble/components/Tooltip.d.ts.map +1 -0
  166. package/dist/features/bubble/components/index.d.ts.map +1 -0
  167. package/dist/features/bubble/index.d.ts.map +1 -0
  168. package/dist/features/bubble/types.d.ts.map +1 -0
  169. package/dist/features/full/components/Full.d.ts.map +1 -0
  170. package/dist/features/full/components/index.d.ts.map +1 -0
  171. package/dist/features/full/index.d.ts.map +1 -0
  172. package/dist/features/popup/components/DisclaimerPopup.d.ts.map +1 -0
  173. package/dist/features/popup/components/Popup.d.ts.map +1 -0
  174. package/dist/features/popup/components/index.d.ts.map +1 -0
  175. package/dist/features/popup/index.d.ts.map +1 -0
  176. package/dist/features/popup/types.d.ts.map +1 -0
  177. package/dist/flowDiagram-23GEKE2U-14ee2b3c.js +1 -0
  178. package/dist/flowDiagram-23GEKE2U-7ab9c2e4.js +1 -0
  179. package/dist/flowDiagram-23GEKE2U-f7309569.js +1 -0
  180. package/dist/ganttDiagram-NO4QXBWP-249a167d.js +1 -0
  181. package/dist/ganttDiagram-NO4QXBWP-bd530d12.js +1 -0
  182. package/dist/ganttDiagram-NO4QXBWP-e5e495d6.js +1 -0
  183. package/dist/gitGraph-TEB2WS4Q-72ba3362.js +1 -0
  184. package/dist/gitGraph-TEB2WS4Q-d07b15b3.js +1 -0
  185. package/dist/gitGraphDiagram-IHSO6WYX-2964ff91.js +1 -0
  186. package/dist/gitGraphDiagram-IHSO6WYX-4d9324ad.js +1 -0
  187. package/dist/gitGraphDiagram-IHSO6WYX-97bf868b.js +1 -0
  188. package/dist/graph-0df36b9d.js +1 -0
  189. package/dist/graph-c6801890.js +1 -0
  190. package/dist/index.d.ts.map +1 -0
  191. package/dist/info-DKCQHKI2-d8e8a901.js +1 -0
  192. package/dist/info-DKCQHKI2-dd69502c.js +1 -0
  193. package/dist/infoDiagram-FWYZ7A6U-1267309e.js +1 -0
  194. package/dist/infoDiagram-FWYZ7A6U-5b9d28af.js +1 -0
  195. package/dist/infoDiagram-FWYZ7A6U-cc33afe4.js +1 -0
  196. package/dist/init-b029a625.js +1 -0
  197. package/dist/init-cf76ae07.js +1 -0
  198. package/dist/ishikawaDiagram-FXEZZL3T-3f0977e8.js +1 -0
  199. package/dist/ishikawaDiagram-FXEZZL3T-89c1b2f4.js +1 -0
  200. package/dist/ishikawaDiagram-FXEZZL3T-9fef4653.js +1 -0
  201. package/dist/journeyDiagram-5HDEW3XC-563a68ff.js +1 -0
  202. package/dist/journeyDiagram-5HDEW3XC-c8c8d701.js +1 -0
  203. package/dist/journeyDiagram-5HDEW3XC-e6c5e84b.js +1 -0
  204. package/dist/kanban-definition-HUTT4EX6-3719e367.js +1 -0
  205. package/dist/kanban-definition-HUTT4EX6-7bc0cd1e.js +1 -0
  206. package/dist/kanban-definition-HUTT4EX6-d8b002e3.js +1 -0
  207. package/dist/katex-67456a45.js +1 -0
  208. package/dist/katex-b134d23c.js +1 -0
  209. package/dist/layout-e44354bf.js +1 -0
  210. package/dist/layout-ff5d33a1.js +1 -0
  211. package/dist/linear-7b1a23f3.js +1 -0
  212. package/dist/linear-d7ad6d25.js +1 -0
  213. package/dist/linear-e5c99c88.js +1 -0
  214. package/dist/map-05f0ff95.js +1 -0
  215. package/dist/map-d3292a5b.js +1 -0
  216. package/dist/mermaid-parser.core-6df0beec.js +1 -0
  217. package/dist/mermaid-parser.core-d8d1c2b9.js +1 -0
  218. package/dist/mermaid.core-2d237a1e.js +1 -0
  219. package/dist/mermaid.core-70d5aead.js +1 -0
  220. package/dist/mermaid.core-8797d6a9.js +1 -0
  221. package/dist/mindmap-definition-LN4V7U3C-04a12a88.js +1 -0
  222. package/dist/mindmap-definition-LN4V7U3C-86a890ce.js +1 -0
  223. package/dist/mindmap-definition-LN4V7U3C-f495948c.js +1 -0
  224. package/dist/ordinal-221e41d7.js +1 -0
  225. package/dist/ordinal-4a51e46c.js +1 -0
  226. package/dist/packet-7NZHBO7P-b4586e10.js +1 -0
  227. package/dist/packet-7NZHBO7P-f62750ff.js +1 -0
  228. package/dist/pegDiagram-2B236MQR-234fe6d1.js +1 -0
  229. package/dist/pegDiagram-2B236MQR-2826e278.js +1 -0
  230. package/dist/pegDiagram-2B236MQR-64eeb662.js +1 -0
  231. package/dist/pie-RZYD4A2V-106ba3d7.js +1 -0
  232. package/dist/pie-RZYD4A2V-752eda00.js +1 -0
  233. package/dist/pieDiagram-ENE6RG2P-0c3b09b8.js +1 -0
  234. package/dist/pieDiagram-ENE6RG2P-3fb5f734.js +1 -0
  235. package/dist/pieDiagram-ENE6RG2P-af928526.js +1 -0
  236. package/dist/quadrantDiagram-ABIIQ3AL-1a55c0f5.js +1 -0
  237. package/dist/quadrantDiagram-ABIIQ3AL-3d15c26d.js +1 -0
  238. package/dist/quadrantDiagram-ABIIQ3AL-9110fa9c.js +1 -0
  239. package/dist/queries/sendMessageQuery.d.ts.map +1 -0
  240. package/dist/radar-I7S5WNFK-53bde9ff.js +1 -0
  241. package/dist/radar-I7S5WNFK-87e8c5ba.js +1 -0
  242. package/dist/railroad-3IZDKUUU-99427b9f.js +1 -0
  243. package/dist/railroad-3IZDKUUU-9e29587d.js +1 -0
  244. package/dist/railroad-abnf-AHOZXSZD-1d11cb5b.js +1 -0
  245. package/dist/railroad-abnf-AHOZXSZD-c27db0bc.js +1 -0
  246. package/dist/railroad-ebnf-EBAXGLYW-38dff87c.js +1 -0
  247. package/dist/railroad-ebnf-EBAXGLYW-6bb5de0c.js +1 -0
  248. package/dist/railroad-peg-LSFZ7HO6-c9f0aa71.js +1 -0
  249. package/dist/railroad-peg-LSFZ7HO6-efcb0a43.js +1 -0
  250. package/dist/railroadDiagram-RFXS5EU6-14373a87.js +1 -0
  251. package/dist/railroadDiagram-RFXS5EU6-ec9e696e.js +1 -0
  252. package/dist/railroadDiagram-RFXS5EU6-effa5611.js +1 -0
  253. package/dist/register.d.ts.map +1 -0
  254. package/dist/requirementDiagram-TGXJPOKE-3d199581.js +1 -0
  255. package/dist/requirementDiagram-TGXJPOKE-5a337f1a.js +1 -0
  256. package/dist/requirementDiagram-TGXJPOKE-a7960859.js +1 -0
  257. package/dist/sankeyDiagram-HTMAVEWB-209eac30.js +1 -0
  258. package/dist/sankeyDiagram-HTMAVEWB-3c852fda.js +1 -0
  259. package/dist/sankeyDiagram-HTMAVEWB-46aa1eb1.js +1 -0
  260. package/dist/sequenceDiagram-DBY2YBRQ-4121f7c2.js +1 -0
  261. package/dist/sequenceDiagram-DBY2YBRQ-7bad18e4.js +1 -0
  262. package/dist/sequenceDiagram-DBY2YBRQ-af96f48e.js +1 -0
  263. package/dist/sizeCapture-X5ZJPWSS-13826306.js +1 -0
  264. package/dist/sizeCapture-X5ZJPWSS-32e2eec7.js +1 -0
  265. package/dist/sizeCapture-X5ZJPWSS-a078176f.js +1 -0
  266. package/dist/stateDiagram-2N3HPSRC-527374a2.js +1 -0
  267. package/dist/stateDiagram-2N3HPSRC-8047e124.js +1 -0
  268. package/dist/stateDiagram-2N3HPSRC-ba344b5d.js +1 -0
  269. package/dist/stateDiagram-v2-6OUMAXLB-7580bf69.js +1 -0
  270. package/dist/stateDiagram-v2-6OUMAXLB-d4c58fd3.js +1 -0
  271. package/dist/stateDiagram-v2-6OUMAXLB-e5921044.js +1 -0
  272. package/dist/store/constant.d.ts.map +1 -0
  273. package/dist/swimlanes-5IMT3BWC-5834b232.js +1 -0
  274. package/dist/swimlanes-5IMT3BWC-791a3547.js +1 -0
  275. package/dist/swimlanes-5IMT3BWC-db2c593a.js +1 -0
  276. package/dist/swimlanesDiagram-G3AALYLV-36c30eec.js +1 -0
  277. package/dist/swimlanesDiagram-G3AALYLV-89220ddd.js +1 -0
  278. package/dist/swimlanesDiagram-G3AALYLV-b621330d.js +1 -0
  279. package/dist/timeline-definition-FHXFAJF6-0482a67a.js +1 -0
  280. package/dist/timeline-definition-FHXFAJF6-1d165a67.js +1 -0
  281. package/dist/timeline-definition-FHXFAJF6-f9600b97.js +1 -0
  282. package/dist/treeView-QDETBFTQ-0ecf20cd.js +1 -0
  283. package/dist/treeView-QDETBFTQ-96ed8e2f.js +1 -0
  284. package/dist/treemap-6X3UGDF4-0a7f19ca.js +1 -0
  285. package/dist/treemap-6X3UGDF4-9f498e0c.js +1 -0
  286. package/dist/types/chart.d.ts.map +1 -0
  287. package/dist/types.d.ts +1 -0
  288. package/dist/types.d.ts.map +1 -0
  289. package/dist/utils/audioRecording.d.ts.map +1 -0
  290. package/dist/utils/chartInstanceManager.d.ts.map +1 -0
  291. package/dist/utils/chartTagParser.d.ts.map +1 -0
  292. package/dist/utils/chatInputHistory.d.ts.map +1 -0
  293. package/dist/utils/chatStreamHelper.d.ts.map +1 -0
  294. package/dist/utils/index.d.ts.map +1 -0
  295. package/dist/utils/isMobileSignal.d.ts.map +1 -0
  296. package/dist/utils/transcriptApi.d.ts.map +1 -0
  297. package/dist/utils/ultimateJsonParser.d.ts.map +1 -0
  298. package/dist/vennDiagram-L72KCM5P-05176193.js +1 -0
  299. package/dist/vennDiagram-L72KCM5P-25a48393.js +1 -0
  300. package/dist/vennDiagram-L72KCM5P-28cffef7.js +1 -0
  301. package/dist/wardley-OPB4EBWU-08c5f013.js +1 -0
  302. package/dist/wardley-OPB4EBWU-9803a1d9.js +1 -0
  303. package/dist/wardleyDiagram-EHGQE667-052e6de9.js +1 -0
  304. package/dist/wardleyDiagram-EHGQE667-6a614fd9.js +1 -0
  305. package/dist/wardleyDiagram-EHGQE667-d11fe904.js +1 -0
  306. package/dist/web-25bb78b9.js +1 -0
  307. package/dist/web-753300e1.js +1 -0
  308. package/dist/web-c3ed22c4.js +1 -0
  309. package/dist/web.d.ts.map +1 -0
  310. package/dist/web.js +1 -1
  311. package/dist/window.d.ts.map +1 -0
  312. package/dist/xychartDiagram-FW5EYKEG-43118b83.js +1 -0
  313. package/dist/xychartDiagram-FW5EYKEG-d77187fe.js +1 -0
  314. package/dist/xychartDiagram-FW5EYKEG-f2fac492.js +1 -0
  315. package/docs/chart-rendering-implementation-plan.md +565 -0
  316. package/package.json +86 -86
  317. package/server.js +477 -477
@@ -0,0 +1 @@
1
+ import{g as t}from"./chunk-5VM5RSS4-4b2efd20.js";import{g as e}from"./chunk-XXDRQBXY-3c9d8bf9.js";import{s}from"./chunk-VR4S4FIN-c4f2681d.js";import{d as i,s as r,c as n,n as a,g as u,b as o,o as l,_ as c,e as h,p as d,J as p,l as g,q as A,r as y,u as b,j as k,t as f,v as m,x as E,y as D,z as C,A as T,B as x,C as F}from"./mermaid.core-8797d6a9.js";import{c as S}from"./chunk-32BRIVSS-10123eba.js";import{c as _}from"./channel-c3cf6060.js";var B=class{constructor(){this.vertexCounter=0,this.config=i(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=r,this.setAccDescription=n,this.setDiagramTitle=a,this.getAccTitle=u,this.getAccDescription=o,this.getDiagramTitle=l,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{c(this,"FlowDB")}sanitizeText(t){return h.sanitizeText(t,this.config)}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}setDiagramId(t){this.diagramId=t}lookUpDomId(t){for(const e of this.vertices.values())if(e.id===t)return this.diagramId?this.diagramId+"-"+e.domId:e.domId;return this.diagramId?this.diagramId+"-"+t:t}addVertex(t,e,s,r,n,a,u={},o){if(t&&0!==t.trim().length){let c;if(void 0!==o){let t;t=o.includes("\n")?o+"\n":"{\n"+o+"\n}",c=d(t,{schema:p})}var l;o=this.edges.find((e=>e.id===t));if(o)void 0!==(l=c)?.animate&&(o.animate=l.animate),void 0!==l?.animation&&(o.animation=l.animation),void 0!==l?.curve&&(o.interpolate=l.curve);else{let o,l=this.vertices.get(t);if(void 0===l&&(void 0===e&&void 0===s&&null!=r&&g.warn(`Style applied to unknown node "${t}". This may indicate a typo. The node will be created automatically.`),l={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,l)),this.vertexCounter++,void 0!==e?(this.config=i(),o=this.sanitizeText(e.text.trim()),l.labelType=e.type,o.startsWith('"')&&o.endsWith('"')&&(o=o.substring(1,o.length-1)),l.text=o):void 0===l.text&&(l.text=t),void 0!==s&&(l.type=s),null!=r&&r.forEach((t=>{l.styles.push(t)})),null!=n&&n.forEach((t=>{l.classes.push(t)})),void 0!==a&&(l.dir=a),void 0===l.props?l.props=u:void 0!==u&&Object.assign(l.props,u),void 0!==c){if(c.shape){if(c.shape!==c.shape.toLowerCase()||c.shape.includes("_"))throw new Error(`No such shape: ${c.shape}. Shape names should be lowercase.`);if(!A(c.shape))throw new Error(`No such shape: ${c.shape}.`);l.type=c?.shape}c?.label&&(l.text=c?.label,l.labelType=this.sanitizeNodeLabelType(c?.labelType)),c?.icon&&(l.icon=c?.icon,c.label?.trim()||l.text!==t||(l.text="")),c?.form&&(l.form=c?.form),c?.pos&&(l.pos=c?.pos),c?.img&&(l.img=c?.img,c.label?.trim()||l.text!==t||(l.text="")),c?.constraint&&(l.constraint=c.constraint),c.w&&(l.assetWidth=Number(c.w)),c.h&&(l.assetHeight=Number(c.h))}}}}addSingleLink(t,e,s,i){const r={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};if(g.info("abc78 Got edge...",r),void 0!==(t=s.text)&&(r.text=this.sanitizeText(t.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(t.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=10<s.length?10:s.length),i&&!this.edges.some((t=>t.id===i))?(r.id=i,r.isUserDefinedId=!0):0===(e=this.edges.filter((t=>t.start===r.start&&t.end===r.end))).length?r.id=y(r.start,r.end,{counter:0,prefix:"L"}):r.id=y(r.start,r.end,{counter:e.length+1,prefix:"L"}),!(this.edges.length<(this.config.maxEdges??500)))throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);g.info("Pushing edge..."),this.edges.push(r)}isLinkData(t){return null!==t&&"object"==typeof t&&"id"in t&&"string"==typeof t.id}addLink(t,e,s){var i=this.isLinkData(s)?s.id.replace("@",""):void 0;g.info("addLink",t,e,i);for(const a of t)for(const u of e){var r=a===t[t.length-1],n=u===e[0];r&&n?this.addSingleLink(a,u,s,i):this.addSingleLink(a,u,s,void 0)}}updateLinkInterpolate(t,e){t.forEach((t=>{"default"===t?this.edges.defaultInterpolate=e:this.edges[t].interpolate=e}))}updateLink(t,e){t.forEach((t=>{if("number"==typeof t&&t>=this.edges.length)throw new Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?this.edges.defaultStyle=e:(this.edges[t].style=e,0<(this.edges[t]?.style?.length??0)&&!this.edges[t]?.style?.some((t=>t?.startsWith("fill")))&&this.edges[t]?.style?.push("fill:none"))}))}addClass(t,e){const s=e.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");t.split(",").forEach((t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),null!=s&&s.forEach((t=>{var s;/color/.exec(t)&&(s=t.replace("fill","bgFill"),e.textStyles.push(s)),e.styles.push(t)}))}))}setDirection(t){this.direction=t.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(t,e){for(const i of t.split(",")){var s=((s=this.vertices.get(i))&&s.classes.push(e),this.edges.find((t=>t.id===i)));(s=(s&&s.classes.push(e),this.subGraphLookup.get(i)))&&s.classes.push(e)}}setTooltip(t,e){if(void 0!==e){e=this.sanitizeText(e);for(const s of t.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,e)}}setClickFun(t,e,s){if("loose"===i().securityLevel&&void 0!==e){let i=[];if("string"==typeof s){i=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(t),(s=this.vertices.get(t))&&(s.haveCallback=!0,this.funs.push((()=>{var s=this.lookUpDomId(t);null!==(s=document.querySelector(`[id="${s}"]`))&&s.addEventListener("click",(()=>{b.runFunc(e,...i)}),!1)})))}}setLink(t,e,s){t.split(",").forEach((t=>{void 0!==(t=this.vertices.get(t))&&(t.link=b.formatUrl(e,this.config),t.linkTarget=s)})),this.setClass(t,"clickable")}getTooltip(t){return this.tooltips.get(t)}setClickEvent(t,e,s){t.split(",").forEach((t=>{this.setClickFun(t,e,s)})),this.setClass(t,"clickable")}bindFunctions(t){this.funs.forEach((e=>{e(t)}))}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(t){const e=S();k(t).select("svg").selectAll("g.node").on("mouseover",(t=>{var s=k(t.currentTarget),i=s.attr("title");null!==i&&(t=t.currentTarget?.getBoundingClientRect(),e.transition().duration(200).style("opacity",".9"),e.text(s.attr("title")).style("left",window.scrollX+t.left+(t.right-t.left)/2+"px").style("top",window.scrollY+t.bottom+"px"),e.html(f.sanitize(i)),s.classed("hover",!0))})).on("mouseout",(t=>{e.transition().duration(500).style("opacity",0),k(t.currentTarget).classed("hover",!1)}))}clear(t="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=t,this.config=i(),m()}setGen(t){this.version=t||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(t,e,s){let r=t.text.trim();var n=s.text;t===s&&/\s/.exec(s.text)&&(r=void 0);t=c((t=>{const e={boolean:{},number:{},string:{}},s=[];let i;return{nodeList:t.filter((function(t){var r=typeof t;return t.stmt&&"dir"===t.stmt?(i=t.value,!1):""!==t.trim()&&(r in e?!e[r].hasOwnProperty(t)&&(e[r][t]=!0):!s.includes(t)&&s.push(t))})),dir:i}}),"uniq")(e.flat());var a=t.nodeList,u=(t=void 0!==(e=t.dir),i().flowchart??{});e=e??(u.inheritDir?this.getDirection()??i().direction??void 0:void 0);if("gen-1"===this.version)for(let t=0;t<a.length;t++)a[t]=this.lookUpDomId(a[t]);return r=r??"subGraph"+this.subCount,n=this.sanitizeText(n=n||""),this.subCount=this.subCount+1,u={id:r,nodes:a,title:n.trim(),classes:[],dir:e,hasExplicitDir:t,labelType:this.sanitizeNodeLabelType(s?.type)},g.info("Adding",u.id,u.nodes,u.dir),u.nodes=this.makeUniq(u,this.subGraphs).nodes,this.subGraphs.push(u),this.subGraphLookup.set(r,u),r}getPosForId(t){for(var[e,s]of this.subGraphs.entries())if(s.id===t)return e;return-1}indexNodes2(t,e){var s=this.subGraphs[e].nodes;if(this.secCount=this.secCount+1,2e3<this.secCount)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=e,this.subGraphs[e].id===t)return{result:!0,count:0};let i=0,r=1;for(;i<s.length;){var n=this.getPosForId(s[i]);if(0<=n){if((n=this.indexNodes2(t,n)).result)return{result:!0,count:r+n.count};r+=n.count}i+=1}return{result:!1,count:r}}getDepthFirstPos(t){return this.posCrossRef[t]}indexNodes(){this.secCount=-1,0<this.subGraphs.length&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&!(this.firstGraphFlag=!1)}destructStartLink(t){let e=t.trim(),s="arrow_open";switch(e[0]){case"<":s="arrow_point",e=e.slice(1);break;case"x":s="arrow_cross",e=e.slice(1);break;case"o":s="arrow_circle",e=e.slice(1)}let i="normal";return e.includes("=")&&(i="thick"),e.includes(".")&&(i="dotted"),{type:s,stroke:i}}countChar(t,e){var s=e.length;let i=0;for(let r=0;r<s;++r)e[r]===t&&++i;return i}destructEndLink(t){var e=t.trim();let s=e.slice(0,-1),i="arrow_open";switch(e.slice(-1)){case"x":i="arrow_cross",e.startsWith("x")&&(i="double_"+i,s=s.slice(1));break;case">":i="arrow_point",e.startsWith("<")&&(i="double_"+i,s=s.slice(1));break;case"o":i="arrow_circle",e.startsWith("o")&&(i="double_"+i,s=s.slice(1))}let r="normal",n=s.length-1;return s.startsWith("=")&&(r="thick"),s.startsWith("~")&&(r="invisible"),(t=this.countChar(".",s))&&(r="dotted",n=t),{type:i,stroke:r,length:n}}destructLink(t,e){if(t=this.destructEndLink(t),e){if((e=this.destructStartLink(e)).stroke!==t.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===e.type)e.type=t.type;else{if(e.type!==t.type)return{type:"INVALID",stroke:"INVALID"};e.type="double_"+e.type}return"double_arrow"===e.type&&(e.type="double_arrow_point"),e.length=t.length,e}return t}exists(t,e){for(const s of t)if(s.nodes.includes(e))return!0;return!1}makeUniq(t,e){const s=[];return t.nodes.forEach(((i,r)=>{this.exists(e,i)||s.push(t.nodes[r])})),{nodes:s}}getTypeFromVertex(t){if(t.img)return"imageSquare";if(t.icon)return"circle"===t.form?"iconCircle":"square"===t.form?"iconSquare":"rounded"===t.form?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}findNode(t,e){return t.find((t=>t.id===e))}destructEdgeType(t){let e="none",s="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":s=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),s=e}return{arrowTypeStart:e,arrowTypeEnd:s}}addNodeFromVertex(t,e,s,i,r,n){s=s.get(t.id),i=i.get(t.id)??!1;var a=this.findNode(e,t.id);a?(a.cssStyles=t.styles,a.cssCompiledStyles=this.getCompiledStyles(t.classes),a.cssClasses=t.classes.join(" ")):(a={id:t.id,label:t.text,labelType:t.labelType,labelStyle:"",parentId:s,padding:r.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:n,link:t.link,linkTarget:t.linkTarget,tooltip:this.getTooltip(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint},i?e.push({...a,isGroup:!0,shape:"rect"}):e.push({...a,isGroup:!1,shape:this.getTypeFromVertex(t)}))}getCompiledStyles(t){let e=[];for(const i of t){var s=this.classes.get(i);s?.styles&&(e=[...e,...s.styles??[]].map((t=>t.trim()))),s?.textStyles&&(e=[...e,...s.textStyles??[]].map((t=>t.trim())))}return e}getData(){const t=i(),e=[],s=[];var r=this.getSubGraphs();const n=new Map,a=new Map;for(let t=r.length-1;0<=t;t--){var u=r[t];0<u.nodes.length&&a.set(u.id,!0);for(const t of u.nodes)n.set(t,u.id)}for(let s=r.length-1;0<=s;s--){var o=r[s];e.push({id:o.id,label:o.title,labelStyle:"",labelType:o.labelType,parentId:n.get(o.id),padding:8,cssCompiledStyles:this.getCompiledStyles(o.classes),cssClasses:o.classes.join(" "),shape:"rect",dir:"TD"===o.dir?"TB":o.dir,explicitDir:o.hasExplicitDir,isGroup:!0,look:t.look})}this.getVertices().forEach((s=>{this.addNodeFromVertex(s,e,n,a,t,t.look||"classic")}));const l=this.getEdges();return l.forEach(((e,i)=>{var{arrowTypeStart:r,arrowTypeEnd:n}=this.destructEdgeType(e.type),a=[...l.defaultStyle??[]];e.style&&a.push(...e.style),i={id:y(e.start,e.end,{counter:i,prefix:"L"},e.id),isUserDefinedId:e.isUserDefinedId,start:e.start,end:e.end,type:e.type??"normal",label:e.text,labelType:e.labelType,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:"invisible"===e?.stroke?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===e?.stroke||"arrow_open"===e?.type?"none":r,arrowTypeEnd:"invisible"===e?.stroke||"arrow_open"===e?.type?"none":n,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(e.classes),labelStyle:a,style:a,pattern:e.stroke,look:t.look,animate:e.animate,animation:e.animation,curve:e.interpolate||this.edges.defaultInterpolate||t.flowchart?.curve};s.push(i)})),{nodes:e,edges:s,other:{},config:t}}defaultConfig(){return E.flowchart}},v={getClasses:c((function(t,e){return e.db.getClasses()}),"getClasses"),draw:c((async function(t,r,n,a,u){g.info("REF0:"),g.info("Drawing state diagram (v2)",r);var{securityLevel:o,flowchart:l,layout:c}=i(),h=(a.db.setDiagramId(r),g.debug("Before getData: "),a.db.getData()),o=(g.debug("Data: ",h),e(r,o)),d=a.db.getDirection(),c=(h.type=a.type,h.layoutAlgorithm=T(c),"dagre"===h.layoutAlgorithm&&"elk"===c&&g.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=l?.nodeSpacing||50,h.rankSpacing=l?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=r,g.debug("REF1:",h),await x(h,o,u),h.config.flowchart?.diagramPadding??8);b.insertTitle(o,"flowchartTitleText",l?.titleTopMargin||0,a.db.getDiagramTitle()),s(o,c,"flowchart",l?.useMaxWidth||!1)}),"draw")},L=function(){var t=c((function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s}),"o"),e=[1,4],s=[1,3],i=[1,5],r=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],n=[2,2],a=[1,13],u=[1,14],o=[1,15],l=[1,16],h=[1,23],d=[1,25],p=[1,26],g=[1,27],A=[1,50],y=[1,49],b=[1,29],k=[1,30],f=[1,31],m=[1,32],E=[1,33],D=[1,45],C=[1,47],T=[1,43],x=[1,48],F=[1,44],S=[1,51],_=[1,46],B=[1,52],v=[1,53],L=[1,34],w=[1,35],I=[1,36],$=[1,37],R=[1,38],N=[1,58],P=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],G=[1,62],O=[1,61],M=[1,63],V=[8,9,11,75,77,78],U=[1,79],j=[1,92],W=[1,97],z=[1,96],K=[1,93],Y=[1,89],X=[1,95],H=[1,91],q=[1,98],Q=[1,94],J=[1,99],Z=[1,90],tt=[8,9,10,11,40,75,77,78],et=[8,9,10,11,40,46,75,77,78],st=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],it=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],rt=[44,60,89,102,105,106,109,111,114,115,116],nt=[1,122],at=[1,123],ut=[1,125],ot=[1,124],lt=[44,60,62,74,89,102,105,106,109,111,114,115,116],ct=[1,134],ht=[1,148],dt=[1,149],pt=[1,150],gt=[1,151],At=[1,136],yt=[1,138],bt=[1,142],kt=[1,143],ft=[1,144],mt=[1,145],Et=[1,146],Dt=[1,147],Ct=[1,152],Tt=[1,153],xt=[1,132],Ft=[1,133],St=[1,140],_t=[1,135],Bt=[1,139],vt=[1,137],Lt=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],wt=[1,155],It=[1,157],$t=[8,9,11],Rt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],Nt=[1,177],Pt=[1,173],Gt=[1,174],Ot=[1,178],Mt=[1,175],Vt=[1,176],Ut=[77,116,119],jt=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Wt=[10,106],zt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Kt=[1,248],Yt=[1,246],Xt=[1,250],Ht=[1,244],qt=[1,245],Qt=[1,247],Jt=[1,249],Zt=[1,251],te=[1,269],ee=[8,9,11,106],se=[8,9,10,11,60,84,105,106,109,110,111,112];e={trace:c((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:c((function(t,e,s,i,r,n,a){var u=n.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(n[u])||0<n[u].length)&&n[u-1].push(n[u]),this.$=n[u-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=n[u];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(n[u-1]),this.$=n[u-1];break;case 27:this.$=n[u-1].nodes;break;case 33:this.$=i.addSubGraph(n[u-6],n[u-1],n[u-4]);break;case 34:this.$=i.addSubGraph(n[u-3],n[u-1],n[u-3]);break;case 35:this.$=i.addSubGraph(void 0,n[u-1],void 0);break;case 37:this.$=n[u].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=n[u].trim(),i.setAccDescription(this.$);break;case 43:case 133:this.$=n[u-1]+n[u];break;case 45:i.addVertex(n[u-1][n[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u]),i.addLink(n[u-3].stmt,n[u-1],n[u-2]),this.$={stmt:n[u-1],nodes:n[u-1].concat(n[u-3].nodes)};break;case 46:i.addLink(n[u-2].stmt,n[u],n[u-1]),this.$={stmt:n[u],nodes:n[u].concat(n[u-2].nodes)};break;case 47:i.addLink(n[u-3].stmt,n[u-1],n[u-2]),this.$={stmt:n[u-1],nodes:n[u-1].concat(n[u-3].nodes)};break;case 48:this.$={stmt:n[u-1],nodes:n[u-1]};break;case 49:i.addVertex(n[u-1][n[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u]),this.$={stmt:n[u-1],nodes:n[u-1],shapeData:n[u]};break;case 50:this.$={stmt:n[u],nodes:n[u]};break;case 51:case 128:case 130:this.$=[n[u]];break;case 52:i.addVertex(n[u-5][n[u-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u-4]),this.$=n[u-5].concat(n[u]);break;case 53:this.$=n[u-4].concat(n[u]);break;case 55:this.$=n[u-2],i.setClass(n[u-2],n[u]);break;case 56:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"square");break;case 57:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"doublecircle");break;case 58:this.$=n[u-5],i.addVertex(n[u-5],n[u-2],"circle");break;case 59:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"ellipse");break;case 60:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"stadium");break;case 61:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"subroutine");break;case 62:this.$=n[u-7],i.addVertex(n[u-7],n[u-1],"rect",void 0,void 0,void 0,Object.fromEntries([[n[u-5],n[u-3]]]));break;case 63:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"cylinder");break;case 64:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"round");break;case 65:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"diamond");break;case 66:this.$=n[u-5],i.addVertex(n[u-5],n[u-2],"hexagon");break;case 67:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"odd");break;case 68:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"trapezoid");break;case 69:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"inv_trapezoid");break;case 70:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"lean_right");break;case 71:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"lean_left");break;case 72:this.$=n[u],i.addVertex(n[u]);break;case 73:n[u-1].text=n[u],this.$=n[u-1];break;case 74:case 75:n[u-2].text=n[u-1],this.$=n[u-2];break;case 77:var o=i.destructLink(n[u],n[u-2]);this.$={type:o.type,stroke:o.stroke,length:o.length,text:n[u-1]};break;case 78:o=i.destructLink(n[u],n[u-2]),this.$={type:o.type,stroke:o.stroke,length:o.length,text:n[u-1],id:n[u-3]};break;case 79:case 86:case 101:case 103:this.$={text:n[u],type:"text"};break;case 80:case 87:case 102:this.$={text:n[u-1].text+""+n[u],type:n[u-1].type};break;case 81:case 88:this.$={text:n[u],type:"string"};break;case 82:case 89:case 104:this.$={text:n[u],type:"markdown"};break;case 83:o=i.destructLink(n[u]),this.$={type:o.type,stroke:o.stroke,length:o.length};break;case 84:o=i.destructLink(n[u]),this.$={type:o.type,stroke:o.stroke,length:o.length,id:n[u-1]};break;case 85:this.$=n[u-1];break;case 105:this.$=n[u-4],i.addClass(n[u-2],n[u]);break;case 106:this.$=n[u-4],i.setClass(n[u-2],n[u]);break;case 107:case 115:this.$=n[u-1],i.setClickEvent(n[u-1],n[u]);break;case 108:case 116:this.$=n[u-3],i.setClickEvent(n[u-3],n[u-2]),i.setTooltip(n[u-3],n[u]);break;case 109:this.$=n[u-2],i.setClickEvent(n[u-2],n[u-1],n[u]);break;case 110:this.$=n[u-4],i.setClickEvent(n[u-4],n[u-3],n[u-2]),i.setTooltip(n[u-4],n[u]);break;case 111:this.$=n[u-2],i.setLink(n[u-2],n[u]);break;case 112:this.$=n[u-4],i.setLink(n[u-4],n[u-2]),i.setTooltip(n[u-4],n[u]);break;case 113:this.$=n[u-4],i.setLink(n[u-4],n[u-2],n[u]);break;case 114:this.$=n[u-6],i.setLink(n[u-6],n[u-4],n[u]),i.setTooltip(n[u-6],n[u-2]);break;case 117:this.$=n[u-1],i.setLink(n[u-1],n[u]);break;case 118:this.$=n[u-3],i.setLink(n[u-3],n[u-2]),i.setTooltip(n[u-3],n[u]);break;case 119:this.$=n[u-3],i.setLink(n[u-3],n[u-2],n[u]);break;case 120:this.$=n[u-5],i.setLink(n[u-5],n[u-4],n[u]),i.setTooltip(n[u-5],n[u-2]);break;case 121:this.$=n[u-4],i.addVertex(n[u-2],void 0,void 0,n[u]);break;case 122:this.$=n[u-4],i.updateLink([n[u-2]],n[u]);break;case 123:this.$=n[u-4],i.updateLink(n[u-2],n[u]);break;case 124:this.$=n[u-8],i.updateLinkInterpolate([n[u-6]],n[u-2]),i.updateLink([n[u-6]],n[u]);break;case 125:this.$=n[u-8],i.updateLinkInterpolate(n[u-6],n[u-2]),i.updateLink(n[u-6],n[u]);break;case 126:this.$=n[u-6],i.updateLinkInterpolate([n[u-4]],n[u]);break;case 127:this.$=n[u-6],i.updateLinkInterpolate(n[u-4],n[u]);break;case 129:case 131:n[u-2].push(n[u]),this.$=n[u-2];break;case 182:case 184:this.$=n[u-1]+""+n[u];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"}}}),"anonymous"),table:[{3:1,4:2,9:e,10:s,12:i},{1:[3]},t(r,n,{5:6}),{4:7,9:e,10:s,12:i},{4:8,9:e,10:s,12:i},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:a,9:u,10:o,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:p,38:g,42:28,43:39,44:A,45:40,47:41,60:y,84:b,85:k,86:f,87:m,88:E,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v,121:L,122:w,123:I,124:$,125:R},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),{8:[1,55],9:[1,56],10:N,15:54,18:57},t(P,[2,3]),t(P,[2,4]),t(P,[2,5]),t(P,[2,6]),t(P,[2,7]),t(P,[2,8]),{8:G,9:O,11:M,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:G,9:O,11:M,21:68},{8:G,9:O,11:M,21:69},{8:G,9:O,11:M,21:70},{8:G,9:O,11:M,21:71},{8:G,9:O,11:M,21:72},{8:G,9:O,10:[1,73],11:M,21:74},t(P,[2,36]),{35:[1,75]},{37:[1,76]},t(P,[2,39]),t(V,[2,50],{18:77,39:78,10:N,40:U}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:j,44:W,60:z,80:[1,87],89:K,95:[1,84],97:[1,85],101:86,105:Y,106:X,109:H,111:q,114:Q,115:J,116:Z,120:88},t(P,[2,185]),t(P,[2,186]),t(P,[2,187]),t(P,[2,188]),t(P,[2,189]),t(tt,[2,51]),t(tt,[2,54],{46:[1,100]}),t(et,[2,72],{113:113,29:[1,101],44:A,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:y,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:D,102:C,105:T,106:x,109:F,111:S,114:_,115:B,116:v}),t(st,[2,181]),t(st,[2,142]),t(st,[2,143]),t(st,[2,144]),t(st,[2,145]),t(st,[2,146]),t(st,[2,147]),t(st,[2,148]),t(st,[2,149]),t(st,[2,150]),t(st,[2,151]),t(st,[2,152]),t(r,[2,12]),t(r,[2,18]),t(r,[2,19]),{9:[1,114]},t(it,[2,26],{18:115,10:N}),t(P,[2,27]),{42:116,43:39,44:A,45:40,47:41,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v},t(P,[2,40]),t(P,[2,41]),t(P,[2,42]),t(rt,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:nt,81:at,116:ut,119:ot},{75:[1,126],77:[1,127]},t(lt,[2,83]),t(P,[2,28]),t(P,[2,29]),t(P,[2,30]),t(P,[2,31]),t(P,[2,32]),{10:ct,12:ht,14:dt,27:pt,28:128,32:gt,44:At,60:yt,75:bt,80:[1,130],81:[1,131],83:141,84:kt,85:ft,86:mt,87:Et,88:Dt,89:Ct,90:Tt,91:129,105:xt,109:Ft,111:St,114:_t,115:Bt,116:vt},t(Lt,n,{5:154}),t(P,[2,37]),t(P,[2,38]),t(V,[2,48],{44:wt}),t(V,[2,49],{18:156,10:N,40:It}),t(tt,[2,44]),{44:A,47:158,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v},{102:[1,159],103:160,105:[1,161]},{44:A,47:162,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v},{44:A,47:163,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v},t($t,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t($t,[2,115],{120:168,10:[1,167],14:j,44:W,60:z,89:K,105:Y,106:X,109:H,111:q,114:Q,115:J,116:Z}),t($t,[2,117],{10:[1,169]}),t(Rt,[2,183]),t(Rt,[2,170]),t(Rt,[2,171]),t(Rt,[2,172]),t(Rt,[2,173]),t(Rt,[2,174]),t(Rt,[2,175]),t(Rt,[2,176]),t(Rt,[2,177]),t(Rt,[2,178]),t(Rt,[2,179]),t(Rt,[2,180]),{44:A,47:170,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v},{30:171,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:179,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:181,50:[1,180],67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:182,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:183,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:184,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{109:[1,185]},{30:186,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:187,65:[1,188],67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:189,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:190,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{30:191,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},t(st,[2,182]),t(r,[2,20]),t(it,[2,25]),t(V,[2,46],{39:192,18:193,10:N,40:U}),t(rt,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{77:[1,197],79:198,116:ut,119:ot},t(Ut,[2,79]),t(Ut,[2,81]),t(Ut,[2,82]),t(Ut,[2,168]),t(Ut,[2,169]),{76:199,79:121,80:nt,81:at,116:ut,119:ot},t(lt,[2,84]),{8:G,9:O,10:ct,11:M,12:ht,14:dt,21:201,27:pt,29:[1,200],32:gt,44:At,60:yt,75:bt,83:141,84:kt,85:ft,86:mt,87:Et,88:Dt,89:Ct,90:Tt,91:202,105:xt,109:Ft,111:St,114:_t,115:Bt,116:vt},t(jt,[2,101]),t(jt,[2,103]),t(jt,[2,104]),t(jt,[2,157]),t(jt,[2,158]),t(jt,[2,159]),t(jt,[2,160]),t(jt,[2,161]),t(jt,[2,162]),t(jt,[2,163]),t(jt,[2,164]),t(jt,[2,165]),t(jt,[2,166]),t(jt,[2,167]),t(jt,[2,90]),t(jt,[2,91]),t(jt,[2,92]),t(jt,[2,93]),t(jt,[2,94]),t(jt,[2,95]),t(jt,[2,96]),t(jt,[2,97]),t(jt,[2,98]),t(jt,[2,99]),t(jt,[2,100]),{6:11,7:12,8:a,9:u,10:o,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,203],33:24,34:d,36:p,38:g,42:28,43:39,44:A,45:40,47:41,60:y,84:b,85:k,86:f,87:m,88:E,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v,121:L,122:w,123:I,124:$,125:R},{10:N,18:204},{44:[1,205]},t(tt,[2,43]),{10:[1,206],44:A,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:113,114:_,115:B,116:v},{10:[1,207]},{10:[1,208],106:[1,209]},t(Wt,[2,128]),{10:[1,210],44:A,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:113,114:_,115:B,116:v},{10:[1,211],44:A,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:113,114:_,115:B,116:v},{80:[1,212]},t($t,[2,109],{10:[1,213]}),t($t,[2,111],{10:[1,214]}),{80:[1,215]},t(Rt,[2,184]),{80:[1,216],98:[1,217]},t(tt,[2,55],{113:113,44:A,60:y,89:D,102:C,105:T,106:x,109:F,111:S,114:_,115:B,116:v}),{31:[1,218],67:Nt,82:219,116:Ot,117:Mt,118:Vt},t(zt,[2,86]),t(zt,[2,88]),t(zt,[2,89]),t(zt,[2,153]),t(zt,[2,154]),t(zt,[2,155]),t(zt,[2,156]),{49:[1,220],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{30:221,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{51:[1,222],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{53:[1,223],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{55:[1,224],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{57:[1,225],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{60:[1,226]},{64:[1,227],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{66:[1,228],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{30:229,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},{31:[1,230],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{67:Nt,69:[1,231],71:[1,232],82:219,116:Ot,117:Mt,118:Vt},{67:Nt,69:[1,234],71:[1,233],82:219,116:Ot,117:Mt,118:Vt},t(V,[2,45],{18:156,10:N,40:It}),t(V,[2,47],{44:wt}),t(rt,[2,75]),t(rt,[2,74]),{62:[1,235],67:Nt,82:219,116:Ot,117:Mt,118:Vt},t(rt,[2,77]),t(Ut,[2,80]),{77:[1,236],79:198,116:ut,119:ot},{30:237,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},t(Lt,n,{5:238}),t(jt,[2,102]),t(P,[2,35]),{43:239,44:A,45:40,47:41,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v},{10:N,18:240},{10:Kt,60:Yt,84:Xt,92:241,105:Ht,107:242,108:243,109:qt,110:Qt,111:Jt,112:Zt},{10:Kt,60:Yt,84:Xt,92:252,104:[1,253],105:Ht,107:242,108:243,109:qt,110:Qt,111:Jt,112:Zt},{10:Kt,60:Yt,84:Xt,92:254,104:[1,255],105:Ht,107:242,108:243,109:qt,110:Qt,111:Jt,112:Zt},{105:[1,256]},{10:Kt,60:Yt,84:Xt,92:257,105:Ht,107:242,108:243,109:qt,110:Qt,111:Jt,112:Zt},{44:A,47:258,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v},t($t,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t($t,[2,116]),t($t,[2,118],{10:[1,262]}),t($t,[2,119]),t(et,[2,56]),t(zt,[2,87]),t(et,[2,57]),{51:[1,263],67:Nt,82:219,116:Ot,117:Mt,118:Vt},t(et,[2,64]),t(et,[2,59]),t(et,[2,60]),t(et,[2,61]),{109:[1,264]},t(et,[2,63]),t(et,[2,65]),{66:[1,265],67:Nt,82:219,116:Ot,117:Mt,118:Vt},t(et,[2,67]),t(et,[2,68]),t(et,[2,70]),t(et,[2,69]),t(et,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(rt,[2,78]),{31:[1,266],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{6:11,7:12,8:a,9:u,10:o,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,267],33:24,34:d,36:p,38:g,42:28,43:39,44:A,45:40,47:41,60:y,84:b,85:k,86:f,87:m,88:E,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v,121:L,122:w,123:I,124:$,125:R},t(tt,[2,53]),{43:268,44:A,45:40,47:41,60:y,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v},t($t,[2,121],{106:te}),t(ee,[2,130],{108:270,10:Kt,60:Yt,84:Xt,105:Ht,109:qt,110:Qt,111:Jt,112:Zt}),t(se,[2,132]),t(se,[2,134]),t(se,[2,135]),t(se,[2,136]),t(se,[2,137]),t(se,[2,138]),t(se,[2,139]),t(se,[2,140]),t(se,[2,141]),t($t,[2,122],{106:te}),{10:[1,271]},t($t,[2,123],{106:te}),{10:[1,272]},t(Wt,[2,129]),t($t,[2,105],{106:te}),t($t,[2,106],{113:113,44:A,60:y,89:D,102:C,105:T,106:x,109:F,111:S,114:_,115:B,116:v}),t($t,[2,110]),t($t,[2,112],{10:[1,273]}),t($t,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:G,9:O,11:M,21:278},t(P,[2,34]),t(tt,[2,52]),{10:Kt,60:Yt,84:Xt,105:Ht,107:279,108:243,109:qt,110:Qt,111:Jt,112:Zt},t(se,[2,133]),{14:j,44:W,60:z,89:K,101:280,105:Y,106:X,109:H,111:q,114:Q,115:J,116:Z,120:88},{14:j,44:W,60:z,89:K,101:281,105:Y,106:X,109:H,111:q,114:Q,115:J,116:Z,120:88},{98:[1,282]},t($t,[2,120]),t(et,[2,58]),{30:283,67:Nt,80:Pt,81:Gt,82:172,116:Ot,117:Mt,118:Vt},t(et,[2,66]),t(Lt,n,{5:284}),t(ee,[2,131],{108:270,10:Kt,60:Yt,84:Xt,105:Ht,109:qt,110:Qt,111:Jt,112:Zt}),t($t,[2,126],{120:168,10:[1,285],14:j,44:W,60:z,89:K,105:Y,106:X,109:H,111:q,114:Q,115:J,116:Z}),t($t,[2,127],{120:168,10:[1,286],14:j,44:W,60:z,89:K,105:Y,106:X,109:H,111:q,114:Q,115:J,116:Z}),t($t,[2,114]),{31:[1,287],67:Nt,82:219,116:Ot,117:Mt,118:Vt},{6:11,7:12,8:a,9:u,10:o,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,288],33:24,34:d,36:p,38:g,42:28,43:39,44:A,45:40,47:41,60:y,84:b,85:k,86:f,87:m,88:E,89:D,102:C,105:T,106:x,109:F,111:S,113:42,114:_,115:B,116:v,121:L,122:w,123:I,124:$,125:R},{10:Kt,60:Yt,84:Xt,92:289,105:Ht,107:242,108:243,109:qt,110:Qt,111:Jt,112:Zt},{10:Kt,60:Yt,84:Xt,92:290,105:Ht,107:242,108:243,109:qt,110:Qt,111:Jt,112:Zt},t(et,[2,62]),t(P,[2,33]),t($t,[2,124],{106:te}),t($t,[2,125],{106:te})],defaultActions:{},parseError:c((function(t,e){var s;if(!e.recoverable)throw(s=new Error(t)).hash=e,s;this.trace(t)}),"parseError"),parse:c((function(t){var e,s=this,i=[0],r=[],n=[null],a=[],u=this.table,o="",l=0,h=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(e in this.yy)Object.prototype.hasOwnProperty.call(this.yy,e)&&(g.yy[e]=this.yy[e]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var A=p.yylloc,y=(a.push(A),p.options&&p.options.ranges);function b(){var t=r.pop()||p.lex()||1;return"number"!=typeof t&&(t instanceof Array&&(t=(r=t).pop()),t=s.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,c((function(t){i.length=i.length-2*t,n.length=n.length-t,a.length=a.length-t}),"popStack"),c(b,"lex");for(var k,f,m,E,D,C,T={};;){if(f=i[i.length-1],void 0===(m=this.defaultActions[f]||(null==k&&(k=b()),u[f]&&u[f][k]))||!m.length||!m[0]){var x,F=[];for(E in u[f])this.terminals_[E]&&2<E&&F.push("'"+this.terminals_[E]+"'");x=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+F.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(x,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:A,expected:F})}if(m[0]instanceof Array&&1<m.length)throw new Error("Parse Error: multiple actions possible at state: "+f+", token: "+k);switch(m[0]){case 1:i.push(k),n.push(p.yytext),a.push(p.yylloc),i.push(m[1]),k=null,h=p.yyleng,o=p.yytext,l=p.yylineno,A=p.yylloc;break;case 2:if(D=this.productions_[m[1]][1],T.$=n[n.length-D],T._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},y&&(T._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),void 0!==(C=this.performAction.apply(T,[o,h,l,g.yy,m[1],n,a].concat(d))))return C;D&&(i=i.slice(0,-1*D*2),n=n.slice(0,-1*D),a=a.slice(0,-1*D)),i.push(this.productions_[m[1]][0]),n.push(T.$),a.push(T._$),C=u[i[i.length-2]][i[i.length-1]],i.push(C);break;case 3:return!0}}return!0}),"parse")},s={EOF:1,parseError:c((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:c((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:c((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:c((function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g),i=(this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e,t=this.match.split(/(?:\r\n?|\n)/g),this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===t.length?this.yylloc.first_column:0)+t[t.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:c((function(){return this._more=!0,this}),"more"),reject:c((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:c((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:c((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(20<t.length?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:c((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(20<t.length?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:c((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:c((function(t,e){var s,i;if(this.options.backtrack_lexer&&(i={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)&&(i.yylloc.range=this.yylloc.range.slice(0)),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var r in i)this[r]=i[r];return!1}),"test_match"),next:c((function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!e||s[0].length>e[0].length))if(e=s,i=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[n])))return t;if(!this._backtrack)return!1;e=!1}else if(!this.options.flex)break;return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:c((function(){return this.next()||this.lex()}),"lex"),begin:c((function(t){this.conditionStack.push(t)}),"begin"),popState:c((function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:c((function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules}),"_currentRules"),topState:c((function(t){return 0<=(t=this.conditionStack.length-1-Math.abs(t||0))?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:c((function(t){this.begin(t)}),"pushState"),stateStackSize:c((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:c((function(t,e,s,i){switch(s){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),e.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return e.yytext=e.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:case 38:return t.lex.firstGraph()&&this.begin("dir"),12;case 39:return 27;case 40:return 32;case 41:case 42:case 43:case 44:return 98;case 45:return this.popState(),13;case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return this.popState(),14;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:case 104:return 111;case 64:return 46;case 65:return 60;case 66:case 105:return 44;case 67:return 8;case 68:return 106;case 69:case 103:return 115;case 70:case 73:case 76:return this.popState(),77;case 71:return this.pushState("edgeText"),75;case 72:case 75:case 78:return 119;case 74:return this.pushState("thickEdgeText"),75;case 77:return this.pushState("dottedEdgeText"),75;case 79:return 77;case 80:return this.popState(),53;case 81:case 117:return"TEXT";case 82:return this.pushState("ellipseText"),52;case 83:return this.popState(),55;case 84:return this.pushState("text"),54;case 85:return this.popState(),57;case 86:return this.pushState("text"),56;case 87:return 58;case 88:return this.pushState("text"),67;case 89:return this.popState(),64;case 90:return this.pushState("text"),63;case 91:return this.popState(),49;case 92:return this.pushState("text"),48;case 93:return this.popState(),69;case 94:return this.popState(),71;case 95:return 117;case 96:return this.pushState("trapText"),68;case 97:return this.pushState("trapText"),70;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;case 110:return this.pushState("text"),62;case 111:return this.popState(),51;case 112:return this.pushState("text"),50;case 113:return this.popState(),31;case 114:return this.pushState("text"),29;case 115:return this.popState(),66;case 116:return this.pushState("text"),65;case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}}),"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:swimlane-beta\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}};function ie(){this.yy={}}return e.lexer=s,c(ie,"Parser"),new((ie.prototype=e).Parser=ie)}(),w=L.parser=L,I=Object.assign({},w),$=(I.parse=t=>(t=t.replace(/}\s*\n/g,"}\n"),w.parse(t)),I),R=c(((t,e)=>{var s=(r=_)(t,"r"),i=r(t,"g"),r=r(t,"b");return F(s,i,r,e)}),"fade"),N=c((e=>`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span {\n color: ${e.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: ${e.strokeWidth??1}px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${e.lineColor} !important;\n stroke-width: 0;\n stroke: ${e.lineColor};\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: ${e.strokeWidth??2}px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n p {\n background-color: ${e.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${R(e.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${e.clusterBkg};\n stroke: ${e.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${e.edgeLabelBackground};\n p {\n background-color: ${e.edgeLabelBackground};\n padding: 2px;\n }\n .label rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n ${t()}\n`),"getStyles"),P=c((({defaultLayout:t,styles:e=N}={})=>({parser:$,get db(){return new B},renderer:v,styles:e,init:c((e=>{e.flowchart||(e.flowchart={});var s=D().layout??t??e.layout;s&&C({layout:s}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,C({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}})}),"init")})),"createFlowDiagram"),G=P();export{P as c,G as d,N as s};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{g as s}from"./chunk-5VM5RSS4-5fc85a49.js";import{g as i}from"./chunk-XXDRQBXY-f923ffed.js";import{s as r}from"./chunk-VR4S4FIN-9df47127.js";import{d as n,s as a,c as u,n as o,g as l,b as c,o as h,_ as d,e as p,p as g,J as A,l as y,q as b,r as k,u as f,j as m,t as E,v as D,x as C,y as T,z as x,A as F,B as S,C as v}from"./mermaid.core-70d5aead.js";import{c as _}from"./chunk-32BRIVSS-10ac68f7.js";import{c as B}from"./channel-534c2e17.js";var L=class{constructor(){this.vertexCounter=0,this.config=n(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=a,this.setAccDescription=u,this.setDiagramTitle=o,this.getAccTitle=l,this.getAccDescription=c,this.getDiagramTitle=h,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{d(this,"FlowDB")}sanitizeText(e){return p.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(var t of this.vertices.values())if(t.id===e)return this.diagramId?this.diagramId+"-"+t.domId:t.domId;return this.diagramId?this.diagramId+"-"+e:e}addVertex(e,t,s,i,r,a,u={},o){if(e&&0!==e.trim().length){let c;if(void 0!==o){let e;e=o.includes("\n")?o+"\n":"{\n"+o+"\n}",c=g(e,{schema:A})}var l;o=this.edges.find(t=>t.id===e);if(o)void 0!==(l=c)?.animate&&(o.animate=l.animate),void 0!==l?.animation&&(o.animation=l.animation),void 0!==l?.curve&&(o.interpolate=l.curve);else{let o,l=this.vertices.get(e);if(void 0===l&&(void 0===t&&void 0===s&&null!=i&&y.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),l={id:e,labelType:"text",domId:"flowchart-"+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,l)),this.vertexCounter++,void 0!==t?(this.config=n(),o=this.sanitizeText(t.text.trim()),l.labelType=t.type,o.startsWith('"')&&o.endsWith('"')&&(o=o.substring(1,o.length-1)),l.text=o):void 0===l.text&&(l.text=e),void 0!==s&&(l.type=s),null!=i&&i.forEach(e=>{l.styles.push(e)}),null!=r&&r.forEach(e=>{l.classes.push(e)}),void 0!==a&&(l.dir=a),void 0===l.props?l.props=u:void 0!==u&&Object.assign(l.props,u),void 0!==c){if(c.shape){if(c.shape!==c.shape.toLowerCase()||c.shape.includes("_"))throw new Error(`No such shape: ${c.shape}. Shape names should be lowercase.`);if(!b(c.shape))throw new Error(`No such shape: ${c.shape}.`);l.type=c?.shape}c?.label&&(l.text=c?.label,l.labelType=this.sanitizeNodeLabelType(c?.labelType)),c?.icon&&(l.icon=c?.icon,c.label?.trim()||l.text!==e||(l.text="")),c?.form&&(l.form=c?.form),c?.pos&&(l.pos=c?.pos),c?.img&&(l.img=c?.img,c.label?.trim()||l.text!==e||(l.text="")),c?.constraint&&(l.constraint=c.constraint),c.w&&(l.assetWidth=Number(c.w)),c.h&&(l.assetHeight=Number(c.h))}}}}addSingleLink(e,t,s,i){let r={start:e,end:t,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};if(y.info("abc78 Got edge...",r),void 0!==(e=s.text)&&(r.text=this.sanitizeText(e.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(e.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=10<s.length?10:s.length),i&&!this.edges.some(e=>e.id===i)?(r.id=i,r.isUserDefinedId=!0):0===(t=this.edges.filter(e=>e.start===r.start&&e.end===r.end)).length?r.id=k(r.start,r.end,{counter:0,prefix:"L"}):r.id=k(r.start,r.end,{counter:t.length+1,prefix:"L"}),!(this.edges.length<(this.config.maxEdges??500)))throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);y.info("Pushing edge..."),this.edges.push(r)}isLinkData(e){return null!==e&&"object"==typeof e&&"id"in e&&"string"==typeof e.id}addLink(e,t,s){var i,r=this.isLinkData(s)?s.id.replace("@",""):void 0;for(i of(y.info("addLink",e,t,r),e))for(var n of t){var a=i===e[e.length-1],u=n===t[0];a&&u?this.addSingleLink(i,n,s,r):this.addSingleLink(i,n,s,void 0)}}updateLinkInterpolate(e,t){e.forEach(e=>{"default"===e?this.edges.defaultInterpolate=t:this.edges[e].interpolate=t})}updateLink(e,t){e.forEach(e=>{if("number"==typeof e&&e>=this.edges.length)throw new Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?this.edges.defaultStyle=t:(this.edges[e].style=t,0<(this.edges[e]?.style?.length??0)&&!this.edges[e]?.style?.some(e=>e?.startsWith("fill"))&&this.edges[e]?.style?.push("fill:none"))})}addClass(e,t){let s=t.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(e=>{let t=this.classes.get(e);void 0===t&&(t={id:e,styles:[],textStyles:[]},this.classes.set(e,t)),null!=s&&s.forEach(e=>{var s;/color/.exec(e)&&(s=e.replace("fill","bgFill"),t.textStyles.push(s)),t.styles.push(e)})})}setDirection(e){this.direction=e.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(e,t){for(let i of e.split(",")){var s=((s=this.vertices.get(i))&&s.classes.push(t),this.edges.find(e=>e.id===i));(s=(s&&s.classes.push(t),this.subGraphLookup.get(i)))&&s.classes.push(t)}}setTooltip(e,t){if(void 0!==t)for(var s of(t=this.sanitizeText(t),e.split(",")))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,t)}setClickFun(e,t,s){if("loose"===n().securityLevel&&void 0!==t){let i=[];if("string"==typeof s){i=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<i.length;e++){let t=i[e].trim();t.startsWith('"')&&t.endsWith('"')&&(t=t.substr(1,t.length-2)),i[e]=t}}0===i.length&&i.push(e),(s=this.vertices.get(e))&&(s.haveCallback=!0,this.funs.push(()=>{var s=this.lookUpDomId(e);null!==(s=document.querySelector(`[id="${s}"]`))&&s.addEventListener("click",()=>{f.runFunc(t,...i)},!1)}))}}setLink(e,t,s){e.split(",").forEach(e=>{void 0!==(e=this.vertices.get(e))&&(e.link=f.formatUrl(t,this.config),e.linkTarget=s)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,t,s){e.split(",").forEach(e=>{this.setClickFun(e,t,s)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(t=>{t(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let t=_();m(e).select("svg").selectAll("g.node").on("mouseover",e=>{var s=m(e.currentTarget),i=s.attr("title");null!==i&&(e=e.currentTarget?.getBoundingClientRect(),t.transition().duration(200).style("opacity",".9"),t.text(s.attr("title")).style("left",window.scrollX+e.left+(e.right-e.left)/2+"px").style("top",window.scrollY+e.bottom+"px"),t.html(E.sanitize(i)),s.classed("hover",!0))}).on("mouseout",e=>{t.transition().duration(500).style("opacity",0),m(e.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=n(),D()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,t,s){let i=e.text.trim();var r=s.text;e===s&&/\s/.exec(s.text)&&(i=void 0);e=d(e=>{let t,s={boolean:{},number:{},string:{}},i=[];return{nodeList:e.filter(function(e){var r=typeof e;return e.stmt&&"dir"===e.stmt?(t=e.value,!1):""!==e.trim()&&(r in s?!s[r].hasOwnProperty(e)&&(s[r][e]=!0):!i.includes(e)&&i.push(e))}),dir:t}},"uniq")(t.flat());var a=e.nodeList,u=(e=void 0!==(t=e.dir),n().flowchart??{});t=t??(u.inheritDir?this.getDirection()??n().direction??void 0:void 0);if("gen-1"===this.version)for(let e=0;e<a.length;e++)a[e]=this.lookUpDomId(a[e]);return i=i??"subGraph"+this.subCount,r=this.sanitizeText(r=r||""),this.subCount=this.subCount+1,u={id:i,nodes:a,title:r.trim(),classes:[],dir:t,hasExplicitDir:e,labelType:this.sanitizeNodeLabelType(s?.type)},y.info("Adding",u.id,u.nodes,u.dir),u.nodes=this.makeUniq(u,this.subGraphs).nodes,this.subGraphs.push(u),this.subGraphLookup.set(i,u),i}getPosForId(e){for(var[t,s]of this.subGraphs.entries())if(s.id===e)return t;return-1}indexNodes2(e,t){var s=this.subGraphs[t].nodes;if(this.secCount=this.secCount+1,2e3<this.secCount)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=t,this.subGraphs[t].id===e)return{result:!0,count:0};let i=0,r=1;for(;i<s.length;){var n=this.getPosForId(s[i]);if(0<=n){if((n=this.indexNodes2(e,n)).result)return{result:!0,count:r+n.count};r+=n.count}i+=1}return{result:!1,count:r}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,0<this.subGraphs.length&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&!(this.firstGraphFlag=!1)}destructStartLink(e){let t=e.trim(),s="arrow_open";switch(t[0]){case"<":s="arrow_point",t=t.slice(1);break;case"x":s="arrow_cross",t=t.slice(1);break;case"o":s="arrow_circle",t=t.slice(1)}let i="normal";return t.includes("=")&&(i="thick"),t.includes(".")&&(i="dotted"),{type:s,stroke:i}}countChar(e,t){var s=t.length;let i=0;for(let r=0;r<s;++r)t[r]===e&&++i;return i}destructEndLink(e){var t=e.trim();let s=t.slice(0,-1),i="arrow_open";switch(t.slice(-1)){case"x":i="arrow_cross",t.startsWith("x")&&(i="double_"+i,s=s.slice(1));break;case">":i="arrow_point",t.startsWith("<")&&(i="double_"+i,s=s.slice(1));break;case"o":i="arrow_circle",t.startsWith("o")&&(i="double_"+i,s=s.slice(1))}let r="normal",n=s.length-1;return s.startsWith("=")&&(r="thick"),s.startsWith("~")&&(r="invisible"),(e=this.countChar(".",s))&&(r="dotted",n=e),{type:i,stroke:r,length:n}}destructLink(e,t){if(e=this.destructEndLink(e),t){if((t=this.destructStartLink(t)).stroke!==e.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===t.type)t.type=e.type;else{if(t.type!==e.type)return{type:"INVALID",stroke:"INVALID"};t.type="double_"+t.type}return"double_arrow"===t.type&&(t.type="double_arrow_point"),t.length=e.length,t}return e}exists(e,t){for(var s of e)if(s.nodes.includes(t))return!0;return!1}makeUniq(e,t){let s=[];return e.nodes.forEach((i,r)=>{this.exists(t,i)||s.push(e.nodes[r])}),{nodes:s}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return"circle"===e.form?"iconCircle":"square"===e.form?"iconSquare":"rounded"===e.form?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,t){return e.find(e=>e.id===t)}destructEdgeType(e){let t="none",s="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":s=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":t=e.replace("double_",""),s=t}return{arrowTypeStart:t,arrowTypeEnd:s}}addNodeFromVertex(e,t,s,i,r,n){s=s.get(e.id),i=i.get(e.id)??!1;var a=this.findNode(t,e.id);a?(a.cssStyles=e.styles,a.cssCompiledStyles=this.getCompiledStyles(e.classes),a.cssClasses=e.classes.join(" ")):(a={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:s,padding:r.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:n,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint},i?t.push({...a,isGroup:!0,shape:"rect"}):t.push({...a,isGroup:!1,shape:this.getTypeFromVertex(e)}))}getCompiledStyles(e){let t=[];for(var s of e)s=this.classes.get(s),s?.styles&&(t=[...t,...s.styles??[]].map(e=>e.trim())),s?.textStyles&&(t=[...t,...s.textStyles??[]].map(e=>e.trim()));return t}getData(){let e=n(),t=[],s=[];var i=this.getSubGraphs();let r=new Map,a=new Map;for(let e=i.length-1;0<=e;e--){var u,o=i[e];for(u of(0<o.nodes.length&&a.set(o.id,!0),o.nodes))r.set(u,o.id)}for(let s=i.length-1;0<=s;s--){var l=i[s];t.push({id:l.id,label:l.title,labelStyle:"",labelType:l.labelType,parentId:r.get(l.id),padding:8,cssCompiledStyles:this.getCompiledStyles(l.classes),cssClasses:l.classes.join(" "),shape:"rect",dir:"TD"===l.dir?"TB":l.dir,explicitDir:l.hasExplicitDir,isGroup:!0,look:e.look})}this.getVertices().forEach(s=>{this.addNodeFromVertex(s,t,r,a,e,e.look||"classic")});let c=this.getEdges();return c.forEach((t,i)=>{var{arrowTypeStart:r,arrowTypeEnd:n}=this.destructEdgeType(t.type),a=[...c.defaultStyle??[]];t.style&&a.push(...t.style),i={id:k(t.start,t.end,{counter:i,prefix:"L"},t.id),isUserDefinedId:t.isUserDefinedId,start:t.start,end:t.end,type:t.type??"normal",label:t.text,labelType:t.labelType,labelpos:"c",thickness:t.stroke,minlen:t.length,classes:"invisible"===t?.stroke?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===t?.stroke||"arrow_open"===t?.type?"none":r,arrowTypeEnd:"invisible"===t?.stroke||"arrow_open"===t?.type?"none":n,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(t.classes),labelStyle:a,style:a,pattern:t.stroke,look:e.look,animate:t.animate,animation:t.animation,curve:t.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};s.push(i)}),{nodes:t,edges:s,other:{},config:e}}defaultConfig(){return C.flowchart}},w=d(function(e,t){return t.db.getClasses()},"getClasses"),I=d(async function(e,t,s,a,u){y.info("REF0:"),y.info("Drawing state diagram (v2)",t);var{securityLevel:o,flowchart:l,layout:c}=n(),h=(a.db.setDiagramId(t),y.debug("Before getData: "),a.db.getData()),o=(y.debug("Data: ",h),i(t,o)),d=a.db.getDirection(),c=(h.type=a.type,h.layoutAlgorithm=F(c),"dagre"===h.layoutAlgorithm&&"elk"===c&&y.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=l?.nodeSpacing||50,h.rankSpacing=l?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=t,y.debug("REF1:",h),await S(h,o,u),h.config.flowchart?.diagramPadding??8);f.insertTitle(o,"flowchartTitleText",l?.titleTopMargin||0,a.db.getDiagramTitle()),r(o,c,"flowchart",l?.useMaxWidth||!1)},"draw"),$={getClasses:w,draw:I},R=(()=>{var e=d(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,5],s=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],i=[2,2],r=[1,13],n=[1,14],a=[1,15],u=[1,16],o=[1,23],l=[1,25],c=[1,26],h=[1,27],p=[1,50],g=[1,49],A=[1,29],y=[1,30],b=[1,31],k=[1,32],f=[1,33],m=[1,45],E=[1,47],D=[1,43],C=[1,48],T=[1,44],x=[1,51],F=[1,46],S=[1,52],v=[1,53],_=[1,34],B=[1,35],L=[1,36],w=[1,37],I=[1,38],$=[1,58],R=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],N=[1,62],P=[1,61],G=[1,63],O=[8,9,11,75,77,78],M=[1,79],V=[1,92],U=[1,97],j=[1,96],W=[1,93],z=[1,89],K=[1,95],Y=[1,91],X=[1,98],H=[1,94],q=[1,99],Q=[1,90],J=[8,9,10,11,40,75,77,78],Z=[8,9,10,11,40,46,75,77,78],ee=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],te=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],se=[44,60,89,102,105,106,109,111,114,115,116],ie=[1,122],re=[1,123],ne=[1,125],ae=[1,124],ue=[44,60,62,74,89,102,105,106,109,111,114,115,116],oe=[1,134],le=[1,148],ce=[1,149],he=[1,150],de=[1,151],pe=[1,136],ge=[1,138],Ae=[1,142],ye=[1,143],be=[1,144],ke=[1,145],fe=[1,146],me=[1,147],Ee=[1,152],De=[1,153],Ce=[1,132],Te=[1,133],xe=[1,140],Fe=[1,135],Se=[1,139],ve=[1,137],_e=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],Be=[1,155],Le=[1,157],we=[8,9,11],Ie=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],$e=[1,177],Re=[1,173],Ne=[1,174],Pe=[1,178],Ge=[1,175],Oe=[1,176],Me=[77,116,119],Ve=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Ue=[10,106],je=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],We=[1,248],ze=[1,246],Ke=[1,250],Ye=[1,244],Xe=[1,245],He=[1,247],qe=[1,249],Qe=[1,251],Je=[1,269],Ze=[8,9,11,106],et=[8,9,10,11,60,84,105,106,109,110,111,112],tt={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:d(function(e,t,s,i,r,n,a){var u=n.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(n[u])||0<n[u].length)&&n[u-1].push(n[u]),this.$=n[u-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=n[u];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(n[u-1]),this.$=n[u-1];break;case 27:this.$=n[u-1].nodes;break;case 33:this.$=i.addSubGraph(n[u-6],n[u-1],n[u-4]);break;case 34:this.$=i.addSubGraph(n[u-3],n[u-1],n[u-3]);break;case 35:this.$=i.addSubGraph(void 0,n[u-1],void 0);break;case 37:this.$=n[u].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=n[u].trim(),i.setAccDescription(this.$);break;case 43:case 133:this.$=n[u-1]+n[u];break;case 45:i.addVertex(n[u-1][n[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u]),i.addLink(n[u-3].stmt,n[u-1],n[u-2]),this.$={stmt:n[u-1],nodes:n[u-1].concat(n[u-3].nodes)};break;case 46:i.addLink(n[u-2].stmt,n[u],n[u-1]),this.$={stmt:n[u],nodes:n[u].concat(n[u-2].nodes)};break;case 47:i.addLink(n[u-3].stmt,n[u-1],n[u-2]),this.$={stmt:n[u-1],nodes:n[u-1].concat(n[u-3].nodes)};break;case 48:this.$={stmt:n[u-1],nodes:n[u-1]};break;case 49:i.addVertex(n[u-1][n[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u]),this.$={stmt:n[u-1],nodes:n[u-1],shapeData:n[u]};break;case 50:this.$={stmt:n[u],nodes:n[u]};break;case 51:case 128:case 130:this.$=[n[u]];break;case 52:i.addVertex(n[u-5][n[u-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u-4]),this.$=n[u-5].concat(n[u]);break;case 53:this.$=n[u-4].concat(n[u]);break;case 55:this.$=n[u-2],i.setClass(n[u-2],n[u]);break;case 56:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"square");break;case 57:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"doublecircle");break;case 58:this.$=n[u-5],i.addVertex(n[u-5],n[u-2],"circle");break;case 59:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"ellipse");break;case 60:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"stadium");break;case 61:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"subroutine");break;case 62:this.$=n[u-7],i.addVertex(n[u-7],n[u-1],"rect",void 0,void 0,void 0,Object.fromEntries([[n[u-5],n[u-3]]]));break;case 63:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"cylinder");break;case 64:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"round");break;case 65:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"diamond");break;case 66:this.$=n[u-5],i.addVertex(n[u-5],n[u-2],"hexagon");break;case 67:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"odd");break;case 68:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"trapezoid");break;case 69:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"inv_trapezoid");break;case 70:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"lean_right");break;case 71:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"lean_left");break;case 72:this.$=n[u],i.addVertex(n[u]);break;case 73:n[u-1].text=n[u],this.$=n[u-1];break;case 74:case 75:n[u-2].text=n[u-1],this.$=n[u-2];break;case 77:var o=i.destructLink(n[u],n[u-2]);this.$={type:o.type,stroke:o.stroke,length:o.length,text:n[u-1]};break;case 78:o=i.destructLink(n[u],n[u-2]),this.$={type:o.type,stroke:o.stroke,length:o.length,text:n[u-1],id:n[u-3]};break;case 79:case 86:case 101:case 103:this.$={text:n[u],type:"text"};break;case 80:case 87:case 102:this.$={text:n[u-1].text+""+n[u],type:n[u-1].type};break;case 81:case 88:this.$={text:n[u],type:"string"};break;case 82:case 89:case 104:this.$={text:n[u],type:"markdown"};break;case 83:o=i.destructLink(n[u]),this.$={type:o.type,stroke:o.stroke,length:o.length};break;case 84:o=i.destructLink(n[u]),this.$={type:o.type,stroke:o.stroke,length:o.length,id:n[u-1]};break;case 85:this.$=n[u-1];break;case 105:this.$=n[u-4],i.addClass(n[u-2],n[u]);break;case 106:this.$=n[u-4],i.setClass(n[u-2],n[u]);break;case 107:case 115:this.$=n[u-1],i.setClickEvent(n[u-1],n[u]);break;case 108:case 116:this.$=n[u-3],i.setClickEvent(n[u-3],n[u-2]),i.setTooltip(n[u-3],n[u]);break;case 109:this.$=n[u-2],i.setClickEvent(n[u-2],n[u-1],n[u]);break;case 110:this.$=n[u-4],i.setClickEvent(n[u-4],n[u-3],n[u-2]),i.setTooltip(n[u-4],n[u]);break;case 111:this.$=n[u-2],i.setLink(n[u-2],n[u]);break;case 112:this.$=n[u-4],i.setLink(n[u-4],n[u-2]),i.setTooltip(n[u-4],n[u]);break;case 113:this.$=n[u-4],i.setLink(n[u-4],n[u-2],n[u]);break;case 114:this.$=n[u-6],i.setLink(n[u-6],n[u-4],n[u]),i.setTooltip(n[u-6],n[u-2]);break;case 117:this.$=n[u-1],i.setLink(n[u-1],n[u]);break;case 118:this.$=n[u-3],i.setLink(n[u-3],n[u-2]),i.setTooltip(n[u-3],n[u]);break;case 119:this.$=n[u-3],i.setLink(n[u-3],n[u-2],n[u]);break;case 120:this.$=n[u-5],i.setLink(n[u-5],n[u-4],n[u]),i.setTooltip(n[u-5],n[u-2]);break;case 121:this.$=n[u-4],i.addVertex(n[u-2],void 0,void 0,n[u]);break;case 122:this.$=n[u-4],i.updateLink([n[u-2]],n[u]);break;case 123:this.$=n[u-4],i.updateLink(n[u-2],n[u]);break;case 124:this.$=n[u-8],i.updateLinkInterpolate([n[u-6]],n[u-2]),i.updateLink([n[u-6]],n[u]);break;case 125:this.$=n[u-8],i.updateLinkInterpolate(n[u-6],n[u-2]),i.updateLink(n[u-6],n[u]);break;case 126:this.$=n[u-6],i.updateLinkInterpolate([n[u-4]],n[u]);break;case 127:this.$=n[u-6],i.updateLinkInterpolate(n[u-4],n[u]);break;case 129:case 131:n[u-2].push(n[u]),this.$=n[u-2];break;case 182:case 184:this.$=n[u-1]+""+n[u];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,9:tt=[1,4],10:st=[1,3],12:t},{1:[3]},e(s,i,{5:6}),{4:7,9:tt,10:st,12:t},{4:8,9:tt,10:st,12:t},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:r,9:n,10:a,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:o,33:24,34:l,36:c,38:h,42:28,43:39,44:p,45:40,47:41,60:g,84:A,85:y,86:b,87:k,88:f,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v,121:_,122:B,123:L,124:w,125:I},e(s,[2,9]),e(s,[2,10]),e(s,[2,11]),{8:[1,55],9:[1,56],10:$,15:54,18:57},e(R,[2,3]),e(R,[2,4]),e(R,[2,5]),e(R,[2,6]),e(R,[2,7]),e(R,[2,8]),{8:N,9:P,11:G,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:N,9:P,11:G,21:68},{8:N,9:P,11:G,21:69},{8:N,9:P,11:G,21:70},{8:N,9:P,11:G,21:71},{8:N,9:P,11:G,21:72},{8:N,9:P,10:[1,73],11:G,21:74},e(R,[2,36]),{35:[1,75]},{37:[1,76]},e(R,[2,39]),e(O,[2,50],{18:77,39:78,10:$,40:M}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:V,44:U,60:j,80:[1,87],89:W,95:[1,84],97:[1,85],101:86,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q,120:88},e(R,[2,185]),e(R,[2,186]),e(R,[2,187]),e(R,[2,188]),e(R,[2,189]),e(J,[2,51]),e(J,[2,54],{46:[1,100]}),e(Z,[2,72],{113:113,29:[1,101],44:p,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:g,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:m,102:E,105:D,106:C,109:T,111:x,114:F,115:S,116:v}),e(ee,[2,181]),e(ee,[2,142]),e(ee,[2,143]),e(ee,[2,144]),e(ee,[2,145]),e(ee,[2,146]),e(ee,[2,147]),e(ee,[2,148]),e(ee,[2,149]),e(ee,[2,150]),e(ee,[2,151]),e(ee,[2,152]),e(s,[2,12]),e(s,[2,18]),e(s,[2,19]),{9:[1,114]},e(te,[2,26],{18:115,10:$}),e(R,[2,27]),{42:116,43:39,44:p,45:40,47:41,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},e(R,[2,40]),e(R,[2,41]),e(R,[2,42]),e(se,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ie,81:re,116:ne,119:ae},{75:[1,126],77:[1,127]},e(ue,[2,83]),e(R,[2,28]),e(R,[2,29]),e(R,[2,30]),e(R,[2,31]),e(R,[2,32]),{10:oe,12:le,14:ce,27:he,28:128,32:de,44:pe,60:ge,75:Ae,80:[1,130],81:[1,131],83:141,84:ye,85:be,86:ke,87:fe,88:me,89:Ee,90:De,91:129,105:Ce,109:Te,111:xe,114:Fe,115:Se,116:ve},e(_e,i,{5:154}),e(R,[2,37]),e(R,[2,38]),e(O,[2,48],{44:Be}),e(O,[2,49],{18:156,10:$,40:Le}),e(J,[2,44]),{44:p,47:158,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},{102:[1,159],103:160,105:[1,161]},{44:p,47:162,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},{44:p,47:163,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},e(we,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},e(we,[2,115],{120:168,10:[1,167],14:V,44:U,60:j,89:W,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q}),e(we,[2,117],{10:[1,169]}),e(Ie,[2,183]),e(Ie,[2,170]),e(Ie,[2,171]),e(Ie,[2,172]),e(Ie,[2,173]),e(Ie,[2,174]),e(Ie,[2,175]),e(Ie,[2,176]),e(Ie,[2,177]),e(Ie,[2,178]),e(Ie,[2,179]),e(Ie,[2,180]),{44:p,47:170,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},{30:171,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:179,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:181,50:[1,180],67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:182,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:183,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:184,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{109:[1,185]},{30:186,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:187,65:[1,188],67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:189,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:190,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:191,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},e(ee,[2,182]),e(s,[2,20]),e(te,[2,25]),e(O,[2,46],{39:192,18:193,10:$,40:M}),e(se,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{77:[1,197],79:198,116:ne,119:ae},e(Me,[2,79]),e(Me,[2,81]),e(Me,[2,82]),e(Me,[2,168]),e(Me,[2,169]),{76:199,79:121,80:ie,81:re,116:ne,119:ae},e(ue,[2,84]),{8:N,9:P,10:oe,11:G,12:le,14:ce,21:201,27:he,29:[1,200],32:de,44:pe,60:ge,75:Ae,83:141,84:ye,85:be,86:ke,87:fe,88:me,89:Ee,90:De,91:202,105:Ce,109:Te,111:xe,114:Fe,115:Se,116:ve},e(Ve,[2,101]),e(Ve,[2,103]),e(Ve,[2,104]),e(Ve,[2,157]),e(Ve,[2,158]),e(Ve,[2,159]),e(Ve,[2,160]),e(Ve,[2,161]),e(Ve,[2,162]),e(Ve,[2,163]),e(Ve,[2,164]),e(Ve,[2,165]),e(Ve,[2,166]),e(Ve,[2,167]),e(Ve,[2,90]),e(Ve,[2,91]),e(Ve,[2,92]),e(Ve,[2,93]),e(Ve,[2,94]),e(Ve,[2,95]),e(Ve,[2,96]),e(Ve,[2,97]),e(Ve,[2,98]),e(Ve,[2,99]),e(Ve,[2,100]),{6:11,7:12,8:r,9:n,10:a,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,203],33:24,34:l,36:c,38:h,42:28,43:39,44:p,45:40,47:41,60:g,84:A,85:y,86:b,87:k,88:f,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v,121:_,122:B,123:L,124:w,125:I},{10:$,18:204},{44:[1,205]},e(J,[2,43]),{10:[1,206],44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:113,114:F,115:S,116:v},{10:[1,207]},{10:[1,208],106:[1,209]},e(Ue,[2,128]),{10:[1,210],44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:113,114:F,115:S,116:v},{10:[1,211],44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:113,114:F,115:S,116:v},{80:[1,212]},e(we,[2,109],{10:[1,213]}),e(we,[2,111],{10:[1,214]}),{80:[1,215]},e(Ie,[2,184]),{80:[1,216],98:[1,217]},e(J,[2,55],{113:113,44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,114:F,115:S,116:v}),{31:[1,218],67:$e,82:219,116:Pe,117:Ge,118:Oe},e(je,[2,86]),e(je,[2,88]),e(je,[2,89]),e(je,[2,153]),e(je,[2,154]),e(je,[2,155]),e(je,[2,156]),{49:[1,220],67:$e,82:219,116:Pe,117:Ge,118:Oe},{30:221,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{51:[1,222],67:$e,82:219,116:Pe,117:Ge,118:Oe},{53:[1,223],67:$e,82:219,116:Pe,117:Ge,118:Oe},{55:[1,224],67:$e,82:219,116:Pe,117:Ge,118:Oe},{57:[1,225],67:$e,82:219,116:Pe,117:Ge,118:Oe},{60:[1,226]},{64:[1,227],67:$e,82:219,116:Pe,117:Ge,118:Oe},{66:[1,228],67:$e,82:219,116:Pe,117:Ge,118:Oe},{30:229,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{31:[1,230],67:$e,82:219,116:Pe,117:Ge,118:Oe},{67:$e,69:[1,231],71:[1,232],82:219,116:Pe,117:Ge,118:Oe},{67:$e,69:[1,234],71:[1,233],82:219,116:Pe,117:Ge,118:Oe},e(O,[2,45],{18:156,10:$,40:Le}),e(O,[2,47],{44:Be}),e(se,[2,75]),e(se,[2,74]),{62:[1,235],67:$e,82:219,116:Pe,117:Ge,118:Oe},e(se,[2,77]),e(Me,[2,80]),{77:[1,236],79:198,116:ne,119:ae},{30:237,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},e(_e,i,{5:238}),e(Ve,[2,102]),e(R,[2,35]),{43:239,44:p,45:40,47:41,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},{10:$,18:240},{10:We,60:ze,84:Ke,92:241,105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{10:We,60:ze,84:Ke,92:252,104:[1,253],105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{10:We,60:ze,84:Ke,92:254,104:[1,255],105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{105:[1,256]},{10:We,60:ze,84:Ke,92:257,105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{44:p,47:258,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},e(we,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},e(we,[2,116]),e(we,[2,118],{10:[1,262]}),e(we,[2,119]),e(Z,[2,56]),e(je,[2,87]),e(Z,[2,57]),{51:[1,263],67:$e,82:219,116:Pe,117:Ge,118:Oe},e(Z,[2,64]),e(Z,[2,59]),e(Z,[2,60]),e(Z,[2,61]),{109:[1,264]},e(Z,[2,63]),e(Z,[2,65]),{66:[1,265],67:$e,82:219,116:Pe,117:Ge,118:Oe},e(Z,[2,67]),e(Z,[2,68]),e(Z,[2,70]),e(Z,[2,69]),e(Z,[2,71]),e([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),e(se,[2,78]),{31:[1,266],67:$e,82:219,116:Pe,117:Ge,118:Oe},{6:11,7:12,8:r,9:n,10:a,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,267],33:24,34:l,36:c,38:h,42:28,43:39,44:p,45:40,47:41,60:g,84:A,85:y,86:b,87:k,88:f,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v,121:_,122:B,123:L,124:w,125:I},e(J,[2,53]),{43:268,44:p,45:40,47:41,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},e(we,[2,121],{106:Je}),e(Ze,[2,130],{108:270,10:We,60:ze,84:Ke,105:Ye,109:Xe,110:He,111:qe,112:Qe}),e(et,[2,132]),e(et,[2,134]),e(et,[2,135]),e(et,[2,136]),e(et,[2,137]),e(et,[2,138]),e(et,[2,139]),e(et,[2,140]),e(et,[2,141]),e(we,[2,122],{106:Je}),{10:[1,271]},e(we,[2,123],{106:Je}),{10:[1,272]},e(Ue,[2,129]),e(we,[2,105],{106:Je}),e(we,[2,106],{113:113,44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,114:F,115:S,116:v}),e(we,[2,110]),e(we,[2,112],{10:[1,273]}),e(we,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:N,9:P,11:G,21:278},e(R,[2,34]),e(J,[2,52]),{10:We,60:ze,84:Ke,105:Ye,107:279,108:243,109:Xe,110:He,111:qe,112:Qe},e(et,[2,133]),{14:V,44:U,60:j,89:W,101:280,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q,120:88},{14:V,44:U,60:j,89:W,101:281,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q,120:88},{98:[1,282]},e(we,[2,120]),e(Z,[2,58]),{30:283,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},e(Z,[2,66]),e(_e,i,{5:284}),e(Ze,[2,131],{108:270,10:We,60:ze,84:Ke,105:Ye,109:Xe,110:He,111:qe,112:Qe}),e(we,[2,126],{120:168,10:[1,285],14:V,44:U,60:j,89:W,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q}),e(we,[2,127],{120:168,10:[1,286],14:V,44:U,60:j,89:W,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q}),e(we,[2,114]),{31:[1,287],67:$e,82:219,116:Pe,117:Ge,118:Oe},{6:11,7:12,8:r,9:n,10:a,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,288],33:24,34:l,36:c,38:h,42:28,43:39,44:p,45:40,47:41,60:g,84:A,85:y,86:b,87:k,88:f,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v,121:_,122:B,123:L,124:w,125:I},{10:We,60:ze,84:Ke,92:289,105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{10:We,60:ze,84:Ke,92:290,105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},e(Z,[2,62]),e(R,[2,33]),e(we,[2,124],{106:Je}),e(we,[2,125],{106:Je})],defaultActions:{},parseError:d(function(e,t){var s;if(!t.recoverable)throw(s=new Error(e)).hash=t,s;this.trace(e)},"parseError"),parse:d(function(e){var t,s=this,i=[0],r=[],n=[null],a=[],u=this.table,o="",l=0,c=0,h=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(g.yy[t]=this.yy[t]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var A=p.yylloc,y=(a.push(A),p.options&&p.options.ranges);function b(){var e=r.pop()||p.lex()||1;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=s.symbols_[e]||e),e}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,d(function(e){i.length=i.length-2*e,n.length=n.length-e,a.length=a.length-e},"popStack"),d(b,"lex");for(var k,f,m,E,D,C,T={};;){if(f=i[i.length-1],void 0===(m=this.defaultActions[f]||(null==k&&(k=b()),u[f]&&u[f][k]))||!m.length||!m[0]){var x,F=[];for(E in u[f])this.terminals_[E]&&2<E&&F.push("'"+this.terminals_[E]+"'");x=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+F.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(x,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:A,expected:F})}if(m[0]instanceof Array&&1<m.length)throw new Error("Parse Error: multiple actions possible at state: "+f+", token: "+k);switch(m[0]){case 1:i.push(k),n.push(p.yytext),a.push(p.yylloc),i.push(m[1]),k=null,c=p.yyleng,o=p.yytext,l=p.yylineno,A=p.yylloc;break;case 2:if(D=this.productions_[m[1]][1],T.$=n[n.length-D],T._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},y&&(T._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),void 0!==(C=this.performAction.apply(T,[o,c,l,g.yy,m[1],n,a].concat(h))))return C;D&&(i=i.slice(0,-1*D*2),n=n.slice(0,-1*D),a=a.slice(0,-1*D)),i.push(this.productions_[m[1]][0]),n.push(T.$),a.push(T._$),C=u[i[i.length-2]][i[i.length-1]],i.push(C);break;case 3:return!0}}return!0},"parse")},st={EOF:1,parseError:d(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:d(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:d(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g),i=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,e=this.match.split(/(?:\r\n?|\n)/g),this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===e.length?this.yylloc.first_column:0)+e[e.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:d(function(e){this.unput(this.match.slice(e))},"less"),pastInput:d(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:d(function(e,t){var s,i;if(this.options.backtrack_lexer&&(i={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)&&(i.yylloc.range=this.yylloc.range.slice(0)),(s=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var r in i)this[r]=i[r];return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!t||s[0].length>t[0].length))if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(!this._backtrack)return!1;t=!1}else if(!this.options.flex)break;return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:d(function(){return this.next()||this.lex()},"lex"),begin:d(function(e){this.conditionStack.push(e)},"begin"),popState:d(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:d(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:d(function(e){this.begin(e)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:d(function(e,t,s,i){switch(s){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),t.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:case 38:return e.lex.firstGraph()&&this.begin("dir"),12;case 39:return 27;case 40:return 32;case 41:case 42:case 43:case 44:return 98;case 45:return this.popState(),13;case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return this.popState(),14;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:case 104:return 111;case 64:return 46;case 65:return 60;case 66:case 105:return 44;case 67:return 8;case 68:return 106;case 69:case 103:return 115;case 70:case 73:case 76:return this.popState(),77;case 71:return this.pushState("edgeText"),75;case 72:case 75:case 78:return 119;case 74:return this.pushState("thickEdgeText"),75;case 77:return this.pushState("dottedEdgeText"),75;case 79:return 77;case 80:return this.popState(),53;case 81:case 117:return"TEXT";case 82:return this.pushState("ellipseText"),52;case 83:return this.popState(),55;case 84:return this.pushState("text"),54;case 85:return this.popState(),57;case 86:return this.pushState("text"),56;case 87:return 58;case 88:return this.pushState("text"),67;case 89:return this.popState(),64;case 90:return this.pushState("text"),63;case 91:return this.popState(),49;case 92:return this.pushState("text"),48;case 93:return this.popState(),69;case 94:return this.popState(),71;case 95:return 117;case 96:return this.pushState("trapText"),68;case 97:return this.pushState("trapText"),70;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;case 110:return this.pushState("text"),62;case 111:return this.popState(),51;case 112:return this.pushState("text"),50;case 113:return this.popState(),31;case 114:return this.pushState("text"),29;case 115:return this.popState(),66;case 116:return this.pushState("text"),65;case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:swimlane-beta\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}};function it(){this.yy={}}return tt.lexer=st,d(it,"Parser"),new((it.prototype=tt).Parser=it)})(),N=R.parser=R,P=Object.assign({},N),G=(P.parse=e=>(e=e.replace(/}\s*\n/g,"}\n"),N.parse(e)),P),O=d((e,t)=>{var s=(r=B)(e,"r"),i=r(e,"g"),r=r(e,"b");return v(s,i,r,t)},"fade"),M=d(e=>`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span {\n color: ${e.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: ${e.strokeWidth??1}px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${e.lineColor} !important;\n stroke-width: 0;\n stroke: ${e.lineColor};\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: ${e.strokeWidth??2}px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n p {\n background-color: ${e.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${O(e.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${e.clusterBkg};\n stroke: ${e.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${e.edgeLabelBackground};\n p {\n background-color: ${e.edgeLabelBackground};\n padding: 2px;\n }\n .label rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n ${s()}\n`,"getStyles"),V=M,U=d(({defaultLayout:e,styles:t=V}={})=>({parser:G,get db(){return new L},renderer:$,styles:t,init:d(t=>{t.flowchart||(t.flowchart={});var s=T().layout??e??t.layout;s&&x({layout:s}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,x({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),j=U();export{U as c,j as d,V as s};
@@ -0,0 +1 @@
1
+ var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import{g as s}from"./chunk-5VM5RSS4-36b32f6e.js";import{g as i}from"./chunk-XXDRQBXY-de00e988.js";import{s as r}from"./chunk-VR4S4FIN-5feb7571.js";import{d as n,s as a,c as u,n as o,g as l,b as c,o as h,_ as d,e as p,p as g,J as A,l as y,q as b,r as k,u as f,j as m,t as E,v as D,x as C,y as T,z as x,A as F,B as S,C as v}from"./mermaid.core-2d237a1e.js";import{c as _}from"./chunk-32BRIVSS-8a8507a2.js";import{c as B}from"./channel-11d3f4bc.js";var L=class{constructor(){this.vertexCounter=0,this.config=n(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=a,this.setAccDescription=u,this.setDiagramTitle=o,this.getAccTitle=l,this.getAccDescription=c,this.getDiagramTitle=h,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{d(this,"FlowDB")}sanitizeText(e){return p.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(var t of this.vertices.values())if(t.id===e)return this.diagramId?this.diagramId+"-"+t.domId:t.domId;return this.diagramId?this.diagramId+"-"+e:e}addVertex(e,t,s,i,r,a,u={},o){if(e&&0!==e.trim().length){let c;if(void 0!==o){let e;e=o.includes("\n")?o+"\n":"{\n"+o+"\n}",c=g(e,{schema:A})}var l;o=this.edges.find(t=>t.id===e);if(o)void 0!==(l=c)?.animate&&(o.animate=l.animate),void 0!==l?.animation&&(o.animation=l.animation),void 0!==l?.curve&&(o.interpolate=l.curve);else{let o,l=this.vertices.get(e);if(void 0===l&&(void 0===t&&void 0===s&&null!=i&&y.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),l={id:e,labelType:"text",domId:"flowchart-"+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,l)),this.vertexCounter++,void 0!==t?(this.config=n(),o=this.sanitizeText(t.text.trim()),l.labelType=t.type,o.startsWith('"')&&o.endsWith('"')&&(o=o.substring(1,o.length-1)),l.text=o):void 0===l.text&&(l.text=e),void 0!==s&&(l.type=s),null!=i&&i.forEach(e=>{l.styles.push(e)}),null!=r&&r.forEach(e=>{l.classes.push(e)}),void 0!==a&&(l.dir=a),void 0===l.props?l.props=u:void 0!==u&&Object.assign(l.props,u),void 0!==c){if(c.shape){if(c.shape!==c.shape.toLowerCase()||c.shape.includes("_"))throw new Error(`No such shape: ${c.shape}. Shape names should be lowercase.`);if(!b(c.shape))throw new Error(`No such shape: ${c.shape}.`);l.type=c?.shape}c?.label&&(l.text=c?.label,l.labelType=this.sanitizeNodeLabelType(c?.labelType)),c?.icon&&(l.icon=c?.icon,c.label?.trim()||l.text!==e||(l.text="")),c?.form&&(l.form=c?.form),c?.pos&&(l.pos=c?.pos),c?.img&&(l.img=c?.img,c.label?.trim()||l.text!==e||(l.text="")),c?.constraint&&(l.constraint=c.constraint),c.w&&(l.assetWidth=Number(c.w)),c.h&&(l.assetHeight=Number(c.h))}}}}addSingleLink(e,t,s,i){let r={start:e,end:t,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};if(y.info("abc78 Got edge...",r),void 0!==(e=s.text)&&(r.text=this.sanitizeText(e.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(e.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=10<s.length?10:s.length),i&&!this.edges.some(e=>e.id===i)?(r.id=i,r.isUserDefinedId=!0):0===(t=this.edges.filter(e=>e.start===r.start&&e.end===r.end)).length?r.id=k(r.start,r.end,{counter:0,prefix:"L"}):r.id=k(r.start,r.end,{counter:t.length+1,prefix:"L"}),!(this.edges.length<(this.config.maxEdges??500)))throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);y.info("Pushing edge..."),this.edges.push(r)}isLinkData(e){return null!==e&&"object"==typeof e&&"id"in e&&"string"==typeof e.id}addLink(e,t,s){var i,r=this.isLinkData(s)?s.id.replace("@",""):void 0;for(i of(y.info("addLink",e,t,r),e))for(var n of t){var a=i===e[e.length-1],u=n===t[0];a&&u?this.addSingleLink(i,n,s,r):this.addSingleLink(i,n,s,void 0)}}updateLinkInterpolate(e,t){e.forEach(e=>{"default"===e?this.edges.defaultInterpolate=t:this.edges[e].interpolate=t})}updateLink(e,t){e.forEach(e=>{if("number"==typeof e&&e>=this.edges.length)throw new Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?this.edges.defaultStyle=t:(this.edges[e].style=t,0<(this.edges[e]?.style?.length??0)&&!this.edges[e]?.style?.some(e=>e?.startsWith("fill"))&&this.edges[e]?.style?.push("fill:none"))})}addClass(e,t){let s=t.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(e=>{let t=this.classes.get(e);void 0===t&&(t={id:e,styles:[],textStyles:[]},this.classes.set(e,t)),null!=s&&s.forEach(e=>{var s;/color/.exec(e)&&(s=e.replace("fill","bgFill"),t.textStyles.push(s)),t.styles.push(e)})})}setDirection(e){this.direction=e.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(e,t){for(let i of e.split(",")){var s=((s=this.vertices.get(i))&&s.classes.push(t),this.edges.find(e=>e.id===i));(s=(s&&s.classes.push(t),this.subGraphLookup.get(i)))&&s.classes.push(t)}}setTooltip(e,t){if(void 0!==t)for(var s of(t=this.sanitizeText(t),e.split(",")))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,t)}setClickFun(e,t,s){if("loose"===n().securityLevel&&void 0!==t){let i=[];if("string"==typeof s){i=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<i.length;e++){let t=i[e].trim();t.startsWith('"')&&t.endsWith('"')&&(t=t.substr(1,t.length-2)),i[e]=t}}0===i.length&&i.push(e),(s=this.vertices.get(e))&&(s.haveCallback=!0,this.funs.push(()=>{var s=this.lookUpDomId(e);null!==(s=document.querySelector(`[id="${s}"]`))&&s.addEventListener("click",()=>{f.runFunc(t,...i)},!1)}))}}setLink(e,t,s){e.split(",").forEach(e=>{void 0!==(e=this.vertices.get(e))&&(e.link=f.formatUrl(t,this.config),e.linkTarget=s)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,t,s){e.split(",").forEach(e=>{this.setClickFun(e,t,s)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(t=>{t(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let t=_();m(e).select("svg").selectAll("g.node").on("mouseover",e=>{var s=m(e.currentTarget),i=s.attr("title");null!==i&&(e=e.currentTarget?.getBoundingClientRect(),t.transition().duration(200).style("opacity",".9"),t.text(s.attr("title")).style("left",window.scrollX+e.left+(e.right-e.left)/2+"px").style("top",window.scrollY+e.bottom+"px"),t.html(E.sanitize(i)),s.classed("hover",!0))}).on("mouseout",e=>{t.transition().duration(500).style("opacity",0),m(e.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=n(),D()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,t,s){let i=e.text.trim();var r=s.text;e===s&&/\s/.exec(s.text)&&(i=void 0);e=d(e=>{let t,s={boolean:{},number:{},string:{}},i=[];return{nodeList:e.filter(function(e){var r=typeof e;return e.stmt&&"dir"===e.stmt?(t=e.value,!1):""!==e.trim()&&(r in s?!s[r].hasOwnProperty(e)&&(s[r][e]=!0):!i.includes(e)&&i.push(e))}),dir:t}},"uniq")(t.flat());var a=e.nodeList,u=(e=void 0!==(t=e.dir),n().flowchart??{});t=t??(u.inheritDir?this.getDirection()??n().direction??void 0:void 0);if("gen-1"===this.version)for(let e=0;e<a.length;e++)a[e]=this.lookUpDomId(a[e]);return i=i??"subGraph"+this.subCount,r=this.sanitizeText(r=r||""),this.subCount=this.subCount+1,u={id:i,nodes:a,title:r.trim(),classes:[],dir:t,hasExplicitDir:e,labelType:this.sanitizeNodeLabelType(s?.type)},y.info("Adding",u.id,u.nodes,u.dir),u.nodes=this.makeUniq(u,this.subGraphs).nodes,this.subGraphs.push(u),this.subGraphLookup.set(i,u),i}getPosForId(e){for(var[t,s]of this.subGraphs.entries())if(s.id===e)return t;return-1}indexNodes2(e,t){var s=this.subGraphs[t].nodes;if(this.secCount=this.secCount+1,2e3<this.secCount)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=t,this.subGraphs[t].id===e)return{result:!0,count:0};let i=0,r=1;for(;i<s.length;){var n=this.getPosForId(s[i]);if(0<=n){if((n=this.indexNodes2(e,n)).result)return{result:!0,count:r+n.count};r+=n.count}i+=1}return{result:!1,count:r}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,0<this.subGraphs.length&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&!(this.firstGraphFlag=!1)}destructStartLink(e){let t=e.trim(),s="arrow_open";switch(t[0]){case"<":s="arrow_point",t=t.slice(1);break;case"x":s="arrow_cross",t=t.slice(1);break;case"o":s="arrow_circle",t=t.slice(1)}let i="normal";return t.includes("=")&&(i="thick"),t.includes(".")&&(i="dotted"),{type:s,stroke:i}}countChar(e,t){var s=t.length;let i=0;for(let r=0;r<s;++r)t[r]===e&&++i;return i}destructEndLink(e){var t=e.trim();let s=t.slice(0,-1),i="arrow_open";switch(t.slice(-1)){case"x":i="arrow_cross",t.startsWith("x")&&(i="double_"+i,s=s.slice(1));break;case">":i="arrow_point",t.startsWith("<")&&(i="double_"+i,s=s.slice(1));break;case"o":i="arrow_circle",t.startsWith("o")&&(i="double_"+i,s=s.slice(1))}let r="normal",n=s.length-1;return s.startsWith("=")&&(r="thick"),s.startsWith("~")&&(r="invisible"),(e=this.countChar(".",s))&&(r="dotted",n=e),{type:i,stroke:r,length:n}}destructLink(e,t){if(e=this.destructEndLink(e),t){if((t=this.destructStartLink(t)).stroke!==e.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===t.type)t.type=e.type;else{if(t.type!==e.type)return{type:"INVALID",stroke:"INVALID"};t.type="double_"+t.type}return"double_arrow"===t.type&&(t.type="double_arrow_point"),t.length=e.length,t}return e}exists(e,t){for(var s of e)if(s.nodes.includes(t))return!0;return!1}makeUniq(e,t){let s=[];return e.nodes.forEach((i,r)=>{this.exists(t,i)||s.push(e.nodes[r])}),{nodes:s}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return"circle"===e.form?"iconCircle":"square"===e.form?"iconSquare":"rounded"===e.form?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,t){return e.find(e=>e.id===t)}destructEdgeType(e){let t="none",s="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":s=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":t=e.replace("double_",""),s=t}return{arrowTypeStart:t,arrowTypeEnd:s}}addNodeFromVertex(e,t,s,i,r,n){s=s.get(e.id),i=i.get(e.id)??!1;var a=this.findNode(t,e.id);a?(a.cssStyles=e.styles,a.cssCompiledStyles=this.getCompiledStyles(e.classes),a.cssClasses=e.classes.join(" ")):(a={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:s,padding:r.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:n,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint},i?t.push({...a,isGroup:!0,shape:"rect"}):t.push({...a,isGroup:!1,shape:this.getTypeFromVertex(e)}))}getCompiledStyles(e){let t=[];for(var s of e)s=this.classes.get(s),s?.styles&&(t=[...t,...s.styles??[]].map(e=>e.trim())),s?.textStyles&&(t=[...t,...s.textStyles??[]].map(e=>e.trim()));return t}getData(){let e=n(),t=[],s=[];var i=this.getSubGraphs();let r=new Map,a=new Map;for(let e=i.length-1;0<=e;e--){var u,o=i[e];for(u of(0<o.nodes.length&&a.set(o.id,!0),o.nodes))r.set(u,o.id)}for(let s=i.length-1;0<=s;s--){var l=i[s];t.push({id:l.id,label:l.title,labelStyle:"",labelType:l.labelType,parentId:r.get(l.id),padding:8,cssCompiledStyles:this.getCompiledStyles(l.classes),cssClasses:l.classes.join(" "),shape:"rect",dir:"TD"===l.dir?"TB":l.dir,explicitDir:l.hasExplicitDir,isGroup:!0,look:e.look})}this.getVertices().forEach(s=>{this.addNodeFromVertex(s,t,r,a,e,e.look||"classic")});let c=this.getEdges();return c.forEach((t,i)=>{var{arrowTypeStart:r,arrowTypeEnd:n}=this.destructEdgeType(t.type),a=[...c.defaultStyle??[]];t.style&&a.push(...t.style),i={id:k(t.start,t.end,{counter:i,prefix:"L"},t.id),isUserDefinedId:t.isUserDefinedId,start:t.start,end:t.end,type:t.type??"normal",label:t.text,labelType:t.labelType,labelpos:"c",thickness:t.stroke,minlen:t.length,classes:"invisible"===t?.stroke?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===t?.stroke||"arrow_open"===t?.type?"none":r,arrowTypeEnd:"invisible"===t?.stroke||"arrow_open"===t?.type?"none":n,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(t.classes),labelStyle:a,style:a,pattern:t.stroke,look:e.look,animate:t.animate,animation:t.animation,curve:t.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};s.push(i)}),{nodes:t,edges:s,other:{},config:e}}defaultConfig(){return C.flowchart}},w=d(function(e,t){return t.db.getClasses()},"getClasses"),I=d(async function(e,t,s,a,u){y.info("REF0:"),y.info("Drawing state diagram (v2)",t);var{securityLevel:o,flowchart:l,layout:c}=n(),h=(a.db.setDiagramId(t),y.debug("Before getData: "),a.db.getData()),o=(y.debug("Data: ",h),i(t,o)),d=a.db.getDirection(),c=(h.type=a.type,h.layoutAlgorithm=F(c),"dagre"===h.layoutAlgorithm&&"elk"===c&&y.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=l?.nodeSpacing||50,h.rankSpacing=l?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=t,y.debug("REF1:",h),await S(h,o,u),h.config.flowchart?.diagramPadding??8);f.insertTitle(o,"flowchartTitleText",l?.titleTopMargin||0,a.db.getDiagramTitle()),r(o,c,"flowchart",l?.useMaxWidth||!1)},"draw"),$={getClasses:w,draw:I},R=(()=>{var e=d(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,5],s=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],i=[2,2],r=[1,13],n=[1,14],a=[1,15],u=[1,16],o=[1,23],l=[1,25],c=[1,26],h=[1,27],p=[1,50],g=[1,49],A=[1,29],y=[1,30],b=[1,31],k=[1,32],f=[1,33],m=[1,45],E=[1,47],D=[1,43],C=[1,48],T=[1,44],x=[1,51],F=[1,46],S=[1,52],v=[1,53],_=[1,34],B=[1,35],L=[1,36],w=[1,37],I=[1,38],$=[1,58],R=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],N=[1,62],P=[1,61],G=[1,63],O=[8,9,11,75,77,78],M=[1,79],V=[1,92],U=[1,97],j=[1,96],W=[1,93],z=[1,89],K=[1,95],Y=[1,91],X=[1,98],H=[1,94],q=[1,99],Q=[1,90],J=[8,9,10,11,40,75,77,78],Z=[8,9,10,11,40,46,75,77,78],ee=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],te=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],se=[44,60,89,102,105,106,109,111,114,115,116],ie=[1,122],re=[1,123],ne=[1,125],ae=[1,124],ue=[44,60,62,74,89,102,105,106,109,111,114,115,116],oe=[1,134],le=[1,148],ce=[1,149],he=[1,150],de=[1,151],pe=[1,136],ge=[1,138],Ae=[1,142],ye=[1,143],be=[1,144],ke=[1,145],fe=[1,146],me=[1,147],Ee=[1,152],De=[1,153],Ce=[1,132],Te=[1,133],xe=[1,140],Fe=[1,135],Se=[1,139],ve=[1,137],_e=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],Be=[1,155],Le=[1,157],we=[8,9,11],Ie=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],$e=[1,177],Re=[1,173],Ne=[1,174],Pe=[1,178],Ge=[1,175],Oe=[1,176],Me=[77,116,119],Ve=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Ue=[10,106],je=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],We=[1,248],ze=[1,246],Ke=[1,250],Ye=[1,244],Xe=[1,245],He=[1,247],qe=[1,249],Qe=[1,251],Je=[1,269],Ze=[8,9,11,106],et=[8,9,10,11,60,84,105,106,109,110,111,112],tt={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:d(function(e,t,s,i,r,n,a){var u=n.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(n[u])||0<n[u].length)&&n[u-1].push(n[u]),this.$=n[u-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=n[u];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(n[u-1]),this.$=n[u-1];break;case 27:this.$=n[u-1].nodes;break;case 33:this.$=i.addSubGraph(n[u-6],n[u-1],n[u-4]);break;case 34:this.$=i.addSubGraph(n[u-3],n[u-1],n[u-3]);break;case 35:this.$=i.addSubGraph(void 0,n[u-1],void 0);break;case 37:this.$=n[u].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=n[u].trim(),i.setAccDescription(this.$);break;case 43:case 133:this.$=n[u-1]+n[u];break;case 45:i.addVertex(n[u-1][n[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u]),i.addLink(n[u-3].stmt,n[u-1],n[u-2]),this.$={stmt:n[u-1],nodes:n[u-1].concat(n[u-3].nodes)};break;case 46:i.addLink(n[u-2].stmt,n[u],n[u-1]),this.$={stmt:n[u],nodes:n[u].concat(n[u-2].nodes)};break;case 47:i.addLink(n[u-3].stmt,n[u-1],n[u-2]),this.$={stmt:n[u-1],nodes:n[u-1].concat(n[u-3].nodes)};break;case 48:this.$={stmt:n[u-1],nodes:n[u-1]};break;case 49:i.addVertex(n[u-1][n[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u]),this.$={stmt:n[u-1],nodes:n[u-1],shapeData:n[u]};break;case 50:this.$={stmt:n[u],nodes:n[u]};break;case 51:case 128:case 130:this.$=[n[u]];break;case 52:i.addVertex(n[u-5][n[u-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,n[u-4]),this.$=n[u-5].concat(n[u]);break;case 53:this.$=n[u-4].concat(n[u]);break;case 55:this.$=n[u-2],i.setClass(n[u-2],n[u]);break;case 56:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"square");break;case 57:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"doublecircle");break;case 58:this.$=n[u-5],i.addVertex(n[u-5],n[u-2],"circle");break;case 59:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"ellipse");break;case 60:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"stadium");break;case 61:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"subroutine");break;case 62:this.$=n[u-7],i.addVertex(n[u-7],n[u-1],"rect",void 0,void 0,void 0,Object.fromEntries([[n[u-5],n[u-3]]]));break;case 63:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"cylinder");break;case 64:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"round");break;case 65:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"diamond");break;case 66:this.$=n[u-5],i.addVertex(n[u-5],n[u-2],"hexagon");break;case 67:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"odd");break;case 68:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"trapezoid");break;case 69:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"inv_trapezoid");break;case 70:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"lean_right");break;case 71:this.$=n[u-3],i.addVertex(n[u-3],n[u-1],"lean_left");break;case 72:this.$=n[u],i.addVertex(n[u]);break;case 73:n[u-1].text=n[u],this.$=n[u-1];break;case 74:case 75:n[u-2].text=n[u-1],this.$=n[u-2];break;case 77:var o=i.destructLink(n[u],n[u-2]);this.$={type:o.type,stroke:o.stroke,length:o.length,text:n[u-1]};break;case 78:o=i.destructLink(n[u],n[u-2]),this.$={type:o.type,stroke:o.stroke,length:o.length,text:n[u-1],id:n[u-3]};break;case 79:case 86:case 101:case 103:this.$={text:n[u],type:"text"};break;case 80:case 87:case 102:this.$={text:n[u-1].text+""+n[u],type:n[u-1].type};break;case 81:case 88:this.$={text:n[u],type:"string"};break;case 82:case 89:case 104:this.$={text:n[u],type:"markdown"};break;case 83:o=i.destructLink(n[u]),this.$={type:o.type,stroke:o.stroke,length:o.length};break;case 84:o=i.destructLink(n[u]),this.$={type:o.type,stroke:o.stroke,length:o.length,id:n[u-1]};break;case 85:this.$=n[u-1];break;case 105:this.$=n[u-4],i.addClass(n[u-2],n[u]);break;case 106:this.$=n[u-4],i.setClass(n[u-2],n[u]);break;case 107:case 115:this.$=n[u-1],i.setClickEvent(n[u-1],n[u]);break;case 108:case 116:this.$=n[u-3],i.setClickEvent(n[u-3],n[u-2]),i.setTooltip(n[u-3],n[u]);break;case 109:this.$=n[u-2],i.setClickEvent(n[u-2],n[u-1],n[u]);break;case 110:this.$=n[u-4],i.setClickEvent(n[u-4],n[u-3],n[u-2]),i.setTooltip(n[u-4],n[u]);break;case 111:this.$=n[u-2],i.setLink(n[u-2],n[u]);break;case 112:this.$=n[u-4],i.setLink(n[u-4],n[u-2]),i.setTooltip(n[u-4],n[u]);break;case 113:this.$=n[u-4],i.setLink(n[u-4],n[u-2],n[u]);break;case 114:this.$=n[u-6],i.setLink(n[u-6],n[u-4],n[u]),i.setTooltip(n[u-6],n[u-2]);break;case 117:this.$=n[u-1],i.setLink(n[u-1],n[u]);break;case 118:this.$=n[u-3],i.setLink(n[u-3],n[u-2]),i.setTooltip(n[u-3],n[u]);break;case 119:this.$=n[u-3],i.setLink(n[u-3],n[u-2],n[u]);break;case 120:this.$=n[u-5],i.setLink(n[u-5],n[u-4],n[u]),i.setTooltip(n[u-5],n[u-2]);break;case 121:this.$=n[u-4],i.addVertex(n[u-2],void 0,void 0,n[u]);break;case 122:this.$=n[u-4],i.updateLink([n[u-2]],n[u]);break;case 123:this.$=n[u-4],i.updateLink(n[u-2],n[u]);break;case 124:this.$=n[u-8],i.updateLinkInterpolate([n[u-6]],n[u-2]),i.updateLink([n[u-6]],n[u]);break;case 125:this.$=n[u-8],i.updateLinkInterpolate(n[u-6],n[u-2]),i.updateLink(n[u-6],n[u]);break;case 126:this.$=n[u-6],i.updateLinkInterpolate([n[u-4]],n[u]);break;case 127:this.$=n[u-6],i.updateLinkInterpolate(n[u-4],n[u]);break;case 129:case 131:n[u-2].push(n[u]),this.$=n[u-2];break;case 182:case 184:this.$=n[u-1]+""+n[u];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,9:tt=[1,4],10:st=[1,3],12:t},{1:[3]},e(s,i,{5:6}),{4:7,9:tt,10:st,12:t},{4:8,9:tt,10:st,12:t},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:r,9:n,10:a,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:o,33:24,34:l,36:c,38:h,42:28,43:39,44:p,45:40,47:41,60:g,84:A,85:y,86:b,87:k,88:f,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v,121:_,122:B,123:L,124:w,125:I},e(s,[2,9]),e(s,[2,10]),e(s,[2,11]),{8:[1,55],9:[1,56],10:$,15:54,18:57},e(R,[2,3]),e(R,[2,4]),e(R,[2,5]),e(R,[2,6]),e(R,[2,7]),e(R,[2,8]),{8:N,9:P,11:G,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:N,9:P,11:G,21:68},{8:N,9:P,11:G,21:69},{8:N,9:P,11:G,21:70},{8:N,9:P,11:G,21:71},{8:N,9:P,11:G,21:72},{8:N,9:P,10:[1,73],11:G,21:74},e(R,[2,36]),{35:[1,75]},{37:[1,76]},e(R,[2,39]),e(O,[2,50],{18:77,39:78,10:$,40:M}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:V,44:U,60:j,80:[1,87],89:W,95:[1,84],97:[1,85],101:86,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q,120:88},e(R,[2,185]),e(R,[2,186]),e(R,[2,187]),e(R,[2,188]),e(R,[2,189]),e(J,[2,51]),e(J,[2,54],{46:[1,100]}),e(Z,[2,72],{113:113,29:[1,101],44:p,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:g,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:m,102:E,105:D,106:C,109:T,111:x,114:F,115:S,116:v}),e(ee,[2,181]),e(ee,[2,142]),e(ee,[2,143]),e(ee,[2,144]),e(ee,[2,145]),e(ee,[2,146]),e(ee,[2,147]),e(ee,[2,148]),e(ee,[2,149]),e(ee,[2,150]),e(ee,[2,151]),e(ee,[2,152]),e(s,[2,12]),e(s,[2,18]),e(s,[2,19]),{9:[1,114]},e(te,[2,26],{18:115,10:$}),e(R,[2,27]),{42:116,43:39,44:p,45:40,47:41,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},e(R,[2,40]),e(R,[2,41]),e(R,[2,42]),e(se,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ie,81:re,116:ne,119:ae},{75:[1,126],77:[1,127]},e(ue,[2,83]),e(R,[2,28]),e(R,[2,29]),e(R,[2,30]),e(R,[2,31]),e(R,[2,32]),{10:oe,12:le,14:ce,27:he,28:128,32:de,44:pe,60:ge,75:Ae,80:[1,130],81:[1,131],83:141,84:ye,85:be,86:ke,87:fe,88:me,89:Ee,90:De,91:129,105:Ce,109:Te,111:xe,114:Fe,115:Se,116:ve},e(_e,i,{5:154}),e(R,[2,37]),e(R,[2,38]),e(O,[2,48],{44:Be}),e(O,[2,49],{18:156,10:$,40:Le}),e(J,[2,44]),{44:p,47:158,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},{102:[1,159],103:160,105:[1,161]},{44:p,47:162,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},{44:p,47:163,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},e(we,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},e(we,[2,115],{120:168,10:[1,167],14:V,44:U,60:j,89:W,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q}),e(we,[2,117],{10:[1,169]}),e(Ie,[2,183]),e(Ie,[2,170]),e(Ie,[2,171]),e(Ie,[2,172]),e(Ie,[2,173]),e(Ie,[2,174]),e(Ie,[2,175]),e(Ie,[2,176]),e(Ie,[2,177]),e(Ie,[2,178]),e(Ie,[2,179]),e(Ie,[2,180]),{44:p,47:170,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},{30:171,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:179,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:181,50:[1,180],67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:182,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:183,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:184,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{109:[1,185]},{30:186,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:187,65:[1,188],67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:189,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:190,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{30:191,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},e(ee,[2,182]),e(s,[2,20]),e(te,[2,25]),e(O,[2,46],{39:192,18:193,10:$,40:M}),e(se,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{77:[1,197],79:198,116:ne,119:ae},e(Me,[2,79]),e(Me,[2,81]),e(Me,[2,82]),e(Me,[2,168]),e(Me,[2,169]),{76:199,79:121,80:ie,81:re,116:ne,119:ae},e(ue,[2,84]),{8:N,9:P,10:oe,11:G,12:le,14:ce,21:201,27:he,29:[1,200],32:de,44:pe,60:ge,75:Ae,83:141,84:ye,85:be,86:ke,87:fe,88:me,89:Ee,90:De,91:202,105:Ce,109:Te,111:xe,114:Fe,115:Se,116:ve},e(Ve,[2,101]),e(Ve,[2,103]),e(Ve,[2,104]),e(Ve,[2,157]),e(Ve,[2,158]),e(Ve,[2,159]),e(Ve,[2,160]),e(Ve,[2,161]),e(Ve,[2,162]),e(Ve,[2,163]),e(Ve,[2,164]),e(Ve,[2,165]),e(Ve,[2,166]),e(Ve,[2,167]),e(Ve,[2,90]),e(Ve,[2,91]),e(Ve,[2,92]),e(Ve,[2,93]),e(Ve,[2,94]),e(Ve,[2,95]),e(Ve,[2,96]),e(Ve,[2,97]),e(Ve,[2,98]),e(Ve,[2,99]),e(Ve,[2,100]),{6:11,7:12,8:r,9:n,10:a,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,203],33:24,34:l,36:c,38:h,42:28,43:39,44:p,45:40,47:41,60:g,84:A,85:y,86:b,87:k,88:f,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v,121:_,122:B,123:L,124:w,125:I},{10:$,18:204},{44:[1,205]},e(J,[2,43]),{10:[1,206],44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:113,114:F,115:S,116:v},{10:[1,207]},{10:[1,208],106:[1,209]},e(Ue,[2,128]),{10:[1,210],44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:113,114:F,115:S,116:v},{10:[1,211],44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:113,114:F,115:S,116:v},{80:[1,212]},e(we,[2,109],{10:[1,213]}),e(we,[2,111],{10:[1,214]}),{80:[1,215]},e(Ie,[2,184]),{80:[1,216],98:[1,217]},e(J,[2,55],{113:113,44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,114:F,115:S,116:v}),{31:[1,218],67:$e,82:219,116:Pe,117:Ge,118:Oe},e(je,[2,86]),e(je,[2,88]),e(je,[2,89]),e(je,[2,153]),e(je,[2,154]),e(je,[2,155]),e(je,[2,156]),{49:[1,220],67:$e,82:219,116:Pe,117:Ge,118:Oe},{30:221,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{51:[1,222],67:$e,82:219,116:Pe,117:Ge,118:Oe},{53:[1,223],67:$e,82:219,116:Pe,117:Ge,118:Oe},{55:[1,224],67:$e,82:219,116:Pe,117:Ge,118:Oe},{57:[1,225],67:$e,82:219,116:Pe,117:Ge,118:Oe},{60:[1,226]},{64:[1,227],67:$e,82:219,116:Pe,117:Ge,118:Oe},{66:[1,228],67:$e,82:219,116:Pe,117:Ge,118:Oe},{30:229,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},{31:[1,230],67:$e,82:219,116:Pe,117:Ge,118:Oe},{67:$e,69:[1,231],71:[1,232],82:219,116:Pe,117:Ge,118:Oe},{67:$e,69:[1,234],71:[1,233],82:219,116:Pe,117:Ge,118:Oe},e(O,[2,45],{18:156,10:$,40:Le}),e(O,[2,47],{44:Be}),e(se,[2,75]),e(se,[2,74]),{62:[1,235],67:$e,82:219,116:Pe,117:Ge,118:Oe},e(se,[2,77]),e(Me,[2,80]),{77:[1,236],79:198,116:ne,119:ae},{30:237,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},e(_e,i,{5:238}),e(Ve,[2,102]),e(R,[2,35]),{43:239,44:p,45:40,47:41,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},{10:$,18:240},{10:We,60:ze,84:Ke,92:241,105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{10:We,60:ze,84:Ke,92:252,104:[1,253],105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{10:We,60:ze,84:Ke,92:254,104:[1,255],105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{105:[1,256]},{10:We,60:ze,84:Ke,92:257,105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{44:p,47:258,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},e(we,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},e(we,[2,116]),e(we,[2,118],{10:[1,262]}),e(we,[2,119]),e(Z,[2,56]),e(je,[2,87]),e(Z,[2,57]),{51:[1,263],67:$e,82:219,116:Pe,117:Ge,118:Oe},e(Z,[2,64]),e(Z,[2,59]),e(Z,[2,60]),e(Z,[2,61]),{109:[1,264]},e(Z,[2,63]),e(Z,[2,65]),{66:[1,265],67:$e,82:219,116:Pe,117:Ge,118:Oe},e(Z,[2,67]),e(Z,[2,68]),e(Z,[2,70]),e(Z,[2,69]),e(Z,[2,71]),e([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),e(se,[2,78]),{31:[1,266],67:$e,82:219,116:Pe,117:Ge,118:Oe},{6:11,7:12,8:r,9:n,10:a,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,267],33:24,34:l,36:c,38:h,42:28,43:39,44:p,45:40,47:41,60:g,84:A,85:y,86:b,87:k,88:f,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v,121:_,122:B,123:L,124:w,125:I},e(J,[2,53]),{43:268,44:p,45:40,47:41,60:g,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v},e(we,[2,121],{106:Je}),e(Ze,[2,130],{108:270,10:We,60:ze,84:Ke,105:Ye,109:Xe,110:He,111:qe,112:Qe}),e(et,[2,132]),e(et,[2,134]),e(et,[2,135]),e(et,[2,136]),e(et,[2,137]),e(et,[2,138]),e(et,[2,139]),e(et,[2,140]),e(et,[2,141]),e(we,[2,122],{106:Je}),{10:[1,271]},e(we,[2,123],{106:Je}),{10:[1,272]},e(Ue,[2,129]),e(we,[2,105],{106:Je}),e(we,[2,106],{113:113,44:p,60:g,89:m,102:E,105:D,106:C,109:T,111:x,114:F,115:S,116:v}),e(we,[2,110]),e(we,[2,112],{10:[1,273]}),e(we,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:N,9:P,11:G,21:278},e(R,[2,34]),e(J,[2,52]),{10:We,60:ze,84:Ke,105:Ye,107:279,108:243,109:Xe,110:He,111:qe,112:Qe},e(et,[2,133]),{14:V,44:U,60:j,89:W,101:280,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q,120:88},{14:V,44:U,60:j,89:W,101:281,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q,120:88},{98:[1,282]},e(we,[2,120]),e(Z,[2,58]),{30:283,67:$e,80:Re,81:Ne,82:172,116:Pe,117:Ge,118:Oe},e(Z,[2,66]),e(_e,i,{5:284}),e(Ze,[2,131],{108:270,10:We,60:ze,84:Ke,105:Ye,109:Xe,110:He,111:qe,112:Qe}),e(we,[2,126],{120:168,10:[1,285],14:V,44:U,60:j,89:W,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q}),e(we,[2,127],{120:168,10:[1,286],14:V,44:U,60:j,89:W,105:z,106:K,109:Y,111:X,114:H,115:q,116:Q}),e(we,[2,114]),{31:[1,287],67:$e,82:219,116:Pe,117:Ge,118:Oe},{6:11,7:12,8:r,9:n,10:a,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:o,32:[1,288],33:24,34:l,36:c,38:h,42:28,43:39,44:p,45:40,47:41,60:g,84:A,85:y,86:b,87:k,88:f,89:m,102:E,105:D,106:C,109:T,111:x,113:42,114:F,115:S,116:v,121:_,122:B,123:L,124:w,125:I},{10:We,60:ze,84:Ke,92:289,105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},{10:We,60:ze,84:Ke,92:290,105:Ye,107:242,108:243,109:Xe,110:He,111:qe,112:Qe},e(Z,[2,62]),e(R,[2,33]),e(we,[2,124],{106:Je}),e(we,[2,125],{106:Je})],defaultActions:{},parseError:d(function(e,t){var s;if(!t.recoverable)throw(s=new Error(e)).hash=t,s;this.trace(e)},"parseError"),parse:d(function(e){var t,s=this,i=[0],r=[],n=[null],a=[],u=this.table,o="",l=0,c=0,h=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(g.yy[t]=this.yy[t]);p.setInput(e,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var A=p.yylloc,y=(a.push(A),p.options&&p.options.ranges);function b(){var e=r.pop()||p.lex()||1;return"number"!=typeof e&&(e instanceof Array&&(e=(r=e).pop()),e=s.symbols_[e]||e),e}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,d(function(e){i.length=i.length-2*e,n.length=n.length-e,a.length=a.length-e},"popStack"),d(b,"lex");for(var k,f,m,E,D,C,T={};;){if(f=i[i.length-1],void 0===(m=this.defaultActions[f]||(null==k&&(k=b()),u[f]&&u[f][k]))||!m.length||!m[0]){var x,F=[];for(E in u[f])this.terminals_[E]&&2<E&&F.push("'"+this.terminals_[E]+"'");x=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+F.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(x,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:A,expected:F})}if(m[0]instanceof Array&&1<m.length)throw new Error("Parse Error: multiple actions possible at state: "+f+", token: "+k);switch(m[0]){case 1:i.push(k),n.push(p.yytext),a.push(p.yylloc),i.push(m[1]),k=null,c=p.yyleng,o=p.yytext,l=p.yylineno,A=p.yylloc;break;case 2:if(D=this.productions_[m[1]][1],T.$=n[n.length-D],T._$={first_line:a[a.length-(D||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(D||1)].first_column,last_column:a[a.length-1].last_column},y&&(T._$.range=[a[a.length-(D||1)].range[0],a[a.length-1].range[1]]),void 0!==(C=this.performAction.apply(T,[o,c,l,g.yy,m[1],n,a].concat(h))))return C;D&&(i=i.slice(0,-1*D*2),n=n.slice(0,-1*D),a=a.slice(0,-1*D)),i.push(this.productions_[m[1]][0]),n.push(T.$),a.push(T._$),C=u[i[i.length-2]][i[i.length-1]],i.push(C);break;case 3:return!0}}return!0},"parse")},st={EOF:1,parseError:d(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:d(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:d(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g),i=(this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t,e=this.match.split(/(?:\r\n?|\n)/g),this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1),this.yylloc.range);return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===e.length?this.yylloc.first_column:0)+e[e.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:d(function(e){this.unput(this.match.slice(e))},"less"),pastInput:d(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(20<e.length?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(20<e.length?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:d(function(e,t){var s,i;if(this.options.backtrack_lexer&&(i={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)&&(i.yylloc.range=this.yylloc.range.slice(0)),(s=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var r in i)this[r]=i[r];return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!t||s[0].length>t[0].length))if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(!this._backtrack)return!1;t=!1}else if(!this.options.flex)break;return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:d(function(){return this.next()||this.lex()},"lex"),begin:d(function(e){this.conditionStack.push(e)},"begin"),popState:d(function(){return 0<this.conditionStack.length-1?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(function(){return(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL).rules},"_currentRules"),topState:d(function(e){return 0<=(e=this.conditionStack.length-1-Math.abs(e||0))?this.conditionStack[e]:"INITIAL"},"topState"),pushState:d(function(e){this.begin(e)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:d(function(e,t,s,i){switch(s){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),t.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:case 38:return e.lex.firstGraph()&&this.begin("dir"),12;case 39:return 27;case 40:return 32;case 41:case 42:case 43:case 44:return 98;case 45:return this.popState(),13;case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return this.popState(),14;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:case 104:return 111;case 64:return 46;case 65:return 60;case 66:case 105:return 44;case 67:return 8;case 68:return 106;case 69:case 103:return 115;case 70:case 73:case 76:return this.popState(),77;case 71:return this.pushState("edgeText"),75;case 72:case 75:case 78:return 119;case 74:return this.pushState("thickEdgeText"),75;case 77:return this.pushState("dottedEdgeText"),75;case 79:return 77;case 80:return this.popState(),53;case 81:case 117:return"TEXT";case 82:return this.pushState("ellipseText"),52;case 83:return this.popState(),55;case 84:return this.pushState("text"),54;case 85:return this.popState(),57;case 86:return this.pushState("text"),56;case 87:return 58;case 88:return this.pushState("text"),67;case 89:return this.popState(),64;case 90:return this.pushState("text"),63;case 91:return this.popState(),49;case 92:return this.pushState("text"),48;case 93:return this.popState(),69;case 94:return this.popState(),71;case 95:return 117;case 96:return this.pushState("trapText"),68;case 97:return this.pushState("trapText"),70;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;case 110:return this.pushState("text"),62;case 111:return this.popState(),51;case 112:return this.pushState("text"),50;case 113:return this.popState(),31;case 114:return this.pushState("text"),29;case 115:return this.popState(),66;case 116:return this.pushState("text"),65;case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:swimlane-beta\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}};function it(){this.yy={}}return tt.lexer=st,d(it,"Parser"),new((it.prototype=tt).Parser=it)})(),N=R.parser=R,P=Object.assign({},N),G=(P.parse=e=>(e=e.replace(/}\s*\n/g,"}\n"),N.parse(e)),P),O=d((e,t)=>{var s=(r=B)(e,"r"),i=r(e,"g"),r=r(e,"b");return v(s,i,r,t)},"fade"),M=d(e=>`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span {\n color: ${e.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: ${e.strokeWidth??1}px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${e.lineColor} !important;\n stroke-width: 0;\n stroke: ${e.lineColor};\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: ${e.strokeWidth??2}px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n p {\n background-color: ${e.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${O(e.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${e.clusterBkg};\n stroke: ${e.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${e.edgeLabelBackground};\n p {\n background-color: ${e.edgeLabelBackground};\n padding: 2px;\n }\n .label rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n ${s()}\n`,"getStyles"),V=M,U=d(({defaultLayout:e,styles:t=V}={})=>({parser:G,get db(){return new L},renderer:$,styles:t,init:d(t=>{t.flowchart||(t.flowchart={});var s=T().layout??e??t.layout;s&&x({layout:s}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,x({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),j=U();export{U as c,j as d,V as s};
@@ -0,0 +1 @@
1
+ var e,n;(e=self.document)&&!e.getElementById("livereloadscript")&&((n=e.createElement("script")).async=1,n.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",n.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(n));import{_ as r,l as t}from"./mermaid.core-2d237a1e.js";import{i as a,G as i}from"./graph-0df36b9d.js";import{b as o,m as d}from"./map-d3292a5b.js";function s(e){var n,r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(n=e,d(n.nodes(),function(e){var r=n.node(e),t=n.parent(e),e={v:e};return a(r)||(e.value=r),a(t)||(e.parent=t),e})),edges:l(e)};return a(e.graph())||(r.value=function(e){return o(e,4)}(e.graph())),r}function l(e){return d(e.edges(),function(n){var r=e.edge(n),t={v:n.v,w:n.w};return a(n.name)||(t.name=n.name),a(r)||(t.value=r),t})}var g=new Map,c=new Map,u=new Map,h=r(()=>{c.clear(),u.clear(),g.clear()},"clear"),f=r((e,n)=>{var r=c.get(n)||[];return t.trace("In isDescendant",n," ",e," = ",r.includes(e)),r.includes(e)},"isDescendant"),p=r((e,n)=>{var r=c.get(n)||[];return t.info("Descendants of ",n," is ",r),t.info("Edge is ",e),e.v!==n&&e.w!==n&&(r?r.includes(e.v)||f(e.v,n)||f(e.w,n)||r.includes(e.w):(t.debug("Tilt, ",n,",not in descendants"),!1))},"edgeInCluster"),v=r((e,n,r,a)=>{t.warn("Copying children of ",e,"root",a,"data",n.node(e),a);var i=n.children(e)||[];e!==a&&i.push(e),t.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(i=>{var o;0<n.children(i).length?v(i,n,r,a):(o=n.node(i),t.info("cp ",i," to ",a," with parent ",e),r.setNode(i,o),a!==n.parent(i)&&(t.warn("Setting parent",i,n.parent(i)),r.setParent(i,n.parent(i))),e!==a&&i!==e?(t.debug("Setting parent",i,e),r.setParent(i,e)):(t.info("In copy ",e,"root",a,"data",n.node(e),a),t.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==a,"node!==clusterId",i!==e)),o=n.edges(i),t.debug("Copying Edges",o),o.forEach(i=>{t.info("Edge",i);var o,d,s,l,g,u=n.edge(i.v,i.w,i.name);t.info("Edge data",u,a);try{p(i,a)?(d=(o=c.get(a)||[]).includes(i.v)||f(i.v,a)||i.v===a,s=o.includes(i.w)||f(i.w,a)||i.w===a,d&&s?(t.info("Copying as ",i.v,i.w,u,i.name),r.setEdge(i.v,i.w,u,i.name),t.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):(l=d?a:i.v,g=s?a:i.w,t.info("Rebinding cross-boundary edge as ",l,g,u,i.name),n.setEdge(l,g,u,i.name))):t.info("Skipping copy of edge ",i.v,"--\x3e",i.w," rootId: ",a," clusterId:",e)}catch(i){t.error(i)}})),t.debug("Removing node",i),n.removeNode(i)})},"copy"),w=r((e,n)=>{var r,t=n.children(e);let a=[...t];for(r of t)u.set(r,e),a=[...a,...w(r,n)];return a},"extractDescendants"),m=r((e,n,r)=>{var t=e.edges().filter(e=>e.v===n||e.w===n);e=e.edges().filter(e=>e.v===r||e.w===r),t=t.map(e=>({v:e.v===n?r:e.v,w:e.w===n?n:e.w}));let a=e.map(e=>({v:e.v,w:e.w}));return t.filter(e=>a.some(n=>e.v===n.v&&e.w===n.w))},"findCommonEdges"),C=r((e,n,r)=>{var a,i=n.children(e);if(t.trace("Searching children of id ",e,i),i.length<1)return e;let o;for(a of i){var d=C(a,n,r),s=m(n,r,d);if(d){if(!(0<s.length))return d;o=d}}return o},"findNonClusterChild"),b=r(e=>g.has(e)&&g.get(e).externalConnections&&g.has(e)?g.get(e).id:e,"getAnchorId"),x=r((e,n)=>{if(!e||10<n)t.debug("Opting out, no graph ");else{t.debug("Opting in, graph "),e.nodes().forEach(function(n){0<e.children(n).length&&(t.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),c.set(n,w(n,e)),g.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){var r=e.children(n),a=e.edges();0<r.length?(t.debug("Cluster identified",n,c),a.forEach(e=>{f(e.v,n)^f(e.w,n)&&(t.warn("Edge: ",e," leaves cluster ",n),t.warn("Descendants of XXX ",n,": ",c.get(n)),g.get(n).externalConnections=!0)})):t.debug("Not a cluster ",n,c)});for(let n of g.keys()){var r=g.get(n).id,a=((a=e.parent(r))!==n&&g.has(a)&&!g.get(a).externalConnections&&(g.get(n).id=a),e.edges().some(e=>e.v===n));r&&g.get(n)?.externalConnections&&a&&N(e,r,n)&&(a=I(e,n,e.parent(r)))&&(g.get(n).id=a)}e.edges().forEach(function(n){var r,a,i,o=e.edge(n);t.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),t.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n))),n.v,t.warn("Fix XXX",g,"ids:",n.v,n.w,"Translating: ",g.get(n.v)," --- ",g.get(n.w)),(g.get(n.v)||g.get(n.w))&&(t.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),r=b(n.v),a=b(n.w),e.removeEdge(n.v,n.w,n.name),r!==n.v&&(i=e.parent(r),g.get(i).externalConnections=!0,o.fromCluster=n.v),a!==n.w&&(i=e.parent(a),g.get(i).externalConnections=!0,o.toCluster=n.w),t.warn("Fix Replacing with XXX",r,a,n.name),e.setEdge(r,a,o,n.name))}),t.warn("Adjusted Graph",s(e)),E(e,0),t.trace(g)}},"adjustClustersAndEdges"),E=r((e,n)=>{if(t.warn("extractor - ",n,s(e),e.children("D")),10<n)t.error("Bailing out");else{var r,a=e.nodes();let f=!1;for(r of a){var o=e.children(r);f=f||0<o.length}if(f){for(var d of(t.debug("Nodes = ",a,n),a))if(t.debug("Extracting node",d,g,g.has(d)&&!g.get(d).externalConnections,!e.parent(d),e.node(d),e.children("D")," Depth ",n),g.has(d))if(g.get(d)?.clusterData?.explicitDir&&e.children(d)&&0<e.children(d).length){t.warn("Cluster with explicit dir, creating subgraph for children",d,n);var l=g.get(d).clusterData.dir,c=(l=new i({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),v(d,e,l,d),e.node(d)||{});e.setNode(d,{...c,clusterNode:!0,id:d,clusterData:g.get(d).clusterData,label:g.get(d).label,graph:l}),t.warn("Subgraph for cluster with explicit dir created:",d,s(l))}else if(!g.get(d).externalConnections&&e.children(d)&&0<e.children(d).length){t.warn("Cluster without external connections, without a parent and with children",d,n);let r="TB"===e.graph().rankdir?"LR":"TB";g.get(d)?.clusterData?.dir&&(r=g.get(d).clusterData.dir,t.warn("Fixing dir",g.get(d).clusterData.dir,r)),c=new i({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),v(d,e,c,d),l=e.node(d)||{},e.setNode(d,{...l,clusterNode:!0,id:d,clusterData:g.get(d).clusterData,label:g.get(d).label,graph:c}),t.debug("Old graph after copy",s(e))}else t.warn("Cluster ** ",d," **not meeting the criteria !externalConnections:",!g.get(d).externalConnections," no parent: ",!e.parent(d)," children ",e.children(d)&&0<e.children(d).length,e.children("D"),n),t.debug(g);else t.debug("Not a cluster",d,n);for(var u of(a=e.nodes(),t.warn("New list of nodes",a),a)){var h=e.node(u);t.warn(" Now next level",u,h),h?.clusterNode&&E(h.graph,n+1)}}else t.debug("Done, no node has children",e.nodes())}},"extractor"),D=r((e,n)=>{if(0===n.length)return[];let r=Object.assign([],n);return n.forEach(n=>{n=e.children(n),n=D(e,n),r=[...r,...n]}),r},"sorter"),y=r(e=>D(e,e.children()),"sortNodesByHierarchy"),N=r((e,n,r)=>{let t=e.parent(n);for(;t&&t!==r;){var a=g.get(t);if(a&&!a.externalConnections)return!0;t=e.parent(t)}return!1},"isNodeInExtractableCluster"),I=r((e,n,r)=>{var t;for(t of e.children(n)??[])if(t!==r&&!f(t,r)){var a=C(t,e,n);if(a&&!N(e,a,n))return a}return null},"findSafeAnchorNode");export{x as a,g as b,h as c,C as f,y as s,s as w};
@@ -0,0 +1 @@
1
+ var e,n;(e=self.document)&&!e.getElementById("livereloadscript")&&((n=e.createElement("script")).async=1,n.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",n.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(n));import{_ as r,l as t}from"./mermaid.core-70d5aead.js";import{i as a,G as i}from"./graph-0df36b9d.js";import{b as o,m as d}from"./map-d3292a5b.js";function s(e){var n,r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(n=e,d(n.nodes(),function(e){var r=n.node(e),t=n.parent(e),e={v:e};return a(r)||(e.value=r),a(t)||(e.parent=t),e})),edges:l(e)};return a(e.graph())||(r.value=function(e){return o(e,4)}(e.graph())),r}function l(e){return d(e.edges(),function(n){var r=e.edge(n),t={v:n.v,w:n.w};return a(n.name)||(t.name=n.name),a(r)||(t.value=r),t})}var g=new Map,c=new Map,u=new Map,h=r(()=>{c.clear(),u.clear(),g.clear()},"clear"),f=r((e,n)=>{var r=c.get(n)||[];return t.trace("In isDescendant",n," ",e," = ",r.includes(e)),r.includes(e)},"isDescendant"),p=r((e,n)=>{var r=c.get(n)||[];return t.info("Descendants of ",n," is ",r),t.info("Edge is ",e),e.v!==n&&e.w!==n&&(r?r.includes(e.v)||f(e.v,n)||f(e.w,n)||r.includes(e.w):(t.debug("Tilt, ",n,",not in descendants"),!1))},"edgeInCluster"),v=r((e,n,r,a)=>{t.warn("Copying children of ",e,"root",a,"data",n.node(e),a);var i=n.children(e)||[];e!==a&&i.push(e),t.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(i=>{var o;0<n.children(i).length?v(i,n,r,a):(o=n.node(i),t.info("cp ",i," to ",a," with parent ",e),r.setNode(i,o),a!==n.parent(i)&&(t.warn("Setting parent",i,n.parent(i)),r.setParent(i,n.parent(i))),e!==a&&i!==e?(t.debug("Setting parent",i,e),r.setParent(i,e)):(t.info("In copy ",e,"root",a,"data",n.node(e),a),t.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==a,"node!==clusterId",i!==e)),o=n.edges(i),t.debug("Copying Edges",o),o.forEach(i=>{t.info("Edge",i);var o,d,s,l,g,u=n.edge(i.v,i.w,i.name);t.info("Edge data",u,a);try{p(i,a)?(d=(o=c.get(a)||[]).includes(i.v)||f(i.v,a)||i.v===a,s=o.includes(i.w)||f(i.w,a)||i.w===a,d&&s?(t.info("Copying as ",i.v,i.w,u,i.name),r.setEdge(i.v,i.w,u,i.name),t.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):(l=d?a:i.v,g=s?a:i.w,t.info("Rebinding cross-boundary edge as ",l,g,u,i.name),n.setEdge(l,g,u,i.name))):t.info("Skipping copy of edge ",i.v,"--\x3e",i.w," rootId: ",a," clusterId:",e)}catch(i){t.error(i)}})),t.debug("Removing node",i),n.removeNode(i)})},"copy"),w=r((e,n)=>{var r,t=n.children(e);let a=[...t];for(r of t)u.set(r,e),a=[...a,...w(r,n)];return a},"extractDescendants"),m=r((e,n,r)=>{var t=e.edges().filter(e=>e.v===n||e.w===n);e=e.edges().filter(e=>e.v===r||e.w===r),t=t.map(e=>({v:e.v===n?r:e.v,w:e.w===n?n:e.w}));let a=e.map(e=>({v:e.v,w:e.w}));return t.filter(e=>a.some(n=>e.v===n.v&&e.w===n.w))},"findCommonEdges"),C=r((e,n,r)=>{var a,i=n.children(e);if(t.trace("Searching children of id ",e,i),i.length<1)return e;let o;for(a of i){var d=C(a,n,r),s=m(n,r,d);if(d){if(!(0<s.length))return d;o=d}}return o},"findNonClusterChild"),b=r(e=>g.has(e)&&g.get(e).externalConnections&&g.has(e)?g.get(e).id:e,"getAnchorId"),x=r((e,n)=>{if(!e||10<n)t.debug("Opting out, no graph ");else{t.debug("Opting in, graph "),e.nodes().forEach(function(n){0<e.children(n).length&&(t.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),c.set(n,w(n,e)),g.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){var r=e.children(n),a=e.edges();0<r.length?(t.debug("Cluster identified",n,c),a.forEach(e=>{f(e.v,n)^f(e.w,n)&&(t.warn("Edge: ",e," leaves cluster ",n),t.warn("Descendants of XXX ",n,": ",c.get(n)),g.get(n).externalConnections=!0)})):t.debug("Not a cluster ",n,c)});for(let n of g.keys()){var r=g.get(n).id,a=((a=e.parent(r))!==n&&g.has(a)&&!g.get(a).externalConnections&&(g.get(n).id=a),e.edges().some(e=>e.v===n));r&&g.get(n)?.externalConnections&&a&&N(e,r,n)&&(a=I(e,n,e.parent(r)))&&(g.get(n).id=a)}e.edges().forEach(function(n){var r,a,i,o=e.edge(n);t.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),t.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n))),n.v,t.warn("Fix XXX",g,"ids:",n.v,n.w,"Translating: ",g.get(n.v)," --- ",g.get(n.w)),(g.get(n.v)||g.get(n.w))&&(t.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),r=b(n.v),a=b(n.w),e.removeEdge(n.v,n.w,n.name),r!==n.v&&(i=e.parent(r),g.get(i).externalConnections=!0,o.fromCluster=n.v),a!==n.w&&(i=e.parent(a),g.get(i).externalConnections=!0,o.toCluster=n.w),t.warn("Fix Replacing with XXX",r,a,n.name),e.setEdge(r,a,o,n.name))}),t.warn("Adjusted Graph",s(e)),E(e,0),t.trace(g)}},"adjustClustersAndEdges"),E=r((e,n)=>{if(t.warn("extractor - ",n,s(e),e.children("D")),10<n)t.error("Bailing out");else{var r,a=e.nodes();let f=!1;for(r of a){var o=e.children(r);f=f||0<o.length}if(f){for(var d of(t.debug("Nodes = ",a,n),a))if(t.debug("Extracting node",d,g,g.has(d)&&!g.get(d).externalConnections,!e.parent(d),e.node(d),e.children("D")," Depth ",n),g.has(d))if(g.get(d)?.clusterData?.explicitDir&&e.children(d)&&0<e.children(d).length){t.warn("Cluster with explicit dir, creating subgraph for children",d,n);var l=g.get(d).clusterData.dir,c=(l=new i({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),v(d,e,l,d),e.node(d)||{});e.setNode(d,{...c,clusterNode:!0,id:d,clusterData:g.get(d).clusterData,label:g.get(d).label,graph:l}),t.warn("Subgraph for cluster with explicit dir created:",d,s(l))}else if(!g.get(d).externalConnections&&e.children(d)&&0<e.children(d).length){t.warn("Cluster without external connections, without a parent and with children",d,n);let r="TB"===e.graph().rankdir?"LR":"TB";g.get(d)?.clusterData?.dir&&(r=g.get(d).clusterData.dir,t.warn("Fixing dir",g.get(d).clusterData.dir,r)),c=new i({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),v(d,e,c,d),l=e.node(d)||{},e.setNode(d,{...l,clusterNode:!0,id:d,clusterData:g.get(d).clusterData,label:g.get(d).label,graph:c}),t.debug("Old graph after copy",s(e))}else t.warn("Cluster ** ",d," **not meeting the criteria !externalConnections:",!g.get(d).externalConnections," no parent: ",!e.parent(d)," children ",e.children(d)&&0<e.children(d).length,e.children("D"),n),t.debug(g);else t.debug("Not a cluster",d,n);for(var u of(a=e.nodes(),t.warn("New list of nodes",a),a)){var h=e.node(u);t.warn(" Now next level",u,h),h?.clusterNode&&E(h.graph,n+1)}}else t.debug("Done, no node has children",e.nodes())}},"extractor"),D=r((e,n)=>{if(0===n.length)return[];let r=Object.assign([],n);return n.forEach(n=>{n=e.children(n),n=D(e,n),r=[...r,...n]}),r},"sorter"),y=r(e=>D(e,e.children()),"sortNodesByHierarchy"),N=r((e,n,r)=>{let t=e.parent(n);for(;t&&t!==r;){var a=g.get(t);if(a&&!a.externalConnections)return!0;t=e.parent(t)}return!1},"isNodeInExtractableCluster"),I=r((e,n,r)=>{var t;for(t of e.children(n)??[])if(t!==r&&!f(t,r)){var a=C(t,e,n);if(a&&!N(e,a,n))return a}return null},"findSafeAnchorNode");export{x as a,g as b,h as c,C as f,y as s,s as w};
@@ -0,0 +1 @@
1
+ import{_ as e,l as n}from"./mermaid.core-8797d6a9.js";import{i as r,G as t}from"./graph-c6801890.js";import{b as a,m as i}from"./map-05f0ff95.js";var o=4;function d(e){var n,t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(n=e,i(n.nodes(),(function(e){var t=n.node(e),a=n.parent(e),e={v:e};return r(t)||(e.value=t),r(a)||(e.parent=a),e}))),edges:s(e)};return r(e.graph())||(t.value=function(e){return a(e,o)}(e.graph())),t}function s(e){return i(e.edges(),(function(n){var t=e.edge(n),a={v:n.v,w:n.w};return r(n.name)||(a.name=n.name),r(t)||(a.value=t),a}))}var l=new Map,g=new Map,c=new Map,u=e((()=>{g.clear(),c.clear(),l.clear()}),"clear"),h=e(((e,r)=>{var t=g.get(r)||[];return n.trace("In isDescendant",r," ",e," = ",t.includes(e)),t.includes(e)}),"isDescendant"),f=e(((e,r)=>{var t=g.get(r)||[];return n.info("Descendants of ",r," is ",t),n.info("Edge is ",e),e.v!==r&&e.w!==r&&(t?t.includes(e.v)||h(e.v,r)||h(e.w,r)||t.includes(e.w):(n.debug("Tilt, ",r,",not in descendants"),!1))}),"edgeInCluster"),p=e(((e,r,t,a)=>{n.warn("Copying children of ",e,"root",a,"data",r.node(e),a);var i=r.children(e)||[];e!==a&&i.push(e),n.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach((i=>{var o;0<r.children(i).length?p(i,r,t,a):(o=r.node(i),n.info("cp ",i," to ",a," with parent ",e),t.setNode(i,o),a!==r.parent(i)&&(n.warn("Setting parent",i,r.parent(i)),t.setParent(i,r.parent(i))),e!==a&&i!==e?(n.debug("Setting parent",i,e),t.setParent(i,e)):(n.info("In copy ",e,"root",a,"data",r.node(e),a),n.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==a,"node!==clusterId",i!==e)),o=r.edges(i),n.debug("Copying Edges",o),o.forEach((i=>{n.info("Edge",i);var o,d,s,l,c,u=r.edge(i.v,i.w,i.name);n.info("Edge data",u,a);try{f(i,a)?(d=(o=g.get(a)||[]).includes(i.v)||h(i.v,a)||i.v===a,s=o.includes(i.w)||h(i.w,a)||i.w===a,d&&s?(n.info("Copying as ",i.v,i.w,u,i.name),t.setEdge(i.v,i.w,u,i.name),n.info("newGraph edges ",t.edges(),t.edge(t.edges()[0]))):(l=d?a:i.v,c=s?a:i.w,n.info("Rebinding cross-boundary edge as ",l,c,u,i.name),r.setEdge(l,c,u,i.name))):n.info("Skipping copy of edge ",i.v,"--\x3e",i.w," rootId: ",a," clusterId:",e)}catch(i){n.error(i)}}))),n.debug("Removing node",i),r.removeNode(i)}))}),"copy"),w=e(((e,n)=>{var r=n.children(e);let t=[...r];for(const a of r)c.set(a,e),t=[...t,...w(a,n)];return t}),"extractDescendants"),v=e(((e,n,r)=>{var t=e.edges().filter((e=>e.v===n||e.w===n));e=e.edges().filter((e=>e.v===r||e.w===r)),t=t.map((e=>({v:e.v===n?r:e.v,w:e.w===n?n:e.w})));const a=e.map((e=>({v:e.v,w:e.w})));return t.filter((e=>a.some((n=>e.v===n.v&&e.w===n.w))))}),"findCommonEdges"),m=e(((e,r,t)=>{var a=r.children(e);if(n.trace("Searching children of id ",e,a),a.length<1)return e;let i;for(const e of a){var o=m(e,r,t),d=v(r,t,o);if(o){if(!(0<d.length))return o;i=o}}return i}),"findNonClusterChild"),b=e((e=>l.has(e)&&l.get(e).externalConnections&&l.has(e)?l.get(e).id:e),"getAnchorId"),x=e(((e,r)=>{if(!e||10<r)n.debug("Opting out, no graph ");else{n.debug("Opting in, graph "),e.nodes().forEach((function(r){0<e.children(r).length&&(n.warn("Cluster identified",r," Replacement id in edges: ",m(r,e,r)),g.set(r,w(r,e)),l.set(r,{id:m(r,e,r),clusterData:e.node(r)}))})),e.nodes().forEach((function(r){var t=e.children(r),a=e.edges();0<t.length?(n.debug("Cluster identified",r,g),a.forEach((e=>{h(e.v,r)^h(e.w,r)&&(n.warn("Edge: ",e," leaves cluster ",r),n.warn("Descendants of XXX ",r,": ",g.get(r)),l.get(r).externalConnections=!0)}))):n.debug("Not a cluster ",r,g)}));for(let n of l.keys()){var t=l.get(n).id,a=((a=e.parent(t))!==n&&l.has(a)&&!l.get(a).externalConnections&&(l.get(n).id=a),e.edges().some((e=>e.v===n)));t&&l.get(n)?.externalConnections&&a&&N(e,t,n)&&(a=y(e,n,e.parent(t)))&&(l.get(n).id=a)}e.edges().forEach((function(r){var t,a,i,o=e.edge(r);n.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),n.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(e.edge(r))),r.v,r.w,n.warn("Fix XXX",l,"ids:",r.v,r.w,"Translating: ",l.get(r.v)," --- ",l.get(r.w)),(l.get(r.v)||l.get(r.w))&&(n.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),t=b(r.v),a=b(r.w),e.removeEdge(r.v,r.w,r.name),t!==r.v&&(i=e.parent(t),l.get(i).externalConnections=!0,o.fromCluster=r.v),a!==r.w&&(i=e.parent(a),l.get(i).externalConnections=!0,o.toCluster=r.w),n.warn("Fix Replacing with XXX",t,a,r.name),e.setEdge(t,a,o,r.name))})),n.warn("Adjusted Graph",d(e)),C(e,0),n.trace(l)}}),"adjustClustersAndEdges"),C=e(((e,r)=>{if(n.warn("extractor - ",r,d(e),e.children("D")),10<r)n.error("Bailing out");else{var a=e.nodes();let c=!1;for(const n of a){var i=e.children(n);c=c||0<i.length}if(c){n.debug("Nodes = ",a,r);for(const i of a)if(n.debug("Extracting node",i,l,l.has(i)&&!l.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",r),l.has(i))if(l.get(i)?.clusterData?.explicitDir&&e.children(i)&&0<e.children(i).length){n.warn("Cluster with explicit dir, creating subgraph for children",i,r);var o=l.get(i).clusterData.dir,s=(o=new t({multigraph:!0,compound:!0}).setGraph({rankdir:o,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),p(i,e,o,i),e.node(i)||{});e.setNode(i,{...s,clusterNode:!0,id:i,clusterData:l.get(i).clusterData,label:l.get(i).label,graph:o}),n.warn("Subgraph for cluster with explicit dir created:",i,d(o))}else if(!l.get(i).externalConnections&&e.children(i)&&0<e.children(i).length){n.warn("Cluster without external connections, without a parent and with children",i,r);let a="TB"===e.graph().rankdir?"LR":"TB";l.get(i)?.clusterData?.dir&&(a=l.get(i).clusterData.dir,n.warn("Fixing dir",l.get(i).clusterData.dir,a)),s=new t({multigraph:!0,compound:!0}).setGraph({rankdir:a,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),p(i,e,s,i),o=e.node(i)||{},e.setNode(i,{...o,clusterNode:!0,id:i,clusterData:l.get(i).clusterData,label:l.get(i).label,graph:s}),n.debug("Old graph after copy",d(e))}else n.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&0<e.children(i).length,e.children("D"),r),n.debug(l);else n.debug("Not a cluster",i,r);a=e.nodes(),n.warn("New list of nodes",a);for(const t of a){var g=e.node(t);n.warn(" Now next level",t,g),g?.clusterNode&&C(g.graph,r+1)}}else n.debug("Done, no node has children",e.nodes())}}),"extractor"),D=e(((e,n)=>{if(0===n.length)return[];let r=Object.assign([],n);return n.forEach((n=>{n=e.children(n),n=D(e,n),r=[...r,...n]})),r}),"sorter"),E=e((e=>D(e,e.children())),"sortNodesByHierarchy"),N=e(((e,n,r)=>{let t=e.parent(n);for(;t&&t!==r;){var a=l.get(t);if(a&&!a.externalConnections)return!0;t=e.parent(t)}return!1}),"isNodeInExtractableCluster"),y=e(((e,n,r)=>{for(const a of e.children(n)??[])if(a!==r&&!h(a,r)){var t=m(a,e,n);if(t&&!N(e,t,n))return t}return null}),"findSafeAnchorNode");export{x as a,l as b,u as c,m as f,E as s,d as w};