@xpert-ai/chatkit-ui 0.0.20 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (611) hide show
  1. package/dist/app/assets/_baseUniq-p9H3Gzep.js +1 -0
  2. package/dist/app/assets/abap-bJX3iBqH.js +1 -0
  3. package/dist/app/assets/abnf-BoiZ35EE.js +1 -0
  4. package/dist/app/assets/actionscript-D-H9vZ8b.js +1 -0
  5. package/dist/app/assets/ada-Bne3WpOl.js +1 -0
  6. package/dist/app/assets/agda-C938cagi.js +1 -0
  7. package/dist/app/assets/al-Dcxw3Vj0.js +1 -0
  8. package/dist/app/assets/antlr4-uTm2QqyV.js +1 -0
  9. package/dist/app/assets/apacheconf-D52D513G.js +1 -0
  10. package/dist/app/assets/apex-B76H7J4g.js +1 -0
  11. package/dist/app/assets/apl-CzLk42pF.js +1 -0
  12. package/dist/app/assets/applescript-Dx8Ig-Eo.js +1 -0
  13. package/dist/app/assets/aql-wjx32tAU.js +1 -0
  14. package/dist/app/assets/arc-B32_yhh0.js +1 -0
  15. package/dist/app/assets/architectureDiagram-Q4EWVU46-Ba-C8DAI.js +36 -0
  16. package/dist/app/assets/arduino-BwKDxTSS.js +1 -0
  17. package/dist/app/assets/arff-DrkRViyY.js +1 -0
  18. package/dist/app/assets/asciidoc-BGLZq9v8.js +1 -0
  19. package/dist/app/assets/asm6502-MsEWIyJj.js +1 -0
  20. package/dist/app/assets/asmatmel-CeHxqS5T.js +1 -0
  21. package/dist/app/assets/aspnet-CmsQfR5a.js +1 -0
  22. package/dist/app/assets/autohotkey-Cusm-zTm.js +1 -0
  23. package/dist/app/assets/autoit-Da8gsEm-.js +1 -0
  24. package/dist/app/assets/avisynth-C46xLzyo.js +1 -0
  25. package/dist/app/assets/avro-idl-D2WmoYBG.js +1 -0
  26. package/dist/app/assets/{basic-B-OOkRrw.js → bash-BrsKn3za.js} +1 -1
  27. package/dist/app/assets/basic-Dt5oGQ8B.js +1 -0
  28. package/dist/app/assets/batch-DtrIlfXi.js +1 -0
  29. package/dist/app/assets/bbcode-BWYlAYoE.js +1 -0
  30. package/dist/app/assets/bicep-C4sxks0f.js +1 -0
  31. package/dist/app/assets/birb-gYyyIZ-F.js +1 -0
  32. package/dist/app/assets/bison-or-umhj6.js +1 -0
  33. package/dist/app/assets/blockDiagram-DXYQGD6D-5oqbPp8P.js +132 -0
  34. package/dist/app/assets/bnf-BQR7hfk2.js +1 -0
  35. package/dist/app/assets/brainfuck-DkQqhNHv.js +1 -0
  36. package/dist/app/assets/brightscript-rGhg0HBT.js +1 -0
  37. package/dist/app/assets/bro-CIgtBg0f.js +1 -0
  38. package/dist/app/assets/bsl-C4geIkQv.js +1 -0
  39. package/dist/app/assets/c-Cw5181Rv.js +1 -0
  40. package/dist/app/assets/c4Diagram-AHTNJAMY-BKyN5n0Y.js +10 -0
  41. package/dist/app/assets/cfscript-DHPNMvWS.js +1 -0
  42. package/dist/app/assets/chaiscript-Cd8c0hJ8.js +1 -0
  43. package/dist/app/assets/channel-Cx11sSAI.js +1 -0
  44. package/dist/app/assets/chunk-4BX2VUAB-CfLubn_X.js +1 -0
  45. package/dist/app/assets/chunk-4TB4RGXK-Bhehm3S4.js +206 -0
  46. package/dist/app/assets/chunk-55IACEB6-D0Zgi2qX.js +1 -0
  47. package/dist/app/assets/chunk-EDXVE4YY-DzMULs0l.js +1 -0
  48. package/dist/app/assets/chunk-FMBD7UC4-CEU9agAN.js +15 -0
  49. package/dist/app/assets/chunk-OYMX7WX6-C-avxOs6.js +231 -0
  50. package/dist/app/assets/chunk-QZHKN3VN-C66xsvBW.js +1 -0
  51. package/dist/app/assets/chunk-YZCP3GAM-DZlwMcoL.js +1 -0
  52. package/dist/app/assets/cil-L3oWT8Nl.js +1 -0
  53. package/dist/app/assets/classDiagram-6PBFFD2Q-BQrwJXsB.js +1 -0
  54. package/dist/app/assets/classDiagram-v2-HSJHXN6E-BQrwJXsB.js +1 -0
  55. package/dist/app/assets/clike-CHF9NJQa.js +1 -0
  56. package/dist/app/assets/clojure-YgRWUbgr.js +1 -0
  57. package/dist/app/assets/clone-DHPdZQ_6.js +1 -0
  58. package/dist/app/assets/cmake-TK-Cvlxu.js +1 -0
  59. package/dist/app/assets/cobol-XSbSVVcZ.js +1 -0
  60. package/dist/app/assets/coffeescript-HxNd9-Ob.js +1 -0
  61. package/dist/app/assets/concurnas-DK3wUjjD.js +1 -0
  62. package/dist/app/assets/coq-B9Rq7NUE.js +1 -0
  63. package/dist/app/assets/core-B1vWjEfj.js +1 -0
  64. package/dist/app/assets/cose-bilkent-S5V4N54A-4PebjqsX.js +1 -0
  65. package/dist/app/assets/cpp-DUWMh-8O.js +1 -0
  66. package/dist/app/assets/crystal-rYgGF4lS.js +1 -0
  67. package/dist/app/assets/csharp-eqTMyksU.js +1 -0
  68. package/dist/app/assets/cshtml-DSv9-mpk.js +1 -0
  69. package/dist/app/assets/csp-DyZfVzvb.js +1 -0
  70. package/dist/app/assets/css-DYXyUyJe.js +1 -0
  71. package/dist/app/assets/css-extras-FP15zHq8.js +1 -0
  72. package/dist/app/assets/csv-Bp1iUR7c.js +1 -0
  73. package/dist/app/assets/cypher-BjXgs7Y3.js +1 -0
  74. package/dist/app/assets/cytoscape.esm-DkOyvmE4.js +321 -0
  75. package/dist/app/assets/d-Bquc1S6a.js +1 -0
  76. package/dist/app/assets/dagre-KV5264BT-D9OICDLb.js +4 -0
  77. package/dist/app/assets/dart-DrKyO7TC.js +1 -0
  78. package/dist/app/assets/dataweave-BgpsWzO7.js +1 -0
  79. package/dist/app/assets/dax-BwP1SyCZ.js +1 -0
  80. package/dist/app/assets/defaultLocale-DX6XiGOO.js +1 -0
  81. package/dist/app/assets/dhall-BA5nXB8V.js +1 -0
  82. package/dist/app/assets/diagram-5BDNPKRD-BIFTIy6n.js +10 -0
  83. package/dist/app/assets/diagram-G4DWMVQ6-BCVIBrZ2.js +24 -0
  84. package/dist/app/assets/diagram-MMDJMWI5-43z4NaFN.js +43 -0
  85. package/dist/app/assets/diagram-TYMM5635-BDZjM1c_.js +24 -0
  86. package/dist/app/assets/diff-Yc6a7YOT.js +3 -0
  87. package/dist/app/assets/django-B61BBi1t.js +1 -0
  88. package/dist/app/assets/dns-zone-file-DtXhOJHq.js +1 -0
  89. package/dist/app/assets/docker-BLh9n10i.js +1 -0
  90. package/dist/app/assets/dot-BbSnn0Ap.js +1 -0
  91. package/dist/app/assets/ebnf-D_ljHBdb.js +1 -0
  92. package/dist/app/assets/editorconfig-BQXrLGC5.js +1 -0
  93. package/dist/app/assets/eiffel-Cm3FUI5X.js +1 -0
  94. package/dist/app/assets/ejs-CIp2UdDw.js +1 -0
  95. package/dist/app/assets/elixir-DXlWBe5R.js +1 -0
  96. package/dist/app/assets/elm-ECxjLCR-.js +1 -0
  97. package/dist/app/assets/erDiagram-SMLLAGMA-B9I89ndp.js +85 -0
  98. package/dist/app/assets/erb-FzgX8ydn.js +1 -0
  99. package/dist/app/assets/erlang-CzvdSvoz.js +1 -0
  100. package/dist/app/assets/etlua-C3Zsz3RA.js +1 -0
  101. package/dist/app/assets/excel-formula-Cua38PQJ.js +1 -0
  102. package/dist/app/assets/factor-CSAzXoQb.js +1 -0
  103. package/dist/app/assets/false-NSFMCUjP.js +1 -0
  104. package/dist/app/assets/firestore-security-rules-BjNYwvNe.js +1 -0
  105. package/dist/app/assets/flow-BuZaM8y6.js +1 -0
  106. package/dist/app/assets/flowDiagram-DWJPFMVM-CWmW_muY.js +162 -0
  107. package/dist/app/assets/fortran-Cc_f_mSH.js +1 -0
  108. package/dist/app/assets/fsharp-IelQ4Z-Z.js +1 -0
  109. package/dist/app/assets/ftl-Ddl9DDyG.js +1 -0
  110. package/dist/app/assets/ganttDiagram-T4ZO3ILL-CuR1J7dx.js +292 -0
  111. package/dist/app/assets/gap-D3W6p-Jp.js +1 -0
  112. package/dist/app/assets/gcode-Bn8O4UOx.js +1 -0
  113. package/dist/app/assets/gdscript-B4nck3Az.js +1 -0
  114. package/dist/app/assets/gedcom-BCTZRsxn.js +1 -0
  115. package/dist/app/assets/gherkin-CFCJQug9.js +1 -0
  116. package/dist/app/assets/git-Dd2t83_l.js +1 -0
  117. package/dist/app/assets/gitGraphDiagram-UUTBAWPF-DzscVnaS.js +106 -0
  118. package/dist/app/assets/glsl-NXGZDuA9.js +1 -0
  119. package/dist/app/assets/gml-DtS9_99j.js +1 -0
  120. package/dist/app/assets/gn-C6VmNt4U.js +1 -0
  121. package/dist/app/assets/go-module-CmBM8SA1.js +1 -0
  122. package/dist/app/assets/go-otK-v_nb.js +1 -0
  123. package/dist/app/assets/graph-BelNBDAZ.js +1 -0
  124. package/dist/app/assets/graphql-JPlPKrhh.js +1 -0
  125. package/dist/app/assets/groovy-CkMUqzIt.js +1 -0
  126. package/dist/app/assets/haml-DwaIQOGd.js +1 -0
  127. package/dist/app/assets/handlebars-Ck6RB1iw.js +1 -0
  128. package/dist/app/assets/haskell-BxYLBxBa.js +1 -0
  129. package/dist/app/assets/haxe-C4OMV9zJ.js +1 -0
  130. package/dist/app/assets/hcl-DVznmODf.js +1 -0
  131. package/dist/app/assets/hlsl-Z_ySkish.js +1 -0
  132. package/dist/app/assets/hoon-UWT3k4H8.js +1 -0
  133. package/dist/app/assets/hpkp-CXa39f7J.js +1 -0
  134. package/dist/app/assets/hsts-CJF4yNvU.js +1 -0
  135. package/dist/app/assets/http-BxOKxlr4.js +1 -0
  136. package/dist/app/assets/ichigojam-Csb66zY2.js +1 -0
  137. package/dist/app/assets/icon-DxphTQI9.js +1 -0
  138. package/dist/app/assets/icu-message-format-CSZfssuP.js +1 -0
  139. package/dist/app/assets/idris-BmXANiaa.js +1 -0
  140. package/dist/app/assets/iecst-FfznJdjL.js +1 -0
  141. package/dist/app/assets/ignore-C3IKkXMi.js +1 -0
  142. package/dist/app/assets/index-D972kqET.css +1 -0
  143. package/dist/app/assets/index-DmMWBDJR.js +747 -0
  144. package/dist/app/assets/infoDiagram-42DDH7IO-rTeQPEt4.js +2 -0
  145. package/dist/app/assets/inform7-Dk4gPo4b.js +1 -0
  146. package/dist/app/assets/ini-CClGKGMe.js +1 -0
  147. package/dist/app/assets/init-Gi6I4Gst.js +1 -0
  148. package/dist/app/assets/io-6YtqLtET.js +1 -0
  149. package/dist/app/assets/ishikawaDiagram-UXIWVN3A-BBnJ9iuN.js +70 -0
  150. package/dist/app/assets/j-DBPrIcAG.js +1 -0
  151. package/dist/app/assets/java-CopGP3Lu.js +1 -0
  152. package/dist/app/assets/javadoc-C8F3ifW2.js +1 -0
  153. package/dist/app/assets/javadoclike-BNVFpoJC.js +1 -0
  154. package/dist/app/assets/javascript-BMkkas2q.js +1 -0
  155. package/dist/app/assets/javastacktrace-DuykBujE.js +1 -0
  156. package/dist/app/assets/jexl-BSWOm8s5.js +1 -0
  157. package/dist/app/assets/jolie-CdkOmKFM.js +1 -0
  158. package/dist/app/assets/journeyDiagram-VCZTEJTY-CRDpL_1T.js +139 -0
  159. package/dist/app/assets/jq-Nr0Kxpxc.js +1 -0
  160. package/dist/app/assets/js-extras-CA8iZ_E5.js +1 -0
  161. package/dist/app/assets/js-templates-BoqcQW67.js +1 -0
  162. package/dist/app/assets/jsdoc-CeMFl6xP.js +1 -0
  163. package/dist/app/assets/json-CrSHUueM.js +1 -0
  164. package/dist/app/assets/json5-BBfX460l.js +1 -0
  165. package/dist/app/assets/jsonp-DHEqmGWL.js +1 -0
  166. package/dist/app/assets/jsstacktrace-BK3SuvsS.js +1 -0
  167. package/dist/app/assets/jsx-CjR3dp14.js +1 -0
  168. package/dist/app/assets/julia-BJJ6LUnI.js +1 -0
  169. package/dist/app/assets/kanban-definition-6JOO6SKY-Dztk4Auy.js +89 -0
  170. package/dist/app/assets/keepalived-CjGUJvsk.js +1 -0
  171. package/dist/app/assets/keyman-Bogz-7f0.js +1 -0
  172. package/dist/app/assets/kotlin-DGdetcAk.js +1 -0
  173. package/dist/app/assets/kumir-Czhml4-j.js +1 -0
  174. package/dist/app/assets/kusto-BuL9qwXk.js +1 -0
  175. package/dist/app/assets/latex-BAc_zS_4.js +1 -0
  176. package/dist/app/assets/latte-BzZFX_wH.js +1 -0
  177. package/dist/app/assets/layout-DOHRtR3x.js +1 -0
  178. package/dist/app/assets/less-DATW_Ot3.js +1 -0
  179. package/dist/app/assets/lilypond-DSmAdE7B.js +1 -0
  180. package/dist/app/assets/linear-rr7FzlEM.js +1 -0
  181. package/dist/app/assets/liquid-CF8lqz9m.js +1 -0
  182. package/dist/app/assets/lisp-BUPAsWUh.js +1 -0
  183. package/dist/app/assets/livescript-B8CIEQDH.js +1 -0
  184. package/dist/app/assets/llvm-DGaRc9w0.js +1 -0
  185. package/dist/app/assets/log-XuE3Wqn5.js +1 -0
  186. package/dist/app/assets/lolcode-Clk-p_j2.js +1 -0
  187. package/dist/app/assets/{java-CNwVyXY2.js → lua-BLczZbJa.js} +1 -1
  188. package/dist/app/assets/magma-DTO3ftgF.js +1 -0
  189. package/dist/app/assets/makefile-OSVaZHmV.js +1 -0
  190. package/dist/app/assets/markdown-InD7dXs9.js +1 -0
  191. package/dist/app/assets/markup-BN6MlRZT.js +1 -0
  192. package/dist/app/assets/markup-templating-DRXAmI1c.js +1 -0
  193. package/dist/app/assets/matlab-CV_q70_G.js +1 -0
  194. package/dist/app/assets/maxscript-Ck_8H__C.js +1 -0
  195. package/dist/app/assets/mel-D9MU0rZa.js +1 -0
  196. package/dist/app/assets/mermaid-DshECBS6.js +1 -0
  197. package/dist/app/assets/min-CfLzpwyh.js +1 -0
  198. package/dist/app/assets/mindmap-definition-QFDTVHPH-C7XGlydX.js +96 -0
  199. package/dist/app/assets/mizar-WBJ-SwIG.js +1 -0
  200. package/dist/app/assets/mongodb-CmzRTKBq.js +1 -0
  201. package/dist/app/assets/monkey-W1yB--1T.js +1 -0
  202. package/dist/app/assets/moonscript-BD5hlCXn.js +1 -0
  203. package/dist/app/assets/n1ql-CwugAEoM.js +1 -0
  204. package/dist/app/assets/n4js-tFC-Lsvd.js +1 -0
  205. package/dist/app/assets/nand2tetris-hdl-hzvfBJxH.js +1 -0
  206. package/dist/app/assets/naniscript-DUtjoUL1.js +1 -0
  207. package/dist/app/assets/nasm-Dcckq6ib.js +1 -0
  208. package/dist/app/assets/neon-DeVv09BE.js +1 -0
  209. package/dist/app/assets/nevod-CAq9Kfwt.js +1 -0
  210. package/dist/app/assets/nginx-C8GHDEqt.js +1 -0
  211. package/dist/app/assets/nim-BqdyUedD.js +1 -0
  212. package/dist/app/assets/nix-514mCcjs.js +1 -0
  213. package/dist/app/assets/nsis-CdKqXn3g.js +1 -0
  214. package/dist/app/assets/objectivec-uPp8iMUn.js +1 -0
  215. package/dist/app/assets/ocaml-D4EB6rFL.js +1 -0
  216. package/dist/app/assets/opencl-BN8tmrp-.js +1 -0
  217. package/dist/app/assets/openqasm-CZT9yVLH.js +1 -0
  218. package/dist/app/assets/ordinal-Cboi1Yqb.js +1 -0
  219. package/dist/app/assets/oz-xEnzbfGI.js +1 -0
  220. package/dist/app/assets/parigp-PN33G_ZS.js +1 -0
  221. package/dist/app/assets/parser-YigtK2Gn.js +1 -0
  222. package/dist/app/assets/pascal-BSQHqJO2.js +1 -0
  223. package/dist/app/assets/pascaligo-B3om_nlX.js +1 -0
  224. package/dist/app/assets/pcaxis-B_qwjIH4.js +1 -0
  225. package/dist/app/assets/peoplecode-G3CTxh8q.js +1 -0
  226. package/dist/app/assets/perl-CBvGMSZZ.js +1 -0
  227. package/dist/app/assets/php-DewJLtev.js +1 -0
  228. package/dist/app/assets/php-extras-BT2DdjGn.js +1 -0
  229. package/dist/app/assets/phpdoc-DiQXOd9D.js +1 -0
  230. package/dist/app/assets/pieDiagram-DEJITSTG-CYXmqIpD.js +30 -0
  231. package/dist/app/assets/plsql-BzUO3h3t.js +1 -0
  232. package/dist/app/assets/powerquery-D_713gdU.js +1 -0
  233. package/dist/app/assets/powershell-D7IGyPyT.js +1 -0
  234. package/dist/app/assets/processing-CULfTuKk.js +1 -0
  235. package/dist/app/assets/prolog-DI8sHw_1.js +1 -0
  236. package/dist/app/assets/promql-DdWPpZzX.js +1 -0
  237. package/dist/app/assets/properties-UUBptvjg.js +1 -0
  238. package/dist/app/assets/protobuf-Yh4lBroy.js +1 -0
  239. package/dist/app/assets/psl-CKuqp255.js +1 -0
  240. package/dist/app/assets/pug-Duz4hJlP.js +1 -0
  241. package/dist/app/assets/puppet-Tenfq4aE.js +1 -0
  242. package/dist/app/assets/pure-CTE3YKFb.js +1 -0
  243. package/dist/app/assets/purebasic-BzV6ZqWW.js +1 -0
  244. package/dist/app/assets/purescript-CjSCYtGb.js +1 -0
  245. package/dist/app/assets/q-BTX8RKFy.js +1 -0
  246. package/dist/app/assets/qml-CGjBjP81.js +1 -0
  247. package/dist/app/assets/qore-5Gggmt2I.js +1 -0
  248. package/dist/app/assets/qsharp-DhqE1FPx.js +1 -0
  249. package/dist/app/assets/quadrantDiagram-34T5L4WZ-BbnPMKp-.js +7 -0
  250. package/dist/app/assets/r-Dr0jr5tD.js +1 -0
  251. package/dist/app/assets/racket-NVUa01EO.js +1 -0
  252. package/dist/app/assets/reason-Bx5CI0l0.js +1 -0
  253. package/dist/app/assets/regex-12879jLK.js +1 -0
  254. package/dist/app/assets/rego-w2Fhvb_N.js +1 -0
  255. package/dist/app/assets/renpy-gPxX0z3Q.js +1 -0
  256. package/dist/app/assets/requirementDiagram-MS252O5E-BhOU7uOd.js +84 -0
  257. package/dist/app/assets/rest-C39bU2b1.js +1 -0
  258. package/dist/app/assets/rip-RLtTVF0Y.js +1 -0
  259. package/dist/app/assets/roboconf-BJckt4oD.js +1 -0
  260. package/dist/app/assets/robotframework-DCR96jiT.js +1 -0
  261. package/dist/app/assets/ruby-CRs8uxXB.js +1 -0
  262. package/dist/app/assets/rust-C0bGL254.js +1 -0
  263. package/dist/app/assets/sankeyDiagram-XADWPNL6-CFgkd6GO.js +10 -0
  264. package/dist/app/assets/sas-CkLtpL1M.js +1 -0
  265. package/dist/app/assets/sass-FNfCYuQd.js +1 -0
  266. package/dist/app/assets/scala-Dy5lip5O.js +1 -0
  267. package/dist/app/assets/scheme-pkKED5As.js +1 -0
  268. package/dist/app/assets/scss-DrZ4F_S5.js +1 -0
  269. package/dist/app/assets/sequenceDiagram-FGHM5R23-t5z2WRg9.js +157 -0
  270. package/dist/app/assets/shell-session-tfqRzQ64.js +1 -0
  271. package/dist/app/assets/smali-D9oJJF_a.js +1 -0
  272. package/dist/app/assets/smalltalk-FhicZwdZ.js +1 -0
  273. package/dist/app/assets/smarty-RTVkhvGe.js +1 -0
  274. package/dist/app/assets/sml-8jU1U62j.js +1 -0
  275. package/dist/app/assets/solidity-DLvpuywG.js +1 -0
  276. package/dist/app/assets/solution-file-BOwCbL9x.js +1 -0
  277. package/dist/app/assets/soy-Dye6FppK.js +1 -0
  278. package/dist/app/assets/sparql-BRIOTA6e.js +1 -0
  279. package/dist/app/assets/splunk-spl-xjEKSM5T.js +1 -0
  280. package/dist/app/assets/sqf-BTXRZqz9.js +1 -0
  281. package/dist/app/assets/sql-LIGcsz7H.js +1 -0
  282. package/dist/app/assets/squirrel-D1i-yP9F.js +1 -0
  283. package/dist/app/assets/stan-Bz-MTQlG.js +1 -0
  284. package/dist/app/assets/stateDiagram-FHFEXIEX-INV79XkW.js +1 -0
  285. package/dist/app/assets/stateDiagram-v2-QKLJ7IA2-DkwGLXRp.js +1 -0
  286. package/dist/app/assets/stylus-CPcHbGGR.js +1 -0
  287. package/dist/app/assets/swift-CMnIAhC_.js +1 -0
  288. package/dist/app/assets/systemd-CnQ86vtn.js +2 -0
  289. package/dist/app/assets/t4-cs-ClADD8kZ.js +1 -0
  290. package/dist/app/assets/t4-templating-BxEXIn9V.js +1 -0
  291. package/dist/app/assets/t4-vb-BuQFrDQM.js +1 -0
  292. package/dist/app/assets/tap-D-OeTv7J.js +1 -0
  293. package/dist/app/assets/tcl-D4EWmvqA.js +1 -0
  294. package/dist/app/assets/textile-vCa5WeBr.js +1 -0
  295. package/dist/app/assets/timeline-definition-GMOUNBTQ-CZVpkWZR.js +120 -0
  296. package/dist/app/assets/toml-CyQfWyMg.js +1 -0
  297. package/dist/app/assets/tremor-DTpakXR3.js +1 -0
  298. package/dist/app/assets/tt2-I3k-jzpY.js +1 -0
  299. package/dist/app/assets/turtle-BjS87MX7.js +1 -0
  300. package/dist/app/assets/twig-BYK2hDMY.js +1 -0
  301. package/dist/app/assets/typescript-DNEOvUVG.js +1 -0
  302. package/dist/app/assets/typoscript-hqzFge6d.js +1 -0
  303. package/dist/app/assets/unrealscript-_-NzaZj0.js +1 -0
  304. package/dist/app/assets/uorazor-BMR9qMW5.js +1 -0
  305. package/dist/app/assets/uri-BSGWfMxZ.js +1 -0
  306. package/dist/app/assets/v-CLtdeXIK.js +1 -0
  307. package/dist/app/assets/vala-wzCcqtKA.js +1 -0
  308. package/dist/app/assets/{turtle-D8pkqXh1.js → vbnet-DGCLmXdC.js} +1 -1
  309. package/dist/app/assets/velocity-DX_5gTOq.js +1 -0
  310. package/dist/app/assets/vennDiagram-DHZGUBPP-Dq1FXdcO.js +34 -0
  311. package/dist/app/assets/verilog-DeAFTKrK.js +1 -0
  312. package/dist/app/assets/vhdl-CgPp3m3I.js +1 -0
  313. package/dist/app/assets/vim-ZY6C4NgO.js +1 -0
  314. package/dist/app/assets/visual-basic-DmV7laqn.js +1 -0
  315. package/dist/app/assets/wardley-RL74JXVD-OqiGOeix.js +162 -0
  316. package/dist/app/assets/wardleyDiagram-NUSXRM2D-XXEOUAR6.js +20 -0
  317. package/dist/app/assets/warpscript-CST9Acbf.js +1 -0
  318. package/dist/app/assets/wasm-D44TvCcf.js +1 -0
  319. package/dist/app/assets/web-idl-CUAX3ogm.js +1 -0
  320. package/dist/app/assets/wiki-KNEqZQWK.js +1 -0
  321. package/dist/app/assets/wolfram-CZdD1bRd.js +1 -0
  322. package/dist/app/assets/wren-PITvEkQ4.js +1 -0
  323. package/dist/app/assets/xeora-BM_ABt9y.js +1 -0
  324. package/dist/app/assets/xml-doc-249eg8mF.js +1 -0
  325. package/dist/app/assets/xojo-M3SASV_b.js +1 -0
  326. package/dist/app/assets/xquery-BWv2VkcM.js +1 -0
  327. package/dist/app/assets/xychartDiagram-5P7HB3ND-CvXT15VO.js +7 -0
  328. package/dist/app/assets/yaml-B70AwQ7Y.js +1 -0
  329. package/dist/app/assets/yang-DffrsIpd.js +1 -0
  330. package/dist/app/assets/zig-C9vlYfKL.js +1 -0
  331. package/dist/app/index.html +2 -2
  332. package/dist/index.cjs +2734 -595
  333. package/dist/index.d.cts +20 -5
  334. package/dist/index.d.ts +20 -5
  335. package/dist/index.js +2768 -592
  336. package/package.json +8 -4
  337. package/dist/app/assets/abap-CabZ0vYL.js +0 -1
  338. package/dist/app/assets/abnf-CPoubvVG.js +0 -1
  339. package/dist/app/assets/actionscript-CL1BPQFv.js +0 -1
  340. package/dist/app/assets/ada-BOt55oS4.js +0 -1
  341. package/dist/app/assets/agda-DKyUkxie.js +0 -1
  342. package/dist/app/assets/al-Jnhqb7P-.js +0 -1
  343. package/dist/app/assets/antlr4-BeT3YbbK.js +0 -1
  344. package/dist/app/assets/apacheconf-Ck_DRZXY.js +0 -1
  345. package/dist/app/assets/apex-CPjbO0O4.js +0 -1
  346. package/dist/app/assets/apl-Ccs4_jOU.js +0 -1
  347. package/dist/app/assets/applescript-C6i7vo8F.js +0 -1
  348. package/dist/app/assets/aql-D3ZWY-VL.js +0 -1
  349. package/dist/app/assets/arduino-xTj3TTXg.js +0 -1
  350. package/dist/app/assets/arff-BOuVccGR.js +0 -1
  351. package/dist/app/assets/asciidoc-BmShvnn0.js +0 -1
  352. package/dist/app/assets/asm6502-6FWPK68i.js +0 -1
  353. package/dist/app/assets/asmatmel-KLAd82QV.js +0 -1
  354. package/dist/app/assets/aspnet-vZiSZd1y.js +0 -1
  355. package/dist/app/assets/autohotkey-tcBDP1b7.js +0 -1
  356. package/dist/app/assets/autoit-Bwt0tLM_.js +0 -1
  357. package/dist/app/assets/avisynth-Bzz43Lfu.js +0 -1
  358. package/dist/app/assets/avro-idl-Bt9aSyrD.js +0 -1
  359. package/dist/app/assets/bash-BloO3C-T.js +0 -1
  360. package/dist/app/assets/batch-aOUu2msA.js +0 -1
  361. package/dist/app/assets/bbcode-C4D8vm8O.js +0 -1
  362. package/dist/app/assets/bicep-BtBByAYv.js +0 -1
  363. package/dist/app/assets/birb-BKXLouTf.js +0 -1
  364. package/dist/app/assets/bison-CniuHJJN.js +0 -1
  365. package/dist/app/assets/bnf-CGcuZYv2.js +0 -1
  366. package/dist/app/assets/brainfuck-C9dlh056.js +0 -1
  367. package/dist/app/assets/brightscript-nhHFw9_4.js +0 -1
  368. package/dist/app/assets/bro-BTsReVOc.js +0 -1
  369. package/dist/app/assets/bsl-CmOTwcFR.js +0 -1
  370. package/dist/app/assets/c-Yjfq4oES.js +0 -1
  371. package/dist/app/assets/cfscript-DGhYlgJ7.js +0 -1
  372. package/dist/app/assets/chaiscript-CpP8bBSU.js +0 -1
  373. package/dist/app/assets/cil-CZ7j4pcz.js +0 -1
  374. package/dist/app/assets/clike-D581thF2.js +0 -1
  375. package/dist/app/assets/clojure-AXVmar0o.js +0 -1
  376. package/dist/app/assets/cmake-BozSSfax.js +0 -1
  377. package/dist/app/assets/cobol-OciN9vwY.js +0 -1
  378. package/dist/app/assets/coffeescript-B9yMzVL5.js +0 -1
  379. package/dist/app/assets/concurnas-DeQIM64O.js +0 -1
  380. package/dist/app/assets/coq-CicPksao.js +0 -1
  381. package/dist/app/assets/core-BIcqXTaK.js +0 -1
  382. package/dist/app/assets/cpp-DKQF7403.js +0 -1
  383. package/dist/app/assets/crystal-Bcau7QFZ.js +0 -1
  384. package/dist/app/assets/csharp-BYghYpTl.js +0 -1
  385. package/dist/app/assets/cshtml-BIxIGrsH.js +0 -1
  386. package/dist/app/assets/csp-CzDOD-m1.js +0 -1
  387. package/dist/app/assets/css-CPRwU6oY.js +0 -1
  388. package/dist/app/assets/css-extras-C28yWYxN.js +0 -1
  389. package/dist/app/assets/csv-D8IAZwKO.js +0 -1
  390. package/dist/app/assets/cypher-0hMRBt8D.js +0 -1
  391. package/dist/app/assets/d-B5PQgXXo.js +0 -1
  392. package/dist/app/assets/dart-CvCyf8me.js +0 -1
  393. package/dist/app/assets/dataweave-Izl0xtz9.js +0 -1
  394. package/dist/app/assets/dax-D-bGAkbS.js +0 -1
  395. package/dist/app/assets/dhall-DXIOSM5Q.js +0 -1
  396. package/dist/app/assets/diff-BE-xKdIi.js +0 -3
  397. package/dist/app/assets/django-DxEZdkeU.js +0 -1
  398. package/dist/app/assets/dns-zone-file-D406E4S7.js +0 -1
  399. package/dist/app/assets/docker-BZkb2U00.js +0 -1
  400. package/dist/app/assets/dot-BGJNVmx1.js +0 -1
  401. package/dist/app/assets/ebnf-_PEATas2.js +0 -1
  402. package/dist/app/assets/editorconfig-C1UuLwJC.js +0 -1
  403. package/dist/app/assets/eiffel-PzXVtlzf.js +0 -1
  404. package/dist/app/assets/ejs-707c0691.js +0 -1
  405. package/dist/app/assets/elixir-Bd3zWMjP.js +0 -1
  406. package/dist/app/assets/elm-DvEDEOdK.js +0 -1
  407. package/dist/app/assets/erb-B6lZT1P9.js +0 -1
  408. package/dist/app/assets/erlang-BwhqRmQk.js +0 -1
  409. package/dist/app/assets/etlua-Bkg93PrU.js +0 -1
  410. package/dist/app/assets/excel-formula-BD0I0dyD.js +0 -1
  411. package/dist/app/assets/factor-CiQgOsxY.js +0 -1
  412. package/dist/app/assets/false-DlJ-f_Rc.js +0 -1
  413. package/dist/app/assets/firestore-security-rules-CxrEhPSm.js +0 -1
  414. package/dist/app/assets/flow-DOjTBDi4.js +0 -1
  415. package/dist/app/assets/fortran-D6uA-pWI.js +0 -1
  416. package/dist/app/assets/fsharp-CFL1DcvT.js +0 -1
  417. package/dist/app/assets/ftl-DzWZwecM.js +0 -1
  418. package/dist/app/assets/gap-DatQeRFY.js +0 -1
  419. package/dist/app/assets/gcode-5FSxboIT.js +0 -1
  420. package/dist/app/assets/gdscript-Dz-OC8bG.js +0 -1
  421. package/dist/app/assets/gedcom-BS0539Ys.js +0 -1
  422. package/dist/app/assets/gherkin-BJKrWYAT.js +0 -1
  423. package/dist/app/assets/git-DCjIevVw.js +0 -1
  424. package/dist/app/assets/glsl-toSXKJrw.js +0 -1
  425. package/dist/app/assets/gml-DODsSWU7.js +0 -1
  426. package/dist/app/assets/gn-CzmtMWMm.js +0 -1
  427. package/dist/app/assets/go-BCQUEKVv.js +0 -1
  428. package/dist/app/assets/go-module-BbcV-9oG.js +0 -1
  429. package/dist/app/assets/graphql-C_KxCYJO.js +0 -1
  430. package/dist/app/assets/groovy-Cj97iKYK.js +0 -1
  431. package/dist/app/assets/haml-tLXJGYDb.js +0 -1
  432. package/dist/app/assets/handlebars-DIdVe3xN.js +0 -1
  433. package/dist/app/assets/haskell-DPqw5u4H.js +0 -1
  434. package/dist/app/assets/haxe-AsnHNCIR.js +0 -1
  435. package/dist/app/assets/hcl-C6aoWR34.js +0 -1
  436. package/dist/app/assets/hlsl-B2hhU30-.js +0 -1
  437. package/dist/app/assets/hoon-Bs-KhWO3.js +0 -1
  438. package/dist/app/assets/hpkp-C-J4O-Mp.js +0 -1
  439. package/dist/app/assets/hsts-BNFEkSnm.js +0 -1
  440. package/dist/app/assets/http-D7UlQANy.js +0 -1
  441. package/dist/app/assets/ichigojam-B01TJ8BA.js +0 -1
  442. package/dist/app/assets/icon-Ca_ghvQd.js +0 -1
  443. package/dist/app/assets/icu-message-format-CkcsJ0ML.js +0 -1
  444. package/dist/app/assets/idris-BApVxI9a.js +0 -1
  445. package/dist/app/assets/iecst-CXLR8sGn.js +0 -1
  446. package/dist/app/assets/ignore-7LzAeAFj.js +0 -1
  447. package/dist/app/assets/index-BUg2yVDW.js +0 -439
  448. package/dist/app/assets/index-om2E9pNd.css +0 -1
  449. package/dist/app/assets/inform7-CtnRN-Iq.js +0 -1
  450. package/dist/app/assets/ini-Cjpl6yTL.js +0 -1
  451. package/dist/app/assets/io-C6W_EboY.js +0 -1
  452. package/dist/app/assets/j-BOBDun2W.js +0 -1
  453. package/dist/app/assets/javadoc-DS6hxu7_.js +0 -1
  454. package/dist/app/assets/javadoclike-J6YT11JS.js +0 -1
  455. package/dist/app/assets/javascript-IbEfuVSB.js +0 -1
  456. package/dist/app/assets/javastacktrace-DjxwGV26.js +0 -1
  457. package/dist/app/assets/jexl-TLHmHaQ5.js +0 -1
  458. package/dist/app/assets/jolie-CLk71kur.js +0 -1
  459. package/dist/app/assets/jq-DZKnIQZM.js +0 -1
  460. package/dist/app/assets/js-extras-CJab09ti.js +0 -1
  461. package/dist/app/assets/js-templates-CQGqrHhi.js +0 -1
  462. package/dist/app/assets/jsdoc--ymvl4aq.js +0 -1
  463. package/dist/app/assets/json-D9b-V85G.js +0 -1
  464. package/dist/app/assets/json5-LgA47n7A.js +0 -1
  465. package/dist/app/assets/jsonp-Cvwp3f8M.js +0 -1
  466. package/dist/app/assets/jsstacktrace-z8t2H6h6.js +0 -1
  467. package/dist/app/assets/jsx-B71LrwNd.js +0 -1
  468. package/dist/app/assets/julia-DCATdxwO.js +0 -1
  469. package/dist/app/assets/keepalived-DVYYbgrL.js +0 -1
  470. package/dist/app/assets/keyman-DLyOXnhf.js +0 -1
  471. package/dist/app/assets/kotlin-CYoDfyDA.js +0 -1
  472. package/dist/app/assets/kumir-CPWiEvmL.js +0 -1
  473. package/dist/app/assets/kusto-BkfRYk0W.js +0 -1
  474. package/dist/app/assets/latex-BEjZ0ppC.js +0 -1
  475. package/dist/app/assets/latte-DaZOqdGV.js +0 -1
  476. package/dist/app/assets/less-BmKsj1gN.js +0 -1
  477. package/dist/app/assets/lilypond-mmng28aJ.js +0 -1
  478. package/dist/app/assets/liquid-BuuJO6_6.js +0 -1
  479. package/dist/app/assets/lisp-DnffFM5N.js +0 -1
  480. package/dist/app/assets/livescript-BSsr00Wr.js +0 -1
  481. package/dist/app/assets/llvm-37YjcHN5.js +0 -1
  482. package/dist/app/assets/log-D3l5N3To.js +0 -1
  483. package/dist/app/assets/lolcode-C0Q2M_6s.js +0 -1
  484. package/dist/app/assets/lua-DcLwN4Tg.js +0 -1
  485. package/dist/app/assets/magma-CK0Amip9.js +0 -1
  486. package/dist/app/assets/makefile-CtpS-RoO.js +0 -1
  487. package/dist/app/assets/markdown-BNK3F4ql.js +0 -1
  488. package/dist/app/assets/markup-C9GIL65H.js +0 -1
  489. package/dist/app/assets/markup-templating-Du1J3ADP.js +0 -1
  490. package/dist/app/assets/matlab-DEM6O1Ul.js +0 -1
  491. package/dist/app/assets/maxscript-DMvqa3gf.js +0 -1
  492. package/dist/app/assets/mel-C8DBIw1g.js +0 -1
  493. package/dist/app/assets/mermaid-CVko6NSq.js +0 -1
  494. package/dist/app/assets/mizar-CwYm3_It.js +0 -1
  495. package/dist/app/assets/mongodb-DRqGwjq6.js +0 -1
  496. package/dist/app/assets/monkey-BxiKe6Nr.js +0 -1
  497. package/dist/app/assets/moonscript-CJyt1xoM.js +0 -1
  498. package/dist/app/assets/n1ql-BBmjIGEU.js +0 -1
  499. package/dist/app/assets/n4js-ByKsJMJL.js +0 -1
  500. package/dist/app/assets/nand2tetris-hdl-BTSXj71h.js +0 -1
  501. package/dist/app/assets/naniscript-C4jykFVF.js +0 -1
  502. package/dist/app/assets/nasm-DPA0eXtX.js +0 -1
  503. package/dist/app/assets/neon-upN4Ak64.js +0 -1
  504. package/dist/app/assets/nevod-CdttHB8F.js +0 -1
  505. package/dist/app/assets/nginx-DI1fsQ3j.js +0 -1
  506. package/dist/app/assets/nim-D7kc_mK9.js +0 -1
  507. package/dist/app/assets/nix-BUG5ppr9.js +0 -1
  508. package/dist/app/assets/nsis-BnXhmmxO.js +0 -1
  509. package/dist/app/assets/objectivec-Bu4dOfb9.js +0 -1
  510. package/dist/app/assets/ocaml-aT7VVPiL.js +0 -1
  511. package/dist/app/assets/opencl-BzyWcYkI.js +0 -1
  512. package/dist/app/assets/openqasm-b2yFBJdq.js +0 -1
  513. package/dist/app/assets/oz-D46TtIuw.js +0 -1
  514. package/dist/app/assets/parigp-BAJyhdut.js +0 -1
  515. package/dist/app/assets/parser-B-ALvauC.js +0 -1
  516. package/dist/app/assets/pascal-B0ap4FDW.js +0 -1
  517. package/dist/app/assets/pascaligo-ChOneu9-.js +0 -1
  518. package/dist/app/assets/pcaxis-DTAmxHgs.js +0 -1
  519. package/dist/app/assets/peoplecode-dQfUy8zn.js +0 -1
  520. package/dist/app/assets/perl-CYk00e1Q.js +0 -1
  521. package/dist/app/assets/php-DvSqFnSN.js +0 -1
  522. package/dist/app/assets/php-extras-BFjUbIU6.js +0 -1
  523. package/dist/app/assets/phpdoc-Di7rKCNL.js +0 -1
  524. package/dist/app/assets/plsql-dX0-BKqD.js +0 -1
  525. package/dist/app/assets/powerquery-3xq4KaAs.js +0 -1
  526. package/dist/app/assets/powershell-BbXooszO.js +0 -1
  527. package/dist/app/assets/processing-GWbfNCzH.js +0 -1
  528. package/dist/app/assets/prolog-Tb2TbunJ.js +0 -1
  529. package/dist/app/assets/promql-QS8vHhL7.js +0 -1
  530. package/dist/app/assets/properties-BJ8AWlqX.js +0 -1
  531. package/dist/app/assets/protobuf-De-puAg3.js +0 -1
  532. package/dist/app/assets/psl-hZft3C8K.js +0 -1
  533. package/dist/app/assets/pug-BcYHdk-i.js +0 -1
  534. package/dist/app/assets/puppet-BWbqDQJD.js +0 -1
  535. package/dist/app/assets/pure-Bz2pjTxR.js +0 -1
  536. package/dist/app/assets/purebasic-BlO48lYx.js +0 -1
  537. package/dist/app/assets/purescript-BxSMm2Br.js +0 -1
  538. package/dist/app/assets/q-DDUTW9aK.js +0 -1
  539. package/dist/app/assets/qml-DisOV-LV.js +0 -1
  540. package/dist/app/assets/qore-FNRP4gBF.js +0 -1
  541. package/dist/app/assets/qsharp-DhtMV0oO.js +0 -1
  542. package/dist/app/assets/r-CyiuHjNN.js +0 -1
  543. package/dist/app/assets/racket-DFgoSckH.js +0 -1
  544. package/dist/app/assets/reason-HhYbY7K3.js +0 -1
  545. package/dist/app/assets/regex-jU5TpvM-.js +0 -1
  546. package/dist/app/assets/rego-BCjDPrQO.js +0 -1
  547. package/dist/app/assets/renpy-BTSgQi2v.js +0 -1
  548. package/dist/app/assets/rest-BLcZ4e-5.js +0 -1
  549. package/dist/app/assets/rip-SltRJnuI.js +0 -1
  550. package/dist/app/assets/roboconf-B-GZm2Oe.js +0 -1
  551. package/dist/app/assets/robotframework-BOt8S6cX.js +0 -1
  552. package/dist/app/assets/ruby-CVfYH0zM.js +0 -1
  553. package/dist/app/assets/rust-B6mEp4Sj.js +0 -1
  554. package/dist/app/assets/sas-DvEI8RJ0.js +0 -1
  555. package/dist/app/assets/sass-Cv25Jxqq.js +0 -1
  556. package/dist/app/assets/scala-CyqNr7Uv.js +0 -1
  557. package/dist/app/assets/scheme-ji0XoXLf.js +0 -1
  558. package/dist/app/assets/scss-B7_0neO_.js +0 -1
  559. package/dist/app/assets/shell-session-CqZEoMQD.js +0 -1
  560. package/dist/app/assets/smali-DKSzZYkI.js +0 -1
  561. package/dist/app/assets/smalltalk-BOA4piuq.js +0 -1
  562. package/dist/app/assets/smarty-Du99BSgN.js +0 -1
  563. package/dist/app/assets/sml-BJedIA4B.js +0 -1
  564. package/dist/app/assets/solidity-DidQwG5Z.js +0 -1
  565. package/dist/app/assets/solution-file-Bx0d9qN8.js +0 -1
  566. package/dist/app/assets/soy-BBLv3Cfa.js +0 -1
  567. package/dist/app/assets/sparql-Da5WZKbL.js +0 -1
  568. package/dist/app/assets/splunk-spl-DbJKl8So.js +0 -1
  569. package/dist/app/assets/sqf-CYrx0jxf.js +0 -1
  570. package/dist/app/assets/sql-Gv-aOlOf.js +0 -1
  571. package/dist/app/assets/squirrel-FpIGPPw4.js +0 -1
  572. package/dist/app/assets/stan-Dq001Nrk.js +0 -1
  573. package/dist/app/assets/stylus-aatfgWwe.js +0 -1
  574. package/dist/app/assets/swift-pn7VW95d.js +0 -1
  575. package/dist/app/assets/systemd-9capsVJ6.js +0 -2
  576. package/dist/app/assets/t4-cs-CKXcczci.js +0 -1
  577. package/dist/app/assets/t4-templating-1wTayb8u.js +0 -1
  578. package/dist/app/assets/t4-vb-B_O7wBow.js +0 -1
  579. package/dist/app/assets/tap-D-TV5_gQ.js +0 -1
  580. package/dist/app/assets/tcl-BaVob1Om.js +0 -1
  581. package/dist/app/assets/textile-COMk-HmI.js +0 -1
  582. package/dist/app/assets/toml-D9NJpArC.js +0 -1
  583. package/dist/app/assets/tremor-rCNHwdQL.js +0 -1
  584. package/dist/app/assets/tt2-DTDvfOgc.js +0 -1
  585. package/dist/app/assets/twig-DxSF8gqH.js +0 -1
  586. package/dist/app/assets/typescript-Caebatmk.js +0 -1
  587. package/dist/app/assets/typoscript-B3uk1kES.js +0 -1
  588. package/dist/app/assets/unrealscript-ZNoSG8ji.js +0 -1
  589. package/dist/app/assets/uorazor-LekoNNOo.js +0 -1
  590. package/dist/app/assets/uri-B8YcIzOv.js +0 -1
  591. package/dist/app/assets/v-6rOne2a0.js +0 -1
  592. package/dist/app/assets/vala-CjEJEdsP.js +0 -1
  593. package/dist/app/assets/vbnet-DBPmBm7_.js +0 -1
  594. package/dist/app/assets/velocity-DOooMwL8.js +0 -1
  595. package/dist/app/assets/verilog-Cq0ZocvP.js +0 -1
  596. package/dist/app/assets/vhdl-Dxs_xidb.js +0 -1
  597. package/dist/app/assets/vim-BqsnXwB6.js +0 -1
  598. package/dist/app/assets/visual-basic-zAzjvaqP.js +0 -1
  599. package/dist/app/assets/warpscript-D9hbfr6_.js +0 -1
  600. package/dist/app/assets/wasm-C4TU9VDY.js +0 -1
  601. package/dist/app/assets/web-idl-DD5JcddQ.js +0 -1
  602. package/dist/app/assets/wiki-Des21yVK.js +0 -1
  603. package/dist/app/assets/wolfram-B7enpov1.js +0 -1
  604. package/dist/app/assets/wren-Rr8h-Ayu.js +0 -1
  605. package/dist/app/assets/xeora-EjcLXBhx.js +0 -1
  606. package/dist/app/assets/xml-doc-uaTxx6-m.js +0 -1
  607. package/dist/app/assets/xojo-CX6G8nhh.js +0 -1
  608. package/dist/app/assets/xquery-DvPb3Uw9.js +0 -1
  609. package/dist/app/assets/yaml-D-l_Y2hx.js +0 -1
  610. package/dist/app/assets/yang-KBoIIT4_.js +0 -1
  611. package/dist/app/assets/zig-_uNXp9cY.js +0 -1
