offsite 0.0.51 → 0.0.53

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 (910) hide show
  1. package/README.md +1 -1
  2. package/apps/client/dist/assets/abnfDiagram-WEYOIA3C-BL7tfQo-.js +1 -0
  3. package/apps/client/dist/assets/andromeeda-BJLMrMlp.js +1 -0
  4. package/apps/client/dist/assets/apl-mEfZRQQI.js +1 -0
  5. package/apps/client/dist/assets/appendItems-C8N70W-m.js +9 -0
  6. package/apps/client/dist/assets/arc-Y1ARJVZ4.js +1 -0
  7. package/apps/client/dist/assets/architecture-WOLXFQ4H-_rl7AhLT.js +1 -0
  8. package/apps/client/dist/assets/architectureDiagram-ZHVYKT53-H-Eh-MGk.js +36 -0
  9. package/apps/client/dist/assets/astro-BZ97kZFP.js +1 -0
  10. package/apps/client/dist/assets/audio-player-CEvt4CVB.js +1 -0
  11. package/apps/client/dist/assets/aurora-x-BCChoRpm.js +1 -0
  12. package/apps/client/dist/assets/ayu-dark-DzFZPuMV.js +1 -0
  13. package/apps/client/dist/assets/ayu-light-DSkcX_XD.js +1 -0
  14. package/apps/client/dist/assets/ayu-mirage-DSve0zuE.js +1 -0
  15. package/apps/client/dist/assets/blade-BKsPdrmv.js +1 -0
  16. package/apps/client/dist/assets/blockDiagram-RJAE7QA3-CdQP8axR.js +140 -0
  17. package/apps/client/dist/assets/button-CdLSr6OC.js +1 -0
  18. package/apps/client/dist/assets/c4Diagram-XDPPPE54-f8qCZx2c.js +38 -0
  19. package/apps/client/dist/assets/catppuccin-frappe-DbLkF0J2.js +1 -0
  20. package/apps/client/dist/assets/catppuccin-latte-b6208YQK.js +1 -0
  21. package/apps/client/dist/assets/catppuccin-macchiato-CNNBbV1L.js +1 -0
  22. package/apps/client/dist/assets/catppuccin-mocha-DHkNF0Mp.js +1 -0
  23. package/apps/client/dist/assets/channel-CWhEUht8.js +1 -0
  24. package/apps/client/dist/assets/chunk-24IY7LWP-Dx1bH4hy.js +1 -0
  25. package/apps/client/dist/assets/chunk-2E7WHVMD-Dnai-s9F.js +88 -0
  26. package/apps/client/dist/assets/chunk-3M4EKCLJ-CZCHjIMV.js +1 -0
  27. package/apps/client/dist/assets/chunk-4EMNKR2T-BdYkDpzn.js +1 -0
  28. package/apps/client/dist/assets/chunk-4S7OKTRW-BYLWFTeI.js +1 -0
  29. package/apps/client/dist/assets/chunk-53FOQ5SW-CpLZLKqk.js +1 -0
  30. package/apps/client/dist/assets/chunk-55XCU76K-C5BYmfkn.js +1 -0
  31. package/apps/client/dist/assets/chunk-7S6XSTFO-DfcQYwBr.js +2 -0
  32. package/apps/client/dist/assets/chunk-AQDTSKZB-BaSzLooQ.js +72 -0
  33. package/apps/client/dist/assets/chunk-BP2KR52E-e4oUcnOc.js +2 -0
  34. package/apps/client/dist/assets/chunk-DSNLSHJZ-1cSq1Cdz.js +129 -0
  35. package/apps/client/dist/assets/chunk-EJLWFMJV-Comf59CW.js +2 -0
  36. package/apps/client/dist/assets/chunk-F6S3BTY2-C2qAf54c.js +2 -0
  37. package/apps/client/dist/assets/chunk-HAGFOTED-B1koh3Pd.js +62 -0
  38. package/apps/client/dist/assets/chunk-HNE4Q36P-DgBNQZut.js +1 -0
  39. package/apps/client/dist/assets/chunk-KPI5JJXK-qcA7W3O4.js +1 -0
  40. package/apps/client/dist/assets/chunk-LNGE3PJU-DRjopGY8.js +34 -0
  41. package/apps/client/dist/assets/chunk-NGNAAXSQ-DI_UYJZ4.js +136 -0
  42. package/apps/client/dist/assets/chunk-NQOKRVIF-DE6PmyH4.js +213 -0
  43. package/apps/client/dist/assets/chunk-OD3NTWWA-CAVyH1Ca.js +1 -0
  44. package/apps/client/dist/assets/chunk-OYAV6JZA-B49nzGbl.js +1 -0
  45. package/apps/client/dist/assets/chunk-QNH66VMT-ByH5tEVf.js +1 -0
  46. package/apps/client/dist/assets/chunk-TPMEZKFX-BCdevXsF.js +1 -0
  47. package/apps/client/dist/assets/chunk-UHW7PFBP-B5xhb4gG.js +1 -0
  48. package/apps/client/dist/assets/chunk-VPELOWWC-BcHS3JJZ.js +1 -0
  49. package/apps/client/dist/assets/chunk-VQ5W62QI-DR0mr0PC.js +1 -0
  50. package/apps/client/dist/assets/chunk-VTWWFHGB-BYcesc7m.js +1 -0
  51. package/apps/client/dist/assets/chunk-VZTHESGH-BXvs__Wg.js +1 -0
  52. package/apps/client/dist/assets/chunk-WQQL4CDK-CGJge8NN.js +10 -0
  53. package/apps/client/dist/assets/chunk-XXDRQBXY-CnbRkih_.js +1 -0
  54. package/apps/client/dist/assets/chunk-YK26KJH5-DAC0RUcW.js +1 -0
  55. package/apps/client/dist/assets/chunk-YZO67HFG-DxlnPWlc.js +1 -0
  56. package/apps/client/dist/assets/chunk-ZAUX2LTX-BnmYh1Zt.js +1 -0
  57. package/apps/client/dist/assets/chunk-ZCHMQSOR-C6ORC7ev.js +2 -0
  58. package/apps/client/dist/assets/chunk-ZO67DCNQ-EFYGvQ3O.js +2 -0
  59. package/apps/client/dist/assets/classDiagram-v2-4MYWR3UA-DZcumEGH.js +217 -0
  60. package/apps/client/dist/assets/constants-CmGPilXJ.js +1 -0
  61. package/apps/client/dist/assets/core-BvRk9kiK.js +0 -0
  62. package/apps/client/dist/assets/core-CFb9AGbX.js +1 -0
  63. package/apps/client/dist/assets/cose-bilkent-JH36ORCC-vhvneb2W.js +1 -0
  64. package/apps/client/dist/assets/crystal-AmF80bGl.js +1 -0
  65. package/apps/client/dist/assets/cynefin-EF2NZ3EQ-CloXJGbu.js +1 -0
  66. package/apps/client/dist/assets/cynefinDiagram-WF24UDRP-BEyREl86.js +62 -0
  67. package/apps/client/dist/assets/cytoscape.esm-CVyW_ZDf.js +321 -0
  68. package/apps/client/dist/assets/dagre-NK4GIZVX-BVMKtnQJ.js +4 -0
  69. package/apps/client/dist/assets/dark-plus-BVZ_4wTZ.js +1 -0
  70. package/apps/client/dist/assets/diagram-CBK3MWTC-BCOpNEVv.js +24 -0
  71. package/apps/client/dist/assets/diagram-I5XIIV2D-BNzL2YkL.js +24 -0
  72. package/apps/client/dist/assets/diagram-ODIL2UCW-Ce0YAdrd.js +30 -0
  73. package/apps/client/dist/assets/diagram-PFBEJUXE-BdfQpDDg.js +3 -0
  74. package/apps/client/dist/assets/diagram-RJA3I4VV-Bj9w9wuW.js +41 -0
  75. package/apps/client/dist/assets/diagram-TYUNFSNR-D0LLlrNC.js +200 -0
  76. package/apps/client/dist/assets/dist-CumnGVmJ.js +1 -0
  77. package/apps/client/dist/assets/dist-DRetoCkD.js +1 -0
  78. package/apps/client/dist/assets/dist-DSkulxAq.js +12 -0
  79. package/apps/client/dist/assets/dist-DygZhkc7.js +2 -0
  80. package/apps/client/dist/assets/dracula-BoZgXveB.js +1 -0
  81. package/apps/client/dist/assets/dracula-soft-D-Kgh5gw.js +1 -0
  82. package/apps/client/dist/assets/ebnfDiagram-V4P3TTPT-CGK21OKQ.js +1 -0
  83. package/apps/client/dist/assets/ecl-94qehhXe.js +1 -0
  84. package/apps/client/dist/assets/edge-6iEBX1Tp.js +1 -0
  85. package/apps/client/dist/assets/editor-dialog-D5uma-Ri.js +52 -0
  86. package/apps/client/dist/assets/editor.api-Rfucz3mk.js +908 -0
  87. package/apps/client/dist/assets/editor.worker-CGG2Yh4v.js +1 -0
  88. package/apps/client/dist/assets/editor.worker-CRz__AKW.js +33 -0
  89. package/apps/client/dist/assets/elk-QONTBCTQ-BJ4MLeDb.js +27 -0
  90. package/apps/client/dist/assets/engine-javascript-DKxkqixV.js +141 -0
  91. package/apps/client/dist/assets/engine-oniguruma-BMl9YtsA.js +1 -0
  92. package/apps/client/dist/assets/engine-oniguruma-Dl5gvpE_.js +1 -0
  93. package/apps/client/dist/assets/erDiagram-KYQIGQAA-B2KLLDzR.js +99 -0
  94. package/apps/client/dist/assets/erb-CpTmb34B.js +1 -0
  95. package/apps/client/dist/assets/eventmodeling-K75KTNOO-CllCPg_K.js +1 -0
  96. package/apps/client/dist/assets/everforest-dark-Y6tr-2zD.js +1 -0
  97. package/apps/client/dist/assets/everforest-light-CA0Ol4Qu.js +1 -0
  98. package/apps/client/dist/assets/flowDiagram-IUGLLWBU-Z1nPXjJy.js +1 -0
  99. package/apps/client/dist/assets/formatCSSVariablePrefix-KRh9vnZf.js +1 -0
  100. package/apps/client/dist/assets/freemarker2-Bw62YruA.js +3 -0
  101. package/apps/client/dist/assets/ganttDiagram-R7GPNTJY-Du3M1GRl.js +292 -0
  102. package/apps/client/dist/assets/getFiletypeFromFileName-BCvBvB1y.js +96 -0
  103. package/apps/client/dist/assets/gitGraph-VSP46ZUC-BQF76v0s.js +1 -0
  104. package/apps/client/dist/assets/gitGraphDiagram-PDYL7XHY-C_Y2i3Jx.js +106 -0
  105. package/apps/client/dist/assets/github-dark-C895GGrm.js +1 -0
  106. package/apps/client/dist/assets/github-dark-default-CM8LCIj6.js +1 -0
  107. package/apps/client/dist/assets/github-dark-dimmed-jPx1V1fR.js +1 -0
  108. package/apps/client/dist/assets/github-dark-high-contrast-UN5YjL_Z.js +1 -0
  109. package/apps/client/dist/assets/github-light-B4HDwToD.js +1 -0
  110. package/apps/client/dist/assets/github-light-default-CfC59JYV.js +1 -0
  111. package/apps/client/dist/assets/github-light-high-contrast-C3edEHcK.js +1 -0
  112. package/apps/client/dist/assets/glimmer-js-AZUa7WSK.js +1 -0
  113. package/apps/client/dist/assets/glimmer-ts-DHGWHJGF.js +1 -0
  114. package/apps/client/dist/assets/graphql-BHtseKAV.js +1 -0
  115. package/apps/client/dist/assets/graphql-f69H1Mm0.js +1 -0
  116. package/apps/client/dist/assets/gruvbox-dark-hard-BdGOuxq8.js +1 -0
  117. package/apps/client/dist/assets/gruvbox-dark-medium-CmygtSMi.js +1 -0
  118. package/apps/client/dist/assets/gruvbox-dark-soft-BJH4XuY9.js +1 -0
  119. package/apps/client/dist/assets/gruvbox-light-hard-BkSILF4E.js +1 -0
  120. package/apps/client/dist/assets/gruvbox-light-medium-DiZUfgdz.js +1 -0
  121. package/apps/client/dist/assets/gruvbox-light-soft-CRCTnbIj.js +1 -0
  122. package/apps/client/dist/assets/handlebars-84NJRWd6.js +1 -0
  123. package/apps/client/dist/assets/handlebars-BVu8OfJT.js +1 -0
  124. package/apps/client/dist/assets/handlebars-rpJMsJkV.js +1 -0
  125. package/apps/client/dist/assets/highlights-GmPC35Dk.js +3 -0
  126. package/apps/client/dist/assets/horizon-DUI96lQn.js +1 -0
  127. package/apps/client/dist/assets/horizon-bright-COxh1lHf.js +1 -0
  128. package/apps/client/dist/assets/houston-DduE73P7.js +1 -0
  129. package/apps/client/dist/assets/html-86U_8x8W.js +1 -0
  130. package/apps/client/dist/assets/http-BzlnjdId.js +1 -0
  131. package/apps/client/dist/assets/hurl-Dkq4AWQM.js +1 -0
  132. package/apps/client/dist/assets/image-viewer-UqY5jZoH.js +1 -0
  133. package/apps/client/dist/assets/index-4D8bvVNO.css +2 -0
  134. package/apps/client/dist/assets/index-B9iE7Ipt.js +440 -0
  135. package/apps/client/dist/assets/info-OHQRW6UA-CX5U2oYH.js +1 -0
  136. package/apps/client/dist/assets/infoDiagram-MVDRKAX5-Bn_nhAj4.js +2 -0
  137. package/apps/client/dist/assets/ishikawaDiagram-HPEHV2GE-EEEjU4JC.js +70 -0
  138. package/apps/client/dist/assets/javascript-MI6i-TIC.js +1 -0
  139. package/apps/client/dist/assets/journeyDiagram-BOSHW7O7-BGdjqgu7.js +139 -0
  140. package/apps/client/dist/assets/julia-BOXuaaFP.js +1 -0
  141. package/apps/client/dist/assets/julia-D2GhB5NK.js +1 -0
  142. package/apps/client/dist/assets/just-CNehvE3T.js +1 -0
  143. package/apps/client/dist/assets/kanagawa-dragon-BHDhSKDf.js +1 -0
  144. package/apps/client/dist/assets/kanagawa-lotus-NJjGXXql.js +1 -0
  145. package/apps/client/dist/assets/kanagawa-wave-DsGe2Uqk.js +1 -0
  146. package/apps/client/dist/assets/kanban-definition-FNSA4HC5-CCamSDBx.js +89 -0
  147. package/apps/client/dist/assets/katex-MEuSR36T.js +257 -0
  148. package/apps/client/dist/assets/langs-DdlLhtBb.js +1 -0
  149. package/apps/client/dist/assets/langs-DssLtjmH.js +2 -0
  150. package/apps/client/dist/assets/laserwave-DYV0fvJ_.js +1 -0
  151. package/apps/client/dist/assets/lib-CVj84X52.js +1 -0
  152. package/apps/client/dist/assets/light-plus-FTnIShls.js +1 -0
  153. package/apps/client/dist/assets/line-Bu1sWnUo.js +1 -0
  154. package/apps/client/dist/assets/linear-DYsT-3Lb.js +1 -0
  155. package/apps/client/dist/assets/liquid-Dcyd1pkL.js +1 -0
  156. package/apps/client/dist/assets/liquid-IaJ0YhNX.js +1 -0
  157. package/apps/client/dist/assets/loader-Dbltcnnq.js +1 -0
  158. package/apps/client/dist/assets/marko-CfhbF-db.js +1 -0
  159. package/apps/client/dist/assets/material-theme-IcIb8QNx.js +1 -0
  160. package/apps/client/dist/assets/material-theme-darker-B_f2vxdL.js +1 -0
  161. package/apps/client/dist/assets/material-theme-lighter-CR2Q-4Hp.js +1 -0
  162. package/apps/client/dist/assets/material-theme-ocean-BX6hAJ_y.js +1 -0
  163. package/apps/client/dist/assets/material-theme-palenight-B6DWAotd.js +1 -0
  164. package/apps/client/dist/assets/mdc-DhVOCnij.js +1 -0
  165. package/apps/client/dist/assets/mdx-DR7vQeQJ.js +1 -0
  166. package/apps/client/dist/assets/mermaid-parser.core-BG13oDRS.js +4 -0
  167. package/apps/client/dist/assets/mermaid.core-uOPv_K4R.js +11 -0
  168. package/apps/client/dist/assets/min-dark-DECtZcqS.js +1 -0
  169. package/apps/client/dist/assets/min-light-qRIVcaqf.js +1 -0
  170. package/apps/client/dist/assets/mindmap-definition-6OY57UG3-Cgqgdenm.js +98 -0
  171. package/apps/client/dist/assets/monokai-CLmrJ-8t.js +1 -0
  172. package/apps/client/dist/assets/night-owl-eR4AsyAP.js +1 -0
  173. package/apps/client/dist/assets/night-owl-light-C74n5ti-.js +1 -0
  174. package/apps/client/dist/assets/nim-BWqWzPXS.js +1 -0
  175. package/apps/client/dist/assets/nim-z4nhPWHr.js +1 -0
  176. package/apps/client/dist/assets/nord-D4wy7NEP.js +1 -0
  177. package/apps/client/dist/assets/one-dark-pro-28TLzoS8.js +1 -0
  178. package/apps/client/dist/assets/one-light-C0UY_Fh7.js +1 -0
  179. package/apps/client/dist/assets/org-CBz7NCei.js +1 -0
  180. package/apps/client/dist/assets/packet-JDAUHWVQ-CdIH3N-s.js +1 -0
  181. package/apps/client/dist/assets/pegDiagram-ECIUJNBX-BkqJpvAH.js +1 -0
  182. package/apps/client/dist/assets/perl-CzlmyNhr.js +1 -0
  183. package/apps/client/dist/assets/perl-v6oVIuIV.js +1 -0
  184. package/apps/client/dist/assets/php-CdlAzAok.js +1 -0
  185. package/apps/client/dist/assets/php-Dwzc01lm.js +1 -0
  186. package/apps/client/dist/assets/pie-XZMESJXO-CLZw5nWA.js +1 -0
  187. package/apps/client/dist/assets/pieDiagram-GNMPY74T-4UCGP8Ge.js +39 -0
  188. package/apps/client/dist/assets/pierre-dark-fPlffE7i.js +1 -0
  189. package/apps/client/dist/assets/pierre-dark-protanopia-deuteranopia-BmjibgrW.js +1 -0
  190. package/apps/client/dist/assets/pierre-dark-soft-Cng2SYKc.js +1 -0
  191. package/apps/client/dist/assets/pierre-dark-tritanopia-DneQ5i7L.js +1 -0
  192. package/apps/client/dist/assets/pierre-dark-vibrant-BUK9Y-N_.js +1 -0
  193. package/apps/client/dist/assets/pierre-light-BvcXQJIj.js +1 -0
  194. package/apps/client/dist/assets/pierre-light-protanopia-deuteranopia-Cd5nk0bp.js +1 -0
  195. package/apps/client/dist/assets/pierre-light-soft-BvU23vks.js +1 -0
  196. package/apps/client/dist/assets/pierre-light-tritanopia-BSHccQzI.js +1 -0
  197. package/apps/client/dist/assets/pierre-light-vibrant-BgMZEwQI.js +1 -0
  198. package/apps/client/dist/assets/plastic-B2V_PDVk.js +1 -0
  199. package/apps/client/dist/assets/poimandres-DB9-pI6r.js +1 -0
  200. package/apps/client/dist/assets/preview-dialog-BLxM80N3.js +273 -0
  201. package/apps/client/dist/assets/python-CiSQgsVi.js +1 -0
  202. package/apps/client/dist/assets/quadrantDiagram-D57K4MC3-OpmZZ4aE.js +7 -0
  203. package/apps/client/dist/assets/radar-ABXABTNO-Dv4qQMAM.js +1 -0
  204. package/apps/client/dist/assets/railroad-I3PHUGI6-DbgxsnvR.js +1 -0
  205. package/apps/client/dist/assets/railroad-abnf-LNEFI6M7-jqSfr1iQ.js +1 -0
  206. package/apps/client/dist/assets/railroad-ebnf-DWYD2UWJ-CY45PpoW.js +1 -0
  207. package/apps/client/dist/assets/railroad-peg-JR7BVNR7-KjecyoZ0.js +1 -0
  208. package/apps/client/dist/assets/railroadDiagram-Y72NRBL7-DJhSLIlf.js +1 -0
  209. package/apps/client/dist/assets/razor-WdSU-o-W.js +1 -0
  210. package/apps/client/dist/assets/react-BgpkckXP.js +1418 -0
  211. package/apps/client/dist/assets/red-CqYzoXtd.js +1 -0
  212. package/apps/client/dist/assets/renderTokenLines-DSu8n2ID.js +3 -0
  213. package/apps/client/dist/assets/requirementDiagram-EQYSW5RA-zXUAtY1M.js +84 -0
  214. package/apps/client/dist/assets/rolldown-runtime-COiEfhsA.js +1 -0
  215. package/apps/client/dist/assets/rose-pine-C3zjVKxG.js +1 -0
  216. package/apps/client/dist/assets/rose-pine-dawn-C72QYfqa.js +1 -0
  217. package/apps/client/dist/assets/rose-pine-moon-CSM8ewhO.js +1 -0
  218. package/apps/client/dist/assets/rst-DkwJts6_.js +1 -0
  219. package/apps/client/dist/assets/ruby-Ch9KWVk-.js +1 -0
  220. package/apps/client/dist/assets/ruby-CzeY-soD.js +1 -0
  221. package/apps/client/dist/assets/sankeyDiagram-SY24JHO5-C0YJuVBA.js +40 -0
  222. package/apps/client/dist/assets/sequenceDiagram-BLEHNHQU-BTa6Ffxr.js +169 -0
  223. package/apps/client/dist/assets/shiki-S2UQ6acJ.js +2 -0
  224. package/apps/client/dist/assets/slack-dark-Dtzi51su.js +1 -0
  225. package/apps/client/dist/assets/slack-ochin-Bb7oPExa.js +1 -0
  226. package/apps/client/dist/assets/snazzy-light-DXgiwzKu.js +1 -0
  227. package/apps/client/dist/assets/solarized-dark-BKOT3ICq.js +1 -0
  228. package/apps/client/dist/assets/solarized-light--Lk5pOfE.js +1 -0
  229. package/apps/client/dist/assets/src-BWF7jMDv.js +1 -0
  230. package/apps/client/dist/assets/stateDiagram-v2-A6IESKWZ-eBinC1rh.js +291 -0
  231. package/apps/client/dist/assets/stream-tokenizer-DZPEnOzC.js +4 -0
  232. package/apps/client/dist/assets/svelte-CdeT-Ich.js +1 -0
  233. package/apps/client/dist/assets/swimlanes-B3ENRKFQ-06efHDrK.js +1 -0
  234. package/apps/client/dist/assets/swimlanesDiagram-AYQRV4AK-Ibmp2v-S.js +8 -0
  235. package/apps/client/dist/assets/synthwave-84-BJJFg-sc.js +1 -0
  236. package/apps/client/dist/assets/templ-BK6TuyP2.js +1 -0
  237. package/apps/client/dist/assets/themes-DcJzud8j.js +2 -0
  238. package/apps/client/dist/assets/timeline-definition-JXYKGLGB-kbeZDPo4.js +120 -0
  239. package/apps/client/dist/assets/tokyo-night-DvpptEDd.js +1 -0
  240. package/apps/client/dist/assets/tooltip-wzGTbg8k.js +1 -0
  241. package/apps/client/dist/assets/treeView-D4JQ5SDB-DgutxWB1.js +1 -0
  242. package/apps/client/dist/assets/treemap-SAJKECNS-BgYxrllW.js +1 -0
  243. package/apps/client/dist/assets/ts-tags-f8zILNTk.js +1 -0
  244. package/apps/client/dist/assets/twig-D5Ply2R9.js +1 -0
  245. package/apps/client/dist/assets/twig-DNGVvIfD.js +1 -0
  246. package/apps/client/dist/assets/typescript-Bjj6HU8L.js +1 -0
  247. package/apps/client/dist/assets/typescript-Dy13l_qr.js +1 -0
  248. package/apps/client/dist/assets/typst-lvx9SlE8.js +1 -0
  249. package/apps/client/dist/assets/unwrapDefault-ByDmBtHB.js +1 -0
  250. package/apps/client/dist/assets/usecaseDiagram-WPOLBNNX-Lgq7QMn_.js +328 -0
  251. package/apps/client/dist/assets/utils-U6QfaJBO.js +1 -0
  252. package/apps/client/dist/assets/vennDiagram-Q3Y3IDCW-DHgNQPDh.js +34 -0
  253. package/apps/client/dist/assets/vesper-C1rBZbON.js +1 -0
  254. package/apps/client/dist/assets/video-viewer-DymHqMFS.js +1 -0
  255. package/apps/client/dist/assets/vitesse-black-Sqvrs2Sw.js +1 -0
  256. package/apps/client/dist/assets/vitesse-dark-BWf_ZQtP.js +1 -0
  257. package/apps/client/dist/assets/vitesse-light-Cqenv4Qv.js +1 -0
  258. package/apps/client/dist/assets/vue-BZ4tMxTK.js +1 -0
  259. package/apps/client/dist/assets/vue-vine-DnB37twT.js +1 -0
  260. package/apps/client/dist/assets/wardley-7MLQ67FV-Duawt6HR.js +1 -0
  261. package/apps/client/dist/assets/wardleyDiagram-IVAIDKWA-DbqWbfjC.js +78 -0
  262. package/apps/client/dist/assets/xml-AovvXo6A.js +1 -0
  263. package/apps/client/dist/assets/xychartDiagram-4URNHDU4-D60bXB-G.js +7 -0
  264. package/apps/client/dist/assets/yaml-EESuZNdc.js +1 -0
  265. package/apps/client/dist/assets/zoomable-image-CkjasN2N.js +1 -0
  266. package/apps/client/dist/assets/zoomable-image-DRthozgI.js +41 -0
  267. package/apps/client/dist/index.html +35 -0
  268. package/apps/client/dist/sw.js +1 -0
  269. package/apps/server/dist/main.mjs +65 -106
  270. package/apps/server/dist/main.mjs.map +1 -1
  271. package/apps/server/drizzle/20261030220224_project_hidden/migration.sql +1 -0
  272. package/apps/server/drizzle/20261030220224_project_hidden/snapshot.json +325 -0
  273. package/package.json +1 -1
  274. package/apps/web/dist/assets/abnfDiagram-WEYOIA3C-CNZkoxwt.js +0 -1
  275. package/apps/web/dist/assets/accounts-CCbsDjja.js +0 -513
  276. package/apps/web/dist/assets/apl-Dio8Ke0X.js +0 -1
  277. package/apps/web/dist/assets/arc-DgcGdgmL.js +0 -1
  278. package/apps/web/dist/assets/architecture-WOLXFQ4H-O--ui1FL.js +0 -1
  279. package/apps/web/dist/assets/architectureDiagram-ZHVYKT53-Bt5qygpd.js +0 -36
  280. package/apps/web/dist/assets/astro-CN6YWUG3.js +0 -1
  281. package/apps/web/dist/assets/audio-player-dA2OYPGm.js +0 -1
  282. package/apps/web/dist/assets/blade-BrDpNfUX.js +0 -1
  283. package/apps/web/dist/assets/blockDiagram-RJAE7QA3-BDcALlM7.js +0 -140
  284. package/apps/web/dist/assets/button-CvTVUHeO.js +0 -1
  285. package/apps/web/dist/assets/c4Diagram-XDPPPE54-DltmZnfl.js +0 -38
  286. package/apps/web/dist/assets/channel-BiaErSWu.js +0 -1
  287. package/apps/web/dist/assets/chunk-24IY7LWP-BnbC-kCW.js +0 -1
  288. package/apps/web/dist/assets/chunk-2E7WHVMD-DI9Z3LRJ.js +0 -88
  289. package/apps/web/dist/assets/chunk-3M4EKCLJ-DOMgvaXT.js +0 -1
  290. package/apps/web/dist/assets/chunk-4EMNKR2T-Bmu5iPEB.js +0 -1
  291. package/apps/web/dist/assets/chunk-4S7OKTRW-Bg7nzAWG.js +0 -1
  292. package/apps/web/dist/assets/chunk-53FOQ5SW-f76P46nL.js +0 -1
  293. package/apps/web/dist/assets/chunk-55XCU76K-DsrsQaHP.js +0 -1
  294. package/apps/web/dist/assets/chunk-7S6XSTFO-VvdR34BD.js +0 -2
  295. package/apps/web/dist/assets/chunk-AQDTSKZB-DWCLLcEu.js +0 -72
  296. package/apps/web/dist/assets/chunk-BP2KR52E-CwyHPMMJ.js +0 -2
  297. package/apps/web/dist/assets/chunk-DSNLSHJZ-Npz5XPWZ.js +0 -129
  298. package/apps/web/dist/assets/chunk-EJLWFMJV-DyjKClu9.js +0 -2
  299. package/apps/web/dist/assets/chunk-F6S3BTY2-CZGFqKcE.js +0 -2
  300. package/apps/web/dist/assets/chunk-HAGFOTED-B1IVU9Z4.js +0 -62
  301. package/apps/web/dist/assets/chunk-HNE4Q36P-ByoLUQMm.js +0 -1
  302. package/apps/web/dist/assets/chunk-KPI5JJXK-CYaUTtMz.js +0 -1
  303. package/apps/web/dist/assets/chunk-LNGE3PJU-Cz3NAIRA.js +0 -34
  304. package/apps/web/dist/assets/chunk-NGNAAXSQ-C2Wy9Xmz.js +0 -136
  305. package/apps/web/dist/assets/chunk-NQOKRVIF-B4RCKBlg.js +0 -213
  306. package/apps/web/dist/assets/chunk-OD3NTWWA-tWtUB_cI.js +0 -1
  307. package/apps/web/dist/assets/chunk-OYAV6JZA-rT8O_-D6.js +0 -1
  308. package/apps/web/dist/assets/chunk-QNH66VMT-BbxTKInC.js +0 -1
  309. package/apps/web/dist/assets/chunk-TPMEZKFX-mvOucSjo.js +0 -1
  310. package/apps/web/dist/assets/chunk-UHW7PFBP-Cu9Ayl_R.js +0 -1
  311. package/apps/web/dist/assets/chunk-VPELOWWC-Dw8jWE1Y.js +0 -1
  312. package/apps/web/dist/assets/chunk-VQ5W62QI-yc2D7bI8.js +0 -1
  313. package/apps/web/dist/assets/chunk-VTWWFHGB-CErZyUMc.js +0 -1
  314. package/apps/web/dist/assets/chunk-VZTHESGH-BsQ8KQ39.js +0 -1
  315. package/apps/web/dist/assets/chunk-WQQL4CDK-BAxY1EoE.js +0 -10
  316. package/apps/web/dist/assets/chunk-XXDRQBXY-RlzOQ08v.js +0 -1
  317. package/apps/web/dist/assets/chunk-YK26KJH5-CFTvfUrJ.js +0 -1
  318. package/apps/web/dist/assets/chunk-YZO67HFG-B_UXK566.js +0 -1
  319. package/apps/web/dist/assets/chunk-ZAUX2LTX-BaD-GxqC.js +0 -1
  320. package/apps/web/dist/assets/chunk-ZCHMQSOR-BoFxnrLn.js +0 -2
  321. package/apps/web/dist/assets/chunk-ZO67DCNQ-DQMJSBMv.js +0 -2
  322. package/apps/web/dist/assets/classDiagram-v2-4MYWR3UA-CrgsmZ1r.js +0 -217
  323. package/apps/web/dist/assets/cose-bilkent-JH36ORCC-Ci-t6eKT.js +0 -1
  324. package/apps/web/dist/assets/crystal-DEF7AEJQ.js +0 -1
  325. package/apps/web/dist/assets/cynefin-EF2NZ3EQ-B22Il0Q0.js +0 -1
  326. package/apps/web/dist/assets/cynefinDiagram-WF24UDRP-Boik6NMW.js +0 -62
  327. package/apps/web/dist/assets/cytoscape.esm-BegBNzOV.js +0 -321
  328. package/apps/web/dist/assets/dagre-NK4GIZVX-BSfLeunL.js +0 -4
  329. package/apps/web/dist/assets/diagram-CBK3MWTC-BHJqlY6f.js +0 -24
  330. package/apps/web/dist/assets/diagram-I5XIIV2D-B_jxetms.js +0 -24
  331. package/apps/web/dist/assets/diagram-ODIL2UCW-DfqD5uqI.js +0 -30
  332. package/apps/web/dist/assets/diagram-PFBEJUXE-1aq8qGYY.js +0 -3
  333. package/apps/web/dist/assets/diagram-RJA3I4VV-KG9CFGTL.js +0 -41
  334. package/apps/web/dist/assets/diagram-TYUNFSNR-Do2jo9yU.js +0 -200
  335. package/apps/web/dist/assets/dialog-BferUxFi.js +0 -273
  336. package/apps/web/dist/assets/dist-B_J_HbC0.js +0 -1
  337. package/apps/web/dist/assets/dist-BrDshb6Z.js +0 -153
  338. package/apps/web/dist/assets/dist-W0oXjES1.js +0 -1
  339. package/apps/web/dist/assets/ebnfDiagram-V4P3TTPT-D2ts5XpU.js +0 -1
  340. package/apps/web/dist/assets/ecl-D05T4iGw.js +0 -1
  341. package/apps/web/dist/assets/edge-B_SBzXGF.js +0 -1
  342. package/apps/web/dist/assets/editor-dialog-DJduZneD.js +0 -52
  343. package/apps/web/dist/assets/editor.api-4LH2ijIL.js +0 -908
  344. package/apps/web/dist/assets/editor.worker-BmdWdrHZ.js +0 -33
  345. package/apps/web/dist/assets/editor.worker-D2ouzCu8.js +0 -1
  346. package/apps/web/dist/assets/elk-QONTBCTQ-B_GGAzMO.js +0 -27
  347. package/apps/web/dist/assets/erDiagram-KYQIGQAA-2dqvdzye.js +0 -99
  348. package/apps/web/dist/assets/erb-BjlLGk-_.js +0 -1
  349. package/apps/web/dist/assets/eventmodeling-K75KTNOO-CXHQFMgp.js +0 -1
  350. package/apps/web/dist/assets/flowDiagram-IUGLLWBU-CtZHqT3f.js +0 -1
  351. package/apps/web/dist/assets/freemarker2-6NYS9HqW.js +0 -3
  352. package/apps/web/dist/assets/ganttDiagram-R7GPNTJY-BqiF1UBm.js +0 -292
  353. package/apps/web/dist/assets/gitGraph-VSP46ZUC-TdWHDRg-.js +0 -1
  354. package/apps/web/dist/assets/gitGraphDiagram-PDYL7XHY-CmG5ZO6p.js +0 -106
  355. package/apps/web/dist/assets/glimmer-js-CIdbWayl.js +0 -1
  356. package/apps/web/dist/assets/glimmer-ts-B16xCo2k.js +0 -1
  357. package/apps/web/dist/assets/graphql-BZEhxNwM.js +0 -1
  358. package/apps/web/dist/assets/graphql-DEIChqxY.js +0 -1
  359. package/apps/web/dist/assets/handlebars-DOeNnhTE.js +0 -1
  360. package/apps/web/dist/assets/handlebars-WZCg7K7Q.js +0 -1
  361. package/apps/web/dist/assets/handlebars-g-3gLrXt.js +0 -1
  362. package/apps/web/dist/assets/html-BwGTVsqZ.js +0 -1
  363. package/apps/web/dist/assets/http-BjrBtiM6.js +0 -1
  364. package/apps/web/dist/assets/hurl-B4P9s9G3.js +0 -1
  365. package/apps/web/dist/assets/image-viewer-H78MKvch.js +0 -1
  366. package/apps/web/dist/assets/index-BYsSCxSd.css +0 -2
  367. package/apps/web/dist/assets/index-D8kFmWlq.js +0 -9
  368. package/apps/web/dist/assets/info-OHQRW6UA-vNA4W1BY.js +0 -1
  369. package/apps/web/dist/assets/infoDiagram-MVDRKAX5-BKX9UC-k.js +0 -2
  370. package/apps/web/dist/assets/ishikawaDiagram-HPEHV2GE-B4qnWXRg.js +0 -70
  371. package/apps/web/dist/assets/javascript-Dj-Vzbp-.js +0 -1
  372. package/apps/web/dist/assets/journeyDiagram-BOSHW7O7-BiKpcTEm.js +0 -139
  373. package/apps/web/dist/assets/julia-C8a5hZkp.js +0 -1
  374. package/apps/web/dist/assets/julia-hqywDEUR.js +0 -1
  375. package/apps/web/dist/assets/just-CP_wDfXI.js +0 -1
  376. package/apps/web/dist/assets/kanban-definition-FNSA4HC5-D0QGHPZw.js +0 -89
  377. package/apps/web/dist/assets/katex-B_JcIwqj.js +0 -257
  378. package/apps/web/dist/assets/line-QLqjjjjp.js +0 -1
  379. package/apps/web/dist/assets/linear-DzP0d4la.js +0 -1
  380. package/apps/web/dist/assets/liquid-CQNtsgCr.js +0 -1
  381. package/apps/web/dist/assets/liquid-DDSU3ltH.js +0 -1
  382. package/apps/web/dist/assets/marko-DPS0EkZ1.js +0 -1
  383. package/apps/web/dist/assets/mdc-C6srEd4p.js +0 -1
  384. package/apps/web/dist/assets/mdx-YllfWysm.js +0 -1
  385. package/apps/web/dist/assets/mermaid-parser.core-BHOBNwvf.js +0 -4
  386. package/apps/web/dist/assets/mermaid.core-BvdElKsv.js +0 -11
  387. package/apps/web/dist/assets/mindmap-definition-6OY57UG3-BXYDkcmu.js +0 -98
  388. package/apps/web/dist/assets/nim-DN3EGtL-.js +0 -1
  389. package/apps/web/dist/assets/nim-ZjzS1dcU.js +0 -1
  390. package/apps/web/dist/assets/org-BRAbLUOJ.js +0 -1
  391. package/apps/web/dist/assets/packet-JDAUHWVQ-B8hYuedA.js +0 -1
  392. package/apps/web/dist/assets/pegDiagram-ECIUJNBX-CKUDNsQa.js +0 -1
  393. package/apps/web/dist/assets/perl-Ciba4h2-.js +0 -1
  394. package/apps/web/dist/assets/perl-sgZsTtaf.js +0 -1
  395. package/apps/web/dist/assets/php-D9QpVhjP.js +0 -1
  396. package/apps/web/dist/assets/php-DBfnyu6d.js +0 -1
  397. package/apps/web/dist/assets/pie-XZMESJXO-Dot5dfKq.js +0 -1
  398. package/apps/web/dist/assets/pieDiagram-GNMPY74T-CYBpcOWI.js +0 -39
  399. package/apps/web/dist/assets/preview-dialog-CXQtRB9z.js +0 -1
  400. package/apps/web/dist/assets/python-Bsfjs4Fs.js +0 -1
  401. package/apps/web/dist/assets/quadrantDiagram-D57K4MC3-Ce4rstAB.js +0 -7
  402. package/apps/web/dist/assets/radar-ABXABTNO-B-JNDxsg.js +0 -1
  403. package/apps/web/dist/assets/railroad-I3PHUGI6-CZyDVcgN.js +0 -1
  404. package/apps/web/dist/assets/railroad-abnf-LNEFI6M7-Vj_R5cg2.js +0 -1
  405. package/apps/web/dist/assets/railroad-ebnf-DWYD2UWJ-CUdwkvqU.js +0 -1
  406. package/apps/web/dist/assets/railroad-peg-JR7BVNR7-Cx8B3Fw_.js +0 -1
  407. package/apps/web/dist/assets/railroadDiagram-Y72NRBL7-DJFwL-gy.js +0 -1
  408. package/apps/web/dist/assets/razor-3MUz77_n.js +0 -1
  409. package/apps/web/dist/assets/react-BzGNAlhs.js +0 -1416
  410. package/apps/web/dist/assets/requirementDiagram-EQYSW5RA-BRGd7bW2.js +0 -84
  411. package/apps/web/dist/assets/rolldown-runtime-Dd_uD5pT.js +0 -1
  412. package/apps/web/dist/assets/rst-BCaXiUC4.js +0 -1
  413. package/apps/web/dist/assets/ruby-C4ARPOX3.js +0 -1
  414. package/apps/web/dist/assets/ruby-Dl3oLoVp.js +0 -1
  415. package/apps/web/dist/assets/sankeyDiagram-SY24JHO5-K6n9GTvI.js +0 -40
  416. package/apps/web/dist/assets/sequenceDiagram-BLEHNHQU-C5fTKXFr.js +0 -169
  417. package/apps/web/dist/assets/src-BbHDS76q.js +0 -1
  418. package/apps/web/dist/assets/stateDiagram-v2-A6IESKWZ-DmuliVkN.js +0 -291
  419. package/apps/web/dist/assets/svelte-BaCIHHWd.js +0 -1
  420. package/apps/web/dist/assets/swimlanes-B3ENRKFQ-C6184yrk.js +0 -1
  421. package/apps/web/dist/assets/swimlanesDiagram-AYQRV4AK-C7v5ZG8a.js +0 -8
  422. package/apps/web/dist/assets/templ-BfgLc4ra.js +0 -1
  423. package/apps/web/dist/assets/timeline-definition-JXYKGLGB-9zgkFWSz.js +0 -120
  424. package/apps/web/dist/assets/tooltip-BVy8llWO.js +0 -1
  425. package/apps/web/dist/assets/treeView-D4JQ5SDB-C4nFWZ36.js +0 -1
  426. package/apps/web/dist/assets/treemap-SAJKECNS-BtKhU7nu.js +0 -1
  427. package/apps/web/dist/assets/ts-tags-DLz2GTd3.js +0 -1
  428. package/apps/web/dist/assets/twig-HaHkB3PH.js +0 -1
  429. package/apps/web/dist/assets/twig-lMQ09cjh.js +0 -1
  430. package/apps/web/dist/assets/typescript-CfCJo9p3.js +0 -1
  431. package/apps/web/dist/assets/typescript-fNZ3iur6.js +0 -1
  432. package/apps/web/dist/assets/typst-DDNSzYFN.js +0 -1
  433. package/apps/web/dist/assets/usecaseDiagram-WPOLBNNX-GhuLCvVh.js +0 -328
  434. package/apps/web/dist/assets/utils-DPxKzVJp.js +0 -1
  435. package/apps/web/dist/assets/vennDiagram-Q3Y3IDCW-CkqSz3Ut.js +0 -34
  436. package/apps/web/dist/assets/video-viewer-Dc2ZMyL5.js +0 -1
  437. package/apps/web/dist/assets/vue-qH43U_rv.js +0 -1
  438. package/apps/web/dist/assets/vue-vine-6XI2pIvQ.js +0 -1
  439. package/apps/web/dist/assets/wardley-7MLQ67FV-zgQ1s-nD.js +0 -1
  440. package/apps/web/dist/assets/wardleyDiagram-IVAIDKWA-CQSNfHYl.js +0 -78
  441. package/apps/web/dist/assets/xml-S-oLW5B5.js +0 -1
  442. package/apps/web/dist/assets/xychartDiagram-4URNHDU4-oZoMdVOh.js +0 -7
  443. package/apps/web/dist/assets/yaml-DlmqY7sN.js +0 -1
  444. package/apps/web/dist/assets/zoomable-image-Cevmy_zk.js +0 -41
  445. package/apps/web/dist/assets/zoomable-image-Dugv4kyQ.js +0 -1
  446. package/apps/web/dist/index.html +0 -28
  447. package/apps/web/dist/sw.js +0 -1
  448. /package/apps/{web → client}/dist/apple-touch-icon.png +0 -0
  449. /package/apps/{web → client}/dist/assets/CaskaydiaCove-Bold-EtG3C8NJ.woff2 +0 -0
  450. /package/apps/{web → client}/dist/assets/CaskaydiaCove-Regular-C8p8BuDw.woff2 +0 -0
  451. /package/apps/{web → client}/dist/assets/FiraCode-Bold-CWkMdXEH.woff2 +0 -0
  452. /package/apps/{web → client}/dist/assets/FiraCode-Regular-DlIV_a-6.woff2 +0 -0
  453. /package/apps/{web → client}/dist/assets/Hack-Bold-CJ2nw9Fn.woff2 +0 -0
  454. /package/apps/{web → client}/dist/assets/Hack-Regular-DQT7wDXD.woff2 +0 -0
  455. /package/apps/{web → client}/dist/assets/JetBrainsMono-Bold-C3RVijod.woff2 +0 -0
  456. /package/apps/{web → client}/dist/assets/JetBrainsMono-Regular-BhNseNRl.woff2 +0 -0
  457. /package/apps/{web → client}/dist/assets/MinusSignIcon-DGIm2EHe.js +0 -0
  458. /package/apps/{web → client}/dist/assets/abap-08VXUWAP.js +0 -0
  459. /package/apps/{web → client}/dist/assets/abap-CLvhMVsD.js +0 -0
  460. /package/apps/{web → client}/dist/assets/actionscript-3-Cs6JJXT5.js +0 -0
  461. /package/apps/{web → client}/dist/assets/ada-X3Y2mlq2.js +0 -0
  462. /package/apps/{web → client}/dist/assets/ahk-DwADkxyd.js +0 -0
  463. /package/apps/{web → client}/dist/assets/ahk2-_6rzW9BS.js +0 -0
  464. /package/apps/{web → client}/dist/assets/andromeeda-vGVdxbeo.js +0 -0
  465. /package/apps/{web → client}/dist/assets/angular-html-BswFT_28.js +0 -0
  466. /package/apps/{web → client}/dist/assets/angular-html-DOLkzBtu.js +0 -0
  467. /package/apps/{web → client}/dist/assets/angular-ts-DOMhGxLQ.js +0 -0
  468. /package/apps/{web → client}/dist/assets/apache-U0d_L8uA.js +0 -0
  469. /package/apps/{web → client}/dist/assets/apex-BWPQTe0t.js +0 -0
  470. /package/apps/{web → client}/dist/assets/apex-KFGFyKwG.js +0 -0
  471. /package/apps/{web → client}/dist/assets/applescript-CCn79oCD.js +0 -0
  472. /package/apps/{web → client}/dist/assets/ara-4CJ0cIlV.js +0 -0
  473. /package/apps/{web → client}/dist/assets/array-BifhSqXX.js +0 -0
  474. /package/apps/{web → client}/dist/assets/asciidoc-SCjQUq34.js +0 -0
  475. /package/apps/{web → client}/dist/assets/asm-Cmm7eHzH.js +0 -0
  476. /package/apps/{web → client}/dist/assets/aurora-x-CDeNXAV0.js +0 -0
  477. /package/apps/{web → client}/dist/assets/awk-BWXHIvNe.js +0 -0
  478. /package/apps/{web → client}/dist/assets/ayu-dark-DluEY0Gj.js +0 -0
  479. /package/apps/{web → client}/dist/assets/ayu-light-C3h-C4tm.js +0 -0
  480. /package/apps/{web → client}/dist/assets/ayu-mirage-Bqwy1Gya.js +0 -0
  481. /package/apps/{web → client}/dist/assets/azcli-Bc_sGQ0U.js +0 -0
  482. /package/apps/{web → client}/dist/assets/ballerina-B7ZEbQpA.js +0 -0
  483. /package/apps/{web → client}/dist/assets/bat-C7sJWglS.js +0 -0
  484. /package/apps/{web → client}/dist/assets/bat-HFWzIrao.js +0 -0
  485. /package/apps/{web → client}/dist/assets/bat-i0X4ZdIN.js +0 -0
  486. /package/apps/{web → client}/dist/assets/beancount-C2IN4Vk8.js +0 -0
  487. /package/apps/{web → client}/dist/assets/berry-DKpUyyne.js +0 -0
  488. /package/apps/{web → client}/dist/assets/bibtex-Conh3HYz.js +0 -0
  489. /package/apps/{web → client}/dist/assets/bibtex-DUQXB5kJ.js +0 -0
  490. /package/apps/{web → client}/dist/assets/bicep-B5-_aFwp.js +0 -0
  491. /package/apps/{web → client}/dist/assets/bicep-CUHmPFLl.js +0 -0
  492. /package/apps/{web → client}/dist/assets/bird2-CYIUgYqB.js +0 -0
  493. /package/apps/{web → client}/dist/assets/bsl-gRq8cI6V.js +0 -0
  494. /package/apps/{web → client}/dist/assets/c-Cz4nF6n_.js +0 -0
  495. /package/apps/{web → client}/dist/assets/c-SSSlmE39.js +0 -0
  496. /package/apps/{web → client}/dist/assets/c3-D0apG41V.js +0 -0
  497. /package/apps/{web → client}/dist/assets/cadence-CQ2zXKGN.js +0 -0
  498. /package/apps/{web → client}/dist/assets/cairo-D66nqRlU.js +0 -0
  499. /package/apps/{web → client}/dist/assets/cameligo-DMUM7wLl.js +0 -0
  500. /package/apps/{web → client}/dist/assets/catppuccin-frappe-C9Q5zVZY.js +0 -0
  501. /package/apps/{web → client}/dist/assets/catppuccin-latte-CtsyrtPq.js +0 -0
  502. /package/apps/{web → client}/dist/assets/catppuccin-macchiato-R8nAf1vR.js +0 -0
  503. /package/apps/{web → client}/dist/assets/catppuccin-mocha-DjuaAJKi.js +0 -0
  504. /package/apps/{web → client}/dist/assets/chapel-C1sUNn9S.js +0 -0
  505. /package/apps/{web → client}/dist/assets/chunk-2Q5K7J3B-C1jixKkw.js +0 -0
  506. /package/apps/{web → client}/dist/assets/chunk-5VM5RSS4-ZNzvKenW.js +0 -0
  507. /package/apps/{web → client}/dist/assets/chunk-DUW6YSOI-Dgx8z5s3.js +0 -0
  508. /package/apps/{web → client}/dist/assets/chunk-J5ZVWO5B-oDCd-gWO.js +0 -0
  509. /package/apps/{web → client}/dist/assets/chunk-JWPE2WC7-DVXcaiue.js +0 -0
  510. /package/apps/{web → client}/dist/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +0 -0
  511. /package/apps/{web → client}/dist/assets/clarity-CtfBBspg.js +0 -0
  512. /package/apps/{web → client}/dist/assets/clojure-CAE6QLVB.js +0 -0
  513. /package/apps/{web → client}/dist/assets/clojure-Cm7r79vr.js +0 -0
  514. /package/apps/{web → client}/dist/assets/clojure-zIjcJonk.js +0 -0
  515. /package/apps/{web → client}/dist/assets/cmake-Cpsd-0Y4.js +0 -0
  516. /package/apps/{web → client}/dist/assets/cmake-T_kMSWuN.js +0 -0
  517. /package/apps/{web → client}/dist/assets/cobol-BvqUwMCV.js +0 -0
  518. /package/apps/{web → client}/dist/assets/codeowners-C8r90Shi.js +0 -0
  519. /package/apps/{web → client}/dist/assets/codeql-oeQT6MSM.js +0 -0
  520. /package/apps/{web → client}/dist/assets/codicon-DF1abBS2.ttf +0 -0
  521. /package/apps/{web → client}/dist/assets/coffee-BSYIIMkB.js +0 -0
  522. /package/apps/{web → client}/dist/assets/coffee-Ba7i2nA0.js +0 -0
  523. /package/apps/{web → client}/dist/assets/coffee-NEqv5HL5.js +0 -0
  524. /package/apps/{web → client}/dist/assets/common-lisp-Cv5bFMCO.js +0 -0
  525. /package/apps/{web → client}/dist/assets/coq-CGaSfhwR.js +0 -0
  526. /package/apps/{web → client}/dist/assets/cpp-BDT6bThX.js +0 -0
  527. /package/apps/{web → client}/dist/assets/cpp-C7h46wYY.js +0 -0
  528. /package/apps/{web → client}/dist/assets/cpp-vothkh01.js +0 -0
  529. /package/apps/{web → client}/dist/assets/csharp-B3DbjJyj.js +0 -0
  530. /package/apps/{web → client}/dist/assets/csharp-BKxtCVv1.js +0 -0
  531. /package/apps/{web → client}/dist/assets/csharp-CFKDkFDZ.js +0 -0
  532. /package/apps/{web → client}/dist/assets/csp-bTuwJoIa.js +0 -0
  533. /package/apps/{web → client}/dist/assets/css-BGIxQoYs.js +0 -0
  534. /package/apps/{web → client}/dist/assets/css-DIMkf-bt.js +0 -0
  535. /package/apps/{web → client}/dist/assets/css-DgaLhXQH.js +0 -0
  536. /package/apps/{web → client}/dist/assets/csv-B_R7vXwK.js +0 -0
  537. /package/apps/{web → client}/dist/assets/csv-k4CB9lhx.js +0 -0
  538. /package/apps/{web → client}/dist/assets/cue-CE9AQfxI.js +0 -0
  539. /package/apps/{web → client}/dist/assets/cypher-CVaqCwHa.js +0 -0
  540. /package/apps/{web → client}/dist/assets/cypher-ClKdZ_lG.js +0 -0
  541. /package/apps/{web → client}/dist/assets/d-qD-0Kul2.js +0 -0
  542. /package/apps/{web → client}/dist/assets/dark-plus-Cs2F2srj.js +0 -0
  543. /package/apps/{web → client}/dist/assets/dart-DjhkpiWP.js +0 -0
  544. /package/apps/{web → client}/dist/assets/dart-_dH3dQdM.js +0 -0
  545. /package/apps/{web → client}/dist/assets/dart-onAF5SnQ.js +0 -0
  546. /package/apps/{web → client}/dist/assets/dax-BkyTk9wS.js +0 -0
  547. /package/apps/{web → client}/dist/assets/defaultLocale-BFoDCU3G.js +0 -0
  548. /package/apps/{web → client}/dist/assets/desktop-Dlh5hvp9.js +0 -0
  549. /package/apps/{web → client}/dist/assets/diff-CR4ZX0DC.js +0 -0
  550. /package/apps/{web → client}/dist/assets/diff-eeGLjE2V.js +0 -0
  551. /package/apps/{web → client}/dist/assets/docker-CAzcIhYn.js +0 -0
  552. /package/apps/{web → client}/dist/assets/docker-D0LTq72f.js +0 -0
  553. /package/apps/{web → client}/dist/assets/dockerfile-DZFCIeNp.js +0 -0
  554. /package/apps/{web → client}/dist/assets/dotenv-CuH5my32.js +0 -0
  555. /package/apps/{web → client}/dist/assets/dracula-BHWKrbxM.js +0 -0
  556. /package/apps/{web → client}/dist/assets/dracula-soft-5eyTD99u.js +0 -0
  557. /package/apps/{web → client}/dist/assets/dream-maker-DW3nJb8Q.js +0 -0
  558. /package/apps/{web → client}/dist/assets/editor-DjpsE8to.css +0 -0
  559. /package/apps/{web → client}/dist/assets/editor-dialog-BNFI__d8.css +0 -0
  560. /package/apps/{web → client}/dist/assets/elixir-6RTg0lbw.js +0 -0
  561. /package/apps/{web → client}/dist/assets/elixir-BL8v4QDr.js +0 -0
  562. /package/apps/{web → client}/dist/assets/elixir-BN3BkYei.js +0 -0
  563. /package/apps/{web → client}/dist/assets/elm-CC1TmzeR.js +0 -0
  564. /package/apps/{web → client}/dist/assets/emacs-lisp-DR2vtWaj.js +0 -0
  565. /package/apps/{web → client}/dist/assets/erlang-CCXss5H6.js +0 -0
  566. /package/apps/{web → client}/dist/assets/erlang-ir39Pet8.js +0 -0
  567. /package/apps/{web → client}/dist/assets/everforest-dark-sB-x3p7T.js +0 -0
  568. /package/apps/{web → client}/dist/assets/everforest-light-Df2xbC6M.js +0 -0
  569. /package/apps/{web → client}/dist/assets/fennel-DQxkIbk2.js +0 -0
  570. /package/apps/{web → client}/dist/assets/fish-BJitypiv.js +0 -0
  571. /package/apps/{web → client}/dist/assets/flow9-C5_-GSwl.js +0 -0
  572. /package/apps/{web → client}/dist/assets/fluent-C03EYrpw.js +0 -0
  573. /package/apps/{web → client}/dist/assets/fortran-fixed-form-1cK5gXa1.js +0 -0
  574. /package/apps/{web → client}/dist/assets/fortran-free-form-C5q_0aPq.js +0 -0
  575. /package/apps/{web → client}/dist/assets/fortran-free-form-uHOymLAb.js +0 -0
  576. /package/apps/{web → client}/dist/assets/fsharp-C37UASp4.js +0 -0
  577. /package/apps/{web → client}/dist/assets/fsharp-C8Ef5oNN.js +0 -0
  578. /package/apps/{web → client}/dist/assets/fsharp-SO2Zcqp5.js +0 -0
  579. /package/apps/{web → client}/dist/assets/gdresource-LxjHb83i.js +0 -0
  580. /package/apps/{web → client}/dist/assets/gdscript-CJEqcM-5.js +0 -0
  581. /package/apps/{web → client}/dist/assets/gdscript-DJFPOtzS.js +0 -0
  582. /package/apps/{web → client}/dist/assets/gdshader-BNp4G147.js +0 -0
  583. /package/apps/{web → client}/dist/assets/gdshader-kiBtQlv1.js +0 -0
  584. /package/apps/{web → client}/dist/assets/genie-CV2tkWYe.js +0 -0
  585. /package/apps/{web → client}/dist/assets/gherkin-DExj1W_8.js +0 -0
  586. /package/apps/{web → client}/dist/assets/ghostty-vt-CQAu1Gs5.wasm +0 -0
  587. /package/apps/{web → client}/dist/assets/git-commit-BAuDFD-1.js +0 -0
  588. /package/apps/{web → client}/dist/assets/git-commit-DaNUDv1O.js +0 -0
  589. /package/apps/{web → client}/dist/assets/git-rebase-Bh7mDoAc.js +0 -0
  590. /package/apps/{web → client}/dist/assets/git-rebase-qxk4jQ_Z.js +0 -0
  591. /package/apps/{web → client}/dist/assets/github-dark-C-LZuMrd.js +0 -0
  592. /package/apps/{web → client}/dist/assets/github-dark-default-DXG-b-1a.js +0 -0
  593. /package/apps/{web → client}/dist/assets/github-dark-dimmed-Bx1FflLF.js +0 -0
  594. /package/apps/{web → client}/dist/assets/github-dark-high-contrast-B_tTalzw.js +0 -0
  595. /package/apps/{web → client}/dist/assets/github-light-EUqPIrTm.js +0 -0
  596. /package/apps/{web → client}/dist/assets/github-light-default-BXViO-2h.js +0 -0
  597. /package/apps/{web → client}/dist/assets/github-light-high-contrast-B68TUdTA.js +0 -0
  598. /package/apps/{web → client}/dist/assets/gleam-CSRkHgEL.js +0 -0
  599. /package/apps/{web → client}/dist/assets/glsl-CaPTrB3a.js +0 -0
  600. /package/apps/{web → client}/dist/assets/glsl-D01ELkOo.js +0 -0
  601. /package/apps/{web → client}/dist/assets/gn-CAXYAgV-.js +0 -0
  602. /package/apps/{web → client}/dist/assets/gnuplot-7GGW24-e.js +0 -0
  603. /package/apps/{web → client}/dist/assets/go-C-y9NEjX.js +0 -0
  604. /package/apps/{web → client}/dist/assets/go-CC6EVc1J.js +0 -0
  605. /package/apps/{web → client}/dist/assets/go-CFMhVTkq.js +0 -0
  606. /package/apps/{web → client}/dist/assets/graphlib-DS17s2tU.js +0 -0
  607. /package/apps/{web → client}/dist/assets/graphql-fmXr3nnJ.js +0 -0
  608. /package/apps/{web → client}/dist/assets/groovy-Dj7WCBJM.js +0 -0
  609. /package/apps/{web → client}/dist/assets/groovy-_MokPXAr.js +0 -0
  610. /package/apps/{web → client}/dist/assets/gruvbox-dark-hard-C820rvS2.js +0 -0
  611. /package/apps/{web → client}/dist/assets/gruvbox-dark-medium-BPjhmG05.js +0 -0
  612. /package/apps/{web → client}/dist/assets/gruvbox-dark-soft-MrdJrrXF.js +0 -0
  613. /package/apps/{web → client}/dist/assets/gruvbox-light-hard-BC_s9l72.js +0 -0
  614. /package/apps/{web → client}/dist/assets/gruvbox-light-medium-BAWPOn9u.js +0 -0
  615. /package/apps/{web → client}/dist/assets/gruvbox-light-soft-BSMLrYjP.js +0 -0
  616. /package/apps/{web → client}/dist/assets/hack-C30D-q0p.js +0 -0
  617. /package/apps/{web → client}/dist/assets/haml-BU6KMePS.js +0 -0
  618. /package/apps/{web → client}/dist/assets/haml-C1zHJAQt.js +0 -0
  619. /package/apps/{web → client}/dist/assets/haskell-D8IpX4py.js +0 -0
  620. /package/apps/{web → client}/dist/assets/haxe-B0BMDyun.js +0 -0
  621. /package/apps/{web → client}/dist/assets/haxe-CD8O8Ul0.js +0 -0
  622. /package/apps/{web → client}/dist/assets/hcl-CpzslTdj.js +0 -0
  623. /package/apps/{web → client}/dist/assets/hcl-Dh228itO.js +0 -0
  624. /package/apps/{web → client}/dist/assets/hjson-CxZEssPk.js +0 -0
  625. /package/apps/{web → client}/dist/assets/hlsl-DQJgUA8P.js +0 -0
  626. /package/apps/{web → client}/dist/assets/hlsl-ajL2FB-w.js +0 -0
  627. /package/apps/{web → client}/dist/assets/horizon-CE9ld1lL.js +0 -0
  628. /package/apps/{web → client}/dist/assets/horizon-bright-DSNQnXHK.js +0 -0
  629. /package/apps/{web → client}/dist/assets/houston-CsvMBhTu.js +0 -0
  630. /package/apps/{web → client}/dist/assets/html-BCy9P6D2.js +0 -0
  631. /package/apps/{web → client}/dist/assets/html-DSw1lh5G.js +0 -0
  632. /package/apps/{web → client}/dist/assets/html-derivative-DyzJkWO6.js +0 -0
  633. /package/apps/{web → client}/dist/assets/html-derivative-ekTk9Unt.js +0 -0
  634. /package/apps/{web → client}/dist/assets/hxml-DPF7XkXa.js +0 -0
  635. /package/apps/{web → client}/dist/assets/hy-CZbG8q4J.js +0 -0
  636. /package/apps/{web → client}/dist/assets/imba-DsUTQ-LC.js +0 -0
  637. /package/apps/{web → client}/dist/assets/ini-0B7NLFlx.js +0 -0
  638. /package/apps/{web → client}/dist/assets/ini-DiZ1IqbV.js +0 -0
  639. /package/apps/{web → client}/dist/assets/ini-sBoK_t0W.js +0 -0
  640. /package/apps/{web → client}/dist/assets/init-C-OQMol4.js +0 -0
  641. /package/apps/{web → client}/dist/assets/java-BEtHBSE6.js +0 -0
  642. /package/apps/{web → client}/dist/assets/java-BtIQNnN0.js +0 -0
  643. /package/apps/{web → client}/dist/assets/java-_ATy9zCa.js +0 -0
  644. /package/apps/{web → client}/dist/assets/javascript-BzbQS41l.js +0 -0
  645. /package/apps/{web → client}/dist/assets/javascript-CpIGwZ_Y.js +0 -0
  646. /package/apps/{web → client}/dist/assets/jinja-dRcm23Ea.js +0 -0
  647. /package/apps/{web → client}/dist/assets/jison-D3aJooqo.js +0 -0
  648. /package/apps/{web → client}/dist/assets/json-B88Oqtu5.js +0 -0
  649. /package/apps/{web → client}/dist/assets/json-C3WlssX3.js +0 -0
  650. /package/apps/{web → client}/dist/assets/json5-BR5RXkoi.js +0 -0
  651. /package/apps/{web → client}/dist/assets/jsonc-BzJ54Uh_.js +0 -0
  652. /package/apps/{web → client}/dist/assets/jsonc-dcnCvL0G.js +0 -0
  653. /package/apps/{web → client}/dist/assets/jsonl-CmCQp5Yx.js +0 -0
  654. /package/apps/{web → client}/dist/assets/jsonnet-CJTPZ8u_.js +0 -0
  655. /package/apps/{web → client}/dist/assets/jssm-DXw9l8Rf.js +0 -0
  656. /package/apps/{web → client}/dist/assets/jsx-C4yDKi0A.js +0 -0
  657. /package/apps/{web → client}/dist/assets/jsx-D3KKoC5L.js +0 -0
  658. /package/apps/{web → client}/dist/assets/julia-Bri6UV-V.js +0 -0
  659. /package/apps/{web → client}/dist/assets/kanagawa-dragon-Bozd7klA.js +0 -0
  660. /package/apps/{web → client}/dist/assets/kanagawa-lotus-BmuOG9ZW.js +0 -0
  661. /package/apps/{web → client}/dist/assets/kanagawa-wave-BML5mF2J.js +0 -0
  662. /package/apps/{web → client}/dist/assets/kdl-CsD5j6eV.js +0 -0
  663. /package/apps/{web → client}/dist/assets/kotlin-BOotOW0E.js +0 -0
  664. /package/apps/{web → client}/dist/assets/kotlin-DhhofPvG.js +0 -0
  665. /package/apps/{web → client}/dist/assets/kusto-C7mF5XQf.js +0 -0
  666. /package/apps/{web → client}/dist/assets/laserwave-C_8bwKvT.js +0 -0
  667. /package/apps/{web → client}/dist/assets/latex-B_Ztlc7G.js +0 -0
  668. /package/apps/{web → client}/dist/assets/latex-Bn9nYtub.js +0 -0
  669. /package/apps/{web → client}/dist/assets/lean-CewbzKMR.js +0 -0
  670. /package/apps/{web → client}/dist/assets/less-B64L-FWb.js +0 -0
  671. /package/apps/{web → client}/dist/assets/less-B9JPFI3C.js +0 -0
  672. /package/apps/{web → client}/dist/assets/less-CXhFgJ4v.js +0 -0
  673. /package/apps/{web → client}/dist/assets/lexon-CfSJPG6W.js +0 -0
  674. /package/apps/{web → client}/dist/assets/light-plus-DVQuIRkW.js +0 -0
  675. /package/apps/{web → client}/dist/assets/llvm-DqHOMS-s.js +0 -0
  676. /package/apps/{web → client}/dist/assets/log-Bu1ZtrH6.js +0 -0
  677. /package/apps/{web → client}/dist/assets/log-BvtJ4bSl.js +0 -0
  678. /package/apps/{web → client}/dist/assets/logo-Cluzi2Zq.js +0 -0
  679. /package/apps/{web → client}/dist/assets/lua-CsQS60Ue.js +0 -0
  680. /package/apps/{web → client}/dist/assets/lua-DjuecEsk.js +0 -0
  681. /package/apps/{web → client}/dist/assets/lua-fPRBWD-V.js +0 -0
  682. /package/apps/{web → client}/dist/assets/luau-VGWVLoqX.js +0 -0
  683. /package/apps/{web → client}/dist/assets/m3-D-oSqn_W.js +0 -0
  684. /package/apps/{web → client}/dist/assets/make-B54cR2A1.js +0 -0
  685. /package/apps/{web → client}/dist/assets/make-URElk0GJ.js +0 -0
  686. /package/apps/{web → client}/dist/assets/markdown-CboqBxpY.js +0 -0
  687. /package/apps/{web → client}/dist/assets/markdown-Cimd5fb3.js +0 -0
  688. /package/apps/{web → client}/dist/assets/markdown-CjQmuOi1.js +0 -0
  689. /package/apps/{web → client}/dist/assets/material-theme-Bm3Qr25_.js +0 -0
  690. /package/apps/{web → client}/dist/assets/material-theme-darker-2IIEA8gg.js +0 -0
  691. /package/apps/{web → client}/dist/assets/material-theme-lighter-uhdI0v04.js +0 -0
  692. /package/apps/{web → client}/dist/assets/material-theme-ocean-CHQ94UKr.js +0 -0
  693. /package/apps/{web → client}/dist/assets/material-theme-palenight-B5W6OYN7.js +0 -0
  694. /package/apps/{web → client}/dist/assets/matlab-D7qyCx1q.js +0 -0
  695. /package/apps/{web → client}/dist/assets/mdx-DQZ5AkYe.js +0 -0
  696. /package/apps/{web → client}/dist/assets/mermaid-BxpfTIzt.js +0 -0
  697. /package/apps/{web → client}/dist/assets/min-dark-BSWPekZh.js +0 -0
  698. /package/apps/{web → client}/dist/assets/min-light-DDpmG2fV.js +0 -0
  699. /package/apps/{web → client}/dist/assets/mips-CIPQ_RoX.js +0 -0
  700. /package/apps/{web → client}/dist/assets/mipsasm-BMqwQI7S.js +0 -0
  701. /package/apps/{web → client}/dist/assets/mojo-fg40_ntQ.js +0 -0
  702. /package/apps/{web → client}/dist/assets/monokai-BscAjiQZ.js +0 -0
  703. /package/apps/{web → client}/dist/assets/moonbit-D9W784E_.js +0 -0
  704. /package/apps/{web → client}/dist/assets/move-BYnGhZoM.js +0 -0
  705. /package/apps/{web → client}/dist/assets/msdax-DauUninz.js +0 -0
  706. /package/apps/{web → client}/dist/assets/mysql-SOo6toE5.js +0 -0
  707. /package/apps/{web → client}/dist/assets/narrat-_X_XdTYD.js +0 -0
  708. /package/apps/{web → client}/dist/assets/nextflow-groovy-C770ykRh.js +0 -0
  709. /package/apps/{web → client}/dist/assets/nextflow-groovy-D5vAge1Z.js +0 -0
  710. /package/apps/{web → client}/dist/assets/nextflow-uA5IJerx.js +0 -0
  711. /package/apps/{web → client}/dist/assets/nginx-BxRBJ-Af.js +0 -0
  712. /package/apps/{web → client}/dist/assets/night-owl-DhmEMT88.js +0 -0
  713. /package/apps/{web → client}/dist/assets/night-owl-light-eJ-hLW7d.js +0 -0
  714. /package/apps/{web → client}/dist/assets/nix-IvuFDN5E.js +0 -0
  715. /package/apps/{web → client}/dist/assets/nord-Cb4Vim4T.js +0 -0
  716. /package/apps/{web → client}/dist/assets/nsis-CjNLYCLg.js +0 -0
  717. /package/apps/{web → client}/dist/assets/nushell--0fT3PI1.js +0 -0
  718. /package/apps/{web → client}/dist/assets/objective-c-CsonrGpd.js +0 -0
  719. /package/apps/{web → client}/dist/assets/objective-c-D_ECFp-D.js +0 -0
  720. /package/apps/{web → client}/dist/assets/objective-c-FvmIjYaQ.js +0 -0
  721. /package/apps/{web → client}/dist/assets/objective-cpp-BsSzOQcm.js +0 -0
  722. /package/apps/{web → client}/dist/assets/ocaml-BuP2SoBQ.js +0 -0
  723. /package/apps/{web → client}/dist/assets/ocaml-D6dNsUd0.js +0 -0
  724. /package/apps/{web → client}/dist/assets/odin-B1RWQWA5.js +0 -0
  725. /package/apps/{web → client}/dist/assets/one-dark-pro-C6YyR8OD.js +0 -0
  726. /package/apps/{web → client}/dist/assets/one-light-D7Lr4KcI.js +0 -0
  727. /package/apps/{web → client}/dist/assets/openscad-BUDT5pXO.js +0 -0
  728. /package/apps/{web → client}/dist/assets/ordinal-BDEzSJ7C.js +0 -0
  729. /package/apps/{web → client}/dist/assets/pascal-4ZHwLPI5.js +0 -0
  730. /package/apps/{web → client}/dist/assets/pascal-DrH0SRf2.js +0 -0
  731. /package/apps/{web → client}/dist/assets/pascaligo-D-ptJ9y-.js +0 -0
  732. /package/apps/{web → client}/dist/assets/path-fybaL0A-.js +0 -0
  733. /package/apps/{web → client}/dist/assets/perl-oz_6vUea.js +0 -0
  734. /package/apps/{web → client}/dist/assets/pgsql-DTj74zXo.js +0 -0
  735. /package/apps/{web → client}/dist/assets/php-nr791fC2.js +0 -0
  736. /package/apps/{web → client}/dist/assets/pierre-dark-CpLgRqie.js +0 -0
  737. /package/apps/{web → client}/dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +0 -0
  738. /package/apps/{web → client}/dist/assets/pierre-dark-soft-kZQmAZld.js +0 -0
  739. /package/apps/{web → client}/dist/assets/pierre-dark-tritanopia-CpjhbsIL.js +0 -0
  740. /package/apps/{web → client}/dist/assets/pierre-dark-vibrant-CpQYzh95.js +0 -0
  741. /package/apps/{web → client}/dist/assets/pierre-light-CoaEpmwp.js +0 -0
  742. /package/apps/{web → client}/dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +0 -0
  743. /package/apps/{web → client}/dist/assets/pierre-light-soft-lWLdNTOI.js +0 -0
  744. /package/apps/{web → client}/dist/assets/pierre-light-tritanopia-CEbqgOJL.js +0 -0
  745. /package/apps/{web → client}/dist/assets/pierre-light-vibrant-D80Fkn33.js +0 -0
  746. /package/apps/{web → client}/dist/assets/pkl-ot-7Btpt.js +0 -0
  747. /package/apps/{web → client}/dist/assets/pla-CopQ2nXW.js +0 -0
  748. /package/apps/{web → client}/dist/assets/plastic-DQwYfKfQ.js +0 -0
  749. /package/apps/{web → client}/dist/assets/plsql-DGHpHOYJ.js +0 -0
  750. /package/apps/{web → client}/dist/assets/po-BiJDBrnU.js +0 -0
  751. /package/apps/{web → client}/dist/assets/poimandres-DRFjx7u4.js +0 -0
  752. /package/apps/{web → client}/dist/assets/polar-C7UOKdEL.js +0 -0
  753. /package/apps/{web → client}/dist/assets/postcss-D_Wz94rJ.js +0 -0
  754. /package/apps/{web → client}/dist/assets/postcss-DkKB82OS.js +0 -0
  755. /package/apps/{web → client}/dist/assets/postiats-43DmfD33.js +0 -0
  756. /package/apps/{web → client}/dist/assets/powerquery-D3hlyOfw.js +0 -0
  757. /package/apps/{web → client}/dist/assets/powerquery-DNMTfnFr.js +0 -0
  758. /package/apps/{web → client}/dist/assets/powershell-Blb2ISmZ.js +0 -0
  759. /package/apps/{web → client}/dist/assets/powershell-CItYMEtV.js +0 -0
  760. /package/apps/{web → client}/dist/assets/powershell-DmHpPYUd.js +0 -0
  761. /package/apps/{web → client}/dist/assets/preload-helper-BLdHbfdN.js +0 -0
  762. /package/apps/{web → client}/dist/assets/prisma-DMgNhnYS.js +0 -0
  763. /package/apps/{web → client}/dist/assets/prolog-iXnhIJG7.js +0 -0
  764. /package/apps/{web → client}/dist/assets/proto-DB4EqR-F.js +0 -0
  765. /package/apps/{web → client}/dist/assets/protobuf-C531GsRP.js +0 -0
  766. /package/apps/{web → client}/dist/assets/pug-C_nSP9Mg.js +0 -0
  767. /package/apps/{web → client}/dist/assets/pug-Z5eAx3Zn.js +0 -0
  768. /package/apps/{web → client}/dist/assets/pug-nGRwXpob.js +0 -0
  769. /package/apps/{web → client}/dist/assets/puppet-CDv2pdJW.js +0 -0
  770. /package/apps/{web → client}/dist/assets/purescript-9MfHhQsQ.js +0 -0
  771. /package/apps/{web → client}/dist/assets/python-C5TF47hQ.js +0 -0
  772. /package/apps/{web → client}/dist/assets/python-CzFU0dpx.js +0 -0
  773. /package/apps/{web → client}/dist/assets/qml-BxleM7bJ.js +0 -0
  774. /package/apps/{web → client}/dist/assets/qmldir-DCQb3MpD.js +0 -0
  775. /package/apps/{web → client}/dist/assets/qsharp-DkqhCAOL.js +0 -0
  776. /package/apps/{web → client}/dist/assets/qss-Fe1Jh2GI.js +0 -0
  777. /package/apps/{web → client}/dist/assets/r-BXEss897.js +0 -0
  778. /package/apps/{web → client}/dist/assets/r-BwWrilGY.js +0 -0
  779. /package/apps/{web → client}/dist/assets/r-DWzjseEo.js +0 -0
  780. /package/apps/{web → client}/dist/assets/racket-DcIDlBhZ.js +0 -0
  781. /package/apps/{web → client}/dist/assets/raku-BtFKomnU.js +0 -0
  782. /package/apps/{web → client}/dist/assets/raku-Cj6OV6qV.js +0 -0
  783. /package/apps/{web → client}/dist/assets/razor-UAq-8THt.js +0 -0
  784. /package/apps/{web → client}/dist/assets/rbs-C0MpOrj4.js +0 -0
  785. /package/apps/{web → client}/dist/assets/red-CYlAq2b0.js +0 -0
  786. /package/apps/{web → client}/dist/assets/redis-ClamHrr6.js +0 -0
  787. /package/apps/{web → client}/dist/assets/redshift-DT7zqm-g.js +0 -0
  788. /package/apps/{web → client}/dist/assets/reg-CRGYupPL.js +0 -0
  789. /package/apps/{web → client}/dist/assets/regexp-BWpGejPw.js +0 -0
  790. /package/apps/{web → client}/dist/assets/regexp-wOX-4MEz.js +0 -0
  791. /package/apps/{web → client}/dist/assets/rel-BtDbiS_P.js +0 -0
  792. /package/apps/{web → client}/dist/assets/restructuredtext-BYgofb2h.js +0 -0
  793. /package/apps/{web → client}/dist/assets/riscv-Ckw8ddFX.js +0 -0
  794. /package/apps/{web → client}/dist/assets/ron-VUp2lXgN.js +0 -0
  795. /package/apps/{web → client}/dist/assets/rose-pine-aMsaMD1D.js +0 -0
  796. /package/apps/{web → client}/dist/assets/rose-pine-dawn-8PwUyIlP.js +0 -0
  797. /package/apps/{web → client}/dist/assets/rose-pine-moon-DO-qXg-I.js +0 -0
  798. /package/apps/{web → client}/dist/assets/rosmsg-CAekHB0j.js +0 -0
  799. /package/apps/{web → client}/dist/assets/rough.esm-Dy-Kn_BL.js +0 -0
  800. /package/apps/{web → client}/dist/assets/ruby-DezsRK8O.js +0 -0
  801. /package/apps/{web → client}/dist/assets/rust-Ch0zZBV0.js +0 -0
  802. /package/apps/{web → client}/dist/assets/rust-DBZE5Si3.js +0 -0
  803. /package/apps/{web → client}/dist/assets/rust-DdL9SqIa.js +0 -0
  804. /package/apps/{web → client}/dist/assets/sas-BowjnAvi.js +0 -0
  805. /package/apps/{web → client}/dist/assets/sass-DXrisJhu.js +0 -0
  806. /package/apps/{web → client}/dist/assets/sb-CcwsVR0C.js +0 -0
  807. /package/apps/{web → client}/dist/assets/scala-CTTBu_35.js +0 -0
  808. /package/apps/{web → client}/dist/assets/scala-DHpiXF5c.js +0 -0
  809. /package/apps/{web → client}/dist/assets/scala-o2NiCLJc.js +0 -0
  810. /package/apps/{web → client}/dist/assets/scheme-BeGwcela.js +0 -0
  811. /package/apps/{web → client}/dist/assets/scheme-DQCgrYNe.js +0 -0
  812. /package/apps/{web → client}/dist/assets/scss-CWs8DVSa.js +0 -0
  813. /package/apps/{web → client}/dist/assets/scss-D3wBkj3d.js +0 -0
  814. /package/apps/{web → client}/dist/assets/scss-gp-XZpBa.js +0 -0
  815. /package/apps/{web → client}/dist/assets/sdbl-CpzYUp7e.js +0 -0
  816. /package/apps/{web → client}/dist/assets/sdbl-CyKdwm0B.js +0 -0
  817. /package/apps/{web → client}/dist/assets/shaderlab-DY7g_Ava.js +0 -0
  818. /package/apps/{web → client}/dist/assets/shell-CC2rA5mh.js +0 -0
  819. /package/apps/{web → client}/dist/assets/shellscript-CVTB3cr6.js +0 -0
  820. /package/apps/{web → client}/dist/assets/shellscript-CqHdAlCp.js +0 -0
  821. /package/apps/{web → client}/dist/assets/shellsession-DDrivR0a.js +0 -0
  822. /package/apps/{web → client}/dist/assets/sizeCapture-INFHLROL-3uHXrFqA.js +0 -0
  823. /package/apps/{web → client}/dist/assets/slack-dark-DnToyrRv.js +0 -0
  824. /package/apps/{web → client}/dist/assets/slack-ochin-B2OO5cIa.js +0 -0
  825. /package/apps/{web → client}/dist/assets/smalltalk-BHpQb5nM.js +0 -0
  826. /package/apps/{web → client}/dist/assets/smithy-Dgaz7aur.js +0 -0
  827. /package/apps/{web → client}/dist/assets/snazzy-light-4G7pJPwS.js +0 -0
  828. /package/apps/{web → client}/dist/assets/solarized-dark-b97czJOk.js +0 -0
  829. /package/apps/{web → client}/dist/assets/solarized-light-DFPxpIYQ.js +0 -0
  830. /package/apps/{web → client}/dist/assets/solidity-BEEn4gHE.js +0 -0
  831. /package/apps/{web → client}/dist/assets/solidity-Bj7E1mRn.js +0 -0
  832. /package/apps/{web → client}/dist/assets/sophia-CRfGWb83.js +0 -0
  833. /package/apps/{web → client}/dist/assets/soy-CUUUw2U6.js +0 -0
  834. /package/apps/{web → client}/dist/assets/sparql-D_Lu-MrJ.js +0 -0
  835. /package/apps/{web → client}/dist/assets/sparql-Dy5Sx-zJ.js +0 -0
  836. /package/apps/{web → client}/dist/assets/splunk-BC2Px7Mm.js +0 -0
  837. /package/apps/{web → client}/dist/assets/sql-CNu3Or2W.js +0 -0
  838. /package/apps/{web → client}/dist/assets/sql-CfM2IJm3.js +0 -0
  839. /package/apps/{web → client}/dist/assets/sql-NEE52Syq.js +0 -0
  840. /package/apps/{web → client}/dist/assets/ssh-config-BgfXC-Er.js +0 -0
  841. /package/apps/{web → client}/dist/assets/st-DbInun42.js +0 -0
  842. /package/apps/{web → client}/dist/assets/stata-Dj4sbAEx.js +0 -0
  843. /package/apps/{web → client}/dist/assets/stylus-LiTfbrWi.js +0 -0
  844. /package/apps/{web → client}/dist/assets/stylus-y-ZXgJGq.js +0 -0
  845. /package/apps/{web → client}/dist/assets/surrealql-NoXzmj18.js +0 -0
  846. /package/apps/{web → client}/dist/assets/swift-Bxkupp3x.js +0 -0
  847. /package/apps/{web → client}/dist/assets/swift-CCLoYZtx.js +0 -0
  848. /package/apps/{web → client}/dist/assets/swift-DQ24oLw9.js +0 -0
  849. /package/apps/{web → client}/dist/assets/synthwave-84-nFMaYfgc.js +0 -0
  850. /package/apps/{web → client}/dist/assets/system-verilog-DFpyZzg3.js +0 -0
  851. /package/apps/{web → client}/dist/assets/system-verilog-Dp2k_mze.js +0 -0
  852. /package/apps/{web → client}/dist/assets/systemd-BxMlprV5.js +0 -0
  853. /package/apps/{web → client}/dist/assets/systemverilog-Bz4Y3fRF.js +0 -0
  854. /package/apps/{web → client}/dist/assets/tags-DrTyXsO5.js +0 -0
  855. /package/apps/{web → client}/dist/assets/talonscript-CohzipZa.js +0 -0
  856. /package/apps/{web → client}/dist/assets/tasl-DMoTqEGO.js +0 -0
  857. /package/apps/{web → client}/dist/assets/tcl-CZd0xW_V.js +0 -0
  858. /package/apps/{web → client}/dist/assets/tcl-DISqw1ZD.js +0 -0
  859. /package/apps/{web → client}/dist/assets/terraform-DswuEJGm.js +0 -0
  860. /package/apps/{web → client}/dist/assets/tex-C9L8xJex.js +0 -0
  861. /package/apps/{web → client}/dist/assets/tex-CNYz7bLJ.js +0 -0
  862. /package/apps/{web → client}/dist/assets/tokyo-night-oM2G3aXe.js +0 -0
  863. /package/apps/{web → client}/dist/assets/toml-CcmNWLt0.js +0 -0
  864. /package/apps/{web → client}/dist/assets/tsv-sltzmVWM.js +0 -0
  865. /package/apps/{web → client}/dist/assets/tsx-BOvsFOI6.js +0 -0
  866. /package/apps/{web → client}/dist/assets/tsx-CGosfAUg.js +0 -0
  867. /package/apps/{web → client}/dist/assets/turtle-CQ9kcy0m.js +0 -0
  868. /package/apps/{web → client}/dist/assets/turtle-CcN57yC0.js +0 -0
  869. /package/apps/{web → client}/dist/assets/twig-De2hgUGE.js +0 -0
  870. /package/apps/{web → client}/dist/assets/typescript-Bb1J8qyy.js +0 -0
  871. /package/apps/{web → client}/dist/assets/typescript-j_1H8WHN.js +0 -0
  872. /package/apps/{web → client}/dist/assets/typespec-B8J7ngcE.js +0 -0
  873. /package/apps/{web → client}/dist/assets/typespec-BGhR2SqG.js +0 -0
  874. /package/apps/{web → client}/dist/assets/v-DBj4K9d_.js +0 -0
  875. /package/apps/{web → client}/dist/assets/vala-zf12oZj6.js +0 -0
  876. /package/apps/{web → client}/dist/assets/vb-3nVziYZS.js +0 -0
  877. /package/apps/{web → client}/dist/assets/vb-CP6Ec8nh.js +0 -0
  878. /package/apps/{web → client}/dist/assets/vb-DV3o63ZY.js +0 -0
  879. /package/apps/{web → client}/dist/assets/verilog-1j7BQk-h.js +0 -0
  880. /package/apps/{web → client}/dist/assets/verilog-kL8Dwv27.js +0 -0
  881. /package/apps/{web → client}/dist/assets/vesper-DdrHHSXu.js +0 -0
  882. /package/apps/{web → client}/dist/assets/vhdl-BroJfC0k.js +0 -0
  883. /package/apps/{web → client}/dist/assets/viml-DvXPmvsu.js +0 -0
  884. /package/apps/{web → client}/dist/assets/vitesse-black-fwtXNY1n.js +0 -0
  885. /package/apps/{web → client}/dist/assets/vitesse-dark-BZCL-v6S.js +0 -0
  886. /package/apps/{web → client}/dist/assets/vitesse-light-VbXTXTou.js +0 -0
  887. /package/apps/{web → client}/dist/assets/vue-html-CGMs_6qn.js +0 -0
  888. /package/apps/{web → client}/dist/assets/vyper-CgoNMtux.js +0 -0
  889. /package/apps/{web → client}/dist/assets/wasm-BnjxR4X6.js +0 -0
  890. /package/apps/{web → client}/dist/assets/wasm-ByWQv1Qj.js +0 -0
  891. /package/apps/{web → client}/dist/assets/wenyan-C8pVoKbM.js +0 -0
  892. /package/apps/{web → client}/dist/assets/wgsl-BsKzXJz4.js +0 -0
  893. /package/apps/{web → client}/dist/assets/wgsl-DpFanUEy.js +0 -0
  894. /package/apps/{web → client}/dist/assets/wikitext-ClFFjSW2.js +0 -0
  895. /package/apps/{web → client}/dist/assets/wit-DdvCle-K.js +0 -0
  896. /package/apps/{web → client}/dist/assets/wolfram-DLL8P-h_.js +0 -0
  897. /package/apps/{web → client}/dist/assets/xml-DuKfbPI6.js +0 -0
  898. /package/apps/{web → client}/dist/assets/xml-WY0zc4PG.js +0 -0
  899. /package/apps/{web → client}/dist/assets/xsl-CW58cerL.js +0 -0
  900. /package/apps/{web → client}/dist/assets/xsl-Czhm44Ae.js +0 -0
  901. /package/apps/{web → client}/dist/assets/yaml-DDA_XMNu.js +0 -0
  902. /package/apps/{web → client}/dist/assets/yaml-DijMHRDA.js +0 -0
  903. /package/apps/{web → client}/dist/assets/zenscript-BnlCZFoB.js +0 -0
  904. /package/apps/{web → client}/dist/assets/zig-B7sSDI6F.js +0 -0
  905. /package/apps/{web → client}/dist/assets/zig-cFafUZna.js +0 -0
  906. /package/apps/{web → client}/dist/icon-192.png +0 -0
  907. /package/apps/{web → client}/dist/icon-512.png +0 -0
  908. /package/apps/{web → client}/dist/icon-maskable-512.png +0 -0
  909. /package/apps/{web → client}/dist/icon.svg +0 -0
  910. /package/apps/{web → client}/dist/manifest.webmanifest +0 -0