@@ -0,0 +1,162 @@
1
+ import{bd as Eh,bH as Ah,bI as St}from"./index-DmMWBDJR.js";import{m as Gt,f as $h,d as Ch}from"./min-CfLzpwyh.js";import{b as Sh,l as wh,d as kh,m as bh,r as Rc,n as Ls}from"./_baseUniq-p9H3Gzep.js";function Nh(t,e){return Sh(Gt(t,e))}function _h(t,e){return t&&t.length?wh(t,kh(e)):[]}function Fe(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ut(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function Zt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Ih(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Yn(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Ef{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Fe(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}}function _i(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Af(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function $f(t){return _i(t)&&typeof t.fullText=="string"}class xe{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new xe(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Ze})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=Ph(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new xe(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?Ze:{done:!1,value:e(i)}})}filter(e){return new xe(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ze})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new xe(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(Ja(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ze})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new xe(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(Ja(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ze})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new xe(()=>{const r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new xe(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ze:this.nextFn(r.state)))}distinct(e){return new xe(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ze})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}}function Ph(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Ja(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Cf=new xe(()=>{},()=>Ze),Ze=Object.freeze({done:!0,value:void 0});function fe(...t){if(t.length===1){const e=t[0];if(e instanceof xe)return e;if(Ja(e))return new xe(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new xe(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Ze)}return t.length>1?new xe(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const r=t[e.collIndex++];Ja(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Ze}):Cf}class Yl extends xe{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Ze})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var uo;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}t.max=i})(uo||(uo={}));function fo(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{Fe(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&fo(i,e))}):Fe(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&fo(n,e)))}function Rs(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function jt(t){const r=Da(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Da(t){for(;t.$container;)t=t.$container;return t}function vc(t){return ut(t)?t.ref?[t.ref]:[]:Zt(t)?t.items.map(e=>e.ref):[]}function Jl(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e?.range;return new xe(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){const i=n.keys[n.keyIndex];if(!i.startsWith("$")){const a=t[i];if(Fe(a)){if(n.keyIndex++,Ec(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;n.arrayIndex<a.length;){const s=n.arrayIndex++,o=a[s];if(Fe(o)&&Ec(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return Ze})}function Ui(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Yl(t,r=>Jl(r,e))}function zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Yl(t,r=>Jl(r,e),{includeRoot:!0})}function Ec(t,e){if(!e)return!0;const r=t.$cstNode?.range;return r?tp(r,e):!1}function Za(t){return new xe(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const r=e.keys[e.keyIndex];if(!r.startsWith("$")){const n=t[r];if(ut(n)||Zt(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){const i=e.arrayIndex++,a=n[i];if(ut(a)||Zt(n))return{done:!1,value:{reference:a,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ze})}function Oh(t,e){const r=t.getTypeMetaData(e.$type),n=e;for(const i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=Sf(i.defaultValue))}function Sf(t){return Array.isArray(t)?[...t.map(Sf)]:t}const Je={$type:"AbstractElement",cardinality:"cardinality"};function Lh(t){return J.isInstance(t,Je.$type)}const Ma={$type:"AbstractParserRule"};function qi(t){return J.isInstance(t,Ma.$type)}const ma={$type:"AbstractRule"},ot={$type:"AbstractType"},Rr={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function vs(t){return J.isInstance(t,Rr.$type)}const Fa={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function wf(t){return J.isInstance(t,Fa.$type)}const Ac={$type:"ArrayLiteral",elements:"elements"},$c={$type:"ArrayType",elementType:"elementType"},vr={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function kr(t){return J.isInstance(t,vr.$type)}const ho={$type:"BooleanLiteral",true:"true"};function xh(t){return J.isInstance(t,ho.$type)}const Er={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Dh(t){return J.isInstance(t,Er.$type)}const Mr={$type:"Condition"},Ga={$type:"Conjunction",left:"left",right:"right"};function Mh(t){return J.isInstance(t,Ga.$type)}const Ar={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Es(t){return J.isInstance(t,Ar.$type)}const ja={$type:"Disjunction",left:"left",right:"right"};function Fh(t){return J.isInstance(t,ja.$type)}const po={$type:"EndOfFile",cardinality:"cardinality"};function Gh(t){return J.isInstance(t,po.$type)}const ar={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Cc={$type:"GrammarImport",path:"path"},qr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Zl(t){return J.isInstance(t,qr.$type)}const mo={$type:"InferredType",name:"name"};function kf(t){return J.isInstance(t,mo.$type)}const Lt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Qa(t){return J.isInstance(t,Lt.$type)}const xs={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},Sc={$type:"InfixRuleOperators",precedences:"precedences"},vi={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function jh(t){return J.isInstance(t,vi.$type)}const Ei={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function br(t){return J.isInstance(t,Ei.$type)}const ga={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},Br={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function zh(t){return J.isInstance(t,Br.$type)}const go={$type:"Negation",value:"value"};function Uh(t){return J.isInstance(t,go.$type)}const wc={$type:"NumberLiteral",value:"value"},ya={$type:"Parameter",name:"name"},yo={$type:"ParameterReference",parameter:"parameter"};function qh(t){return J.isInstance(t,yo.$type)}const pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Bt(t){return J.isInstance(t,pt.$type)}const Ds={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},Wr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Bh(t){return J.isInstance(t,Wr.$type)}const To={$type:"ReturnType",name:"name"};function Wh(t){return J.isInstance(t,To.$type)}const Vr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Nr(t){return J.isInstance(t,Vr.$type)}const Ai={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Vh(t){return J.isInstance(t,Ai.$type)}const kc={$type:"StringLiteral",value:"value"},Kr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Kh(t){return J.isInstance(t,Kr.$type)}const rt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},Hr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Hh(t){return J.isInstance(t,Hr.$type)}const Jt={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Wt(t){return J.isInstance(t,Jt.$type)}const Xr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Xh(t){return J.isInstance(t,Xr.$type)}const za={$type:"Type",name:"name",type:"type"};function Yh(t){return J.isInstance(t,za.$type)}const Jn={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},Zn={$type:"TypeDefinition"},bc={$type:"UnionType",types:"types"},Ua={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function bf(t){return J.isInstance(t,Ua.$type)}const Yr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Jh(t){return J.isInstance(t,Yr.$type)}const Qn={$type:"ValueLiteral"},$i={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Zh(t){return J.isInstance(t,$i.$type)}class Nf extends Ef{constructor(){super(...arguments),this.types={AbstractElement:{name:Je.$type,properties:{cardinality:{name:Je.cardinality}},superTypes:[]},AbstractParserRule:{name:Ma.$type,properties:{},superTypes:[ma.$type,ot.$type]},AbstractRule:{name:ma.$type,properties:{},superTypes:[]},AbstractType:{name:ot.$type,properties:{},superTypes:[]},Action:{name:Rr.$type,properties:{cardinality:{name:Rr.cardinality},feature:{name:Rr.feature},inferredType:{name:Rr.inferredType},operator:{name:Rr.operator},type:{name:Rr.type,referenceType:ot.$type}},superTypes:[Je.$type]},Alternatives:{name:Fa.$type,properties:{cardinality:{name:Fa.cardinality},elements:{name:Fa.elements,defaultValue:[]}},superTypes:[Je.$type]},ArrayLiteral:{name:Ac.$type,properties:{elements:{name:Ac.elements,defaultValue:[]}},superTypes:[Qn.$type]},ArrayType:{name:$c.$type,properties:{elementType:{name:$c.elementType}},superTypes:[Zn.$type]},Assignment:{name:vr.$type,properties:{cardinality:{name:vr.cardinality},feature:{name:vr.feature},operator:{name:vr.operator},predicate:{name:vr.predicate},terminal:{name:vr.terminal}},superTypes:[Je.$type]},BooleanLiteral:{name:ho.$type,properties:{true:{name:ho.true,defaultValue:!1}},superTypes:[Mr.$type,Qn.$type]},CharacterRange:{name:Er.$type,properties:{cardinality:{name:Er.cardinality},left:{name:Er.left},lookahead:{name:Er.lookahead},parenthesized:{name:Er.parenthesized,defaultValue:!1},right:{name:Er.right}},superTypes:[rt.$type]},Condition:{name:Mr.$type,properties:{},superTypes:[]},Conjunction:{name:Ga.$type,properties:{left:{name:Ga.left},right:{name:Ga.right}},superTypes:[Mr.$type]},CrossReference:{name:Ar.$type,properties:{cardinality:{name:Ar.cardinality},deprecatedSyntax:{name:Ar.deprecatedSyntax,defaultValue:!1},isMulti:{name:Ar.isMulti,defaultValue:!1},terminal:{name:Ar.terminal},type:{name:Ar.type,referenceType:ot.$type}},superTypes:[Je.$type]},Disjunction:{name:ja.$type,properties:{left:{name:ja.left},right:{name:ja.right}},superTypes:[Mr.$type]},EndOfFile:{name:po.$type,properties:{cardinality:{name:po.cardinality}},superTypes:[Je.$type]},Grammar:{name:ar.$type,properties:{imports:{name:ar.imports,defaultValue:[]},interfaces:{name:ar.interfaces,defaultValue:[]},isDeclared:{name:ar.isDeclared,defaultValue:!1},name:{name:ar.name},rules:{name:ar.rules,defaultValue:[]},types:{name:ar.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Cc.$type,properties:{path:{name:Cc.path}},superTypes:[]},Group:{name:qr.$type,properties:{cardinality:{name:qr.cardinality},elements:{name:qr.elements,defaultValue:[]},guardCondition:{name:qr.guardCondition},predicate:{name:qr.predicate}},superTypes:[Je.$type]},InferredType:{name:mo.$type,properties:{name:{name:mo.name}},superTypes:[ot.$type]},InfixRule:{name:Lt.$type,properties:{call:{name:Lt.call},dataType:{name:Lt.dataType},inferredType:{name:Lt.inferredType},name:{name:Lt.name},operators:{name:Lt.operators},parameters:{name:Lt.parameters,defaultValue:[]},returnType:{name:Lt.returnType,referenceType:ot.$type}},superTypes:[Ma.$type]},InfixRuleOperatorList:{name:xs.$type,properties:{associativity:{name:xs.associativity},operators:{name:xs.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Sc.$type,properties:{precedences:{name:Sc.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:vi.$type,properties:{attributes:{name:vi.attributes,defaultValue:[]},name:{name:vi.name},superTypes:{name:vi.superTypes,defaultValue:[],referenceType:ot.$type}},superTypes:[ot.$type]},Keyword:{name:Ei.$type,properties:{cardinality:{name:Ei.cardinality},predicate:{name:Ei.predicate},value:{name:Ei.value}},superTypes:[Je.$type]},NamedArgument:{name:ga.$type,properties:{calledByName:{name:ga.calledByName,defaultValue:!1},parameter:{name:ga.parameter,referenceType:ya.$type},value:{name:ga.value}},superTypes:[]},NegatedToken:{name:Br.$type,properties:{cardinality:{name:Br.cardinality},lookahead:{name:Br.lookahead},parenthesized:{name:Br.parenthesized,defaultValue:!1},terminal:{name:Br.terminal}},superTypes:[rt.$type]},Negation:{name:go.$type,properties:{value:{name:go.value}},superTypes:[Mr.$type]},NumberLiteral:{name:wc.$type,properties:{value:{name:wc.value}},superTypes:[Qn.$type]},Parameter:{name:ya.$type,properties:{name:{name:ya.name}},superTypes:[]},ParameterReference:{name:yo.$type,properties:{parameter:{name:yo.parameter,referenceType:ya.$type}},superTypes:[Mr.$type]},ParserRule:{name:pt.$type,properties:{dataType:{name:pt.dataType},definition:{name:pt.definition},entry:{name:pt.entry,defaultValue:!1},fragment:{name:pt.fragment,defaultValue:!1},inferredType:{name:pt.inferredType},name:{name:pt.name},parameters:{name:pt.parameters,defaultValue:[]},returnType:{name:pt.returnType,referenceType:ot.$type}},superTypes:[Ma.$type]},ReferenceType:{name:Ds.$type,properties:{isMulti:{name:Ds.isMulti,defaultValue:!1},referenceType:{name:Ds.referenceType}},superTypes:[Zn.$type]},RegexToken:{name:Wr.$type,properties:{cardinality:{name:Wr.cardinality},lookahead:{name:Wr.lookahead},parenthesized:{name:Wr.parenthesized,defaultValue:!1},regex:{name:Wr.regex}},superTypes:[rt.$type]},ReturnType:{name:To.$type,properties:{name:{name:To.name}},superTypes:[]},RuleCall:{name:Vr.$type,properties:{arguments:{name:Vr.arguments,defaultValue:[]},cardinality:{name:Vr.cardinality},predicate:{name:Vr.predicate},rule:{name:Vr.rule,referenceType:ma.$type}},superTypes:[Je.$type]},SimpleType:{name:Ai.$type,properties:{primitiveType:{name:Ai.primitiveType},stringType:{name:Ai.stringType},typeRef:{name:Ai.typeRef,referenceType:ot.$type}},superTypes:[Zn.$type]},StringLiteral:{name:kc.$type,properties:{value:{name:kc.value}},superTypes:[Qn.$type]},TerminalAlternatives:{name:Kr.$type,properties:{cardinality:{name:Kr.cardinality},elements:{name:Kr.elements,defaultValue:[]},lookahead:{name:Kr.lookahead},parenthesized:{name:Kr.parenthesized,defaultValue:!1}},superTypes:[rt.$type]},TerminalElement:{name:rt.$type,properties:{cardinality:{name:rt.cardinality},lookahead:{name:rt.lookahead},parenthesized:{name:rt.parenthesized,defaultValue:!1}},superTypes:[Je.$type]},TerminalGroup:{name:Hr.$type,properties:{cardinality:{name:Hr.cardinality},elements:{name:Hr.elements,defaultValue:[]},lookahead:{name:Hr.lookahead},parenthesized:{name:Hr.parenthesized,defaultValue:!1}},superTypes:[rt.$type]},TerminalRule:{name:Jt.$type,properties:{definition:{name:Jt.definition},fragment:{name:Jt.fragment,defaultValue:!1},hidden:{name:Jt.hidden,defaultValue:!1},name:{name:Jt.name},type:{name:Jt.type}},superTypes:[ma.$type]},TerminalRuleCall:{name:Xr.$type,properties:{cardinality:{name:Xr.cardinality},lookahead:{name:Xr.lookahead},parenthesized:{name:Xr.parenthesized,defaultValue:!1},rule:{name:Xr.rule,referenceType:Jt.$type}},superTypes:[rt.$type]},Type:{name:za.$type,properties:{name:{name:za.name},type:{name:za.type}},superTypes:[ot.$type]},TypeAttribute:{name:Jn.$type,properties:{defaultValue:{name:Jn.defaultValue},isOptional:{name:Jn.isOptional,defaultValue:!1},name:{name:Jn.name},type:{name:Jn.type}},superTypes:[]},TypeDefinition:{name:Zn.$type,properties:{},superTypes:[]},UnionType:{name:bc.$type,properties:{types:{name:bc.types,defaultValue:[]}},superTypes:[Zn.$type]},UnorderedGroup:{name:Ua.$type,properties:{cardinality:{name:Ua.cardinality},elements:{name:Ua.elements,defaultValue:[]}},superTypes:[Je.$type]},UntilToken:{name:Yr.$type,properties:{cardinality:{name:Yr.cardinality},lookahead:{name:Yr.lookahead},parenthesized:{name:Yr.parenthesized,defaultValue:!1},terminal:{name:Yr.terminal}},superTypes:[rt.$type]},ValueLiteral:{name:Qn.$type,properties:{},superTypes:[]},Wildcard:{name:$i.$type,properties:{cardinality:{name:$i.cardinality},lookahead:{name:$i.lookahead},parenthesized:{name:$i.parenthesized,defaultValue:!1}},superTypes:[rt.$type]}}}}const J=new Nf;function Ro(t){return new Yl(t,e=>_i(e)?e.content:[],{includeRoot:!0})}function Qh(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function vo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function es(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var Mt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Mt||(Mt={}));function ep(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Mt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Mt.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?Mt.Inside:r?Mt.OverlapBack:n?Mt.OverlapFront:Mt.Outside}function tp(t,e){return ep(t,e)>Mt.After}const rp=/^[\w\p{L}]$/u;function np(t,e){if(t){const r=ip(t,!0);if(r&&Nc(r,e))return r;if($f(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(Nc(a,e))return a}}}}function Nc(t,e){return Af(t)&&e.includes(t.tokenType.name)}function ip(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}class _f extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}}function Bi(t,e="Error: Got unexpected value."){throw new Error(e)}function U(t){return t.charCodeAt(0)}function Ms(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function ei(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Fr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function ap(){throw Error("Internal Error - Should never get here!")}function _c(t){return t.type==="Character"}const ts=[];for(let t=U("0");t<=U("9");t++)ts.push(t);const rs=[U("_")].concat(ts);for(let t=U("a");t<=U("z");t++)rs.push(t);for(let t=U("A");t<=U("Z");t++)rs.push(t);const Ic=[U(" "),U("\f"),U(`
2
+ `),U("\r"),U(" "),U("\v"),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U(" "),U("\u2028"),U("\u2029"),U(" "),U(" "),U(" "),U("\uFEFF")],sp=/[0-9a-fA-F]/,Ta=/[0-9]/,op=/[1-9]/;class If{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("/");const r=this.disjunction();this.consumeChar("/");const 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":ei(n,"global");break;case"i":ei(n,"ignoreCase");break;case"m":ei(n,"multiLine");break;case"u":ei(n,"unicode");break;case"y":ei(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const 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 r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Fr(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return ap()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Fr(r);break}if(!(e===!0&&r===void 0)&&Fr(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Fr(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[U(`
3
+ `),U("\r"),U("\u2028"),U("\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,r=!1;switch(this.popChar()){case"d":e=ts;break;case"D":e=ts,r=!0;break;case"s":e=Ic;break;case"S":e=Ic,r=!0;break;case"w":e=rs;break;case"W":e=rs,r=!0;break}if(Fr(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=U("\f");break;case"n":e=U(`
4
+ `);break;case"r":e=U("\r");break;case"t":e=U(" ");break;case"v":e=U("\v");break}if(Fr(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const 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:U("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:U(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
5
+ `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:U(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,_c(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,_c(i)){if(i.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:i.value})}else Ms(n.value,e),e.push(U("-")),Ms(i.value,e)}else Ms(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,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:U("\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;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;const r=this.disjunction();this.consumeChar(")");const n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(op.test(e)===!1)throw Error("Expecting a positive integer");for(;Ta.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Ta.test(e)===!1)throw Error("Expecting an integer");for(;Ta.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const 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:U(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 Ta.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(){const 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 r="";for(let i=0;i<e;i++){const a=this.popChar();if(sp.test(a)===!1)throw Error("Expecting a HexDecimal digits");r+=a}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const 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}}}class As{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}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);break}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){}}const lp=/\r?\n/gm,cp=new If;class up extends As{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===`
10
+ `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=$s(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
11
+ `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const Fs=new up;function fp(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Fs.reset(t),Fs.visit(cp.pattern(t)),Fs.multiline}catch{return!1}}const dp=`\f
12
+ \r \v              \u2028\u2029   \uFEFF`.split("");function Pf(t){const e=typeof t=="string"?new RegExp(t):t;return dp.some(r=>e.test(r))}function $s(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function hp(t,e){const r=pp(t),n=e.match(r);return!!n&&n[0].length>0}function pp(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(c){a+=r.substr(n,c),n+=c}function l(c){a+="(?:"+r.substr(n,c)+"|$)",n+=c}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?r[n+2]==="{"?l(r.indexOf("}",n)-n+1):l(6):l(2);break;case"p":case"P":e.unicode?l(r.indexOf("}",n)-n+1):l(2);break;case"k":l(r.indexOf(">",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return new RegExp(i(),t.flags)}function mp(t){return t.rules.find(e=>Bt(e)&&e.entry)}function gp(t){return t.rules.filter(e=>Wt(e)&&e.hidden)}function Of(t,e){const r=new Set,n=mp(t);if(!n)return new Set(t.rules);const i=[n].concat(gp(t));for(const s of i)Lf(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Wt(s)&&s.hidden)&&a.add(s);return a}function Lf(t,e,r){e.add(t.name),Ui(t).forEach(n=>{if(Nr(n)||r){const i=n.rule.ref;i&&!e.has(i.name)&&Lf(i,e,r)}})}function yp(t){if(t.terminal)return t.terminal;if(t.type.ref)return Df(t.type.ref)?.terminal}function Tp(t){return t.hidden&&!Pf(ec(t))}function Rp(t,e){return!t||!e?[]:Ql(t,e,t.astNode,!0)}function xf(t,e,r){if(!t||!e)return;const n=Ql(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Ql(t,e,r,n){if(!n){const i=Rs(t.grammarSource,kr);if(i&&i.feature===e)return[t]}return _i(t)&&t.astNode===r?t.content.flatMap(i=>Ql(i,e,r,!1)):[]}function vp(t,e,r){if(!t)return;const n=Ep(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Ep(t,e,r){if(t.astNode!==r)return[];if(br(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=Ro(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?br(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function Ap(t){const e=t.astNode;for(;e===t.container?.astNode;){const r=Rs(t.grammarSource,kr);if(r)return r;t=t.container}}function Df(t){let e=t;return kf(e)&&(vs(e.$container)?e=e.$container.$container:qi(e.$container)?e=e.$container:Bi(e.$container)),Mf(t,e,new Map)}function Mf(t,e,r){function n(i,a){let s;return Rs(i,kr)||(s=Mf(a,a,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(const i of Ui(e)){if(kr(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Nr(i)&&Bt(i.rule.ref))return n(i,i.rule.ref);if(Vh(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function Ff(t){return Gf(t,new Set)}function Gf(t,e){if(e.has(t))return!0;e.add(t);for(const r of Ui(t))if(Nr(r)){if(!r.rule.ref||Bt(r.rule.ref)&&!Gf(r.rule.ref,e)||Qa(r.rule.ref))return!1}else{if(kr(r))return!1;if(vs(r))return!1}return!!t.definition}function jf(t){if(!Wt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Ii(t){if(qi(t))return Bt(t)&&Ff(t)?t.name:jf(t)??t.name;if(jh(t)||Yh(t)||Wh(t))return t.name;if(vs(t)){const e=$p(t);if(e)return e}else if(kf(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function $p(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Ii(t.type.ref)}function Cp(t){return Wt(t)?t.type?.name??"string":jf(t)??t.name}function ec(t){const e={s:!1,i:!1,u:!1},r=Pn(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}const tc=/[\s\S]/.source;function Pn(t,e){if(Kh(t))return Sp(t);if(Hh(t))return wp(t);if(Dh(t))return Np(t);if(Xh(t)){const r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Ut(Pn(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(zh(t))return bp(t);if(Jh(t))return kp(t);if(Bh(t)){const r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Ut(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Zh(t))return Ut(tc,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function Sp(t){return Ut(t.elements.map(e=>Pn(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function wp(t){return Ut(t.elements.map(e=>Pn(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function kp(t){return Ut(`${tc}*?${Pn(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function bp(t){return Ut(`(?!${Pn(t.terminal)})${tc}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Np(t){return t.right?Ut(`[${Gs(t.left)}-${Gs(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Ut(Gs(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Gs(t){return $s(t.value)}function Ut(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function _p(t){const e=[],r=t.Grammar;for(const n of r.rules)Wt(n)&&Tp(n)&&fp(ec(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:rp}}function Eo(t){console&&console.error&&console.error(`Error: ${t}`)}function zf(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Uf(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function qf(t){function e(){}e.prototype=t;const r=new e;function n(){return typeof r.bar}return n(),n(),t}function Ip(t){return Pp(t)?t.LABEL:t.name}function Pp(t){return typeof t.LABEL=="string"&&t.LABEL!==""}class Tt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}}class qe extends Tt{constructor(e){super([]),this.idx=1,Object.assign(this,Rt(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class On extends Tt{constructor(e){super(e.definition),this.orgText="",Object.assign(this,Rt(e))}}class Ve extends Tt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,Rt(e))}}let Me=class extends Tt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Rt(e))}};class et extends Tt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Rt(e))}}class tt extends Tt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Rt(e))}}class Te extends Tt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Rt(e))}}class Ke extends Tt{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Rt(e))}}class He extends Tt{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,Rt(e))}}class ae{constructor(e){this.idx=1,Object.assign(this,Rt(e))}accept(e){e.visit(this)}}function Op(t){return t.map(qa)}function qa(t){function e(r){return r.map(qa)}if(t instanceof qe){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Ve)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Me)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof et)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof tt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:qa(new ae({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Ke)return{type:"RepetitionWithSeparator",idx:t.idx,separator:qa(new ae({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Te)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof He)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ae){const r={type:"Terminal",name:t.terminalType.name,label:Ip(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof On)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function Rt(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}class Ln{visit(e){const r=e;switch(r.constructor){case qe:return this.visitNonTerminal(r);case Ve:return this.visitAlternative(r);case Me:return this.visitOption(r);case et:return this.visitRepetitionMandatory(r);case tt:return this.visitRepetitionMandatoryWithSeparator(r);case Ke:return this.visitRepetitionWithSeparator(r);case Te:return this.visitRepetition(r);case He:return this.visitAlternation(r);case ae:return this.visitTerminal(r);case On:return this.visitRule(r);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 Lp(t){return t instanceof Ve||t instanceof Me||t instanceof Te||t instanceof et||t instanceof tt||t instanceof Ke||t instanceof ae||t instanceof On}function ns(t,e=[]){return t instanceof Me||t instanceof Te||t instanceof Ke?!0:t instanceof He?t.definition.some(n=>ns(n,e)):t instanceof qe&&e.includes(t)?!1:t instanceof Tt?(t instanceof qe&&e.push(t),t.definition.every(n=>ns(n,e))):!1}function xp(t){return t instanceof He}function mt(t){if(t instanceof qe)return"SUBRULE";if(t instanceof Me)return"OPTION";if(t instanceof He)return"OR";if(t instanceof et)return"AT_LEAST_ONE";if(t instanceof tt)return"AT_LEAST_ONE_SEP";if(t instanceof Ke)return"MANY_SEP";if(t instanceof Te)return"MANY";if(t instanceof ae)return"CONSUME";throw Error("non exhaustive match")}class Cs{walk(e,r=[]){e.definition.forEach((n,i)=>{const a=e.definition.slice(i+1);if(n instanceof qe)this.walkProdRef(n,a,r);else if(n instanceof ae)this.walkTerminal(n,a,r);else if(n instanceof Ve)this.walkFlat(n,a,r);else if(n instanceof Me)this.walkOption(n,a,r);else if(n instanceof et)this.walkAtLeastOne(n,a,r);else if(n instanceof tt)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Ke)this.walkManySep(n,a,r);else if(n instanceof Te)this.walkMany(n,a,r);else if(n instanceof He)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Me({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=Pc(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Me({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=Pc(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);e.definition.forEach(a=>{const s=new Ve({definition:[a]});this.walk(s,i)})}}function Pc(t,e,r){return[new Me({definition:[new ae({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Wi(t){if(t instanceof qe)return Wi(t.referencedRule);if(t instanceof ae)return Fp(t);if(Lp(t))return Dp(t);if(xp(t))return Mp(t);throw Error("non exhaustive match")}function Dp(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=ns(a),e=e.concat(Wi(a)),n=n+1,i=r.length>n;return[...new Set(e)]}function Mp(t){const e=t.definition.map(r=>Wi(r));return[...new Set(e.flat())]}function Fp(t){return[t.terminalType]}const Bf="_~IN~_";class Gp extends Cs{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=zp(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Ve({definition:a}),o=Wi(s);this.follows[i]=o}}function jp(t){const e={};return t.forEach(r=>{const n=new Gp(r).startWalking();Object.assign(e,n)}),e}function zp(t,e){return t.name+e+Bf}let Ba={};const Up=new If;function Ss(t){const e=t.toString();if(Ba.hasOwnProperty(e))return Ba[e];{const r=Up.pattern(e);return Ba[e]=r,r}}function qp(){Ba={}}const Wf="Complement Sets are not supported for first char optimization",is=`Unable to use "first char" lexer optimizations:
13
+ `;function Bp(t,e=!1){try{const r=Ss(t);return Ao(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Wf)e&&zf(`${is} Unable to optimize: < ${t.toString()} >
14
+ Complement Sets cannot be automatically optimized.
15
+ This will disable the lexer's first char optimizations.
16
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
17
+ This will disable the lexer's first char optimizations.
18
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Eo(`${is}
19
+ Failed parsing: < ${t.toString()} >
20
+ Using the @chevrotain/regexp-to-ast library
21
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function Ao(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)Ao(t.value[i],e,r);break;case"Alternative":const n=t.value;for(let i=0;i<n.length;i++){const a=n[i];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const s=a;switch(s.type){case"Character":Ra(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(Wf);s.value.forEach(l=>{if(typeof l=="number")Ra(l,e,r);else{const c=l;if(r===!0)for(let u=c.from;u<=c.to;u++)Ra(u,e,r);else{for(let u=c.from;u<=c.to&&u<Si;u++)Ra(u,e,r);if(c.to>=Si){const u=c.from>=Si?c.from:Si,d=c.to,p=Qt(u),m=Qt(d);for(let A=p;A<=m;A++)e[A]=A}}}});break;case"Group":Ao(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&$o(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function Ra(t,e,r){const n=Qt(t);e[n]=n,r===!0&&Wp(t,e)}function Wp(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=Qt(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=Qt(i.charCodeAt(0));e[a]=a}}}function Oc(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{const n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function $o(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every($o):$o(t.value):!1}class Vp extends As{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?Oc(e,this.targetCharCodes)===void 0&&(this.found=!0):Oc(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function rc(t,e){if(e instanceof RegExp){const r=Ss(e),n=new Vp(t);return n.visit(r),n.found}else{for(const r of e){const n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}const _r="PATTERN",Ci="defaultMode",va="modes";function Kp(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
+ `],tracer:(S,C)=>C()},e);const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{ym()});let n;r("Reject Lexer.NA",()=>{n=t.filter(S=>S[_r]!==We.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=n.map(S=>{const C=S[_r];if(C instanceof RegExp){const P=C.source;return P.length===1&&P!=="^"&&P!=="$"&&P!=="."&&!C.ignoreCase?P:P.length===2&&P[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(P[1])?P[1]:Lc(C)}else{if(typeof C=="function")return i=!0,{exec:C};if(typeof C=="object")return i=!0,C;if(typeof C=="string"){if(C.length===1)return C;{const P=C.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),W=new RegExp(P);return Lc(W)}}else throw Error("non exhaustive match")}})});let s,o,l,c,u;r("misc mapping",()=>{s=n.map(S=>S.tokenTypeIdx),o=n.map(S=>{const C=S.GROUP;if(C!==We.SKIPPED){if(typeof C=="string")return C;if(C===void 0)return!1;throw Error("non exhaustive match")}}),l=n.map(S=>{const C=S.LONGER_ALT;if(C)return Array.isArray(C)?C.map(W=>n.indexOf(W)):[n.indexOf(C)]}),c=n.map(S=>S.PUSH_MODE),u=n.map(S=>Object.hasOwn(S,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{const S=Hf(e.lineTerminatorCharacters);d=n.map(C=>!1),e.positionTracking!=="onlyOffset"&&(d=n.map(C=>Object.hasOwn(C,"LINE_BREAKS")?!!C.LINE_BREAKS:Kf(C,S)===!1&&rc(S,C.PATTERN)))});let p,m,A,b;r("Misc Mapping #2",()=>{p=n.map(Vf),m=a.map(pm),A=n.reduce((S,C)=>{const P=C.GROUP;return typeof P=="string"&&P!==We.SKIPPED&&(S[P]=[]),S},{}),b=a.map((S,C)=>({pattern:a[C],longerAlt:l[C],canLineTerminator:d[C],isCustom:p[C],short:m[C],group:o[C],push:c[C],pop:u[C],tokenTypeIdx:s[C],tokenType:n[C]}))});let I=!0,w=[];return e.safeMode||r("First Char Optimization",()=>{w=n.reduce((S,C,P)=>{if(typeof C.PATTERN=="string"){const W=C.PATTERN.charCodeAt(0),B=Qt(W);js(S,B,b[P])}else if(Array.isArray(C.START_CHARS_HINT)){let W;C.START_CHARS_HINT.forEach(B=>{const H=typeof B=="string"?B.charCodeAt(0):B,ne=Qt(H);W!==ne&&(W=ne,js(S,ne,b[P]))})}else if(C.PATTERN instanceof RegExp)if(C.PATTERN.unicode)I=!1,e.ensureOptimizations&&Eo(`${is} Unable to analyze < ${C.PATTERN.toString()} > pattern.
23
+ The regexp unicode flag is not currently supported by the regexp-to-ast library.
24
+ This will disable the lexer's first char optimizations.
25
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const W=Bp(C.PATTERN,e.ensureOptimizations);W.length===0&&(I=!1),W.forEach(B=>{js(S,B,b[P])})}else e.ensureOptimizations&&Eo(`${is} TokenType: <${C.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
26
+ This will disable the lexer's first char optimizations.
27
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),I=!1;return S},[])}),{emptyGroups:A,patternIdxToConfig:b,charCodeToPatternIdxToConfig:w,hasCustom:i,canBeOptimized:I}}function Hp(t,e){let r=[];const n=Yp(t);r=r.concat(n.errors);const i=Jp(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(Xp(a)),r=r.concat(am(a)),r=r.concat(sm(a,e)),r=r.concat(om(a)),r}function Xp(t){let e=[];const r=t.filter(n=>n[_r]instanceof RegExp);return e=e.concat(Qp(r)),e=e.concat(rm(r)),e=e.concat(nm(r)),e=e.concat(im(r)),e=e.concat(em(r)),e}function Yp(t){const e=t.filter(i=>!Object.hasOwn(i,_r)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Re.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function Jp(t){const e=t.filter(i=>{const a=i[_r];return!(a instanceof RegExp)&&typeof a!="function"&&!Object.hasOwn(a,"exec")&&typeof a!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Re.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}const Zp=/[^\\][$]/;function Qp(t){class e extends As{constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=Ss(a),o=new e;return o.visit(s),o.found}catch{return Zp.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
28
+ Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
29
+ See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Re.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function em(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Re.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}const tm=/[^\\[][\^]|^\^/;function rm(t){class e extends As{constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}return t.filter(i=>{const a=i.PATTERN;try{const s=Ss(a),o=new e;return o.visit(s),o.found}catch{return tm.test(a.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
30
+ Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
31
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Re.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function nm(t){return t.filter(n=>{const i=n[_r];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Re.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function im(t){const e=[];let r=t.map(a=>t.reduce((s,o)=>(a.PATTERN.source===o.PATTERN.source&&!e.includes(o)&&o.PATTERN!==We.NA&&(e.push(o),s.push(o)),s),[]));return r=r.filter(Boolean),r.filter(a=>a.length>1).map(a=>{const s=a.map(l=>l.name);return{message:`The same RegExp pattern ->${a[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:Re.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function am(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;const i=n.GROUP;return i!==We.SKIPPED&&i!==We.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Re.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function sm(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Re.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function om(t){const e=[],r=t.reduce((n,i,a)=>{const s=i.PATTERN;return s===We.NA||(typeof s=="string"?n.push({str:s,idx:a,tokenType:i}):s instanceof RegExp&&cm(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:a,idx:s,tokenType:o})=>{if(i<s&&lm(a,n.PATTERN)){const l=`Token: ->${o.name}<- can never be matched.
32
+ Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
33
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:Re.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}function lm(t,e){if(e instanceof RegExp){if(um(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function cm(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function um(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function Lc(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function fm(t,e,r){const n=[];return Object.hasOwn(t,Ci)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ci+`> property in its definition
34
+ `,type:Re.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,va)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+va+`> property in its definition
35
+ `,type:Re.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,va)&&Object.hasOwn(t,Ci)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ci}: <${t.defaultMode}>which does not exist
36
+ `,type:Re.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,va)&&Object.keys(t.modes).forEach(i=>{const a=t.modes[i];a.forEach((s,o)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${o}>
37
+ `,type:Re.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(c=>{c!==void 0&&!a.includes(c)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${s.name}> outside of mode <${i}>
38
+ `,type:Re.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function dm(t,e,r){const n=[];let i=!1;const s=Object.values(t.modes||{}).flat().filter(Boolean).filter(l=>l[_r]!==We.NA),o=Hf(r);return e&&s.forEach(l=>{const c=Kf(l,o);if(c!==!1){const d={message:gm(l,c),type:c.issue,tokenType:l};n.push(d)}else Object.hasOwn(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):rc(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
39
+ This Lexer has been defined to track line and column information,
40
+ But none of the Token Types can be identified as matching a line terminator.
41
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
42
+ for details.`,type:Re.NO_LINE_BREAKS_FLAGS}),n}function hm(t){const e={};return Object.keys(t).forEach(n=>{const i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Vf(t){const e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function pm(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}const mm={test:function(t){const e=t.length;for(let r=this.lastIndex;r<e;r++){const n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function Kf(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{rc(e,t.PATTERN)}catch(r){return{issue:Re.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(Vf(t))return{issue:Re.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function gm(t,e){if(e.issue===Re.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
43
+ The problem is in the <${t.name}> Token Type
44
+ Root cause: ${e.errMsg}.
45
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Re.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
46
+ The problem is in the <${t.name}> Token Type
47
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Hf(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function js(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}const Si=256;let Wa=[];function Qt(t){return t<Si?t:Wa[t]}function ym(){if(Wa.length===0){Wa=new Array(65536);for(let t=0;t<65536;t++)Wa[t]=t>255?255+~~(t/255):t}}function Vi(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function as(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let xc=1;const Xf={};function Ki(t){const e=Tm(t);Rm(e),Em(e),vm(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function Tm(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(a=>a.CATEGORIES).flat().filter(Boolean);const i=r.filter(a=>!e.includes(a));e=e.concat(i),i.length===0?n=!1:r=i}return e}function Rm(t){t.forEach(e=>{Jf(e)||(Xf[xc]=e,e.tokenTypeIdx=xc++),Dc(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Dc(e)||(e.CATEGORIES=[]),Am(e)||(e.categoryMatches=[]),$m(e)||(e.categoryMatchesMap={})})}function vm(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Xf[r].tokenTypeIdx)})})}function Em(t){t.forEach(e=>{Yf([],e)})}function Yf(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{const n=t.concat(e);n.includes(r)||Yf(n,r)})}function Jf(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function Dc(t){return Object.hasOwn(t??{},"CATEGORIES")}function Am(t){return Object.hasOwn(t??{},"categoryMatches")}function $m(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function Cm(t){return Object.hasOwn(t??{},"tokenTypeIdx")}const Co={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var Re;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Re||(Re={}));const wi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Co,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(wi);class We{constructor(e,r=wi){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);const{time:o,value:l}=Uf(a),c=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${s}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
49
+ a boolean 2nd argument is no longer supported`);this.config=Object.assign({},wi,r);const 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 i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===wi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=mm;else if(this.config.lineTerminatorCharacters===wi.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
50
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.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)?i={modes:{defaultMode:[...e]},defaultMode:Ci}:(a=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(fm(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(dm(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([o,l])=>{i.modes[o]=l.filter(c=>c!==void 0)});const s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([o,l])=>{this.TRACE_INIT(`Mode: <${o}> processing`,()=>{if(this.modes.push(o),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Hp(l,s))}),this.lexerDefinitionErrors.length===0){Ki(l);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Kp(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[o]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[o]=c.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[o]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){const l=this.lexerDefinitionErrors.map(c=>c.message).join(`-----------------------
51
+ `);throw new Error(`Errors detected in definition of Lexer:
52
+ `+l)}this.lexerDefinitionWarning.forEach(o=>{zf(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=o=>o),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",()=>{const o=Object.entries(this.canModeBeOptimized).reduce((l,[c,u])=>(u===!1&&l.push(c),l),[]);if(r.ensureOptimizations&&o.length>0)throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
53
+ Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
54
+ Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{qp()}),this.TRACE_INIT("toFastProperties",()=>{qf(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){const i=this.lexerDefinitionErrors.map(a=>a.message).join(`-----------------------
55
+ `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
56
+ `+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,c,u,d,p,m,A,b,I,w;const S=e,C=S.length;let P=0,W=0;const B=this.hasCustom?0:Math.floor(e.length/10),H=new Array(B),ne=[];let se=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0;const N=hm(this.emptyGroups),T=this.trackStartLines,g=this.config.lineTerminatorsPattern;let $=0,y=[],R=[];const E=[],L=[];Object.freeze(L);let D=!1;const x=z=>{if(E.length===1&&z.tokenType.PUSH_MODE===void 0){const Q=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(z);ne.push({offset:z.startOffset,line:z.startLine,column:z.startColumn,length:z.image.length,message:Q})}else{E.pop();const Q=E.at(-1);y=this.patternIdxToConfig[Q],R=this.charCodeToPatternIdxToConfig[Q],$=y.length;const _e=this.canModeBeOptimized[Q]&&this.config.safeMode===!1;R&&_e?D=!0:D=!1}};function j(z){E.push(z),R=this.charCodeToPatternIdxToConfig[z],y=this.patternIdxToConfig[z],$=y.length,$=y.length;const Q=this.canModeBeOptimized[z]&&this.config.safeMode===!1;R&&Q?D=!0:D=!1}j.call(this,r);let F;const te=this.config.recoveryEnabled;for(;P<C;){l=null,d=-1;const z=S.charCodeAt(P);let Q;if(D){const me=Qt(z),le=R[me];Q=le!==void 0?le:L}else Q=y;const _e=Q.length;for(n=0;n<_e;n++){F=Q[n];const me=F.pattern;c=null;const le=F.short;if(le!==!1?z===le&&(d=1,l=me):F.isCustom===!0?(w=me.exec(S,P,H,N),w!==null?(l=w[0],d=l.length,w.payload!==void 0&&(c=w.payload)):l=null):(me.lastIndex=P,d=this.matchLength(me,e,P)),d!==-1){if(o=F.longerAlt,o!==void 0){l=e.substring(P,P+d);const ke=o.length;for(a=0;a<ke;a++){const Ie=y[o[a]],Ce=Ie.pattern;if(u=null,Ie.isCustom===!0?(w=Ce.exec(S,P,H,N),w!==null?(s=w[0],w.payload!==void 0&&(u=w.payload)):s=null):(Ce.lastIndex=P,s=this.match(Ce,e,P)),s&&s.length>l.length){l=s,d=s.length,c=u,F=Ie;break}}}break}}if(d!==-1){if(p=F.group,p!==void 0&&(l=l!==null?l:e.substring(P,P+d),m=F.tokenTypeIdx,A=this.createTokenInstance(l,P,m,F.tokenType,se,oe,d),this.handlePayload(A,c),p===!1?W=this.addToken(H,W,A):N[p].push(A)),T===!0&&F.canLineTerminator===!0){let me=0,le,ke;g.lastIndex=0;do l=l!==null?l:e.substring(P,P+d),le=g.test(l),le===!0&&(ke=g.lastIndex-1,me++);while(le===!0);me!==0?(se=se+me,oe=d-ke,this.updateTokenEndLineColumnLocation(A,p,ke,me,se,oe,d)):oe=this.computeNewColumn(oe,d)}else oe=this.computeNewColumn(oe,d);P=P+d,this.handleModes(F,x,j,A)}else{const me=P,le=se,ke=oe;let Ie=te===!1;for(;Ie===!1&&P<C;)for(P++,i=0;i<$;i++){const Ce=y[i],Y=Ce.pattern,Xe=Ce.short;if(Xe!==!1?S.charCodeAt(P)===Xe&&(Ie=!0):Ce.isCustom===!0?Ie=Y.exec(S,P,H,N)!==null:(Y.lastIndex=P,Ie=Y.exec(e)!==null),Ie===!0)break}if(b=P-me,oe=this.computeNewColumn(oe,b),I=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(S,me,b,le,ke,E.at(-1)),ne.push({offset:me,line:le,column:ke,length:b,message:I}),te===!1)break}}return this.hasCustom||(H.length=W),{tokens:H,groups:N,errors:ne}}handleModes(e,r,n,i){if(e.pop===!0){const a=e.push;r(i),a!==void 0&&n.call(this,a)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,a,s,o){let l,c;r!==void 0&&(l=n===o-1,c=l?-1:0,i===1&&l===!0||(e.endLine=a+c,e.endColumn=s-1+-c))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,a,s){return{image:e,startOffset:r,startLine:a,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,a,s,o){return{image:e,startOffset:r,endOffset:r+o-1,startLine:a,endLine:a,startColumn:s,endColumn:s+o-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}}We.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.";We.NA=/NOT_APPLICABLE/;function an(t){return Zf(t)?t.LABEL:t.name}function Zf(t){return typeof t.LABEL=="string"&&t.LABEL!==""}const Sm="parent",Mc="categories",Fc="label",Gc="group",jc="push_mode",zc="pop_mode",Uc="longer_alt",qc="line_breaks",Bc="start_chars_hint";function Qf(t){return wm(t)}function wm(t){const e=t.pattern,r={};if(r.name=t.name,e!==void 0&&(r.PATTERN=e),Object.hasOwn(t,Sm))throw`The parent property is no longer supported.
57
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,Mc)&&(r.CATEGORIES=t[Mc]),Ki([r]),Object.hasOwn(t,Fc)&&(r.LABEL=t[Fc]),Object.hasOwn(t,Gc)&&(r.GROUP=t[Gc]),Object.hasOwn(t,zc)&&(r.POP_MODE=t[zc]),Object.hasOwn(t,jc)&&(r.PUSH_MODE=t[jc]),Object.hasOwn(t,Uc)&&(r.LONGER_ALT=t[Uc]),Object.hasOwn(t,qc)&&(r.LINE_BREAKS=t[qc]),Object.hasOwn(t,Bc)&&(r.START_CHARS_HINT=t[Bc]),r}const er=Qf({name:"EOF",pattern:We.NA});Ki([er]);function nc(t,e,r,n,i,a,s,o){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function ed(t,e){return Vi(t,e)}const rn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${Zf(t)?`--> ${an(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=`
58
+ but found: '`+e[0].image+"'";if(n)return a+n+o;{const d=`one of these possible Token sequences:
59
+ ${t.reduce((p,m)=>p.concat(m),[]).map(p=>`[${p.map(m=>an(m)).join(", ")}]`).map((p,m)=>` ${m+1}. ${p}`).join(`
60
+ `)}`;return a+d+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=`
61
+ but found: '`+e[0].image+"'";if(r)return i+r+s;{const l=`expecting at least one iteration which starts with one of these possible Token sequences::
62
+ <${t.map(c=>`[${c.map(u=>an(u)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(rn);const km={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
+ inside top level rule: ->`+t.name+"<-"}},Sr={buildDuplicateFoundError(t,e){function r(u){return u instanceof ae?u.terminalType.name:u instanceof qe?u.nonTerminalName:""}const n=t.name,i=e[0],a=i.idx,s=mt(i),o=r(i),l=a>0;let c=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""}
64
+ appears more than once (${e.length} times) in the top level rule: ->${n}<-.
65
+ For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
66
+ `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,`
67
+ `),c},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
68
+ The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
69
+ To resolve this make sure each Terminal and Non-Terminal names are unique
70
+ This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
71
+ and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=t.prefixPath.map(i=>an(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
72
+ in <OR${r}> inside <${t.topLevelRule.name}> Rule,
73
+ <${e}> may appears as a prefix path in all these alternatives.
74
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
75
+ For Further details.`},buildAlternationAmbiguityError(t){const e=t.alternation.idx===0?"":t.alternation.idx,r=t.prefixPath.length===0;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
76
+ `;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
77
+ Only the last alternative may be empty.
78
+ `;else{const i=t.prefixPath.map(a=>an(a)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
79
+ `}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
80
+ For Further details.`,n},buildEmptyRepetitionError(t){let e=mt(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
81
+ This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
82
+ Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
83
+ <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
84
+ has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,r=t.leftRecursionPath.map(a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
85
+ rule: <${e}> can be invoked from itself (directly or indirectly)
86
+ without consuming any Tokens. The grammar path that causes this is:
87
+ ${n}
88
+ To fix this refactor your grammar to remove the left recursion.
89
+ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof On?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function bm(t,e){const r=new Nm(t,e);return r.resolveRefs(),r.errors}class Nm extends Ln{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:Be.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class _m extends Cs{constructor(e,r){super(),this.topProd=e,this.path=r,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,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Im extends _m{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Ve({definition:i});this.possibleTokTypes=Wi(a),this.found=!0}}}class ws extends Cs{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class Pm extends ws{walkMany(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof ae&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}}class Wc extends ws{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof ae&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}}class Om extends ws{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof ae&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}}class Vc extends ws{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof ae&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}}function So(t,e,r=[]){r=[...r];let n=[],i=0;function a(o){return o.concat(t.slice(i+1))}function s(o){const l=So(a(o),e,r);return n.concat(l)}for(;r.length<e&&i<t.length;){const o=t[i];if(o instanceof Ve)return s(o.definition);if(o instanceof qe)return s(o.definition);if(o instanceof Me)n=s(o.definition);else if(o instanceof et){const l=o.definition.concat([new Te({definition:o.definition})]);return s(l)}else if(o instanceof tt){const l=[new Ve({definition:o.definition}),new Te({definition:[new ae({terminalType:o.separator})].concat(o.definition)})];return s(l)}else if(o instanceof Ke){const l=o.definition.concat([new Te({definition:[new ae({terminalType:o.separator})].concat(o.definition)})]);n=s(l)}else if(o instanceof Te){const l=o.definition.concat([new Te({definition:o.definition})]);n=s(l)}else{if(o instanceof He)return o.definition.forEach(l=>{l.definition.length!==0&&(n=s(l.definition))}),n;if(o instanceof ae)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function Lm(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,c=l-n-1,u=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});d.length!==0;){const p=d.pop();if(p===s){o&&d.at(-1).idx<=c&&d.pop();continue}const m=p.def,A=p.idx,b=p.ruleStack,I=p.occurrenceStack;if(m.length===0)continue;const w=m[0];if(w===i){const S={idx:A,def:m.slice(1),ruleStack:b.slice(0,-1),occurrenceStack:I.slice(0,-1)};d.push(S)}else if(w instanceof ae)if(A<l-1){const S=A+1,C=e[S];if(r(C,w.terminalType)){const P={idx:S,def:m.slice(1),ruleStack:b,occurrenceStack:I};d.push(P)}}else if(A===l-1)u.push({nextTokenType:w.terminalType,nextTokenOccurrence:w.idx,ruleStack:b,occurrenceStack:I}),o=!0;else throw Error("non exhaustive match");else if(w instanceof qe){const S=[...b];S.push(w.nonTerminalName);const C=[...I];C.push(w.idx);const P={idx:A,def:w.definition.concat(a,m.slice(1)),ruleStack:S,occurrenceStack:C};d.push(P)}else if(w instanceof Me){const S={idx:A,def:m.slice(1),ruleStack:b,occurrenceStack:I};d.push(S),d.push(s);const C={idx:A,def:w.definition.concat(m.slice(1)),ruleStack:b,occurrenceStack:I};d.push(C)}else if(w instanceof et){const S=new Te({definition:w.definition,idx:w.idx}),C=w.definition.concat([S],m.slice(1)),P={idx:A,def:C,ruleStack:b,occurrenceStack:I};d.push(P)}else if(w instanceof tt){const S=new ae({terminalType:w.separator}),C=new Te({definition:[S].concat(w.definition),idx:w.idx}),P=w.definition.concat([C],m.slice(1)),W={idx:A,def:P,ruleStack:b,occurrenceStack:I};d.push(W)}else if(w instanceof Ke){const S={idx:A,def:m.slice(1),ruleStack:b,occurrenceStack:I};d.push(S),d.push(s);const C=new ae({terminalType:w.separator}),P=new Te({definition:[C].concat(w.definition),idx:w.idx}),W=w.definition.concat([P],m.slice(1)),B={idx:A,def:W,ruleStack:b,occurrenceStack:I};d.push(B)}else if(w instanceof Te){const S={idx:A,def:m.slice(1),ruleStack:b,occurrenceStack:I};d.push(S),d.push(s);const C=new Te({definition:w.definition,idx:w.idx}),P=w.definition.concat([C],m.slice(1)),W={idx:A,def:P,ruleStack:b,occurrenceStack:I};d.push(W)}else if(w instanceof He)for(let S=w.definition.length-1;S>=0;S--){const C=w.definition[S],P={idx:A,def:C.definition.concat(m.slice(1)),ruleStack:b,occurrenceStack:I};d.push(P),d.push(s)}else if(w instanceof Ve)d.push({idx:A,def:w.definition.concat(m.slice(1)),ruleStack:b,occurrenceStack:I});else if(w instanceof On)d.push(xm(w,A,b,I));else throw Error("non exhaustive match")}return u}function xm(t,e,r,n){const i=[...r];i.push(t.name);const a=[...n];return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var de;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(de||(de={}));function ic(t){if(t instanceof Me||t==="Option")return de.OPTION;if(t instanceof Te||t==="Repetition")return de.REPETITION;if(t instanceof et||t==="RepetitionMandatory")return de.REPETITION_MANDATORY;if(t instanceof tt||t==="RepetitionMandatoryWithSeparator")return de.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Ke||t==="RepetitionWithSeparator")return de.REPETITION_WITH_SEPARATOR;if(t instanceof He||t==="Alternation")return de.ALTERNATION;throw Error("non exhaustive match")}function Kc(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=ic(n);return a===de.ALTERNATION?ks(e,r,i):bs(e,r,a,i)}function Dm(t,e,r,n,i,a){const s=ks(t,e,r),o=nd(s)?as:Vi;return a(s,n,o,i)}function Mm(t,e,r,n,i,a){const s=bs(t,e,i,r),o=nd(s)?as:Vi;return a(s[0],o,n)}function Fm(t,e,r,n){const i=t.length,a=t.every(s=>s.every(o=>o.length===1));if(e)return function(s){const o=s.map(l=>l.GATE);for(let l=0;l<i;l++){const c=t[l],u=c.length,d=o[l];if(!(d!==void 0&&d.call(this)===!1))e:for(let p=0;p<u;p++){const m=c[p],A=m.length;for(let b=0;b<A;b++){const I=this.LA_FAST(b+1);if(r(I,m[b])===!1)continue e}return l}}};if(a&&!n){const o=t.map(l=>l.flat()).reduce((l,c,u)=>(c.forEach(d=>{d.tokenTypeIdx in l||(l[d.tokenTypeIdx]=u),d.categoryMatches.forEach(p=>{Object.hasOwn(l,p)||(l[p]=u)})}),l),{});return function(){const l=this.LA_FAST(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){const o=t[s],l=o.length;e:for(let c=0;c<l;c++){const u=o[c],d=u.length;for(let p=0;p<d;p++){const m=this.LA_FAST(p+1);if(r(m,u[p])===!1)continue e}return s}}}}function Gm(t,e,r){const n=t.every(a=>a.length===1),i=t.length;if(n&&!r){const a=t.flat();if(a.length===1&&a[0].categoryMatches.length===0){const o=a[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===o}}else{const s=a.reduce((o,l,c)=>(o[l.tokenTypeIdx]=!0,l.categoryMatches.forEach(u=>{o[u]=!0}),o),[]);return function(){const o=this.LA_FAST(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;a<i;a++){const s=t[a],o=s.length;for(let l=0;l<o;l++){const c=this.LA_FAST(l+1);if(e(c,s[l])===!1)continue e}return!0}return!1}}class jm extends Cs{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,de.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,de.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,de.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,de.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,de.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}}class td extends Ln{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,de.OPTION)}visitRepetition(e){this.checkIsTarget(e,de.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,de.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,de.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,de.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,de.ALTERNATION)}}function Hc(t){const e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function zs(t){let e=[""];for(let r=0;r<t.length;r++){const n=t[r],i=[];for(let a=0;a<e.length;a++){const s=e[a];i.push(s+"_"+n.tokenTypeIdx);for(let o=0;o<n.categoryMatches.length;o++){const l="_"+n.categoryMatches[o];i.push(s+l)}}e=i}return e}function zm(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;const i=t[n];for(let a=0;a<e.length;a++){const s=e[a];if(i[s]===!0)return!1}}return!0}function rd(t,e){const r=t.map(s=>So([s],1)),n=Hc(r.length),i=r.map(s=>{const o={};return s.forEach(l=>{zs(l.partialPath).forEach(u=>{o[u]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=Hc(o.length);for(let l=0;l<o.length;l++){const c=o[l];for(let u=0;u<c.length;u++){const d=c[u].partialPath,p=c[u].suffixDef,m=zs(d);if(zm(i,m,l)||p.length===0||d.length===e){const b=n[l];if(wo(b,d)===!1){b.push(d);for(let I=0;I<m.length;I++){const w=m[I];i[l][w]=!0}}}else{const b=So(p,s+1,d);a[l]=a[l].concat(b),b.forEach(I=>{zs(I.partialPath).forEach(S=>{i[l][S]=!0})})}}}}return n}function ks(t,e,r,n){const i=new td(t,de.ALTERNATION,n);return e.accept(i),rd(i.result,r)}function bs(t,e,r,n){const i=new td(t,r);e.accept(i);const a=i.result,o=new jm(e,t,r).startWalking(),l=new Ve({definition:a}),c=new Ve({definition:o});return rd([l,c],n)}function wo(t,e){e:for(let r=0;r<t.length;r++){const n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){const a=e[i],s=n[i];if((a===s||s.categoryMatchesMap[a.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function Um(t,e){return t.length<e.length&&t.every((r,n)=>{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function nd(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function qm(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:Be.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Bm(t,e,r,n){const i=t.flatMap(l=>Wm(l,r)),a=ng(t,e,r),s=t.flatMap(l=>Qm(l,r)),o=t.flatMap(l=>Hm(l,t,n,r));return i.concat(a,s,o)}function Wm(t,e){const r=new Km;t.accept(r);const n=r.allProductions,i=Object.groupBy(n,Vm),a=Object.fromEntries(Object.entries(i).filter(([o,l])=>l.length>1));return Object.values(a).map(o=>{const l=o[0],c=e.buildDuplicateFoundError(t,o),u=mt(l),d={message:c,type:Be.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},p=id(l);return p&&(d.parameter=p),d})}function Vm(t){return`${mt(t)}_#_${t.idx}_#_${id(t)}`}function id(t){return t instanceof ae?t.terminalType.name:t instanceof qe?t.nonTerminalName:""}class Km extends Ln{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 Hm(t,e,r,n){const i=[];if(e.reduce((s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:Be.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Xm(t,e,r){const n=[];let i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:Be.INVALID_RULE_OVERRIDE,ruleName:t})),n}function ad(t,e,r,n=[]){const i=[],a=Va(e.definition);if(a.length===0)return[];{const s=t.name;a.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:Be.LEFT_RECURSION,ruleName:s});const l=n.concat([t]),u=a.filter(d=>!l.includes(d)).flatMap(d=>{const p=[...n];return p.push(d),ad(t,d,r,p)});return i.concat(u)}}function Va(t){let e=[];if(t.length===0)return e;const r=t[0];if(r instanceof qe)e.push(r.referencedRule);else if(r instanceof Ve||r instanceof Me||r instanceof et||r instanceof tt||r instanceof Ke||r instanceof Te)e=e.concat(Va(r.definition));else if(r instanceof He)e=r.definition.map(a=>Va(a.definition)).flat();else if(!(r instanceof ae))throw Error("non exhaustive match");const n=ns(r),i=t.length>1;if(n&&i){const a=t.slice(1);return e.concat(Va(a))}else return e}class ac extends Ln{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Ym(t,e){const r=new ac;return t.accept(r),r.alternations.flatMap(a=>a.definition.slice(0,-1).flatMap((o,l)=>Lm([o],[],Vi,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:Be.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]))}function Jm(t,e,r){const n=new ac;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{const o=s.idx,l=s.maxLookahead||e,c=ks(o,t,l,s),u=tg(c,s,t,r),d=rg(c,s,t,r);return u.concat(d)})}class Zm extends Ln{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 Qm(t,e){const r=new ac;return t.accept(r),r.alternations.flatMap(a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:Be.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function eg(t,e,r){const n=[];return t.forEach(i=>{const a=new Zm;i.accept(a),a.allProductions.forEach(o=>{const l=ic(o),c=o.maxLookahead||e,u=o.idx;if(bs(u,i,l,c)[0].flat().length===0){const m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:m,type:Be.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function tg(t,e,r,n){const i=[];return t.reduce((o,l,c)=>(e.definition[c].ignoreAmbiguities===!0||l.forEach(u=>{const d=[c];t.forEach((p,m)=>{c!==m&&wo(p,u)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!wo(i,u)&&(i.push(u),o.push({alts:d,path:u}))}),o),[]).map(o=>{const l=o.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:Be.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}function rg(t,e,r,n){const i=t.reduce((s,o,l)=>{const c=o.map(u=>({idx:l,path:u}));return s.concat(c)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,c=s.path;return i.filter(p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx<l&&Um(p.path,c)).map(p=>{const m=[p.idx+1,l+1],A=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:Be.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:A,alternatives:m}})})}function ng(t,e,r){const n=[],i=e.map(a=>a.name);return t.forEach(a=>{const s=a.name;if(i.includes(s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:Be.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function ig(t){const e=Object.assign({errMsgProvider:km},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),bm(r,e.errMsgProvider)}function ag(t){var e;const r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Sr;return Bm(t.rules,t.tokenTypes,r,t.grammarName)}const sd="MismatchedTokenException",od="NoViableAltException",ld="EarlyExitException",cd="NotAllInputParsedException",ud=[sd,od,ld,cd];Object.freeze(ud);function ss(t){return ud.includes(t.name)}class Ns extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class fd extends Ns{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=sd}}class sg extends Ns{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=od}}class og extends Ns{constructor(e,r){super(e,r),this.name=cd}}class lg extends Ns{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=ld}}const Us={},dd="InRuleRecoveryException";class cg extends Error{constructor(e){super(e),this.name=dd}}class ug{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:qt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=fg)}getTokenToInsert(e){const r=nc(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const c=this.LA_FAST(1);let u=this.LA_FAST(1);const d=()=>{const p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:p,ruleName:this.getCurrRuleFullName()}),A=new fd(m,c,this.LA(0));A.resyncedTokens=o.slice(0,-1),this.SAVE_ERROR(A)};for(;!l;)if(this.tokenMatcher(u,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(u,a)?l=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){const r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Im(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new cg("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;const n=this.LA_FAST(1);return r.find(a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA_FAST(1),n=2;for(;;){const i=e.find(a=>ed(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return Us;const e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let a=0;a<n;a++)a===0?i[a]=Us:i[a]={ruleName:this.shortRuleNameToFullName(e[a]),idxInCallingRule:r[a],inRule:this.shortRuleNameToFullName(e[a-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===Us)return[er];const r=e.ruleName+e.idxInCallingRule+Bf+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,er)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){const e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}}function fg(t,e,r,n,i,a,s){const o=this.getKeyForAutomaticLookahead(n,i);let l=this.firstAfterRepMap[o];if(l===void 0){const p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];l=new a(m,i).startWalking(),this.firstAfterRepMap[o]=l}let c=l.token,u=l.occurrence;const d=l.isEndOfRule;this.RULE_STACK_IDX===0&&d&&c===void 0&&(c=er,u=1),!(c===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,u,s)&&this.tryInRepetitionRecovery(t,e,r,c)}const dg=4,rr=8,hd=1<<rr,pd=2<<rr,ko=3<<rr,bo=4<<rr,No=5<<rr,Ka=6<<rr;function qs(t,e,r){return r|e|t}class sc{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:qt.maxLookahead}validate(e){const r=this.validateNoLeftRecursion(e.rules);if(r.length===0){const n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>ad(r,r,Sr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>Ym(r,Sr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Jm(n,r,Sr))}validateSomeNonEmptyLookaheadPath(e,r){return eg(e,r,Sr)}buildLookaheadForAlternation(e){return Dm(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Fm)}buildLookaheadForOptional(e){return Mm(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,ic(e.prodType),Gm)}}class hg{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:qt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:qt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new sc({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=mg(r);n.forEach(c=>{const u=c.idx===0?"":c.idx;this.TRACE_INIT(`${mt(c)}${u}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:r,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=qs(this.fullRuleNameToShort[r.name],hd,c.idx);this.setLaFuncCache(p,d)})}),i.forEach(c=>{this.computeLookaheadFunc(r,c.idx,ko,"Repetition",c.maxLookahead,mt(c))}),a.forEach(c=>{this.computeLookaheadFunc(r,c.idx,pd,"Option",c.maxLookahead,mt(c))}),s.forEach(c=>{this.computeLookaheadFunc(r,c.idx,bo,"RepetitionMandatory",c.maxLookahead,mt(c))}),o.forEach(c=>{this.computeLookaheadFunc(r,c.idx,Ka,"RepetitionMandatoryWithSeparator",c.maxLookahead,mt(c))}),l.forEach(c=>{this.computeLookaheadFunc(r,c.idx,No,"RepetitionWithSeparator",c.maxLookahead,mt(c))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=qs(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){return qs(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}}class pg extends Ln{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)}}const Ea=new pg;function mg(t){Ea.reset(),t.accept(Ea);const e=Ea.dslMethods;return Ea.reset(),e}function Xc(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Yc(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function gg(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function yg(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}const Tg="name";function md(t,e){Object.defineProperty(t,Tg,{enumerable:!1,configurable:!0,writable:!1,value:e})}function Rg(t,e){const r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){const a=r[i],s=t[a],o=s.length;for(let l=0;l<o;l++){const c=s[l];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}}function vg(t,e){const r=function(){};md(r,t+"BaseSemantics");const n={visit:function(i,a){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,a)},validateVisitor:function(){const i=Ag(this,e);if(i.length!==0){const a=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
90
+ ${a.join(`
91
+
92
+ `).replace(/\n/g,`
93
+ `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Eg(t,e,r){const n=function(){};md(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return e.forEach(a=>{i[a]=Rg}),n.prototype=i,n.prototype.constructor=n,n}var _o;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(_o||(_o={}));function Ag(t,e){return $g(t,e)}function $g(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:_o.MISSING_METHOD,methodName:i})).filter(Boolean)}class Cg{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:qt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Yc,this.setNodeLocationFromNode=Yc,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=Xc,this.setNodeLocationFromNode=Xc,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:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];gg(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];yg(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){const e=vg(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){const e=Eg(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]}}class Sg{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)):wn}LA_FAST(e){const r=this.currIdx+e;return this.tokVector[r]}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?wn:this.tokVector[r]}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()}}class wg{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}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,r,n=ls){if(this.definedRulesNames.includes(e)){const s={message:Sr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Be.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=ls){const i=Xm(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){var n;const i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);const a=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(ss(s))return!1;throw s}finally{this.reloadRecogState(a),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Op(Object.values(this.gastProductionsCache))}}class kg{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=as,this.subruleIdx=0,this.currRuleShortName=0,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(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
94
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
95
+ For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty.
96
+ Note that the first argument for the parser constructor
97
+ 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.
98
+ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
99
+ For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((a,s)=>(a[s.name]=s,a),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(Cm)){const a=Object.values(e.modes).flat(),s=[...new Set(a)];this.tokensMap=s.reduce((o,l)=>(o[l.name]=l,o),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=er;const i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(a=>{var s;return((s=a.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?as:Vi,Ki(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
100
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:ls.resyncEnabled,a=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:ls.recoveryValueFunc,s=this.ruleShortNameIdx<<dg+rr;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let o;return this.outputCst===!0?o=function(...d){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,d);const p=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(p),p}catch(p){return this.invokeRuleCatch(p,i,a)}finally{this.ruleFinallyStateUpdate()}}:o=function(...d){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,d)}catch(p){return this.invokeRuleCatch(p,i,a)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...d){this.onBeforeParse(e);try{return o.apply(this,d)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:r,coreRule:o})}invokeRuleCatch(e,r,n){const i=this.RULE_STACK_IDX===0,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(ss(e)){const s=e;if(a){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(s.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return n(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,s.partialCstResult=l}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){const n=this.getKeyForAutomaticLookahead(pd,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;const s=e.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(bo,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=()=>s.call(this)&&o.call(this)}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,de.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,bo,e,Om)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(Ka,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,Vc],o,Ka,e,Vc)}else throw this.raiseEarlyExitException(e,de.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(ko,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,ko,e,Pm,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(No,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA_FAST(1),a);for(;this.tokenMatcher(this.LA_FAST(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,Wc],o,No,e,Wc)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,Ka,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(hd,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,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.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw ss(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA_FAST(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new fd(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===dd?n:a}}else throw n}saveRecogState(){const e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);const r=e.RULE_STACK;for(let n=0;n<r.length;n++)this.RULE_STACK[n]=r[n];this.RULE_STACK_IDX=r.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),er)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r<this.maxLookahead+1;r++)this.tokVector.push(wn)}onAfterParse(e){if(this.isAtEndOfInput()===!1){const r=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:r,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new og(n,r))}for(;this.tokVector.at(-1)===wn;)this.tokVector.pop()}}class bg{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:qt.errorMessageProvider}SAVE_ERROR(e){if(ss(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,r,n){const i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],o=bs(e,a,r,this.maxLookahead)[0],l=[];for(let u=1;u<=this.maxLookahead;u++)l.push(this.LA(u));const c=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new lg(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){const n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=ks(e,i,this.maxLookahead),s=[];for(let c=1;c<=this.maxLookahead;c++)s.push(this.LA(c));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:o,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new sg(l,this.LA(1),o))}}const _s={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(_s);const Jc=!0,Zc=Math.pow(2,rr)-1,gd=Qf({name:"RECORDING_PHASE_TOKEN",pattern:We.NA});Ki([gd]);const yd=nc(gd,`This IToken indicates the Parser is in Recording Phase
101
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(yd);const Ng={name:`This CSTNode indicates the Parser is in Recording Phase
102
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class _g{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++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},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",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";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,r){return()=>!0}LA_RECORD(e){return wn}topLevelRuleRecord(e,r){try{const n=new On({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
103
+ This error was thrown during the "grammar recording phase" For more info see:
104
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return ti.call(this,Me,e,r)}atLeastOneInternalRecord(e,r){ti.call(this,et,r,e)}atLeastOneSepFirstInternalRecord(e,r){ti.call(this,tt,r,e,Jc)}manyInternalRecord(e,r){ti.call(this,Te,r,e)}manySepFirstInternalRecord(e,r){ti.call(this,Ke,r,e,Jc)}orInternalRecord(e,r){return Ig.call(this,e,r)}subruleInternalRecord(e,r,n){if(os(r),!e||!Object.hasOwn(e,"ruleName")){const o=new Error(`<SUBRULE${Qc(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
105
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=this.recordingProdStack.at(-1),a=e.ruleName,s=new qe({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?Ng:_s}consumeInternalRecord(e,r,n){if(os(r),!Jf(e)){const s=new Error(`<CONSUME${Qc(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
106
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=this.recordingProdStack.at(-1),a=new ae({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),yd}}function ti(t,e,r,n=!1){os(r);const i=this.recordingProdStack.at(-1),a=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),_s}function Ig(t,e){os(e);const r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,a=new He({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=i.some(o=>typeof o.GATE=="function");return a.hasPredicates=s,r.definition.push(a),i.forEach(o=>{const l=new Ve({definition:[]});a.definition.push(l),Object.hasOwn(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Object.hasOwn(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),_s}function Qc(t){return t===0?"":`${t}`}function os(t){if(t<0||t>Zc){const e=new Error(`Invalid DSL Method idx value: <${t}>
107
+ Idx value must be a none negative value smaller than ${Zc+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Pg{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=qt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);const{time:i,value:a}=Uf(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,a}else return r()}}function Og(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}const wn=nc(er,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(wn);const qt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:rn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),ls=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var Be;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Be||(Be={}));function eu(t=void 0){return function(){return t}}class Hi{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 e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{qf(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=ig({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){const i=ag({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Sr,grammarName:r}),a=qm({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=jp(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!Hi.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
108
+ ${e.join(`
109
+ -------------------------------
110
+ `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
111
+ Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
112
+ See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
113
+ For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:qt.skipValidations}}Hi.DEFER_DEFINITION_ERRORS_HANDLING=!1;Og(Hi,[ug,hg,Cg,Sg,kg,wg,bg,_g,Pg]);class Lg extends Hi{constructor(e,r=qt){const n=Object.assign({},r);n.outputCst=!1,super(e,n)}}function kn(t,e,r){return`${t.name}_${e}_${r}`}const tr=1,xg=2,Td=4,Rd=5,Xi=7,Dg=8,Mg=9,Fg=10,Gg=11,vd=12;class oc{constructor(e){this.target=e}isEpsilon(){return!1}}class lc extends oc{constructor(e,r){super(e),this.tokenType=r}}class Ed extends oc{constructor(e){super(e)}isEpsilon(){return!0}}class cc extends oc{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}}function jg(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};zg(e,t);const r=t.length;for(let n=0;n<r;n++){const i=t[n],a=Or(e,i,i);a!==void 0&&Zg(e,i,a)}return e}function zg(t,e){const r=e.length;for(let n=0;n<r;n++){const i=e[n],a=Ne(t,i,void 0,{type:xg}),s=Ne(t,i,void 0,{type:Xi});a.stop=s,t.ruleToStartState.set(i,a),t.ruleToStopState.set(i,s)}}function Ad(t,e,r){return r instanceof ae?uc(t,e,r.terminalType,r):r instanceof qe?Jg(t,e,r):r instanceof He?Vg(t,e,r):r instanceof Me?Kg(t,e,r):r instanceof Te?Ug(t,e,r):r instanceof Ke?qg(t,e,r):r instanceof et?Bg(t,e,r):r instanceof tt?Wg(t,e,r):Or(t,e,r)}function Ug(t,e,r){const n=Ne(t,e,r,{type:Rd});nr(t,n);const i=xn(t,e,n,r,Or(t,e,r));return Cd(t,e,r,i)}function qg(t,e,r){const n=Ne(t,e,r,{type:Rd});nr(t,n);const i=xn(t,e,n,r,Or(t,e,r)),a=uc(t,e,r.separator,r);return Cd(t,e,r,i,a)}function Bg(t,e,r){const n=Ne(t,e,r,{type:Td});nr(t,n);const i=xn(t,e,n,r,Or(t,e,r));return $d(t,e,r,i)}function Wg(t,e,r){const n=Ne(t,e,r,{type:Td});nr(t,n);const i=xn(t,e,n,r,Or(t,e,r)),a=uc(t,e,r.separator,r);return $d(t,e,r,i,a)}function Vg(t,e,r){const n=Ne(t,e,r,{type:tr});nr(t,n);const i=Gt(r.definition,s=>Ad(t,e,s));return xn(t,e,n,r,...i)}function Kg(t,e,r){const n=Ne(t,e,r,{type:tr});nr(t,n);const i=xn(t,e,n,r,Or(t,e,r));return Hg(t,e,r,i)}function Or(t,e,r){const n=bh(Gt(r.definition,i=>Ad(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Yg(t,n)}function $d(t,e,r,n,i){const a=n.left,s=n.right,o=Ne(t,e,r,{type:Gg});nr(t,o);const l=Ne(t,e,r,{type:vd});return a.loopback=o,l.loopback=o,t.decisionMap[kn(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Se(s,o),i===void 0?(Se(o,a),Se(o,l)):(Se(o,l),Se(o,i.left),Se(i.right,a)),{left:a,right:l}}function Cd(t,e,r,n,i){const a=n.left,s=n.right,o=Ne(t,e,r,{type:Fg});nr(t,o);const l=Ne(t,e,r,{type:vd}),c=Ne(t,e,r,{type:Mg});return o.loopback=c,l.loopback=c,Se(o,a),Se(o,l),Se(s,c),i!==void 0?(Se(c,l),Se(c,i.left),Se(i.right,a)):Se(c,o),t.decisionMap[kn(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function Hg(t,e,r,n){const i=n.left,a=n.right;return Se(i,a),t.decisionMap[kn(e,"Option",r.idx)]=i,n}function nr(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function xn(t,e,r,n,...i){const a=Ne(t,e,n,{type:Dg,start:r});r.end=a;for(const o of i)o!==void 0?(Se(r,o.left),Se(o.right,a)):Se(r,a);const s={left:r,right:a};return t.decisionMap[kn(e,Xg(n),n.idx)]=r,s}function Xg(t){if(t instanceof He)return"Alternation";if(t instanceof Me)return"Option";if(t instanceof Te)return"Repetition";if(t instanceof Ke)return"RepetitionWithSeparator";if(t instanceof et)return"RepetitionMandatory";if(t instanceof tt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Yg(t,e){const r=e.length;for(let a=0;a<r-1;a++){const s=e[a];let o;s.left.transitions.length===1&&(o=s.left.transitions[0]);const l=o instanceof cc,c=o,u=e[a+1].left;s.left.type===tr&&s.right.type===tr&&o!==void 0&&(l&&c.followState===s.right||o.target===s.right)?(l?c.followState=u:o.target=u,Qg(t,s.right)):Se(s.right,u)}const n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function uc(t,e,r,n){const i=Ne(t,e,n,{type:tr}),a=Ne(t,e,n,{type:tr});return fc(i,new lc(a,r)),{left:i,right:a}}function Jg(t,e,r){const n=r.referencedRule,i=t.ruleToStartState.get(n),a=Ne(t,e,r,{type:tr}),s=Ne(t,e,r,{type:tr}),o=new cc(i,n,s);return fc(a,o),{left:a,right:s}}function Zg(t,e,r){const n=t.ruleToStartState.get(e);Se(n,r.left);const i=t.ruleToStopState.get(e);return Se(r.right,i),{left:n,right:i}}function Se(t,e){const r=new Ed(e);fc(t,r)}function Ne(t,e,r,n){const i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function fc(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function Qg(t,e){t.states.splice(t.states.indexOf(e),1)}const cs={};class Io{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const r=Sd(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Gt(this.configs,e=>e.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}}function Sd(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function ey(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}class wd{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}}const tu=new wd;class ty extends sc{constructor(e){var r;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(n=>console.log(n))}initialize(e){this.atn=jg(e.rules),this.dfas=ry(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=kn(n,"Alternation",r),u=this.atn.decisionMap[l].decision,d=Gt(Kc({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>Gt(p,m=>m[0]));if(ru(d,!1)&&!a){const p=Rc(d,(m,A,b)=>(Ls(A,I=>{I&&(m[I.tokenTypeIdx]=b,Ls(I.categoryMatches,w=>{m[w]=b}))}),m),{});return i?function(m){var A;const b=this.LA_FAST(1),I=p[b.tokenTypeIdx];if(m!==void 0&&I!==void 0){const w=(A=m[I])===null||A===void 0?void 0:A.GATE;if(w!==void 0&&w.call(this)===!1)return}return I}:function(){const m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){const m=new wd,A=p===void 0?0:p.length;for(let I=0;I<A;I++){const w=p?.[I].GATE;m.set(I,w===void 0||w.call(this))}const b=Bs.call(this,s,u,m,o);return typeof b=="number"?b:void 0}:function(){const p=Bs.call(this,s,u,tu,o);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=kn(n,i,r),u=this.atn.decisionMap[l].decision,d=Gt(Kc({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>Gt(p,m=>m[0]));if(ru(d)&&d[0][0]&&!a){const p=d[0],m=$h(p);if(m.length===1&&Eh(m[0].categoryMatches)){const b=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===b}}else{const A=Rc(m,(b,I)=>(I!==void 0&&(b[I.tokenTypeIdx]=!0,Ls(I.categoryMatches,w=>{b[w]=!0})),b),{});return function(){const b=this.LA_FAST(1);return A[b.tokenTypeIdx]===!0}}}return function(){const p=Bs.call(this,s,u,tu,o);return typeof p=="object"?!1:p===0}}}function ru(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}function ry(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=ey(t.decisionStates[n],n);return r}function Bs(t,e,r,n){const i=t[e](r);let a=i.start;if(a===void 0){const o=hy(i.atnStartState);a=bd(i,kd(o)),i.start=a}return ny.apply(this,[i,a,r,n])}function ny(t,e,r,n){let i=e,a=1;const s=[];let o=this.LA_FAST(a++);for(;;){let l=cy(i,o);if(l===void 0&&(l=iy.apply(this,[t,i,o,a,r,n])),l===cs)return ly(s,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,s.push(o),o=this.LA(a++)}}function iy(t,e,r,n,i,a){const s=uy(e.configs,r,i);if(s.size===0)return nu(t,e,r,cs),cs;let o=kd(s);const l=dy(s,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(yy(s)){const c=Ch(s.alts);o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c,ay.apply(this,[t,n,s.alts,a])}return o=nu(t,e,r,o),o}function ay(t,e,r,n){const i=[];for(let c=1;c<=e;c++)i.push(this.LA(c).tokenType);const a=t.atnStartState,s=a.rule,o=a.production,l=sy({topLevelRule:s,ambiguityIndices:r,production:o,prefixPath:i});n(l)}function sy(t){const e=Gt(t.prefixPath,i=>an(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${oy(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
114
+ <${e}> may appears as a prefix path in all these alternatives.
115
+ `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
116
+ For Further details.`,n}function oy(t){if(t instanceof qe)return"SUBRULE";if(t instanceof Me)return"OPTION";if(t instanceof He)return"OR";if(t instanceof et)return"AT_LEAST_ONE";if(t instanceof tt)return"AT_LEAST_ONE_SEP";if(t instanceof Ke)return"MANY_SEP";if(t instanceof Te)return"MANY";if(t instanceof ae)return"CONSUME";throw Error("non exhaustive match")}function ly(t,e,r){const n=Nh(e.configs.elements,a=>a.state.transitions),i=_h(n.filter(a=>a instanceof lc).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function cy(t,e){return t.edges[e.tokenTypeIdx]}function uy(t,e,r){const n=new Io,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Xi){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l<o;l++){const c=s.state.transitions[l],u=fy(c,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let a;if(i.length===0&&n.size===1&&(a=n),a===void 0){a=new Io;for(const s of n.elements)us(s,a)}if(i.length>0&&!my(a))for(const s of i)a.add(s);return a}function fy(t,e){if(t instanceof lc&&ed(e,t.tokenType))return t.target}function dy(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function kd(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function nu(t,e,r,n){return n=bd(t,n),e.edges[r.tokenTypeIdx]=n,n}function bd(t,e){if(e===cs)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function hy(t){const e=new Io,r=t.transitions.length;for(let n=0;n<r;n++){const a={state:t.transitions[n].target,alt:n,stack:[]};us(a,e)}return e}function us(t,e){const r=t.state;if(r.type===Xi){if(t.stack.length>0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};us(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i<n;i++){const a=r.transitions[i],s=py(t,a);s!==void 0&&us(s,e)}}function py(t,e){if(e instanceof Ed)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof cc){const r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function my(t){for(const e of t.elements)if(e.state.type===Xi)return!0;return!1}function gy(t){for(const e of t.elements)if(e.state.type!==Xi)return!1;return!0}function yy(t){if(gy(t))return!0;const e=Ty(t.elements);return Ry(e)&&!vy(e)}function Ty(t){const e=new Map;for(const r of t){const n=Sd(r,!1);let i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function Ry(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function vy(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Po;(function(t){function e(r){return typeof r=="string"}t.is=e})(Po||(Po={}));var fs;(function(t){function e(r){return typeof r=="string"}t.is=e})(fs||(fs={}));var Oo;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Oo||(Oo={}));var Pi;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Pi||(Pi={}));var Z;(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Pi.MAX_VALUE),i===Number.MAX_VALUE&&(i=Pi.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return v.objectLiteral(i)&&v.uinteger(i.line)&&v.uinteger(i.character)}t.is=r})(Z||(Z={}));var K;(function(t){function e(n,i,a,s){if(v.uinteger(n)&&v.uinteger(i)&&v.uinteger(a)&&v.uinteger(s))return{start:Z.create(n,i),end:Z.create(a,s)};if(Z.is(n)&&Z.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}t.create=e;function r(n){let i=n;return v.objectLiteral(i)&&Z.is(i.start)&&Z.is(i.end)}t.is=r})(K||(K={}));var Oi;(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return v.objectLiteral(i)&&K.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=r})(Oi||(Oi={}));var Lo;(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}t.create=e;function r(n){let i=n;return v.objectLiteral(i)&&K.is(i.targetRange)&&v.string(i.targetUri)&&K.is(i.targetSelectionRange)&&(K.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=r})(Lo||(Lo={}));var ds;(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}t.create=e;function r(n){const i=n;return v.objectLiteral(i)&&v.numberRange(i.red,0,1)&&v.numberRange(i.green,0,1)&&v.numberRange(i.blue,0,1)&&v.numberRange(i.alpha,0,1)}t.is=r})(ds||(ds={}));var xo;(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){const i=n;return v.objectLiteral(i)&&K.is(i.range)&&ds.is(i.color)}t.is=r})(xo||(xo={}));var Do;(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}t.create=e;function r(n){const i=n;return v.objectLiteral(i)&&v.string(i.label)&&(v.undefined(i.textEdit)||yt.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,yt.is))}t.is=r})(Do||(Do={}));var Mo;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Mo||(Mo={}));var Fo;(function(t){function e(n,i,a,s,o,l){const c={startLine:n,endLine:i};return v.defined(a)&&(c.startCharacter=a),v.defined(s)&&(c.endCharacter=s),v.defined(o)&&(c.kind=o),v.defined(l)&&(c.collapsedText=l),c}t.create=e;function r(n){const i=n;return v.objectLiteral(i)&&v.uinteger(i.startLine)&&v.uinteger(i.startLine)&&(v.undefined(i.startCharacter)||v.uinteger(i.startCharacter))&&(v.undefined(i.endCharacter)||v.uinteger(i.endCharacter))&&(v.undefined(i.kind)||v.string(i.kind))}t.is=r})(Fo||(Fo={}));var hs;(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return v.defined(i)&&Oi.is(i.location)&&v.string(i.message)}t.is=r})(hs||(hs={}));var Go;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Go||(Go={}));var jo;(function(t){t.Unnecessary=1,t.Deprecated=2})(jo||(jo={}));var zo;(function(t){function e(r){const n=r;return v.objectLiteral(n)&&v.string(n.href)}t.is=e})(zo||(zo={}));var Li;(function(t){function e(n,i,a,s,o,l){let c={range:n,message:i};return v.defined(a)&&(c.severity=a),v.defined(s)&&(c.code=s),v.defined(o)&&(c.source=o),v.defined(l)&&(c.relatedInformation=l),c}t.create=e;function r(n){var i;let a=n;return v.defined(a)&&K.is(a.range)&&v.string(a.message)&&(v.number(a.severity)||v.undefined(a.severity))&&(v.integer(a.code)||v.string(a.code)||v.undefined(a.code))&&(v.undefined(a.codeDescription)||v.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(v.string(a.source)||v.undefined(a.source))&&(v.undefined(a.relatedInformation)||v.typedArray(a.relatedInformation,hs.is))}t.is=r})(Li||(Li={}));var Ir;(function(t){function e(n,i,...a){let s={title:n,command:i};return v.defined(a)&&a.length>0&&(s.arguments=a),s}t.create=e;function r(n){let i=n;return v.defined(i)&&v.string(i.title)&&v.string(i.command)}t.is=r})(Ir||(Ir={}));var yt;(function(t){function e(a,s){return{range:a,newText:s}}t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}t.insert=r;function n(a){return{range:a,newText:""}}t.del=n;function i(a){const s=a;return v.objectLiteral(s)&&v.string(s.newText)&&K.is(s.range)}t.is=i})(yt||(yt={}));var wr;(function(t){function e(n,i,a){const s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}t.create=e;function r(n){const i=n;return v.objectLiteral(i)&&v.string(i.label)&&(v.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(v.string(i.description)||i.description===void 0)}t.is=r})(wr||(wr={}));var De;(function(t){function e(r){const n=r;return v.string(n)}t.is=e})(De||(De={}));var Ft;(function(t){function e(a,s,o){return{range:a,newText:s,annotationId:o}}t.replace=e;function r(a,s,o){return{range:{start:a,end:a},newText:s,annotationId:o}}t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}t.del=n;function i(a){const s=a;return yt.is(s)&&(wr.is(s.annotationId)||De.is(s.annotationId))}t.is=i})(Ft||(Ft={}));var xi;(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return v.defined(i)&&Di.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(xi||(xi={}));var bn;(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&v.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||De.is(i.annotationId))}t.is=r})(bn||(bn={}));var Nn;(function(t){function e(n,i,a,s){let o={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(o.options=a),s!==void 0&&(o.annotationId=s),o}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&v.string(i.oldUri)&&v.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||De.is(i.annotationId))}t.is=r})(Nn||(Nn={}));var _n;(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&v.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||v.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||v.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||De.is(i.annotationId))}t.is=r})(_n||(_n={}));var ps;(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>v.string(i.kind)?bn.is(i)||Nn.is(i)||_n.is(i):xi.is(i)))}t.is=e})(ps||(ps={}));class Aa{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,a;if(n===void 0?i=yt.insert(e,r):De.is(n)?(a=n,i=Ft.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Ft.insert(e,r,a)),this.edits.push(i),a!==void 0)return a}replace(e,r,n){let i,a;if(n===void 0?i=yt.replace(e,r):De.is(n)?(a=n,i=Ft.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(n),i=Ft.replace(e,r,a)),this.edits.push(i),a!==void 0)return a}delete(e,r){let n,i;if(r===void 0?n=yt.del(e):De.is(r)?(i=r,n=Ft.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Ft.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class iu{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(De.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}}class Ey{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new iu(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(xi.is(r)){const n=new Aa(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{const n=new Aa(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Di.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const r={uri:e.uri,version:e.version};let n=this._textEditChanges[r.uri];if(!n){const i=[],a={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(a),n=new Aa(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new Aa(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new iu,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;wr.is(r)||De.is(r)?i=r:n=r;let a,s;if(i===void 0?a=bn.create(e,n):(s=De.is(i)?i:this._changeAnnotations.manage(i),a=bn.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;wr.is(n)||De.is(n)?a=n:i=n;let s,o;if(a===void 0?s=Nn.create(e,r,i):(o=De.is(a)?a:this._changeAnnotations.manage(a),s=Nn.create(e,r,i,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;wr.is(r)||De.is(r)?i=r:n=r;let a,s;if(i===void 0?a=_n.create(e,n):(s=De.is(i)?i:this._changeAnnotations.manage(i),a=_n.create(e,n,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}}var Uo;(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return v.defined(i)&&v.string(i.uri)}t.is=r})(Uo||(Uo={}));var qo;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return v.defined(i)&&v.string(i.uri)&&v.integer(i.version)}t.is=r})(qo||(qo={}));var Di;(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return v.defined(i)&&v.string(i.uri)&&(i.version===null||v.integer(i.version))}t.is=r})(Di||(Di={}));var Bo;(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}t.create=e;function r(n){let i=n;return v.defined(i)&&v.string(i.uri)&&v.string(i.languageId)&&v.integer(i.version)&&v.string(i.text)}t.is=r})(Bo||(Bo={}));var ms;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){const n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(ms||(ms={}));var In;(function(t){function e(r){const n=r;return v.objectLiteral(r)&&ms.is(n.kind)&&v.string(n.value)}t.is=e})(In||(In={}));var Wo;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Wo||(Wo={}));var Vo;(function(t){t.PlainText=1,t.Snippet=2})(Vo||(Vo={}));var Ko;(function(t){t.Deprecated=1})(Ko||(Ko={}));var Ho;(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}t.create=e;function r(n){const i=n;return i&&v.string(i.newText)&&K.is(i.insert)&&K.is(i.replace)}t.is=r})(Ho||(Ho={}));var Xo;(function(t){t.asIs=1,t.adjustIndentation=2})(Xo||(Xo={}));var Yo;(function(t){function e(r){const n=r;return n&&(v.string(n.detail)||n.detail===void 0)&&(v.string(n.description)||n.description===void 0)}t.is=e})(Yo||(Yo={}));var Jo;(function(t){function e(r){return{label:r}}t.create=e})(Jo||(Jo={}));var Zo;(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(Zo||(Zo={}));var Mi;(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){const i=n;return v.string(i)||v.objectLiteral(i)&&v.string(i.language)&&v.string(i.value)}t.is=r})(Mi||(Mi={}));var Qo;(function(t){function e(r){let n=r;return!!n&&v.objectLiteral(n)&&(In.is(n.contents)||Mi.is(n.contents)||v.typedArray(n.contents,Mi.is))&&(r.range===void 0||K.is(r.range))}t.is=e})(Qo||(Qo={}));var el;(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(el||(el={}));var tl;(function(t){function e(r,n,...i){let a={label:r};return v.defined(n)&&(a.documentation=n),v.defined(i)?a.parameters=i:a.parameters=[],a}t.create=e})(tl||(tl={}));var rl;(function(t){t.Text=1,t.Read=2,t.Write=3})(rl||(rl={}));var nl;(function(t){function e(r,n){let i={range:r};return v.number(n)&&(i.kind=n),i}t.create=e})(nl||(nl={}));var il;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(il||(il={}));var al;(function(t){t.Deprecated=1})(al||(al={}));var sl;(function(t){function e(r,n,i,a,s){let o={name:r,kind:n,location:{uri:a,range:i}};return s&&(o.containerName=s),o}t.create=e})(sl||(sl={}));var ol;(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(ol||(ol={}));var ll;(function(t){function e(n,i,a,s,o,l){let c={name:n,detail:i,kind:a,range:s,selectionRange:o};return l!==void 0&&(c.children=l),c}t.create=e;function r(n){let i=n;return i&&v.string(i.name)&&v.number(i.kind)&&K.is(i.range)&&K.is(i.selectionRange)&&(i.detail===void 0||v.string(i.detail))&&(i.deprecated===void 0||v.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(ll||(ll={}));var cl;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(cl||(cl={}));var Fi;(function(t){t.Invoked=1,t.Automatic=2})(Fi||(Fi={}));var ul;(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}t.create=e;function r(n){let i=n;return v.defined(i)&&v.typedArray(i.diagnostics,Li.is)&&(i.only===void 0||v.typedArray(i.only,v.string))&&(i.triggerKind===void 0||i.triggerKind===Fi.Invoked||i.triggerKind===Fi.Automatic)}t.is=r})(ul||(ul={}));var fl;(function(t){function e(n,i,a){let s={title:n},o=!0;return typeof i=="string"?(o=!1,s.kind=i):Ir.is(i)?s.command=i:s.edit=i,o&&a!==void 0&&(s.kind=a),s}t.create=e;function r(n){let i=n;return i&&v.string(i.title)&&(i.diagnostics===void 0||v.typedArray(i.diagnostics,Li.is))&&(i.kind===void 0||v.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Ir.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||ps.is(i.edit))}t.is=r})(fl||(fl={}));var dl;(function(t){function e(n,i){let a={range:n};return v.defined(i)&&(a.data=i),a}t.create=e;function r(n){let i=n;return v.defined(i)&&K.is(i.range)&&(v.undefined(i.command)||Ir.is(i.command))}t.is=r})(dl||(dl={}));var hl;(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return v.defined(i)&&v.uinteger(i.tabSize)&&v.boolean(i.insertSpaces)}t.is=r})(hl||(hl={}));var pl;(function(t){function e(n,i,a){return{range:n,target:i,data:a}}t.create=e;function r(n){let i=n;return v.defined(i)&&K.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=r})(pl||(pl={}));var ml;(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return v.objectLiteral(i)&&K.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(ml||(ml={}));var gl;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(gl||(gl={}));var yl;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(yl||(yl={}));var Tl;(function(t){function e(r){const n=r;return v.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(Tl||(Tl={}));var Rl;(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){const i=n;return i!=null&&K.is(i.range)&&v.string(i.text)}t.is=r})(Rl||(Rl={}));var vl;(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}t.create=e;function r(n){const i=n;return i!=null&&K.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=r})(vl||(vl={}));var El;(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){const i=n;return i!=null&&K.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=r})(El||(El={}));var Al;(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){const i=n;return v.defined(i)&&K.is(n.stoppedLocation)}t.is=r})(Al||(Al={}));var gs;(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(gs||(gs={}));var ys;(function(t){function e(n){return{value:n}}t.create=e;function r(n){const i=n;return v.objectLiteral(i)&&(i.tooltip===void 0||v.string(i.tooltip)||In.is(i.tooltip))&&(i.location===void 0||Oi.is(i.location))&&(i.command===void 0||Ir.is(i.command))}t.is=r})(ys||(ys={}));var $l;(function(t){function e(n,i,a){const s={position:n,label:i};return a!==void 0&&(s.kind=a),s}t.create=e;function r(n){const i=n;return v.objectLiteral(i)&&Z.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,ys.is))&&(i.kind===void 0||gs.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,yt.is)&&(i.tooltip===void 0||v.string(i.tooltip)||In.is(i.tooltip))&&(i.paddingLeft===void 0||v.boolean(i.paddingLeft))&&(i.paddingRight===void 0||v.boolean(i.paddingRight))}t.is=r})($l||($l={}));var Cl;(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Cl||(Cl={}));var Sl;(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}t.create=e})(Sl||(Sl={}));var wl;(function(t){function e(r){return{items:r}}t.create=e})(wl||(wl={}));var kl;(function(t){t.Invoked=0,t.Automatic=1})(kl||(kl={}));var bl;(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(bl||(bl={}));var Nl;(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Nl||(Nl={}));var _l;(function(t){function e(r){const n=r;return v.objectLiteral(n)&&fs.is(n.uri)&&v.string(n.name)}t.is=e})(_l||(_l={}));const Ay=[`
117
+ `,`\r
118
+ `,"\r"];var Il;(function(t){function e(a,s,o,l){return new $y(a,s,o,l)}t.create=e;function r(a){let s=a;return!!(v.defined(s)&&v.string(s.uri)&&(v.undefined(s.languageId)||v.string(s.languageId))&&v.uinteger(s.lineCount)&&v.func(s.getText)&&v.func(s.positionAt)&&v.func(s.offsetAt))}t.is=r;function n(a,s){let o=a.getText(),l=i(s,(u,d)=>{let p=u.range.start.line-d.range.start.line;return p===0?u.range.start.character-d.range.start.character:p}),c=o.length;for(let u=l.length-1;u>=0;u--){let d=l[u],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=c)o=o.substring(0,p)+d.newText+o.substring(m,o.length);else throw new Error("Overlapping edit");c=p}return o}t.applyEdits=n;function i(a,s){if(a.length<=1)return a;const o=a.length/2|0,l=a.slice(0,o),c=a.slice(o);i(l,s),i(c,s);let u=0,d=0,p=0;for(;u<l.length&&d<c.length;)s(l[u],c[d])<=0?a[p++]=l[u++]:a[p++]=c[d++];for(;u<l.length;)a[p++]=l[u++];for(;d<c.length;)a[p++]=c[d++];return a}})(Il||(Il={}));let $y=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let a=r.charAt(i);n=a==="\r"||a===`
119
+ `,a==="\r"&&i+1<r.length&&r.charAt(i+1)===`
120
+ `&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Z.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let a=n-1;return Z.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};var v;(function(t){const e=Object.prototype.toString;function r(m){return typeof m<"u"}t.defined=r;function n(m){return typeof m>"u"}t.undefined=n;function i(m){return m===!0||m===!1}t.boolean=i;function a(m){return e.call(m)==="[object String]"}t.string=a;function s(m){return e.call(m)==="[object Number]"}t.number=s;function o(m,A,b){return e.call(m)==="[object Number]"&&A<=m&&m<=b}t.numberRange=o;function l(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}t.integer=l;function c(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}t.uinteger=c;function u(m){return e.call(m)==="[object Function]"}t.func=u;function d(m){return m!==null&&typeof m=="object"}t.objectLiteral=d;function p(m,A){return Array.isArray(m)&&m.every(A)}t.typedArray=p})(v||(v={}));const Cy=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Ft},get ChangeAnnotation(){return wr},get ChangeAnnotationIdentifier(){return De},get CodeAction(){return fl},get CodeActionContext(){return ul},get CodeActionKind(){return cl},get CodeActionTriggerKind(){return Fi},get CodeDescription(){return zo},get CodeLens(){return dl},get Color(){return ds},get ColorInformation(){return xo},get ColorPresentation(){return Do},get Command(){return Ir},get CompletionItem(){return Jo},get CompletionItemKind(){return Wo},get CompletionItemLabelDetails(){return Yo},get CompletionItemTag(){return Ko},get CompletionList(){return Zo},get CreateFile(){return bn},get DeleteFile(){return _n},get Diagnostic(){return Li},get DiagnosticRelatedInformation(){return hs},get DiagnosticSeverity(){return Go},get DiagnosticTag(){return jo},get DocumentHighlight(){return nl},get DocumentHighlightKind(){return rl},get DocumentLink(){return pl},get DocumentSymbol(){return ll},get DocumentUri(){return Po},EOL:Ay,get FoldingRange(){return Fo},get FoldingRangeKind(){return Mo},get FormattingOptions(){return hl},get Hover(){return Qo},get InlayHint(){return $l},get InlayHintKind(){return gs},get InlayHintLabelPart(){return ys},get InlineCompletionContext(){return Nl},get InlineCompletionItem(){return Sl},get InlineCompletionList(){return wl},get InlineCompletionTriggerKind(){return kl},get InlineValueContext(){return Al},get InlineValueEvaluatableExpression(){return El},get InlineValueText(){return Rl},get InlineValueVariableLookup(){return vl},get InsertReplaceEdit(){return Ho},get InsertTextFormat(){return Vo},get InsertTextMode(){return Xo},get Location(){return Oi},get LocationLink(){return Lo},get MarkedString(){return Mi},get MarkupContent(){return In},get MarkupKind(){return ms},get OptionalVersionedTextDocumentIdentifier(){return Di},get ParameterInformation(){return el},get Position(){return Z},get Range(){return K},get RenameFile(){return Nn},get SelectedCompletionInfo(){return bl},get SelectionRange(){return ml},get SemanticTokenModifiers(){return yl},get SemanticTokenTypes(){return gl},get SemanticTokens(){return Tl},get SignatureInformation(){return tl},get StringValue(){return Cl},get SymbolInformation(){return sl},get SymbolKind(){return il},get SymbolTag(){return al},get TextDocument(){return Il},get TextDocumentEdit(){return xi},get TextDocumentIdentifier(){return Uo},get TextDocumentItem(){return Bo},get TextEdit(){return yt},get URI(){return fs},get VersionedTextDocumentIdentifier(){return qo},WorkspaceChange:Ey,get WorkspaceEdit(){return ps},get WorkspaceFolder(){return _l},get WorkspaceSymbol(){return ol},get integer(){return Oo},get uinteger(){return Pi}},Symbol.toStringTag,{value:"Module"}));class Sy{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new _d(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new dc;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new Pl(e.startOffset,e.image.length,vo(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new Pl(a.startOffset,a.image.length,vo(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}}class Nd{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Pl extends Nd{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}}class dc extends Nd{constructor(){super(...arguments),this.content=new hc(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:Z.create(0,0),end:Z.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}}class hc extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,hc.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}}class _d extends dc{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Ol=Symbol("Datatype");function Ws(t){return t.$type===Ol}const au="​",Id=t=>t.endsWith(au)?t:t+au;class Pd{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new _y(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Ld(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class wy extends Pd{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Sy,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;Qa(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(Id(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Bt(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){const a=e.operators.precedences[i];for(const s of a.operators)n.set(s.value,{precedence:i,rightAssoc:a.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return Qa(e)?Ii(e):e.fragment?void 0:Ff(e)?Ol:Ii(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);const n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;const i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");const a=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,fo(a,{deep:!0}),{value:a,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===Ol?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),c=this.current;if(o){const u=br(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,u,s,l)}else if(Ws(c)){let u=i.image;br(n)||(u=this.converter.convert(u,s).toString()),c.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(Ws(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Ws(e)?this.converter.convert(e.value,e.$cstNode):(Oh(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let b=0;b<i.length;b++){const I=i[b],w=r.get(I)??{precedence:1/0,rightAssoc:!1};w.precedence>s?(s=w.precedence,a=b):w.precedence===s&&(w.rightAssoc||(a=b))}const o=i.slice(0,a),l=i.slice(a+1),c=n.slice(0,a+1),u=n.slice(a+1),d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:o},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:l},m=this.constructInfix(d,r),A=this.constructInfix(p,r);return{$type:e.$type,$cstNode:e.$cstNode,left:m,operator:i[a],right:A}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=Rs(e,kr);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Es(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class ky{buildMismatchTokenMessage(e){return rn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return rn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return rn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return rn.buildEarlyExitMessage(e)}}class Od extends ky{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class by extends Pd{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(Id(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}}const Ny={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Od};class Ld extends Lg{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...Ny,lookaheadStrategy:n?new sc({maxLookahead:r.maxLookahead}):new ty({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}}class _y extends Ld{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}}function xd(t,e,r){return Iy({parser:e,tokens:r,ruleNames:new Map},t),e}function Iy(t,e){const r=Of(e,!1),n=fe(e.rules).filter(Bt).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,Pr(s,a.definition))}const i=fe(e.rules).filter(Qa).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,Py(t,a))}function Py(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Wt(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(m=>m.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},c={...a,$container:s};s.elements.push(l,c);const d=n.map(m=>t.tokens[m.value]).map((m,A)=>({ALT:()=>t.parser.consume(A,m,l)}));let p;return m=>{p??(p=pc(t,r)),t.parser.subrule(0,p,!1,a,m),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,d),t.parser.subrule(1,p,!1,c,m)}})}}function Pr(t,e,r=!1){let n;if(br(e))n=Gy(t,e);else if(vs(e))n=Oy(t,e);else if(kr(e))n=Pr(t,e.terminal);else if(Es(e))n=Dd(t,e);else if(Nr(e))n=Ly(t,e);else if(wf(e))n=Dy(t,e);else if(bf(e))n=My(t,e);else if(Zl(e))n=Fy(t,e);else if(Gh(e)){const i=t.consume++;n=()=>t.parser.consume(i,er,e)}else throw new _f(e.$cstNode,`Unexpected element type: ${e.$type}`);return Md(t,r?void 0:Ts(e),n,e.cardinality)}function Oy(t,e){const r=Ii(e);return()=>t.parser.action(r,e)}function Ly(t,e){const r=e.rule.ref;if(qi(r)){const n=t.subrule++,i=Bt(r)&&r.fragment,a=e.arguments.length>0?xy(r,e.arguments):()=>({});let s;return o=>{s??(s=pc(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Wt(r)){const n=t.consume++,i=Ll(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Bi();else throw new _f(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function xy(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:gt(i.value)}));return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>gt(i.value));return i=>{const a={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){const o=t.parameters[s].name,l=n[s];a[o]=l(i)}return a}}}function gt(t){if(Fh(t)){const e=gt(t.left),r=gt(t.right);return n=>e(n)||r(n)}else if(Mh(t)){const e=gt(t.left),r=gt(t.right);return n=>e(n)&&r(n)}else if(Uh(t)){const e=gt(t.value);return r=>!e(r)}else if(qh(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(xh(t)){const e=!!t.true;return()=>e}Bi()}function Dy(t,e){if(e.elements.length===1)return Pr(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:Pr(t,i,!0)},s=Ts(i);s&&(a.GATE=gt(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:()=>a.ALT(i)},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}function My(t,e){if(e.elements.length===1)return Pr(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:Pr(t,o,!0)},c=Ts(o);c&&(l.GATE=gt(c)),r.push(l)}const n=t.or++,i=(o,l)=>{const c=l.getRuleStack().join("-");return`uGroup_${o}_${c}`},a=o=>t.parser.alternatives(n,r.map((l,c)=>{const u={ALT:()=>!0},d=t.parser;u.ALT=()=>{if(l.ALT(o),!d.isRecording()){const m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);const A=d.unorderedGroups.get(m);typeof A?.[c]>"u"&&(A[c]=!0)}};const p=l.GATE;return p?u.GATE=()=>p(o):u.GATE=()=>!d.unorderedGroups.get(i(n,d))?.[c],u})),s=Md(t,Ts(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function Fy(t,e){const r=e.elements.map(n=>Pr(t,n));return n=>r.forEach(i=>i(n))}function Ts(t){if(Zl(t))return t.guardCondition}function Dd(t,e,r=e.terminal){if(r)if(Nr(r)&&Bt(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=pc(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(Nr(r)&&Wt(r.rule.ref)){const n=t.consume++,i=Ll(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(br(r)){const n=t.consume++,i=Ll(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=Df(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Ii(e.type.ref));return Dd(t,e,i)}}function Gy(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Md(t,e,r,n){const i=e&&gt(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:eu(),GATE:()=>!i(s)}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(a,{DEF:()=>r(o)}),GATE:()=>i(o)},{ALT:eu(),GATE:()=>!i(o)}])}else return s=>t.parser.atLeastOne(a,{DEF:()=>r(s)})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else Bi()}function pc(t,e){const r=jy(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function jy(t,e){if(qi(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Bt(n);)(Zl(n)||wf(n)||bf(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function Ll(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function zy(t){const e=t.Grammar,r=t.parser.Lexer,n=new by(t);return xd(e,n,r.definition),n.finalize(),n}function Uy(t){const e=qy(t);return e.finalize(),e}function qy(t){const e=t.Grammar,r=t.parser.Lexer,n=new wy(t);return xd(e,n,r.definition)}class Fd{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=fe(Of(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Wt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=ec(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Pf(r)?We.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(qi).flatMap(i=>Ui(i).filter(br)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp($s(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i?.PATTERN;return a?.source&&hp("^"+a.source+"$",e.value)&&n.push(i),n},[])}}class Gd{convert(e,r){let n=r.grammarSource;if(Es(n)&&(n=yp(n)),Nr(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return Dt.convertInt(r);case"STRING":return Dt.convertString(r);case"ID":return Dt.convertID(r)}switch(Cp(e)?.toLowerCase()){case"number":return Dt.convertNumber(r);case"boolean":return Dt.convertBoolean(r);case"bigint":return Dt.convertBigint(r);case"date":return Dt.convertDate(r);default:return r}}}var Dt;(function(t){function e(c){let u="";for(let d=1;d<c.length-1;d++){const p=c.charAt(d);if(p==="\\"){const m=c.charAt(++d);u+=r(m)}else u+=p}return u}t.convertString=e;function r(c){switch(c){case"b":return"\b";case"f":return"\f";case"n":return`
121
+ `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return c}}function n(c){return c.charAt(0)==="^"?c.substring(1):c}t.convertID=n;function i(c){return parseInt(c)}t.convertInt=i;function a(c){return BigInt(c)}t.convertBigint=a;function s(c){return new Date(c)}t.convertDate=s;function o(c){return Number(c)}t.convertNumber=o;function l(c){return c.toLowerCase()==="true"}t.convertBoolean=l})(Dt||(Dt={}));var sr={},$a={},su;function Lr(){if(su)return $a;su=1,Object.defineProperty($a,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(r){function n(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}r.install=n})(e||(e={})),$a.default=e,$a}var Pe={},ou;function Yi(){if(ou)return Pe;ou=1,Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.stringArray=Pe.array=Pe.func=Pe.error=Pe.number=Pe.string=Pe.boolean=void 0;function t(o){return o===!0||o===!1}Pe.boolean=t;function e(o){return typeof o=="string"||o instanceof String}Pe.string=e;function r(o){return typeof o=="number"||o instanceof Number}Pe.number=r;function n(o){return o instanceof Error}Pe.error=n;function i(o){return typeof o=="function"}Pe.func=i;function a(o){return Array.isArray(o)}Pe.array=a;function s(o){return a(o)&&o.every(l=>e(l))}return Pe.stringArray=s,Pe}var or={},lu;function Dn(){if(lu)return or;lu=1,Object.defineProperty(or,"__esModule",{value:!0}),or.Emitter=or.Event=void 0;const t=Lr();var e;(function(i){const a={dispose(){}};i.None=function(){return a}})(e||(or.Event=e={}));class r{add(a,s=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(a),this._contexts.push(s),Array.isArray(o)&&o.push({dispose:()=>this.remove(a,s)})}remove(a,s=null){if(!this._callbacks)return;let o=!1;for(let l=0,c=this._callbacks.length;l<c;l++)if(this._callbacks[l]===a)if(this._contexts[l]===s){this._callbacks.splice(l,1),this._contexts.splice(l,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...a){if(!this._callbacks)return[];const s=[],o=this._callbacks.slice(0),l=this._contexts.slice(0);for(let c=0,u=o.length;c<u;c++)try{s.push(o[c].apply(l[c],a))}catch(d){(0,t.default)().console.error(d)}return s}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class n{constructor(a){this._options=a}get event(){return this._event||(this._event=(a,s,o)=>{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(a,s);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(a,s),l.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(a){this._callbacks&&this._callbacks.invoke.call(this._callbacks,a)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return or.Emitter=n,n._noop=function(){},or}var cu;function Is(){if(cu)return sr;cu=1,Object.defineProperty(sr,"__esModule",{value:!0}),sr.CancellationTokenSource=sr.CancellationToken=void 0;const t=Lr(),e=Yi(),r=Dn();var n;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function l(c){const u=c;return u&&(u===o.None||u===o.Cancelled||e.boolean(u.isCancellationRequested)&&!!u.onCancellationRequested)}o.is=l})(n||(sr.CancellationToken=n={}));const i=Object.freeze(function(o,l){const c=(0,t.default)().timer.setTimeout(o.bind(l),0);return{dispose(){c.dispose()}}});class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class s{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof a&&this._token.dispose():this._token=n.None}}return sr.CancellationTokenSource=s,sr}var he=Is();function By(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Ha=0,Wy=10;function Vy(){return Ha=performance.now(),new he.CancellationTokenSource}const nn=Symbol("OperationCancelled");function Ps(t){return t===nn}async function Ue(t){if(t===he.CancellationToken.None)return;const e=performance.now();if(e-Ha>=Wy&&(Ha=e,await By(),Ha=performance.now()),t.isCancellationRequested)throw nn}class mc{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}class Gi{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Gi.isIncremental(n)){const i=zd(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let c=this._lineOffsets;const u=uu(n.text,!1,a);if(l-o===u.length)for(let p=0,m=u.length;p<m;p++)c[p+o+1]=u[p];else u.length<1e4?c.splice(o+1,l-o,...u):this._lineOffsets=c=c.slice(0,o+1).concat(u,c.slice(l+1));const d=n.text.length-(s-a);if(d!==0)for(let p=o+1+u.length,m=c.length;p<m;p++)c[p]=c[p]+d}else if(Gi.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=uu(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const r=this.getLineOffsets();let n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){const s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1<r.length?r[e.line+1]:this._content.length,a=Math.min(n+e.character,i);return this.ensureBeforeEOL(a,n)}ensureBeforeEOL(e,r){for(;e>r&&jd(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}}var xl;(function(t){function e(i,a,s,o){return new Gi(i,a,s,o)}t.create=e;function r(i,a,s){if(i instanceof Gi)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,a){const s=i.getText(),o=Dl(a.map(Ky),(u,d)=>{const p=u.range.start.line-d.range.start.line;return p===0?u.range.start.character-d.range.start.character:p});let l=0;const c=[];for(const u of o){const d=i.offsetAt(u.range.start);if(d<l)throw new Error("Overlapping edit");d>l&&c.push(s.substring(l,d)),u.newText.length&&c.push(u.newText),l=i.offsetAt(u.range.end)}return c.push(s.substr(l)),c.join("")}t.applyEdits=n})(xl||(xl={}));function Dl(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Dl(n,e),Dl(i,e);let a=0,s=0,o=0;for(;a<n.length&&s<i.length;)e(n[a],i[s])<=0?t[o++]=n[a++]:t[o++]=i[s++];for(;a<n.length;)t[o++]=n[a++];for(;s<i.length;)t[o++]=i[s++];return t}function uu(t,e,r=0){const n=e?[r]:[];for(let i=0;i<t.length;i++){const a=t.charCodeAt(i);jd(a)&&(a===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function jd(t){return t===13||t===10}function zd(t){const e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function Ky(t){const e=zd(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Ud;(()=>{var t={975:N=>{function T(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function g(y,R){for(var E,L="",D=0,x=-1,j=0,F=0;F<=y.length;++F){if(F<y.length)E=y.charCodeAt(F);else{if(E===47)break;E=47}if(E===47){if(!(x===F-1||j===1))if(x!==F-1&&j===2){if(L.length<2||D!==2||L.charCodeAt(L.length-1)!==46||L.charCodeAt(L.length-2)!==46){if(L.length>2){var te=L.lastIndexOf("/");if(te!==L.length-1){te===-1?(L="",D=0):D=(L=L.slice(0,te)).length-1-L.lastIndexOf("/"),x=F,j=0;continue}}else if(L.length===2||L.length===1){L="",D=0,x=F,j=0;continue}}R&&(L.length>0?L+="/..":L="..",D=2)}else L.length>0?L+="/"+y.slice(x+1,F):L=y.slice(x+1,F),D=F-x-1;x=F,j=0}else E===46&&j!==-1?++j:j=-1}return L}var $={resolve:function(){for(var y,R="",E=!1,L=arguments.length-1;L>=-1&&!E;L--){var D;L>=0?D=arguments[L]:(y===void 0&&(y=process.cwd()),D=y),T(D),D.length!==0&&(R=D+"/"+R,E=D.charCodeAt(0)===47)}return R=g(R,!E),E?R.length>0?"/"+R:"/":R.length>0?R:"."},normalize:function(y){if(T(y),y.length===0)return".";var R=y.charCodeAt(0)===47,E=y.charCodeAt(y.length-1)===47;return(y=g(y,!R)).length!==0||R||(y="."),y.length>0&&E&&(y+="/"),R?"/"+y:y},isAbsolute:function(y){return T(y),y.length>0&&y.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var y,R=0;R<arguments.length;++R){var E=arguments[R];T(E),E.length>0&&(y===void 0?y=E:y+="/"+E)}return y===void 0?".":$.normalize(y)},relative:function(y,R){if(T(y),T(R),y===R||(y=$.resolve(y))===(R=$.resolve(R)))return"";for(var E=1;E<y.length&&y.charCodeAt(E)===47;++E);for(var L=y.length,D=L-E,x=1;x<R.length&&R.charCodeAt(x)===47;++x);for(var j=R.length-x,F=D<j?D:j,te=-1,z=0;z<=F;++z){if(z===F){if(j>F){if(R.charCodeAt(x+z)===47)return R.slice(x+z+1);if(z===0)return R.slice(x+z)}else D>F&&(y.charCodeAt(E+z)===47?te=z:z===0&&(te=0));break}var Q=y.charCodeAt(E+z);if(Q!==R.charCodeAt(x+z))break;Q===47&&(te=z)}var _e="";for(z=E+te+1;z<=L;++z)z!==L&&y.charCodeAt(z)!==47||(_e.length===0?_e+="..":_e+="/..");return _e.length>0?_e+R.slice(x+te):(x+=te,R.charCodeAt(x)===47&&++x,R.slice(x))},_makeLong:function(y){return y},dirname:function(y){if(T(y),y.length===0)return".";for(var R=y.charCodeAt(0),E=R===47,L=-1,D=!0,x=y.length-1;x>=1;--x)if((R=y.charCodeAt(x))===47){if(!D){L=x;break}}else D=!1;return L===-1?E?"/":".":E&&L===1?"//":y.slice(0,L)},basename:function(y,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');T(y);var E,L=0,D=-1,x=!0;if(R!==void 0&&R.length>0&&R.length<=y.length){if(R.length===y.length&&R===y)return"";var j=R.length-1,F=-1;for(E=y.length-1;E>=0;--E){var te=y.charCodeAt(E);if(te===47){if(!x){L=E+1;break}}else F===-1&&(x=!1,F=E+1),j>=0&&(te===R.charCodeAt(j)?--j==-1&&(D=E):(j=-1,D=F))}return L===D?D=F:D===-1&&(D=y.length),y.slice(L,D)}for(E=y.length-1;E>=0;--E)if(y.charCodeAt(E)===47){if(!x){L=E+1;break}}else D===-1&&(x=!1,D=E+1);return D===-1?"":y.slice(L,D)},extname:function(y){T(y);for(var R=-1,E=0,L=-1,D=!0,x=0,j=y.length-1;j>=0;--j){var F=y.charCodeAt(j);if(F!==47)L===-1&&(D=!1,L=j+1),F===46?R===-1?R=j:x!==1&&(x=1):R!==-1&&(x=-1);else if(!D){E=j+1;break}}return R===-1||L===-1||x===0||x===1&&R===L-1&&R===E+1?"":y.slice(R,L)},format:function(y){if(y===null||typeof y!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof y);return(function(R,E){var L=E.dir||E.root,D=E.base||(E.name||"")+(E.ext||"");return L?L===E.root?L+D:L+"/"+D:D})(0,y)},parse:function(y){T(y);var R={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return R;var E,L=y.charCodeAt(0),D=L===47;D?(R.root="/",E=1):E=0;for(var x=-1,j=0,F=-1,te=!0,z=y.length-1,Q=0;z>=E;--z)if((L=y.charCodeAt(z))!==47)F===-1&&(te=!1,F=z+1),L===46?x===-1?x=z:Q!==1&&(Q=1):x!==-1&&(Q=-1);else if(!te){j=z+1;break}return x===-1||F===-1||Q===0||Q===1&&x===F-1&&x===j+1?F!==-1&&(R.base=R.name=j===0&&D?y.slice(1,F):y.slice(j,F)):(j===0&&D?(R.name=y.slice(1,x),R.base=y.slice(1,F)):(R.name=y.slice(j,x),R.base=y.slice(j,F)),R.ext=y.slice(x,F)),j>0?R.dir=y.slice(0,j-1):D&&(R.dir="/"),R},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,N.exports=$}},e={};function r(N){var T=e[N];if(T!==void 0)return T.exports;var g=e[N]={exports:{}};return t[N](g,g.exports,r),g.exports}r.d=(N,T)=>{for(var g in T)r.o(T,g)&&!r.o(N,g)&&Object.defineProperty(N,g,{enumerable:!0,get:T[g]})},r.o=(N,T)=>Object.prototype.hasOwnProperty.call(N,T),r.r=N=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(N,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>p,Utils:()=>oe}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l(N,T){if(!N.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`);if(N.scheme&&!a.test(N.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(N.path){if(N.authority){if(!s.test(N.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const c="",u="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static isUri(T){return T instanceof p||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,g,$,y,R,E=!1){typeof T=="object"?(this.scheme=T.scheme||c,this.authority=T.authority||c,this.path=T.path||c,this.query=T.query||c,this.fragment=T.fragment||c):(this.scheme=(function(L,D){return L||D?L:"file"})(T,E),this.authority=g||c,this.path=(function(L,D){switch(L){case"https":case"http":case"file":D?D[0]!==u&&(D=u+D):D=u}return D})(this.scheme,$||c),this.query=y||c,this.fragment=R||c,l(this,E))}get fsPath(){return S(this)}with(T){if(!T)return this;let{scheme:g,authority:$,path:y,query:R,fragment:E}=T;return g===void 0?g=this.scheme:g===null&&(g=c),$===void 0?$=this.authority:$===null&&($=c),y===void 0?y=this.path:y===null&&(y=c),R===void 0?R=this.query:R===null&&(R=c),E===void 0?E=this.fragment:E===null&&(E=c),g===this.scheme&&$===this.authority&&y===this.path&&R===this.query&&E===this.fragment?this:new A(g,$,y,R,E)}static parse(T,g=!1){const $=d.exec(T);return $?new A($[2]||c,B($[4]||c),B($[5]||c),B($[7]||c),B($[9]||c),g):new A(c,c,c,c,c)}static file(T){let g=c;if(i&&(T=T.replace(/\\/g,u)),T[0]===u&&T[1]===u){const $=T.indexOf(u,2);$===-1?(g=T.substring(2),T=u):(g=T.substring(2,$),T=T.substring($)||u)}return new A("file",g,T,c,c)}static from(T){const g=new A(T.scheme,T.authority,T.path,T.query,T.fragment);return l(g,!0),g}toString(T=!1){return C(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof p)return T;{const g=new A(T);return g._formatted=T.external,g._fsPath=T._sep===m?T.fsPath:null,g}}return T}}const m=i?1:void 0;class A extends p{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=S(this)),this._fsPath}toString(T=!1){return T?C(this,!0):(this._formatted||(this._formatted=C(this,!1)),this._formatted)}toJSON(){const T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=m),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}const b={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function I(N,T,g){let $,y=-1;for(let R=0;R<N.length;R++){const E=N.charCodeAt(R);if(E>=97&&E<=122||E>=65&&E<=90||E>=48&&E<=57||E===45||E===46||E===95||E===126||T&&E===47||g&&E===91||g&&E===93||g&&E===58)y!==-1&&($+=encodeURIComponent(N.substring(y,R)),y=-1),$!==void 0&&($+=N.charAt(R));else{$===void 0&&($=N.substr(0,R));const L=b[E];L!==void 0?(y!==-1&&($+=encodeURIComponent(N.substring(y,R)),y=-1),$+=L):y===-1&&(y=R)}}return y!==-1&&($+=encodeURIComponent(N.substring(y))),$!==void 0?$:N}function w(N){let T;for(let g=0;g<N.length;g++){const $=N.charCodeAt(g);$===35||$===63?(T===void 0&&(T=N.substr(0,g)),T+=b[$]):T!==void 0&&(T+=N[g])}return T!==void 0?T:N}function S(N,T){let g;return g=N.authority&&N.path.length>1&&N.scheme==="file"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(g=g.replace(/\//g,"\\")),g}function C(N,T){const g=T?w:I;let $="",{scheme:y,authority:R,path:E,query:L,fragment:D}=N;if(y&&($+=y,$+=":"),(R||y==="file")&&($+=u,$+=u),R){let x=R.indexOf("@");if(x!==-1){const j=R.substr(0,x);R=R.substr(x+1),x=j.lastIndexOf(":"),x===-1?$+=g(j,!1,!1):($+=g(j.substr(0,x),!1,!1),$+=":",$+=g(j.substr(x+1),!1,!0)),$+="@"}R=R.toLowerCase(),x=R.lastIndexOf(":"),x===-1?$+=g(R,!1,!0):($+=g(R.substr(0,x),!1,!0),$+=R.substr(x))}if(E){if(E.length>=3&&E.charCodeAt(0)===47&&E.charCodeAt(2)===58){const x=E.charCodeAt(1);x>=65&&x<=90&&(E=`/${String.fromCharCode(x+32)}:${E.substr(3)}`)}else if(E.length>=2&&E.charCodeAt(1)===58){const x=E.charCodeAt(0);x>=65&&x<=90&&(E=`${String.fromCharCode(x+32)}:${E.substr(2)}`)}$+=g(E,!0,!1)}return L&&($+="?",$+=g(L,!1,!1)),D&&($+="#",$+=T?D:I(D,!1,!1)),$}function P(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+P(N.substr(3)):N}}const W=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function B(N){return N.match(W)?N.replace(W,(T=>P(T))):N}var H=r(975);const ne=H.posix||H,se="/";var oe;(function(N){N.joinPath=function(T,...g){return T.with({path:ne.join(T.path,...g)})},N.resolvePath=function(T,...g){let $=T.path,y=!1;$[0]!==se&&($=se+$,y=!0);let R=ne.resolve($,...g);return y&&R[0]===se&&!T.authority&&(R=R.substring(1)),T.with({path:R})},N.dirname=function(T){if(T.path.length===0||T.path===se)return T;let g=ne.dirname(T.path);return g.length===1&&g.charCodeAt(0)===46&&(g=""),T.with({path:g})},N.basename=function(T){return ne.basename(T.path)},N.extname=function(T){return ne.extname(T.path)}})(oe||(oe={})),Ud=n})();const{URI:ft,Utils:ri}=Ud;var Qe;(function(t){t.basename=ri.basename,t.dirname=ri.dirname,t.extname=ri.extname,t.joinPath=ri.joinPath,t.resolvePath=ri.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function r(s,o){return s?.toString()===o?.toString()}t.equals=r;function n(s,o){const l=typeof s=="string"?ft.parse(s).path:s.path,c=typeof o=="string"?ft.parse(o).path:o.path,u=l.split("/").filter(b=>b.length>0),d=c.split("/").filter(b=>b.length>0);if(e){const b=/^[A-Z]:$/;if(u[0]&&b.test(u[0])&&(u[0]=u[0].toLowerCase()),d[0]&&b.test(d[0])&&(d[0]=d[0].toLowerCase()),u[0]!==d[0])return c.substring(1)}let p=0;for(;p<u.length&&u[p]===d[p];p++);const m="../".repeat(u.length-p),A=d.slice(p).join("/");return m+A}t.relative=n;function i(s){return ft.parse(s.toString()).toString()}t.normalize=i;function a(s,o){let l=typeof s=="string"?s:s.path,c=typeof o=="string"?o:o.path;return c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c===l?!0:c.length<l.length||c.charAt(l.length)!=="/"?!1:c.startsWith(l)}t.contains=a})(Qe||(Qe={}));class Hy{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Qe.normalize(e)}clear(){this.root.children.clear()}insert(e,r){const n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){const r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){const r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:Qe.joinPath(ft.parse(r),n.name).toString(),element:n.element}}findChildren(e){const r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:Qe.joinPath(ft.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(Qe.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}}var V;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(V||(V={}));class Xy{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=he.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ft.parse(e.uri),he.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return he.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:V.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:V.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){const n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=V.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=xl.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}}class Yy{constructor(e){this.documentTrie=new Hy,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return fe(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,V.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=V.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=V.Changed;return this.documentTrie.delete(r),n}}const Gr=Symbol("RefResolving");class Jy{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=he.CancellationToken.None){if(this.profiler?.isActive("linking")){const n=this.profiler.createTask("linking",this.languageId);n.start();try{for(const i of zt(e.parseResult.value))await Ue(r),Za(i).forEach(a=>{const s=`${i.$type}:${a.property}`;n.startSubTask(s);try{this.doLink(a,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(const n of zt(e.parseResult.value))await Ue(r),Za(n).forEach(i=>this.doLink(i,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Gr;try{const i=this.getCandidate(e);if(Yn(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Gr;try{const i=this.getCandidates(e),a=[];if(Yn(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(Fe(this._ref))return this._ref;if(Ih(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Gr;const o=Da(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state<V.ComputedScopes)return this._ref=void 0;this._ref=l.node??l.error,this._nodeDescription=l.descr,o?.references.push(this)}else this._ref===Gr&&a.throwCyclicReferenceError(e,r,i);return Fe(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Yn(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Gr;const o=Da(e).$document,l=a.getCandidates({reference:s,container:e,property:r}),c=[];if(Yn(l))this._linkingError=l;else for(const u of l){const d=a.loadAstNode(u);d&&c.push({ref:d,$nodeDescription:u})}this._items=c,o?.references.push(this)}else this._items===Gr&&a.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Yn(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=Da(e.container).$document;n&&n.state<V.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);const i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}}function Zy(t){return typeof t.name=="string"}class Qy{getName(e){if(Zy(e))return e.name}getNameNode(e){return xf(e.$cstNode,"name")}}class eT{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=zt(e.Grammar).some(r=>Es(r)&&r.isMulti)}findDeclarations(e){if(e){const r=Ap(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(ut(i)||Zt(i))return vc(i);if(Array.isArray(i)){for(const a of i)if((ut(a)||Zt(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return vc(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||Qh(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of Za(n))if(Zt(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>Qe.equals(a.sourceUri,r.documentUri))),n.push(...i),fe(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=jt(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:es(a),local:!0})}}return n}}class ji{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return uo.sum(fe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?fe(r):Cf}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return fe(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return fe(this.map.keys())}values(){return fe(this.map.values()).flat()}entriesGroupedByKey(){return fe(this.map.entries())}}class fu{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}class tT{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=he.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Jl,i=he.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await Ue(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=he.CancellationToken.None){const n=e.parseResult.value,i=new ji;for(const a of Ui(n))await Ue(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}class du{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}}class rT{constructor(e,r,n){this.elements=new ji,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?fe(n).concat(this.outerScope.getElements(e)):fe(n)}getAllElements(){let e=fe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class qd{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class nT extends qd{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class iT extends qd{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}}class aT extends nT{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class sT{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new aT(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=jt(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new du(fe(e),r,n)}createScopeForNodes(e,r,n){const i=fe(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new du(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new rT(this.indexManager.allElements(e)))}}function oT(t){return typeof t.$comment=="string"}function hu(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class lT{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r?.replacer,a=(o,l)=>this.replacer(o,l,n),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=jt(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){if(!this.ignoreProperties.has(e))if(ut(r)){const l=r.ref,c=n?r.$refText:void 0;if(l){const u=jt(l);let d="";this.currentDocument&&this.currentDocument!==u&&(o?d=o(u.uri,l):d=u.uri.toString());const p=this.astNodeLocator.getAstNodePath(l);return{$ref:`${d}#${p}`,$refText:c}}else return{$error:r.error?.message??"Could not resolve reference",$refText:c}}else if(Zt(r)){const l=n?r.$refText:void 0,c=[];for(const u of r.items){const d=u.ref,p=jt(u.ref);let m="";this.currentDocument&&this.currentDocument!==p&&(o?m=o(p.uri,d):m=p.uri.toString());const A=this.astNodeLocator.getAstNodePath(d);c.push(`${m}#${A}`)}return{$refs:c,$refText:l}}else if(Fe(r)){let l;if(a&&(l=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&l?.$textRegion&&(l.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(l??(l={...r}),l.$sourceText=r.$cstNode?.text),s){l??(l={...r});const c=this.commentProvider.getComment(r);c&&(l.$comment=c.replace(/\r/g,""))}return l??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=Rp(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,c]of Object.entries(e))if(Array.isArray(c))for(let u=0;u<c.length;u++){const d=c[u];hu(d)?c[u]=this.reviveReference(e,l,r,d,n):Fe(d)&&this.linkNode(d,r,n,e,l,u)}else hu(c)?e[l]=this.reviveReference(e,l,r,c,n):Fe(c)&&this.linkNode(c,r,n,e,l);const o=e;o.$container=i,o.$containerProperty=a,o.$containerIndex=s}reviveReference(e,r,n,i,a){let s=i.$refText,o=i.$error,l;if(i.$ref){const c=this.getRefNode(n,i.$ref,a.uriConverter);if(Fe(c))return s||(s=this.nameProvider.getName(c)),{$refText:s??"",ref:c};o=c}else if(i.$refs){const c=[];for(const u of i.$refs){const d=this.getRefNode(n,u,a.uriConverter);Fe(d)&&c.push({ref:d})}if(c.length===0)l={$refText:s??"",items:c},o??(o="Could not resolve multi-reference");else return{$refText:s??"",items:c}}if(o)return l??(l={$refText:s??"",ref:void 0}),l.error={info:{container:e,property:r,reference:l},message:o},l}getRefNode(e,r,n){try{const i=r.indexOf("#");if(i===0){const l=this.astNodeLocator.getAstNode(e,r.substring(1));return l||"Could not resolve path: "+r}if(i<0){const l=n?n(r):ft.parse(r),c=this.langiumDocuments.getDocument(l);return c?c.parseResult.value:"Could not find document for URI: "+r}const a=n?n(r.substring(0,i)):ft.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(a);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;const o=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return o||"Could not resolve URI: "+r}catch(i){return String(i)}}}class cT{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const r=e.LanguageMetaData;for(const n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(const n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){const s=this.languageIdMap.get(r);if(s)return s}const n=Qe.extname(e),i=Qe.basename(e),a=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!a)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function ki(t){return{code:t}}var Ml;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(Ml||(Ml={}));class uT{constructor(e){this.entries=new ji,this.knownCategories=new Set(Ml.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(const[i,a]of Object.entries(e)){const s=a;if(Array.isArray(s))for(const o of s){const l={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,l)}else if(typeof s=="function"){const o={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,o)}else Bi()}}wrapValidationException(e,r){return async(n,i,a)=>{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(Ps(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=fe(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const fT=Object.freeze({validateNode:!0,validateChildren:!0});class dT{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=he.CancellationToken.None){const i=e.parseResult,a=[];if(await Ue(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>s.data?.code===ct.LexingError)||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>s.data?.code===ct.ParsingError))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>s.data?.code===ct.LinkingError))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(Ps(s))throw s;console.error("An error occurred during validation:",s)}return await Ue(n),a}processLexingErrors(e,r,n){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const a of i){const s=a.severity??"error",o={severity:Vs(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:pT(s),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=vo(i.token);if(a){const s={severity:Vs("error"),range:a,message:i.message,data:ki(ct.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(const i of e.references){const a=i.error;if(a){const s={node:a.info.container,range:i.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:ct.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=he.CancellationToken.None){const i=[],a=(s,o,l)=>{i.push(this.toDiagnostic(s,o,l))};return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=he.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await Ue(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=he.CancellationToken.None){if(this.profiler?.isActive("validating")){const a=this.profiler.createTask("validating",this.languageId);a.start();try{const s=zt(e).iterator();for(const o of s){a.startSubTask(o.$type);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode)try{const c=this.validationRegistry.getChecks(o.$type,r.categories);for(const u of c)await u(o,n,i)}finally{a.stopSubTask(o.$type)}l.validateChildren||s.prune()}}finally{a.stop()}}else{const a=zt(e).iterator();for(const s of a){await Ue(i);const o=this.validateSingleNodeOptions(s,r);if(o.validateNode){const l=this.validationRegistry.getChecks(s.$type,r.categories);for(const c of l)await c(s,n,i)}o.validateChildren||a.prune()}}}validateSingleNodeOptions(e,r){return fT}async validateAstAfter(e,r,n,i=he.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await Ue(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:hT(n),severity:Vs(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function hT(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=xf(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=vp(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Vs(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function pT(t){switch(t){case"error":return ki(ct.LexingError);case"warning":return ki(ct.LexingWarning);case"info":return ki(ct.LexingInfo);case"hint":return ki(ct.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var ct;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(ct||(ct={}));class mT{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??jt(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=()=>s??(s=es(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return o()},selectionSegment:es(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class gT{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=he.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of zt(i))await Ue(r),Za(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ut(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Zt(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=jt(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=es(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:Qe.equals(l.documentUri,i)});return s}}class yT{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1));return i[o]?.[l]}return i[a]},e)}}var TT=Dn();class RT{constructor(e){this._ready=new mc,this.onConfigurationSectionUpdateEmitter=new TT.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var lr={},cr={},Ca={},Ks={},G={},pu;function Bd(){if(pu)return G;pu=1,Object.defineProperty(G,"__esModule",{value:!0}),G.Message=G.NotificationType9=G.NotificationType8=G.NotificationType7=G.NotificationType6=G.NotificationType5=G.NotificationType4=G.NotificationType3=G.NotificationType2=G.NotificationType1=G.NotificationType0=G.NotificationType=G.RequestType9=G.RequestType8=G.RequestType7=G.RequestType6=G.RequestType5=G.RequestType4=G.RequestType3=G.RequestType2=G.RequestType1=G.RequestType=G.RequestType0=G.AbstractMessageSignature=G.ParameterStructures=G.ResponseError=G.ErrorCodes=void 0;const t=Yi();var e;(function(T){T.ParseError=-32700,T.InvalidRequest=-32600,T.MethodNotFound=-32601,T.InvalidParams=-32602,T.InternalError=-32603,T.jsonrpcReservedErrorRangeStart=-32099,T.serverErrorStart=-32099,T.MessageWriteError=-32099,T.MessageReadError=-32098,T.PendingResponseRejected=-32097,T.ConnectionInactive=-32096,T.ServerNotInitialized=-32002,T.UnknownErrorCode=-32001,T.jsonrpcReservedErrorRangeEnd=-32e3,T.serverErrorEnd=-32e3})(e||(G.ErrorCodes=e={}));class r extends Error{constructor(g,$,y){super($),this.code=t.number(g)?g:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,r.prototype)}toJson(){const g={code:this.code,message:this.message};return this.data!==void 0&&(g.data=this.data),g}}G.ResponseError=r;class n{constructor(g){this.kind=g}static is(g){return g===n.auto||g===n.byName||g===n.byPosition}toString(){return this.kind}}G.ParameterStructures=n,n.auto=new n("auto"),n.byPosition=new n("byPosition"),n.byName=new n("byName");class i{constructor(g,$){this.method=g,this.numberOfParams=$}get parameterStructures(){return n.auto}}G.AbstractMessageSignature=i;class a extends i{constructor(g){super(g,0)}}G.RequestType0=a;class s extends i{constructor(g,$=n.auto){super(g,1),this._parameterStructures=$}get parameterStructures(){return this._parameterStructures}}G.RequestType=s;class o extends i{constructor(g,$=n.auto){super(g,1),this._parameterStructures=$}get parameterStructures(){return this._parameterStructures}}G.RequestType1=o;class l extends i{constructor(g){super(g,2)}}G.RequestType2=l;class c extends i{constructor(g){super(g,3)}}G.RequestType3=c;class u extends i{constructor(g){super(g,4)}}G.RequestType4=u;class d extends i{constructor(g){super(g,5)}}G.RequestType5=d;class p extends i{constructor(g){super(g,6)}}G.RequestType6=p;class m extends i{constructor(g){super(g,7)}}G.RequestType7=m;class A extends i{constructor(g){super(g,8)}}G.RequestType8=A;class b extends i{constructor(g){super(g,9)}}G.RequestType9=b;class I extends i{constructor(g,$=n.auto){super(g,1),this._parameterStructures=$}get parameterStructures(){return this._parameterStructures}}G.NotificationType=I;class w extends i{constructor(g){super(g,0)}}G.NotificationType0=w;class S extends i{constructor(g,$=n.auto){super(g,1),this._parameterStructures=$}get parameterStructures(){return this._parameterStructures}}G.NotificationType1=S;class C extends i{constructor(g){super(g,2)}}G.NotificationType2=C;class P extends i{constructor(g){super(g,3)}}G.NotificationType3=P;class W extends i{constructor(g){super(g,4)}}G.NotificationType4=W;class B extends i{constructor(g){super(g,5)}}G.NotificationType5=B;class H extends i{constructor(g){super(g,6)}}G.NotificationType6=H;class ne extends i{constructor(g){super(g,7)}}G.NotificationType7=ne;class se extends i{constructor(g){super(g,8)}}G.NotificationType8=se;class oe extends i{constructor(g){super(g,9)}}G.NotificationType9=oe;var N;return(function(T){function g(R){const E=R;return E&&t.string(E.method)&&(t.string(E.id)||t.number(E.id))}T.isRequest=g;function $(R){const E=R;return E&&t.string(E.method)&&R.id===void 0}T.isNotification=$;function y(R){const E=R;return E&&(E.result!==void 0||!!E.error)&&(t.string(E.id)||t.number(E.id)||E.id===null)}T.isResponse=y})(N||(G.Message=N={})),G}var wt={},mu;function Wd(){if(mu)return wt;mu=1;var t;Object.defineProperty(wt,"__esModule",{value:!0}),wt.LRUCache=wt.LinkedMap=wt.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(wt.Touch=e={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(a){return this._map.has(a)}get(a,s=e.None){const o=this._map.get(a);if(o)return s!==e.None&&this.touch(o,s),o.value}set(a,s,o=e.None){let l=this._map.get(a);if(l)l.value=s,o!==e.None&&this.touch(l,o);else{switch(l={key:a,value:s,next:void 0,previous:void 0},o){case e.None:this.addItemLast(l);break;case e.First:this.addItemFirst(l);break;case e.Last:this.addItemLast(l);break;default:this.addItemLast(l);break}this._map.set(a,l),this._size++}return this}delete(a){return!!this.remove(a)}remove(a){const s=this._map.get(a);if(s)return this._map.delete(a),this.removeItem(s),this._size--,s.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const a=this._head;return this._map.delete(a.key),this.removeItem(a),this._size--,a.value}forEach(a,s){const o=this._state;let l=this._head;for(;l;){if(s?a.bind(s)(l.value,l.key,this):a(l.value,l.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");l=l.next}}keys(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.key,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}values(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:s.value,done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}entries(){const a=this._state;let s=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==a)throw new Error("LinkedMap got modified during iteration.");if(s){const l={value:[s.key,s.value],done:!1};return s=s.next,l}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(a){if(a>=this.size)return;if(a===0){this.clear();return}let s=this._head,o=this.size;for(;s&&o>a;)this._map.delete(s.key),s=s.next,o--;this._head=s,this._size=o,s&&(s.previous=void 0),this._state++}addItemFirst(a){if(!this._head&&!this._tail)this._tail=a;else if(this._head)a.next=this._head,this._head.previous=a;else throw new Error("Invalid list");this._head=a,this._state++}addItemLast(a){if(!this._head&&!this._tail)this._head=a;else if(this._tail)a.previous=this._tail,this._tail.next=a;else throw new Error("Invalid list");this._tail=a,this._state++}removeItem(a){if(a===this._head&&a===this._tail)this._head=void 0,this._tail=void 0;else if(a===this._head){if(!a.next)throw new Error("Invalid list");a.next.previous=void 0,this._head=a.next}else if(a===this._tail){if(!a.previous)throw new Error("Invalid list");a.previous.next=void 0,this._tail=a.previous}else{const s=a.next,o=a.previous;if(!s||!o)throw new Error("Invalid list");s.previous=o,o.next=s}a.next=void 0,a.previous=void 0,this._state++}touch(a,s){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(s!==e.First&&s!==e.Last)){if(s===e.First){if(a===this._head)return;const o=a.next,l=a.previous;a===this._tail?(l.next=void 0,this._tail=l):(o.previous=l,l.next=o),a.previous=void 0,a.next=this._head,this._head.previous=a,this._head=a,this._state++}else if(s===e.Last){if(a===this._tail)return;const o=a.next,l=a.previous;a===this._head?(o.previous=void 0,this._head=o):(o.previous=l,l.next=o),a.next=void 0,a.previous=this._tail,this._tail.next=a,this._tail=a,this._state++}}}toJSON(){const a=[];return this.forEach((s,o)=>{a.push([o,s])}),a}fromJSON(a){this.clear();for(const[s,o]of a)this.set(s,o)}}wt.LinkedMap=r;class n extends r{constructor(a,s=1){super(),this._limit=a,this._ratio=Math.min(Math.max(0,s),1)}get limit(){return this._limit}set limit(a){this._limit=a,this.checkTrim()}get ratio(){return this._ratio}set ratio(a){this._ratio=Math.min(Math.max(0,a),1),this.checkTrim()}get(a,s=e.AsNew){return super.get(a,s)}peek(a){return super.get(a,e.None)}set(a,s){return super.set(a,s,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return wt.LRUCache=n,wt}var ni={},gu;function vT(){if(gu)return ni;gu=1,Object.defineProperty(ni,"__esModule",{value:!0}),ni.Disposable=void 0;var t;return(function(e){function r(n){return{dispose:n}}e.create=r})(t||(ni.Disposable=t={})),ni}var ur={},yu;function ET(){if(yu)return ur;yu=1,Object.defineProperty(ur,"__esModule",{value:!0}),ur.SharedArrayReceiverStrategy=ur.SharedArraySenderStrategy=void 0;const t=Is();var e;(function(s){s.Continue=0,s.Cancelled=1})(e||(e={}));class r{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const l=new SharedArrayBuffer(4),c=new Int32Array(l,0,1);c[0]=e.Continue,this.buffers.set(o.id,l),o.$cancellationData=l}async sendCancellation(o,l){const c=this.buffers.get(l);if(c===void 0)return;const u=new Int32Array(c,0,1);Atomics.store(u,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}ur.SharedArraySenderStrategy=r;class n{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new n(o)}cancel(){}dispose(){}}class a{constructor(){this.kind="request"}createCancellationTokenSource(o){const l=o.$cancellationData;return l===void 0?new t.CancellationTokenSource:new i(l)}}return ur.SharedArrayReceiverStrategy=a,ur}var kt={},ii={},Tu;function Vd(){if(Tu)return ii;Tu=1,Object.defineProperty(ii,"__esModule",{value:!0}),ii.Semaphore=void 0;const t=Lr();class e{constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((i,a)=>{this._waiting.push({thunk:n,resolve:i,reject:a}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=n.thunk();i instanceof Promise?i.then(a=>{this._active--,n.resolve(a),this.runNext()},a=>{this._active--,n.reject(a),this.runNext()}):(this._active--,n.resolve(i),this.runNext())}catch(i){this._active--,n.reject(i),this.runNext()}}}return ii.Semaphore=e,ii}var Ru;function AT(){if(Ru)return kt;Ru=1,Object.defineProperty(kt,"__esModule",{value:!0}),kt.ReadableStreamMessageReader=kt.AbstractMessageReader=kt.MessageReader=void 0;const t=Lr(),e=Yi(),r=Dn(),n=Vd();var i;(function(l){function c(u){let d=u;return d&&e.func(d.listen)&&e.func(d.dispose)&&e.func(d.onError)&&e.func(d.onClose)&&e.func(d.onPartialMessage)}l.is=c})(i||(kt.MessageReader=i={}));class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(c){this.errorEmitter.fire(this.asError(c))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(c){this.partialMessageEmitter.fire(c)}asError(c){return c instanceof Error?c:new Error(`Reader received error. Reason: ${e.string(c.message)?c.message:"unknown"}`)}}kt.AbstractMessageReader=a;var s;(function(l){function c(u){let d,p;const m=new Map;let A;const b=new Map;if(u===void 0||typeof u=="string")d=u??"utf-8";else{if(d=u.charset??"utf-8",u.contentDecoder!==void 0&&(p=u.contentDecoder,m.set(p.name,p)),u.contentDecoders!==void 0)for(const I of u.contentDecoders)m.set(I.name,I);if(u.contentTypeDecoder!==void 0&&(A=u.contentTypeDecoder,b.set(A.name,A)),u.contentTypeDecoders!==void 0)for(const I of u.contentTypeDecoders)b.set(I.name,I)}return A===void 0&&(A=(0,t.default)().applicationJson.decoder,b.set(A.name,A)),{charset:d,contentDecoder:p,contentDecoders:m,contentTypeDecoder:A,contentTypeDecoders:b}}l.fromOptions=c})(s||(s={}));class o extends a{constructor(c,u){super(),this.readable=c,this.options=s.fromOptions(u),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new n.Semaphore(1)}set partialMessageTimeout(c){this._partialMessageTimeout=c}get partialMessageTimeout(){return this._partialMessageTimeout}listen(c){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=c;const u=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),u}onData(c){try{for(this.buffer.append(c);;){if(this.nextMessageLength===-1){const d=this.buffer.tryReadHeaders(!0);if(!d)return;const p=d.get("content-length");if(!p){this.fireError(new Error(`Header must provide a Content-Length property.
122
+ ${JSON.stringify(Object.fromEntries(d))}`));return}const m=parseInt(p);if(isNaN(m)){this.fireError(new Error(`Content-Length value must be a number. Got ${p}`));return}this.nextMessageLength=m}const u=this.buffer.tryReadBody(this.nextMessageLength);if(u===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(u):u,p=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(p)}).catch(d=>{this.fireError(d)})}}catch(u){this.fireError(u)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((c,u)=>{this.partialMessageTimer=void 0,c===this.messageToken&&(this.firePartialMessage({messageToken:c,waitingTime:u}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return kt.ReadableStreamMessageReader=o,kt}var bt={},vu;function $T(){if(vu)return bt;vu=1,Object.defineProperty(bt,"__esModule",{value:!0}),bt.WriteableStreamMessageWriter=bt.AbstractMessageWriter=bt.MessageWriter=void 0;const t=Lr(),e=Yi(),r=Vd(),n=Dn(),i="Content-Length: ",a=`\r
123
+ `;var s;(function(u){function d(p){let m=p;return m&&e.func(m.dispose)&&e.func(m.onClose)&&e.func(m.onError)&&e.func(m.write)}u.is=d})(s||(bt.MessageWriter=s={}));class o{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,p,m){this.errorEmitter.fire([this.asError(d),p,m])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${e.string(d.message)?d.message:"unknown"}`)}}bt.AbstractMessageWriter=o;var l;(function(u){function d(p){return p===void 0||typeof p=="string"?{charset:p??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:p.charset??"utf-8",contentEncoder:p.contentEncoder,contentTypeEncoder:p.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=d})(l||(l={}));class c extends o{constructor(d,p){super(),this.writable=d,this.options=l.fromOptions(p),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(m=>this.fireError(m)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(m=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(m):m).then(m=>{const A=[];return A.push(i,m.byteLength.toString(),a),A.push(a),this.doWrite(d,A,m)},m=>{throw this.fireError(m),m}))}async doWrite(d,p,m){try{return await this.writable.write(p.join(""),"ascii"),this.writable.write(m)}catch(A){return this.handleError(A,d),Promise.reject(A)}}handleError(d,p){this.errorCount++,this.fireError(d,p,this.errorCount)}end(){this.writable.end()}}return bt.WriteableStreamMessageWriter=c,bt}var ai={},Eu;function CT(){if(Eu)return ai;Eu=1,Object.defineProperty(ai,"__esModule",{value:!0}),ai.AbstractMessageBuffer=void 0;const t=13,e=10,r=`\r
124
+ `;class n{constructor(a="utf-8"){this._encoding=a,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(a){const s=typeof a=="string"?this.fromString(a,this._encoding):a;this._chunks.push(s),this._totalLength+=s.byteLength}tryReadHeaders(a=!1){if(this._chunks.length===0)return;let s=0,o=0,l=0,c=0;e:for(;o<this._chunks.length;){const m=this._chunks[o];for(l=0;l<m.length;){switch(m[l]){case t:switch(s){case 0:s=1;break;case 2:s=3;break;default:s=0}break;case e:switch(s){case 1:s=2;break;case 3:s=4,l++;break e;default:s=0}break;default:s=0}l++}c+=m.byteLength,o++}if(s!==4)return;const u=this._read(c+l),d=new Map,p=this.toString(u,"ascii").split(r);if(p.length<2)return d;for(let m=0;m<p.length-2;m++){const A=p[m],b=A.indexOf(":");if(b===-1)throw new Error(`Message header must separate key and value using ':'
125
+ ${A}`);const I=A.substr(0,b),w=A.substr(b+1).trim();d.set(a?I.toLowerCase():I,w)}return d}tryReadBody(a){if(!(this._totalLength<a))return this._read(a)}get numberOfBytes(){return this._totalLength}_read(a){if(a===0)return this.emptyBuffer();if(a>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===a){const c=this._chunks[0];return this._chunks.shift(),this._totalLength-=a,this.asNative(c)}if(this._chunks[0].byteLength>a){const c=this._chunks[0],u=this.asNative(c,a);return this._chunks[0]=c.slice(a),this._totalLength-=a,u}const s=this.allocNative(a);let o=0,l=0;for(;a>0;){const c=this._chunks[l];if(c.byteLength>a){const u=c.slice(0,a);s.set(u,o),o+=a,this._chunks[l]=c.slice(a),this._totalLength-=a,a-=a}else s.set(c,o),o+=c.byteLength,this._chunks.shift(),this._totalLength-=c.byteLength,a-=c.byteLength}return s}}return ai.AbstractMessageBuffer=n,ai}var Hs={},Au;function ST(){return Au||(Au=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=Lr(),r=Yi(),n=Bd(),i=Wd(),a=Dn(),s=Is();var o;(function(g){g.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(g){function $(y){return typeof y=="string"||typeof y=="number"}g.is=$})(l||(t.ProgressToken=l={}));var c;(function(g){g.type=new n.NotificationType("$/progress")})(c||(c={}));class u{constructor(){}}t.ProgressType=u;var d;(function(g){function $(y){return r.func(y)}g.is=$})(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var p;(function(g){g[g.Off=0]="Off",g[g.Messages=1]="Messages",g[g.Compact=2]="Compact",g[g.Verbose=3]="Verbose"})(p||(t.Trace=p={}));var m;(function(g){g.Off="off",g.Messages="messages",g.Compact="compact",g.Verbose="verbose"})(m||(t.TraceValues=m={})),(function(g){function $(R){if(!r.string(R))return g.Off;switch(R=R.toLowerCase(),R){case"off":return g.Off;case"messages":return g.Messages;case"compact":return g.Compact;case"verbose":return g.Verbose;default:return g.Off}}g.fromString=$;function y(R){switch(R){case g.Off:return"off";case g.Messages:return"messages";case g.Compact:return"compact";case g.Verbose:return"verbose";default:return"off"}}g.toString=y})(p||(t.Trace=p={}));var A;(function(g){g.Text="text",g.JSON="json"})(A||(t.TraceFormat=A={})),(function(g){function $(y){return r.string(y)?(y=y.toLowerCase(),y==="json"?g.JSON:g.Text):g.Text}g.fromString=$})(A||(t.TraceFormat=A={}));var b;(function(g){g.type=new n.NotificationType("$/setTrace")})(b||(t.SetTraceNotification=b={}));var I;(function(g){g.type=new n.NotificationType("$/logTrace")})(I||(t.LogTraceNotification=I={}));var w;(function(g){g[g.Closed=1]="Closed",g[g.Disposed=2]="Disposed",g[g.AlreadyListening=3]="AlreadyListening"})(w||(t.ConnectionErrors=w={}));class S extends Error{constructor($,y){super(y),this.code=$,Object.setPrototypeOf(this,S.prototype)}}t.ConnectionError=S;var C;(function(g){function $(y){const R=y;return R&&r.func(R.cancelUndispatched)}g.is=$})(C||(t.ConnectionStrategy=C={}));var P;(function(g){function $(y){const R=y;return R&&(R.kind===void 0||R.kind==="id")&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}g.is=$})(P||(t.IdCancellationReceiverStrategy=P={}));var W;(function(g){function $(y){const R=y;return R&&R.kind==="request"&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}g.is=$})(W||(t.RequestCancellationReceiverStrategy=W={}));var B;(function(g){g.Message=Object.freeze({createCancellationTokenSource(y){return new s.CancellationTokenSource}});function $(y){return P.is(y)||W.is(y)}g.is=$})(B||(t.CancellationReceiverStrategy=B={}));var H;(function(g){g.Message=Object.freeze({sendCancellation(y,R){return y.sendNotification(o.type,{id:R})},cleanup(y){}});function $(y){const R=y;return R&&r.func(R.sendCancellation)&&r.func(R.cleanup)}g.is=$})(H||(t.CancellationSenderStrategy=H={}));var ne;(function(g){g.Message=Object.freeze({receiver:B.Message,sender:H.Message});function $(y){const R=y;return R&&B.is(R.receiver)&&H.is(R.sender)}g.is=$})(ne||(t.CancellationStrategy=ne={}));var se;(function(g){function $(y){const R=y;return R&&r.func(R.handleMessage)}g.is=$})(se||(t.MessageStrategy=se={}));var oe;(function(g){function $(y){const R=y;return R&&(ne.is(R.cancellationStrategy)||C.is(R.connectionStrategy)||se.is(R.messageStrategy))}g.is=$})(oe||(t.ConnectionOptions=oe={}));var N;(function(g){g[g.New=1]="New",g[g.Listening=2]="Listening",g[g.Closed=3]="Closed",g[g.Disposed=4]="Disposed"})(N||(N={}));function T(g,$,y,R){const E=y!==void 0?y:t.NullLogger;let L=0,D=0,x=0;const j="2.0";let F;const te=new Map;let z;const Q=new Map,_e=new Map;let me,le=new i.LinkedMap,ke=new Map,Ie=new Set,Ce=new Map,Y=p.Off,Xe=A.Text,ge,it=N.New;const xr=new a.Emitter,Gn=new a.Emitter,jn=new a.Emitter,zn=new a.Emitter,Un=new a.Emitter,at=R&&R.cancellationStrategy?R.cancellationStrategy:ne.Message;function qn(h){if(h===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+h.toString()}function Ji(h){return h===null?"res-unknown-"+(++x).toString():"res-"+h.toString()}function Zi(){return"not-"+(++D).toString()}function Qi(h,k){n.Message.isRequest(k)?h.set(qn(k.id),k):n.Message.isResponse(k)?h.set(Ji(k.id),k):h.set(Zi(),k)}function ea(h){}function Bn(){return it===N.Listening}function Wn(){return it===N.Closed}function $t(){return it===N.Disposed}function Vn(){(it===N.New||it===N.Listening)&&(it=N.Closed,Gn.fire(void 0))}function ta(h){xr.fire([h,void 0,void 0])}function ra(h){xr.fire(h)}g.onClose(Vn),g.onError(ta),$.onClose(Vn),$.onError(ra);function Kn(){me||le.size===0||(me=(0,e.default)().timer.setImmediate(()=>{me=void 0,na()}))}function Hn(h){n.Message.isRequest(h)?aa(h):n.Message.isNotification(h)?oa(h):n.Message.isResponse(h)?sa(h):la(h)}function na(){if(le.size===0)return;const h=le.shift();try{const k=R?.messageStrategy;se.is(k)?k.handleMessage(h,Hn):Hn(h)}finally{Kn()}}const ia=h=>{try{if(n.Message.isNotification(h)&&h.method===o.type.method){const k=h.params.id,O=qn(k),M=le.get(O);if(n.Message.isRequest(M)){const re=R?.connectionStrategy,ye=re&&re.cancelUndispatched?re.cancelUndispatched(M,ea):void 0;if(ye&&(ye.error!==void 0||ye.result!==void 0)){le.delete(O),Ce.delete(k),ye.id=M.id,ir(ye,h.method,Date.now()),$.write(ye).catch(()=>E.error("Sending response for canceled message failed."));return}}const ie=Ce.get(k);if(ie!==void 0){ie.cancel(),Dr(h);return}else Ie.add(k)}Qi(le,h)}finally{Kn()}};function aa(h){if($t())return;function k(X,ce,ee){const be={jsonrpc:j,id:h.id};X instanceof n.ResponseError?be.error=X.toJson():be.result=X===void 0?null:X,ir(be,ce,ee),$.write(be).catch(()=>E.error("Sending response failed."))}function O(X,ce,ee){const be={jsonrpc:j,id:h.id,error:X.toJson()};ir(be,ce,ee),$.write(be).catch(()=>E.error("Sending response failed."))}function M(X,ce,ee){X===void 0&&(X=null);const be={jsonrpc:j,id:h.id,result:X};ir(be,ce,ee),$.write(be).catch(()=>E.error("Sending response failed."))}fa(h);const ie=te.get(h.method);let re,ye;ie&&(re=ie.type,ye=ie.handler);const Ae=Date.now();if(ye||F){const X=h.id??String(Date.now()),ce=P.is(at.receiver)?at.receiver.createCancellationTokenSource(X):at.receiver.createCancellationTokenSource(h);h.id!==null&&Ie.has(h.id)&&ce.cancel(),h.id!==null&&Ce.set(X,ce);try{let ee;if(ye)if(h.params===void 0){if(re!==void 0&&re.numberOfParams!==0){O(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${h.method} defines ${re.numberOfParams} params but received none.`),h.method,Ae);return}ee=ye(ce.token)}else if(Array.isArray(h.params)){if(re!==void 0&&re.parameterStructures===n.ParameterStructures.byName){O(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by name but received parameters by position`),h.method,Ae);return}ee=ye(...h.params,ce.token)}else{if(re!==void 0&&re.parameterStructures===n.ParameterStructures.byPosition){O(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by position but received parameters by name`),h.method,Ae);return}ee=ye(h.params,ce.token)}else F&&(ee=F(h.method,h.params,ce.token));const be=ee;ee?be.then?be.then(Ge=>{Ce.delete(X),k(Ge,h.method,Ae)},Ge=>{Ce.delete(X),Ge instanceof n.ResponseError?O(Ge,h.method,Ae):Ge&&r.string(Ge.message)?O(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${Ge.message}`),h.method,Ae):O(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,Ae)}):(Ce.delete(X),k(ee,h.method,Ae)):(Ce.delete(X),M(ee,h.method,Ae))}catch(ee){Ce.delete(X),ee instanceof n.ResponseError?k(ee,h.method,Ae):ee&&r.string(ee.message)?O(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${ee.message}`),h.method,Ae):O(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,Ae)}}else O(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${h.method}`),h.method,Ae)}function sa(h){if(!$t())if(h.id===null)h.error?E.error(`Received response message without id: Error is:
126
+ ${JSON.stringify(h.error,void 0,4)}`):E.error("Received response message without id. No further error information provided.");else{const k=h.id,O=ke.get(k);if(da(h,O),O!==void 0){ke.delete(k);try{if(h.error){const M=h.error;O.reject(new n.ResponseError(M.code,M.message,M.data))}else if(h.result!==void 0)O.resolve(h.result);else throw new Error("Should never happen.")}catch(M){M.message?E.error(`Response handler '${O.method}' failed with message: ${M.message}`):E.error(`Response handler '${O.method}' failed unexpectedly.`)}}}}function oa(h){if($t())return;let k,O;if(h.method===o.type.method){const M=h.params.id;Ie.delete(M),Dr(h);return}else{const M=Q.get(h.method);M&&(O=M.handler,k=M.type)}if(O||z)try{if(Dr(h),O)if(h.params===void 0)k!==void 0&&k.numberOfParams!==0&&k.parameterStructures!==n.ParameterStructures.byName&&E.error(`Notification ${h.method} defines ${k.numberOfParams} params but received none.`),O();else if(Array.isArray(h.params)){const M=h.params;h.method===c.type.method&&M.length===2&&l.is(M[0])?O({token:M[0],value:M[1]}):(k!==void 0&&(k.parameterStructures===n.ParameterStructures.byName&&E.error(`Notification ${h.method} defines parameters by name but received parameters by position`),k.numberOfParams!==h.params.length&&E.error(`Notification ${h.method} defines ${k.numberOfParams} params but received ${M.length} arguments`)),O(...M))}else k!==void 0&&k.parameterStructures===n.ParameterStructures.byPosition&&E.error(`Notification ${h.method} defines parameters by position but received parameters by name`),O(h.params);else z&&z(h.method,h.params)}catch(M){M.message?E.error(`Notification handler '${h.method}' failed with message: ${M.message}`):E.error(`Notification handler '${h.method}' failed unexpectedly.`)}else jn.fire(h)}function la(h){if(!h){E.error("Received empty message.");return}E.error(`Received message which is neither a response nor a notification message:
127
+ ${JSON.stringify(h,null,4)}`);const k=h;if(r.string(k.id)||r.number(k.id)){const O=k.id,M=ke.get(O);M&&M.reject(new Error("The received response has neither a result nor an error property."))}}function st(h){if(h!=null)switch(Y){case p.Verbose:return JSON.stringify(h,null,4);case p.Compact:return JSON.stringify(h);default:return}}function ca(h){if(!(Y===p.Off||!ge))if(Xe===A.Text){let k;(Y===p.Verbose||Y===p.Compact)&&h.params&&(k=`Params: ${st(h.params)}
128
+
129
+ `),ge.log(`Sending request '${h.method} - (${h.id})'.`,k)}else Ct("send-request",h)}function ua(h){if(!(Y===p.Off||!ge))if(Xe===A.Text){let k;(Y===p.Verbose||Y===p.Compact)&&(h.params?k=`Params: ${st(h.params)}
130
+
131
+ `:k=`No parameters provided.
132
+
133
+ `),ge.log(`Sending notification '${h.method}'.`,k)}else Ct("send-notification",h)}function ir(h,k,O){if(!(Y===p.Off||!ge))if(Xe===A.Text){let M;(Y===p.Verbose||Y===p.Compact)&&(h.error&&h.error.data?M=`Error data: ${st(h.error.data)}
134
+
135
+ `:h.result?M=`Result: ${st(h.result)}
136
+
137
+ `:h.error===void 0&&(M=`No result returned.
138
+
139
+ `)),ge.log(`Sending response '${k} - (${h.id})'. Processing request took ${Date.now()-O}ms`,M)}else Ct("send-response",h)}function fa(h){if(!(Y===p.Off||!ge))if(Xe===A.Text){let k;(Y===p.Verbose||Y===p.Compact)&&h.params&&(k=`Params: ${st(h.params)}
140
+
141
+ `),ge.log(`Received request '${h.method} - (${h.id})'.`,k)}else Ct("receive-request",h)}function Dr(h){if(!(Y===p.Off||!ge||h.method===I.type.method))if(Xe===A.Text){let k;(Y===p.Verbose||Y===p.Compact)&&(h.params?k=`Params: ${st(h.params)}
142
+
143
+ `:k=`No parameters provided.
144
+
145
+ `),ge.log(`Received notification '${h.method}'.`,k)}else Ct("receive-notification",h)}function da(h,k){if(!(Y===p.Off||!ge))if(Xe===A.Text){let O;if((Y===p.Verbose||Y===p.Compact)&&(h.error&&h.error.data?O=`Error data: ${st(h.error.data)}
146
+
147
+ `:h.result?O=`Result: ${st(h.result)}
148
+
149
+ `:h.error===void 0&&(O=`No result returned.
150
+
151
+ `)),k){const M=h.error?` Request failed: ${h.error.message} (${h.error.code}).`:"";ge.log(`Received response '${k.method} - (${h.id})' in ${Date.now()-k.timerStart}ms.${M}`,O)}else ge.log(`Received response ${h.id} without active response promise.`,O)}else Ct("receive-response",h)}function Ct(h,k){if(!ge||Y===p.Off)return;const O={isLSPMessage:!0,type:h,message:k,timestamp:Date.now()};ge.log(O)}function Xt(){if(Wn())throw new S(w.Closed,"Connection is closed.");if($t())throw new S(w.Disposed,"Connection is disposed.")}function ha(){if(Bn())throw new S(w.AlreadyListening,"Connection is already listening")}function pa(){if(!Bn())throw new Error("Call listen() first.")}function Yt(h){return h===void 0?null:h}function Xn(h){if(h!==null)return h}function f(h){return h!=null&&!Array.isArray(h)&&typeof h=="object"}function ve(h,k){switch(h){case n.ParameterStructures.auto:return f(k)?Xn(k):[Yt(k)];case n.ParameterStructures.byName:if(!f(k))throw new Error("Received parameters by name but param is not an object literal.");return Xn(k);case n.ParameterStructures.byPosition:return[Yt(k)];default:throw new Error(`Unknown parameter structure ${h.toString()}`)}}function Ee(h,k){let O;const M=h.numberOfParams;switch(M){case 0:O=void 0;break;case 1:O=ve(h.parameterStructures,k[0]);break;default:O=[];for(let ie=0;ie<k.length&&ie<M;ie++)O.push(Yt(k[ie]));if(k.length<M)for(let ie=k.length;ie<M;ie++)O.push(null);break}return O}const q={sendNotification:(h,...k)=>{Xt();let O,M;if(r.string(h)){O=h;const re=k[0];let ye=0,Ae=n.ParameterStructures.auto;n.ParameterStructures.is(re)&&(ye=1,Ae=re);let X=k.length;const ce=X-ye;switch(ce){case 0:M=void 0;break;case 1:M=ve(Ae,k[ye]);break;default:if(Ae===n.ParameterStructures.byName)throw new Error(`Received ${ce} parameters for 'by Name' notification parameter structure.`);M=k.slice(ye,X).map(ee=>Yt(ee));break}}else{const re=k;O=h.method,M=Ee(h,re)}const ie={jsonrpc:j,method:O,params:M};return ua(ie),$.write(ie).catch(re=>{throw E.error("Sending notification failed."),re})},onNotification:(h,k)=>{Xt();let O;return r.func(h)?z=h:k&&(r.string(h)?(O=h,Q.set(h,{type:void 0,handler:k})):(O=h.method,Q.set(h.method,{type:h,handler:k}))),{dispose:()=>{O!==void 0?Q.delete(O):z=void 0}}},onProgress:(h,k,O)=>{if(_e.has(k))throw new Error(`Progress handler for token ${k} already registered`);return _e.set(k,O),{dispose:()=>{_e.delete(k)}}},sendProgress:(h,k,O)=>q.sendNotification(c.type,{token:k,value:O}),onUnhandledProgress:zn.event,sendRequest:(h,...k)=>{Xt(),pa();let O,M,ie;if(r.string(h)){O=h;const X=k[0],ce=k[k.length-1];let ee=0,be=n.ParameterStructures.auto;n.ParameterStructures.is(X)&&(ee=1,be=X);let Ge=k.length;s.CancellationToken.is(ce)&&(Ge=Ge-1,ie=ce);const dt=Ge-ee;switch(dt){case 0:M=void 0;break;case 1:M=ve(be,k[ee]);break;default:if(be===n.ParameterStructures.byName)throw new Error(`Received ${dt} parameters for 'by Name' request parameter structure.`);M=k.slice(ee,Ge).map(vh=>Yt(vh));break}}else{const X=k;O=h.method,M=Ee(h,X);const ce=h.numberOfParams;ie=s.CancellationToken.is(X[ce])?X[ce]:void 0}const re=L++;let ye;ie&&(ye=ie.onCancellationRequested(()=>{const X=at.sender.sendCancellation(q,re);return X===void 0?(E.log(`Received no promise from cancellation strategy when cancelling id ${re}`),Promise.resolve()):X.catch(()=>{E.log(`Sending cancellation messages for id ${re} failed`)})}));const Ae={jsonrpc:j,id:re,method:O,params:M};return ca(Ae),typeof at.sender.enableCancellation=="function"&&at.sender.enableCancellation(Ae),new Promise(async(X,ce)=>{const ee=dt=>{X(dt),at.sender.cleanup(re),ye?.dispose()},be=dt=>{ce(dt),at.sender.cleanup(re),ye?.dispose()},Ge={method:O,timerStart:Date.now(),resolve:ee,reject:be};try{await $.write(Ae),ke.set(re,Ge)}catch(dt){throw E.error("Sending request failed."),Ge.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,dt.message?dt.message:"Unknown reason")),dt}})},onRequest:(h,k)=>{Xt();let O=null;return d.is(h)?(O=void 0,F=h):r.string(h)?(O=null,k!==void 0&&(O=h,te.set(h,{handler:k,type:void 0}))):k!==void 0&&(O=h.method,te.set(h.method,{type:h,handler:k})),{dispose:()=>{O!==null&&(O!==void 0?te.delete(O):F=void 0)}}},hasPendingResponse:()=>ke.size>0,trace:async(h,k,O)=>{let M=!1,ie=A.Text;O!==void 0&&(r.boolean(O)?M=O:(M=O.sendNotification||!1,ie=O.traceFormat||A.Text)),Y=h,Xe=ie,Y===p.Off?ge=void 0:ge=k,M&&!Wn()&&!$t()&&await q.sendNotification(b.type,{value:p.toString(h)})},onError:xr.event,onClose:Gn.event,onUnhandledNotification:jn.event,onDispose:Un.event,end:()=>{$.end()},dispose:()=>{if($t())return;it=N.Disposed,Un.fire(void 0);const h=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const k of ke.values())k.reject(h);ke=new Map,Ce=new Map,Ie=new Set,le=new i.LinkedMap,r.func($.dispose)&&$.dispose(),r.func(g.dispose)&&g.dispose()},listen:()=>{Xt(),ha(),it=N.Listening,g.listen(ia)},inspect:()=>{(0,e.default)().console.log("inspect")}};return q.onNotification(I.type,h=>{if(Y===p.Off||!ge)return;const k=Y===p.Verbose||Y===p.Compact;ge.log(h.message,k?h.verbose:void 0)}),q.onNotification(c.type,h=>{const k=_e.get(h.token);k?k(h.value):zn.fire(h)}),q}t.createMessageConnection=T})(Hs)),Hs}var $u;function Fl(){return $u||($u=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Bd();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const r=Wd();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return r.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return r.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return r.Touch}});const n=vT();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return n.Disposable}});const i=Dn();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const a=Is();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const s=ET();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return s.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return s.SharedArrayReceiverStrategy}});const o=AT();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const l=$T();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=CT();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return c.AbstractMessageBuffer}});const u=ST();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return u.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return u.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return u.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return u.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return u.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return u.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return u.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return u.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return u.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return u.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return u.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return u.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return u.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return u.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return u.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return u.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return u.MessageStrategy}});const d=Lr();t.RAL=d.default})(Ks)),Ks}var Cu;function wT(){if(Cu)return Ca;Cu=1,Object.defineProperty(Ca,"__esModule",{value:!0});const t=Fl();class e extends t.AbstractMessageBuffer{constructor(l="utf-8"){super(l),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(l,c){return new TextEncoder().encode(l)}toString(l,c){return c==="ascii"?this.asciiDecoder.decode(l):new TextDecoder(c).decode(l)}asNative(l,c){return c===void 0?l:l.slice(0,c)}allocNative(l){return new Uint8Array(l)}}e.emptyBuffer=new Uint8Array(0);class r{constructor(l){this.socket=l,this._onData=new t.Emitter,this._messageListener=c=>{c.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}onData(l){return this._onData.event(l)}}class n{constructor(l){this.socket=l}onClose(l){return this.socket.addEventListener("close",l),t.Disposable.create(()=>this.socket.removeEventListener("close",l))}onError(l){return this.socket.addEventListener("error",l),t.Disposable.create(()=>this.socket.removeEventListener("error",l))}onEnd(l){return this.socket.addEventListener("end",l),t.Disposable.create(()=>this.socket.removeEventListener("end",l))}write(l,c){if(typeof l=="string"){if(c!==void 0&&c!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${c}`);this.socket.send(l)}else this.socket.send(l);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,a=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,l)=>{if(l.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,l)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(l.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new r(o),asWritableStream:o=>new n(o)}),console,timer:Object.freeze({setTimeout(o,l,...c){const u=setTimeout(o,l,...c);return{dispose:()=>clearTimeout(u)}},setImmediate(o,...l){const c=setTimeout(o,0,...l);return{dispose:()=>clearTimeout(c)}},setInterval(o,l,...c){const u=setInterval(o,l,...c);return{dispose:()=>clearInterval(u)}}})});function s(){return a}return(function(o){function l(){t.RAL.install(a)}o.install=l})(s||(s={})),Ca.default=s,Ca}var Su;function Mn(){return Su||(Su=1,(function(t){var e=cr&&cr.__createBinding||(Object.create?(function(l,c,u,d){d===void 0&&(d=u);var p=Object.getOwnPropertyDescriptor(c,u);(!p||("get"in p?!c.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return c[u]}}),Object.defineProperty(l,d,p)}):(function(l,c,u,d){d===void 0&&(d=u),l[d]=c[u]})),r=cr&&cr.__exportStar||function(l,c){for(var u in l)u!=="default"&&!Object.prototype.hasOwnProperty.call(c,u)&&e(c,l,u)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,wT().default.install();const i=Fl();r(Fl(),t);class a extends i.AbstractMessageReader{constructor(c){super(),this._onData=new i.Emitter,this._messageListener=u=>{this._onData.fire(u.data)},c.addEventListener("error",u=>this.fireError(u)),c.onmessage=this._messageListener}listen(c){return this._onData.event(c)}}t.BrowserMessageReader=a;class s extends i.AbstractMessageWriter{constructor(c){super(),this.port=c,this.errorCount=0,c.addEventListener("error",u=>this.fireError(u))}write(c){try{return this.port.postMessage(c),Promise.resolve()}catch(u){return this.handleError(u,c),Promise.reject(u)}}handleError(c,u){this.errorCount++,this.fireError(c,u,this.errorCount)}end(){}}t.BrowserMessageWriter=s;function o(l,c,u,d){return u===void 0&&(u=i.NullLogger),i.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,i.createMessageConnection)(l,c,u,d)}t.createMessageConnection=o})(cr)),cr}var Xs,wu;function ku(){return wu||(wu=1,Xs=Mn()),Xs}var fr={};const gc=Ah(Cy);var je={},bu;function pe(){if(bu)return je;bu=1,Object.defineProperty(je,"__esModule",{value:!0}),je.ProtocolNotificationType=je.ProtocolNotificationType0=je.ProtocolRequestType=je.ProtocolRequestType0=je.RegistrationType=je.MessageDirection=void 0;const t=Mn();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(je.MessageDirection=e={}));class r{constructor(l){this.method=l}}je.RegistrationType=r;class n extends t.RequestType0{constructor(l){super(l)}}je.ProtocolRequestType0=n;class i extends t.RequestType{constructor(l){super(l,t.ParameterStructures.byName)}}je.ProtocolRequestType=i;class a extends t.NotificationType0{constructor(l){super(l)}}je.ProtocolNotificationType0=a;class s extends t.NotificationType{constructor(l){super(l,t.ParameterStructures.byName)}}return je.ProtocolNotificationType=s,je}var Ys={},$e={},Nu;function yc(){if(Nu)return $e;Nu=1,Object.defineProperty($e,"__esModule",{value:!0}),$e.objectLiteral=$e.typedArray=$e.stringArray=$e.array=$e.func=$e.error=$e.number=$e.string=$e.boolean=void 0;function t(c){return c===!0||c===!1}$e.boolean=t;function e(c){return typeof c=="string"||c instanceof String}$e.string=e;function r(c){return typeof c=="number"||c instanceof Number}$e.number=r;function n(c){return c instanceof Error}$e.error=n;function i(c){return typeof c=="function"}$e.func=i;function a(c){return Array.isArray(c)}$e.array=a;function s(c){return a(c)&&c.every(u=>e(u))}$e.stringArray=s;function o(c,u){return Array.isArray(c)&&c.every(u)}$e.typedArray=o;function l(c){return c!==null&&typeof c=="object"}return $e.objectLiteral=l,$e}var si={},_u;function kT(){if(_u)return si;_u=1,Object.defineProperty(si,"__esModule",{value:!0}),si.ImplementationRequest=void 0;const t=pe();var e;return(function(r){r.method="textDocument/implementation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(si.ImplementationRequest=e={})),si}var oi={},Iu;function bT(){if(Iu)return oi;Iu=1,Object.defineProperty(oi,"__esModule",{value:!0}),oi.TypeDefinitionRequest=void 0;const t=pe();var e;return(function(r){r.method="textDocument/typeDefinition",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(oi.TypeDefinitionRequest=e={})),oi}var dr={},Pu;function NT(){if(Pu)return dr;Pu=1,Object.defineProperty(dr,"__esModule",{value:!0}),dr.DidChangeWorkspaceFoldersNotification=dr.WorkspaceFoldersRequest=void 0;const t=pe();var e;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(e||(dr.WorkspaceFoldersRequest=e={}));var r;return(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolNotificationType(n.method)})(r||(dr.DidChangeWorkspaceFoldersNotification=r={})),dr}var li={},Ou;function _T(){if(Ou)return li;Ou=1,Object.defineProperty(li,"__esModule",{value:!0}),li.ConfigurationRequest=void 0;const t=pe();var e;return(function(r){r.method="workspace/configuration",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(li.ConfigurationRequest=e={})),li}var hr={},Lu;function IT(){if(Lu)return hr;Lu=1,Object.defineProperty(hr,"__esModule",{value:!0}),hr.ColorPresentationRequest=hr.DocumentColorRequest=void 0;const t=pe();var e;(function(n){n.method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(hr.DocumentColorRequest=e={}));var r;return(function(n){n.method="textDocument/colorPresentation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(hr.ColorPresentationRequest=r={})),hr}var pr={},xu;function PT(){if(xu)return pr;xu=1,Object.defineProperty(pr,"__esModule",{value:!0}),pr.FoldingRangeRefreshRequest=pr.FoldingRangeRequest=void 0;const t=pe();var e;(function(n){n.method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(pr.FoldingRangeRequest=e={}));var r;return(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(pr.FoldingRangeRefreshRequest=r={})),pr}var ci={},Du;function OT(){if(Du)return ci;Du=1,Object.defineProperty(ci,"__esModule",{value:!0}),ci.DeclarationRequest=void 0;const t=pe();var e;return(function(r){r.method="textDocument/declaration",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(ci.DeclarationRequest=e={})),ci}var ui={},Mu;function LT(){if(Mu)return ui;Mu=1,Object.defineProperty(ui,"__esModule",{value:!0}),ui.SelectionRangeRequest=void 0;const t=pe();var e;return(function(r){r.method="textDocument/selectionRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(ui.SelectionRangeRequest=e={})),ui}var Nt={},Fu;function xT(){if(Fu)return Nt;Fu=1,Object.defineProperty(Nt,"__esModule",{value:!0}),Nt.WorkDoneProgressCancelNotification=Nt.WorkDoneProgressCreateRequest=Nt.WorkDoneProgress=void 0;const t=Mn(),e=pe();var r;(function(a){a.type=new t.ProgressType;function s(o){return o===a.type}a.is=s})(r||(Nt.WorkDoneProgress=r={}));var n;(function(a){a.method="window/workDoneProgress/create",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType(a.method)})(n||(Nt.WorkDoneProgressCreateRequest=n={}));var i;return(function(a){a.method="window/workDoneProgress/cancel",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolNotificationType(a.method)})(i||(Nt.WorkDoneProgressCancelNotification=i={})),Nt}var _t={},Gu;function DT(){if(Gu)return _t;Gu=1,Object.defineProperty(_t,"__esModule",{value:!0}),_t.CallHierarchyOutgoingCallsRequest=_t.CallHierarchyIncomingCallsRequest=_t.CallHierarchyPrepareRequest=void 0;const t=pe();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(_t.CallHierarchyPrepareRequest=e={}));var r;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(_t.CallHierarchyIncomingCallsRequest=r={}));var n;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(_t.CallHierarchyOutgoingCallsRequest=n={})),_t}var ze={},ju;function MT(){if(ju)return ze;ju=1,Object.defineProperty(ze,"__esModule",{value:!0}),ze.SemanticTokensRefreshRequest=ze.SemanticTokensRangeRequest=ze.SemanticTokensDeltaRequest=ze.SemanticTokensRequest=ze.SemanticTokensRegistrationType=ze.TokenFormat=void 0;const t=pe();var e;(function(o){o.Relative="relative"})(e||(ze.TokenFormat=e={}));var r;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(r||(ze.SemanticTokensRegistrationType=r={}));var n;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(n||(ze.SemanticTokensRequest=n={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(i||(ze.SemanticTokensDeltaRequest=i={}));var a;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=r.method})(a||(ze.SemanticTokensRangeRequest=a={}));var s;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(s||(ze.SemanticTokensRefreshRequest=s={})),ze}var fi={},zu;function FT(){if(zu)return fi;zu=1,Object.defineProperty(fi,"__esModule",{value:!0}),fi.ShowDocumentRequest=void 0;const t=pe();var e;return(function(r){r.method="window/showDocument",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType(r.method)})(e||(fi.ShowDocumentRequest=e={})),fi}var di={},Uu;function GT(){if(Uu)return di;Uu=1,Object.defineProperty(di,"__esModule",{value:!0}),di.LinkedEditingRangeRequest=void 0;const t=pe();var e;return(function(r){r.method="textDocument/linkedEditingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(di.LinkedEditingRangeRequest=e={})),di}var Oe={},qu;function jT(){if(qu)return Oe;qu=1,Object.defineProperty(Oe,"__esModule",{value:!0}),Oe.WillDeleteFilesRequest=Oe.DidDeleteFilesNotification=Oe.DidRenameFilesNotification=Oe.WillRenameFilesRequest=Oe.DidCreateFilesNotification=Oe.WillCreateFilesRequest=Oe.FileOperationPatternKind=void 0;const t=pe();var e;(function(l){l.file="file",l.folder="folder"})(e||(Oe.FileOperationPatternKind=e={}));var r;(function(l){l.method="workspace/willCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(r||(Oe.WillCreateFilesRequest=r={}));var n;(function(l){l.method="workspace/didCreateFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(n||(Oe.DidCreateFilesNotification=n={}));var i;(function(l){l.method="workspace/willRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(i||(Oe.WillRenameFilesRequest=i={}));var a;(function(l){l.method="workspace/didRenameFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(a||(Oe.DidRenameFilesNotification=a={}));var s;(function(l){l.method="workspace/didDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolNotificationType(l.method)})(s||(Oe.DidDeleteFilesNotification=s={}));var o;return(function(l){l.method="workspace/willDeleteFiles",l.messageDirection=t.MessageDirection.clientToServer,l.type=new t.ProtocolRequestType(l.method)})(o||(Oe.WillDeleteFilesRequest=o={})),Oe}var It={},Bu;function zT(){if(Bu)return It;Bu=1,Object.defineProperty(It,"__esModule",{value:!0}),It.MonikerRequest=It.MonikerKind=It.UniquenessLevel=void 0;const t=pe();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(It.UniquenessLevel=e={}));var r;(function(i){i.$import="import",i.$export="export",i.local="local"})(r||(It.MonikerKind=r={}));var n;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(It.MonikerRequest=n={})),It}var Pt={},Wu;function UT(){if(Wu)return Pt;Wu=1,Object.defineProperty(Pt,"__esModule",{value:!0}),Pt.TypeHierarchySubtypesRequest=Pt.TypeHierarchySupertypesRequest=Pt.TypeHierarchyPrepareRequest=void 0;const t=pe();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Pt.TypeHierarchyPrepareRequest=e={}));var r;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Pt.TypeHierarchySupertypesRequest=r={}));var n;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Pt.TypeHierarchySubtypesRequest=n={})),Pt}var mr={},Vu;function qT(){if(Vu)return mr;Vu=1,Object.defineProperty(mr,"__esModule",{value:!0}),mr.InlineValueRefreshRequest=mr.InlineValueRequest=void 0;const t=pe();var e;(function(n){n.method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mr.InlineValueRequest=e={}));var r;return(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method)})(r||(mr.InlineValueRefreshRequest=r={})),mr}var Ot={},Ku;function BT(){if(Ku)return Ot;Ku=1,Object.defineProperty(Ot,"__esModule",{value:!0}),Ot.InlayHintRefreshRequest=Ot.InlayHintResolveRequest=Ot.InlayHintRequest=void 0;const t=pe();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Ot.InlayHintRequest=e={}));var r;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Ot.InlayHintResolveRequest=r={}));var n;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(n||(Ot.InlayHintRefreshRequest=n={})),Ot}var Ye={},Hu;function WT(){if(Hu)return Ye;Hu=1,Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.DiagnosticRefreshRequest=Ye.WorkspaceDiagnosticRequest=Ye.DocumentDiagnosticRequest=Ye.DocumentDiagnosticReportKind=Ye.DiagnosticServerCancellationData=void 0;const t=Mn(),e=yc(),r=pe();var n;(function(l){function c(u){const d=u;return d&&e.boolean(d.retriggerRequest)}l.is=c})(n||(Ye.DiagnosticServerCancellationData=n={}));var i;(function(l){l.Full="full",l.Unchanged="unchanged"})(i||(Ye.DocumentDiagnosticReportKind=i={}));var a;(function(l){l.method="textDocument/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(a||(Ye.DocumentDiagnosticRequest=a={}));var s;(function(l){l.method="workspace/diagnostic",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolRequestType(l.method),l.partialResult=new t.ProgressType})(s||(Ye.WorkspaceDiagnosticRequest=s={}));var o;return(function(l){l.method="workspace/diagnostic/refresh",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType0(l.method)})(o||(Ye.DiagnosticRefreshRequest=o={})),Ye}var ue={},Xu;function VT(){if(Xu)return ue;Xu=1,Object.defineProperty(ue,"__esModule",{value:!0}),ue.DidCloseNotebookDocumentNotification=ue.DidSaveNotebookDocumentNotification=ue.DidChangeNotebookDocumentNotification=ue.NotebookCellArrayChange=ue.DidOpenNotebookDocumentNotification=ue.NotebookDocumentSyncRegistrationType=ue.NotebookDocument=ue.NotebookCell=ue.ExecutionSummary=ue.NotebookCellKind=void 0;const t=gc,e=yc(),r=pe();var n;(function(m){m.Markup=1,m.Code=2;function A(b){return b===1||b===2}m.is=A})(n||(ue.NotebookCellKind=n={}));var i;(function(m){function A(w,S){const C={executionOrder:w};return(S===!0||S===!1)&&(C.success=S),C}m.create=A;function b(w){const S=w;return e.objectLiteral(S)&&t.uinteger.is(S.executionOrder)&&(S.success===void 0||e.boolean(S.success))}m.is=b;function I(w,S){return w===S?!0:w==null||S===null||S===void 0?!1:w.executionOrder===S.executionOrder&&w.success===S.success}m.equals=I})(i||(ue.ExecutionSummary=i={}));var a;(function(m){function A(S,C){return{kind:S,document:C}}m.create=A;function b(S){const C=S;return e.objectLiteral(C)&&n.is(C.kind)&&t.DocumentUri.is(C.document)&&(C.metadata===void 0||e.objectLiteral(C.metadata))}m.is=b;function I(S,C){const P=new Set;return S.document!==C.document&&P.add("document"),S.kind!==C.kind&&P.add("kind"),S.executionSummary!==C.executionSummary&&P.add("executionSummary"),(S.metadata!==void 0||C.metadata!==void 0)&&!w(S.metadata,C.metadata)&&P.add("metadata"),(S.executionSummary!==void 0||C.executionSummary!==void 0)&&!i.equals(S.executionSummary,C.executionSummary)&&P.add("executionSummary"),P}m.diff=I;function w(S,C){if(S===C)return!0;if(S==null||C===null||C===void 0||typeof S!=typeof C||typeof S!="object")return!1;const P=Array.isArray(S),W=Array.isArray(C);if(P!==W)return!1;if(P&&W){if(S.length!==C.length)return!1;for(let B=0;B<S.length;B++)if(!w(S[B],C[B]))return!1}if(e.objectLiteral(S)&&e.objectLiteral(C)){const B=Object.keys(S),H=Object.keys(C);if(B.length!==H.length||(B.sort(),H.sort(),!w(B,H)))return!1;for(let ne=0;ne<B.length;ne++){const se=B[ne];if(!w(S[se],C[se]))return!1}}return!0}})(a||(ue.NotebookCell=a={}));var s;(function(m){function A(I,w,S,C){return{uri:I,notebookType:w,version:S,cells:C}}m.create=A;function b(I){const w=I;return e.objectLiteral(w)&&e.string(w.uri)&&t.integer.is(w.version)&&e.typedArray(w.cells,a.is)}m.is=b})(s||(ue.NotebookDocument=s={}));var o;(function(m){m.method="notebookDocument/sync",m.messageDirection=r.MessageDirection.clientToServer,m.type=new r.RegistrationType(m.method)})(o||(ue.NotebookDocumentSyncRegistrationType=o={}));var l;(function(m){m.method="notebookDocument/didOpen",m.messageDirection=r.MessageDirection.clientToServer,m.type=new r.ProtocolNotificationType(m.method),m.registrationMethod=o.method})(l||(ue.DidOpenNotebookDocumentNotification=l={}));var c;(function(m){function A(I){const w=I;return e.objectLiteral(w)&&t.uinteger.is(w.start)&&t.uinteger.is(w.deleteCount)&&(w.cells===void 0||e.typedArray(w.cells,a.is))}m.is=A;function b(I,w,S){const C={start:I,deleteCount:w};return S!==void 0&&(C.cells=S),C}m.create=b})(c||(ue.NotebookCellArrayChange=c={}));var u;(function(m){m.method="notebookDocument/didChange",m.messageDirection=r.MessageDirection.clientToServer,m.type=new r.ProtocolNotificationType(m.method),m.registrationMethod=o.method})(u||(ue.DidChangeNotebookDocumentNotification=u={}));var d;(function(m){m.method="notebookDocument/didSave",m.messageDirection=r.MessageDirection.clientToServer,m.type=new r.ProtocolNotificationType(m.method),m.registrationMethod=o.method})(d||(ue.DidSaveNotebookDocumentNotification=d={}));var p;return(function(m){m.method="notebookDocument/didClose",m.messageDirection=r.MessageDirection.clientToServer,m.type=new r.ProtocolNotificationType(m.method),m.registrationMethod=o.method})(p||(ue.DidCloseNotebookDocumentNotification=p={})),ue}var hi={},Yu;function KT(){if(Yu)return hi;Yu=1,Object.defineProperty(hi,"__esModule",{value:!0}),hi.InlineCompletionRequest=void 0;const t=pe();var e;return(function(r){r.method="textDocument/inlineCompletion",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(hi.InlineCompletionRequest=e={})),hi}var Ju;function HT(){return Ju||(Ju=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;const e=pe(),r=gc,n=yc(),i=kT();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const a=bT();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return a.TypeDefinitionRequest}});const s=NT();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return s.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return s.DidChangeWorkspaceFoldersNotification}});const o=_T();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return o.ConfigurationRequest}});const l=IT();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return l.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return l.ColorPresentationRequest}});const c=PT();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return c.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return c.FoldingRangeRefreshRequest}});const u=OT();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const d=LT();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const p=xT();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return p.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return p.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return p.WorkDoneProgressCancelNotification}});const m=DT();Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const A=MT();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return A.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return A.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return A.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return A.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return A.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return A.SemanticTokensRegistrationType}});const b=FT();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return b.ShowDocumentRequest}});const I=GT();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return I.LinkedEditingRangeRequest}});const w=jT();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return w.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return w.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return w.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return w.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return w.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return w.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return w.WillDeleteFilesRequest}});const S=zT();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return S.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return S.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return S.MonikerRequest}});const C=UT();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return C.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return C.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return C.TypeHierarchySupertypesRequest}});const P=qT();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return P.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return P.InlineValueRefreshRequest}});const W=BT();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return W.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return W.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return W.InlayHintRefreshRequest}});const B=WT();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return B.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return B.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return B.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return B.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return B.DiagnosticRefreshRequest}});const H=VT();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return H.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return H.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return H.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return H.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return H.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return H.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return H.DidCloseNotebookDocumentNotification}});const ne=KT();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return ne.InlineCompletionRequest}});var se;(function(f){function ve(Ee){const q=Ee;return n.string(q)||n.string(q.language)||n.string(q.scheme)||n.string(q.pattern)}f.is=ve})(se||(t.TextDocumentFilter=se={}));var oe;(function(f){function ve(Ee){const q=Ee;return n.objectLiteral(q)&&(n.string(q.notebookType)||n.string(q.scheme)||n.string(q.pattern))}f.is=ve})(oe||(t.NotebookDocumentFilter=oe={}));var N;(function(f){function ve(Ee){const q=Ee;return n.objectLiteral(q)&&(n.string(q.notebook)||oe.is(q.notebook))&&(q.language===void 0||n.string(q.language))}f.is=ve})(N||(t.NotebookCellTextDocumentFilter=N={}));var T;(function(f){function ve(Ee){if(!Array.isArray(Ee))return!1;for(let q of Ee)if(!n.string(q)&&!se.is(q)&&!N.is(q))return!1;return!0}f.is=ve})(T||(t.DocumentSelector=T={}));var g;(function(f){f.method="client/registerCapability",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType(f.method)})(g||(t.RegistrationRequest=g={}));var $;(function(f){f.method="client/unregisterCapability",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType(f.method)})($||(t.UnregistrationRequest=$={}));var y;(function(f){f.Create="create",f.Rename="rename",f.Delete="delete"})(y||(t.ResourceOperationKind=y={}));var R;(function(f){f.Abort="abort",f.Transactional="transactional",f.TextOnlyTransactional="textOnlyTransactional",f.Undo="undo"})(R||(t.FailureHandlingKind=R={}));var E;(function(f){f.UTF8="utf-8",f.UTF16="utf-16",f.UTF32="utf-32"})(E||(t.PositionEncodingKind=E={}));var L;(function(f){function ve(Ee){const q=Ee;return q&&n.string(q.id)&&q.id.length>0}f.hasId=ve})(L||(t.StaticRegistrationOptions=L={}));var D;(function(f){function ve(Ee){const q=Ee;return q&&(q.documentSelector===null||T.is(q.documentSelector))}f.is=ve})(D||(t.TextDocumentRegistrationOptions=D={}));var x;(function(f){function ve(q){const h=q;return n.objectLiteral(h)&&(h.workDoneProgress===void 0||n.boolean(h.workDoneProgress))}f.is=ve;function Ee(q){const h=q;return h&&n.boolean(h.workDoneProgress)}f.hasWorkDoneProgress=Ee})(x||(t.WorkDoneProgressOptions=x={}));var j;(function(f){f.method="initialize",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(j||(t.InitializeRequest=j={}));var F;(function(f){f.unknownProtocolVersion=1})(F||(t.InitializeErrorCodes=F={}));var te;(function(f){f.method="initialized",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(te||(t.InitializedNotification=te={}));var z;(function(f){f.method="shutdown",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType0(f.method)})(z||(t.ShutdownRequest=z={}));var Q;(function(f){f.method="exit",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType0(f.method)})(Q||(t.ExitNotification=Q={}));var _e;(function(f){f.method="workspace/didChangeConfiguration",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(_e||(t.DidChangeConfigurationNotification=_e={}));var me;(function(f){f.Error=1,f.Warning=2,f.Info=3,f.Log=4,f.Debug=5})(me||(t.MessageType=me={}));var le;(function(f){f.method="window/showMessage",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolNotificationType(f.method)})(le||(t.ShowMessageNotification=le={}));var ke;(function(f){f.method="window/showMessageRequest",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType(f.method)})(ke||(t.ShowMessageRequest=ke={}));var Ie;(function(f){f.method="window/logMessage",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolNotificationType(f.method)})(Ie||(t.LogMessageNotification=Ie={}));var Ce;(function(f){f.method="telemetry/event",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolNotificationType(f.method)})(Ce||(t.TelemetryEventNotification=Ce={}));var Y;(function(f){f.None=0,f.Full=1,f.Incremental=2})(Y||(t.TextDocumentSyncKind=Y={}));var Xe;(function(f){f.method="textDocument/didOpen",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(Xe||(t.DidOpenTextDocumentNotification=Xe={}));var ge;(function(f){function ve(q){let h=q;return h!=null&&typeof h.text=="string"&&h.range!==void 0&&(h.rangeLength===void 0||typeof h.rangeLength=="number")}f.isIncremental=ve;function Ee(q){let h=q;return h!=null&&typeof h.text=="string"&&h.range===void 0&&h.rangeLength===void 0}f.isFull=Ee})(ge||(t.TextDocumentContentChangeEvent=ge={}));var it;(function(f){f.method="textDocument/didChange",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(it||(t.DidChangeTextDocumentNotification=it={}));var xr;(function(f){f.method="textDocument/didClose",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(xr||(t.DidCloseTextDocumentNotification=xr={}));var Gn;(function(f){f.method="textDocument/didSave",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(Gn||(t.DidSaveTextDocumentNotification=Gn={}));var jn;(function(f){f.Manual=1,f.AfterDelay=2,f.FocusOut=3})(jn||(t.TextDocumentSaveReason=jn={}));var zn;(function(f){f.method="textDocument/willSave",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(zn||(t.WillSaveTextDocumentNotification=zn={}));var Un;(function(f){f.method="textDocument/willSaveWaitUntil",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Un||(t.WillSaveTextDocumentWaitUntilRequest=Un={}));var at;(function(f){f.method="workspace/didChangeWatchedFiles",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolNotificationType(f.method)})(at||(t.DidChangeWatchedFilesNotification=at={}));var qn;(function(f){f.Created=1,f.Changed=2,f.Deleted=3})(qn||(t.FileChangeType=qn={}));var Ji;(function(f){function ve(Ee){const q=Ee;return n.objectLiteral(q)&&(r.URI.is(q.baseUri)||r.WorkspaceFolder.is(q.baseUri))&&n.string(q.pattern)}f.is=ve})(Ji||(t.RelativePattern=Ji={}));var Zi;(function(f){f.Create=1,f.Change=2,f.Delete=4})(Zi||(t.WatchKind=Zi={}));var Qi;(function(f){f.method="textDocument/publishDiagnostics",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolNotificationType(f.method)})(Qi||(t.PublishDiagnosticsNotification=Qi={}));var ea;(function(f){f.Invoked=1,f.TriggerCharacter=2,f.TriggerForIncompleteCompletions=3})(ea||(t.CompletionTriggerKind=ea={}));var Bn;(function(f){f.method="textDocument/completion",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Bn||(t.CompletionRequest=Bn={}));var Wn;(function(f){f.method="completionItem/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Wn||(t.CompletionResolveRequest=Wn={}));var $t;(function(f){f.method="textDocument/hover",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})($t||(t.HoverRequest=$t={}));var Vn;(function(f){f.Invoked=1,f.TriggerCharacter=2,f.ContentChange=3})(Vn||(t.SignatureHelpTriggerKind=Vn={}));var ta;(function(f){f.method="textDocument/signatureHelp",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(ta||(t.SignatureHelpRequest=ta={}));var ra;(function(f){f.method="textDocument/definition",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(ra||(t.DefinitionRequest=ra={}));var Kn;(function(f){f.method="textDocument/references",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Kn||(t.ReferencesRequest=Kn={}));var Hn;(function(f){f.method="textDocument/documentHighlight",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Hn||(t.DocumentHighlightRequest=Hn={}));var na;(function(f){f.method="textDocument/documentSymbol",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(na||(t.DocumentSymbolRequest=na={}));var ia;(function(f){f.method="textDocument/codeAction",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(ia||(t.CodeActionRequest=ia={}));var aa;(function(f){f.method="codeAction/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(aa||(t.CodeActionResolveRequest=aa={}));var sa;(function(f){f.method="workspace/symbol",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(sa||(t.WorkspaceSymbolRequest=sa={}));var oa;(function(f){f.method="workspaceSymbol/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(oa||(t.WorkspaceSymbolResolveRequest=oa={}));var la;(function(f){f.method="textDocument/codeLens",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(la||(t.CodeLensRequest=la={}));var st;(function(f){f.method="codeLens/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(st||(t.CodeLensResolveRequest=st={}));var ca;(function(f){f.method="workspace/codeLens/refresh",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType0(f.method)})(ca||(t.CodeLensRefreshRequest=ca={}));var ua;(function(f){f.method="textDocument/documentLink",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(ua||(t.DocumentLinkRequest=ua={}));var ir;(function(f){f.method="documentLink/resolve",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(ir||(t.DocumentLinkResolveRequest=ir={}));var fa;(function(f){f.method="textDocument/formatting",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(fa||(t.DocumentFormattingRequest=fa={}));var Dr;(function(f){f.method="textDocument/rangeFormatting",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Dr||(t.DocumentRangeFormattingRequest=Dr={}));var da;(function(f){f.method="textDocument/rangesFormatting",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(da||(t.DocumentRangesFormattingRequest=da={}));var Ct;(function(f){f.method="textDocument/onTypeFormatting",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Ct||(t.DocumentOnTypeFormattingRequest=Ct={}));var Xt;(function(f){f.Identifier=1})(Xt||(t.PrepareSupportDefaultBehavior=Xt={}));var ha;(function(f){f.method="textDocument/rename",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(ha||(t.RenameRequest=ha={}));var pa;(function(f){f.method="textDocument/prepareRename",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(pa||(t.PrepareRenameRequest=pa={}));var Yt;(function(f){f.method="workspace/executeCommand",f.messageDirection=e.MessageDirection.clientToServer,f.type=new e.ProtocolRequestType(f.method)})(Yt||(t.ExecuteCommandRequest=Yt={}));var Xn;(function(f){f.method="workspace/applyEdit",f.messageDirection=e.MessageDirection.serverToClient,f.type=new e.ProtocolRequestType("workspace/applyEdit")})(Xn||(t.ApplyWorkspaceEditRequest=Xn={}))})(Ys)),Ys}var pi={},Zu;function XT(){if(Zu)return pi;Zu=1,Object.defineProperty(pi,"__esModule",{value:!0}),pi.createProtocolConnection=void 0;const t=Mn();function e(r,n,i,a){return t.ConnectionStrategy.is(a)&&(a={connectionStrategy:a}),(0,t.createMessageConnection)(r,n,i,a)}return pi.createProtocolConnection=e,pi}var Qu;function YT(){return Qu||(Qu=1,(function(t){var e=fr&&fr.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var c=Object.getOwnPropertyDescriptor(s,o);(!c||("get"in c?!s.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,c)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=fr&&fr.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(Mn(),t),r(gc,t),r(pe(),t),r(HT(),t);var n=XT();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return n.createProtocolConnection}});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(fr)),fr}var ef;function JT(){return ef||(ef=1,(function(t){var e=lr&&lr.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var c=Object.getOwnPropertyDescriptor(s,o);(!c||("get"in c?!s.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return s[o]}}),Object.defineProperty(a,l,c)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=lr&&lr.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const n=ku();r(ku(),t),r(YT(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}t.createProtocolConnection=i})(lr)),lr}var Sa=JT(),Ni;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Ni||(Ni={}));class ZT{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new ji,this.documentPhaseListeners=new ji,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=V.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=he.CancellationToken.None){for(const i of e){const a=i.uri.toString();if(i.state===V.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,V.IndexedReferences);else if(typeof r.validation=="object"){const s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),i.state=V.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=V.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=he.CancellationToken.None){this.currentState=V.Changed;const i=[];for(const l of r){const c=this.langiumDocuments.deleteDocuments(l);for(const u of c)i.push(u.uri),this.cleanUpDeleted(u)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let c=this.langiumDocuments.getDocument(l);c===void 0&&(c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),c.state=V.Changed,this.langiumDocuments.addDocument(c)),this.resetToState(c,V.Changed)}const s=fe(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,V.ComputedScopes)),await this.emitUpdate(a,i),await Ue(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>l.state<V.Validated||!this.buildState.get(l.uri.toString())?.completed||this.resultsAreIncomplete(l,this.updateBuildOptions)).toArray());await this.buildDocuments(o,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return fe(s).filter(o=>!a.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Ni.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case V.Changed:case V.Parsed:this.indexManager.removeContent(e.uri);case V.IndexedContent:e.localSymbols=void 0;case V.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case V.Linked:this.indexManager.removeReferences(e.uri);case V.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case V.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=V.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,V.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,V.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,V.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,V.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,V.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,V.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){for(const s of e)s.state<r&&(await Ue(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));const a=e.filter(s=>s.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Ni.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Ni.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=he.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(nn);if(this.currentState>=e&&e>i.state)return Promise.reject(new Sa.ResponseError(Sa.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${V[i.state]}, requiring ${V[e]}, but workspace state is already ${V[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Sa.ResponseError(Sa.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,c=>{Qe.equals(c.uri,r)&&(o.dispose(),l.dispose(),a(c.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(nn)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(nn):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(nn)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await Ue(n),await s(e,n)}catch(o){if(!Ps(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await Ue(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=fe(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class QT{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new iT,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=jt(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{Qe.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),fe(i)}allElements(e,r){let n=fe(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=he.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=he.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}class eR{constructor(e){this.initialBuildOptions={},this._ready=new mc,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=he.CancellationToken.None){const n=await this.performStartup(e);await Ue(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=fe(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ft.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=Qe.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class tR{buildUnexpectedCharactersMessage(e,r,n,i,a){return Co.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return Co.buildUnableToPopLexerModeMessage(e)}}const rR={mode:"full"};class nR{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=tf(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new We(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=rR){const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(tf(e))return e;const r=Kd(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}}function iR(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Kd(t){return t&&"modes"in t&&"defaultMode"in t}function tf(t){return!iR(t)&&!Kd(t)}function aR(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Z.create(0,0));const a=Hd(t),s=Tc(n),o=lR({lines:a,position:i,options:s});return hR({index:0,tokens:o,position:i})}function sR(t,e){const r=Tc(e),n=Hd(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function Hd(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(lp)}const rf=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,oR=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function lR(t){const e=[];let r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){const a=i===0,s=i===t.lines.length-1;let o=t.lines[i],l=0;if(a&&t.options.start){const u=t.options.start?.exec(o);u&&(l=u.index+u[0].length)}else{const u=t.options.line?.exec(o);u&&(l=u.index+u[0].length)}if(s){const u=t.options.end?.exec(o);u&&(o=o.substring(0,u.index))}if(o=o.substring(0,dR(o)),Gl(o,l)>=o.length){if(e.length>0){const u=Z.create(r,n);e.push({type:"break",content:"",range:K.create(u,u)})}}else{rf.lastIndex=l;const u=rf.exec(o);if(u){const d=u[0],p=u[1],m=Z.create(r,n+l),A=Z.create(r,n+l+d.length);e.push({type:"tag",content:p,range:K.create(m,A)}),l+=d.length,l=Gl(o,l)}if(l<o.length){const d=o.substring(l),p=Array.from(d.matchAll(oR));e.push(...cR(p,d,r,n+l))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function cR(t,e,r,n){const i=[];if(t.length===0){const a=Z.create(r,n),s=Z.create(r,n+e.length);i.push({type:"text",content:e,range:K.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,c=e.substring(a,l);c.length>0&&i.push({type:"text",content:e.substring(a,l),range:K.create(Z.create(r,a+n),Z.create(r,l+n))});let u=c.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:K.create(Z.create(r,a+u+n),Z.create(r,a+u+d.length+n))}),u+=d.length,o.length===4){u+=o[2].length;const p=o[3];i.push({type:"text",content:p,range:K.create(Z.create(r,a+u+n),Z.create(r,a+u+p.length+n))})}else i.push({type:"text",content:"",range:K.create(Z.create(r,a+u+n),Z.create(r,a+u+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:K.create(Z.create(r,a+n),Z.create(r,a+n+s.length))})}return i}const uR=/\S/,fR=/\s*$/;function Gl(t,e){const r=t.substring(e).match(uR);return r?e+r.index:t.length}function dR(t){const e=t.match(fR);if(e&&typeof e.index=="number")return e.index}function hR(t){const e=Z.create(t.position.line,t.position.character);if(t.tokens.length===0)return new nf([],K.create(e,e));const r=[];for(;t.index<t.tokens.length;){const a=pR(t,r[r.length-1]);a&&r.push(a)}const n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new nf(r,K.create(n,i))}function pR(t,e){const r=t.tokens[t.index];if(r.type==="tag")return Yd(t,!1);if(r.type==="text"||r.type==="inline-tag")return Xd(t);mR(r,e),t.index++}function mR(t,e){if(e){const r=new Zd("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function Xd(t){let e=t.tokens[t.index];const r=e;let n=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(gR(t)),n=e,e=t.tokens[t.index];return new jl(i,K.create(r.range.start,n.range.end))}function gR(t){return t.tokens[t.index].type==="inline-tag"?Yd(t,!0):Jd(t)}function Yd(t,e){const r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){const a=Jd(t);return new Zs(n,new jl([a],a.range),e,K.create(r.range.start,a.range.end))}else{const a=Xd(t);return new Zs(n,a,e,K.create(r.range.start,a.range.end))}else{const a=r.range;return new Zs(n,new jl([],a),e,a)}}function Jd(t){const e=t.tokens[t.index++];return new Zd(e.content,e.range)}function Tc(t){if(!t)return Tc({start:"/**",end:"*/",line:"*"});const{start:e,end:r,line:n}=t;return{start:Js(e,!0),end:Js(r,!1),line:Js(n,!0)}}function Js(t,e){if(typeof t=="string"||typeof t=="object"){const r=typeof t=="string"?$s(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}class nf{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=af(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=af(r)+i}return r.trim()}}class Zs{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
152
+ ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=yR(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i}
153
+ ${r}`),this.inline?`{${i}}`:i}}function yR(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){const n=e.indexOf(" ");let i=e;if(n>0){const s=Gl(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??TR(e,i)}}function TR(t,e){try{return ft.parse(t,!0),`[${e}](${t})`}catch{return t}}class jl{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){const n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
154
+ `)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){const i=this.inlines[n],a=this.inlines[n+1];r+=i.toMarkdown(e),a&&a.range.start.line>i.range.start.line&&(r+=`
155
+ `)}return r}}class Zd{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}}function af(t){return t.endsWith(`
156
+ `)?`
157
+ `:`
158
+
159
+ `}class RR{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&sR(r))return aR(r).toMarkdown({renderLink:(i,a)=>this.documentationLinkRenderer(e,i,a),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=jt(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}class vR{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return oT(e)?e.$comment:np(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class ER{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}}class AR{constructor(){this.previousTokenSource=new he.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=Vy();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=he.CancellationToken.None){const i=new mc,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){Ps(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class $R{constructor(e){this.grammarElementIdMap=new fu,this.tokenTypeIdMap=new fu,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of zt(e))r.set(i,{});if(e.$cstNode)for(const i of Ro(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)Fe(o)?s.push(this.dehydrateAstNode(o,r)):ut(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else Fe(a)?n[i]=this.dehydrateAstNode(a,r):ut(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return $f(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),_i(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):Af(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of zt(e))r.set(a,{});let i;if(e.$cstNode)for(const a of Ro(e.$cstNode)){let s;"fullText"in a?(s=new _d(a.fullText),i=s):"content"in a?s=new dc:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)Fe(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):ut(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else Fe(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ut(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),_i(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,c=e.hidden;return new Pl(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of zt(this.grammar))Lh(r)&&this.grammarElementIdMap.set(r,e++)}}function vt(t){return{documentation:{CommentProvider:e=>new vR(e),DocumentationProvider:e=>new RR(e)},parser:{AsyncParser:e=>new ER(e),GrammarConfig:e=>_p(e),LangiumParser:e=>Uy(e),CompletionParser:e=>zy(e),ValueConverter:()=>new Gd,TokenBuilder:()=>new Fd,Lexer:e=>new nR(e),ParserErrorMessageProvider:()=>new Od,LexerErrorMessageProvider:()=>new tR},workspace:{AstNodeLocator:()=>new yT,AstNodeDescriptionProvider:e=>new mT(e),ReferenceDescriptionProvider:e=>new gT(e)},references:{Linker:e=>new Jy(e),NameProvider:()=>new Qy,ScopeProvider:e=>new sT(e),ScopeComputation:e=>new tT(e),References:e=>new eT(e)},serializer:{Hydrator:e=>new $R(e),JsonSerializer:e=>new lT(e)},validation:{DocumentValidator:e=>new dT(e),ValidationRegistry:e=>new uT(e)},shared:()=>t.shared}}function Et(t){return{ServiceRegistry:e=>new cT(e),workspace:{LangiumDocuments:e=>new Yy(e),LangiumDocumentFactory:e=>new Xy(e),DocumentBuilder:e=>new ZT(e),IndexManager:e=>new QT(e),WorkspaceManager:e=>new eR(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new AR,ConfigurationProvider:e=>new RT(e)},profilers:{}}}var sf;(function(t){t.merge=(e,r)=>zi(zi({},e),r)})(sf||(sf={}));function we(t,e,r,n,i,a,s,o,l){const c=[t,e,r,n,i,a,s,o,l].reduce(zi,{});return Qd(c)}const CR=Symbol("isProxy");function Qd(t,e){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===CR?!0:lf(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(lf(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}const of=Symbol();function lf(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===of)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=of;try{t[e]=typeof i=="function"?i(n):Qd(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function zi(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=zi(i,n):t[r]=zi({},n)}else t[r]=n}return t}class SR{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const At={fileSystemProvider:()=>new SR},wR={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},kR={AstReflection:()=>new Nf};function bR(){const t=we(Et(At),kR),e=we(vt({shared:t}),wR);return t.ServiceRegistry.register(e),e}function Vt(t){const e=bR(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ft.parse(`memory:/${r.name??"grammar"}.langium`)),r}var NR=Object.defineProperty,_=(t,e)=>NR(t,"name",{value:e,configurable:!0}),zl;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(zl||(zl={}));var Ul;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(Ul||(Ul={}));var ql;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(ql||(ql={}));var Bl;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Bl||(Bl={}));var Wl;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Wl||(Wl={}));var Vl;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Vl||(Vl={}));var Kl;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(Kl||(Kl={}));var Hl;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(Hl||(Hl={}));var Xl;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Xl||(Xl={}));({...zl.Terminals,...Ul.Terminals,...ql.Terminals,...Bl.Terminals,...Wl.Terminals,...Vl.Terminals,...Hl.Terminals,...Kl.Terminals,...Xl.Terminals});var wa={$type:"Accelerator",name:"name",x:"x",y:"y"},ka={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},mi={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},Qs={$type:"Annotations",x:"x",y:"y"},xt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function _R(t){return nt.isInstance(t,xt.$type)}_(_R,"isArchitecture");var ba={$type:"Axis",label:"label",name:"name"},Xa={$type:"Branch",name:"name",order:"order"};function IR(t){return nt.isInstance(t,Xa.$type)}_(IR,"isBranch");var cf={$type:"Checkout",branch:"branch"},Na={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},eo={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Jr={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function PR(t){return nt.isInstance(t,Jr.$type)}_(PR,"isCommit");var gr={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},_a={$type:"Curve",entries:"entries",label:"label",name:"name"},Ia={$type:"Deaccelerator",name:"name",x:"x",y:"y"},uf={$type:"Decorator",strategy:"strategy"},jr={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},ht={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},to={$type:"Entry",axis:"axis",value:"value"},ff={$type:"Evolution",stages:"stages"},Pa={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},ro={$type:"Evolve",component:"component",target:"target"},$r={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function OR(t){return nt.isInstance(t,$r.$type)}_(OR,"isGitGraph");var gi={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},bi={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function LR(t){return nt.isInstance(t,bi.$type)}_(LR,"isInfo");var yi={$type:"Item",classSelector:"classSelector",name:"name"},no={$type:"Junction",id:"id",in:"in"},Ti={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},Oa={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},yr={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},Zr={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function xR(t){return nt.isInstance(t,Zr.$type)}_(xR,"isMerge");var La={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},io={$type:"Option",name:"name",value:"value"},Qr={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function DR(t){return nt.isInstance(t,Qr.$type)}_(DR,"isPacket");var en={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function MR(t){return nt.isInstance(t,en.$type)}_(MR,"isPacketBlock");var Cr={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function FR(t){return nt.isInstance(t,Cr.$type)}_(FR,"isPie");var Ya={$type:"PieSection",label:"label",value:"value"};function GR(t){return nt.isInstance(t,Ya.$type)}_(GR,"isPieSection");var ao={$type:"Pipeline",components:"components",parent:"parent"},xa={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},Tr={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},so={$type:"Section",classSelector:"classSelector",name:"name"},zr={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},oo={$type:"Size",height:"height",width:"width"},Ur={$type:"Statement"},tn={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function jR(t){return nt.isInstance(t,tn.$type)}_(jR,"isTreemap");var lo={$type:"TreemapRow",indent:"indent",item:"item"},co={$type:"TreeNode",indent:"indent",name:"name"},Ri={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Le={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function zR(t){return nt.isInstance(t,Le.$type)}_(zR,"isWardley");var sn,eh=(sn=class extends Ef{constructor(){super(...arguments),this.types={Accelerator:{name:wa.$type,properties:{name:{name:wa.name},x:{name:wa.x},y:{name:wa.y}},superTypes:[]},Anchor:{name:ka.$type,properties:{evolution:{name:ka.evolution},name:{name:ka.name},visibility:{name:ka.visibility}},superTypes:[]},Annotation:{name:mi.$type,properties:{number:{name:mi.number},text:{name:mi.text},x:{name:mi.x},y:{name:mi.y}},superTypes:[]},Annotations:{name:Qs.$type,properties:{x:{name:Qs.x},y:{name:Qs.y}},superTypes:[]},Architecture:{name:xt.$type,properties:{accDescr:{name:xt.accDescr},accTitle:{name:xt.accTitle},edges:{name:xt.edges,defaultValue:[]},groups:{name:xt.groups,defaultValue:[]},junctions:{name:xt.junctions,defaultValue:[]},services:{name:xt.services,defaultValue:[]},title:{name:xt.title}},superTypes:[]},Axis:{name:ba.$type,properties:{label:{name:ba.label},name:{name:ba.name}},superTypes:[]},Branch:{name:Xa.$type,properties:{name:{name:Xa.name},order:{name:Xa.order}},superTypes:[Ur.$type]},Checkout:{name:cf.$type,properties:{branch:{name:cf.branch}},superTypes:[Ur.$type]},CherryPicking:{name:Na.$type,properties:{id:{name:Na.id},parent:{name:Na.parent},tags:{name:Na.tags,defaultValue:[]}},superTypes:[Ur.$type]},ClassDefStatement:{name:eo.$type,properties:{className:{name:eo.className},styleText:{name:eo.styleText}},superTypes:[]},Commit:{name:Jr.$type,properties:{id:{name:Jr.id},message:{name:Jr.message},tags:{name:Jr.tags,defaultValue:[]},type:{name:Jr.type}},superTypes:[Ur.$type]},Component:{name:gr.$type,properties:{decorator:{name:gr.decorator},evolution:{name:gr.evolution},inertia:{name:gr.inertia,defaultValue:!1},label:{name:gr.label},name:{name:gr.name},visibility:{name:gr.visibility}},superTypes:[]},Curve:{name:_a.$type,properties:{entries:{name:_a.entries,defaultValue:[]},label:{name:_a.label},name:{name:_a.name}},superTypes:[]},Deaccelerator:{name:Ia.$type,properties:{name:{name:Ia.name},x:{name:Ia.x},y:{name:Ia.y}},superTypes:[]},Decorator:{name:uf.$type,properties:{strategy:{name:uf.strategy}},superTypes:[]},Direction:{name:jr.$type,properties:{accDescr:{name:jr.accDescr},accTitle:{name:jr.accTitle},dir:{name:jr.dir},statements:{name:jr.statements,defaultValue:[]},title:{name:jr.title}},superTypes:[$r.$type]},Edge:{name:ht.$type,properties:{lhsDir:{name:ht.lhsDir},lhsGroup:{name:ht.lhsGroup,defaultValue:!1},lhsId:{name:ht.lhsId},lhsInto:{name:ht.lhsInto,defaultValue:!1},rhsDir:{name:ht.rhsDir},rhsGroup:{name:ht.rhsGroup,defaultValue:!1},rhsId:{name:ht.rhsId},rhsInto:{name:ht.rhsInto,defaultValue:!1},title:{name:ht.title}},superTypes:[]},Entry:{name:to.$type,properties:{axis:{name:to.axis,referenceType:ba.$type},value:{name:to.value}},superTypes:[]},Evolution:{name:ff.$type,properties:{stages:{name:ff.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:Pa.$type,properties:{boundary:{name:Pa.boundary},name:{name:Pa.name},secondName:{name:Pa.secondName}},superTypes:[]},Evolve:{name:ro.$type,properties:{component:{name:ro.component},target:{name:ro.target}},superTypes:[]},GitGraph:{name:$r.$type,properties:{accDescr:{name:$r.accDescr},accTitle:{name:$r.accTitle},statements:{name:$r.statements,defaultValue:[]},title:{name:$r.title}},superTypes:[]},Group:{name:gi.$type,properties:{icon:{name:gi.icon},id:{name:gi.id},in:{name:gi.in},title:{name:gi.title}},superTypes:[]},Info:{name:bi.$type,properties:{accDescr:{name:bi.accDescr},accTitle:{name:bi.accTitle},title:{name:bi.title}},superTypes:[]},Item:{name:yi.$type,properties:{classSelector:{name:yi.classSelector},name:{name:yi.name}},superTypes:[]},Junction:{name:no.$type,properties:{id:{name:no.id},in:{name:no.in}},superTypes:[]},Label:{name:Ti.$type,properties:{negX:{name:Ti.negX,defaultValue:!1},negY:{name:Ti.negY,defaultValue:!1},offsetX:{name:Ti.offsetX},offsetY:{name:Ti.offsetY}},superTypes:[]},Leaf:{name:Oa.$type,properties:{classSelector:{name:Oa.classSelector},name:{name:Oa.name},value:{name:Oa.value}},superTypes:[yi.$type]},Link:{name:yr.$type,properties:{arrow:{name:yr.arrow},from:{name:yr.from},fromPort:{name:yr.fromPort},linkLabel:{name:yr.linkLabel},to:{name:yr.to},toPort:{name:yr.toPort}},superTypes:[]},Merge:{name:Zr.$type,properties:{branch:{name:Zr.branch},id:{name:Zr.id},tags:{name:Zr.tags,defaultValue:[]},type:{name:Zr.type}},superTypes:[Ur.$type]},Note:{name:La.$type,properties:{evolution:{name:La.evolution},text:{name:La.text},visibility:{name:La.visibility}},superTypes:[]},Option:{name:io.$type,properties:{name:{name:io.name},value:{name:io.value,defaultValue:!1}},superTypes:[]},Packet:{name:Qr.$type,properties:{accDescr:{name:Qr.accDescr},accTitle:{name:Qr.accTitle},blocks:{name:Qr.blocks,defaultValue:[]},title:{name:Qr.title}},superTypes:[]},PacketBlock:{name:en.$type,properties:{bits:{name:en.bits},end:{name:en.end},label:{name:en.label},start:{name:en.start}},superTypes:[]},Pie:{name:Cr.$type,properties:{accDescr:{name:Cr.accDescr},accTitle:{name:Cr.accTitle},sections:{name:Cr.sections,defaultValue:[]},showData:{name:Cr.showData,defaultValue:!1},title:{name:Cr.title}},superTypes:[]},PieSection:{name:Ya.$type,properties:{label:{name:Ya.label},value:{name:Ya.value}},superTypes:[]},Pipeline:{name:ao.$type,properties:{components:{name:ao.components,defaultValue:[]},parent:{name:ao.parent}},superTypes:[]},PipelineComponent:{name:xa.$type,properties:{evolution:{name:xa.evolution},label:{name:xa.label},name:{name:xa.name}},superTypes:[]},Radar:{name:Tr.$type,properties:{accDescr:{name:Tr.accDescr},accTitle:{name:Tr.accTitle},axes:{name:Tr.axes,defaultValue:[]},curves:{name:Tr.curves,defaultValue:[]},options:{name:Tr.options,defaultValue:[]},title:{name:Tr.title}},superTypes:[]},Section:{name:so.$type,properties:{classSelector:{name:so.classSelector},name:{name:so.name}},superTypes:[yi.$type]},Service:{name:zr.$type,properties:{icon:{name:zr.icon},iconText:{name:zr.iconText},id:{name:zr.id},in:{name:zr.in},title:{name:zr.title}},superTypes:[]},Size:{name:oo.$type,properties:{height:{name:oo.height},width:{name:oo.width}},superTypes:[]},Statement:{name:Ur.$type,properties:{},superTypes:[]},TreeNode:{name:co.$type,properties:{indent:{name:co.indent},name:{name:co.name}},superTypes:[]},TreeView:{name:Ri.$type,properties:{accDescr:{name:Ri.accDescr},accTitle:{name:Ri.accTitle},nodes:{name:Ri.nodes,defaultValue:[]},title:{name:Ri.title}},superTypes:[]},Treemap:{name:tn.$type,properties:{accDescr:{name:tn.accDescr},accTitle:{name:tn.accTitle},title:{name:tn.title},TreemapRows:{name:tn.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:lo.$type,properties:{indent:{name:lo.indent},item:{name:lo.item}},superTypes:[]},Wardley:{name:Le.$type,properties:{accDescr:{name:Le.accDescr},accelerators:{name:Le.accelerators,defaultValue:[]},accTitle:{name:Le.accTitle},anchors:{name:Le.anchors,defaultValue:[]},annotation:{name:Le.annotation,defaultValue:[]},annotations:{name:Le.annotations,defaultValue:[]},components:{name:Le.components,defaultValue:[]},deaccelerators:{name:Le.deaccelerators,defaultValue:[]},evolution:{name:Le.evolution},evolves:{name:Le.evolves,defaultValue:[]},links:{name:Le.links,defaultValue:[]},notes:{name:Le.notes,defaultValue:[]},pipelines:{name:Le.pipelines,defaultValue:[]},size:{name:Le.size},title:{name:Le.title}},superTypes:[]}}}},_(sn,"MermaidAstReflection"),sn),nt=new eh,df,UR=_(()=>df??(df=Vt(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),hf,qR=_(()=>hf??(hf=Vt(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),pf,BR=_(()=>pf??(pf=Vt(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),mf,WR=_(()=>mf??(mf=Vt(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),gf,VR=_(()=>gf??(gf=Vt(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),yf,KR=_(()=>yf??(yf=Vt(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),Tf,HR=_(()=>Tf??(Tf=Vt(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),Rf,XR=_(()=>Rf??(Rf=Vt(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),vf,YR=_(()=>vf??(vf=Vt(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),JR={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ZR={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},QR={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ev={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},tv={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},rv={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},nv={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},iv={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},av={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Kt={AstReflection:_(()=>new eh,"AstReflection")},sv={Grammar:_(()=>UR(),"Grammar"),LanguageMetaData:_(()=>JR,"LanguageMetaData"),parser:{}},ov={Grammar:_(()=>qR(),"Grammar"),LanguageMetaData:_(()=>ZR,"LanguageMetaData"),parser:{}},lv={Grammar:_(()=>BR(),"Grammar"),LanguageMetaData:_(()=>QR,"LanguageMetaData"),parser:{}},cv={Grammar:_(()=>WR(),"Grammar"),LanguageMetaData:_(()=>ev,"LanguageMetaData"),parser:{}},uv={Grammar:_(()=>VR(),"Grammar"),LanguageMetaData:_(()=>tv,"LanguageMetaData"),parser:{}},fv={Grammar:_(()=>KR(),"Grammar"),LanguageMetaData:_(()=>rv,"LanguageMetaData"),parser:{}},dv={Grammar:_(()=>HR(),"Grammar"),LanguageMetaData:_(()=>nv,"LanguageMetaData"),parser:{}},hv={Grammar:_(()=>XR(),"Grammar"),LanguageMetaData:_(()=>iv,"LanguageMetaData"),parser:{}},pv={Grammar:_(()=>YR(),"Grammar"),LanguageMetaData:_(()=>av,"LanguageMetaData"),parser:{}},mv=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,gv=/accTitle[\t ]*:([^\n\r]*)/,yv=/title([\t ][^\n\r]*|)/,Tv={ACC_DESCR:mv,ACC_TITLE:gv,TITLE:yv},on,Fn=(on=class extends Gd{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=Tv[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
160
+ `)}}},_(on,"AbstractMermaidValueConverter"),on),ln,Os=(ln=class extends Fn{runCustomConverter(e,r,n){}},_(ln,"CommonValueConverter"),ln),cn,Ht=(cn=class extends Fd{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},_(cn,"AbstractMermaidTokenBuilder"),cn),un;un=class extends Ht{},_(un,"CommonTokenBuilder");var fn,Rv=(fn=class extends Ht{constructor(){super(["treemap"])}},_(fn,"TreemapTokenBuilder"),fn),vv=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,dn,Ev=(dn=class extends Fn{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=vv.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},_(dn,"TreemapValueConverter"),dn);function th(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}_(th,"registerValidationChecks");var hn,Av=(hn=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},_(hn,"TreemapValidator"),hn),rh={parser:{TokenBuilder:_(()=>new Rv,"TokenBuilder"),ValueConverter:_(()=>new Ev,"ValueConverter")},validation:{TreemapValidator:_(()=>new Av,"TreemapValidator")}};function nh(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),dv,rh);return e.ServiceRegistry.register(r),th(r),{shared:e,Treemap:r}}_(nh,"createTreemapServices");var pn,$v=(pn=class extends Fn{runCustomConverter(e,r,n){if(e.name.toUpperCase()==="LINK_LABEL")return r.substring(1).trim()}},_(pn,"WardleyValueConverter"),pn),ih={parser:{ValueConverter:_(()=>new $v,"ValueConverter")}};function ah(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),pv,ih);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}_(ah,"createWardleyServices");var mn,Cv=(mn=class extends Ht{constructor(){super(["gitGraph"])}},_(mn,"GitGraphTokenBuilder"),mn),sh={parser:{TokenBuilder:_(()=>new Cv,"TokenBuilder"),ValueConverter:_(()=>new Os,"ValueConverter")}};function oh(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),ov,sh);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}_(oh,"createGitGraphServices");var gn,Sv=(gn=class extends Ht{constructor(){super(["info","showInfo"])}},_(gn,"InfoTokenBuilder"),gn),lh={parser:{TokenBuilder:_(()=>new Sv,"TokenBuilder"),ValueConverter:_(()=>new Os,"ValueConverter")}};function ch(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),lv,lh);return e.ServiceRegistry.register(r),{shared:e,Info:r}}_(ch,"createInfoServices");var yn,wv=(yn=class extends Ht{constructor(){super(["packet"])}},_(yn,"PacketTokenBuilder"),yn),uh={parser:{TokenBuilder:_(()=>new wv,"TokenBuilder"),ValueConverter:_(()=>new Os,"ValueConverter")}};function fh(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),cv,uh);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}_(fh,"createPacketServices");var Tn,kv=(Tn=class extends Ht{constructor(){super(["pie","showData"])}},_(Tn,"PieTokenBuilder"),Tn),Rn,bv=(Rn=class extends Fn{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},_(Rn,"PieValueConverter"),Rn),dh={parser:{TokenBuilder:_(()=>new kv,"TokenBuilder"),ValueConverter:_(()=>new bv,"ValueConverter")}};function hh(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),uv,dh);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}_(hh,"createPieServices");var vn,Nv=(vn=class extends Fn{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return r?.length||0;if(e.name==="STRING2")return r.substring(1,r.length-1)}},_(vn,"TreeViewValueConverter"),vn),En,_v=(En=class extends Ht{constructor(){super(["treeView-beta"])}},_(En,"TreeViewTokenBuilder"),En),ph={parser:{TokenBuilder:_(()=>new _v,"TokenBuilder"),ValueConverter:_(()=>new Nv,"ValueConverter")}};function mh(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),hv,ph);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}_(mh,"createTreeViewServices");var An,Iv=(An=class extends Ht{constructor(){super(["architecture"])}},_(An,"ArchitectureTokenBuilder"),An),$n,Pv=($n=class extends Fn{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},_($n,"ArchitectureValueConverter"),$n),gh={parser:{TokenBuilder:_(()=>new Iv,"TokenBuilder"),ValueConverter:_(()=>new Pv,"ValueConverter")}};function yh(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),sv,gh);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}_(yh,"createArchitectureServices");var Cn,Ov=(Cn=class extends Ht{constructor(){super(["radar-beta"])}},_(Cn,"RadarTokenBuilder"),Cn),Th={parser:{TokenBuilder:_(()=>new Ov,"TokenBuilder"),ValueConverter:_(()=>new Os,"ValueConverter")}};function Rh(t=At){const e=we(Et(t),Kt),r=we(vt({shared:e}),fv,Th);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}_(Rh,"createRadarServices");var lt={},Lv={info:_(async()=>{const{createInfoServices:t}=await St(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>Mv);return{createInfoServices:r}},void 0),e=t().Info.parser.LangiumParser;lt.info=e},"info"),packet:_(async()=>{const{createPacketServices:t}=await St(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>Fv);return{createPacketServices:r}},void 0),e=t().Packet.parser.LangiumParser;lt.packet=e},"packet"),pie:_(async()=>{const{createPieServices:t}=await St(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>Gv);return{createPieServices:r}},void 0),e=t().Pie.parser.LangiumParser;lt.pie=e},"pie"),treeView:_(async()=>{const{createTreeViewServices:t}=await St(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>jv);return{createTreeViewServices:r}},void 0),e=t().TreeView.parser.LangiumParser;lt.treeView=e},"treeView"),architecture:_(async()=>{const{createArchitectureServices:t}=await St(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>zv);return{createArchitectureServices:r}},void 0),e=t().Architecture.parser.LangiumParser;lt.architecture=e},"architecture"),gitGraph:_(async()=>{const{createGitGraphServices:t}=await St(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>Uv);return{createGitGraphServices:r}},void 0),e=t().GitGraph.parser.LangiumParser;lt.gitGraph=e},"gitGraph"),radar:_(async()=>{const{createRadarServices:t}=await St(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>qv);return{createRadarServices:r}},void 0),e=t().Radar.parser.LangiumParser;lt.radar=e},"radar"),treemap:_(async()=>{const{createTreemapServices:t}=await St(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>Bv);return{createTreemapServices:r}},void 0),e=t().Treemap.parser.LangiumParser;lt.treemap=e},"treemap"),wardley:_(async()=>{const{createWardleyServices:t}=await St(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>Wv);return{createWardleyServices:r}},void 0),e=t().Wardley.parser.LangiumParser;lt.wardley=e},"wardley")};async function xv(t,e){const r=Lv[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);lt[t]||await r();const i=lt[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new Dv(i);return i.value}_(xv,"parse");var Sn,Dv=(Sn=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(`
161
+ `),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(`
162
+ `);super(`Parsing failed: ${r} ${n}`),this.result=e}},_(Sn,"MermaidParseError"),Sn);const Mv=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:lh,createInfoServices:ch},Symbol.toStringTag,{value:"Module"})),Fv=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:uh,createPacketServices:fh},Symbol.toStringTag,{value:"Module"})),Gv=Object.freeze(Object.defineProperty({__proto__:null,PieModule:dh,createPieServices:hh},Symbol.toStringTag,{value:"Module"})),jv=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:ph,createTreeViewServices:mh},Symbol.toStringTag,{value:"Module"})),zv=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:gh,createArchitectureServices:yh},Symbol.toStringTag,{value:"Module"})),Uv=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:sh,createGitGraphServices:oh},Symbol.toStringTag,{value:"Module"})),qv=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Th,createRadarServices:Rh},Symbol.toStringTag,{value:"Module"})),Bv=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:rh,createTreemapServices:nh},Symbol.toStringTag,{value:"Module"})),Wv=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:ih,createWardleyServices:ah},Symbol.toStringTag,{value:"Module"}));export{xv as p};