@@ -1,328 +0,0 @@
1
- import{_ as e}from"./chunk-7S6XSTFO-VvdR34BD.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n,p as r}from"./src-BbHDS76q.js";import{C as i,H as a,U as o,_ as s,a as c,b as l,f as u,q as d,v as f,y as p,z as m}from"./chunk-DSNLSHJZ-Npz5XPWZ.js";import"./chunk-YZO67HFG-B_UXK566.js";import{i as h}from"./chunk-AQDTSKZB-DWCLLcEu.js";import"./chunk-UHW7PFBP-Cu9Ayl_R.js";import{a as g,i as _,o as ee,r as v}from"./chunk-J5ZVWO5B-oDCd-gWO.js";import"./chunk-HAGFOTED-B1IVU9Z4.js";import"./chunk-ZAUX2LTX-BaD-GxqC.js";import"./chunk-WQQL4CDK-BAxY1EoE.js";import{t as te}from"./chunk-XXDRQBXY-RlzOQ08v.js";import{t as ne}from"./chunk-VQ5W62QI-yc2D7bI8.js";import"./chunk-HNE4Q36P-ByoLUQMm.js";import{r as re,t as ie}from"./chunk-EJLWFMJV-DyjKClu9.js";function ae(e){console&&console.error&&console.error(`Error: ${e}`)}function y(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function oe(e){let t=new Date().getTime(),n=e();return{time:new Date().getTime()-t,value:n}}function se(e){function t(){}t.prototype=e;let n=new t;function r(){return typeof n.bar}return r(),r(),e}function ce(e){return le(e)?e.LABEL:e.name}function le(e){return typeof e.LABEL==`string`&&e.LABEL!==``}var b=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(t=>{t.accept(e)})}},x=class extends b{constructor(e){super([]),this.idx=1,Object.assign(this,j(e))}set definition(e){}get definition(){return this.referencedRule===void 0?[]:this.referencedRule.definition}accept(e){e.visit(this)}},S=class extends b{constructor(e){super(e.definition),this.orgText=``,Object.assign(this,j(e))}},C=class extends b{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,j(e))}},w=class extends b{constructor(e){super(e.definition),this.idx=1,Object.assign(this,j(e))}},T=class extends b{constructor(e){super(e.definition),this.idx=1,Object.assign(this,j(e))}},E=class extends b{constructor(e){super(e.definition),this.idx=1,Object.assign(this,j(e))}},D=class extends b{constructor(e){super(e.definition),this.idx=1,Object.assign(this,j(e))}},O=class extends b{constructor(e){super(e.definition),this.idx=1,Object.assign(this,j(e))}},k=class extends b{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,j(e))}},A=class{constructor(e){this.idx=1,Object.assign(this,j(e))}accept(e){e.visit(this)}};function ue(e){return e.map(de)}function de(e){function t(e){return e.map(de)}if(e instanceof x){let t={type:`NonTerminal`,name:e.nonTerminalName,idx:e.idx};return typeof e.label==`string`&&(t.label=e.label),t}if(e instanceof C)return{type:`Alternative`,definition:t(e.definition)};if(e instanceof w)return{type:`Option`,idx:e.idx,definition:t(e.definition)};if(e instanceof T)return{type:`RepetitionMandatory`,idx:e.idx,definition:t(e.definition)};if(e instanceof E)return{type:`RepetitionMandatoryWithSeparator`,idx:e.idx,separator:de(new A({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof O)return{type:`RepetitionWithSeparator`,idx:e.idx,separator:de(new A({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof D)return{type:`Repetition`,idx:e.idx,definition:t(e.definition)};if(e instanceof k)return{type:`Alternation`,idx:e.idx,definition:t(e.definition)};if(e instanceof A){let t={type:`Terminal`,name:e.terminalType.name,label:ce(e.terminalType),idx:e.idx};typeof e.label==`string`&&(t.terminalLabel=e.label);let n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=n instanceof RegExp?n.source:n),t}if(e instanceof S)return{type:`Rule`,name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error(`non exhaustive match`)}function j(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}var fe=class{visit(e){let t=e;switch(t.constructor){case x:return this.visitNonTerminal(t);case C:return this.visitAlternative(t);case w:return this.visitOption(t);case T:return this.visitRepetitionMandatory(t);case E:return this.visitRepetitionMandatoryWithSeparator(t);case O:return this.visitRepetitionWithSeparator(t);case D:return this.visitRepetition(t);case k:return this.visitAlternation(t);case A:return this.visitTerminal(t);case S:return this.visitRule(t);default:throw Error(`non exhaustive match`)}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function pe(e){return e instanceof C||e instanceof w||e instanceof D||e instanceof T||e instanceof E||e instanceof O||e instanceof A||e instanceof S}function me(e,t=[]){return e instanceof w||e instanceof D||e instanceof O?!0:e instanceof k?e.definition.some(e=>me(e,t)):e instanceof x&&t.includes(e)?!1:e instanceof b&&(e instanceof x&&t.push(e),e.definition.every(e=>me(e,t)))}function he(e){return e instanceof k}function M(e){if(e instanceof x)return`SUBRULE`;if(e instanceof w)return`OPTION`;if(e instanceof k)return`OR`;if(e instanceof T)return`AT_LEAST_ONE`;if(e instanceof E)return`AT_LEAST_ONE_SEP`;if(e instanceof O)return`MANY_SEP`;if(e instanceof D)return`MANY`;if(e instanceof A)return`CONSUME`;throw Error(`non exhaustive match`)}var ge=class{walk(e,t=[]){e.definition.forEach((n,r)=>{let i=e.definition.slice(r+1);if(n instanceof x)this.walkProdRef(n,i,t);else if(n instanceof A)this.walkTerminal(n,i,t);else if(n instanceof C)this.walkFlat(n,i,t);else if(n instanceof w)this.walkOption(n,i,t);else if(n instanceof T)this.walkAtLeastOne(n,i,t);else if(n instanceof E)this.walkAtLeastOneSep(n,i,t);else if(n instanceof O)this.walkManySep(n,i,t);else if(n instanceof D)this.walkMany(n,i,t);else if(n instanceof k)this.walkOr(n,i,t);else throw Error(`non exhaustive match`)})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){let r=t.concat(n);this.walk(e,r)}walkOption(e,t,n){let r=t.concat(n);this.walk(e,r)}walkAtLeastOne(e,t,n){let r=[new w({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){let r=_e(e,t,n);this.walk(e,r)}walkMany(e,t,n){let r=[new w({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){let r=_e(e,t,n);this.walk(e,r)}walkOr(e,t,n){let r=t.concat(n);e.definition.forEach(e=>{let t=new C({definition:[e]});this.walk(t,r)})}};function _e(e,t,n){return[new w({definition:[new A({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}function ve(e){if(e instanceof x)return ve(e.referencedRule);if(e instanceof A)return xe(e);if(pe(e))return ye(e);if(he(e))return be(e);throw Error(`non exhaustive match`)}function ye(e){let t=[],n=e.definition,r=0,i=n.length>r,a,o=!0;for(;i&&o;)a=n[r],o=me(a),t=t.concat(ve(a)),r+=1,i=n.length>r;return[...new Set(t)]}function be(e){let t=e.definition.map(e=>ve(e));return[...new Set(t.flat())]}function xe(e){return[e.terminalType]}var Se=`_~IN~_`,Ce=class extends ge{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){let r=Te(e.referencedRule,e.idx)+this.topProd.name,i=ve(new C({definition:t.concat(n)}));this.follows[r]=i}};function we(e){let t={};return e.forEach(e=>{let n=new Ce(e).startWalking();Object.assign(t,n)}),t}function Te(e,t){return e.name+t+Se}function N(e){return e.charCodeAt(0)}function Ee(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function De(e,t){if(e[t]===!0)throw`duplicate flag `+t;e[t],e[t]=!0}function Oe(e){if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}function ke(){throw Error(`Internal Error - Should never get here!`)}function Ae(e){return e.type===`Character`}var je=[];for(let e=N(`0`);e<=N(`9`);e++)je.push(e);var Me=[N(`_`)].concat(je);for(let e=N(`a`);e<=N(`z`);e++)Me.push(e);for(let e=N(`A`);e<=N(`Z`);e++)Me.push(e);var Ne=[N(` `),N(`\f`),N(`
2
- `),N(`\r`),N(` `),N(`\v`),N(` `),N(`\xA0`),N(` `),N(` `),N(` `),N(` `),N(` `),N(` `),N(` `),N(` `),N(` `),N(` `),N(` `),N(` `),N(`\u2028`),N(`\u2029`),N(` `),N(` `),N(` `),N(``)],Pe=/[0-9a-fA-F]/,Fe=/[0-9]/,Ie=/[1-9]/,Le=class{constructor(){this.idx=0,this.input=``,this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar(`/`);let t=this.disjunction();this.consumeChar(`/`);let n={type:`Flags`,loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case`g`:De(n,`global`);break;case`i`:De(n,`ignoreCase`);break;case`m`:De(n,`multiLine`);break;case`u`:De(n,`unicode`);break;case`y`:De(n,`sticky`)}if(this.idx!==this.input.length)throw Error(`Redundant input: `+this.input.substring(this.idx));return{type:`Pattern`,flags:n,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()===`|`;)this.consumeChar(`|`),e.push(this.alternative());return{type:`Disjunction`,value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:`Alternative`,value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case`^`:return{type:`StartAnchor`,loc:this.loc(e)};case`$`:return{type:`EndAnchor`,loc:this.loc(e)};case`\\`:switch(this.popChar()){case`b`:return{type:`WordBoundary`,loc:this.loc(e)};case`B`:return{type:`NonWordBoundary`,loc:this.loc(e)}}throw Error(`Invalid Assertion Escape`);case`(`:this.consumeChar(`?`);let t;switch(this.popChar()){case`=`:t=`Lookahead`;break;case`!`:t=`NegativeLookahead`;break;case`<`:switch(this.popChar()){case`=`:t=`Lookbehind`;break;case`!`:t=`NegativeLookbehind`}}Oe(t);let n=this.disjunction();return this.consumeChar(`)`),{type:t,value:n,loc:this.loc(e)}}return ke()}quantifier(e=!1){let t,n=this.idx;switch(this.popChar()){case`*`:t={atLeast:0,atMost:1/0};break;case`+`:t={atLeast:1,atMost:1/0};break;case`?`:t={atLeast:0,atMost:1};break;case`{`:let n=this.integerIncludingZero();switch(this.popChar()){case`}`:t={atLeast:n,atMost:n};break;case`,`:let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:n,atMost:e}):t={atLeast:n,atMost:1/0},this.consumeChar(`}`)}if(e===!0&&t===void 0)return;Oe(t)}if((e!==!0||t!==void 0)&&Oe(t))return this.peekChar(0)===`?`?(this.consumeChar(`?`),t.greedy=!1):t.greedy=!0,t.type=`Quantifier`,t.loc=this.loc(n),t}atom(){let e,t=this.idx;switch(this.peekChar()){case`.`:e=this.dotAll();break;case`\\`:e=this.atomEscape();break;case`[`:e=this.characterClass();break;case`(`:e=this.group()}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Oe(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ke()}dotAll(){return this.consumeChar(`.`),{type:`Set`,complement:!0,value:[N(`
3
- `),N(`\r`),N(`\u2028`),N(`\u2029`)]}}atomEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:return this.decimalEscapeAtom();case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:`GroupBackReference`,value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case`d`:e=je;break;case`D`:e=je,t=!0;break;case`s`:e=Ne;break;case`S`:e=Ne,t=!0;break;case`w`:e=Me;break;case`W`:e=Me,t=!0}return Oe(e)?{type:`Set`,value:e,complement:t}:ke()}controlEscapeAtom(){let e;switch(this.popChar()){case`f`:e=N(`\f`);break;case`n`:e=N(`
4
- `);break;case`r`:e=N(`\r`);break;case`t`:e=N(` `);break;case`v`:e=N(`\v`)}return Oe(e)?{type:`Character`,value:e}:ke()}controlLetterEscapeAtom(){this.consumeChar(`c`);let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error(`Invalid `);return{type:`Character`,value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar(`0`),{type:`Character`,value:N(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,value:N(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
5
- `:case`\r`:case`\u2028`:case`\u2029`:case`\\`:case`]`:throw Error(`TBD`);default:return{type:`Character`,value:N(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar(`[`),this.peekChar(0)===`^`&&(this.consumeChar(`^`),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,Ae(t)&&this.isRangeDash()){this.consumeChar(`-`);let n=this.classAtom();if(n.type,Ae(n)){if(n.value<t.value)throw Error(`Range out of order in character class`);e.push({from:t.value,to:n.value})}else Ee(t.value,e),e.push(N(`-`)),Ee(n.value,e)}else Ee(t.value,e)}return this.consumeChar(`]`),{type:`Set`,complement:t,value:e}}classAtom(){switch(this.peekChar()){case`]`:case`
6
- `:case`\r`:case`\u2028`:case`\u2029`:throw Error(`TBD`);case`\\`:return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`b`:return this.consumeChar(`b`),{type:`Character`,value:N(`\b`)};case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar(`(`),this.peekChar(0)){case`?`:this.consumeChar(`?`),this.consumeChar(`:`),e=!1;break;default:this.groupIdx++}let t=this.disjunction();this.consumeChar(`)`);let n={type:`Group`,capturing:e,value:t};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(Ie.test(e)===!1)throw Error(`Expecting a positive integer`);for(;Fe.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Fe.test(e)===!1)throw Error(`Expecting an integer`);for(;Fe.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
7
- `:case`\r`:case`\u2028`:case`\u2029`:case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:throw Error(`TBD`);default:return{type:`Character`,value:N(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case`g`:case`i`:case`m`:case`u`:case`y`:return!0;default:return!1}}isRangeDash(){return this.peekChar()===`-`&&this.isClassAtom(1)}isDigit(){return Fe.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case`]`:case`
8
- `:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case`.`:case`\\`:case`[`:case`(`:return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case`^`:case`$`:return!0;case`\\`:switch(this.peekChar(1)){case`b`:case`B`:return!0;default:return!1}case`(`:return this.peekChar(1)===`?`&&(this.peekChar(2)===`=`||this.peekChar(2)===`!`||this.peekChar(2)===`<`&&(this.peekChar(3)===`=`||this.peekChar(3)===`!`));default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:case`/`:case`
9
- `:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}parseHexDigits(e){let t=``;for(let n=0;n<e;n++){let e=this.popChar();if(Pe.test(e)===!1)throw Error(`Expecting a HexDecimal digits`);t+=e}return{type:`Character`,value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error(`Expected: '`+e+`' but found: '`+this.input[this.idx]+`' at offset: `+this.idx);if(this.idx>=this.input.length)throw Error(`Unexpected end of input`);this.idx++}loc(e){return{begin:e,end:this.idx}}},Re=class{visitChildren(e){for(let t in e){let n=e[t];e.hasOwnProperty(t)&&(n.type===void 0?Array.isArray(n)&&n.forEach(e=>{this.visit(e)},this):this.visit(n))}}visit(e){switch(e.type){case`Pattern`:this.visitPattern(e);break;case`Flags`:this.visitFlags(e);break;case`Disjunction`:this.visitDisjunction(e);break;case`Alternative`:this.visitAlternative(e);break;case`StartAnchor`:this.visitStartAnchor(e);break;case`EndAnchor`:this.visitEndAnchor(e);break;case`WordBoundary`:this.visitWordBoundary(e);break;case`NonWordBoundary`:this.visitNonWordBoundary(e);break;case`Lookahead`:this.visitLookahead(e);break;case`NegativeLookahead`:this.visitNegativeLookahead(e);break;case`Lookbehind`:this.visitLookbehind(e);break;case`NegativeLookbehind`:this.visitNegativeLookbehind(e);break;case`Character`:this.visitCharacter(e);break;case`Set`:this.visitSet(e);break;case`Group`:this.visitGroup(e);break;case`GroupBackReference`:this.visitGroupBackReference(e);break;case`Quantifier`:this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},ze={},Be=new Le;function Ve(e){let t=e.toString();if(ze.hasOwnProperty(t))return ze[t];{let e=Be.pattern(t);return ze[t]=e,e}}function He(){ze={}}var Ue=`Complement Sets are not supported for first char optimization`,We=`Unable to use "first char" lexer optimizations:
10
- `;function Ge(e,t=!1){try{let t=Ve(e);return Ke(t.value,{},t.flags.ignoreCase)}catch(n){if(n.message===Ue)t&&y(`${We}\tUnable to optimize: < ${e.toString()} >\n Complement Sets cannot be automatically optimized.
11
- This will disable the lexer's first char optimizations.
12
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n=``;t&&(n=`
13
- This will disable the lexer's first char optimizations.
14
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),ae(`${We}\n\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function Ke(e,t,n){switch(e.type){case`Disjunction`:for(let r=0;r<e.value.length;r++)Ke(e.value[r],t,n);break;case`Alternative`:let r=e.value;for(let e=0;e<r.length;e++){let i=r[e];switch(i.type){case`EndAnchor`:case`GroupBackReference`:case`Lookahead`:case`NegativeLookahead`:case`Lookbehind`:case`NegativeLookbehind`:case`StartAnchor`:case`WordBoundary`:case`NonWordBoundary`:continue}let a=i;switch(a.type){case`Character`:qe(a.value,t,n);break;case`Set`:if(a.complement===!0)throw Error(Ue);a.value.forEach(e=>{if(typeof e==`number`)qe(e,t,n);else{let r=e;if(n===!0)for(let e=r.from;e<=r.to;e++)qe(e,t,n);else{for(let e=r.from;e<=r.to&&e<256;e++)qe(e,t,n);if(r.to>=256){let e=r.from>=256?r.from:256,n=r.to,i=P(e),a=P(n);for(let e=i;e<=a;e++)t[e]=e}}}});break;case`Group`:Ke(a.value,t,n);break;default:throw Error(`Non Exhaustive Match`)}let o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type===`Group`&&Xe(a)===!1||a.type!==`Group`&&o===!1)break}break;default:throw Error(`non exhaustive match!`)}return Object.values(t)}function qe(e,t,n){let r=P(e);t[r]=r,n===!0&&Je(e,t)}function Je(e,t){let n=String.fromCharCode(e),r=n.toUpperCase();if(r!==n){let e=P(r.charCodeAt(0));t[e]=e}else{let e=n.toLowerCase();if(e!==n){let n=P(e.charCodeAt(0));t[n]=n}}}function Ye(e,t){return e.value.find(e=>{if(typeof e==`number`)return t.includes(e);{let n=e;return t.find(e=>n.from<=e&&e<=n.to)!==void 0}})}function Xe(e){let t=e.quantifier;return t&&t.atLeast===0?!0:e.value?Array.isArray(e.value)?e.value.every(Xe):Xe(e.value):!1}var Ze=class extends Re{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case`Lookahead`:this.visitLookahead(e);return;case`NegativeLookahead`:this.visitNegativeLookahead(e);return;case`Lookbehind`:this.visitLookbehind(e);return;case`NegativeLookbehind`:this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?Ye(e,this.targetCharCodes)===void 0&&(this.found=!0):Ye(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Qe(e,t){if(t instanceof RegExp){let n=Ve(t),r=new Ze(e);return r.visit(n),r.found}for(let n of t){let t=n.charCodeAt(0);if(e.includes(t))return!0}return!1}var $e=`PATTERN`,et=`defaultMode`;function tt(e,t){t=Object.assign({safeMode:!1,positionTracking:`full`,lineTerminatorCharacters:[`\r`,`
15
- `],tracer:(e,t)=>t()},t);let n=t.tracer;n(`initCharCodeToOptimizedIndexMap`,()=>{jt()});let r;n(`Reject Lexer.NA`,()=>{r=e.filter(e=>e[$e]!==I.NA)});let i=!1,a;n(`Transform Patterns`,()=>{i=!1,a=r.map(e=>{let t=e[$e];if(t instanceof RegExp){let e=t.source;return e.length===1&&e!==`^`&&e!==`$`&&e!==`.`&&!t.ignoreCase?e:e.length===2&&e[0]===`\\`&&![`d`,`D`,`s`,`S`,`t`,`r`,`n`,`t`,`0`,`c`,`b`,`B`,`f`,`v`,`w`,`W`].includes(e[1])?e[1]:bt(t)}if(typeof t==`function`)return i=!0,{exec:t};if(typeof t==`object`)return i=!0,t;if(typeof t==`string`){if(t.length===1)return t;{let e=t.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`);return bt(new RegExp(e))}}throw Error(`non exhaustive match`)})});let o,s,c,l,u;n(`misc mapping`,()=>{o=r.map(e=>e.tokenTypeIdx),s=r.map(e=>{let t=e.GROUP;if(t!==I.SKIPPED){if(typeof t==`string`)return t;if(t===void 0)return!1;throw Error(`non exhaustive match`)}}),c=r.map(e=>{let t=e.LONGER_ALT;if(t)return Array.isArray(t)?t.map(e=>r.indexOf(e)):[r.indexOf(t)]}),l=r.map(e=>e.PUSH_MODE),u=r.map(e=>Object.hasOwn(e,`POP_MODE`))});let d;n(`Line Terminator Handling`,()=>{let e=Ot(t.lineTerminatorCharacters);d=r.map(e=>!1),t.positionTracking!==`onlyOffset`&&(d=r.map(t=>Object.hasOwn(t,`LINE_BREAKS`)?!!t.LINE_BREAKS:Et(t,e)===!1&&Qe(e,t.PATTERN)))});let f,p,m,h;n(`Misc Mapping #2`,()=>{f=r.map(Ct),p=a.map(wt),m=r.reduce((e,t)=>{let n=t.GROUP;return typeof n==`string`&&n!==I.SKIPPED&&(e[n]=[]),e},{}),h=a.map((e,t)=>{let n=s[t]===void 0&&c[t]===void 0?nt(r[t].PATTERN):void 0;return{pattern:a[t],asciiClass:n,longerAlt:c[t],canLineTerminator:d[t],matchType:n===void 0?p[t]===!1?f[t]?1:2:0:3,short:p[t],group:s[t],push:l[t],pop:u[t],tokenTypeIdx:o[t],tokenType:r[t]}})});let g=!0,_=[];return t.safeMode||n(`First Char Optimization`,()=>{_=r.reduce((e,n,r)=>{if(typeof n.PATTERN==`string`)kt(e,P(n.PATTERN.charCodeAt(0)),h[r]);else if(Array.isArray(n.START_CHARS_HINT)){let t;n.START_CHARS_HINT.forEach(n=>{let i=P(typeof n==`string`?n.charCodeAt(0):n);t!==i&&(t=i,kt(e,i,h[r]))})}else if(n.PATTERN instanceof RegExp){if(n.PATTERN.unicode)g=!1,t.ensureOptimizations&&ae(`${We}\tUnable to analyze < ${n.PATTERN.toString()} > pattern.\n The regexp unicode flag is not currently supported by the regexp-to-ast library.
16
- This will disable the lexer's first char optimizations.
17
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=Ge(n.PATTERN,t.ensureOptimizations);i.length===0&&(g=!1),i.forEach(t=>{kt(e,t,h[r])})}}else t.ensureOptimizations&&ae(`${We}\tTokenType: <${n.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n This will disable the lexer's first char optimizations.
18
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),g=!1;return e},[])}),{emptyGroups:m,patternIdxToConfig:h,charCodeToPatternIdxToConfig:_,hasCustom:i,canBeOptimized:g}}function nt(e){if(!(e instanceof RegExp)||e.flags!==``)return;let t;try{t=Ve(e)}catch{return}if(t.value.value.length!==1||t.value.value[0].value.length!==1)return;let n=t.value.value[0].value[0],r;for(;n.type===`Group`;){if(n.capturing||n.quantifier!==void 0&&r!==void 0||n.value.value.length!==1||n.value.value[0].value.length!==1)return;r=n.quantifier??r,n=n.value.value[0].value[0]}if(n.type!==`Set`||n.complement||n.quantifier!==void 0&&r!==void 0||(r=n.quantifier??r,r?.atLeast!==1||r.atMost!==1/0||!r.greedy))return;let i=new Uint8Array(128);for(let e of n.value){let t=typeof e==`number`?e:e.from,n=typeof e==`number`?e:e.to;if(t<0||n>=i.length)return;i.fill(1,t,n+1)}return i}function rt(e,t){let n=[],r=at(e);n=n.concat(r.errors);let i=ot(r.valid),a=i.valid;return n=n.concat(i.errors),n=n.concat(it(a)),n=n.concat(mt(a)),n=n.concat(ht(a,t)),n=n.concat(gt(a)),n}function it(e){let t=[],n=e.filter(e=>e[$e]instanceof RegExp);return t=t.concat(ct(n)),t=t.concat(dt(n)),t=t.concat(ft(n)),t=t.concat(pt(n)),t=t.concat(lt(n)),t}function at(e){let t=e.filter(e=>!Object.hasOwn(e,$e));return{errors:t.map(e=>({message:`Token Type: ->`+e.name+`<- missing static 'PATTERN' property`,type:F.MISSING_PATTERN,tokenTypes:[e]})),valid:e.filter(e=>!t.includes(e))}}function ot(e){let t=e.filter(e=>{let t=e[$e];return!(t instanceof RegExp)&&typeof t!=`function`&&!Object.hasOwn(t,`exec`)&&typeof t!=`string`});return{errors:t.map(e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.`,type:F.INVALID_PATTERN,tokenTypes:[e]})),valid:e.filter(e=>!t.includes(e))}}var st=/[^\\][$]/;function ct(e){class t extends Re{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return e.filter(e=>{let n=e.PATTERN;try{let e=Ve(n),r=new t;return r.visit(e),r.found}catch{return st.test(n.source)}}).map(e=>({message:`Unexpected RegExp Anchor Error:
19
- Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
20
- See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:F.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function lt(e){return e.filter(e=>e.PATTERN.test(``)).map(e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' must not match an empty string`,type:F.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}var ut=/[^\\[][\^]|^\^/;function dt(e){class t extends Re{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return e.filter(e=>{let n=e.PATTERN;try{let e=Ve(n),r=new t;return r.visit(e),r.found}catch{return ut.test(n.source)}}).map(e=>({message:`Unexpected RegExp Anchor Error:
21
- Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
22
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:F.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function ft(e){return e.filter(e=>{let t=e[$e];return t instanceof RegExp&&(t.multiline||t.global)}).map(e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' may NOT contain global('g') or multiline('m')`,type:F.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function pt(e){let t=[],n=e.map(n=>e.reduce((e,r)=>(n.PATTERN.source===r.PATTERN.source&&!t.includes(r)&&r.PATTERN!==I.NA&&(t.push(r),e.push(r)),e),[]));return n=n.filter(Boolean),n.filter(e=>e.length>1).map(e=>{let t=e.map(e=>e.name);return{message:`The same RegExp pattern ->${e[0].PATTERN}<-has been used in all of the following Token Types: ${t.join(`, `)} <-`,type:F.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function mt(e){return e.filter(e=>{if(!Object.hasOwn(e,`GROUP`))return!1;let t=e.GROUP;return t!==I.SKIPPED&&t!==I.NA&&typeof t!=`string`}).map(e=>({message:`Token Type: ->`+e.name+`<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String`,type:F.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function ht(e,t){return e.filter(e=>e.PUSH_MODE!==void 0&&!t.includes(e.PUSH_MODE)).map(e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:F.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function gt(e){let t=[],n=e.reduce((e,t,n)=>{let r=t.PATTERN;return r===I.NA||(typeof r==`string`?e.push({str:r,idx:n,tokenType:t}):r instanceof RegExp&&vt(r)&&e.push({str:r.source,idx:n,tokenType:t})),e},[]);return e.forEach((e,r)=>{n.forEach(({str:n,idx:i,tokenType:a})=>{if(r<i&&_t(n,e.PATTERN)){let n=`Token: ->${a.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:n,type:F.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}function _t(e,t){if(t instanceof RegExp){if(yt(t))return!1;let n=t.exec(e);return n!==null&&n.index===0}if(typeof t==`function`)return t(e,0,[],{});if(Object.hasOwn(t,`exec`))return t.exec(e,0,[],{});if(typeof t==`string`)return t===e;throw Error(`non exhaustive match`)}function vt(e){return[`.`,`\\`,`[`,`]`,`|`,`^`,`$`,`(`,`)`,`?`,`*`,`+`,`{`].find(t=>e.source.indexOf(t)!==-1)===void 0}function yt(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}function bt(e){let t=e.ignoreCase?`iy`:`y`;return RegExp(`${e.source}`,t)}function xt(e,t,n){let r=[];return Object.hasOwn(e,`defaultMode`)||r.push({message:`A MultiMode Lexer cannot be initialized without a <defaultMode> property in its definition
23
- `,type:F.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(e,`modes`)||r.push({message:`A MultiMode Lexer cannot be initialized without a <modes> property in its definition
24
- `,type:F.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(e,`modes`)&&Object.hasOwn(e,`defaultMode`)&&!Object.hasOwn(e.modes,e.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${et}: <${e.defaultMode}>which does not exist\n`,type:F.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(e,`modes`)&&Object.keys(e.modes).forEach(t=>{let n=e.modes[t];n.forEach((e,i)=>{e===void 0?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}>\n`,type:F.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(e,`LONGER_ALT`)&&(Array.isArray(e.LONGER_ALT)?e.LONGER_ALT:[e.LONGER_ALT]).forEach(i=>{i!==void 0&&!n.includes(i)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${e.name}> outside of mode <${t}>\n`,type:F.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),r}function St(e,t,n){let r=[],i=!1,a=Object.values(e.modes||{}).flat().filter(Boolean).filter(e=>e[$e]!==I.NA),o=Ot(n);return t&&a.forEach(e=>{let t=Et(e,o);if(t!==!1){let n={message:Dt(e,t),type:t.issue,tokenType:e};r.push(n)}else Object.hasOwn(e,`LINE_BREAKS`)?e.LINE_BREAKS===!0&&(i=!0):Qe(o,e.PATTERN)&&(i=!0)}),t&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
25
- This Lexer has been defined to track line and column information,
26
- But none of the Token Types can be identified as matching a line terminator.
27
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
28
- for details.`,type:F.NO_LINE_BREAKS_FLAGS}),r}function Ct(e){let t=e.PATTERN;if(t instanceof RegExp)return!1;if(typeof t==`function`||Object.hasOwn(t,`exec`))return!0;if(typeof t==`string`)return!1;throw Error(`non exhaustive match`)}function wt(e){return typeof e==`string`&&e.length===1&&e.charCodeAt(0)}var Tt={test:function(e){let t=e.length;for(let n=this.lastIndex;n<t;n++){let t=e.charCodeAt(n);if(t===10)return this.lastIndex=n+1,!0;if(t===13)return this.lastIndex=e.charCodeAt(n+1)===10?n+2:n+1,!0}return!1},lastIndex:0};function Et(e,t){if(Object.hasOwn(e,`LINE_BREAKS`))return!1;if(e.PATTERN instanceof RegExp){try{Qe(t,e.PATTERN)}catch(e){return{issue:F.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(typeof e.PATTERN==`string`)return!1;if(Ct(e))return{issue:F.CUSTOM_LINE_BREAK};throw Error(`non exhaustive match`)}function Dt(e,t){if(t.issue===F.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
29
- \tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===F.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
30
- \tThe problem is in the <${e.name}> Token Type\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error(`non exhaustive match`)}function Ot(e){return e.map(e=>typeof e==`string`?e.charCodeAt(0):e)}function kt(e,t,n){e[t]===void 0?e[t]=[n]:e[t].push(n)}var At=[];function P(e){return e<256?e:At[e]}function jt(){if(At.length===0){At=Array(65536);for(let e=0;e<65536;e++)At[e]=e>255?255+~~(e/255):e}}function Mt(e,t){let n=e.tokenTypeIdx;return n===t.tokenTypeIdx||t.isParent===!0&&t.categoryMatchesMap[n]===!0}function Nt(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}var Pt=1,Ft={};function It(e){let t=Lt(e);Rt(t),Bt(t),zt(t),t.forEach(e=>{e.isParent=e.categoryMatches.length>0})}function Lt(e){let t=[...e],n=e,r=!0;for(;r;){n=n.map(e=>e.CATEGORIES).flat().filter(Boolean);let e=n.filter(e=>!t.includes(e));t=t.concat(e),e.length===0?r=!1:n=e}return t}function Rt(e){e.forEach(e=>{Ht(e)||(Ft[Pt]=e,e.tokenTypeIdx=Pt++),Ut(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ut(e)||(e.CATEGORIES=[]),Wt(e)||(e.categoryMatches=[]),Gt(e)||(e.categoryMatchesMap={})})}function zt(e){e.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(t=>{e.categoryMatches.push(Ft[t].tokenTypeIdx)})})}function Bt(e){e.forEach(e=>{Vt([],e)})}function Vt(e,t){e.forEach(e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),t.CATEGORIES.forEach(n=>{let r=e.concat(t);r.includes(n)||Vt(r,n)})}function Ht(e){return Object.hasOwn(e??{},`tokenTypeIdx`)}function Ut(e){return Object.hasOwn(e??{},`CATEGORIES`)}function Wt(e){return Object.hasOwn(e??{},`categoryMatches`)}function Gt(e){return Object.hasOwn(e??{},`categoryMatchesMap`)}function Kt(e){return Object.hasOwn(e??{},`tokenTypeIdx`)}var qt={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,n,r,i,a){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${n} characters.`}},F;(function(e){e[e.MISSING_PATTERN=0]=`MISSING_PATTERN`,e[e.INVALID_PATTERN=1]=`INVALID_PATTERN`,e[e.EOI_ANCHOR_FOUND=2]=`EOI_ANCHOR_FOUND`,e[e.UNSUPPORTED_FLAGS_FOUND=3]=`UNSUPPORTED_FLAGS_FOUND`,e[e.DUPLICATE_PATTERNS_FOUND=4]=`DUPLICATE_PATTERNS_FOUND`,e[e.INVALID_GROUP_TYPE_FOUND=5]=`INVALID_GROUP_TYPE_FOUND`,e[e.PUSH_MODE_DOES_NOT_EXIST=6]=`PUSH_MODE_DOES_NOT_EXIST`,e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]=`MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE`,e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]=`MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY`,e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]=`MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST`,e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]=`LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED`,e[e.SOI_ANCHOR_FOUND=11]=`SOI_ANCHOR_FOUND`,e[e.EMPTY_MATCH_PATTERN=12]=`EMPTY_MATCH_PATTERN`,e[e.NO_LINE_BREAKS_FLAGS=13]=`NO_LINE_BREAKS_FLAGS`,e[e.UNREACHABLE_PATTERN=14]=`UNREACHABLE_PATTERN`,e[e.IDENTIFY_TERMINATOR=15]=`IDENTIFY_TERMINATOR`,e[e.CUSTOM_LINE_BREAK=16]=`CUSTOM_LINE_BREAK`,e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]=`MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE`})(F||={});var Jt={deferDefinitionErrorsHandling:!1,positionTracking:`full`,lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
31
- `,`\r`],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:qt,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Jt);var I=class{constructor(e,t=Jt){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.cachedGroupKeys=[],this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let n=Array(this.traceInitIndent+1).join(` `);this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:r,value:i}=oe(t),a=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${e}> time: ${r}ms`),this.traceInitIndent--,i}return t()},typeof t==`boolean`)throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
32
- a boolean 2nd argument is no longer supported`);this.config=Object.assign({},Jt,t);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n==`number`&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT(`Lexer Constructor`,()=>{let n,r=!0;this.TRACE_INIT(`Lexer Config handling`,()=>{if(this.config.lineTerminatorsPattern===Jt.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Tt;else if(this.config.lineTerminatorCharacters===Jt.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
33
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error(`"safeMode" and "ensureOptimizations" flags are mutually exclusive.`);this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?n={modes:{defaultMode:[...e]},defaultMode:et}:(r=!1,n=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT(`performRuntimeChecks`,()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(xt(n,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT(`performWarningRuntimeChecks`,()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(St(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),n.modes=n.modes?n.modes:{},Object.entries(n.modes).forEach(([e,t])=>{n.modes[e]=t.filter(e=>e!==void 0)});let i=Object.keys(n.modes);if(Object.entries(n.modes).forEach(([e,n])=>{this.TRACE_INIT(`Mode: <${e}> processing`,()=>{if(this.modes.push(e),this.config.skipValidations===!1&&this.TRACE_INIT(`validatePatterns`,()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(rt(n,i))}),this.lexerDefinitionErrors.length===0){It(n);let r;this.TRACE_INIT(`analyzeTokenTypes`,()=>{r=tt(n,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[e]=r.patternIdxToConfig,this.charCodeToPatternIdxToConfig[e]=r.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,r.emptyGroups),this.hasCustom=r.hasCustom||this.hasCustom,this.canModeBeOptimized[e]=r.canBeOptimized}})}),this.defaultMode=n.defaultMode,this.cachedGroupKeys=Object.keys(this.emptyGroups),this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){let e=this.lexerDefinitionErrors.map(e=>e.message).join(`-----------------------
34
- `);throw Error(`Errors detected in definition of Lexer:
35
- `+e)}this.lexerDefinitionWarning.forEach(e=>{y(e.message)}),this.TRACE_INIT(`Choosing sub-methods implementations`,()=>{if(r&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=e=>e),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT(`Failed Optimization Warnings`,()=>{let e=Object.entries(this.canModeBeOptimized).reduce((e,[t,n])=>(n===!1&&e.push(t),e),[]);if(t.ensureOptimizations&&e.length>0)throw Error(`Lexer Modes: < ${e.join(`, `)} > cannot be optimized.\n Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
36
- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT(`clearRegExpParserCache`,()=>{He()}),this.TRACE_INIT(`toFastProperties`,()=>{se(this)})})}tokenize(e,t=this.defaultMode){if(this.lexerDefinitionErrors.length>0){let e=this.lexerDefinitionErrors.map(e=>e.message).join(`-----------------------
37
- `);throw Error(`Unable to Tokenize because Errors detected in definition of Lexer:
38
- `+e)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_=e,ee=_.length,v=0,te=0,ne=this.hasCustom?0:Math.floor(e.length/10),re=Array(ne),ie=[],ae=this.trackStartLines?1:void 0,y=this.trackStartLines?1:void 0,oe={};for(let e=0;e<this.cachedGroupKeys.length;e++)oe[this.cachedGroupKeys[e]]=[];let se=this.trackStartLines,ce=this.config.lineTerminatorsPattern,le=0,b=[],x=[],S=[],C=[];Object.freeze(C);let w=!1,T=e=>{if(S.length===1&&e.tokenType.PUSH_MODE===void 0){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);ie.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{S.pop();let e=S.at(-1);b=this.patternIdxToConfig[e],x=this.charCodeToPatternIdxToConfig[e],le=b.length;let t=this.canModeBeOptimized[e]&&this.config.safeMode===!1;w=!!(x&&t)}};function E(e){S.push(e),x=this.charCodeToPatternIdxToConfig[e],b=this.patternIdxToConfig[e],le=b.length;let t=this.canModeBeOptimized[e]&&this.config.safeMode===!1;w=!!(x&&t)}E.call(this,t);let D,O=this.config.recoveryEnabled;for(;v<ee;){s=null,u=-1;let t=_.charCodeAt(v),ne;if(w){let e=P(t),n=x[e];ne=n===void 0?C:n}else ne=b;let k=ne.length;for(n=0;n<k;n++){D=ne[n];let r=D.pattern;switch(c=null,D.matchType){case 0:t===D.short&&(u=1,s=r);break;case 1:g=r.exec(_,v,re,oe),g===null?s=null:(s=g[0],u=s.length,g.payload!==void 0&&(c=g.payload));break;case 3:{let e=D.asciiClass;if(e[t]!==1){r.lastIndex=0;break}let n=v+1;for(;e[_.charCodeAt(n)]===1;)n++;u=n-v,r.lastIndex=n;break}case 2:r.lastIndex=v,u=this.matchLength(r,e,v)}if(u!==-1){if(o=D.longerAlt,o!==void 0){s=e.substring(v,v+u);let t=o.length;for(i=0;i<t;i++){let t=b[o[i]],n=t.pattern;if(l=null,t.matchType===1?(g=n.exec(_,v,re,oe),g===null?a=null:(a=g[0],g.payload!==void 0&&(l=g.payload))):(n.lastIndex=v,a=this.match(n,e,v)),a&&a.length>s.length){s=a,u=a.length,c=l,D=t;break}}}break}}if(u!==-1){if(d=D.group,d!==void 0&&(s=s===null?e.substring(v,v+u):s,f=D.tokenTypeIdx,p=this.createTokenInstance(s,v,f,D.tokenType,ae,y,u),this.handlePayload(p,c),d===!1?te=this.addToken(re,te,p):oe[d].push(p)),se===!0&&D.canLineTerminator===!0){let t=0,n,r;ce.lastIndex=0;do s=s===null?e.substring(v,v+u):s,n=ce.test(s),n===!0&&(r=ce.lastIndex-1,t++);while(n===!0);t===0?y=this.computeNewColumn(y,u):(ae+=t,y=u-r,this.updateTokenEndLineColumnLocation(p,d,r,t,ae,y,u))}else y=this.computeNewColumn(y,u);v+=u,this.handleModes(D,T,E,p)}else{let t=v,n=ae,i=y,a=O===!1;for(;a===!1&&v<ee;)for(v++,r=0;r<le;r++){let t=b[r],n=t.pattern;switch(t.matchType){case 0:_.charCodeAt(v)===t.short&&(a=!0);break;case 1:a=n.exec(_,v,re,oe)!==null;break;case 3:case 2:n.lastIndex=v,a=n.exec(e)!==null}if(a===!0)break}if(m=v-t,y=this.computeNewColumn(y,m),h=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(_,t,m,n,i,S.at(-1)),ie.push({offset:t,line:n,column:i,length:m,message:h}),O===!1)break}}return this.hasCustom||(re.length=te),{tokens:re,groups:oe,errors:ie}}handleModes(e,t,n,r){if(e.pop===!0){let i=e.push;t(r),i!==void 0&&n.call(this,i)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,n,r,i,a,o){let s,c;t!==void 0&&(s=n===o-1,c=s?-1:0,(r!==1||s!==!0)&&(e.endLine=i+c,e.endColumn=a-1+-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,n,r){return{image:e,startOffset:t,tokenTypeIdx:n,tokenType:r}}createStartOnlyToken(e,t,n,r,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:n,tokenType:r}}createFullToken(e,t,n,r,i,a,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:i,endLine:i,startColumn:a,endColumn:a+o-1,tokenTypeIdx:n,tokenType:r}}addTokenUsingPush(e,t,n){return e.push(n),t}addTokenUsingMemberAccess(e,t,n){return e[t]=n,t++,t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}match(e,t,n){return e.test(t)===!0?t.substring(n,e.lastIndex):null}matchLength(e,t,n){return e.test(t)===!0?e.lastIndex-n:-1}};I.SKIPPED=`This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.`,I.NA=/NOT_APPLICABLE/;function Yt(e){return Xt(e)?e.LABEL:e.name}function Xt(e){return typeof e.LABEL==`string`&&e.LABEL!==``}var Zt=`parent`,Qt=`categories`,$t=`label`,en=`group`,tn=`push_mode`,nn=`pop_mode`,rn=`longer_alt`,an=`line_breaks`,on=`start_chars_hint`;function L(e){return sn(e)}function sn(e){let t=e.pattern,n={};if(n.name=e.name,t!==void 0&&(n.PATTERN=t),Object.hasOwn(e,Zt))throw`The parent property is no longer supported.
39
- See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(e,Qt)&&(n.CATEGORIES=e[Qt]),It([n]),Object.hasOwn(e,$t)&&(n.LABEL=e[$t]),Object.hasOwn(e,en)&&(n.GROUP=e[en]),Object.hasOwn(e,nn)&&(n.POP_MODE=e[nn]),Object.hasOwn(e,tn)&&(n.PUSH_MODE=e[tn]),Object.hasOwn(e,rn)&&(n.LONGER_ALT=e[rn]),Object.hasOwn(e,an)&&(n.LINE_BREAKS=e[an]),Object.hasOwn(e,on)&&(n.START_CHARS_HINT=e[on]),n}var R=L({name:`EOF`,pattern:I.NA});It([R]);function cn(e,t,n,r,i,a,o,s){return{image:t,startOffset:n,endOffset:r,startLine:i,endLine:a,startColumn:o,endColumn:s,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function ln(e,t){return Mt(e,t)}var un={buildMismatchTokenMessage({expected:e,actual:t,previous:n,ruleName:r}){return`Expecting ${Xt(e)?`--> ${Yt(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e,ruleName:t}){return`Redundant input, expecting EOF but found: `+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:n,customUserDescription:r,ruleName:i}){let a=`
40
- but found: '`+t[0].image+`'`;return r?`Expecting: `+r+a:`Expecting: one of these possible Token sequences:\n${e.reduce((e,t)=>e.concat(t),[]).map(e=>`[${e.map(e=>Yt(e)).join(`, `)}]`).map((e,t)=>` ${t+1}. ${e}`).join(`
41
- `)}`+a},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:n,ruleName:r}){let i=`
42
- but found: '`+t[0].image+`'`;return n?`Expecting: `+n+i:`Expecting: expecting at least one iteration which starts with one of these possible Token sequences::\n <${e.map(e=>`[${e.map(e=>Yt(e)).join(`,`)}]`).join(` ,`)}>`+i}};Object.freeze(un);var dn={buildRuleNotFoundError(e,t){return`Invalid grammar, reference to a rule which is not defined: ->`+t.nonTerminalName+`<-
43
- inside top level rule: ->`+e.name+`<-`}},fn={buildDuplicateFoundError(e,t){function n(e){return e instanceof A?e.terminalType.name:e instanceof x?e.nonTerminalName:``}let r=e.name,i=t[0],a=i.idx,o=M(i),s=n(i),c=`->${o}${a>0?a:``}<- ${s?`with argument: ->${s}<-`:``}
44
- appears more than once (${t.length} times) in the top level rule: ->${r}<-.
45
- For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
46
- `;return c=c.replace(/[ \t]+/g,` `),c=c.replace(/\s\s+/g,`
47
- `),c},buildNamespaceConflictError(e){return`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(e){let t=e.prefixPath.map(e=>Yt(e)).join(`, `),n=e.alternation.idx===0?``:e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(` ,`)}> due to common lookahead prefix\nin <OR${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(e){let t=e.alternation.idx===0?``:e.alternation.idx,n=e.prefixPath.length===0,r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(` ,`)}> in <OR${t}> inside <${e.topLevelRule.name}> Rule,\n`;if(n)r+=`These alternatives are all empty (match no tokens), making them indistinguishable.
48
- Only the last alternative may be empty.
49
- `;else{let t=e.prefixPath.map(e=>Yt(e)).join(`, `);r+=`<${t}> may appears as a prefix path in all these alternatives.\n`}return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
50
- For Further details.`,r},buildEmptyRepetitionError(e){let t=M(e.repetition);return e.repetition.idx!==0&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError(e){return`deprecated`},buildEmptyAlternationError(e){return`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`},buildTooManyAlternativesError(e){return`An Alternation cannot have more than 256 alternatives:\n<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\n has ${e.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(e){let t=e.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${t}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${`${t} --> ${e.leftRecursionPath.map(e=>e.name).concat([t]).join(` --> `)}`}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(e){return`deprecated`},buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof S?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function pn(e,t){let n=new mn(e,t);return n.resolveRefs(),n.errors}var mn=class extends fe{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:V.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},hn=class extends ge{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName=``,this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error(`The path does not start with the walker's top Rule!`);return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let r=t.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,r)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName=``,this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},gn=class extends hn{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName=``,this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new C({definition:t.concat(n)});this.possibleTokTypes=ve(e),this.found=!0}}},_n=class extends ge{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},vn=class extends _n{walkMany(e,t,n){if(e.idx===this.occurrence){let e=t.concat(n)[0];this.result.isEndOfRule=e===void 0,e instanceof A&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,n)}},yn=class extends _n{walkManySep(e,t,n){if(e.idx===this.occurrence){let e=t.concat(n)[0];this.result.isEndOfRule=e===void 0,e instanceof A&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,n)}},bn=class extends _n{walkAtLeastOne(e,t,n){if(e.idx===this.occurrence){let e=t.concat(n)[0];this.result.isEndOfRule=e===void 0,e instanceof A&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,n)}},xn=class extends _n{walkAtLeastOneSep(e,t,n){if(e.idx===this.occurrence){let e=t.concat(n)[0];this.result.isEndOfRule=e===void 0,e instanceof A&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,n)}};function Sn(e,t,n=[]){n=[...n];let r=[],i=0;function a(t){return t.concat(e.slice(i+1))}function o(e){let i=Sn(a(e),t,n);return r.concat(i)}for(;n.length<t&&i<e.length;){let t=e[i];if(t instanceof C||t instanceof x)return o(t.definition);if(t instanceof w)r=o(t.definition);else if(t instanceof T)return o(t.definition.concat([new D({definition:t.definition})]));else if(t instanceof E)return o([new C({definition:t.definition}),new D({definition:[new A({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof O)r=o(t.definition.concat([new D({definition:[new A({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof D)r=o(t.definition.concat([new D({definition:t.definition})]));else if(t instanceof k)return t.definition.forEach(e=>{e.definition.length!==0&&(r=o(e.definition))}),r;else if(t instanceof A)n.push(t.terminalType);else throw Error(`non exhaustive match`);i++}return r.push({partialPath:n,suffixDef:e.slice(i)}),r}function Cn(e,t,n,r){let i=`EXIT_NONE_TERMINAL`,a=[i],o=`EXIT_ALTERNATIVE`,s=!1,c=t.length,l=c-r-1,u=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});d.length!==0;){let e=d.pop();if(e===o){s&&d.at(-1).idx<=l&&d.pop();continue}let r=e.def,f=e.idx,p=e.ruleStack,m=e.occurrenceStack;if(r.length===0)continue;let h=r[0];if(h===i){let e={idx:f,def:r.slice(1),ruleStack:p.slice(0,-1),occurrenceStack:m.slice(0,-1)};d.push(e)}else if(h instanceof A){if(f<c-1){let e=f+1,i=t[e];if(n(i,h.terminalType)){let t={idx:e,def:r.slice(1),ruleStack:p,occurrenceStack:m};d.push(t)}}else if(f===c-1)u.push({nextTokenType:h.terminalType,nextTokenOccurrence:h.idx,ruleStack:p,occurrenceStack:m}),s=!0;else throw Error(`non exhaustive match`)}else if(h instanceof x){let e=[...p];e.push(h.nonTerminalName);let t=[...m];t.push(h.idx);let n={idx:f,def:h.definition.concat(a,r.slice(1)),ruleStack:e,occurrenceStack:t};d.push(n)}else if(h instanceof w){let e={idx:f,def:r.slice(1),ruleStack:p,occurrenceStack:m};d.push(e),d.push(o);let t={idx:f,def:h.definition.concat(r.slice(1)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof T){let e=new D({definition:h.definition,idx:h.idx}),t={idx:f,def:h.definition.concat([e],r.slice(1)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof E){let e=new D({definition:[new A({terminalType:h.separator})].concat(h.definition),idx:h.idx}),t={idx:f,def:h.definition.concat([e],r.slice(1)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof O){let e={idx:f,def:r.slice(1),ruleStack:p,occurrenceStack:m};d.push(e),d.push(o);let t=new D({definition:[new A({terminalType:h.separator})].concat(h.definition),idx:h.idx}),n={idx:f,def:h.definition.concat([t],r.slice(1)),ruleStack:p,occurrenceStack:m};d.push(n)}else if(h instanceof D){let e={idx:f,def:r.slice(1),ruleStack:p,occurrenceStack:m};d.push(e),d.push(o);let t=new D({definition:h.definition,idx:h.idx}),n={idx:f,def:h.definition.concat([t],r.slice(1)),ruleStack:p,occurrenceStack:m};d.push(n)}else if(h instanceof k)for(let e=h.definition.length-1;e>=0;e--){let t={idx:f,def:h.definition[e].definition.concat(r.slice(1)),ruleStack:p,occurrenceStack:m};d.push(t),d.push(o)}else if(h instanceof C)d.push({idx:f,def:h.definition.concat(r.slice(1)),ruleStack:p,occurrenceStack:m});else if(h instanceof S)d.push(wn(h,f,p,m));else throw Error(`non exhaustive match`)}return u}function wn(e,t,n,r){let i=[...n];i.push(e.name);let a=[...r];return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}var z;(function(e){e[e.OPTION=0]=`OPTION`,e[e.REPETITION=1]=`REPETITION`,e[e.REPETITION_MANDATORY=2]=`REPETITION_MANDATORY`,e[e.REPETITION_MANDATORY_WITH_SEPARATOR=3]=`REPETITION_MANDATORY_WITH_SEPARATOR`,e[e.REPETITION_WITH_SEPARATOR=4]=`REPETITION_WITH_SEPARATOR`,e[e.ALTERNATION=5]=`ALTERNATION`})(z||={});function Tn(e){if(e instanceof w||e===`Option`)return z.OPTION;if(e instanceof D||e===`Repetition`)return z.REPETITION;if(e instanceof T||e===`RepetitionMandatory`)return z.REPETITION_MANDATORY;if(e instanceof E||e===`RepetitionMandatoryWithSeparator`)return z.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof O||e===`RepetitionWithSeparator`)return z.REPETITION_WITH_SEPARATOR;if(e instanceof k||e===`Alternation`)return z.ALTERNATION;throw Error(`non exhaustive match`)}function En(e,t,n,r,i,a){let o=In(e,t,n);return a(o,r,Bn(o)?Nt:Mt,i)}function Dn(e,t,n,r,i,a){let o=Ln(e,t,i,n),s=Bn(o)?Nt:Mt;return a(o[0],s,r)}function On(e,t,n,r){let i=e.length,a=e.every(e=>e.every(e=>e.length===1));if(t)return function(t){let r=t.map(e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],a=i.length,o=r[t];if(o===void 0||o.call(this)!==!1)nextPath:for(let e=0;e<a;e++){let r=i[e],a=r.length;for(let e=0;e<a;e++)if(n(this.LA_FAST(e+1),r[e])===!1)continue nextPath;return t}}};if(a&&!r){let t=e.map(e=>e.flat()).reduce((e,t,n)=>(t.forEach(t=>{t.tokenTypeIdx in e||(e[t.tokenTypeIdx]=n),t.categoryMatches.forEach(t=>{Object.hasOwn(e,t)||(e[t]=n)})}),e),{});return function(){let e=this.LA_FAST(1);return t[e.tokenTypeIdx]}}return function(){for(let t=0;t<i;t++){let r=e[t],i=r.length;nextPath:for(let e=0;e<i;e++){let i=r[e],a=i.length;for(let e=0;e<a;e++)if(n(this.LA_FAST(e+1),i[e])===!1)continue nextPath;return t}}}}function kn(e,t,n){let r=e.every(e=>e.length===1),i=e.length;if(r&&!n){let t=e.flat();if(t.length===1&&t[0].categoryMatches.length===0){let e=t[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===e}}{let e=t.reduce((e,t,n)=>(e[t.tokenTypeIdx]=!0,t.categoryMatches.forEach(t=>{e[t]=!0}),e),[]);return function(){let t=this.LA_FAST(1);return e[t.tokenTypeIdx]===!0}}}return function(){nextPath:for(let n=0;n<i;n++){let r=e[n],i=r.length;for(let e=0;e<i;e++)if(t(this.LA_FAST(e+1),r[e])===!1)continue nextPath;return!0}return!1}}var An=class extends ge{constructor(e,t,n){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,n,r){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=n.concat(r),!0)}walkOption(e,t,n){this.checkIsTarget(e,z.OPTION,t,n)||super.walkOption(e,t,n)}walkAtLeastOne(e,t,n){this.checkIsTarget(e,z.REPETITION_MANDATORY,t,n)||super.walkOption(e,t,n)}walkAtLeastOneSep(e,t,n){this.checkIsTarget(e,z.REPETITION_MANDATORY_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}walkMany(e,t,n){this.checkIsTarget(e,z.REPETITION,t,n)||super.walkOption(e,t,n)}walkManySep(e,t,n){this.checkIsTarget(e,z.REPETITION_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}},jn=class extends fe{constructor(e,t,n){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=n,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,z.OPTION)}visitRepetition(e){this.checkIsTarget(e,z.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,z.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,z.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,z.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,z.ALTERNATION)}};function Mn(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=[];return t}function Nn(e){let t=[``];for(let n=0;n<e.length;n++){let r=e[n],i=[];for(let e=0;e<t.length;e++){let n=t[e];i.push(n+`_`+r.tokenTypeIdx);for(let e=0;e<r.categoryMatches.length;e++){let t=`_`+r.categoryMatches[e];i.push(n+t)}}t=i}return t}function Pn(e,t,n){for(let r=0;r<e.length;r++){if(r===n)continue;let i=e[r];for(let e=0;e<t.length;e++)if(i[t[e]]===!0)return!1}return!0}function Fn(e,t){let n=e.map(e=>Sn([e],1)),r=Mn(n.length),i=n.map(e=>{let t={};return e.forEach(e=>{Nn(e.partialPath).forEach(e=>{t[e]=!0})}),t}),a=n;for(let e=1;e<=t;e++){let n=a;a=Mn(n.length);for(let o=0;o<n.length;o++){let s=n[o];for(let n=0;n<s.length;n++){let c=s[n].partialPath,l=s[n].suffixDef,u=Nn(c);if(Pn(i,u,o)||l.length===0||c.length===t){let e=r[o];if(Rn(e,c)===!1){e.push(c);for(let e=0;e<u.length;e++){let t=u[e];i[o][t]=!0}}}else{let t=Sn(l,e+1,c);a[o]=a[o].concat(t),t.forEach(e=>{Nn(e.partialPath).forEach(e=>{i[o][e]=!0})})}}}}return r}function In(e,t,n,r){let i=new jn(e,z.ALTERNATION,r);return t.accept(i),Fn(i.result,n)}function Ln(e,t,n,r){let i=new jn(e,n);t.accept(i);let a=i.result,o=new An(t,e,n).startWalking();return Fn([new C({definition:a}),new C({definition:o})],r)}function Rn(e,t){compareOtherPath:for(let n=0;n<e.length;n++){let r=e[n];if(r.length===t.length){for(let e=0;e<r.length;e++){let n=t[e],i=r[e];if(n!==i&&i.categoryMatchesMap[n.tokenTypeIdx]===void 0)continue compareOtherPath}return!0}}return!1}function zn(e,t){return e.length<t.length&&e.every((e,n)=>{let r=t[n];return e===r||r.categoryMatchesMap[e.tokenTypeIdx]})}function Bn(e){return e.every(e=>e.every(e=>e.every(e=>e.categoryMatches.length===0)))}function Vn(e){return e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}).map(e=>Object.assign({type:V.CUSTOM_LOOKAHEAD_VALIDATION},e))}function Hn(e,t,n,r){let i=e.flatMap(e=>Un(e,n)),a=ar(e,t,n),o=e.flatMap(e=>tr(e,n)),s=e.flatMap(t=>qn(t,e,r,n));return i.concat(a,o,s)}function Un(e,t){let n=new Kn;e.accept(n);let r=n.allProductions,i=Object.groupBy(r,Wn),a=Object.fromEntries(Object.entries(i).filter(([e,t])=>t.length>1));return Object.values(a).map(n=>{let r=n[0],i=t.buildDuplicateFoundError(e,n),a=M(r),o={message:i,type:V.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:r.idx},s=Gn(r);return s&&(o.parameter=s),o})}function Wn(e){return`${M(e)}_#_${e.idx}_#_${Gn(e)}`}function Gn(e){return e instanceof A?e.terminalType.name:e instanceof x?e.nonTerminalName:``}var Kn=class extends fe{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function qn(e,t,n,r){let i=[];if(t.reduce((t,n)=>n.name===e.name?t+1:t,0)>1){let t=r.buildDuplicateRuleNameError({topLevelRule:e,grammarName:n});i.push({message:t,type:V.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}function Jn(e,t,n){let r=[],i;return t.includes(e)||(i=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:V.INVALID_RULE_OVERRIDE,ruleName:e})),r}function Yn(e,t,n,r=[]){let i=[],a=Xn(t.definition);if(a.length===0)return[];{let t=e.name;a.includes(e)&&i.push({message:n.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:r}),type:V.LEFT_RECURSION,ruleName:t});let o=r.concat([e]),s=a.filter(e=>!o.includes(e)).flatMap(t=>{let i=[...r];return i.push(t),Yn(e,t,n,i)});return i.concat(s)}}function Xn(e){let t=[];if(e.length===0)return t;let n=e[0];if(n instanceof x)t.push(n.referencedRule);else if(n instanceof C||n instanceof w||n instanceof T||n instanceof E||n instanceof O||n instanceof D)t=t.concat(Xn(n.definition));else if(n instanceof k)t=n.definition.map(e=>Xn(e.definition)).flat();else if(!(n instanceof A))throw Error(`non exhaustive match`);let r=me(n),i=e.length>1;if(r&&i){let n=e.slice(1);return t.concat(Xn(n))}return t}var Zn=class extends fe{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function Qn(e,t){let n=new Zn;return e.accept(n),n.alternations.flatMap(n=>n.definition.slice(0,-1).flatMap((r,i)=>Cn([r],[],Mt,1).length===0?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:n,emptyChoiceIdx:i}),type:V.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:n.idx,alternative:i+1}]:[]))}function $n(e,t,n){let r=new Zn;e.accept(r);let i=r.alternations;return i=i.filter(e=>e.ignoreAmbiguities!==!0),i.flatMap(r=>{let i=r.idx,a=In(i,e,r.maxLookahead||t,r),o=rr(a,r,e,n),s=ir(a,r,e,n);return o.concat(s)})}var er=class extends fe{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function tr(e,t){let n=new Zn;return e.accept(n),n.alternations.flatMap(n=>n.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:n}),type:V.TOO_MANY_ALTS,ruleName:e.name,occurrence:n.idx}]:[])}function nr(e,t,n){let r=[];return e.forEach(e=>{let i=new er;e.accept(i),i.allProductions.forEach(i=>{let a=Tn(i),o=i.maxLookahead||t,s=i.idx;if(Ln(s,e,a,o)[0].flat().length===0){let t=n.buildEmptyRepetitionError({topLevelRule:e,repetition:i});r.push({message:t,type:V.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),r}function rr(e,t,n,r){let i=[];return e.reduce((n,r,a)=>(t.definition[a].ignoreAmbiguities===!0||r.forEach(r=>{let o=[a];e.forEach((e,n)=>{a!==n&&Rn(e,r)&&t.definition[n].ignoreAmbiguities!==!0&&o.push(n)}),o.length>1&&!Rn(i,r)&&(i.push(r),n.push({alts:o,path:r}))}),n),[]).map(e=>{let i=e.alts.map(e=>e+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:V.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:t.idx,alternatives:e.alts}})}function ir(e,t,n,r){let i=e.reduce((e,t,n)=>{let r=t.map(e=>({idx:n,path:e}));return e.concat(r)},[]);return i.flatMap(e=>{if(t.definition[e.idx].ignoreAmbiguities===!0)return[];let a=e.idx,o=e.path;return i.filter(e=>t.definition[e.idx].ignoreAmbiguities!==!0&&e.idx<a&&zn(e.path,o)).map(e=>{let i=[e.idx+1,a+1],o=t.idx===0?``:t.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:V.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:o,alternatives:i}})})}function ar(e,t,n){let r=[],i=t.map(e=>e.name);return e.forEach(e=>{let t=e.name;if(i.includes(t)){let i=n.buildNamespaceConflictError(e);r.push({message:i,type:V.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),r}function or(e){let t=Object.assign({errMsgProvider:dn},e),n={};return e.rules.forEach(e=>{n[e.name]=e}),pn(n,t.errMsgProvider)}function sr(e){let t=e.errMsgProvider??fn;return Hn(e.rules,e.tokenTypes,t,e.grammarName)}var cr=`MismatchedTokenException`,lr=`NoViableAltException`,ur=`EarlyExitException`,dr=`NotAllInputParsedException`,fr=[cr,lr,ur,dr];Object.freeze(fr);function pr(e){return fr.includes(e.name)}var mr=class extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},hr=class extends mr{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=cr}},gr=class extends mr{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=lr}},_r=class extends mr{constructor(e,t){super(e,t),this.name=dr}},vr=class extends mr{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=ur}},yr={},br=`InRuleRecoveryException`,xr=class extends Error{constructor(e){super(e),this.name=br}},Sr=class{initRecoverable(e){this.firstAfterRepMap=[],this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,`recoveryEnabled`)?e.recoveryEnabled:B.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Cr)}getTokenToInsert(e){let t=cn(e,``,-1,-1,-1,-1,-1,-1);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,n,r){let i=this.findReSyncTokenType(),a=this.exportLexerState(),o=[],s=!1,c=this.LA_FAST(1),l=this.LA_FAST(1),u=()=>{let e=this.LA(0),t=new hr(this.errorMessageProvider.buildMismatchTokenMessage({expected:r,actual:c,previous:e,ruleName:this.getCurrRuleFullName()}),c,this.LA(0));t.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(t)};for(;!s;)if(this.tokenMatcher(l,r)){u();return}else if(n.call(this)){u(),e.apply(this,t);return}else this.tokenMatcher(l,i)?s=!0:(l=this.SKIP_TOKEN(),this.addToResyncTokens(l,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getNextPossibleTokenTypes(e){let t=e.ruleStack[0],n=this.getGAstProductions()[t];return new gn(n,e).startWalking()}getFollowsForInRuleRecovery(e,t){let n=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new xr(`sad sad panda`)}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||t.length===0)return!1;let n=this.LA_FAST(1);return t.find(e=>this.tokenMatcher(n,e))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(t).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA_FAST(1),n=2;for(;;){let r=e.find(e=>ln(t,e));if(r!==void 0)return r;t=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return yr;let e=this.currRuleShortName,t=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,r=Array(n);for(let i=0;i<n;i++)i===0?r[i]=yr:r[i]={ruleName:this.shortRuleNameToFullName(e[i]),idxInCallingRule:t[i],inRule:this.shortRuleNameToFullName(e[i-1])};return r}flattenFollowSet(){return this.buildFullFollowKeyStack().map(e=>this.getFollowSetFromFollowKey(e)).flat()}getFollowSetFromFollowKey(e){if(e===yr)return[R];let t=e.ruleName+e.idxInCallingRule+Se+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,R)||t.push(e),t}reSyncTo(e){let t=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,t);return t.slice(0,-1)}attemptInRepetitionRecovery(e,t,n,r,i,a,o){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,t=Array(e);for(let n=0;n<e;n++)t[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return t}};function Cr(e,t,n,r,i,a,o){var s,c;let l=r|i,u=(s=this.firstAfterRepMap)[c=this.currRuleShortName]??(s[c]=[]),d=u[l];if(d===void 0){let e=this.getCurrRuleFullName(),t=this.getGAstProductions()[e];d=new a(t,i).startWalking(),u[l]=d}let f=d.token,p=d.occurrence,m=d.isEndOfRule;this.RULE_STACK_IDX===0&&m&&f===void 0&&(f=R,p=1),f!==void 0&&p!==void 0&&this.shouldInRepetitionRecoveryBeTried(f,p,o)&&this.tryInRepetitionRecovery(e,t,n,f)}var wr=1024,Tr=1280,Er=1536,Dr=class{constructor(e){this.maxLookahead=e?.maxLookahead??B.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);if(t.length===0){let n=this.validateEmptyOrAlternatives(e.rules),r=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),i=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...n,...r,...i]}return t}validateNoLeftRecursion(e){return e.flatMap(e=>Yn(e,e,fn))}validateEmptyOrAlternatives(e){return e.flatMap(e=>Qn(e,fn))}validateAmbiguousAlternationAlternatives(e,t){return e.flatMap(e=>$n(e,t,fn))}validateSomeNonEmptyLookaheadPath(e,t){return nr(e,t,fn)}buildLookaheadForAlternation(e){return En(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,On)}buildLookaheadForOptional(e){return Dn(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Tn(e.prodType),kn)}},Or=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,`dynamicTokensEnabled`)?e.dynamicTokensEnabled:B.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,`maxLookahead`)?e.maxLookahead:B.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,`lookaheadStrategy`)?e.lookaheadStrategy:new Dr({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=[],this.currRuleLookaheadFuncs=[]}preComputeLookaheadFunctions(e){e.forEach(e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:n,option:r,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:o}=Ar(e);t.forEach(t=>{let n=t.idx===0?``:t.idx;this.TRACE_INIT(`${M(t)}${n}`,()=>{let n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled});this.setLaFuncCache(this.fullRuleNameToShort[e.name],256|t.idx,n)})}),n.forEach(t=>{this.computeLookaheadFunc(e,t.idx,768,`Repetition`,t.maxLookahead,M(t))}),r.forEach(t=>{this.computeLookaheadFunc(e,t.idx,512,`Option`,t.maxLookahead,M(t))}),i.forEach(t=>{this.computeLookaheadFunc(e,t.idx,wr,`RepetitionMandatory`,t.maxLookahead,M(t))}),a.forEach(t=>{this.computeLookaheadFunc(e,t.idx,Er,`RepetitionMandatoryWithSeparator`,t.maxLookahead,M(t))}),o.forEach(t=>{this.computeLookaheadFunc(e,t.idx,Tr,`RepetitionWithSeparator`,t.maxLookahead,M(t))})})})}computeLookaheadFunc(e,t,n,r,i,a){this.TRACE_INIT(`${a}${t===0?``:t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:r});this.setLaFuncCache(this.fullRuleNameToShort[e.name],n|t,a)})}setLaFuncCache(e,t,n){let r=this.lookAheadFuncsCache[e];r===void 0&&(r=[],this.lookAheadFuncsCache[e]=r),r[t]=n}},kr=new class extends fe{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function Ar(e){kr.reset(),e.accept(kr);let t=kr.dslMethods;return kr.reset(),t}function jr(e,t){e.startOffset===-1?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset)}function Mr(e,t){e.startOffset===-1?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function Nr(e,t,n){e.children[n]===void 0?e.children[n]=[t]:e.children[n].push(t)}function Pr(e,t,n){e.children[t]===void 0?e.children[t]=[n]:e.children[t].push(n)}var Fr=`name`;function Ir(e,t){Object.defineProperty(e,Fr,{enumerable:!1,configurable:!0,writable:!1,value:t})}function Lr(e,t){let n=Object.keys(e),r=n.length;for(let i=0;i<r;i++){let r=e[n[i]],a=r.length;for(let e=0;e<a;e++){let n=r[e];n.tokenTypeIdx===void 0&&this[n.name](n.children,t)}}}function Rr(e,t){let n=function(){};return Ir(n,e+`BaseSemantics`),n.prototype={visit:function(e,t){if(Array.isArray(e)&&(e=e[0]),e!==void 0)return this[e.name](e.children,t)},validateVisitor:function(){let e=Vr(this,t);if(e.length!==0){let t=e.map(e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${t.join(`
51
-
52
- `).replace(/\n/g,`
53
- `)}`)}}},n.prototype.constructor=n,n._RULE_NAMES=t,n}function zr(e,t,n){let r=function(){};Ir(r,e+`BaseSemanticsWithDefaults`);let i=Object.create(n.prototype);return t.forEach(e=>{i[e]=Lr}),r.prototype=i,r.prototype.constructor=r,r}var Br;(function(e){e[e.REDUNDANT_METHOD=0]=`REDUNDANT_METHOD`,e[e.MISSING_METHOD=1]=`MISSING_METHOD`})(Br||={});function Vr(e,t){return Hr(e,t)}function Hr(e,t){return t.filter(t=>typeof e[t]!=`function`).map(t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:Br.MISSING_METHOD,methodName:t})).filter(Boolean)}var Ur=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,`nodeLocationTracking`)?e.nodeLocationTracking:B.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Mr,this.setNodeLocationFromNode=Mr,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=jr,this.setNodeLocationFromNode=jr,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:-1,endOffset:-1}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:-1}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:-1,startLine:-1,startColumn:-1,endOffset:-1,endLine:-1,endColumn:-1}}setInitialNodeLocationFullRegular(e){let t=this.LA_FAST(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:-1,endLine:-1,endColumn:-1}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),n=e.location;n.startOffset!==-1&&n.startOffset<=t.startOffset?(n.endOffset=t.endOffset,n.endLine=t.endLine,n.endColumn=t.endColumn):(n.startOffset=-1,n.startLine=-1,n.startColumn=-1)}cstPostRuleOnlyOffset(e){let t=this.LA(0),n=e.location;n.startOffset!==-1&&n.startOffset<=t.startOffset?n.endOffset=t.endOffset:n.startOffset=-1}cstPostTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];Nr(n,t,e),this.setNodeLocationFromToken(n.location,t)}cstPostNonTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];Pr(n,t,e),this.setNodeLocationFromNode(n.location,e.location)}get currCSTNode(){let e=this;return e.CST_STACK[e.CST_STACK.length-1]}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=Rr(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=zr(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}},Wr=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error(`Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.`);this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):si}LA_FAST(e){let t=this.currIdx+e;return this.tokVector[t]}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?si:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}},Gr=class{ACTION(e){return e.call(this)}consume(e,t,n){return this.consumeInternal(t,e,n)}subrule(e,t,n){return this.subruleInternal(t,e,n)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,n=ci){if(this.definedRulesNames.includes(e)){let t={message:fn.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:V.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let r=this.defineRule(e,t,n);return this[e]=r,r}OVERRIDE_RULE(e,t,n=ci){let r=Jn(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(r);let i=this.defineRule(e,t,n);return this[e]=i,i}BACKTRACK(e,t){let n=e.coreRule??e;return function(){this.isBackTrackingStack.push(1);let e=this.saveRecogState();try{return n.apply(this,t),!0}catch(e){if(pr(e))return!1;throw e}finally{this.reloadRecogState(e),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return ue(Object.values(this.gastProductionsCache))}},Kr=class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull=[],this.fullRuleNameToShort={},this.ruleShortNameIdx=0,this.tokenMatcher=Nt,this.subruleIdx=0,this.currRuleShortName=-1,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(t,`serializedGrammar`))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
54
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
55
- For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty.
56
- Note that the first argument for the parser constructor
57
- is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset==`number`)throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
58
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
59
- For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((e,t)=>(e[t.name]=t,e),{});else if(Object.hasOwn(e,`modes`)&&Object.values(e.modes).flat().every(Kt)){let t=Object.values(e.modes).flat(),n=[...new Set(t)];this.tokensMap=n.reduce((e,t)=>(e[t.name]=t,e),{})}else if(typeof e==`object`&&e)this.tokensMap=Object.assign({},e);else throw Error(`<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition`);this.tokensMap.EOF=R;let n=(Object.hasOwn(e,`modes`)?Object.values(e.modes).flat():Object.values(e)).every(e=>e.categoryMatches?.length==0);this.tokenMatcher=n?Nt:Mt,It(Object.values(this.tokensMap))}defineRule(e,t,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let r=Object.hasOwn(n,`resyncEnabled`)?n.resyncEnabled:ci.resyncEnabled,i=Object.hasOwn(n,`recoveryValueFunc`)?n.recoveryValueFunc:ci.recoveryValueFunc,a=this.ruleShortNameIdx++;this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return o=this.outputCst===!0?function(...n){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,n);let r=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(r),r}catch(e){return this.invokeRuleCatch(e,r,i)}finally{this.ruleFinallyStateUpdate()}}:function(...n){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,n)}catch(e){return this.invokeRuleCatch(e,r,i)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...t){this.onBeforeParse(e);try{return o.apply(this,t)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:t,coreRule:o})}invokeRuleCatch(e,t,n){let r=this.RULE_STACK_IDX===0,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(pr(e)){let t=e;if(i){let r=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(r)){if(t.resyncedTokens=this.reSyncTo(r),this.outputCst){let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}return n(e)}if(this.outputCst){let e=this.CST_STACK[this.CST_STACK.length-1];e.recoveredNode=!0,t.partialCstResult=e}throw t}if(r)return this.moveToTerminatedState(),n(e);throw t}throw e}optionInternal(e,t){let n=512|t;return this.optionInternalLogic(e,t,n)}optionInternalLogic(e,t,n){let r=this.currRuleLookaheadFuncs[n],i;if(typeof e!=`function`){i=e.DEF;let t=e.GATE;if(t!==void 0){let e=r;r=()=>t.call(this)&&e.call(this)}}else i=e;if(r.call(this)===!0)return i.call(this)}atLeastOneInternal(e,t){let n=wr|e;return this.atLeastOneInternalLogic(e,t,n)}atLeastOneInternalLogic(e,t,n){let r=this.currRuleLookaheadFuncs[n],i;if(typeof t!=`function`){i=t.DEF;let e=t.GATE;if(e!==void 0){let t=r;r=()=>e.call(this)&&t.call(this)}}else i=t;if(r.call(this)===!0){let e=this.doSingleRepetition(i);for(;r.call(this)===!0&&e===!0;)e=this.doSingleRepetition(i)}else throw this.raiseEarlyExitException(e,z.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],r,wr,e,bn)}atLeastOneSepFirstInternal(e,t){let n=Er|e;this.atLeastOneSepFirstInternalLogic(e,t,n)}atLeastOneSepFirstInternalLogic(e,t,n){let r=t.DEF,i=t.SEP;if(this.currRuleLookaheadFuncs[n].call(this)===!0){r.call(this);let t=()=>this.tokenMatcher(this.LA_FAST(1),i);for(;this.tokenMatcher(this.LA_FAST(1),i)===!0;)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,xn],t,Er,e,xn)}else throw this.raiseEarlyExitException(e,z.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let n=768|e;return this.manyInternalLogic(e,t,n)}manyInternalLogic(e,t,n){let r=this.currRuleLookaheadFuncs[n],i;if(typeof t!=`function`){i=t.DEF;let e=t.GATE;if(e!==void 0){let t=r;r=()=>e.call(this)&&t.call(this)}}else i=t;let a=!0;for(;r.call(this)===!0&&a===!0;)a=this.doSingleRepetition(i);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],r,768,e,vn,a)}manySepFirstInternal(e,t){let n=Tr|e;this.manySepFirstInternalLogic(e,t,n)}manySepFirstInternalLogic(e,t,n){let r=t.DEF,i=t.SEP;if(this.currRuleLookaheadFuncs[n].call(this)===!0){r.call(this);let t=()=>this.tokenMatcher(this.LA_FAST(1),i);for(;this.tokenMatcher(this.LA_FAST(1),i)===!0;)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,yn],t,Tr,e,yn)}}repetitionSepSecondInternal(e,t,n,r,i){for(;n();)this.CONSUME(t),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,n,r,i],n,Er,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let n=256|t,r=Array.isArray(e)?e:e.DEF,i=this.currRuleLookaheadFuncs[n].call(this,r);if(i!==void 0)return r[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX],this.currRuleLookaheadFuncs=this.lookAheadFuncsCache[this.currRuleShortName]),this.cstFinallyStateUpdate()}subruleInternal(e,t,n){let r;try{let i=n===void 0?void 0:n.ARGS;return this.subruleIdx=t,r=e.coreRule.apply(this,i),this.cstPostNonTerminal(r,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),r}catch(t){throw this.subruleInternalError(t,n,e.ruleName)}}subruleInternalError(e,t,n){throw pr(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,t,n){let r;try{let t=this.LA_FAST(1);this.tokenMatcher(t,e)===!0?(this.consumeToken(),r=t):this.consumeInternalError(e,t,n)}catch(n){r=this.consumeInternalRecovery(e,t,n)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,r),r}consumeInternalError(e,t,n){let r,i=this.LA(0);throw r=n!==void 0&&n.ERR_MSG?n.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new hr(r,t,i))}consumeInternalRecovery(e,t,n){if(this.recoveryEnabled&&n.name===`MismatchedTokenException`&&!this.isBackTracking()){let r=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,r)}catch(e){throw e.name===`InRuleRecoveryException`?n:e}}throw n}saveRecogState(){let e=this.errors,t=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);let t=e.RULE_STACK;for(let e=0;e<t.length;e++)this.RULE_STACK[e]=t[e];this.RULE_STACK_IDX=t.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX],this.currRuleLookaheadFuncs=this.lookAheadFuncsCache[this.currRuleShortName])}ruleInvocationStateUpdate(e,t,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.currRuleLookaheadFuncs=this.lookAheadFuncsCache[e],this.cstInvocationStateUpdate(t)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),R)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=-1,this.currRuleLookaheadFuncs=[],this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let e=0;e<this.maxLookahead+1;e++)this.tokVector.push(si)}onAfterParse(e){if(this.isAtEndOfInput()===!1){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new _r(t,e))}for(;this.tokVector.at(-1)===si;)this.tokVector.pop()}},qr=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,`errorMessageProvider`)?e.errorMessageProvider:B.errorMessageProvider}SAVE_ERROR(e){if(pr(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error(`Trying to save an Error which is not a RecognitionException`)}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,t,n){let r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],a=Ln(e,i,t,this.maxLookahead)[0],o=[];for(let e=1;e<=this.maxLookahead;e++)o.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:o,previous:this.LA(0),customUserDescription:n,ruleName:r});throw this.SAVE_ERROR(new vr(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let n=this.getCurrRuleFullName(),r=this.getGAstProductions()[n],i=In(e,r,this.maxLookahead),a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let o=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:i,actual:a,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new gr(s,this.LA(1),o))}},Jr={description:`This Object indicates the Parser is during Recording Phase`};Object.freeze(Jr);var Yr=!0,Xr=255,Zr=L({name:`RECORDING_PHASE_TOKEN`,pattern:I.NA});It([Zr]);var Qr=cn(Zr,`This IToken indicates the Parser is in Recording Phase
60
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Qr);var $r={name:`This CSTNode indicates the Parser is in Recording Phase
61
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},ei=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT(`Enable Recording`,()=>{for(let e=0;e<10;e++){let t=e>0?e:``;this[`CONSUME${t}`]=function(t,n){return this.consumeInternalRecord(t,e,n)},this[`SUBRULE${t}`]=function(t,n){return this.subruleInternalRecord(t,e,n)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,n){return this.consumeInternalRecord(t,e,n)},this.subrule=function(e,t,n){return this.subruleInternalRecord(t,e,n)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT(`Deleting Recording methods`,()=>{let e=this;for(let t=0;t<10;t++){let n=t>0?t:``;delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return si}topLevelRuleRecord(e,t){try{let n=new S({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),t.call(this),this.recordingProdStack.pop(),n}catch(e){if(e.KNOWN_RECORDER_ERROR!==!0)try{e.message+=`
62
- This error was thrown during the "grammar recording phase" For more info see:
63
- https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw e}throw e}}optionInternalRecord(e,t){return ti.call(this,w,e,t)}atLeastOneInternalRecord(e,t){ti.call(this,T,t,e)}atLeastOneSepFirstInternalRecord(e,t){ti.call(this,E,t,e,Yr)}manyInternalRecord(e,t){ti.call(this,D,t,e)}manySepFirstInternalRecord(e,t){ti.call(this,O,t,e,Yr)}orInternalRecord(e,t){return ni.call(this,e,t)}subruleInternalRecord(e,t,n){if(ii(t),!e||!Object.hasOwn(e,`ruleName`)){let n=Error(`<SUBRULE${ri(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}let r=this.recordingProdStack.at(-1),i=e.ruleName,a=new x({idx:t,nonTerminalName:i,label:n?.LABEL,referencedRule:void 0});return r.definition.push(a),this.outputCst?$r:Jr}consumeInternalRecord(e,t,n){if(ii(t),!Ht(e)){let n=Error(`<CONSUME${ri(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}let r=this.recordingProdStack.at(-1),i=new A({idx:t,terminalType:e,label:n?.LABEL});return r.definition.push(i),Qr}};function ti(e,t,n,r=!1){ii(n);let i=this.recordingProdStack.at(-1),a=typeof t==`function`?t:t.DEF,o=new e({definition:[],idx:n});return r&&(o.separator=t.SEP),Object.hasOwn(t,`MAX_LOOKAHEAD`)&&(o.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),Jr}function ni(e,t){ii(t);let n=this.recordingProdStack.at(-1),r=Array.isArray(e)===!1,i=r===!1?e:e.DEF,a=new k({definition:[],idx:t,ignoreAmbiguities:r&&e.IGNORE_AMBIGUITIES===!0});return Object.hasOwn(e,`MAX_LOOKAHEAD`)&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=i.some(e=>typeof e.GATE==`function`),n.definition.push(a),i.forEach(e=>{let t=new C({definition:[]});a.definition.push(t),Object.hasOwn(e,`IGNORE_AMBIGUITIES`)?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:Object.hasOwn(e,`GATE`)&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),Jr}function ri(e){return e===0?``:`${e}`}function ii(e){if(e<0||e>Xr){let t=Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than 256`);throw t.KNOWN_RECORDER_ERROR=!0,t}}var ai=class{initPerformanceTracer(e){if(Object.hasOwn(e,`traceInitPerf`)){let t=e.traceInitPerf,n=typeof t==`number`;this.traceInitMaxIdent=n?t:1/0,this.traceInitPerf=n?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=B.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=Array(this.traceInitIndent+1).join(` `);this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:r,value:i}=oe(t),a=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${e}> time: ${r}ms`),this.traceInitIndent--,i}return t()}};function oi(e,t){t.forEach(t=>{let n=t.prototype;Object.getOwnPropertyNames(n).forEach(r=>{if(r===`constructor`)return;let i=Object.getOwnPropertyDescriptor(n,r);i&&(i.get||i.set)?Object.defineProperty(e.prototype,r,i):e.prototype[r]=t.prototype[r]})})}var si=cn(R,``,-1,-1,-1,-1,-1,-1);Object.freeze(si);var B=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:un,nodeLocationTracking:`none`,traceInitPerf:!1,skipValidations:!1}),ci=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0}),V;(function(e){e[e.INVALID_RULE_NAME=0]=`INVALID_RULE_NAME`,e[e.DUPLICATE_RULE_NAME=1]=`DUPLICATE_RULE_NAME`,e[e.INVALID_RULE_OVERRIDE=2]=`INVALID_RULE_OVERRIDE`,e[e.DUPLICATE_PRODUCTIONS=3]=`DUPLICATE_PRODUCTIONS`,e[e.UNRESOLVED_SUBRULE_REF=4]=`UNRESOLVED_SUBRULE_REF`,e[e.LEFT_RECURSION=5]=`LEFT_RECURSION`,e[e.NONE_LAST_EMPTY_ALT=6]=`NONE_LAST_EMPTY_ALT`,e[e.AMBIGUOUS_ALTS=7]=`AMBIGUOUS_ALTS`,e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]=`CONFLICT_TOKENS_RULES_NAMESPACE`,e[e.INVALID_TOKEN_NAME=9]=`INVALID_TOKEN_NAME`,e[e.NO_NON_EMPTY_LOOKAHEAD=10]=`NO_NON_EMPTY_LOOKAHEAD`,e[e.AMBIGUOUS_PREFIX_ALTS=11]=`AMBIGUOUS_PREFIX_ALTS`,e[e.TOO_MANY_ALTS=12]=`TOO_MANY_ALTS`,e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]=`CUSTOM_LOOKAHEAD_VALIDATION`})(V||={});var li=class e{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT(`performSelfAnalysis`,()=>{let t;this.selfAnalysisDone=!0;let n=this.className;this.TRACE_INIT(`toFastProps`,()=>{se(this)}),this.TRACE_INIT(`Grammar Recording`,()=>{try{this.enableRecording(),this.definedRulesNames.forEach(e=>{let t=this[e].originalGrammarAction,n;this.TRACE_INIT(`${e} Rule`,()=>{n=this.topLevelRuleRecord(e,t)}),this.gastProductionsCache[e]=n})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT(`Grammar Resolving`,()=>{r=or({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT(`Grammar Validations`,()=>{if(r.length===0&&this.skipValidations===!1){let e=sr({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:fn,grammarName:n}),t=Vn({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(e,t)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT(`computeAllProdsFollows`,()=>{let e=we(Object.values(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT(`ComputeLookaheadFunctions`,()=>{var e,t;(t=(e=this.lookaheadStrategy).initialize)==null||t.call(e,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw t=this.definitionErrors.map(e=>e.message),Error(`Parser Definition Errors detected:\n ${t.join(`
64
- -------------------------------
65
- `)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(t),n.initLexerAdapter(),n.initLooksAhead(t),n.initRecognizerEngine(e,t),n.initRecoverable(t),n.initTreeBuilder(t),n.initGastRecorder(t),n.initPerformanceTracer(t),Object.hasOwn(t,`ignoredIssues`))throw Error(`The <ignoredIssues> IParserConfig property has been deprecated.
66
- Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
67
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
68
- For further details.`);this.skipValidations=Object.hasOwn(t,`skipValidations`)?t.skipValidations:B.skipValidations}};li.DEFER_DEFINITION_ERRORS_HANDLING=!1,oi(li,[Sr,Or,Ur,Wr,Kr,Gr,qr,ei,ai]);var ui=class extends li{constructor(e,t=B){let n=Object.assign({},t);n.outputCst=!0,super(e,n)}},di=t(e=>e!==void 0&&e>=0,`isKnownLocation`);function fi(e,t){let n=e.lexer.tokenize(t);if(n.errors.length>0){let r=n.errors[0],i=di(r.offset)?r.offset:t.length,a=i+(di(r.length)?r.length:0);throw Error(`Error lexing ${e.diagramType} diagram: ${r.message} at line ${r.line??1}, column ${r.column??1} [${i},${a})`)}e.parser.input=n.tokens;let r=e.entry();if(e.parser.errors.length>0)throw Error(`Error parsing ${e.diagramType} diagram: ${e.parser.errors[0].message}`);e.visit(r)}t(fi,`runChevrotainParse`);var H={SOLID_ARROW:0,BACK_ARROW:1,LINE_SOLID:2,CIRCLE_ARROW:3,CROSS_ARROW:4,CIRCLE_ARROW_REVERSED:5,CROSS_ARROW_REVERSED:6},pi=`LR`,mi=u.usecase,hi=t(()=>({actors:new Map,useCases:new Map,systemBoundaries:new Map,relationships:[],notes:new Map,jsonNodes:new Map,classDefs:new Map,symbols:new Map,direction:pi,relationshipCounter:0,noteCounter:0,accTitle:``,accDescription:``,ast:void 0,config:structuredClone(mi)}),`createModel`),gi=t(e=>{if(!(e.actors instanceof Map)||!(e.useCases instanceof Map)||!(e.systemBoundaries instanceof Map)||!Array.isArray(e.relationships)||!(e.notes instanceof Map)||!(e.jsonNodes instanceof Map)||!(e.classDefs instanceof Map)||!(e.symbols instanceof Map)||![`TB`,`TD`,`BT`,`RL`,`LR`].includes(e.direction)||!Number.isSafeInteger(e.relationshipCounter)||e.relationshipCounter<0||!Number.isSafeInteger(e.noteCounter)||e.noteCounter<0||typeof e.accTitle!=`string`||typeof e.accDescription!=`string`||!e.config)throw Error(`Cannot commit an incomplete usecase model`)},`assertCompleteModel`),U=hi(),_i=t(()=>structuredClone(U.config),`getConfig`),vi=t(()=>U.ast,`getAST`),yi=t(e=>{let t=structuredClone(e);gi(t);let n=f(),r=s();try{o(t.accTitle),a(t.accDescription),U=t}catch(e){throw o(n),a(r),e}},`commit`),bi=t(()=>{U=hi(),c()},`clear`),xi=t(()=>U.actors,`getActors`),Si=t(e=>U.actors.get(e),`getActor`),Ci=t(()=>U.useCases,`getUseCases`),wi=t(e=>U.useCases.get(e),`getUseCase`),Ti=t(()=>U.systemBoundaries,`getSystemBoundaries`),Ei=t(e=>U.systemBoundaries.get(e),`getSystemBoundary`),Di=t(()=>U.relationships,`getRelationships`),Oi=t(()=>U.notes,`getNotes`),ki=t(e=>U.notes.get(e),`getNote`),Ai=t(()=>U.jsonNodes,`getJsonNodes`),ji=t(e=>U.jsonNodes.get(e),`getJsonNode`),Mi=t(()=>U.classDefs,`getClassDefs`),Ni=t(e=>U.classDefs.get(e),`getClassDef`),Pi=t(()=>U.direction,`getDirection`),Fi=t(e=>{let t=new Map;for(let n of[`default`,...e]){let e=U.classDefs.get(n);if(e)for(let n of e.styles){let e=n.trim(),r=e.indexOf(`:`),i=(r===-1?e:e.slice(0,r)).trim();i&&t.set(i,e)}}return[...t.values()]},`getCompiledStyles`),Ii=t(e=>e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`),`escapeJsonPointerPart`),Li=t(e=>typeof e==`string`?e:e===null?`null`:String(e),`displayJsonScalar`),Ri=t((e,n,r=e=>e)=>{let i=[],a=t((e,t,n)=>{i.push({key:r(e),accessibleKey:r(t),value:r(n)})},`append`),o=t((e,t,r)=>{if(Array.isArray(e)){if(e.length===0){a(t,t,`[]`);return}if(e.every(e=>e===null||[`string`,`number`,`boolean`].includes(typeof e))){for(let[n,r]of e.entries())a(n===0?t:``,t,Li(r));return}for(let[n,i]of e.entries())o(i,`${t}[${n}]`,`${r}/${n}`)}else if(typeof e==`object`&&e){let i=e,s=n[r]??Object.keys(i);if(s.length===0){a(t,t,`{}`);return}for(let e of s){let n=t?`${t}.${e}`:e;o(i[e],n,`${r}/${Ii(e)}`)}}else a(t,t,Li(e))},`visit`);return o(e,``,``),i},`flattenJsonRows`),zi=t(e=>{switch(e.type){case`hollow`:return`usecaseActorHollow`;case`awesome`:return`usecaseActorAwesome`;case`icon`:return`usecaseActorIcon`;case`normal`:return`usecaseActor`}},`actorShape`),Bi=t(e=>e.shape===`ellipse`?e.business?`usecaseBusiness`:`usecaseEllipse`:e.shape,`useCaseShape`),Vi=t(e=>{switch(e){case H.SOLID_ARROW:return{arrowTypeStart:`none`,arrowTypeEnd:`arrow_point`};case H.BACK_ARROW:return{arrowTypeStart:`arrow_point`,arrowTypeEnd:`none`};case H.CIRCLE_ARROW:return{arrowTypeStart:`none`,arrowTypeEnd:`arrow_circle`};case H.CROSS_ARROW:return{arrowTypeStart:`none`,arrowTypeEnd:`arrow_cross`};case H.CIRCLE_ARROW_REVERSED:return{arrowTypeStart:`arrow_circle`,arrowTypeEnd:`none`};case H.CROSS_ARROW_REVERSED:return{arrowTypeStart:`arrow_cross`,arrowTypeEnd:`none`};case H.LINE_SOLID:return{arrowTypeStart:`none`,arrowTypeEnd:`none`}}},`associationMarkers`),Hi=t(e=>{switch(e.type){case`include`:case`extend`:return{arrowTypeStart:`none`,arrowTypeEnd:`arrow_point`,pattern:`dotted`,label:e.type,labelType:`text`};case`generalization`:return{arrowTypeStart:`none`,arrowTypeEnd:`extension`,pattern:`solid`};case`association`:return{...Vi(e.arrowType),pattern:`solid`,...e.label?{label:e.label}:{},...e.labelType?{labelType:e.labelType}:{}}}},`relationshipVisuals`),Ui=t(e=>e.animate||e.animation?[`edge-animation-${e.animation??`fast`}`]:[],`animationClasses`),Wi=t((...e)=>e.filter(e=>!!e).join(` `),`classNames`),Gi={getConfig:_i,createModel:hi,commit:yi,getAST:vi,clear:bi,setDiagramTitle:d,getDiagramTitle:i,setAccTitle:o,getAccTitle:f,setAccDescription:a,getAccDescription:s,getActors:xi,getActor:Si,getUseCases:Ci,getUseCase:wi,getSystemBoundaries:Ti,getSystemBoundary:Ei,getRelationships:Di,getNotes:Oi,getNote:ki,getJsonNodes:Ai,getJsonNode:ji,getClassDefs:Mi,getClassDef:Ni,getDirection:Pi,getData:t(()=>{let e=l(),n={...U.config,...e.usecase},r=t(t=>m(t,e),`sanitize`),i=t(e=>r(U.actors.get(e)?.label??U.useCases.get(e)?.label??U.jsonNodes.get(e)?.id??U.notes.get(e)?.label??e),`endpointLabel`),a=[],o=[],s=0,c=0;for(let t of U.actors.values())a.push({id:t.id,label:r(t.label),labelType:t.labelType,shape:zi(t),isGroup:!1,padding:10,look:e.look,colorIndex:s++,cssClasses:Wi(`default`,`usecase-actor`,`usecase-actor-${t.type}`,t.business&&`usecase-business`,...t.classes),cssStyles:[...t.styles],cssCompiledStyles:Fi(t.classes),actorType:t.type,business:t.business,...t.icon?{icon:t.icon}:{},...t.stereotype?{stereotype:r(t.stereotype)}:{},...t.parentId?{parentId:t.parentId}:{}});for(let t of U.useCases.values())a.push({id:t.id,label:r(t.label),labelType:t.labelType,shape:Bi(t),isGroup:!1,padding:t.shape===`ellipse`?20:10,look:e.look,colorIndex:s++,cssClasses:Wi(`default`,`usecase-element`,`usecase-${t.shape}`,t.business&&`usecase-business`,...t.classes),cssStyles:[...t.styles],cssCompiledStyles:Fi(t.classes),business:t.business,...t.stereotype?{stereotype:r(t.stereotype)}:{},...t.parentId?{parentId:t.parentId}:{}});for(let t of U.notes.values())a.push({id:t.id,label:r(t.label),labelType:t.labelType,shape:`note`,isGroup:!1,padding:10,look:e.look,cssClasses:`default usecase-note`,cssStyles:[],cssCompiledStyles:Fi([]),noteTarget:t.target,noteTargetLabel:r(U.actors.get(t.target)?.label??U.useCases.get(t.target)?.label??U.jsonNodes.get(t.target)?.id??t.target)});for(let t of U.jsonNodes.values())a.push({id:t.id,label:r(t.id),labelType:`text`,shape:`usecaseJsonTable`,isGroup:!1,padding:10,look:e.look,cssClasses:Wi(`default`,`usecase-json-table`,...t.classes),cssStyles:[...t.styles],cssCompiledStyles:Fi(t.classes),jsonRows:Ri(t.value,t.propertyOrder,r)});for(let t of U.systemBoundaries.values())a.push({id:t.id,label:r(t.label),labelType:t.labelType,shape:`usecaseSystemBoundary`,isGroup:!0,padding:20,look:e.look,colorIndex:c++,cssClasses:Wi(`default`,`system-boundary`,`system-boundary-${t.type}`,...t.classes),cssStyles:[...t.styles],cssCompiledStyles:Fi(t.classes),boundaryType:t.type});for(let t of U.relationships){let{label:n,...a}=Hi(t);o.push({id:t.id,start:t.source,end:t.target,source:t.source,target:t.target,sourceLabel:i(t.source),targetLabel:i(t.target),type:`edge`,relationshipType:t.type,internal:!1,...a,...n===void 0?{}:{label:r(n)},labelpos:`c`,classes:Wi(`default`,`relationship`,`relationship-${t.type}`,...t.classes,...Ui(t)),style:[...t.styles],cssCompiledStyles:Fi(t.classes),animate:t.animate,...t.animation?{animation:t.animation}:{},look:e.look,thickness:`normal`,minlen:t.minlen,isUserDefinedId:t.explicitId})}for(let t of U.notes.values())o.push({id:`${t.id}-edge`,start:t.id,end:t.target,source:t.id,target:t.target,type:`edge`,relationshipType:`note`,sourceLabel:i(t.id),targetLabel:i(t.target),internal:!0,pattern:`dotted`,arrowTypeStart:`none`,arrowTypeEnd:`none`,labelpos:`c`,classes:`default relationship relationship-note`,style:[],cssCompiledStyles:Fi([]),animate:!1,look:e.look,thickness:`normal`,minlen:1,isUserDefinedId:!1});for(let e of a)e.wrappingWidth??=n.wrappingWidth,!e.isGroup&&!e.shape.startsWith(`usecaseActor`)&&(e.minWidth??=n.minNodeWidth),(e.shape===`usecaseEllipse`||e.shape===`usecaseBusiness`)&&(e.spreadPorts=!0);return{nodes:a,edges:o,config:e,type:`usecase`,layoutAlgorithm:`dagre`,direction:Pi(),nodeSpacing:n.nodeSpacing,rankSpacing:n.rankSpacing,actorFontSize:n.actorFontSize,actorFontFamily:n.actorFontFamily,actorFontWeight:n.actorFontWeight,usecaseFontSize:n.usecaseFontSize,usecaseFontFamily:n.usecaseFontFamily,usecaseFontWeight:n.usecaseFontWeight,diagramPadding:n.diagramPadding,useMaxWidth:n.useMaxWidth,markers:[`point`,`circle`,`cross`,`extension`]}},`getData`)};function Ki(e,t,n){let r=[n];return r.index=t,r.input=e,r}t(Ki,`customMatch`);var qi=t((e,t)=>{if(e[t]!==`"`||e[t+1]!=="`")return null;for(let n=t+2;n<e.length-1;n++)if(e[n]==="`"&&e[n+1]===`"`)return Ki(e,t,e.slice(t,n+2));return null},`matchMarkdownString`),Ji=t((e,t)=>{if(e[t]!==`%`||e[t+1]!==`%`)return null;for(let n=t-1;n>=0;n--){let t=e[n];if(t===`
69
- `||t===`\r`)break;if(t!==` `&&t!==` `)return null}let n=t+2;for(;n<e.length&&e[n]!==`
70
- `&&e[n]!==`\r`;)n++;return Ki(e,t,e.slice(t,n))},`matchComment`),Yi=t((e,t)=>{for(let n=t-1;n>=0;n--){let t=e[n];if(t===`
71
- `||t===`\r`)return!0;if(t!==` `&&t!==` `)return!1}return!0},`isIndentedLineStart`),Xi=t((e,t,n)=>{if(!Yi(e,t))return null;let r=n.exec(e.slice(t));return r?Ki(e,t,r[0]):null},`matchAccessibilityLine`),Zi=t((e,t)=>{if(!Yi(e,t))return null;let n=/^accDescr[\t ]*{/.exec(e.slice(t));if(!n)return null;let r=e.indexOf(`}`,t+n[0].length);return r===-1?null:Ki(e,t,e.slice(t,r+1))},`matchAccDescrBlock`),Qi=t((e,t)=>{if(e[t]!==`{`)return null;let n=0,r=!1,i=!1;for(let a=t;a<e.length;a++){let o=e[a];if(r)i?i=!1:o===`\\`?i=!0:o===`"`&&(r=!1);else if(o===`"`)r=!0;else if(o===`{`)n++;else if(o===`}`&&--n===0)return Ki(e,t,e.slice(t,a+1))}return null},`matchJsonObject`),$i=t((e,t)=>{let n=e.indexOf(`>>`,t);if(n===-1||/[\n\r]/.test(e.slice(t,n)))return null;let r=e.slice(t,n);return r.trim()?Ki(e,t,r):null},`matchStereotypeText`),W=L({name:`LABEL_TEXT`,pattern:I.NA}),ea=L({name:`WORD`,pattern:I.NA,categories:W}),ta=L({name:`NUMBER`,pattern:/(?:\d+\.\d+|\d+|\.\d+)(?:[A-Za-z]+)?/,categories:W}),G=L({name:`IDENTIFIER`,pattern:/\w+/,longer_alt:ta,categories:ea}),na=L({name:`HWS`,pattern:/[\t ]+/,group:I.SKIPPED}),K=L({name:`MARKDOWN_STRING`,pattern:qi,start_chars_hint:[`"`],line_breaks:!0}),ra=L({name:`UNCLOSED_MARKDOWN_STRING`,pattern:/"`[^]*/,line_breaks:!0}),ia=L({name:`COMMENT`,pattern:Ji,start_chars_hint:[`%`],line_breaks:!1}),q=L({name:`NEWLINE`,pattern:/\r\n|\n|\r/,line_breaks:!0}),aa=L({name:`ACC_DESCR_BLOCK`,pattern:Zi,start_chars_hint:[`a`],line_breaks:!0}),oa=/^accTitle[\t ]*:[^\n\r]*/,sa=/^accDescr[\t ]*:[^\n\r]*/,ca=L({name:`ACC_TITLE_LINE`,pattern:t((e,t)=>Xi(e,t,oa),`pattern`),start_chars_hint:[`a`],line_breaks:!1}),la=L({name:`ACC_DESCR_LINE`,pattern:t((e,t)=>Xi(e,t,sa),`pattern`),start_chars_hint:[`a`],line_breaks:!1}),ua=L({name:`JSON_DECLARATION_START`,pattern:/json[\t ]+\w+[\t ]*@[\t ]*(?={)/,push_mode:`jsonBody`}),da=L({name:`JSON_OBJECT_LITERAL`,pattern:Qi,start_chars_hint:[`{`],line_breaks:!0,pop_mode:!0}),fa=L({name:`UNCLOSED_JSON_OBJECT_LITERAL`,pattern:/{[^]*/,line_breaks:!0,pop_mode:!0}),J=t((e,t)=>L({name:e,pattern:t,longer_alt:G,categories:ea}),`keyword`),pa=J(`USECASE`,/usecase-beta/),ma=J(`ACTOR`,/actor/),ha=J(`SYSTEM_BOUNDARY`,/systemBoundary/),ga=J(`END`,/end/),_a=J(`DIRECTION`,/direction/),va=J(`TD`,/TD/),ya=J(`TB`,/TB/),ba=J(`BT`,/BT/),xa=J(`LR`,/LR/),Sa=J(`RL`,/RL/),Ca=J(`NOTE`,/note/),wa=J(`FOR`,/for/),Ta=J(`JSON`,/json/),Ea=J(`CLASS_DEF`,/classDef/),Da=J(`CLASS`,/class/),Oa=J(`STYLE`,/style/),ka=J(`INCLUDE`,/include/i),Aa=J(`EXTEND`,/extend/i),ja=J(`TRUE`,/true/),Ma=J(`FALSE`,/false/),Na=L({name:`GENERALIZATION`,pattern:/--\|>/}),Pa=L({name:`DEPENDENCY_ARROW`,pattern:/\.\.>/}),Fa=L({name:`STEREOTYPE_START`,pattern:/<</,push_mode:`stereotype`}),Ia=L({name:`STEREOTYPE_END`,pattern:/>>/,pop_mode:!0}),La=L({name:`STEREOTYPE_TEXT`,pattern:$i,line_breaks:!1}),Ra=L({name:`UNCLOSED_STEREOTYPE_TEXT`,pattern:/[^\n\r]+/,line_breaks:!1,pop_mode:!0}),za=L({name:`CLASS_SEPARATOR`,pattern:/:::/}),Ba=L({name:`FORWARD_SOLID`,pattern:/--+>/}),Va=L({name:`BACKWARD_SOLID`,pattern:/<--+/}),Ha=L({name:`FORWARD_CIRCLE`,pattern:/--o/}),Ua=L({name:`BACKWARD_CIRCLE`,pattern:/o--/}),Wa=L({name:`FORWARD_CROSS`,pattern:/--x/}),Ga=L({name:`BACKWARD_CROSS`,pattern:/x--/}),Y=L({name:`MARKERLESS_SOLID`,pattern:/--+/}),Ka=L({name:`METADATA_START`,pattern:/@{/}),qa=L({name:`AT`,pattern:/@/,categories:W}),Ja=L({name:`LBRACE`,pattern:/{/}),Ya=L({name:`RBRACE`,pattern:/}/}),Xa=L({name:`LBRACKET`,pattern:/\[/}),Za=L({name:`RBRACKET`,pattern:/]/}),Qa=L({name:`LPAREN`,pattern:/\(/}),$a=L({name:`RPAREN`,pattern:/\)/}),X=L({name:`COMMA`,pattern:/,/,categories:W}),eo=L({name:`COLON`,pattern:/:/,categories:W}),to=L({name:`HASH_COLOR`,pattern:/#[\dA-Fa-f]+/,categories:W}),Z=L({name:`PLAIN_STRING`,pattern:/"[^\n\r"]*"|'[^\n\r']*'/}),no=L({name:`CSS_IDENTIFIER`,pattern:/--[A-Z_a-z][\w-]*|[A-Z_a-z]\w*(?:-\w+)+/,categories:W}),ro=L({name:`CSS_ESCAPED_COMMA`,pattern:/\\,/,categories:W}),io=L({name:`DASH`,pattern:/-/,categories:W}),ao=L({name:`DOT`,pattern:/\./,categories:W}),oo=L({name:`PERCENT`,pattern:/%/,categories:W}),so=L({name:`CSS_PUNCTUATION`,pattern:/[!#$&*+/=?^_|~]/,categories:W}),co=[W,ea,na,K,ra,ia,q,aa,ca,la,ua,pa,ma,ha,ga,_a,va,ya,ba,xa,Sa,Ca,wa,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na,Pa,Fa,za,Ba,Va,Ha,Ua,Wa,Ga,Y,Ka,qa,Ja,Ya,Xa,Za,Qa,$a,X,eo,to,Z,no,G,ta,ro,io,ao,oo,so,L({name:`LABEL_PUNCTUATION`,pattern:/[;<>\\`]/,categories:W}),L({name:`LABEL_SYMBOL`,pattern:/[^\t\n\r !-~]+/,categories:W})],lo={defaultMode:`defaultMode`,modes:{defaultMode:[...co],jsonBody:[da,fa],stereotype:[Ia,La,Ra]}},uo=[...co,da,fa,Ia,La,Ra],fo=new I(lo),po=t(e=>ln(e,W)||e.tokenType===Z||e.tokenType===K,`isLabelToken`),mo={allowmixing:!0,newpage:!0,package:!0,rectangle:!0,skinparam:!0},ho=new class extends ui{static{t(this,`UsecaseParser`)}constructor(){super(uo,{nodeLocationTracking:`full`}),this.RULE(`start`,()=>{this.CONSUME(pa),this.SUBRULE(this.lineEnd),this.MANY(()=>this.SUBRULE(this.line))}),this.RULE(`line`,()=>{this.OR([{ALT:t(()=>this.SUBRULE(this.blankLine),`ALT`)},{ALT:t(()=>this.SUBRULE(this.commentLine),`ALT`)},{GATE:t(()=>this.isStatementStart(),`GATE`),ALT:t(()=>this.SUBRULE(this.statement),`ALT`)}])}),this.RULE(`statement`,()=>{this.OR([{ALT:t(()=>this.SUBRULE(this.accTitleStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.accDescrStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.directionStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.actorStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.systemBoundaryStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.noteStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.jsonStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.classDefStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.classStatement),`ALT`)},{ALT:t(()=>this.SUBRULE(this.styleStatement),`ALT`)},{GATE:t(()=>this.isMetadataAssignment(),`GATE`),ALT:t(()=>this.SUBRULE(this.metadataAssignmentStatement),`ALT`)},{GATE:t(()=>!this.isForbiddenPlantUmlStatement(),`GATE`),ALT:t(()=>this.SUBRULE(this.entityStatement),`ALT`)}])}),this.RULE(`lineEnd`,()=>{this.OR([{ALT:t(()=>this.CONSUME(q),`ALT`)},{ALT:t(()=>this.CONSUME(R),`ALT`)}])}),this.RULE(`blankLine`,()=>{this.CONSUME(q)}),this.RULE(`commentLine`,()=>{this.CONSUME(ia),this.SUBRULE(this.lineEnd)}),this.RULE(`accTitleStatement`,()=>{this.CONSUME(ca),this.SUBRULE(this.lineEnd)}),this.RULE(`accDescrStatement`,()=>{this.OR([{ALT:t(()=>this.CONSUME(la),`ALT`)},{ALT:t(()=>this.CONSUME(aa),`ALT`)}]),this.SUBRULE(this.lineEnd)}),this.RULE(`actorStatement`,()=>{this.CONSUME(ma),this.SUBRULE(this.actorItem),this.OPTION(()=>{this.OR([{ALT:t(()=>this.AT_LEAST_ONE(()=>{this.CONSUME(X),this.SUBRULE2(this.actorItem)}),`ALT`)},{ALT:t(()=>this.SUBRULE(this.relationTail),`ALT`)}])}),this.SUBRULE(this.lineEnd)}),this.RULE(`actorItem`,()=>{this.SUBRULE(this.actorName),this.OPTION(()=>this.SUBRULE(this.metadata)),this.OPTION2(()=>this.SUBRULE(this.stereotype)),this.OPTION3(()=>this.SUBRULE(this.classSuffix))}),this.RULE(`actorName`,()=>{this.OR([{ALT:t(()=>{this.CONSUME(G),this.OPTION(()=>{this.CONSUME(Qa),this.SUBRULE(this.nodeLabel),this.CONSUME($a)})},`ALT`)},{ALT:t(()=>this.CONSUME(Z),`ALT`)},{ALT:t(()=>this.CONSUME(K),`ALT`)}])}),this.RULE(`actorDeclarationOnly`,()=>{this.CONSUME(ma),this.SUBRULE(this.actorItem),this.MANY(()=>{this.CONSUME(X),this.SUBRULE2(this.actorItem)}),this.SUBRULE(this.lineEnd)}),this.RULE(`entityStatement`,()=>{this.SUBRULE(this.entityName),this.OPTION(()=>this.SUBRULE(this.relationTail)),this.SUBRULE(this.lineEnd)}),this.RULE(`entityName`,()=>{this.OR([{ALT:t(()=>{this.CONSUME(G),this.OPTION(()=>{this.OR2([{ALT:t(()=>{this.CONSUME(Qa),this.SUBRULE(this.nodeLabel),this.CONSUME($a)},`ALT`)},{ALT:t(()=>{this.CONSUME(Xa),this.SUBRULE2(this.nodeLabel),this.CONSUME(Za)},`ALT`)}])})},`ALT`)},{ALT:t(()=>this.CONSUME(Z),`ALT`)},{ALT:t(()=>this.CONSUME(K),`ALT`)}]),this.OPTION2(()=>this.SUBRULE(this.useCaseMetadata)),this.OPTION3(()=>this.SUBRULE(this.stereotype)),this.OPTION4(()=>this.SUBRULE(this.classSuffix))}),this.RULE(`nodeLabel`,()=>{this.OR([{ALT:t(()=>this.CONSUME(Z),`ALT`)},{ALT:t(()=>this.CONSUME(K),`ALT`)},{ALT:t(()=>this.AT_LEAST_ONE(()=>this.CONSUME(W)),`ALT`)}])}),this.RULE(`useCaseMetadata`,()=>{this.SUBRULE(this.metadata)}),this.RULE(`relationTail`,()=>{this.OPTION({GATE:t(()=>this.LA(1).tokenType===G&&this.LA(2).tokenType===qa,`GATE`),DEF:t(()=>{this.CONSUME(G),this.CONSUME(qa)},`DEF`)}),this.SUBRULE(this.arrow),this.SUBRULE(this.entityName)}),this.RULE(`arrow`,()=>{this.OR([{ALT:t(()=>this.SUBRULE(this.semanticRelation),`ALT`)},{ALT:t(()=>this.SUBRULE(this.forwardSolidOperator),`ALT`)},{ALT:t(()=>this.SUBRULE(this.backwardSolidOperator),`ALT`)},{ALT:t(()=>this.SUBRULE(this.markerlessSolidOperator),`ALT`)},{ALT:t(()=>this.SUBRULE(this.forwardCircleOperator),`ALT`)},{ALT:t(()=>this.SUBRULE(this.backwardCircleOperator),`ALT`)},{ALT:t(()=>this.SUBRULE(this.forwardCrossOperator),`ALT`)},{ALT:t(()=>this.SUBRULE(this.backwardCrossOperator),`ALT`)}])}),this.RULE(`forwardSolidOperator`,()=>{this.CONSUME(Ba)}),this.RULE(`backwardSolidOperator`,()=>{this.CONSUME(Va),this.OPTION({GATE:t(()=>this.LA(0).image===`<--`&&this.hasLabeledRight([Y]),`GATE`),DEF:t(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(Y)},`DEF`)})}),this.RULE(`markerlessSolidOperator`,()=>{this.CONSUME(Y),this.OPTION({GATE:t(()=>this.LA(0).image===`--`&&this.hasLabeledRight([Ba,Y,Ha,Wa]),`GATE`),DEF:t(()=>{this.SUBRULE(this.edgeLabel),this.OR([{ALT:t(()=>this.CONSUME(Ba),`ALT`)},{ALT:t(()=>this.CONSUME2(Y),`ALT`)},{ALT:t(()=>this.CONSUME(Ha),`ALT`)},{ALT:t(()=>this.CONSUME(Wa),`ALT`)}])},`DEF`)})}),this.RULE(`forwardCircleOperator`,()=>{this.CONSUME(Ha)}),this.RULE(`backwardCircleOperator`,()=>{this.CONSUME(Ua),this.OPTION({GATE:t(()=>this.hasLabeledRight([Y]),`GATE`),DEF:t(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(Y)},`DEF`)})}),this.RULE(`forwardCrossOperator`,()=>{this.CONSUME(Wa)}),this.RULE(`backwardCrossOperator`,()=>{this.CONSUME(Ga),this.OPTION({GATE:t(()=>this.hasLabeledRight([Y]),`GATE`),DEF:t(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(Y)},`DEF`)})}),this.RULE(`edgeLabel`,()=>{this.OR([{ALT:t(()=>this.CONSUME(Z),`ALT`)},{ALT:t(()=>this.CONSUME(K),`ALT`)},{ALT:t(()=>this.AT_LEAST_ONE(()=>this.CONSUME(W)),`ALT`)}])}),this.RULE(`semanticRelation`,()=>{this.OR([{ALT:t(()=>{this.CONSUME(Pa),this.CONSUME(eo),this.OR2([{ALT:t(()=>this.CONSUME(ka),`ALT`)},{ALT:t(()=>this.CONSUME(Aa),`ALT`)}])},`ALT`)},{ALT:t(()=>this.CONSUME(Na),`ALT`)}])}),this.RULE(`metadata`,()=>{this.CONSUME(Ka),this.MANY(()=>this.CONSUME(q)),this.OPTION(()=>{this.SUBRULE(this.metadataProperty),this.MANY2(()=>{this.SUBRULE(this.metadataSeparator),this.SUBRULE2(this.metadataProperty)}),this.OPTION2(()=>this.CONSUME(X)),this.MANY3(()=>this.CONSUME2(q))}),this.CONSUME(Ya)}),this.RULE(`metadataProperty`,()=>{this.OR([{ALT:t(()=>this.CONSUME(G),`ALT`)},{ALT:t(()=>this.CONSUME(Z),`ALT`)}]),this.CONSUME(eo),this.OR2([{ALT:t(()=>this.CONSUME2(G),`ALT`)},{ALT:t(()=>this.CONSUME2(Z),`ALT`)},{ALT:t(()=>this.CONSUME(ja),`ALT`)},{ALT:t(()=>this.CONSUME(Ma),`ALT`)}])}),this.RULE(`metadataSeparator`,()=>{this.OR([{ALT:t(()=>{this.CONSUME(X),this.MANY(()=>this.CONSUME(q))},`ALT`)},{ALT:t(()=>{this.AT_LEAST_ONE(()=>this.CONSUME2(q)),this.OPTION(()=>this.CONSUME2(X)),this.MANY2(()=>this.CONSUME3(q))},`ALT`)}])}),this.RULE(`systemBoundaryStatement`,()=>{this.CONSUME(ha),this.SUBRULE(this.systemBoundaryName),this.OPTION(()=>this.SUBRULE(this.metadata)),this.OPTION2(()=>this.SUBRULE(this.classSuffix)),this.SUBRULE(this.lineEnd),this.SUBRULE(this.systemBoundaryContent),this.CONSUME(ga),this.SUBRULE2(this.lineEnd)}),this.RULE(`systemBoundaryName`,()=>{this.OR([{ALT:t(()=>{this.CONSUME(G),this.OPTION(()=>{this.OR2([{ALT:t(()=>{this.CONSUME(Qa),this.SUBRULE(this.nodeLabel),this.CONSUME($a)},`ALT`)},{ALT:t(()=>{this.CONSUME(Xa),this.SUBRULE2(this.nodeLabel),this.CONSUME(Za)},`ALT`)}])})},`ALT`)},{ALT:t(()=>this.CONSUME(Z),`ALT`)},{ALT:t(()=>this.CONSUME(K),`ALT`)}])}),this.RULE(`systemBoundaryContent`,()=>{this.MANY(()=>{this.OR([{ALT:t(()=>this.SUBRULE(this.blankLine),`ALT`)},{ALT:t(()=>this.SUBRULE(this.commentLine),`ALT`)},{ALT:t(()=>this.SUBRULE(this.boundaryElement),`ALT`)}])})}),this.RULE(`boundaryElement`,()=>{this.OR([{ALT:t(()=>this.SUBRULE(this.actorDeclarationOnly),`ALT`)},{ALT:t(()=>{this.SUBRULE(this.entityName),this.SUBRULE(this.lineEnd)},`ALT`)}])}),this.RULE(`metadataAssignmentStatement`,()=>{this.SUBRULE(this.metadataAssignmentTarget),this.SUBRULE(this.metadata),this.SUBRULE(this.lineEnd)}),this.RULE(`metadataAssignmentTarget`,()=>{this.OR([{ALT:t(()=>this.CONSUME(G),`ALT`)},{ALT:t(()=>this.CONSUME(Z),`ALT`)},{ALT:t(()=>this.CONSUME(K),`ALT`)}])}),this.RULE(`noteStatement`,()=>{this.CONSUME(Ca),this.CONSUME(wa),this.CONSUME(G),this.SUBRULE(this.nodeLabel),this.SUBRULE(this.lineEnd)}),this.RULE(`stereotype`,()=>{this.CONSUME(Fa),this.CONSUME(La),this.CONSUME(Ia)}),this.RULE(`classSuffix`,()=>{this.CONSUME(za),this.CONSUME(G),this.MANY(()=>{this.CONSUME(X),this.CONSUME2(G)})}),this.RULE(`jsonStatement`,()=>{this.CONSUME(ua),this.CONSUME(da),this.OPTION(()=>this.SUBRULE(this.classSuffix)),this.SUBRULE(this.lineEnd)}),this.RULE(`directionStatement`,()=>{this.CONSUME(_a),this.OR([{ALT:t(()=>this.CONSUME(va),`ALT`)},{ALT:t(()=>this.CONSUME(ya),`ALT`)},{ALT:t(()=>this.CONSUME(ba),`ALT`)},{ALT:t(()=>this.CONSUME(xa),`ALT`)},{ALT:t(()=>this.CONSUME(Sa),`ALT`)}]),this.SUBRULE(this.lineEnd)}),this.RULE(`classDefStatement`,()=>{this.CONSUME(Ea),this.CONSUME(G),this.MANY(()=>{this.CONSUME(X),this.CONSUME2(G)}),this.SUBRULE(this.styles),this.SUBRULE(this.lineEnd)}),this.RULE(`classStatement`,()=>{this.CONSUME(Da),this.CONSUME(G),this.MANY(()=>{this.CONSUME(X),this.CONSUME2(G)}),this.CONSUME3(G),this.MANY2(()=>{this.CONSUME2(X),this.CONSUME4(G)}),this.SUBRULE(this.lineEnd)}),this.RULE(`styleStatement`,()=>{this.CONSUME(Oa),this.CONSUME(G),this.SUBRULE(this.styles),this.SUBRULE(this.lineEnd)}),this.RULE(`styles`,()=>{this.SUBRULE(this.styleValue),this.MANY(()=>{this.CONSUME(X),this.SUBRULE2(this.styleValue)})}),this.RULE(`styleValue`,()=>{this.OR([{ALT:t(()=>this.CONSUME(ea),`ALT`)},{ALT:t(()=>this.CONSUME(no),`ALT`)},{ALT:t(()=>{this.CONSUME(Y),this.CONSUME2(ea)},`ALT`)}]),this.CONSUME(eo),this.AT_LEAST_ONE(()=>this.SUBRULE(this.styleComponent))}),this.RULE(`styleComponent`,()=>{this.OR([{ALT:t(()=>this.CONSUME(ea),`ALT`)},{ALT:t(()=>this.CONSUME(Z),`ALT`)},{ALT:t(()=>this.CONSUME(ta),`ALT`)},{ALT:t(()=>this.CONSUME(to),`ALT`)},{ALT:t(()=>this.CONSUME(no),`ALT`)},{ALT:t(()=>this.CONSUME(ro),`ALT`)},{ALT:t(()=>this.CONSUME(io),`ALT`)},{ALT:t(()=>this.CONSUME(ao),`ALT`)},{ALT:t(()=>this.CONSUME(oo),`ALT`)},{ALT:t(()=>this.CONSUME(so),`ALT`)},{ALT:t(()=>this.CONSUME(eo),`ALT`)},{ALT:t(()=>this.CONSUME(Qa),`ALT`)},{ALT:t(()=>this.CONSUME($a),`ALT`)},{ALT:t(()=>this.CONSUME(Xa),`ALT`)},{ALT:t(()=>this.CONSUME(Za),`ALT`)},{ALT:t(()=>this.CONSUME(Ja),`ALT`)},{ALT:t(()=>this.CONSUME(Ya),`ALT`)},{ALT:t(()=>this.CONSUME(qa),`ALT`)},{ALT:t(()=>this.CONSUME(Y),`ALT`)}])}),this.performSelfAnalysis()}isMetadataAssignment(){let e=this.LA(1).tokenType;return(e===G||e===Z||e===K)&&this.LA(2).tokenType===Ka}isStatementStart(){let e=this.LA(1).tokenType;return e!==R&&e!==q&&e!==ia}isForbiddenPlantUmlStatement(){return this.LA(1).tokenType===G&&mo[this.LA(1).image.toLowerCase()]===!0}hasLabeledRight(e){if(!po(this.LA(1)))return!1;for(let t=2;;t++){let n=this.LA(t);if(e.includes(n.tokenType))return!0;if(!po(n))return!1}}},go=class extends Error{constructor(e,t,n){super(`${e} (line ${t}, column ${n})`),this.line=t,this.column=n,this.name=`UsecaseJsonError`}static{t(this,`UsecaseJsonError`)}},_o=t((e,t,n,r)=>{let i=n,a=r,o=Math.min(Math.max(t,0),e.length);for(let t=0;t<o;t++){let n=e[t];n===`\r`?(i++,a=1):n===`
72
- `?(t===0||e[t-1]!==`\r`)&&(i++,a=1):a++}return{line:i,column:a}},`locationAtOffset`),vo=t((e,t,n,r)=>{let i=/\bposition (\d+)\b/u.exec(e);if(i)return _o(t,Number.parseInt(i[1],10),n,r);let a=/\bline (\d+) column (\d+)\b/u.exec(e);if(a){let e=Number.parseInt(a[1],10),t=Number.parseInt(a[2],10);return{line:n+e-1,column:e===1?r+t-1:t}}if(/unexpected end|end of json input/iu.test(e))return _o(t,t.length,n,r)},`locationFromErrorMessage`),Q=class extends Error{constructor(e){super(`Invalid JSON token`),this.offset=e}static{t(this,`JsonWalkError`)}},yo=class{constructor(e){this.text=e,this.offset=0,this.propertyOrder={}}static{t(this,`PropertyOrderCollector`)}collect(){if(this.skipWhitespace(),this.collectValue(``),this.skipWhitespace(),this.offset!==this.text.length)throw new Q(this.offset);return this.propertyOrder}collectValue(e){this.skipWhitespace();let t=this.text[this.offset];if(t===`{`)this.collectObject(e);else if(t===`[`)this.collectArray(e);else if(t===`"`)this.readString(!1);else if(t===`t`)this.consumeLiteral(`true`);else if(t===`f`)this.consumeLiteral(`false`);else if(t===`n`)this.consumeLiteral(`null`);else if(t===`-`||t>=`0`&&t<=`9`)this.consumeNumber();else throw new Q(this.offset)}collectObject(e){this.offset++;let t=[],n=new Set;if(this.propertyOrder[e]=t,this.skipWhitespace(),this.text[this.offset]===`}`)this.offset++;else{for(;this.offset<this.text.length;){if(this.text[this.offset]!==`"`)throw new Q(this.offset);let r=this.readString(!0),i=`${e}/${r.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}`;if(n.has(r)?this.deletePointerSubtree(i):(n.add(r),t.push(r)),this.skipWhitespace(),this.text[this.offset]!==`:`)throw new Q(this.offset);if(this.offset++,this.collectValue(i),this.skipWhitespace(),this.text[this.offset]===`}`){this.offset++;return}if(this.text[this.offset]!==`,`)throw new Q(this.offset);this.offset++,this.skipWhitespace()}throw new Q(this.offset)}}collectArray(e){if(this.offset++,this.skipWhitespace(),this.text[this.offset]===`]`){this.offset++;return}let t=0;for(;this.offset<this.text.length;){if(this.collectValue(`${e}/${t}`),t++,this.skipWhitespace(),this.text[this.offset]===`]`){this.offset++;return}if(this.text[this.offset]!==`,`)throw new Q(this.offset);this.offset++,this.skipWhitespace()}throw new Q(this.offset)}readString(e){this.offset++;let t=``;for(;this.offset<this.text.length;){let n=this.offset,r=this.text[this.offset++];if(r===`"`)return t;if(r.charCodeAt(0)<32)throw new Q(n);if(r!==`\\`){e&&(t+=r);continue}let i=this.offset,a=this.text[this.offset++];switch(a){case`"`:case`\\`:case`/`:e&&(t+=a);break;case`b`:e&&(t+=`\b`);break;case`f`:e&&(t+=`\f`);break;case`n`:e&&(t+=`
73
- `);break;case`r`:e&&(t+=`\r`);break;case`t`:e&&(t+=` `);break;case`u`:{let n=this.text.slice(this.offset,this.offset+4);if(!/^[\dA-Fa-f]{4}$/u.test(n))throw new Q(this.offset);e&&(t+=String.fromCharCode(Number.parseInt(n,16))),this.offset+=4;break}default:throw new Q(i)}}throw new Q(this.offset)}consumeLiteral(e){let t=0;for(let n of e){if(this.text[this.offset+t]!==n)throw new Q(this.offset+t);t++}this.offset+=e.length}consumeNumber(){if(this.text[this.offset]===`-`&&this.offset++,this.text[this.offset]===`0`)this.offset++;else if(this.text[this.offset]>=`1`&&this.text[this.offset]<=`9`)for(;this.text[this.offset]>=`0`&&this.text[this.offset]<=`9`;)this.offset++;else throw new Q(this.offset);if(this.text[this.offset]===`.`){if(this.offset++,this.text[this.offset]<`0`||this.text[this.offset]>`9`)throw new Q(this.offset);for(;this.text[this.offset]>=`0`&&this.text[this.offset]<=`9`;)this.offset++}if(this.text[this.offset]===`e`||this.text[this.offset]===`E`){if(this.offset++,(this.text[this.offset]===`+`||this.text[this.offset]===`-`)&&this.offset++,this.text[this.offset]<`0`||this.text[this.offset]>`9`)throw new Q(this.offset);for(;this.text[this.offset]>=`0`&&this.text[this.offset]<=`9`;)this.offset++}}skipWhitespace(){for(;this.offset<this.text.length;){let e=this.text[this.offset];if(e!==` `&&e!==` `&&e!==`
74
- `&&e!==`\r`)return;this.offset++}}deletePointerSubtree(e){let t=`${e}/`;for(let n of Object.keys(this.propertyOrder))(n===e||n.startsWith(t))&&delete this.propertyOrder[n]}};function bo(e,t,n){let r;try{r=JSON.parse(e)}catch(r){let i=r instanceof Error?r.message:String(r),a=vo(i,e,t,n);if(!a){let r=0;try{new yo(e).collect()}catch(e){e instanceof Q&&(r=e.offset)}a=_o(e,r,t,n)}throw new go(`Invalid JSON: ${i}`,a.line,a.column)}if(typeof r!=`object`||!r||Array.isArray(r))throw new go(`JSON value must have an object root`,t,n);return{value:r,propertyOrder:new yo(e).collect()}}t(bo,`parseOrderedJsonObject`);var xo=t(e=>({shape:e.type===`normal`?`actor`:e.type===`hollow`?`actor-hollow`:e.type===`awesome`?`actor-awesome`:`actor-icon`,...e.label===e.id?{}:{label:e.label},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:`actor`,actorType:e.type,business:e.business,labelType:e.labelType,...e.icon?{icon:e.icon}:{},...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{}}}),`actorNode`),So=t(e=>({shape:e.shape,...e.label===e.id?{}:{label:e.label},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:`usecase`,useCaseShape:e.shape,business:e.business,labelType:e.labelType,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{}}}),`useCaseNode`),Co=t(e=>({label:e.label,shape:`note`,attrs:{kind:`note`,target:e.target,labelType:e.labelType}}),`noteNode`),wo=t(e=>({label:e.id,shape:`json-table`,...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:`json`,value:e.value,propertyOrder:e.propertyOrder,labelType:`text`}}),`jsonNode`),To=t(e=>({id:e.id,source:e.source,target:e.target,...e.label?{label:e.label}:{},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{relationshipType:e.type,arrowType:e.arrowType,minlen:e.minlen,explicitId:e.explicitId,animate:e.animate,...e.animation?{animation:e.animation}:{},...e.labelType?{labelType:e.labelType}:{}}}),`relationshipEdge`),Eo=t(e=>({id:`${e.id}-edge`,source:e.id,target:e.target,attrs:{relationshipType:`note`,arrowType:H.LINE_SOLID,pattern:`dotted`,minlen:1,explicitId:!1,animate:!1,internal:!0}}),`noteEdge`),Do=t((e,t,n,r)=>{let i={};for(let t of e.getActors().values())i[t.id]=xo(t);for(let t of e.getUseCases().values())i[t.id]=So(t);for(let t of e.getNotes().values())i[t.id]=Co(t);for(let t of e.getJsonNodes().values())i[t.id]=wo(t);let a={};for(let t of e.getSystemBoundaries().values())a[t.id]={...t.label===t.id?{}:{title:t.label},nodes:[...t.members],...t.classes.length?{classes:[...t.classes]}:{},...t.styles.length?{styles:[...t.styles]}:{},attrs:{kind:`systemBoundary`,boundaryType:t.type,labelType:t.labelType}};let o={};for(let t of e.getClassDefs().values())o[t.id]={styles:[...t.styles]};let s=e.getDirection();return{version:1,diagramType:`usecase`,source:t,header:{keyword:`usecase`,direction:s===`TD`?`TB`:s,span:n},...e.getAccTitle()?{accTitle:e.getAccTitle()}:{},...e.getAccDescription()?{accDescr:e.getAccDescription()}:{},nodes:i,edges:[...e.getRelationships().map(To),...[...e.getNotes().values()].map(Eo)],groups:a,classDefs:o,statements:r}},`buildUsecaseGraphAST`),$=t(e=>`line ${e.line}, column ${e.column} [${e.span[0]},${e.span[1]})`,`locationText`),Oo=t(e=>e===void 0?``:` (label "${e}")`,`labelSuffix`),ko=t(e=>e.generated?e.label:void 0,`generatedFrom`),Ao=t((e,t)=>{for(let n of t)e.includes(n)||e.push(n)},`pushUnique`),jo=class{constructor(e){this.db=e,this.source=``,this.statements=[],this.elements=[],this.boundaries=[],this.jsonDrafts=[],this.relationshipDrafts=[],this.noteDrafts=[],this.metadataAssignments=[],this.classAssignments=[],this.styleAssignments=[],this.classDefinitions=[],this.directions=[],this.model=e.createModel()}static{t(this,`UsecaseModelBuilder`)}reset(e){this.model=this.db.createModel(),this.source=e,this.statements=[],this.elements.length=0,this.boundaries.length=0,this.jsonDrafts.length=0,this.relationshipDrafts.length=0,this.noteDrafts.length=0,this.metadataAssignments.length=0,this.classAssignments.length=0,this.styleAssignments.length=0,this.classDefinitions.length=0,this.directions.length=0}addElement(e){this.elements.push(e)}addBoundary(e){this.boundaries.push(e)}addJson(e){this.jsonDrafts.push(e)}addRelationship(e){this.relationshipDrafts.push(e)}addNote(e){this.noteDrafts.push(e)}addMetadataAssignment(e,t,n,r){this.metadataAssignments.push({target:e,targetLocation:t,metadata:n,statement:r})}addClassDef(e,t){this.classDefinitions.push({ids:e,styles:t})}addClassAssignment(e,t){this.classAssignments.push({targets:e,classes:t})}addStyleAssignment(e,t,n){this.styleAssignments.push({target:e,location:t,styles:n})}setDirection(e){this.directions.push(e===`TD`?`TB`:e)}setAccTitle(e){this.model.accTitle=e}setAccDescription(e){this.model.accDescription=e}setStatements(e){this.statements=e}getActors(){return this.model.actors}getUseCases(){return this.model.useCases}getSystemBoundaries(){return this.model.systemBoundaries}getRelationships(){return this.model.relationships}getNotes(){return this.model.notes}getJsonNodes(){return this.model.jsonNodes}getClassDefs(){return this.model.classDefs}getDirection(){return this.model.direction}getAccTitle(){return this.model.accTitle}getAccDescription(){return this.model.accDescription}finalize(e){let t=new Map,n=new Map,r=new Map,i=new Map;for(let e of this.relationshipDrafts)this.recordFirst(i,e.source.id,e.source.location.span[0]),this.recordFirst(i,e.target.id,e.target.location.span[0]);for(let e of this.elements)this.recordFirst(i,e.id,e.location.span[0]);for(let e of this.boundaries)this.recordFirst(i,e.id,e.location.span[0]);for(let e of this.jsonDrafts)this.recordFirst(i,e.id,e.location.span[0]);let a=[...this.elements.map(e=>({offset:e.location.span[0],type:`element`,value:e})),...this.boundaries.map(e=>({offset:e.location.span[0],type:`boundary`,value:e})),...this.jsonDrafts.map(e=>({offset:e.location.span[0],type:`json`,value:e})),...this.relationshipDrafts.filter(e=>e.explicitId).map(e=>({offset:e.explicitIdLocation.span[0],type:`edge`,value:e}))].sort((e,t)=>e.offset-t.offset);for(let e of a)e.type===`element`?this.collectElement(e.value,t,n):e.type===`boundary`?this.collectBoundary(e.value,t,r):e.type===`json`?this.registerUnique(t,e.value.id,`json`,e.value.location,!1):this.registerUnique(t,e.value.explicitId,`edge`,e.value.explicitIdLocation,!1);this.materializeElements(n,i),this.materializeBoundaries(r,i),this.materializeJson(i);let o=this.materializeRelationships(t,n,i);this.reorderElements(n,i),this.applyMetadataAssignments(t,n,r,o),this.validateAndRefreshElements(n),this.refreshBoundaries(r,n),this.materializeNotes(t),this.applyClassDefinitions(),this.applyClassesAndStyles(t,o),this.model.direction=this.directions.at(-1)??this.model.direction,this.model.symbols=new Map([...t].map(([e,t])=>[e,t.kind]));let s=Do(this,this.source,e,this.statements);return this.model.ast=s,this.db.commit(this.model),s}collectElement(e,t,n){let r=t.get(e.id),i=ko({generated:e.generated,label:e.label.text});r&&r.kind!==e.kind&&this.conflict(`ID '${e.id}' is declared as both ${r.kind} and ${e.kind}`,e.location,r.location,i,ko(r)),r&&(r.generated||e.generated)&&this.conflict(`Generated ID '${e.id}' collides with another declaration`,e.location,r.location,i,ko(r));let a=n.get(e.id);if(a)(a.label.text!==e.label.text||a.label.type!==e.label.type)&&this.conflict(`ID '${e.id}' has conflicting labels`,e.location,a.location),e.shape&&a.shape&&e.shape!==a.shape&&this.conflict(`Use case '${e.id}' has conflicting shapes`,e.location,a.location),e.parentId&&a.parentId&&e.parentId!==a.parentId&&this.conflict(`Element '${e.id}' belongs to more than one system boundary`,e.parentLocation??e.location,a.parentLocation??a.location),e.stereotype&&a.stereotype&&e.stereotype!==a.stereotype&&this.conflict(`Element '${e.id}' has conflicting stereotypes`,e.location,a.stereotypeLocation??a.location),a.shape??=e.shape,a.parentId??=e.parentId,a.parentLocation??=e.parentLocation,a.stereotype??=e.stereotype,a.stereotypeLocation??=e.stereotype?e.location:void 0,Ao(a.classes,e.classes),this.applyDeclarationMetadata(a,e.metadata);else{let r={kind:e.kind,id:e.id,label:e.label,location:e.location,generated:e.generated,classes:[...e.classes],...e.parentId?{parentId:e.parentId,parentLocation:e.parentLocation}:{},...e.shape?{shape:e.shape}:{},...e.stereotype?{stereotype:e.stereotype,stereotypeLocation:e.location}:{}};this.applyDeclarationMetadata(r,e.metadata),n.set(e.id,r),t.set(e.id,{kind:e.kind,location:e.location,generated:e.generated,label:e.label.text})}}collectBoundary(e,t,n){let r=t.get(e.id),i=ko({generated:e.generated,label:e.label.text});r&&r.kind!==`boundary`&&this.conflict(`ID '${e.id}' is declared as both ${r.kind} and boundary`,e.location,r.location,i,ko(r)),r&&(r.generated||e.generated)&&this.conflict(`Generated ID '${e.id}' collides with another declaration`,e.location,r.location,i,ko(r));let a=n.get(e.id);a?((a.label.text!==e.label.text||a.label.type!==e.label.type)&&this.conflict(`Boundary '${e.id}' has conflicting titles`,e.location,a.location),Ao(a.classes,e.classes)):(n.set(e.id,{id:e.id,label:e.label,location:e.location,generated:e.generated,classes:[...e.classes],styles:[],members:[]}),t.set(e.id,{kind:`boundary`,location:e.location,generated:e.generated,label:e.label.text}))}materializeElements(e,t){for(let n of[...e.values()].sort((e,n)=>(t.get(e.id)??0)-(t.get(n.id)??0)))this.setElementModel(n)}materializeBoundaries(e,t){for(let n of[...e.values()].sort((e,n)=>(t.get(e.id)??0)-(t.get(n.id)??0)))this.model.systemBoundaries.set(n.id,{id:n.id,label:n.label.text,labelType:n.label.type,type:n.type??`rect`,members:[],classes:[...n.classes],styles:[...n.styles]})}materializeJson(e){for(let t of[...this.jsonDrafts].sort((t,n)=>(e.get(t.id)??0)-(e.get(n.id)??0)))this.model.jsonNodes.set(t.id,{id:t.id,value:t.value,propertyOrder:t.propertyOrder,classes:[...t.classes],styles:[]})}materializeRelationships(e,t,n){let r=new Map,i=0;for(let a of this.relationshipDrafts){let o=this.resolveEndpoint(a.source,e,t,n),s=this.resolveEndpoint(a.target,e,t,n);this.validateRelationship(a,o,s,e);let c=a.explicitId??`edge-${i++}`,l={id:c,explicitId:!!a.explicitId,source:a.source.id,target:a.target.id,type:a.type,arrowType:a.arrowType,...a.label?{label:a.label.text,labelType:a.label.type}:{},minlen:a.minlen,classes:[],styles:[],animate:!1};this.model.relationships.push(l),r.set(c,{draft:a,relationship:l})}return this.model.relationshipCounter=i,r}resolveEndpoint(e,t,n,r){if(e.classesOnReference&&!e.declaration)throw Error(`Relationship endpoint '${e.id}' uses ::: without declaring the node at ${$(e.location)}`);let i=t.get(e.id);return i?i.kind:(n.set(e.id,{kind:`usecase`,id:e.id,label:e.label,location:e.location,generated:e.generated,shape:`ellipse`,classes:[]}),t.set(e.id,{kind:`usecase`,location:e.location,generated:e.generated,label:e.label.text}),this.recordFirst(r,e.id,e.location.span[0]),`usecase`)}reorderElements(e,t){let n=new Map(this.model.actors),r=new Map(this.model.useCases);this.model.actors.clear(),this.model.useCases.clear();for(let i of[...e.values()].sort((e,n)=>(t.get(e.id)??0)-(t.get(n.id)??0))){!n.has(i.id)&&!r.has(i.id)&&this.setElementModel(i);let e=n.get(i.id)??this.model.actors.get(i.id),t=r.get(i.id)??this.model.useCases.get(i.id);e?this.model.actors.set(i.id,e):t&&this.model.useCases.set(i.id,t)}}applyMetadataAssignments(e,t,n,r){for(let i of this.metadataAssignments){let a=e.get(i.target);if(!a){let e=this.inferMetadataKind(i.metadata);throw Error(`Metadata target '${i.target}' is unresolved${e?` (metadata implies ${e})`:``} at ${$(i.targetLocation)}`)}if(a.kind===`actor`||a.kind===`usecase`)this.applyStandaloneElementMetadata(t.get(i.target),i.metadata);else if(a.kind===`boundary`){let e=n.get(i.target);for(let t of i.metadata.properties)(t.key!==`type`||t.value!==`rect`&&t.value!==`package`)&&this.invalidMetadata(i.target,a.kind,t),e.type=t.value}else if(a.kind===`edge`){let e=r.get(i.target);if(!e)throw Error(`Metadata target '${i.target}' is not an explicit edge at ${$(i.targetLocation)}`);i.statement.kind=`edgeMetadata`,i.statement.edges=[{id:i.target,span:i.statement.span,idSpan:i.targetLocation.span,...i.statement.metadata?{metadata:i.statement.metadata}:{}}],delete i.statement.nodes;for(let t of i.metadata.properties)t.key===`animate`&&typeof t.value==`boolean`?e.relationship.animate=t.value:t.key===`animation`&&(t.value===`fast`||t.value===`slow`)?(e.relationship.animation=t.value,e.relationship.animate=!0):this.invalidMetadata(i.target,a.kind,t)}else for(let e of i.metadata.properties)this.invalidMetadata(i.target,a.kind,e)}for(let{relationship:e}of r.values())e.animation&&(e.animate=!0)}applyStandaloneElementMetadata(e,t){for(let n of t.properties)e.kind===`actor`?this.applyActorProperty(e,n,!0):n.key===`business`&&typeof n.value==`boolean`?e.business=n.value:this.invalidMetadata(e.id,e.kind,n)}applyDeclarationMetadata(e,t){if(t)for(let n of t.properties)e.kind===`actor`?this.applyActorProperty(e,n,!1):n.key===`business`&&typeof n.value==`boolean`?(e.business!==void 0&&e.business!==n.value&&this.conflict(`Use case '${e.id}' has conflicting business metadata`,n.location,e.location),e.business=n.value):this.invalidMetadata(e.id,e.kind,n)}applyActorProperty(e,t,n){t.key===`type`&&(t.value===`normal`||t.value===`hollow`||t.value===`awesome`)?(!n&&e.actorType!==void 0&&e.actorType!==t.value&&this.conflict(`Actor '${e.id}' has conflicting type metadata`,t.location,e.location),e.actorType=t.value):t.key===`icon`&&typeof t.value==`string`?(!n&&e.icon!==void 0&&e.icon!==t.value&&this.conflict(`Actor '${e.id}' has conflicting icon metadata`,t.location,e.location),e.icon=t.value):t.key===`business`&&typeof t.value==`boolean`?(!n&&e.business!==void 0&&e.business!==t.value&&this.conflict(`Actor '${e.id}' has conflicting business metadata`,t.location,e.location),e.business=t.value):this.invalidMetadata(e.id,e.kind,t)}validateAndRefreshElements(e){for(let t of e.values()){let e=t.icon?`icon`:t.actorType??`normal`;if(t.kind===`actor`){if(t.icon&&t.actorType&&t.actorType!==`normal`)throw Error(`Actor '${t.id}' cannot combine icon with type '${t.actorType}' at ${$(t.location)}`);if(t.business&&(e===`icon`||e===`awesome`))throw Error(`Business actor '${t.id}' must use normal or hollow geometry at ${$(t.location)}`)}else if((t.shape??`ellipse`)===`rect`&&t.business)throw Error(`Rectangular use case '${t.id}' cannot be a business use case at ${$(t.location)}`);this.setElementModel(t)}}refreshBoundaries(e,t){for(let t of e.values())t.members.length=0;for(let t of[...this.elements].sort((e,t)=>e.location.span[0]-t.location.span[0])){if(!t.parentId)continue;let n=e.get(t.parentId);if(!n)throw Error(`Parent boundary '${t.parentId}' for '${t.id}' is unresolved at ${$(t.parentLocation??t.location)}`);n.members.includes(t.id)||n.members.push(t.id)}for(let n of t.values())if(n.parentId&&!e.has(n.parentId))throw Error(`Parent boundary '${n.parentId}' for '${n.id}' is unresolved at ${$(n.parentLocation??n.location)}`);for(let t of e.values()){let e=this.model.systemBoundaries.get(t.id);e.type=t.type??`rect`,e.members=[...t.members],e.classes=[...t.classes],e.styles=[...t.styles]}}materializeNotes(e){let t=0;for(let n of this.noteDrafts){let r=e.get(n.target);if(!r)throw Error(`Note target '${n.target}' is unresolved at ${$(n.targetLocation)}`);r.kind!==`actor`&&r.kind!==`usecase`&&this.conflict(`Note target '${n.target}' must be an actor or use case, not ${r.kind}`,n.targetLocation,r.location);let i=`note-${t++}`;this.model.notes.set(i,{id:i,target:n.target,label:n.label.text,labelType:n.label.type})}this.model.noteCounter=t}applyClassDefinitions(){for(let e of this.classDefinitions)for(let t of e.ids)this.model.classDefs.set(t,{id:t,styles:[...e.styles]})}applyClassesAndStyles(e,t){for(let n of this.classAssignments)for(let r of n.targets)Ao(this.getStylable(r.id,e,t,r.location).classes,n.classes);for(let n of this.styleAssignments)this.getStylable(n.target,e,t,n.location).styles.push(...n.styles)}getStylable(e,t,n,r){let i=t.get(e)?.kind,a=i===`actor`?this.model.actors.get(e):i===`usecase`?this.model.useCases.get(e):i===`boundary`?this.model.systemBoundaries.get(e):i===`json`?this.model.jsonNodes.get(e):i===`edge`?n.get(e)?.relationship:void 0;if(!a)throw Error(`Class/style target '${e}' is unresolved or anonymous at ${$(r)}`);return a}validateRelationship(e,n,r,i){let a=t(e=>e===`actor`||e===`usecase`||e===`json`,`allowed`);if(a(n)||this.conflict(`Relationship source '${e.source.id}' cannot be ${n}`,e.source.location,i.get(e.source.id).location),a(r)||this.conflict(`Relationship target '${e.target.id}' cannot be ${r}`,e.target.location,i.get(e.target.id).location),(e.type===`include`||e.type===`extend`)&&(n!==`usecase`||r!==`usecase`))throw Error(`${e.type} relationship requires use-case endpoints at ${$(e.location)}`);if(e.type===`generalization`&&(n!==`actor`&&n!==`usecase`||n!==r))throw Error(`Generalization requires actor-to-actor or use-case-to-use-case endpoints at ${$(e.location)}`);if(e.type===`association`&&(n===`json`||r===`json`)&&![0,1,2].includes(e.arrowType))throw Error(`JSON relationship '${e.source.id}' to '${e.target.id}' permits only point, reversed-point, or markerless solid association at ${$(e.location)}`)}setElementModel(e){if(e.kind===`actor`){let t=e.icon?`icon`:e.actorType??`normal`;this.model.useCases.delete(e.id),this.model.actors.set(e.id,{id:e.id,label:e.label.text,labelType:e.label.type,type:t,...e.icon?{icon:e.icon}:{},business:e.business??!1,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{},classes:[...e.classes],styles:this.model.actors.get(e.id)?.styles??[]})}else this.model.actors.delete(e.id),this.model.useCases.set(e.id,{id:e.id,label:e.label.text,labelType:e.label.type,shape:e.shape??`ellipse`,business:e.business??!1,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{},classes:[...e.classes],styles:this.model.useCases.get(e.id)?.styles??[]})}inferMetadataKind(e){let t=new Set([`actor`,`usecase`,`boundary`,`edge`]);for(let n of e.properties)if(n.key===`icon`)t.clear(),t.add(`actor`);else if(n.key===`animate`||n.key===`animation`)t.clear(),t.add(`edge`);else if(n.key===`type`)t.clear(),n.value===`rect`||n.value===`package`?t.add(`boundary`):(n.value===`normal`||n.value===`hollow`||n.value===`awesome`)&&t.add(`actor`);else if(n.key===`business`)t.delete(`boundary`),t.delete(`edge`);else return;return t.size===1?[...t][0]:void 0}invalidMetadata(e,t,n){throw Error(`Metadata property '${n.key}' is invalid for ${t} '${e}' at ${$(n.location)}`)}registerUnique(e,t,n,r,i){let a=e.get(t);a&&this.conflict(`ID '${t}' is declared more than once (${a.kind} and ${n})`,r,a.location,void 0,ko(a)),e.set(t,{kind:n,location:r,generated:i})}recordFirst(e,t,n){let r=e.get(t);(r===void 0||n<r)&&e.set(t,n)}conflict(e,t,n,r,i){throw Error(`${e} at ${$(t)}${Oo(r)}; previous declaration at ${$(n)}${Oo(i)}`)}},Mo=ho.getBaseCstVisitorConstructor(),No=new class extends Mo{constructor(){super(),this.builder=new jo(Gi),this.source=``,this.anonymousEdge=0,this.anonymousNote=0,this.validateVisitor()}static{t(this,`UsecaseVisitor`)}build(e,t){this.source=t,this.parentBoundary=void 0,this.anonymousEdge=0,this.anonymousNote=0,this.builder.reset(t),this.visit(e)}start(e){let t=this.tokens(e,`USECASE`)[0],n=[];for(let t of this.nodes(e,`line`))n.push(this.visit(t));this.builder.setStatements(n),this.builder.finalize(this.tokenSpan(t))}line(e){let t=this.firstNode(e,`blankLine`,`commentLine`,`statement`);return this.wrap(t,this.visit(t))}statement(e){return this.visit(this.firstNode(e,`accTitleStatement`,`accDescrStatement`,`directionStatement`,`actorStatement`,`systemBoundaryStatement`,`noteStatement`,`jsonStatement`,`classDefStatement`,`classStatement`,`styleStatement`,`metadataAssignmentStatement`,`entityStatement`))}lineEnd(e){}blankLine(e){return{kind:`blank`,span:this.tokenSpan(this.tokens(e,`NEWLINE`)[0])}}commentLine(e){return{kind:`comment`,span:this.tokenSpan(this.tokens(e,`COMMENT`)[0])}}accTitleStatement(e){let t=this.tokens(e,`ACC_TITLE_LINE`)[0].image;return this.builder.setAccTitle(t.slice(t.indexOf(`:`)+1).trim()),{kind:`accTitle`,span:[0,0]}}accDescrStatement(e){let t=this.tokens(e,`ACC_DESCR_LINE`)[0],n=this.tokens(e,`ACC_DESCR_BLOCK`)[0],r=t?t.image.slice(t.image.indexOf(`:`)+1).trim():n.image.slice(n.image.indexOf(`{`)+1,n.image.lastIndexOf(`}`)).trim();return this.builder.setAccDescription(r),{kind:`accDescr`,span:[0,0]}}actorStatement(e){let t=this.nodes(e,`actorItem`),n=t.map(e=>this.visit(e)),r=this.nodes(e,`relationTail`)[0],i=n.map((e,n)=>this.actorOccurrence(t[n],e,!0));for(let e of n)this.builder.addElement(this.actorDraft(e));if(!r)return{kind:`node`,span:[0,0],nodes:i};let a=this.visit(r);a.target.explicitDeclaration&&this.builder.addElement(this.entityDraft(a.target));let o=this.relationshipDraft(n[0],a,this.nodeLocation(r));this.builder.addRelationship(o);let s=o.explicitId??`edge-${this.anonymousEdge++}`;return i.push(this.entityOccurrence(this.nodes(r.children,`entityName`)[0],a.target,a.target.explicitDeclaration)),{kind:`edge`,span:[0,0],nodes:i,edges:[{id:s,span:[0,0],...o.explicitIdLocation?{idSpan:o.explicitIdLocation.span}:{},...o.label?{labelSpan:o.label.span}:{}}]}}actorItem(e){let t=this.visit(this.nodes(e,`actorName`)[0]),n=this.nodes(e,`metadata`)[0],r=this.nodes(e,`stereotype`)[0],i=this.nodes(e,`classSuffix`)[0],a=i?this.visit(i):{classes:[],spans:[]};return{...t,...n?{metadata:this.visit(n)}:{},...r?{stereotype:this.visit(r)}:{},classes:a.classes,classSpans:a.spans}}actorName(e){let t=this.tokens(e,`IDENTIFIER`)[0],n=this.tokens(e,`PLAIN_STRING`)[0]??this.tokens(e,`MARKDOWN_STRING`)[0];if(t){let n=this.nodes(e,`nodeLabel`)[0],r=n?this.visit(n):this.tokenLabel(t);return{id:t.image,label:r,location:this.tokenLocation(t),generated:!1,classes:[],classSpans:[]}}let r=this.tokenLabel(n);return{id:this.generateId(r.text),label:r,location:this.tokenLocation(n),generated:!0,classes:[],classSpans:[]}}actorDeclarationOnly(e){let t=this.nodes(e,`actorItem`),n=t.map(e=>this.visit(e));for(let e of n)this.builder.addElement(this.actorDraft(e));return{kind:`node`,span:[0,0],nodes:n.map((e,n)=>this.actorOccurrence(t[n],e,!0))}}entityStatement(e){let t=this.nodes(e,`entityName`),n=this.visit(t[0]),r=this.nodes(e,`relationTail`)[0];if(!r)return n.explicitDeclaration=!0,n.shape??=`ellipse`,this.builder.addElement(this.entityDraft(n)),{kind:`node`,span:[0,0],nodes:[this.entityOccurrence(t[0],n,!0)]};n.explicitDeclaration&&this.builder.addElement(this.entityDraft(n));let i=this.visit(r);i.target.explicitDeclaration&&this.builder.addElement(this.entityDraft(i.target));let a={source:this.endpoint(n),target:this.endpoint(i.target),location:this.nodeLocation(r),...i.explicitId?{explicitId:i.explicitId,explicitIdLocation:i.explicitIdLocation}:{},...i.arrow};this.builder.addRelationship(a);let o=a.explicitId??`edge-${this.anonymousEdge++}`;return{kind:`edge`,span:[0,0],nodes:[this.entityOccurrence(t[0],n,n.explicitDeclaration),this.entityOccurrence(this.nodes(r.children,`entityName`)[0],i.target,i.target.explicitDeclaration)],edges:[{id:o,span:[0,0],...a.explicitIdLocation?{idSpan:a.explicitIdLocation.span}:{},...a.label?{labelSpan:a.label.span}:{}}]}}entityName(e){let t=this.tokens(e,`IDENTIFIER`)[0],n=this.tokens(e,`PLAIN_STRING`)[0]??this.tokens(e,`MARKDOWN_STRING`)[0],r=this.nodes(e,`nodeLabel`)[0],i=this.nodes(e,`useCaseMetadata`)[0],a=this.nodes(e,`stereotype`)[0],o=this.nodes(e,`classSuffix`)[0],s=o?this.visit(o):{classes:[],spans:[]};if(t){let n=r?this.visit(r):this.tokenLabel(t),o=r?this.tokens(e,`LBRACKET`).length?`rect`:`ellipse`:void 0;return{id:t.image,label:n,location:this.tokenLocation(t),generated:!1,...o?{shape:o}:{},...i?{metadata:this.visit(i)}:{},...a?{stereotype:this.visit(a)}:{},classes:s.classes,classSpans:s.spans,explicitDeclaration:!!(o||i||a)}}let c=this.tokenLabel(n);return{id:this.generateId(c.text),label:c,location:this.tokenLocation(n),generated:!0,...i?{metadata:this.visit(i)}:{},...a?{stereotype:this.visit(a)}:{},classes:s.classes,classSpans:s.spans,explicitDeclaration:!!(i||a)}}nodeLabel(e){let t=this.allTokens(e);if(t.length===1&&(t[0].tokenType.name===`PLAIN_STRING`||t[0].tokenType.name===`MARKDOWN_STRING`))return this.tokenLabel(t[0]);let n=[t[0].startOffset,(t.at(-1).endOffset??t.at(-1).startOffset)+1];return{text:this.source.slice(n[0],n[1]),type:`text`,span:n}}useCaseMetadata(e){return this.visit(this.nodes(e,`metadata`)[0])}relationTail(e){let t=this.tokens(e,`IDENTIFIER`)[0];return{...t?{explicitId:t.image,explicitIdLocation:this.tokenLocation(t)}:{},arrow:this.visit(this.nodes(e,`arrow`)[0]),target:this.visit(this.nodes(e,`entityName`)[0])}}arrow(e){return this.visit(this.firstNode(e,`semanticRelation`,`forwardSolidOperator`,`backwardSolidOperator`,`markerlessSolidOperator`,`forwardCircleOperator`,`backwardCircleOperator`,`forwardCrossOperator`,`backwardCrossOperator`))}edgeLabel(e){return this.nodeLabel(e)}semanticRelation(e){if(this.tokens(e,`GENERALIZATION`).length)return{type:`generalization`,arrowType:H.SOLID_ARROW,minlen:1};let t=this.tokens(e,`INCLUDE`).length?`include`:`extend`,n=this.tokens(e,t===`include`?`INCLUDE`:`EXTEND`)[0];return{type:t,arrowType:H.SOLID_ARROW,label:{text:t,type:`text`,span:this.tokenSpan(n)},minlen:1}}metadata(e){return{properties:this.nodes(e,`metadataProperty`).map(e=>this.visit(e)),location:this.ctxLocation(e)}}metadataProperty(e){let t=this.allTokens(e).filter(e=>e.tokenType.name!==`COLON`),n=t[0],r=t[1],i=r.tokenType.name===`TRUE`||r.tokenType.name!==`FALSE`&&this.decodePlain(r),a=[n.startOffset,(r.endOffset??r.startOffset)+1];return{key:this.decodePlain(n),value:i,span:a,keySpan:this.contentSpan(n),valueSpan:this.contentSpan(r),location:this.tokenLocation(n)}}metadataSeparator(e){}systemBoundaryStatement(e){let t=this.visit(this.nodes(e,`systemBoundaryName`)[0]),n=this.nodes(e,`classSuffix`)[0],r=n?this.visit(n):{classes:[],spans:[]};t.classes=r.classes,this.builder.addBoundary(t);let i=this.parentBoundary;this.parentBoundary={id:t.id,location:t.location};let a=this.nodes(e,`systemBoundaryContent`)[0],o=a?this.visit(a):[];this.parentBoundary=i;let s=this.tokens(e,`END`)[0],c=this.nodes(e,`metadata`)[0],l=c?this.visit(c):void 0,u={kind:`group`,span:[0,0],group:t.id,idSpan:t.location.span,titleSpan:t.label.span,endSpan:this.tokenSpan(s),classSpans:r.spans,...l?{metadata:l.properties.map(({key:e,span:t,keySpan:n,valueSpan:r})=>({key:e,span:t,keySpan:n,valueSpan:r}))}:{},...o.length?{children:o}:{}};return l&&this.builder.addMetadataAssignment(t.id,t.location,l,u),u}systemBoundaryName(e){let t=this.tokens(e,`IDENTIFIER`)[0];if(t){let n=this.nodes(e,`nodeLabel`)[0];return{id:t.image,label:n?this.visit(n):this.tokenLabel(t),location:this.tokenLocation(t),generated:!1,classes:[]}}let n=this.tokens(e,`PLAIN_STRING`)[0]??this.tokens(e,`MARKDOWN_STRING`)[0],r=this.tokenLabel(n);return{id:this.generateId(r.text),label:r,location:this.tokenLocation(n),generated:!0,classes:[]}}systemBoundaryContent(e){return[...this.nodes(e,`blankLine`),...this.nodes(e,`commentLine`),...this.nodes(e,`boundaryElement`)].sort((e,t)=>(e.location?.startOffset??0)-(t.location?.startOffset??0)).map(e=>this.wrap(e,this.visit(e)))}boundaryElement(e){let t=this.nodes(e,`actorDeclarationOnly`)[0];if(t)return this.visit(t);let n=this.nodes(e,`entityName`)[0],r=this.visit(n);return r.explicitDeclaration=!0,r.shape??=`ellipse`,this.builder.addElement(this.entityDraft(r)),{kind:`node`,span:[0,0],nodes:[this.entityOccurrence(n,r,!0)]}}metadataAssignmentStatement(e){let t=this.visit(this.nodes(e,`metadataAssignmentTarget`)[0]),n=this.visit(this.nodes(e,`metadata`)[0]),r={kind:`metadata`,span:[0,0],nodes:[{id:t.id,span:t.location.span,idSpan:t.location.span}],metadata:n.properties.map(({key:e,span:t,keySpan:n,valueSpan:r})=>({key:e,span:t,keySpan:n,valueSpan:r}))};return this.builder.addMetadataAssignment(t.id,t.location,n,r),r}metadataAssignmentTarget(e){let t=this.allTokens(e)[0],n=this.tokenLabel(t);return{id:t.tokenType.name===`IDENTIFIER`?t.image:this.generateId(n.text),location:this.tokenLocation(t)}}noteStatement(e){let t=this.tokens(e,`IDENTIFIER`)[0],n=this.visit(this.nodes(e,`nodeLabel`)[0]);return this.builder.addNote({target:t.image,targetLocation:this.tokenLocation(t),label:n,location:this.ctxLocation(e)}),{kind:`note`,span:[0,0],ref:`note-${this.anonymousNote++}`,refSpan:n.span,nodes:[{id:t.image,span:this.tokenSpan(t),idSpan:this.tokenSpan(t)}]}}stereotype(e){let t=this.tokens(e,`STEREOTYPE_TEXT`)[0];return{value:t.image.trim(),span:this.tokenSpan(t)}}classSuffix(e){let t=this.tokens(e,`IDENTIFIER`);return{classes:t.map(e=>e.image),spans:t.map(e=>this.tokenSpan(e))}}jsonStatement(e){let t=this.tokens(e,`JSON_DECLARATION_START`)[0],n=this.tokens(e,`JSON_OBJECT_LITERAL`)[0],r=/^json[\t ]+(\w+)/.exec(t.image),i=r[1],a=r[0].length-i.length,o={span:[t.startOffset+a,t.startOffset+a+i.length],line:t.startLine??1,column:(t.startColumn??1)+a},s=bo(n.image,n.startLine??1,n.startColumn??1),c=this.nodes(e,`classSuffix`)[0],l=c?this.visit(c):{classes:[],spans:[]},u={id:i,value:s.value,propertyOrder:s.propertyOrder,location:o,classes:l.classes};return this.builder.addJson(u),{kind:`json`,span:[0,0],nodes:[{id:i,span:o.span,idSpan:o.span,defines:!0,classSpans:l.spans}],classSpans:l.spans}}directionStatement(e){let t=this.allTokens(e).find(e=>[`TD`,`TB`,`BT`,`RL`,`LR`].includes(e.tokenType.name));return this.builder.setDirection(t.image),{kind:`direction`,span:[0,0]}}classDefStatement(e){let t=this.tokens(e,`IDENTIFIER`),n=this.visit(this.nodes(e,`styles`)[0]);return this.builder.addClassDef(t.map(e=>e.image),n),{kind:`classDef`,span:[0,0],ref:t[0].image,refSpan:this.tokenSpan(t[0])}}classStatement(e){let t=this.tokens(e,`IDENTIFIER`),n=1;for(;n<t.length&&this.source.slice((t[n-1].endOffset??t[n-1].startOffset)+1,t[n].startOffset).includes(`,`);n++);let r=t.slice(0,n).map(e=>({id:e.image,location:this.tokenLocation(e)})),i=t.slice(n).map(e=>e.image);return this.builder.addClassAssignment(r,i),{kind:`classAssign`,span:[0,0],ref:i[0],refSpan:this.tokenSpan(t[n]),nodes:r.map(({id:e,location:t})=>({id:e,span:t.span,idSpan:t.span}))}}styleStatement(e){let t=this.tokens(e,`IDENTIFIER`)[0],n=this.visit(this.nodes(e,`styles`)[0]);return this.builder.addStyleAssignment(t.image,this.tokenLocation(t),n),{kind:`style`,span:[0,0],nodes:[{id:t.image,span:this.tokenSpan(t),idSpan:this.tokenSpan(t)}]}}styles(e){return this.nodes(e,`styleValue`).map(e=>this.visit(e))}styleValue(e){let t=this.allTokens(e),n=[t[0].startOffset,(t.at(-1).endOffset??t.at(-1).startOffset)+1];return this.source.slice(n[0],n[1]).replaceAll(`\\,`,`,`)}styleComponent(e){return this.allTokens(e).map(e=>e.image).join(``)}forwardSolidOperator(e){let t=this.tokens(e,`FORWARD_SOLID`)[0];return{type:`association`,arrowType:H.SOLID_ARROW,minlen:this.solidMinlen(t)}}backwardSolidOperator(e){let t=this.tokens(e,`BACKWARD_SOLID`)[0],n=this.nodes(e,`edgeLabel`)[0],r=n?this.tokens(e,`MARKERLESS_SOLID`).at(-1):t;return{type:`association`,arrowType:H.BACK_ARROW,minlen:this.solidMinlen(r),...n?{label:this.visit(n)}:{}}}markerlessSolidOperator(e){let t=this.nodes(e,`edgeLabel`)[0],n=this.allTokens(e);if(!t)return{type:`association`,arrowType:H.LINE_SOLID,minlen:this.solidMinlen(this.tokens(e,`MARKERLESS_SOLID`)[0])};let r=n.at(-1),i=r.tokenType.name===`FORWARD_SOLID`?H.SOLID_ARROW:r.tokenType.name===`FORWARD_CIRCLE`?H.CIRCLE_ARROW:r.tokenType.name===`FORWARD_CROSS`?H.CROSS_ARROW:H.LINE_SOLID;return{type:`association`,arrowType:i,label:this.visit(t),minlen:i===H.SOLID_ARROW||i===H.LINE_SOLID?this.solidMinlen(r):1}}forwardCircleOperator(e){return{type:`association`,arrowType:H.CIRCLE_ARROW,minlen:1}}backwardCircleOperator(e){let t=this.nodes(e,`edgeLabel`)[0];return{type:`association`,arrowType:H.CIRCLE_ARROW_REVERSED,minlen:1,...t?{label:this.visit(t)}:{}}}forwardCrossOperator(e){return{type:`association`,arrowType:H.CROSS_ARROW,minlen:1}}backwardCrossOperator(e){let t=this.nodes(e,`edgeLabel`)[0];return{type:`association`,arrowType:H.CROSS_ARROW_REVERSED,minlen:1,...t?{label:this.visit(t)}:{}}}actorDraft(e){return{id:e.id,kind:`actor`,label:e.label,location:e.location,generated:e.generated,...this.parentBoundary?{parentId:this.parentBoundary.id,parentLocation:this.parentBoundary.location}:{},...e.metadata?{metadata:e.metadata}:{},...e.stereotype?{stereotype:e.stereotype.value,stereotypeSpan:e.stereotype.span}:{},classes:e.classes}}entityDraft(e){return{id:e.id,kind:`usecase`,label:e.label,location:e.location,generated:e.generated,...this.parentBoundary?{parentId:this.parentBoundary.id,parentLocation:this.parentBoundary.location}:{},...e.shape?{shape:e.shape}:{},...e.metadata?{metadata:e.metadata}:{},...e.stereotype?{stereotype:e.stereotype.value,stereotypeSpan:e.stereotype.span}:{},classes:e.classes}}endpoint(e,t=e.explicitDeclaration??!0){return{id:e.id,label:e.label,location:e.location,generated:e.generated,declaration:t,classesOnReference:e.classes.length>0}}relationshipDraft(e,t,n){return{source:this.endpoint(e,!0),target:this.endpoint(t.target),location:n,...t.explicitId?{explicitId:t.explicitId,explicitIdLocation:t.explicitIdLocation}:{},...t.arrow}}actorOccurrence(e,t,n){return{id:t.id,span:this.nodeSpan(e),idSpan:t.location.span,labelSpan:t.label.span,...n?{defines:!0}:{},...t.stereotype?{stereotypeSpan:t.stereotype.span}:{},...t.metadata?{metadata:t.metadata.properties.map(({key:e,span:t,keySpan:n,valueSpan:r})=>({key:e,span:t,keySpan:n,valueSpan:r}))}:{},...t.classSpans.length?{classSpans:t.classSpans}:{}}}entityOccurrence(e,t,n){return this.actorOccurrence(e,t,n)}wrap(e,t){if(t.kind===`blank`||t.kind===`comment`)return t;t.span=this.nodeSpan(e);for(let e of t.edges??[])e.span=t.span;return t}tokenLabel(e){let t=e.tokenType.name===`MARKDOWN_STRING`?`markdown`:`text`,n=t===`markdown`?2:+(e.tokenType.name===`PLAIN_STRING`),r=this.tokenSpan(e,n);return{text:this.source.slice(r[0],r[1]),type:t,span:r}}decodePlain(e){return e.tokenType.name===`PLAIN_STRING`?e.image.slice(1,-1):e.image}contentSpan(e){return this.tokenSpan(e,e.tokenType.name===`PLAIN_STRING`?1:e.tokenType.name===`MARKDOWN_STRING`?2:0)}generateId(e){return e.replace(/\W/g,`_`)}solidMinlen(e){return Math.max(1,(e.image.match(/-/g)?.length??2)-1)}nodeLocation(e){let t=this.allTokens(e.children)[0];return{span:this.nodeSpan(e),line:t.startLine??1,column:t.startColumn??1}}ctxLocation(e){let t=this.allTokens(e).filter(e=>e.tokenType.name!==`NEWLINE`&&e.tokenType.name!==`EOF`),n=t[0],r=t.at(-1);return{span:[n.startOffset,Math.min(this.source.length,(r.endOffset??r.startOffset+r.image.length-1)+1)],line:n.startLine??1,column:n.startColumn??1}}tokenLocation(e){let t=e.tokenType.name===`PLAIN_STRING`?1:e.tokenType.name===`MARKDOWN_STRING`?2:0;return{span:this.tokenSpan(e,t),line:e.startLine??1,column:(e.startColumn??1)+t}}nodeSpan(e){let t=this.allTokens(e.children).filter(e=>e.tokenType.name!==`NEWLINE`&&e.tokenType.name!==`EOF`),n=t[0],r=t.at(-1);if(!n||!r)throw Error(`Usecase CST node has no source token`);return[n.startOffset,Math.min(this.source.length,(r.endOffset??r.startOffset+r.image.length-1)+1)]}tokenSpan(e,t=0){return[e.startOffset+t,Math.min(this.source.length,(e.endOffset??e.startOffset+e.image.length-1)+1-t)]}nodes(e,t){return(e[t]??[]).filter(e=>`children`in e)}tokens(e,t){return(e[t]??[]).filter(e=>`tokenTypeIdx`in e)}firstNode(e,...t){for(let n of t){let t=this.nodes(e,n)[0];if(t)return t}throw Error(`Usecase CST is missing one of: ${t.join(`, `)}`)}allTokens(e){let t=[];for(let n of Object.values(e))for(let e of n)`tokenTypeIdx`in e?t.push(e):t.push(...this.allTokens(e.children));return t.sort((e,t)=>e.startOffset-t.startOffset)}},Po={parse:t(async e=>{Gi.clear(),ho.input=[];try{fi({diagramType:`usecase`,lexer:fo,parser:ho,entry:t(()=>ho.start(),`entry`),visit:t(t=>No.build(t,e),`visit`)},e)}catch(t){Gi.clear();let n=ho.errors[0];if(n){let{token:r}=n,i=di(r.startOffset)?r.startOffset:e.length,a=di(r.endOffset)?r.endOffset+1:i,o=di(r.startLine)?r.startLine:e.slice(0,i).split(/\r\n|\r|\n/).length,s=Math.max(e.lastIndexOf(`
75
- `,i-1),e.lastIndexOf(`\r`,i-1)),c=di(r.startColumn)?r.startColumn:i-s,l=t instanceof Error?t.message:String(t);throw Error(`${l} at line ${o}, column ${c} [${i},${a})`)}throw t}},`parse`)},Fo=[`point`,`circle`,`cross`,`extension`],Io={usecaseActor:!0,usecaseActorHollow:!0,usecaseActorAwesome:!0,usecaseActorIcon:!0},Lo=t((e,t)=>{let[n,r]=[e,t].map(e=>e.replace(/[^\w-]+/g,`_`).replace(/^_+|_+$/g,``)||`element`);return`usecase-${n}-${r}`},`usecaseDomId`),Ro=t(e=>`usecase-${e.replace(/[^\w-]+/g,`_`).replace(/^_+|_+$/g,``)||`element`}`,`usecaseNodeDomId`),zo=t((e,t)=>t===`markdown`?h(e).map(e=>e.map(e=>e.content).join(` `)).join(`
76
- `):e,`getAccessibleLabel`),Bo=t(e=>{let t=zo(e.label??e.id,e.labelType);if(Io[e.shape]){let n=e.actorType&&e.actorType!==`normal`?`${e.actorType} `:``;return`${e.business?`business `:``}${n}actor ${t}${e.stereotype?`, stereotype ${e.stereotype}`:``}`}if(e.shape===`note`)return`Note for ${e.noteTargetLabel??e.noteTarget??``}: ${t}`;if(e.shape===`usecaseJsonTable`){let n=(e.jsonRows??[]).map(e=>`${e.accessibleKey}: ${e.value}`).join(`; `);return n?`${t}: ${n}`:t}let n=e.stereotype?`, stereotype ${e.stereotype}`:``;return`${e.business?`business `:``}use case ${t}${n}`},`getUsecaseNodeAccessibleName`),Vo=t(e=>`${e.boundaryType} system boundary ${zo(e.label??e.id,e.labelType)}`,`getUsecaseBoundaryAccessibleName`),Ho=t(e=>e.relationshipType===`note`?``:`${e.relationshipType===`association`&&e.label?`association ${zo(e.label,e.labelType)}`:e.relationshipType} from ${e.sourceLabel} to ${e.targetLabel}`,`getUsecaseEdgeAccessibleName`),Uo=t(e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),`escapePlainLabel`),Wo=t(e=>e.replace(/([*[\\\]_`])/g,`\\$1`),`escapeMarkdownMarkers`),Go=t((e,t)=>{e.diagramId=t,e.markers=[...Fo];for(let t of e.nodes){let e=t;if(e.domId=Ro(t.id),t.label!==void 0&&t.labelType===`text`&&(t.label=Uo(t.label)),t.stereotype&&=Uo(t.stereotype),!t.isGroup&&t.shape===`usecaseJsonTable`&&(t.jsonRows=t.jsonRows?.map(e=>({...e,key:Uo(e.key),value:Uo(e.value)}))),!t.isGroup&&(t.shape===`usecaseEllipse`||t.shape===`rect`)&&t.stereotype){let n=t.label??Uo(t.id);t.label=`\xAB${Wo(t.stereotype)}\xBB<br/>${t.labelType===`text`?Wo(n):n}`,t.labelType=`markdown`,e.hasFoldedStereotype=!0,delete t.stereotype}}for(let t of e.edges)t.label!==void 0&&t.labelType===`text`&&(t.label=Uo(t.label));return e},`prepareUsecaseLayoutData`),Ko=t((e,t,n)=>{for(let r of t.nodes){let i=typeof r.domId==`string`?r.domId:Lo(t.diagramId,r.id),a=e.select(`#${i}`),o=r.isGroup?`boundary`:Io[r.shape]?`actor`:r.shape===`note`?`note`:r.shape===`usecaseJsonTable`?`json`:`usecase`,s=n.nodes.get(r.id)??r.id;if(a.attr(`data-usecase-id`,r.id).attr(`data-usecase-kind`,o).attr(`role`,`img`).attr(`aria-label`,s),!r.isGroup&&(r.shape===`usecaseEllipse`||r.shape===`rect`)&&`hasFoldedStereotype`in r&&r.hasFoldedStereotype===!0){let e=a.node(),t=e?.querySelector(`.nodeLabel`),n=t?.querySelector(`p`)??t,r=n?.firstChild;if(n&&r?.nodeType===3){let e=n.ownerDocument.createElement(`span`);e.className=`usecase-stereotype`,n.insertBefore(e,r),e.appendChild(r)}else e?.querySelector(`.label tspan tspan, .label tspan`)?.classList.add(`usecase-stereotype`)}}let i=new Map(t.edges.map(e=>[e.id,e]));e.selectAll(`path[data-et="edge"]`).each(function(){let e=i.get(this.getAttribute(`data-id`)??``);if(!e)return;let a=r(this);a.attr(`id`,Lo(t.diagramId,e.id)).attr(`data-usecase-id`,e.id).attr(`data-usecase-kind`,e.internal?`note-connector`:`relationship`),e.internal?a.attr(`aria-hidden`,`true`):a.attr(`role`,`img`).attr(`aria-label`,n.edges.get(e.id)??e.id)})},`annotateUsecaseElements`),qo=t((e,t)=>{e.style(`--mermaid-usecase-actor-font-size`,`${t.actorFontSize}px`).style(`--mermaid-usecase-actor-font-family`,t.actorFontFamily).style(`--mermaid-usecase-actor-font-weight`,t.actorFontWeight).style(`--mermaid-usecase-font-size`,`${t.usecaseFontSize}px`).style(`--mermaid-usecase-font-family`,t.usecaseFontFamily).style(`--mermaid-usecase-font-weight`,t.usecaseFontWeight)},`applyUsecaseFonts`),Jo={draw:t(async(t,r,i,a)=>{n.info(`Drawing usecase diagram (unified)`,r);let{layout:o}=l(),s=a.db,c=s.getData(),u=new Map(c.nodes.map(e=>[e.id,zo(e.label??e.id,e.labelType)])),d={nodes:new Map(c.nodes.map(e=>[e.id,e.isGroup?Vo(e):Bo(e.shape===`note`?{...e,noteTargetLabel:u.get(e.noteTarget??``)}:e)])),edges:new Map(c.edges.map(e=>[e.id,Ho({...e,sourceLabel:u.get(e.source)??e.sourceLabel,targetLabel:u.get(e.target)??e.targetLabel})]))},f=te(r,c.config.securityLevel);c.layoutAlgorithm=ie(o),Go(c,r),qo(f,c),await re(c,f),Ko(f,c,d);let p=c.diagramPadding;e.insertTitle(f,`usecaseDiagramTitleText`,0,s.getDiagramTitle?.()??``),ne(f,p,`usecaseDiagram`,c.useMaxWidth),qo(f,c)},`draw`)},Yo=t(e=>({actorBkg:e.usecaseActorBkg??e.actorBkg??e.mainBkg,actorBorder:e.usecaseActorBorder??e.actorBorder??e.primaryColor,bkg:e.usecaseBkg??e.mainBkg,border:e.usecaseBorder??e.nodeBorder??e.primaryColor,boundaryBkg:e.usecaseBoundaryBkg??e.clusterBkg,boundaryBorder:e.usecaseBoundaryBorder??e.clusterBorder,includeLine:e.usecaseIncludeLine??e.lineColor,extendLine:e.usecaseExtendLine??e.lineColor}),`roleColors`),Xo=t(e=>{let{theme:t,bkgColorArray:n,borderColorArray:r}=e;if(!_(t,r))return``;let i=p().usecase?.colorScheme===`rotate`,a=ee(e.look),o=a===`handDrawn`,s=v(n),c=``;for(let e=0;e<g(r);e++){let t=r[e],l=s?`fill: ${n[e%n.length]};`:``,u=`[data-look="${a}"][data-color-id="color-${e}"]`;c+=`
77
-
78
- & ${u}.system-boundary rect.boundary-body,
79
- & ${u}.system-boundary rect.boundary-tab,
80
- & ${u}.system-boundary .boundary-body path,
81
- & ${u}.system-boundary .boundary-tab path {
82
- stroke: ${t};
83
- ${l}
84
- }
85
- `,i&&(c+=`
86
-
87
- /* Use case bodies -- \`.usecase-element\` covers the ellipse form, the \`[Rect]\` form and
88
- the business variant.
89
-
90
- Element selectors only, never a bare \`path\`. Under the handDrawn look roughjs draws
91
- the body as a *pair* of paths, an outline stroked in the border colour and a hachure
92
- fill stroked in the background colour, with no class to tell them apart. Stroking
93
- both repaints the fill lines as border colour and the shape collapses into a solid
94
- block -- which is what \`.usecase-element path\` did. So handDrawn bodies keep the
95
- theme's uniform colours, exactly as handDrawn flowchart nodes do. */
96
- & ${u}.usecase-element ellipse,
97
- & ${u}.usecase-element rect {
98
- stroke: ${t};
99
- ${l}
100
- }
101
-
102
- /* The business marker is a single classed path, so it can be reached safely by name --
103
- without it the marker keeps the uniform border beside a palette-coloured body. No
104
- \`fill\`: the marker is drawn with \`fill="none"\` and has to stay that way. */
105
- & ${u}.usecase-element .usecase-business-marker {
106
- stroke: ${t};
107
- }
108
-
109
- /* Actor glyphs, mirroring the uniform rule further down. The fill goes on the glyph
110
- group, never on its children, so the hollow variant's own \`fill="none"\` keeps
111
- winning and a hollow actor stays hollow. Same reason as above for not descending
112
- into the handDrawn paths. */
113
- & ${u}.usecase-actor .usecase-actor-shape,
114
- & ${u}.usecase-actor .usecase-actor-hollow,
115
- & ${u}.usecase-actor .usecase-actor-awesome,
116
- & ${u}.usecase-actor .usecase-actor-icon {
117
- stroke: ${t};
118
- ${l}
119
- }
120
- ${o?``:`
121
- /* The group rule above reaches the glyph by inheritance, which the neo look breaks: it
122
- ships a \`[data-look="neo"].node path { stroke }\` rule that hits the glyph's own paths,
123
- and a value set directly on the child always beats one inherited from the parent,
124
- whatever the parent rule's specificity. So name the children too.
125
-
126
- Emitted for every look *except* handDrawn, where roughjs draws the glyph as an
127
- outline path plus a hachure fill path stroked in the fill colour, indistinguishable
128
- in CSS -- stroking both turns a hollow actor into a solid disc. Deliberately no
129
- \`fill\` either way, so the hollow variant's own \`fill="none"\` keeps winning. */
130
- & ${u}.usecase-actor .usecase-actor-glyph path,
131
- & ${u}.usecase-actor .usecase-actor-glyph circle {
132
- stroke: ${t};
133
- }
134
- `}
135
- `)}return c},`genColor`),Zo={parser:Po,db:Gi,renderer:Jo,styles:t(e=>{let t=Yo(e),n=ee(e.look)===`handDrawn`;return`
136
- ${Xo(e)}
137
- & .usecase-actor {
138
- color: ${e.actorTextColor??e.primaryTextColor};
139
- }
140
-
141
- & .usecase-actor-shape,
142
- & .usecase-actor-hollow,
143
- & .usecase-actor-awesome,
144
- & .usecase-actor-icon {
145
- fill: ${t.actorBkg};
146
- stroke: ${t.actorBorder};
147
- stroke-width: 2px;
148
- }
149
- ${n?``:`
150
- /* The rule above colours the glyph group and lets its children inherit, which the neo
151
- look breaks: it ships a \`[data-look="neo"].node path { stroke }\` rule that lands on
152
- the glyph's own paths, and a value set directly on a child always beats one inherited
153
- from its parent, whatever the parent rule's specificity. Since neo is the default look,
154
- without this every actor renders in the node border colour rather than the actor
155
- colour the rule above asks for.
156
-
157
- \`.node\` is in the selector to outrank that neo rule rather than tie with it: both
158
- would otherwise be one attribute plus one class plus one element, leaving the winner to
159
- depend on which stylesheet is concatenated last.
160
-
161
- Stroke only: the hollow variant's own \`fill="none"\` has to keep winning. */
162
- & .node.usecase-actor .usecase-actor-glyph path,
163
- & .node.usecase-actor .usecase-actor-glyph circle {
164
- stroke: ${t.actorBorder};
165
- }
166
- `}
167
- & .usecase-actor .nodeLabel,
168
- & .actor-label {
169
- color: ${e.actorTextColor??e.primaryTextColor};
170
- fill: ${e.actorTextColor??e.primaryTextColor};
171
- font-family: var(--mermaid-usecase-actor-font-family, ${e.fontFamily});
172
- font-size: var(--mermaid-usecase-actor-font-size, 14px);
173
- font-weight: var(--mermaid-usecase-actor-font-weight, normal);
174
- }
175
-
176
- & .usecase-element ellipse,
177
- & .usecase-element rect,
178
- & .usecase-business ellipse,
179
- & .usecase-business rect {
180
- fill: ${t.bkg};
181
- stroke: ${t.border};
182
- stroke-width: 2px;
183
- }
184
- ${n?``:`
185
- /* The same interception the actor glyph hits, one element down: neo ships
186
- \`[data-look="neo"].node rect { stroke: nodeBorder }\`, which outranks the plain
187
- \`.usecase-element rect\` above, so a use case written in the \`[Rect]\` form kept the node
188
- border colour while its ellipse siblings took the role colour. An \`<ellipse>\` has no
189
- equivalent neo rule and is already correct; restating it here costs nothing and means
190
- the two forms cannot drift apart again.
191
-
192
- Qualified with \`[data-look]\` *and* \`.node\` to land strictly above that rule rather than
193
- tie with it -- on a tie the later stylesheet would win, which is how neo took this in
194
- the first place. Skipped under handDrawn, where roughjs draws paths and neither element
195
- exists. */
196
- & [data-look="${ee(e.look)}"].node.usecase-element ellipse,
197
- & [data-look="${ee(e.look)}"].node.usecase-element rect {
198
- fill: ${t.bkg};
199
- stroke: ${t.border};
200
- }
201
-
202
- /* The business marker is a \`<path>\`, so it loses to \`[data-look="neo"].node path\` the same
203
- way. No \`fill\`: the marker is drawn with \`fill="none"\` and has to stay that way. */
204
- & [data-look="${ee(e.look)}"].node.usecase-element .usecase-business-marker {
205
- stroke: ${t.border};
206
- }
207
- `}
208
- & .usecase-element .nodeLabel,
209
- & .usecase-label {
210
- color: ${e.primaryTextColor};
211
- fill: ${e.primaryTextColor};
212
- font-family: var(--mermaid-usecase-font-family, ${e.fontFamily});
213
- font-size: var(--mermaid-usecase-font-size, 12px);
214
- font-weight: var(--mermaid-usecase-font-weight, normal);
215
- }
216
-
217
- & .usecase-stereotype,
218
- & .usecase-business-marker {
219
- color: ${e.primaryTextColor};
220
- fill: ${e.primaryTextColor};
221
- stroke: ${t.border};
222
- }
223
-
224
- & .system-boundary rect.boundary-body,
225
- & .system-boundary rect.boundary-tab,
226
- & .system-boundary-package-tab {
227
- fill: ${t.boundaryBkg};
228
- stroke: ${t.boundaryBorder};
229
- stroke-width: 1px;
230
- }
231
-
232
- & .system-boundary-title text {
233
- fill: ${e.titleColor??e.primaryTextColor};
234
- }
235
-
236
- /* Only the span, never the <p> inside it: the renderer puts a user-supplied
237
- 'color' on the span, and that has to stay inheritable by its children. */
238
- & .system-boundary-title span {
239
- color: ${e.titleColor??e.primaryTextColor};
240
- }
241
-
242
- & .usecase-note {
243
- fill: ${e.noteBkgColor};
244
- stroke: ${e.noteBorderColor};
245
- color: ${e.noteTextColor};
246
- }
247
-
248
- & .usecase-note .nodeLabel {
249
- color: ${e.noteTextColor};
250
- fill: ${e.noteTextColor};
251
- }
252
-
253
- & .usecase-json-table,
254
- & .usecase-json-table rect,
255
- & .usecase-json-cell {
256
- fill: ${e.mainBkg};
257
- stroke: ${e.nodeBorder??e.primaryColor};
258
- }
259
-
260
- & .usecase-json-title,
261
- & .usecase-json-key,
262
- & .usecase-json-value {
263
- color: ${e.primaryTextColor};
264
- fill: ${e.primaryTextColor};
265
- }
266
-
267
- & .relationship {
268
- fill: none;
269
- stroke: ${e.lineColor};
270
- }
271
-
272
- & .relationship-include,
273
- & .relationship-extend,
274
- & .relationship-note {
275
- stroke-dasharray: 3;
276
- }
277
-
278
- /* Include and extend are both dashed, which is a weak distinction at small sizes. The
279
- tokens default to \`lineColor\`, so a theme that does not set them is unchanged. */
280
- & .relationship-include {
281
- stroke: ${t.includeLine};
282
- }
283
-
284
- & .relationship-extend {
285
- stroke: ${t.extendLine};
286
- }
287
-
288
- & .relationship.edge-animation-fast,
289
- & .relationship.edge-animation-slow {
290
- stroke-linecap: round;
291
- }
292
-
293
- & .edgeLabel,
294
- & .edgeLabel p {
295
- background-color: ${e.edgeLabelBackground};
296
- }
297
-
298
- & .labelBkg {
299
- background-color: ${e.edgeLabelBackground};
300
- padding: 0 2px;
301
- }
302
-
303
- & .edgeLabel .label rect {
304
- fill: ${e.edgeLabelBackground};
305
- }
306
-
307
- & .relationship-label,
308
- & .edgeLabel {
309
- color: ${e.primaryTextColor};
310
- fill: ${e.primaryTextColor};
311
- font-family: ${e.fontFamily};
312
- font-size: 10px;
313
- font-weight: normal;
314
- }
315
-
316
- & .marker,
317
- & .marker.point,
318
- & .marker.circle,
319
- & .marker.cross {
320
- fill: ${e.lineColor};
321
- stroke: ${e.lineColor};
322
- }
323
-
324
- & .marker.extension {
325
- fill: ${e.mainBkg};
326
- stroke: ${e.lineColor};
327
- }
328
- `},`getStyles`)};export{Zo as diagram};