cx-viewer 1.0.2 → 1.0.4

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 (1440) hide show
  1. package/README.md +75 -28
  2. package/build.js +15 -0
  3. package/cli.js +108 -38
  4. package/concepts/ar/BodyDiffJSON.md +1 -1
  5. package/concepts/ar/BodyFields.md +30 -33
  6. package/concepts/ar/GlobalSettings.md +165 -167
  7. package/concepts/ar/MainAgent.md +3 -4
  8. package/concepts/ar/ProxySwitch.md +3 -3
  9. package/concepts/ar/QRCode.md +1 -1
  10. package/concepts/ar/ResponseFields.md +29 -41
  11. package/concepts/ar/SubAgent-Search.md +12 -12
  12. package/concepts/ar/Teammate.md +16 -16
  13. package/concepts/ar/ToolsFirst.md +42 -48
  14. package/concepts/ar/TranslateContextPollution.md +9 -9
  15. package/concepts/ar/UltraPlan.md +38 -38
  16. package/concepts/da/BodyDiffJSON.md +2 -2
  17. package/concepts/da/BodyFields.md +30 -33
  18. package/concepts/da/GlobalSettings.md +165 -167
  19. package/concepts/da/MainAgent.md +3 -4
  20. package/concepts/da/ProxySwitch.md +3 -3
  21. package/concepts/da/QRCode.md +1 -1
  22. package/concepts/da/ResponseFields.md +29 -41
  23. package/concepts/da/SubAgent-Search.md +11 -11
  24. package/concepts/da/Teammate.md +16 -16
  25. package/concepts/da/ToolsFirst.md +42 -48
  26. package/concepts/da/TranslateContextPollution.md +9 -9
  27. package/concepts/da/UltraPlan.md +38 -38
  28. package/concepts/de/BodyDiffJSON.md +2 -2
  29. package/concepts/de/BodyFields.md +30 -33
  30. package/concepts/de/GlobalSettings.md +165 -167
  31. package/concepts/de/MainAgent.md +3 -4
  32. package/concepts/de/ProxySwitch.md +3 -3
  33. package/concepts/de/QRCode.md +1 -1
  34. package/concepts/de/ResponseFields.md +29 -41
  35. package/concepts/de/SubAgent-Search.md +11 -11
  36. package/concepts/de/Teammate.md +15 -15
  37. package/concepts/de/ToolsFirst.md +41 -47
  38. package/concepts/de/TranslateContextPollution.md +9 -9
  39. package/concepts/de/UltraPlan.md +38 -38
  40. package/concepts/en/BodyDiffJSON.md +5 -5
  41. package/concepts/en/BodyFields.md +17 -20
  42. package/concepts/en/GlobalSettings.md +49 -51
  43. package/concepts/en/MainAgent.md +8 -8
  44. package/concepts/en/ProxySwitch.md +3 -3
  45. package/concepts/en/QRCode.md +6 -6
  46. package/concepts/en/ResponseFields.md +7 -19
  47. package/concepts/en/SubAgent-Search.md +2 -2
  48. package/concepts/en/Teammate.md +4 -4
  49. package/concepts/en/Tool-apply_patch.md +11 -0
  50. package/concepts/en/Tool-create_goal.md +8 -0
  51. package/concepts/en/Tool-exec.md +88 -0
  52. package/concepts/en/Tool-followup_task.md +10 -0
  53. package/concepts/en/Tool-get_goal.md +5 -0
  54. package/concepts/en/Tool-image_generation.md +5 -0
  55. package/concepts/en/Tool-interrupt_agent.md +9 -0
  56. package/concepts/en/Tool-list_agents.md +9 -0
  57. package/concepts/en/Tool-list_mcp_resource_templates.md +8 -0
  58. package/concepts/en/Tool-list_mcp_resources.md +8 -0
  59. package/concepts/en/Tool-read_mcp_resource.md +10 -0
  60. package/concepts/en/Tool-request_user_input.md +9 -0
  61. package/concepts/en/Tool-send_message.md +10 -0
  62. package/concepts/en/Tool-shell_command.md +12 -0
  63. package/concepts/en/Tool-spawn_agent.md +11 -0
  64. package/concepts/en/Tool-tool_search.md +12 -0
  65. package/concepts/en/Tool-update_goal.md +9 -0
  66. package/concepts/en/Tool-update_plan.md +9 -0
  67. package/concepts/en/Tool-view_image.md +10 -0
  68. package/concepts/en/Tool-wait.md +12 -0
  69. package/concepts/en/Tool-wait_agent.md +9 -0
  70. package/concepts/en/Tool-web_search.md +11 -0
  71. package/concepts/en/Tools.md +29 -58
  72. package/concepts/en/ToolsFirst.md +24 -30
  73. package/concepts/en/TranslateContextPollution.md +10 -38
  74. package/concepts/en/UltraPlan.md +7 -7
  75. package/concepts/es/BodyDiffJSON.md +1 -1
  76. package/concepts/es/BodyFields.md +35 -38
  77. package/concepts/es/GlobalSettings.md +165 -167
  78. package/concepts/es/MainAgent.md +3 -4
  79. package/concepts/es/ProxySwitch.md +3 -3
  80. package/concepts/es/QRCode.md +1 -1
  81. package/concepts/es/ResponseFields.md +28 -40
  82. package/concepts/es/SubAgent-Search.md +12 -12
  83. package/concepts/es/Teammate.md +17 -17
  84. package/concepts/es/ToolsFirst.md +41 -47
  85. package/concepts/es/TranslateContextPollution.md +9 -9
  86. package/concepts/es/UltraPlan.md +38 -38
  87. package/concepts/fr/BodyDiffJSON.md +2 -2
  88. package/concepts/fr/BodyFields.md +35 -38
  89. package/concepts/fr/GlobalSettings.md +165 -167
  90. package/concepts/fr/MainAgent.md +3 -4
  91. package/concepts/fr/ProxySwitch.md +3 -3
  92. package/concepts/fr/QRCode.md +1 -1
  93. package/concepts/fr/ResponseFields.md +25 -37
  94. package/concepts/fr/SubAgent-Search.md +12 -12
  95. package/concepts/fr/Teammate.md +16 -16
  96. package/concepts/fr/ToolsFirst.md +40 -46
  97. package/concepts/fr/TranslateContextPollution.md +9 -9
  98. package/concepts/fr/UltraPlan.md +38 -38
  99. package/concepts/it/BodyDiffJSON.md +2 -2
  100. package/concepts/it/BodyFields.md +35 -38
  101. package/concepts/it/GlobalSettings.md +165 -167
  102. package/concepts/it/MainAgent.md +3 -4
  103. package/concepts/it/ProxySwitch.md +3 -3
  104. package/concepts/it/QRCode.md +1 -1
  105. package/concepts/it/ResponseFields.md +28 -40
  106. package/concepts/it/SubAgent-Search.md +12 -12
  107. package/concepts/it/Teammate.md +17 -17
  108. package/concepts/it/ToolsFirst.md +41 -47
  109. package/concepts/it/TranslateContextPollution.md +9 -9
  110. package/concepts/it/UltraPlan.md +38 -38
  111. package/concepts/ja/BodyDiffJSON.md +1 -1
  112. package/concepts/ja/BodyFields.md +30 -33
  113. package/concepts/ja/GlobalSettings.md +165 -167
  114. package/concepts/ja/MainAgent.md +3 -4
  115. package/concepts/ja/ProxySwitch.md +3 -3
  116. package/concepts/ja/QRCode.md +1 -1
  117. package/concepts/ja/ResponseFields.md +29 -41
  118. package/concepts/ja/SubAgent-Search.md +12 -12
  119. package/concepts/ja/Teammate.md +17 -17
  120. package/concepts/ja/ToolsFirst.md +41 -47
  121. package/concepts/ja/TranslateContextPollution.md +9 -9
  122. package/concepts/ja/UltraPlan.md +38 -38
  123. package/concepts/ko/BodyDiffJSON.md +1 -1
  124. package/concepts/ko/BodyFields.md +30 -33
  125. package/concepts/ko/GlobalSettings.md +165 -167
  126. package/concepts/ko/MainAgent.md +3 -4
  127. package/concepts/ko/ProxySwitch.md +3 -3
  128. package/concepts/ko/QRCode.md +1 -1
  129. package/concepts/ko/ResponseFields.md +29 -41
  130. package/concepts/ko/SubAgent-Search.md +12 -12
  131. package/concepts/ko/Teammate.md +17 -17
  132. package/concepts/ko/ToolsFirst.md +41 -47
  133. package/concepts/ko/TranslateContextPollution.md +9 -9
  134. package/concepts/ko/UltraPlan.md +38 -38
  135. package/concepts/no/BodyDiffJSON.md +2 -2
  136. package/concepts/no/BodyFields.md +30 -33
  137. package/concepts/no/GlobalSettings.md +165 -167
  138. package/concepts/no/MainAgent.md +3 -4
  139. package/concepts/no/ProxySwitch.md +3 -3
  140. package/concepts/no/QRCode.md +1 -1
  141. package/concepts/no/ResponseFields.md +29 -41
  142. package/concepts/no/SubAgent-Search.md +12 -12
  143. package/concepts/no/Teammate.md +17 -17
  144. package/concepts/no/ToolsFirst.md +42 -48
  145. package/concepts/no/TranslateContextPollution.md +9 -9
  146. package/concepts/no/UltraPlan.md +38 -38
  147. package/concepts/pl/BodyDiffJSON.md +2 -2
  148. package/concepts/pl/BodyFields.md +30 -33
  149. package/concepts/pl/GlobalSettings.md +165 -167
  150. package/concepts/pl/MainAgent.md +3 -4
  151. package/concepts/pl/ProxySwitch.md +3 -3
  152. package/concepts/pl/QRCode.md +1 -1
  153. package/concepts/pl/ResponseFields.md +29 -41
  154. package/concepts/pl/SubAgent-Search.md +12 -12
  155. package/concepts/pl/Teammate.md +17 -17
  156. package/concepts/pl/ToolsFirst.md +42 -48
  157. package/concepts/pl/TranslateContextPollution.md +9 -9
  158. package/concepts/pl/UltraPlan.md +38 -38
  159. package/concepts/pt-BR/BodyDiffJSON.md +2 -2
  160. package/concepts/pt-BR/BodyFields.md +30 -33
  161. package/concepts/pt-BR/GlobalSettings.md +165 -167
  162. package/concepts/pt-BR/MainAgent.md +3 -4
  163. package/concepts/pt-BR/ProxySwitch.md +3 -3
  164. package/concepts/pt-BR/QRCode.md +1 -1
  165. package/concepts/pt-BR/ResponseFields.md +29 -41
  166. package/concepts/pt-BR/SubAgent-Search.md +12 -12
  167. package/concepts/pt-BR/Teammate.md +17 -17
  168. package/concepts/pt-BR/ToolsFirst.md +41 -47
  169. package/concepts/pt-BR/TranslateContextPollution.md +9 -9
  170. package/concepts/pt-BR/UltraPlan.md +38 -38
  171. package/concepts/ru/BodyDiffJSON.md +1 -1
  172. package/concepts/ru/BodyFields.md +30 -33
  173. package/concepts/ru/GlobalSettings.md +165 -167
  174. package/concepts/ru/MainAgent.md +3 -4
  175. package/concepts/ru/ProxySwitch.md +3 -3
  176. package/concepts/ru/QRCode.md +1 -1
  177. package/concepts/ru/ResponseFields.md +29 -41
  178. package/concepts/ru/SubAgent-Search.md +12 -12
  179. package/concepts/ru/Teammate.md +17 -17
  180. package/concepts/ru/ToolsFirst.md +41 -47
  181. package/concepts/ru/TranslateContextPollution.md +9 -9
  182. package/concepts/ru/UltraPlan.md +38 -38
  183. package/concepts/th/BodyDiffJSON.md +1 -1
  184. package/concepts/th/BodyFields.md +30 -33
  185. package/concepts/th/GlobalSettings.md +165 -167
  186. package/concepts/th/MainAgent.md +3 -4
  187. package/concepts/th/ProxySwitch.md +3 -3
  188. package/concepts/th/QRCode.md +1 -1
  189. package/concepts/th/ResponseFields.md +29 -41
  190. package/concepts/th/SubAgent-Search.md +12 -12
  191. package/concepts/th/Teammate.md +17 -17
  192. package/concepts/th/ToolsFirst.md +42 -48
  193. package/concepts/th/TranslateContextPollution.md +9 -9
  194. package/concepts/th/UltraPlan.md +38 -38
  195. package/concepts/tr/BodyDiffJSON.md +1 -1
  196. package/concepts/tr/BodyFields.md +30 -33
  197. package/concepts/tr/GlobalSettings.md +165 -167
  198. package/concepts/tr/MainAgent.md +3 -4
  199. package/concepts/tr/ProxySwitch.md +3 -3
  200. package/concepts/tr/QRCode.md +1 -1
  201. package/concepts/tr/ResponseFields.md +29 -41
  202. package/concepts/tr/SubAgent-Search.md +12 -12
  203. package/concepts/tr/Teammate.md +16 -16
  204. package/concepts/tr/ToolsFirst.md +42 -48
  205. package/concepts/tr/TranslateContextPollution.md +9 -9
  206. package/concepts/tr/UltraPlan.md +38 -38
  207. package/concepts/uk/BodyDiffJSON.md +1 -1
  208. package/concepts/uk/BodyFields.md +30 -33
  209. package/concepts/uk/GlobalSettings.md +165 -167
  210. package/concepts/uk/MainAgent.md +3 -4
  211. package/concepts/uk/ProxySwitch.md +3 -3
  212. package/concepts/uk/QRCode.md +1 -1
  213. package/concepts/uk/ResponseFields.md +29 -41
  214. package/concepts/uk/SubAgent-Search.md +12 -12
  215. package/concepts/uk/Teammate.md +17 -17
  216. package/concepts/uk/ToolsFirst.md +42 -48
  217. package/concepts/uk/TranslateContextPollution.md +9 -9
  218. package/concepts/uk/UltraPlan.md +38 -38
  219. package/concepts/zh/BodyDiffJSON.md +4 -4
  220. package/concepts/zh/BodyFields.md +17 -20
  221. package/concepts/zh/GlobalSettings.md +26 -28
  222. package/concepts/zh/MainAgent.md +6 -6
  223. package/concepts/zh/ProxySwitch.md +1 -1
  224. package/concepts/zh/ResponseFields.md +7 -18
  225. package/concepts/zh/SubAgent-Search.md +2 -2
  226. package/concepts/zh/Teammate.md +4 -4
  227. package/concepts/zh/Tool-apply_patch.md +11 -0
  228. package/concepts/zh/Tool-create_goal.md +8 -0
  229. package/concepts/zh/Tool-exec.md +88 -0
  230. package/concepts/zh/Tool-followup_task.md +10 -0
  231. package/concepts/zh/Tool-get_goal.md +5 -0
  232. package/concepts/zh/Tool-image_generation.md +5 -0
  233. package/concepts/zh/Tool-interrupt_agent.md +9 -0
  234. package/concepts/zh/Tool-list_agents.md +9 -0
  235. package/concepts/zh/Tool-list_mcp_resource_templates.md +8 -0
  236. package/concepts/zh/Tool-list_mcp_resources.md +8 -0
  237. package/concepts/zh/Tool-read_mcp_resource.md +10 -0
  238. package/concepts/zh/Tool-request_user_input.md +9 -0
  239. package/concepts/zh/Tool-send_message.md +10 -0
  240. package/concepts/zh/Tool-shell_command.md +12 -0
  241. package/concepts/zh/Tool-spawn_agent.md +11 -0
  242. package/concepts/zh/Tool-tool_search.md +12 -0
  243. package/concepts/zh/Tool-update_goal.md +9 -0
  244. package/concepts/zh/Tool-update_plan.md +9 -0
  245. package/concepts/zh/Tool-view_image.md +10 -0
  246. package/concepts/zh/Tool-wait.md +12 -0
  247. package/concepts/zh/Tool-wait_agent.md +9 -0
  248. package/concepts/zh/Tool-web_search.md +11 -0
  249. package/concepts/zh/Tools.md +29 -58
  250. package/concepts/zh/ToolsFirst.md +21 -27
  251. package/concepts/zh/TranslateContextPollution.md +10 -38
  252. package/concepts/zh/UltraPlan.md +7 -7
  253. package/concepts/zh-TW/BodyFields.md +27 -30
  254. package/concepts/zh-TW/GlobalSettings.md +26 -28
  255. package/concepts/zh-TW/MainAgent.md +0 -1
  256. package/concepts/zh-TW/ProxySwitch.md +22 -22
  257. package/concepts/zh-TW/ResponseFields.md +29 -40
  258. package/concepts/zh-TW/SubAgent-Search.md +12 -12
  259. package/concepts/zh-TW/Teammate.md +16 -16
  260. package/concepts/zh-TW/ToolsFirst.md +41 -47
  261. package/concepts/zh-TW/UltraPlan.md +38 -38
  262. package/dist/assets/App-BZ9oclBj.js +2 -0
  263. package/dist/assets/App-rWON7PuS.css +1 -0
  264. package/dist/assets/MdxEditorPanel-B4lZ7Z_A.js +1 -0
  265. package/dist/assets/MdxEditorPanel-Da_ceLFo.css +1 -0
  266. package/dist/assets/Mobile-B5V_-6Hc.css +1 -0
  267. package/dist/assets/Mobile-C7Hy-TIM.js +1 -0
  268. package/dist/assets/abnfDiagram-VRR7QNED-DYYppIQV.js +1 -0
  269. package/dist/assets/apl-B8ZmNFqK.js +1 -0
  270. package/dist/assets/arc-BT3um7r4.js +1 -0
  271. package/dist/assets/architectureDiagram-ZJ3FMSHR-uweBqnh-.js +1 -0
  272. package/dist/assets/asciiarmor-CIte6N-S.js +1 -0
  273. package/dist/assets/asn1-Ax1-z1nk.js +1 -0
  274. package/dist/assets/asterisk-CLHf-iRz.js +1 -0
  275. package/dist/assets/blockDiagram-677ZJIJ3-DzeI4GyV.js +1 -0
  276. package/dist/assets/brainfuck-CdLnmYpe.js +1 -0
  277. package/dist/assets/c4Diagram-LMCZKHZV-DBI0K7wS.js +1 -0
  278. package/dist/assets/channel-BrN6yx0e.js +1 -0
  279. package/dist/assets/chunk-2Q5K7J3B-DK9JA8Ct.js +1 -0
  280. package/dist/assets/chunk-32BRIVSS-VNg3Ylzs.js +1 -0
  281. package/dist/assets/chunk-5VM5RSS4-DFhufY9o.js +1 -0
  282. package/dist/assets/chunk-EX3LRPZG-B93MHNBT.js +1 -0
  283. package/dist/assets/chunk-JWPE2WC7-C54OW1iN.js +1 -0
  284. package/dist/assets/chunk-MOJQB5TN-lKhWWIDe.js +1 -0
  285. package/dist/assets/chunk-RYQCIY6F-BK2jDXwB.js +1 -0
  286. package/dist/assets/chunk-V7JOEXUC-aLHBmfOc.js +1 -0
  287. package/dist/assets/chunk-VR4S4FIN-Bomuor1h.js +1 -0
  288. package/dist/assets/chunk-XXDRQBXY-BPj05P7g.js +1 -0
  289. package/dist/assets/classDiagram-OUVF2IWQ-COm0X4uJ.js +1 -0
  290. package/dist/assets/classDiagram-v2-EOCWNBFH-COm0X4uJ.js +1 -0
  291. package/dist/assets/clike-BDgEuk0n.js +1 -0
  292. package/dist/assets/clojure-CrPxgQZl.js +1 -0
  293. package/dist/assets/cmake-BknZiLBu.js +1 -0
  294. package/dist/assets/cobol-DN1mHbgw.js +1 -0
  295. package/dist/assets/coffeescript-DTAwRC7M.js +1 -0
  296. package/dist/assets/commonlisp-B4DJ--Bo.js +1 -0
  297. package/dist/assets/cose-bilkent-JH36ORCC-DU44QHSb.js +1 -0
  298. package/dist/assets/crystal-DoipYOOv.js +1 -0
  299. package/dist/assets/css-BeQRP3p5.js +1 -0
  300. package/dist/assets/cynefin-VYW2F7L2-C0dowxsF.js +15 -0
  301. package/dist/assets/cynefinDiagram-TSTJHNR4-C6vNWPUV.js +1 -0
  302. package/dist/assets/cypher-BzELKutH.js +1 -0
  303. package/dist/assets/cytoscape.esm-D0POlJZ1.js +9 -0
  304. package/dist/assets/d-Mh2Rawoc.js +1 -0
  305. package/dist/assets/dagre-VKFMJZFB-aLG4uEb-.js +1 -0
  306. package/dist/assets/defaultLocale-DZ7E7S9R.js +1 -0
  307. package/dist/assets/diagram-FQU43EPY-D5C8GfdU.js +1 -0
  308. package/dist/assets/diagram-G47NLZAW-C9tRw_xi.js +1 -0
  309. package/dist/assets/diagram-NH7WQ7WH-AYxTxwJ2.js +1 -0
  310. package/dist/assets/diagram-OA4YK3LP-BuBE5n9n.js +1 -0
  311. package/dist/assets/diagram-WEI45ONY-Cda7zYeO.js +1 -0
  312. package/dist/assets/diff-B1OtBbfz.js +1 -0
  313. package/dist/assets/dockerfile-Du7niAGi.js +1 -0
  314. package/dist/assets/dtd-So5hjSa8.js +1 -0
  315. package/dist/assets/dylan-Co15g-RX.js +1 -0
  316. package/dist/assets/ebnf-DWrAnno4.js +1 -0
  317. package/dist/assets/ebnfDiagram-CCIWWBDH-DC_OGyoh.js +1 -0
  318. package/dist/assets/ecl-8tbf0rUT.js +1 -0
  319. package/dist/assets/eiffel-BXtlUtEg.js +1 -0
  320. package/dist/assets/elm-BwiUluiH.js +1 -0
  321. package/dist/assets/erDiagram-Q63AITRT-D2G21PVY.js +1 -0
  322. package/dist/assets/erlang-CrHBLi-m.js +1 -0
  323. package/dist/assets/factor-C7nC06Ta.js +1 -0
  324. package/dist/assets/fcl-DKWfryFT.js +1 -0
  325. package/dist/assets/flowDiagram-23GEKE2U-CEQPYHrk.js +1 -0
  326. package/dist/assets/forth-Cg8ASoTj.js +1 -0
  327. package/dist/assets/fortran-BHf_qfFx.js +1 -0
  328. package/dist/assets/ganttDiagram-NO4QXBWP-JStxUtFR.js +1 -0
  329. package/dist/assets/gas-cj_2N_z1.js +1 -0
  330. package/dist/assets/gherkin-BiuTaH40.js +1 -0
  331. package/dist/assets/gitGraphDiagram-IHSO6WYX-BiojPH-V.js +1 -0
  332. package/dist/assets/graph-CnJdn47S.js +1 -0
  333. package/dist/assets/groovy-Bq8cXYUU.js +1 -0
  334. package/dist/assets/haskell-1ANuaeie.js +1 -0
  335. package/dist/assets/haxe-BUNSvWf_.js +1 -0
  336. package/dist/assets/html2canvas.esm-HFdlUwfn.js +20 -0
  337. package/dist/assets/http-DPC2IRQA.js +1 -0
  338. package/dist/assets/idl-DDbIciu_.js +1 -0
  339. package/dist/assets/index-BEyKG3O5.css +1 -0
  340. package/dist/assets/index-BduJoLQ5.js +1 -0
  341. package/dist/assets/index-BqwR8F0v.js +1 -0
  342. package/dist/assets/index-BsycQyrv.js +1 -0
  343. package/dist/assets/index-CFSDxZyA.js +1 -0
  344. package/dist/assets/index-CunNLTHc.js +1 -0
  345. package/dist/assets/index-OGkDFNTK.js +1 -0
  346. package/dist/assets/index-oxOyrL07.js +2 -0
  347. package/dist/assets/index-wvaycTGT.js +1 -0
  348. package/dist/assets/infoDiagram-FWYZ7A6U-Csl_aBIC.js +1 -0
  349. package/dist/assets/init-DMZMl1PR.js +1 -0
  350. package/dist/assets/ishikawaDiagram-FXEZZL3T-CjgGuMwr.js +1 -0
  351. package/dist/assets/javascript-Cet1BUca.js +1 -0
  352. package/dist/assets/journeyDiagram-5HDEW3XC-DUOy1PCq.js +1 -0
  353. package/dist/assets/jszip.min-BxIXdRg4.js +12 -0
  354. package/dist/assets/julia-CdxLCr68.js +1 -0
  355. package/dist/assets/kanban-definition-HUTT4EX6-Cx7GSrSj.js +1 -0
  356. package/dist/assets/katex-CfXf84Fz.js +1 -0
  357. package/dist/assets/layout-CCUE9ZRw.js +1 -0
  358. package/dist/assets/linear-GeBi6jJp.js +1 -0
  359. package/dist/assets/livescript-Bw1Vw7Ae.js +1 -0
  360. package/dist/assets/lua-DM1wbcnc.js +1 -0
  361. package/dist/assets/map-DQeg2hXV.js +1 -0
  362. package/dist/assets/mathematica-BXSv1_O1.js +1 -0
  363. package/dist/assets/mbox-CWY0keg3.js +1 -0
  364. package/dist/assets/mermaid.core-Cy9iVxov.js +7 -0
  365. package/dist/assets/mindmap-definition-LN4V7U3C-CUVxVkK5.js +1 -0
  366. package/dist/assets/mirc-CMLrLVMT.js +1 -0
  367. package/dist/assets/mllike-naqhAFf1.js +1 -0
  368. package/dist/assets/modelica-BvadsaHY.js +1 -0
  369. package/dist/assets/mscgen-DOr-Q10p.js +1 -0
  370. package/dist/assets/mumps-DKTl5Nyj.js +1 -0
  371. package/dist/assets/nginx-DWR90-d1.js +1 -0
  372. package/dist/assets/nsis-ooFGduGn.js +1 -0
  373. package/dist/assets/ntriples-q5jkU4X1.js +1 -0
  374. package/dist/assets/octave-Deu9Ci7_.js +1 -0
  375. package/dist/assets/orbiting-BCD4Vuij.svg +7 -0
  376. package/dist/assets/ordinal-DA-_8pMy.js +1 -0
  377. package/dist/assets/oz-cTQm1aoB.js +1 -0
  378. package/dist/assets/pascal-Oh3VmczP.js +1 -0
  379. package/dist/assets/pegDiagram-2B236MQR-BCF1byLY.js +1 -0
  380. package/dist/assets/perl-BddWF1HQ.js +1 -0
  381. package/dist/assets/pieDiagram-ENE6RG2P-D2cZTo8-.js +1 -0
  382. package/dist/assets/pig-g5ZQNIDr.js +1 -0
  383. package/dist/assets/powershell-CNmQNFVJ.js +1 -0
  384. package/dist/assets/properties-B41DXfv6.js +1 -0
  385. package/dist/assets/protobuf-eEBl31OJ.js +1 -0
  386. package/dist/assets/pug-DRSo4eCK.js +1 -0
  387. package/dist/assets/puppet-ClfRubAD.js +1 -0
  388. package/dist/assets/python-BSflc812.js +1 -0
  389. package/dist/assets/q-BBDx3N9Y.js +1 -0
  390. package/dist/assets/quadrantDiagram-ABIIQ3AL-Bwsn2--F.js +1 -0
  391. package/dist/assets/r-CByC1eO8.js +1 -0
  392. package/dist/assets/railroadDiagram-RFXS5EU6-CLGLpWHs.js +1 -0
  393. package/dist/assets/requirementDiagram-TGXJPOKE-BfmBYwZl.js +1 -0
  394. package/dist/assets/rpm-8t935XkD.js +1 -0
  395. package/dist/assets/ruby-CAgbkLZh.js +1 -0
  396. package/dist/assets/sankeyDiagram-HTMAVEWB-CqZhbyFn.js +1 -0
  397. package/dist/assets/sas-C-JWcRvo.js +1 -0
  398. package/dist/assets/scheme-D7o9RjUX.js +1 -0
  399. package/dist/assets/seqResourceLoaders-Bkh2Rb9i.js +2 -0
  400. package/dist/assets/seqResourceLoaders-Do7Kqg3B.css +41 -0
  401. package/dist/assets/sequenceDiagram-DBY2YBRQ-CcOdXkN2.js +1 -0
  402. package/dist/assets/shell-BXA79DV6.js +1 -0
  403. package/dist/assets/shimmer-BBDejmDf.svg +7 -0
  404. package/dist/assets/sieve-DNwyl0rd.js +1 -0
  405. package/dist/assets/simple-mode-CoQRusFX.js +1 -0
  406. package/dist/assets/sizeCapture-X5ZJPWSS-B4OVmPqu.js +1 -0
  407. package/dist/assets/smalltalk-DggktV6S.js +1 -0
  408. package/dist/assets/solr-D7NRuIPM.js +1 -0
  409. package/dist/assets/sparql-Cr71deJQ.js +1 -0
  410. package/dist/assets/spreadsheet-BMD3tYqw.js +1 -0
  411. package/dist/assets/sql-CbOjXfBR.js +1 -0
  412. package/dist/assets/stateDiagram-2N3HPSRC-Dysun0oO.js +1 -0
  413. package/dist/assets/stateDiagram-v2-6OUMAXLB-BFet8xAz.js +1 -0
  414. package/dist/assets/stex-iDPIkRmr.js +1 -0
  415. package/dist/assets/stylus-nWZizI-c.js +1 -0
  416. package/dist/assets/swift-DOhLK5SG.js +1 -0
  417. package/dist/assets/swimlanes-5IMT3BWC-_30OXwXy.js +2 -0
  418. package/dist/assets/swimlanesDiagram-G3AALYLV-C19viY0G.js +1 -0
  419. package/dist/assets/tcl-CQhJd1WY.js +1 -0
  420. package/dist/assets/textile-D9XqfVtL.js +1 -0
  421. package/dist/assets/tiddlywiki-DfOYgVky.js +1 -0
  422. package/dist/assets/tiki-a0_YLWvV.js +1 -0
  423. package/dist/assets/timeline-definition-FHXFAJF6-X1Xk3onD.js +1 -0
  424. package/dist/assets/toml-ekl3F1YB.js +1 -0
  425. package/dist/assets/troff-Bh_pcXF1.js +1 -0
  426. package/dist/assets/ttcn-M6363IRW.js +1 -0
  427. package/dist/assets/ttcn-cfg-7I2DgJEN.js +1 -0
  428. package/dist/assets/turtle-B5jdxH6D.js +1 -0
  429. package/dist/assets/vb-DM-xPmVv.js +1 -0
  430. package/dist/assets/vbscript-B0qu41Yc.js +1 -0
  431. package/dist/assets/velocity-FCgsuVHf.js +1 -0
  432. package/dist/assets/vendor-antd-Bzi1WuBb.js +17 -0
  433. package/dist/assets/vendor-codemirror-CKTrJd47.js +1 -0
  434. package/dist/assets/vendor-highlight-IFTJ9nxW.js +1 -0
  435. package/dist/assets/vendor-markdown-BN3QLsBu.js +3 -0
  436. package/dist/assets/vendor-mdxeditor-4PbKH6K7.js +2 -0
  437. package/dist/assets/vendor-qrcode-Bnjm0rcu.js +6 -0
  438. package/dist/assets/vendor-react-l0sNRNKZ.js +1 -0
  439. package/dist/assets/vendor-virtuoso-2P4SowHC.js +1 -0
  440. package/dist/assets/vendor-xterm-DckPrCx1.js +37 -0
  441. package/dist/assets/vennDiagram-L72KCM5P-D3fQnGq7.js +1 -0
  442. package/dist/assets/verilog-nrfFvR12.js +1 -0
  443. package/dist/assets/vhdl-WlDXtV-W.js +1 -0
  444. package/dist/assets/wardleyDiagram-EHGQE667-CRhqI6-g.js +1 -0
  445. package/dist/assets/webidl-RIQoSXDx.js +1 -0
  446. package/dist/assets/xquery-BN45G3lJ.js +1 -0
  447. package/dist/assets/xychartDiagram-FW5EYKEG-Cmtgmmtg.js +1 -0
  448. package/dist/assets/yacas-U6gaIVhD.js +1 -0
  449. package/dist/assets/z80-CFe5BHbK.js +1 -0
  450. package/dist/index.html +25 -6
  451. package/dist/voice-packs/default/A_choice_for_your_consideration_sir.MP3 +0 -0
  452. package/dist/voice-packs/default/It_is_done_sir.MP3 +0 -0
  453. package/dist/voice-packs/default/The_plan_awaits_your_approval_sir.MP3 +0 -0
  454. package/dist/voice-packs/default/pack.json +24 -0
  455. package/dist/voice-packs/sanguo/ask.MP3 +0 -0
  456. package/dist/voice-packs/sanguo/end.MP3 +0 -0
  457. package/dist/voice-packs/sanguo/pack.json +24 -0
  458. package/dist/voice-packs/sanguo/plan.MP3 +0 -0
  459. package/electron/diag.js +110 -0
  460. package/electron/main.js +1432 -0
  461. package/electron/menu-model.js +107 -0
  462. package/electron/tab-bar.html +575 -0
  463. package/electron/tab-content-preload.js +66 -0
  464. package/electron/tab-preload.js +24 -0
  465. package/electron/tab-worker.js +142 -0
  466. package/electron/window-state.js +60 -0
  467. package/electron/workspace-preload.js +19 -0
  468. package/findcx.js +4 -0
  469. package/i18n.js +3 -423
  470. package/index.html +30 -0
  471. package/interceptor.js +144 -70
  472. package/jsconfig.json +25 -0
  473. package/lib/approval-reviewer.js +23 -0
  474. package/lib/appserver-bridge.js +1753 -237
  475. package/lib/ask-bridge.js +5 -5
  476. package/lib/cli-args.js +57 -0
  477. package/lib/codex-config.js +157 -18
  478. package/lib/context-watcher.js +6 -65
  479. package/lib/delta-reconstructor.js +74 -52
  480. package/lib/ensure-hooks.js +37 -30
  481. package/lib/interceptor-core.js +490 -43
  482. package/lib/log-watcher.js +3 -8
  483. package/lib/main-agent-entry.js +68 -0
  484. package/lib/openai-body.js +95 -0
  485. package/lib/otel-adapter.js +3 -2
  486. package/lib/otel-receiver.js +1 -2
  487. package/lib/perm-bridge.js +84 -44
  488. package/lib/proxy-env.js +45 -1
  489. package/lib/sdk-adapter.js +241 -51
  490. package/lib/sdk-manager.js +523 -370
  491. package/lib/skills-api.js +364 -0
  492. package/lib/stats-worker.js +21 -21
  493. package/lib/token-usage.js +29 -0
  494. package/lib/updater.js +3 -7
  495. package/package.json +27 -6
  496. package/plugins/.gitkeep +0 -0
  497. package/plugins/README.md +8 -0
  498. package/proxy.js +187 -241
  499. package/pty-manager.js +17 -1
  500. package/public/favicon.ico +0 -0
  501. package/public/voice-packs/default/A_choice_for_your_consideration_sir.MP3 +0 -0
  502. package/public/voice-packs/default/It_is_done_sir.MP3 +0 -0
  503. package/public/voice-packs/default/The_plan_awaits_your_approval_sir.MP3 +0 -0
  504. package/public/voice-packs/default/pack.json +24 -0
  505. package/public/voice-packs/sanguo/ask.MP3 +0 -0
  506. package/public/voice-packs/sanguo/end.MP3 +0 -0
  507. package/public/voice-packs/sanguo/pack.json +24 -0
  508. package/public/voice-packs/sanguo/plan.MP3 +0 -0
  509. package/scripts/check-no-control-bytes.js +130 -0
  510. package/scripts/check-sign-config.sh +85 -0
  511. package/scripts/gen-default-voicepack.js +176 -0
  512. package/scripts/mac-sign.sh +47 -0
  513. package/scripts/npm-pack-dry-run.mjs +20 -0
  514. package/server/lib/approval-modal-prefs.js +72 -0
  515. package/server/lib/context-rules.js +70 -0
  516. package/server/lib/delta-reconstructor.js +403 -0
  517. package/server/lib/tools-xml-formatter.js +91 -0
  518. package/server/lib/voice-pack-events.js +79 -0
  519. package/server.js +420 -86
  520. package/src/App.jsx +638 -0
  521. package/src/App.module.css +1088 -0
  522. package/src/AppBase.jsx +2803 -0
  523. package/src/Mobile.jsx +1348 -0
  524. package/src/components/approval/ApprovalModal.jsx +319 -0
  525. package/src/components/approval/ApprovalModal.module.css +160 -0
  526. package/src/components/approval/ToolApprovalPanel.jsx +111 -0
  527. package/src/components/approval/ToolApprovalPanel.module.css +250 -0
  528. package/src/components/chat/ApprovalPortalContext.js +26 -0
  529. package/src/components/chat/AskQuestionForm.jsx +279 -0
  530. package/src/components/chat/AskTimeoutCountdown.jsx +113 -0
  531. package/src/components/chat/ChatInputBar.jsx +584 -0
  532. package/src/components/chat/ChatInputBar.module.css +656 -0
  533. package/src/components/chat/ChatMessage.jsx +1587 -0
  534. package/src/components/chat/ChatMessage.module.css +1560 -0
  535. package/src/components/chat/ChatView.jsx +3533 -0
  536. package/src/components/chat/ChatView.module.css +418 -0
  537. package/src/components/chat/DiffView.jsx +111 -0
  538. package/src/components/chat/DiffView.module.css +141 -0
  539. package/src/components/chat/RoleFilterBar.jsx +35 -0
  540. package/src/components/chat/RoleFilterBar.module.css +62 -0
  541. package/src/components/chat/controllers/askFlowController.js +789 -0
  542. package/src/components/chat/controllers/permissionController.js +84 -0
  543. package/src/components/chat/controllers/ptyPromptController.js +166 -0
  544. package/src/components/chat/controllers/scrollHighlightController.js +50 -0
  545. package/src/components/chat/controllers/splitDragController.js +135 -0
  546. package/src/components/chat/controllers/toolFileChangeController.js +216 -0
  547. package/src/components/chat/interactionOwnership.js +106 -0
  548. package/src/components/chat/uploadDeferLogic.js +46 -0
  549. package/src/components/common/ConceptHelp.jsx +97 -0
  550. package/src/components/common/ConceptHelp.module.css +151 -0
  551. package/src/components/common/ConfirmRemoveButton.jsx +78 -0
  552. package/src/components/common/CountryFlag.jsx +105 -0
  553. package/src/components/common/CountryFlag.module.css +36 -0
  554. package/src/components/common/DingTalkIcon.jsx +20 -0
  555. package/src/components/common/DiscordIcon.jsx +21 -0
  556. package/src/components/common/FeishuIcon.jsx +23 -0
  557. package/src/components/common/HoverPreviewTip.jsx +62 -0
  558. package/src/components/common/HoverPreviewTip.module.css +21 -0
  559. package/src/components/common/ImageLightbox.jsx +244 -0
  560. package/src/components/common/ImageLightbox.module.css +120 -0
  561. package/src/components/common/MemoryDetailModal.jsx +75 -0
  562. package/src/components/common/OpenFolderIcon.jsx +53 -0
  563. package/src/components/common/OpenFolderIcon.module.css +7 -0
  564. package/src/components/common/PanelResizer.jsx +48 -0
  565. package/src/components/common/PanelResizer.module.css +11 -0
  566. package/src/components/common/QuickAutoApproveRows.jsx +66 -0
  567. package/src/components/common/RefreshIcon.jsx +50 -0
  568. package/src/components/common/RefreshIcon.module.css +26 -0
  569. package/src/components/common/SnapLineOverlay.jsx +47 -0
  570. package/src/components/common/SnapLineOverlay.module.css +31 -0
  571. package/src/components/common/ToolsHelp.jsx +113 -0
  572. package/src/components/common/ToolsHelp.module.css +85 -0
  573. package/src/components/common/WeComIcon.jsx +22 -0
  574. package/src/components/common/quickMenuIcons.jsx +99 -0
  575. package/src/components/common/sharedChrome.module.css +274 -0
  576. package/src/components/dashboard/AppHeader.jsx +2085 -0
  577. package/src/components/dashboard/AppHeader.module.css +676 -0
  578. package/src/components/dashboard/CachePopoverContent.jsx +538 -0
  579. package/src/components/dashboard/CachePopoverContent.module.css +191 -0
  580. package/src/components/dashboard/ContextTab.jsx +769 -0
  581. package/src/components/dashboard/ContextTab.module.css +565 -0
  582. package/src/components/dashboard/DetailPanel.jsx +813 -0
  583. package/src/components/dashboard/DetailPanel.module.css +513 -0
  584. package/src/components/dashboard/LiveTagPopover.jsx +89 -0
  585. package/src/components/dashboard/LiveTagPopover.module.css +67 -0
  586. package/src/components/dashboard/RequestList.jsx +146 -0
  587. package/src/components/dashboard/RequestList.module.css +146 -0
  588. package/src/components/dashboard/TeamSessionPanel.jsx +584 -0
  589. package/src/components/dashboard/TeamSessionPanel.module.css +457 -0
  590. package/src/components/dashboard/UsageWindowPill.jsx +166 -0
  591. package/src/components/dashboard/UsageWindowPill.module.css +140 -0
  592. package/src/components/dashboard/WorkflowRunsPanel.jsx +108 -0
  593. package/src/components/dashboard/WorkflowRunsPanel.module.css +72 -0
  594. package/src/components/dashboard/WorkspaceList.jsx +410 -0
  595. package/src/components/dashboard/WorkspaceList.module.css +254 -0
  596. package/src/components/files/FileContentView.jsx +1013 -0
  597. package/src/components/files/FileContentView.module.css +418 -0
  598. package/src/components/files/FileExplorer.jsx +937 -0
  599. package/src/components/files/FileExplorer.module.css +173 -0
  600. package/src/components/files/MdxEditorPanel.base.css +9 -0
  601. package/src/components/files/MdxEditorPanel.jsx +181 -0
  602. package/src/components/files/MdxEditorPanel.module.css +917 -0
  603. package/src/components/git/DiffMiniMap.jsx +98 -0
  604. package/src/components/git/DiffMiniMap.module.css +17 -0
  605. package/src/components/git/FullFileDiffView.jsx +265 -0
  606. package/src/components/git/FullFileDiffView.module.css +176 -0
  607. package/src/components/git/GitChanges.jsx +461 -0
  608. package/src/components/git/GitChanges.module.css +337 -0
  609. package/src/components/git/GitDiffView.jsx +161 -0
  610. package/src/components/git/GitDiffView.module.css +205 -0
  611. package/src/components/mobile/MobileDrawerCloseButton.jsx +18 -0
  612. package/src/components/mobile/MobileFileExplorer.jsx +231 -0
  613. package/src/components/mobile/MobileFileExplorer.module.css +171 -0
  614. package/src/components/mobile/MobileGitDiff.jsx +293 -0
  615. package/src/components/mobile/MobileGitDiff.module.css +317 -0
  616. package/src/components/mobile/MobileStats.jsx +211 -0
  617. package/src/components/mobile/MobileStats.module.css +75 -0
  618. package/src/components/settings/ImAppendSystemModal.jsx +104 -0
  619. package/src/components/settings/ImConversationModal.jsx +328 -0
  620. package/src/components/settings/ImConversationModal.module.css +49 -0
  621. package/src/components/settings/ImPlatformSettings.jsx +453 -0
  622. package/src/components/settings/ImPlatformSettings.module.css +110 -0
  623. package/src/components/settings/ImSkillsModal.jsx +94 -0
  624. package/src/components/settings/ImStatusChip.jsx +80 -0
  625. package/src/components/settings/ImStatusChip.module.css +36 -0
  626. package/src/components/settings/MessagingModal.jsx +65 -0
  627. package/src/components/settings/MessagingModal.module.css +95 -0
  628. package/src/components/settings/ModelPromptTabs.jsx +118 -0
  629. package/src/components/settings/PluginModal.jsx +423 -0
  630. package/src/components/settings/PluginModal.module.css +136 -0
  631. package/src/components/settings/PreferencesForm.jsx +104 -0
  632. package/src/components/settings/PreferencesForm.module.css +27 -0
  633. package/src/components/settings/ProcessModal.jsx +175 -0
  634. package/src/components/settings/ProcessModal.module.css +21 -0
  635. package/src/components/settings/ProjectAliasEditor.jsx +138 -0
  636. package/src/components/settings/ProjectAliasEditor.module.css +87 -0
  637. package/src/components/settings/ProjectPrefsManagerModal.jsx +123 -0
  638. package/src/components/settings/ProjectPrefsManagerModal.module.css +52 -0
  639. package/src/components/settings/ProxyModal.jsx +286 -0
  640. package/src/components/settings/ProxyModal.module.css +141 -0
  641. package/src/components/settings/SkillsManagerModal.jsx +143 -0
  642. package/src/components/settings/SkillsManagerModal.module.css +143 -0
  643. package/src/components/settings/SystemTextModal.jsx +312 -0
  644. package/src/components/settings/SystemTextModal.module.css +331 -0
  645. package/src/components/settings/VoicePackSettings.jsx +319 -0
  646. package/src/components/settings/VoicePackSettings.module.css +151 -0
  647. package/src/components/settings/imPlatforms.js +177 -0
  648. package/src/components/terminal/CustomUltraplanEditModal.jsx +227 -0
  649. package/src/components/terminal/CustomUltraplanEditModal.module.css +189 -0
  650. package/src/components/terminal/PresetExpertPickerModal.jsx +116 -0
  651. package/src/components/terminal/PresetExpertPickerModal.module.css +90 -0
  652. package/src/components/terminal/PresetModal.jsx +118 -0
  653. package/src/components/terminal/ScratchTerminal.jsx +359 -0
  654. package/src/components/terminal/TerminalPanel.jsx +2021 -0
  655. package/src/components/terminal/TerminalPanel.module.css +872 -0
  656. package/src/components/terminal/TerminalWsContext.jsx +226 -0
  657. package/src/components/terminal/UltraPlanModal.jsx +328 -0
  658. package/src/components/terminal/UltraPlanModal.module.css +527 -0
  659. package/src/components/terminal/UltraplanExpertManagerModal.jsx +114 -0
  660. package/src/components/terminal/UltraplanExpertManagerModal.module.css +91 -0
  661. package/src/components/terminal/UltraplanPanel.jsx +307 -0
  662. package/src/components/terminal/UltraplanPanel.module.css +540 -0
  663. package/src/components/terminal/terminalThemes.js +33 -0
  664. package/src/components/viewers/ImageViewer.jsx +288 -0
  665. package/src/components/viewers/ImageViewer.module.css +203 -0
  666. package/src/components/viewers/JsonViewer.jsx +40 -0
  667. package/src/components/viewers/JsonViewer.module.css +9 -0
  668. package/src/components/viewers/LogTable.jsx +131 -0
  669. package/src/components/viewers/MarkdownBlock.jsx +112 -0
  670. package/src/components/viewers/MarkdownBlock.module.css +157 -0
  671. package/src/components/viewers/ToolResultView.jsx +389 -0
  672. package/src/components/viewers/ToolResultView.module.css +108 -0
  673. package/src/components/viewers/WebResultsView.jsx +74 -0
  674. package/src/components/viewers/WebResultsView.module.css +85 -0
  675. package/src/components/viewers/WorkflowLiveHud.jsx +153 -0
  676. package/src/components/viewers/WorkflowLiveHud.module.css +256 -0
  677. package/src/components/viewers/WorkflowPanel.jsx +243 -0
  678. package/src/components/viewers/WorkflowPanel.module.css +265 -0
  679. package/src/components/viewers/WorkflowTimeline.jsx +83 -0
  680. package/src/components/viewers/WorkflowTimeline.module.css +116 -0
  681. package/src/contexts/SettingsContext.jsx +140 -0
  682. package/src/env.js +54 -0
  683. package/src/global.css +607 -0
  684. package/src/hooks/useMarkdownExport.js +146 -0
  685. package/src/hooks/useMermaidRender.js +193 -0
  686. package/src/hooks/useProjectAlias.js +29 -0
  687. package/src/hooks/useSessionStoragePersistedSet.js +41 -0
  688. package/src/i18n/mdxTranslations.js +472 -0
  689. package/src/i18n.js +12409 -0
  690. package/src/img/ccv-logo.png +0 -0
  691. package/src/img/codex/entrance.svg +7 -0
  692. package/src/img/codex/exit.svg +7 -0
  693. package/src/img/codex/orbiting.svg +7 -0
  694. package/src/img/codex/shimmer.svg +7 -0
  695. package/src/img/codex/thinking.svg +7 -0
  696. package/src/img/codex/tickle.svg +7 -0
  697. package/src/img/codex/waiting.svg +7 -0
  698. package/src/img/codex/writing.svg +7 -0
  699. package/src/img/default-avatar.svg +1 -0
  700. package/src/img/default-model-avatar.svg +1 -0
  701. package/src/img/loading-pet.gif +0 -0
  702. package/src/img/model-codex.svg +2 -0
  703. package/src/img/model-deepseek.svg +2 -0
  704. package/src/img/model-gemini.svg +2 -0
  705. package/src/img/model-glm.svg +2 -0
  706. package/src/img/model-kimi.svg +2 -0
  707. package/src/img/model-minimax.svg +2 -0
  708. package/src/img/model-openai.svg +2 -0
  709. package/src/img/model-qwen.svg +2 -0
  710. package/src/img/teammates/DESIGN.md +165 -0
  711. package/src/img/teammates/analyst.svg +32 -0
  712. package/src/img/teammates/auditor.svg +28 -0
  713. package/src/img/teammates/builder.svg +33 -0
  714. package/src/img/teammates/default.svg +25 -0
  715. package/src/img/teammates/designer.svg +25 -0
  716. package/src/img/teammates/executor.svg +31 -0
  717. package/src/img/teammates/expert.svg +30 -0
  718. package/src/img/teammates/explorer.svg +30 -0
  719. package/src/img/teammates/implementer.svg +34 -0
  720. package/src/img/teammates/investigator.svg +29 -0
  721. package/src/img/teammates/marvel/analyst.svg +26 -0
  722. package/src/img/teammates/marvel/auditor.svg +28 -0
  723. package/src/img/teammates/marvel/builder.svg +15 -0
  724. package/src/img/teammates/marvel/default.svg +25 -0
  725. package/src/img/teammates/marvel/designer.svg +21 -0
  726. package/src/img/teammates/marvel/executor.svg +25 -0
  727. package/src/img/teammates/marvel/expert.svg +31 -0
  728. package/src/img/teammates/marvel/explorer.svg +22 -0
  729. package/src/img/teammates/marvel/implementer.svg +30 -0
  730. package/src/img/teammates/marvel/investigator.svg +21 -0
  731. package/src/img/teammates/marvel/researcher.svg +30 -0
  732. package/src/img/teammates/marvel/reviewer.svg +21 -0
  733. package/src/img/teammates/marvel/scanner.svg +23 -0
  734. package/src/img/teammates/marvel/security.svg +30 -0
  735. package/src/img/teammates/marvel/tracer.svg +19 -0
  736. package/src/img/teammates/marvel/translator.svg +24 -0
  737. package/src/img/teammates/marvel/worker.svg +16 -0
  738. package/src/img/teammates/researcher.svg +35 -0
  739. package/src/img/teammates/reviewer.svg +23 -0
  740. package/src/img/teammates/scanner.svg +31 -0
  741. package/src/img/teammates/security.svg +31 -0
  742. package/src/img/teammates/tracer.svg +30 -0
  743. package/src/img/teammates/translator.svg +32 -0
  744. package/src/img/teammates/worker.svg +29 -0
  745. package/src/main.jsx +30 -0
  746. package/src/tokenInterceptor.js +60 -0
  747. package/src/utils/apiUrl.js +26 -0
  748. package/src/utils/approvalReviewerOptions.js +27 -0
  749. package/src/utils/askFallback.js +21 -0
  750. package/src/utils/askOptionDesc.js +55 -0
  751. package/src/utils/askPortalMatcher.js +54 -0
  752. package/src/utils/autoApproveOptions.js +23 -0
  753. package/src/utils/avatarAnimationPostPass.js +46 -0
  754. package/src/utils/builtinPresets.js +18 -0
  755. package/src/utils/clearCheckpoint.js +154 -0
  756. package/src/utils/commandValidator.js +45 -0
  757. package/src/utils/contentFilter.js +675 -0
  758. package/src/utils/contextRaw.js +17 -0
  759. package/src/utils/contextSidebarNavigation.js +16 -0
  760. package/src/utils/conversationEntryNormalize.js +497 -0
  761. package/src/utils/displayScaleHelper.js +47 -0
  762. package/src/utils/entry-slim.js +594 -0
  763. package/src/utils/entryCache.js +179 -0
  764. package/src/utils/errorReport.js +40 -0
  765. package/src/utils/fileExpandedPathsStorage.js +70 -0
  766. package/src/utils/fileIcons.jsx +36 -0
  767. package/src/utils/fileOpen.js +37 -0
  768. package/src/utils/formatters.js +48 -0
  769. package/src/utils/gitApi.js +50 -0
  770. package/src/utils/gitTreeBuilder.js +19 -0
  771. package/src/utils/helpers.js +462 -0
  772. package/src/utils/identityHeal.js +83 -0
  773. package/src/utils/imOrigin.js +24 -0
  774. package/src/utils/imTr.js +7 -0
  775. package/src/utils/imageCompress.js +83 -0
  776. package/src/utils/imageDownscale.js +28 -0
  777. package/src/utils/imageResize.js +112 -0
  778. package/src/utils/ingestPipeline.js +47 -0
  779. package/src/utils/lazyWithReload.js +53 -0
  780. package/src/utils/markdown.js +30 -0
  781. package/src/utils/markdownIncremental.js +39 -0
  782. package/src/utils/markdownProfiler.js +113 -0
  783. package/src/utils/mdExtensionDetect.js +64 -0
  784. package/src/utils/memoryLinkParser.js +44 -0
  785. package/src/utils/modalMask.js +15 -0
  786. package/src/utils/monotime.js +6 -0
  787. package/src/utils/pinnedMenu.js +55 -0
  788. package/src/utils/presetShortcuts.js +14 -0
  789. package/src/utils/projectAlias.js +135 -0
  790. package/src/utils/promptClassifier.js +111 -0
  791. package/src/utils/promptDetect.js +196 -0
  792. package/src/utils/promptNav.js +60 -0
  793. package/src/utils/ptyChunkBuilder.js +251 -0
  794. package/src/utils/quickMenuHoverIntent.js +35 -0
  795. package/src/utils/rateLimitParser.js +249 -0
  796. package/src/utils/readResultPool.js +106 -0
  797. package/src/utils/refreshCachedItemProp.js +32 -0
  798. package/src/utils/requestTools.js +19 -0
  799. package/src/utils/requestType.js +284 -0
  800. package/src/utils/resizeCalc.js +21 -0
  801. package/src/utils/resolveLocalized.js +17 -0
  802. package/src/utils/seqResourceLoaders.js +79 -0
  803. package/src/utils/sessionManager.js +694 -0
  804. package/src/utils/sessionMerge.js +290 -0
  805. package/src/utils/skillModalController.js +111 -0
  806. package/src/utils/skillsParser.js +116 -0
  807. package/src/utils/slashCommandLabels.js +80 -0
  808. package/src/utils/splitDragCalc.js +73 -0
  809. package/src/utils/stickyBottomController.js +643 -0
  810. package/src/utils/svgSanitize.js +48 -0
  811. package/src/utils/systemTags.js +47 -0
  812. package/src/utils/tCodex.js +20 -0
  813. package/src/utils/teamModalBuilder.js +347 -0
  814. package/src/utils/teamSessionParser.js +186 -0
  815. package/src/utils/teammateAvatars.js +194 -0
  816. package/src/utils/teammateDetector.js +106 -0
  817. package/src/utils/termDiag.js +114 -0
  818. package/src/utils/terminalClipboard.js +117 -0
  819. package/src/utils/terminalWriteQueue.js +398 -0
  820. package/src/utils/thinkingMerge.js +49 -0
  821. package/src/utils/tokenUsage.js +1 -0
  822. package/src/utils/toolCatalog.js +31 -0
  823. package/src/utils/toolNameAliases.js +13 -0
  824. package/src/utils/toolResultBuilder.js +312 -0
  825. package/src/utils/toolResultClassifier.js +16 -0
  826. package/src/utils/toolResultCore.js +161 -0
  827. package/src/utils/toolsDiff.js +44 -0
  828. package/src/utils/toolsXmlFormatter.js +3 -0
  829. package/src/utils/ultraplanController.js +109 -0
  830. package/src/utils/ultraplanExperts.js +86 -0
  831. package/src/utils/ultraplanTemplates.js +152 -0
  832. package/src/utils/userImageRefs.js +49 -0
  833. package/src/utils/voicePackPlayer.js +233 -0
  834. package/src/utils/webResultGrouping.js +111 -0
  835. package/src/utils/workflowFormat.js +52 -0
  836. package/src/utils/workflowRuns.js +118 -0
  837. package/src/utils/workflowStore.js +94 -0
  838. package/vite.config.js +106 -0
  839. package/concepts/ar/CacheRebuild.md +0 -36
  840. package/concepts/ar/KVCacheContent.md +0 -49
  841. package/concepts/ar/Tool-Agent.md +0 -125
  842. package/concepts/ar/Tool-AskUserQuestion.md +0 -75
  843. package/concepts/ar/Tool-Bash.md +0 -167
  844. package/concepts/ar/Tool-Edit.md +0 -46
  845. package/concepts/ar/Tool-EnterPlanMode.md +0 -128
  846. package/concepts/ar/Tool-EnterWorktree.md +0 -56
  847. package/concepts/ar/Tool-ExitPlanMode.md +0 -62
  848. package/concepts/ar/Tool-Glob.md +0 -39
  849. package/concepts/ar/Tool-Grep.md +0 -57
  850. package/concepts/ar/Tool-NotebookEdit.md +0 -33
  851. package/concepts/ar/Tool-Read.md +0 -56
  852. package/concepts/ar/Tool-SendMessage.md +0 -41
  853. package/concepts/ar/Tool-Skill.md +0 -56
  854. package/concepts/ar/Tool-Task.md +0 -51
  855. package/concepts/ar/Tool-TaskCreate.md +0 -78
  856. package/concepts/ar/Tool-TaskGet.md +0 -56
  857. package/concepts/ar/Tool-TaskList.md +0 -56
  858. package/concepts/ar/Tool-TaskOutput.md +0 -40
  859. package/concepts/ar/Tool-TaskStop.md +0 -32
  860. package/concepts/ar/Tool-TaskUpdate.md +0 -123
  861. package/concepts/ar/Tool-TeamCreate.md +0 -38
  862. package/concepts/ar/Tool-TeamDelete.md +0 -30
  863. package/concepts/ar/Tool-WebFetch.md +0 -55
  864. package/concepts/ar/Tool-WebSearch.md +0 -58
  865. package/concepts/ar/Tool-Write.md +0 -39
  866. package/concepts/ar/Tool-executeCode.md +0 -41
  867. package/concepts/ar/Tool-getDiagnostics.md +0 -32
  868. package/concepts/ar/Tools.md +0 -67
  869. package/concepts/da/CacheRebuild.md +0 -36
  870. package/concepts/da/KVCacheContent.md +0 -49
  871. package/concepts/da/Tool-Agent.md +0 -125
  872. package/concepts/da/Tool-AskUserQuestion.md +0 -75
  873. package/concepts/da/Tool-Bash.md +0 -167
  874. package/concepts/da/Tool-Edit.md +0 -46
  875. package/concepts/da/Tool-EnterPlanMode.md +0 -128
  876. package/concepts/da/Tool-EnterWorktree.md +0 -56
  877. package/concepts/da/Tool-ExitPlanMode.md +0 -62
  878. package/concepts/da/Tool-Glob.md +0 -39
  879. package/concepts/da/Tool-Grep.md +0 -57
  880. package/concepts/da/Tool-NotebookEdit.md +0 -33
  881. package/concepts/da/Tool-Read.md +0 -56
  882. package/concepts/da/Tool-SendMessage.md +0 -41
  883. package/concepts/da/Tool-Skill.md +0 -56
  884. package/concepts/da/Tool-Task.md +0 -51
  885. package/concepts/da/Tool-TaskCreate.md +0 -78
  886. package/concepts/da/Tool-TaskGet.md +0 -56
  887. package/concepts/da/Tool-TaskList.md +0 -56
  888. package/concepts/da/Tool-TaskOutput.md +0 -40
  889. package/concepts/da/Tool-TaskStop.md +0 -32
  890. package/concepts/da/Tool-TaskUpdate.md +0 -123
  891. package/concepts/da/Tool-TeamCreate.md +0 -38
  892. package/concepts/da/Tool-TeamDelete.md +0 -30
  893. package/concepts/da/Tool-WebFetch.md +0 -55
  894. package/concepts/da/Tool-WebSearch.md +0 -58
  895. package/concepts/da/Tool-Write.md +0 -39
  896. package/concepts/da/Tool-executeCode.md +0 -41
  897. package/concepts/da/Tool-getDiagnostics.md +0 -32
  898. package/concepts/da/Tools.md +0 -67
  899. package/concepts/de/CacheRebuild.md +0 -36
  900. package/concepts/de/KVCacheContent.md +0 -49
  901. package/concepts/de/Tool-Agent.md +0 -125
  902. package/concepts/de/Tool-AskUserQuestion.md +0 -75
  903. package/concepts/de/Tool-Bash.md +0 -167
  904. package/concepts/de/Tool-Edit.md +0 -46
  905. package/concepts/de/Tool-EnterPlanMode.md +0 -128
  906. package/concepts/de/Tool-EnterWorktree.md +0 -56
  907. package/concepts/de/Tool-ExitPlanMode.md +0 -62
  908. package/concepts/de/Tool-Glob.md +0 -39
  909. package/concepts/de/Tool-Grep.md +0 -57
  910. package/concepts/de/Tool-NotebookEdit.md +0 -33
  911. package/concepts/de/Tool-Read.md +0 -56
  912. package/concepts/de/Tool-SendMessage.md +0 -41
  913. package/concepts/de/Tool-Skill.md +0 -56
  914. package/concepts/de/Tool-Task.md +0 -51
  915. package/concepts/de/Tool-TaskCreate.md +0 -78
  916. package/concepts/de/Tool-TaskGet.md +0 -56
  917. package/concepts/de/Tool-TaskList.md +0 -56
  918. package/concepts/de/Tool-TaskOutput.md +0 -40
  919. package/concepts/de/Tool-TaskStop.md +0 -32
  920. package/concepts/de/Tool-TaskUpdate.md +0 -123
  921. package/concepts/de/Tool-TeamCreate.md +0 -38
  922. package/concepts/de/Tool-TeamDelete.md +0 -30
  923. package/concepts/de/Tool-WebFetch.md +0 -55
  924. package/concepts/de/Tool-WebSearch.md +0 -58
  925. package/concepts/de/Tool-Write.md +0 -39
  926. package/concepts/de/Tool-executeCode.md +0 -41
  927. package/concepts/de/Tool-getDiagnostics.md +0 -32
  928. package/concepts/de/Tools.md +0 -67
  929. package/concepts/en/CacheRebuild.md +0 -36
  930. package/concepts/en/KVCacheContent.md +0 -49
  931. package/concepts/en/Tool-Agent.md +0 -125
  932. package/concepts/en/Tool-AskUserQuestion.md +0 -75
  933. package/concepts/en/Tool-Bash.md +0 -167
  934. package/concepts/en/Tool-Edit.md +0 -46
  935. package/concepts/en/Tool-EnterPlanMode.md +0 -128
  936. package/concepts/en/Tool-EnterWorktree.md +0 -56
  937. package/concepts/en/Tool-ExitPlanMode.md +0 -62
  938. package/concepts/en/Tool-Glob.md +0 -39
  939. package/concepts/en/Tool-Grep.md +0 -57
  940. package/concepts/en/Tool-NotebookEdit.md +0 -33
  941. package/concepts/en/Tool-Read.md +0 -56
  942. package/concepts/en/Tool-SendMessage.md +0 -41
  943. package/concepts/en/Tool-Skill.md +0 -56
  944. package/concepts/en/Tool-Task.md +0 -51
  945. package/concepts/en/Tool-TaskCreate.md +0 -78
  946. package/concepts/en/Tool-TaskGet.md +0 -56
  947. package/concepts/en/Tool-TaskList.md +0 -56
  948. package/concepts/en/Tool-TaskOutput.md +0 -40
  949. package/concepts/en/Tool-TaskStop.md +0 -32
  950. package/concepts/en/Tool-TaskUpdate.md +0 -123
  951. package/concepts/en/Tool-TeamCreate.md +0 -38
  952. package/concepts/en/Tool-TeamDelete.md +0 -30
  953. package/concepts/en/Tool-WebFetch.md +0 -55
  954. package/concepts/en/Tool-WebSearch.md +0 -58
  955. package/concepts/en/Tool-Write.md +0 -39
  956. package/concepts/en/Tool-executeCode.md +0 -41
  957. package/concepts/en/Tool-getDiagnostics.md +0 -32
  958. package/concepts/es/CacheRebuild.md +0 -36
  959. package/concepts/es/KVCacheContent.md +0 -49
  960. package/concepts/es/Tool-Agent.md +0 -125
  961. package/concepts/es/Tool-AskUserQuestion.md +0 -75
  962. package/concepts/es/Tool-Bash.md +0 -167
  963. package/concepts/es/Tool-Edit.md +0 -46
  964. package/concepts/es/Tool-EnterPlanMode.md +0 -128
  965. package/concepts/es/Tool-EnterWorktree.md +0 -56
  966. package/concepts/es/Tool-ExitPlanMode.md +0 -62
  967. package/concepts/es/Tool-Glob.md +0 -39
  968. package/concepts/es/Tool-Grep.md +0 -57
  969. package/concepts/es/Tool-NotebookEdit.md +0 -33
  970. package/concepts/es/Tool-Read.md +0 -56
  971. package/concepts/es/Tool-SendMessage.md +0 -41
  972. package/concepts/es/Tool-Skill.md +0 -56
  973. package/concepts/es/Tool-Task.md +0 -51
  974. package/concepts/es/Tool-TaskCreate.md +0 -78
  975. package/concepts/es/Tool-TaskGet.md +0 -56
  976. package/concepts/es/Tool-TaskList.md +0 -56
  977. package/concepts/es/Tool-TaskOutput.md +0 -40
  978. package/concepts/es/Tool-TaskStop.md +0 -32
  979. package/concepts/es/Tool-TaskUpdate.md +0 -123
  980. package/concepts/es/Tool-TeamCreate.md +0 -38
  981. package/concepts/es/Tool-TeamDelete.md +0 -30
  982. package/concepts/es/Tool-WebFetch.md +0 -55
  983. package/concepts/es/Tool-WebSearch.md +0 -58
  984. package/concepts/es/Tool-Write.md +0 -39
  985. package/concepts/es/Tool-executeCode.md +0 -41
  986. package/concepts/es/Tool-getDiagnostics.md +0 -32
  987. package/concepts/es/Tools.md +0 -67
  988. package/concepts/fr/CacheRebuild.md +0 -36
  989. package/concepts/fr/KVCacheContent.md +0 -49
  990. package/concepts/fr/Tool-Agent.md +0 -125
  991. package/concepts/fr/Tool-AskUserQuestion.md +0 -75
  992. package/concepts/fr/Tool-Bash.md +0 -167
  993. package/concepts/fr/Tool-Edit.md +0 -46
  994. package/concepts/fr/Tool-EnterPlanMode.md +0 -128
  995. package/concepts/fr/Tool-EnterWorktree.md +0 -56
  996. package/concepts/fr/Tool-ExitPlanMode.md +0 -62
  997. package/concepts/fr/Tool-Glob.md +0 -39
  998. package/concepts/fr/Tool-Grep.md +0 -57
  999. package/concepts/fr/Tool-NotebookEdit.md +0 -33
  1000. package/concepts/fr/Tool-Read.md +0 -56
  1001. package/concepts/fr/Tool-SendMessage.md +0 -41
  1002. package/concepts/fr/Tool-Skill.md +0 -56
  1003. package/concepts/fr/Tool-Task.md +0 -51
  1004. package/concepts/fr/Tool-TaskCreate.md +0 -78
  1005. package/concepts/fr/Tool-TaskGet.md +0 -56
  1006. package/concepts/fr/Tool-TaskList.md +0 -56
  1007. package/concepts/fr/Tool-TaskOutput.md +0 -40
  1008. package/concepts/fr/Tool-TaskStop.md +0 -32
  1009. package/concepts/fr/Tool-TaskUpdate.md +0 -123
  1010. package/concepts/fr/Tool-TeamCreate.md +0 -38
  1011. package/concepts/fr/Tool-TeamDelete.md +0 -30
  1012. package/concepts/fr/Tool-WebFetch.md +0 -55
  1013. package/concepts/fr/Tool-WebSearch.md +0 -58
  1014. package/concepts/fr/Tool-Write.md +0 -39
  1015. package/concepts/fr/Tool-executeCode.md +0 -41
  1016. package/concepts/fr/Tool-getDiagnostics.md +0 -32
  1017. package/concepts/fr/Tools.md +0 -67
  1018. package/concepts/it/CacheRebuild.md +0 -36
  1019. package/concepts/it/KVCacheContent.md +0 -49
  1020. package/concepts/it/Tool-Agent.md +0 -125
  1021. package/concepts/it/Tool-AskUserQuestion.md +0 -75
  1022. package/concepts/it/Tool-Bash.md +0 -167
  1023. package/concepts/it/Tool-Edit.md +0 -46
  1024. package/concepts/it/Tool-EnterPlanMode.md +0 -128
  1025. package/concepts/it/Tool-EnterWorktree.md +0 -56
  1026. package/concepts/it/Tool-ExitPlanMode.md +0 -62
  1027. package/concepts/it/Tool-Glob.md +0 -39
  1028. package/concepts/it/Tool-Grep.md +0 -57
  1029. package/concepts/it/Tool-NotebookEdit.md +0 -33
  1030. package/concepts/it/Tool-Read.md +0 -56
  1031. package/concepts/it/Tool-SendMessage.md +0 -41
  1032. package/concepts/it/Tool-Skill.md +0 -56
  1033. package/concepts/it/Tool-Task.md +0 -51
  1034. package/concepts/it/Tool-TaskCreate.md +0 -78
  1035. package/concepts/it/Tool-TaskGet.md +0 -56
  1036. package/concepts/it/Tool-TaskList.md +0 -56
  1037. package/concepts/it/Tool-TaskOutput.md +0 -40
  1038. package/concepts/it/Tool-TaskStop.md +0 -32
  1039. package/concepts/it/Tool-TaskUpdate.md +0 -123
  1040. package/concepts/it/Tool-TeamCreate.md +0 -38
  1041. package/concepts/it/Tool-TeamDelete.md +0 -30
  1042. package/concepts/it/Tool-WebFetch.md +0 -55
  1043. package/concepts/it/Tool-WebSearch.md +0 -58
  1044. package/concepts/it/Tool-Write.md +0 -39
  1045. package/concepts/it/Tool-executeCode.md +0 -41
  1046. package/concepts/it/Tool-getDiagnostics.md +0 -32
  1047. package/concepts/it/Tools.md +0 -67
  1048. package/concepts/ja/CacheRebuild.md +0 -36
  1049. package/concepts/ja/KVCacheContent.md +0 -49
  1050. package/concepts/ja/Tool-Agent.md +0 -125
  1051. package/concepts/ja/Tool-AskUserQuestion.md +0 -75
  1052. package/concepts/ja/Tool-Bash.md +0 -167
  1053. package/concepts/ja/Tool-Edit.md +0 -46
  1054. package/concepts/ja/Tool-EnterPlanMode.md +0 -128
  1055. package/concepts/ja/Tool-EnterWorktree.md +0 -56
  1056. package/concepts/ja/Tool-ExitPlanMode.md +0 -62
  1057. package/concepts/ja/Tool-Glob.md +0 -39
  1058. package/concepts/ja/Tool-Grep.md +0 -57
  1059. package/concepts/ja/Tool-NotebookEdit.md +0 -33
  1060. package/concepts/ja/Tool-Read.md +0 -56
  1061. package/concepts/ja/Tool-SendMessage.md +0 -41
  1062. package/concepts/ja/Tool-Skill.md +0 -56
  1063. package/concepts/ja/Tool-Task.md +0 -51
  1064. package/concepts/ja/Tool-TaskCreate.md +0 -78
  1065. package/concepts/ja/Tool-TaskGet.md +0 -56
  1066. package/concepts/ja/Tool-TaskList.md +0 -56
  1067. package/concepts/ja/Tool-TaskOutput.md +0 -40
  1068. package/concepts/ja/Tool-TaskStop.md +0 -32
  1069. package/concepts/ja/Tool-TaskUpdate.md +0 -123
  1070. package/concepts/ja/Tool-TeamCreate.md +0 -38
  1071. package/concepts/ja/Tool-TeamDelete.md +0 -30
  1072. package/concepts/ja/Tool-WebFetch.md +0 -55
  1073. package/concepts/ja/Tool-WebSearch.md +0 -58
  1074. package/concepts/ja/Tool-Write.md +0 -39
  1075. package/concepts/ja/Tool-executeCode.md +0 -41
  1076. package/concepts/ja/Tool-getDiagnostics.md +0 -32
  1077. package/concepts/ja/Tools.md +0 -67
  1078. package/concepts/ko/CacheRebuild.md +0 -36
  1079. package/concepts/ko/KVCacheContent.md +0 -49
  1080. package/concepts/ko/Tool-Agent.md +0 -125
  1081. package/concepts/ko/Tool-AskUserQuestion.md +0 -75
  1082. package/concepts/ko/Tool-Bash.md +0 -167
  1083. package/concepts/ko/Tool-Edit.md +0 -46
  1084. package/concepts/ko/Tool-EnterPlanMode.md +0 -128
  1085. package/concepts/ko/Tool-EnterWorktree.md +0 -56
  1086. package/concepts/ko/Tool-ExitPlanMode.md +0 -62
  1087. package/concepts/ko/Tool-Glob.md +0 -39
  1088. package/concepts/ko/Tool-Grep.md +0 -57
  1089. package/concepts/ko/Tool-NotebookEdit.md +0 -33
  1090. package/concepts/ko/Tool-Read.md +0 -56
  1091. package/concepts/ko/Tool-SendMessage.md +0 -41
  1092. package/concepts/ko/Tool-Skill.md +0 -56
  1093. package/concepts/ko/Tool-Task.md +0 -51
  1094. package/concepts/ko/Tool-TaskCreate.md +0 -78
  1095. package/concepts/ko/Tool-TaskGet.md +0 -56
  1096. package/concepts/ko/Tool-TaskList.md +0 -56
  1097. package/concepts/ko/Tool-TaskOutput.md +0 -40
  1098. package/concepts/ko/Tool-TaskStop.md +0 -32
  1099. package/concepts/ko/Tool-TaskUpdate.md +0 -123
  1100. package/concepts/ko/Tool-TeamCreate.md +0 -38
  1101. package/concepts/ko/Tool-TeamDelete.md +0 -30
  1102. package/concepts/ko/Tool-WebFetch.md +0 -55
  1103. package/concepts/ko/Tool-WebSearch.md +0 -58
  1104. package/concepts/ko/Tool-Write.md +0 -39
  1105. package/concepts/ko/Tool-executeCode.md +0 -41
  1106. package/concepts/ko/Tool-getDiagnostics.md +0 -32
  1107. package/concepts/ko/Tools.md +0 -67
  1108. package/concepts/no/CacheRebuild.md +0 -36
  1109. package/concepts/no/KVCacheContent.md +0 -49
  1110. package/concepts/no/Tool-Agent.md +0 -125
  1111. package/concepts/no/Tool-AskUserQuestion.md +0 -75
  1112. package/concepts/no/Tool-Bash.md +0 -167
  1113. package/concepts/no/Tool-Edit.md +0 -46
  1114. package/concepts/no/Tool-EnterPlanMode.md +0 -128
  1115. package/concepts/no/Tool-EnterWorktree.md +0 -56
  1116. package/concepts/no/Tool-ExitPlanMode.md +0 -62
  1117. package/concepts/no/Tool-Glob.md +0 -39
  1118. package/concepts/no/Tool-Grep.md +0 -57
  1119. package/concepts/no/Tool-NotebookEdit.md +0 -33
  1120. package/concepts/no/Tool-Read.md +0 -56
  1121. package/concepts/no/Tool-SendMessage.md +0 -41
  1122. package/concepts/no/Tool-Skill.md +0 -56
  1123. package/concepts/no/Tool-Task.md +0 -51
  1124. package/concepts/no/Tool-TaskCreate.md +0 -78
  1125. package/concepts/no/Tool-TaskGet.md +0 -56
  1126. package/concepts/no/Tool-TaskList.md +0 -56
  1127. package/concepts/no/Tool-TaskOutput.md +0 -40
  1128. package/concepts/no/Tool-TaskStop.md +0 -32
  1129. package/concepts/no/Tool-TaskUpdate.md +0 -123
  1130. package/concepts/no/Tool-TeamCreate.md +0 -38
  1131. package/concepts/no/Tool-TeamDelete.md +0 -30
  1132. package/concepts/no/Tool-WebFetch.md +0 -55
  1133. package/concepts/no/Tool-WebSearch.md +0 -58
  1134. package/concepts/no/Tool-Write.md +0 -39
  1135. package/concepts/no/Tool-executeCode.md +0 -41
  1136. package/concepts/no/Tool-getDiagnostics.md +0 -32
  1137. package/concepts/no/Tools.md +0 -67
  1138. package/concepts/pl/CacheRebuild.md +0 -36
  1139. package/concepts/pl/KVCacheContent.md +0 -49
  1140. package/concepts/pl/Tool-Agent.md +0 -125
  1141. package/concepts/pl/Tool-AskUserQuestion.md +0 -75
  1142. package/concepts/pl/Tool-Bash.md +0 -167
  1143. package/concepts/pl/Tool-Edit.md +0 -46
  1144. package/concepts/pl/Tool-EnterPlanMode.md +0 -128
  1145. package/concepts/pl/Tool-EnterWorktree.md +0 -56
  1146. package/concepts/pl/Tool-ExitPlanMode.md +0 -62
  1147. package/concepts/pl/Tool-Glob.md +0 -39
  1148. package/concepts/pl/Tool-Grep.md +0 -57
  1149. package/concepts/pl/Tool-NotebookEdit.md +0 -33
  1150. package/concepts/pl/Tool-Read.md +0 -56
  1151. package/concepts/pl/Tool-SendMessage.md +0 -41
  1152. package/concepts/pl/Tool-Skill.md +0 -56
  1153. package/concepts/pl/Tool-Task.md +0 -51
  1154. package/concepts/pl/Tool-TaskCreate.md +0 -78
  1155. package/concepts/pl/Tool-TaskGet.md +0 -56
  1156. package/concepts/pl/Tool-TaskList.md +0 -56
  1157. package/concepts/pl/Tool-TaskOutput.md +0 -40
  1158. package/concepts/pl/Tool-TaskStop.md +0 -32
  1159. package/concepts/pl/Tool-TaskUpdate.md +0 -123
  1160. package/concepts/pl/Tool-TeamCreate.md +0 -38
  1161. package/concepts/pl/Tool-TeamDelete.md +0 -30
  1162. package/concepts/pl/Tool-WebFetch.md +0 -55
  1163. package/concepts/pl/Tool-WebSearch.md +0 -58
  1164. package/concepts/pl/Tool-Write.md +0 -39
  1165. package/concepts/pl/Tool-executeCode.md +0 -41
  1166. package/concepts/pl/Tool-getDiagnostics.md +0 -32
  1167. package/concepts/pl/Tools.md +0 -67
  1168. package/concepts/pt-BR/CacheRebuild.md +0 -36
  1169. package/concepts/pt-BR/KVCacheContent.md +0 -49
  1170. package/concepts/pt-BR/Tool-Agent.md +0 -125
  1171. package/concepts/pt-BR/Tool-AskUserQuestion.md +0 -75
  1172. package/concepts/pt-BR/Tool-Bash.md +0 -167
  1173. package/concepts/pt-BR/Tool-Edit.md +0 -46
  1174. package/concepts/pt-BR/Tool-EnterPlanMode.md +0 -128
  1175. package/concepts/pt-BR/Tool-EnterWorktree.md +0 -56
  1176. package/concepts/pt-BR/Tool-ExitPlanMode.md +0 -62
  1177. package/concepts/pt-BR/Tool-Glob.md +0 -39
  1178. package/concepts/pt-BR/Tool-Grep.md +0 -57
  1179. package/concepts/pt-BR/Tool-NotebookEdit.md +0 -33
  1180. package/concepts/pt-BR/Tool-Read.md +0 -56
  1181. package/concepts/pt-BR/Tool-SendMessage.md +0 -41
  1182. package/concepts/pt-BR/Tool-Skill.md +0 -56
  1183. package/concepts/pt-BR/Tool-Task.md +0 -51
  1184. package/concepts/pt-BR/Tool-TaskCreate.md +0 -78
  1185. package/concepts/pt-BR/Tool-TaskGet.md +0 -56
  1186. package/concepts/pt-BR/Tool-TaskList.md +0 -56
  1187. package/concepts/pt-BR/Tool-TaskOutput.md +0 -40
  1188. package/concepts/pt-BR/Tool-TaskStop.md +0 -32
  1189. package/concepts/pt-BR/Tool-TaskUpdate.md +0 -123
  1190. package/concepts/pt-BR/Tool-TeamCreate.md +0 -38
  1191. package/concepts/pt-BR/Tool-TeamDelete.md +0 -30
  1192. package/concepts/pt-BR/Tool-WebFetch.md +0 -55
  1193. package/concepts/pt-BR/Tool-WebSearch.md +0 -58
  1194. package/concepts/pt-BR/Tool-Write.md +0 -39
  1195. package/concepts/pt-BR/Tool-executeCode.md +0 -41
  1196. package/concepts/pt-BR/Tool-getDiagnostics.md +0 -32
  1197. package/concepts/pt-BR/Tools.md +0 -67
  1198. package/concepts/ru/CacheRebuild.md +0 -36
  1199. package/concepts/ru/KVCacheContent.md +0 -49
  1200. package/concepts/ru/Tool-Agent.md +0 -125
  1201. package/concepts/ru/Tool-AskUserQuestion.md +0 -75
  1202. package/concepts/ru/Tool-Bash.md +0 -167
  1203. package/concepts/ru/Tool-Edit.md +0 -46
  1204. package/concepts/ru/Tool-EnterPlanMode.md +0 -128
  1205. package/concepts/ru/Tool-EnterWorktree.md +0 -56
  1206. package/concepts/ru/Tool-ExitPlanMode.md +0 -62
  1207. package/concepts/ru/Tool-Glob.md +0 -39
  1208. package/concepts/ru/Tool-Grep.md +0 -57
  1209. package/concepts/ru/Tool-NotebookEdit.md +0 -33
  1210. package/concepts/ru/Tool-Read.md +0 -56
  1211. package/concepts/ru/Tool-SendMessage.md +0 -41
  1212. package/concepts/ru/Tool-Skill.md +0 -56
  1213. package/concepts/ru/Tool-Task.md +0 -51
  1214. package/concepts/ru/Tool-TaskCreate.md +0 -78
  1215. package/concepts/ru/Tool-TaskGet.md +0 -56
  1216. package/concepts/ru/Tool-TaskList.md +0 -56
  1217. package/concepts/ru/Tool-TaskOutput.md +0 -40
  1218. package/concepts/ru/Tool-TaskStop.md +0 -32
  1219. package/concepts/ru/Tool-TaskUpdate.md +0 -123
  1220. package/concepts/ru/Tool-TeamCreate.md +0 -38
  1221. package/concepts/ru/Tool-TeamDelete.md +0 -30
  1222. package/concepts/ru/Tool-WebFetch.md +0 -55
  1223. package/concepts/ru/Tool-WebSearch.md +0 -58
  1224. package/concepts/ru/Tool-Write.md +0 -39
  1225. package/concepts/ru/Tool-executeCode.md +0 -41
  1226. package/concepts/ru/Tool-getDiagnostics.md +0 -32
  1227. package/concepts/ru/Tools.md +0 -67
  1228. package/concepts/th/CacheRebuild.md +0 -36
  1229. package/concepts/th/KVCacheContent.md +0 -49
  1230. package/concepts/th/Tool-Agent.md +0 -125
  1231. package/concepts/th/Tool-AskUserQuestion.md +0 -75
  1232. package/concepts/th/Tool-Bash.md +0 -167
  1233. package/concepts/th/Tool-Edit.md +0 -46
  1234. package/concepts/th/Tool-EnterPlanMode.md +0 -128
  1235. package/concepts/th/Tool-EnterWorktree.md +0 -56
  1236. package/concepts/th/Tool-ExitPlanMode.md +0 -62
  1237. package/concepts/th/Tool-Glob.md +0 -39
  1238. package/concepts/th/Tool-Grep.md +0 -57
  1239. package/concepts/th/Tool-NotebookEdit.md +0 -33
  1240. package/concepts/th/Tool-Read.md +0 -56
  1241. package/concepts/th/Tool-SendMessage.md +0 -41
  1242. package/concepts/th/Tool-Skill.md +0 -56
  1243. package/concepts/th/Tool-Task.md +0 -51
  1244. package/concepts/th/Tool-TaskCreate.md +0 -78
  1245. package/concepts/th/Tool-TaskGet.md +0 -56
  1246. package/concepts/th/Tool-TaskList.md +0 -56
  1247. package/concepts/th/Tool-TaskOutput.md +0 -40
  1248. package/concepts/th/Tool-TaskStop.md +0 -32
  1249. package/concepts/th/Tool-TaskUpdate.md +0 -123
  1250. package/concepts/th/Tool-TeamCreate.md +0 -38
  1251. package/concepts/th/Tool-TeamDelete.md +0 -30
  1252. package/concepts/th/Tool-WebFetch.md +0 -55
  1253. package/concepts/th/Tool-WebSearch.md +0 -58
  1254. package/concepts/th/Tool-Write.md +0 -39
  1255. package/concepts/th/Tool-executeCode.md +0 -41
  1256. package/concepts/th/Tool-getDiagnostics.md +0 -32
  1257. package/concepts/th/Tools.md +0 -67
  1258. package/concepts/tr/CacheRebuild.md +0 -36
  1259. package/concepts/tr/KVCacheContent.md +0 -49
  1260. package/concepts/tr/Tool-Agent.md +0 -125
  1261. package/concepts/tr/Tool-AskUserQuestion.md +0 -75
  1262. package/concepts/tr/Tool-Bash.md +0 -167
  1263. package/concepts/tr/Tool-Edit.md +0 -46
  1264. package/concepts/tr/Tool-EnterPlanMode.md +0 -128
  1265. package/concepts/tr/Tool-EnterWorktree.md +0 -56
  1266. package/concepts/tr/Tool-ExitPlanMode.md +0 -62
  1267. package/concepts/tr/Tool-Glob.md +0 -39
  1268. package/concepts/tr/Tool-Grep.md +0 -57
  1269. package/concepts/tr/Tool-NotebookEdit.md +0 -33
  1270. package/concepts/tr/Tool-Read.md +0 -56
  1271. package/concepts/tr/Tool-SendMessage.md +0 -41
  1272. package/concepts/tr/Tool-Skill.md +0 -56
  1273. package/concepts/tr/Tool-Task.md +0 -51
  1274. package/concepts/tr/Tool-TaskCreate.md +0 -78
  1275. package/concepts/tr/Tool-TaskGet.md +0 -56
  1276. package/concepts/tr/Tool-TaskList.md +0 -56
  1277. package/concepts/tr/Tool-TaskOutput.md +0 -40
  1278. package/concepts/tr/Tool-TaskStop.md +0 -32
  1279. package/concepts/tr/Tool-TaskUpdate.md +0 -123
  1280. package/concepts/tr/Tool-TeamCreate.md +0 -38
  1281. package/concepts/tr/Tool-TeamDelete.md +0 -30
  1282. package/concepts/tr/Tool-WebFetch.md +0 -55
  1283. package/concepts/tr/Tool-WebSearch.md +0 -58
  1284. package/concepts/tr/Tool-Write.md +0 -39
  1285. package/concepts/tr/Tool-executeCode.md +0 -41
  1286. package/concepts/tr/Tool-getDiagnostics.md +0 -32
  1287. package/concepts/tr/Tools.md +0 -67
  1288. package/concepts/uk/CacheRebuild.md +0 -36
  1289. package/concepts/uk/KVCacheContent.md +0 -49
  1290. package/concepts/uk/Tool-Agent.md +0 -125
  1291. package/concepts/uk/Tool-AskUserQuestion.md +0 -75
  1292. package/concepts/uk/Tool-Bash.md +0 -167
  1293. package/concepts/uk/Tool-Edit.md +0 -46
  1294. package/concepts/uk/Tool-EnterPlanMode.md +0 -128
  1295. package/concepts/uk/Tool-EnterWorktree.md +0 -56
  1296. package/concepts/uk/Tool-ExitPlanMode.md +0 -62
  1297. package/concepts/uk/Tool-Glob.md +0 -39
  1298. package/concepts/uk/Tool-Grep.md +0 -57
  1299. package/concepts/uk/Tool-NotebookEdit.md +0 -33
  1300. package/concepts/uk/Tool-Read.md +0 -56
  1301. package/concepts/uk/Tool-SendMessage.md +0 -41
  1302. package/concepts/uk/Tool-Skill.md +0 -56
  1303. package/concepts/uk/Tool-Task.md +0 -51
  1304. package/concepts/uk/Tool-TaskCreate.md +0 -78
  1305. package/concepts/uk/Tool-TaskGet.md +0 -56
  1306. package/concepts/uk/Tool-TaskList.md +0 -56
  1307. package/concepts/uk/Tool-TaskOutput.md +0 -40
  1308. package/concepts/uk/Tool-TaskStop.md +0 -32
  1309. package/concepts/uk/Tool-TaskUpdate.md +0 -123
  1310. package/concepts/uk/Tool-TeamCreate.md +0 -38
  1311. package/concepts/uk/Tool-TeamDelete.md +0 -30
  1312. package/concepts/uk/Tool-WebFetch.md +0 -55
  1313. package/concepts/uk/Tool-WebSearch.md +0 -58
  1314. package/concepts/uk/Tool-Write.md +0 -39
  1315. package/concepts/uk/Tool-executeCode.md +0 -41
  1316. package/concepts/uk/Tool-getDiagnostics.md +0 -32
  1317. package/concepts/uk/Tools.md +0 -67
  1318. package/concepts/zh/CacheRebuild.md +0 -36
  1319. package/concepts/zh/KVCacheContent.md +0 -49
  1320. package/concepts/zh/Tool-Agent.md +0 -125
  1321. package/concepts/zh/Tool-AskUserQuestion.md +0 -75
  1322. package/concepts/zh/Tool-Bash.md +0 -167
  1323. package/concepts/zh/Tool-Edit.md +0 -46
  1324. package/concepts/zh/Tool-EnterPlanMode.md +0 -128
  1325. package/concepts/zh/Tool-EnterWorktree.md +0 -56
  1326. package/concepts/zh/Tool-ExitPlanMode.md +0 -62
  1327. package/concepts/zh/Tool-Glob.md +0 -39
  1328. package/concepts/zh/Tool-Grep.md +0 -57
  1329. package/concepts/zh/Tool-NotebookEdit.md +0 -33
  1330. package/concepts/zh/Tool-Read.md +0 -56
  1331. package/concepts/zh/Tool-SendMessage.md +0 -41
  1332. package/concepts/zh/Tool-Skill.md +0 -56
  1333. package/concepts/zh/Tool-Task.md +0 -51
  1334. package/concepts/zh/Tool-TaskCreate.md +0 -78
  1335. package/concepts/zh/Tool-TaskGet.md +0 -56
  1336. package/concepts/zh/Tool-TaskList.md +0 -56
  1337. package/concepts/zh/Tool-TaskOutput.md +0 -40
  1338. package/concepts/zh/Tool-TaskStop.md +0 -32
  1339. package/concepts/zh/Tool-TaskUpdate.md +0 -123
  1340. package/concepts/zh/Tool-TeamCreate.md +0 -38
  1341. package/concepts/zh/Tool-TeamDelete.md +0 -30
  1342. package/concepts/zh/Tool-WebFetch.md +0 -55
  1343. package/concepts/zh/Tool-WebSearch.md +0 -58
  1344. package/concepts/zh/Tool-Write.md +0 -39
  1345. package/concepts/zh/Tool-executeCode.md +0 -41
  1346. package/concepts/zh/Tool-getDiagnostics.md +0 -32
  1347. package/concepts/zh-TW/CacheRebuild.md +0 -36
  1348. package/concepts/zh-TW/KVCacheContent.md +0 -49
  1349. package/concepts/zh-TW/Tool-Agent.md +0 -125
  1350. package/concepts/zh-TW/Tool-AskUserQuestion.md +0 -75
  1351. package/concepts/zh-TW/Tool-Bash.md +0 -167
  1352. package/concepts/zh-TW/Tool-Edit.md +0 -46
  1353. package/concepts/zh-TW/Tool-EnterPlanMode.md +0 -128
  1354. package/concepts/zh-TW/Tool-EnterWorktree.md +0 -56
  1355. package/concepts/zh-TW/Tool-ExitPlanMode.md +0 -62
  1356. package/concepts/zh-TW/Tool-Glob.md +0 -39
  1357. package/concepts/zh-TW/Tool-Grep.md +0 -57
  1358. package/concepts/zh-TW/Tool-NotebookEdit.md +0 -33
  1359. package/concepts/zh-TW/Tool-Read.md +0 -56
  1360. package/concepts/zh-TW/Tool-SendMessage.md +0 -41
  1361. package/concepts/zh-TW/Tool-Skill.md +0 -56
  1362. package/concepts/zh-TW/Tool-Task.md +0 -51
  1363. package/concepts/zh-TW/Tool-TaskCreate.md +0 -78
  1364. package/concepts/zh-TW/Tool-TaskGet.md +0 -56
  1365. package/concepts/zh-TW/Tool-TaskList.md +0 -56
  1366. package/concepts/zh-TW/Tool-TaskOutput.md +0 -40
  1367. package/concepts/zh-TW/Tool-TaskStop.md +0 -32
  1368. package/concepts/zh-TW/Tool-TaskUpdate.md +0 -123
  1369. package/concepts/zh-TW/Tool-TeamCreate.md +0 -38
  1370. package/concepts/zh-TW/Tool-TeamDelete.md +0 -30
  1371. package/concepts/zh-TW/Tool-WebFetch.md +0 -55
  1372. package/concepts/zh-TW/Tool-WebSearch.md +0 -58
  1373. package/concepts/zh-TW/Tool-Write.md +0 -39
  1374. package/concepts/zh-TW/Tool-executeCode.md +0 -41
  1375. package/concepts/zh-TW/Tool-getDiagnostics.md +0 -32
  1376. package/concepts/zh-TW/Tools.md +0 -67
  1377. package/dist/assets/App-CF-qZ3B6.js +0 -41
  1378. package/dist/assets/App-fG2r3jFq.css +0 -1
  1379. package/dist/assets/AppHeader-BqUGBbBx.css +0 -41
  1380. package/dist/assets/AppHeader.module-BjoBBbCB.js +0 -1250
  1381. package/dist/assets/Mobile-BnDkLcBv.css +0 -1
  1382. package/dist/assets/Mobile-ByhBkyqb.js +0 -10
  1383. package/dist/assets/_baseUniq-5XIuSb_1.js +0 -1
  1384. package/dist/assets/arc-V3mJhKFJ.js +0 -1
  1385. package/dist/assets/architectureDiagram-Q4EWVU46-22bjxOE1.js +0 -36
  1386. package/dist/assets/blockDiagram-DXYQGD6D-Brshek1N.js +0 -132
  1387. package/dist/assets/c4Diagram-AHTNJAMY-DQHIuxkd.js +0 -10
  1388. package/dist/assets/channel-SmGaOM6g.js +0 -1
  1389. package/dist/assets/chunk-4BX2VUAB-BQE7pifU.js +0 -1
  1390. package/dist/assets/chunk-4TB4RGXK-DcZwv_PV.js +0 -206
  1391. package/dist/assets/chunk-55IACEB6-Gd_3-vV5.js +0 -1
  1392. package/dist/assets/chunk-EDXVE4YY-BbnYdg9M.js +0 -1
  1393. package/dist/assets/chunk-FMBD7UC4-NSh7z90L.js +0 -15
  1394. package/dist/assets/chunk-OYMX7WX6-DdFwjHsc.js +0 -231
  1395. package/dist/assets/chunk-QZHKN3VN-C-1z3DA3.js +0 -1
  1396. package/dist/assets/chunk-YZCP3GAM-w_NiY6dL.js +0 -1
  1397. package/dist/assets/classDiagram-6PBFFD2Q-Bu96zciS.js +0 -1
  1398. package/dist/assets/classDiagram-v2-HSJHXN6E-Bu96zciS.js +0 -1
  1399. package/dist/assets/clone-u2hQVO7u.js +0 -1
  1400. package/dist/assets/cose-bilkent-S5V4N54A-bHlM-ydV.js +0 -1
  1401. package/dist/assets/cytoscape.esm-DxGcaOPV.js +0 -331
  1402. package/dist/assets/dagre-KV5264BT-2cCXOuNw.js +0 -4
  1403. package/dist/assets/defaultLocale-DX6XiGOO.js +0 -1
  1404. package/dist/assets/diagram-5BDNPKRD-C70P_Nd1.js +0 -10
  1405. package/dist/assets/diagram-G4DWMVQ6-C2JvwT8U.js +0 -24
  1406. package/dist/assets/diagram-MMDJMWI5-C9ygMSLV.js +0 -43
  1407. package/dist/assets/diagram-TYMM5635-x-SMPmqb.js +0 -24
  1408. package/dist/assets/erDiagram-SMLLAGMA-BGIbL82W.js +0 -85
  1409. package/dist/assets/flowDiagram-DWJPFMVM-Dg0qwguE.js +0 -162
  1410. package/dist/assets/ganttDiagram-T4ZO3ILL-XX5qCwKD.js +0 -292
  1411. package/dist/assets/gitGraphDiagram-UUTBAWPF-DFil4bpA.js +0 -106
  1412. package/dist/assets/graph-DJ6egHOd.js +0 -1
  1413. package/dist/assets/html2canvas.esm-QH1iLAAe.js +0 -22
  1414. package/dist/assets/index-DCtZ2KSX.css +0 -1
  1415. package/dist/assets/index-DYIYWRaO.js +0 -41
  1416. package/dist/assets/infoDiagram-42DDH7IO-yB7VRrpO.js +0 -2
  1417. package/dist/assets/init-Gi6I4Gst.js +0 -1
  1418. package/dist/assets/ishikawaDiagram-UXIWVN3A-DZ_lPco0.js +0 -70
  1419. package/dist/assets/journeyDiagram-VCZTEJTY-B-FlPR2W.js +0 -139
  1420. package/dist/assets/kanban-definition-6JOO6SKY-mgJwVxKf.js +0 -89
  1421. package/dist/assets/katex-DkKDou_j.js +0 -257
  1422. package/dist/assets/layout-BjzpJ8ZU.js +0 -1
  1423. package/dist/assets/linear-CqOq1rA7.js +0 -1
  1424. package/dist/assets/mermaid.core-CZyQhtml.js +0 -308
  1425. package/dist/assets/min-B_tad8Qz.js +0 -1
  1426. package/dist/assets/mindmap-definition-QFDTVHPH-CgBeHk8K.js +0 -96
  1427. package/dist/assets/ordinal-Cboi1Yqb.js +0 -1
  1428. package/dist/assets/pieDiagram-DEJITSTG-CHENa0KJ.js +0 -30
  1429. package/dist/assets/quadrantDiagram-34T5L4WZ-BUwZwCpc.js +0 -7
  1430. package/dist/assets/requirementDiagram-MS252O5E-H7OaNjNn.js +0 -84
  1431. package/dist/assets/sankeyDiagram-XADWPNL6-6UqaFrBf.js +0 -10
  1432. package/dist/assets/sequenceDiagram-FGHM5R23-DBgpLSsr.js +0 -157
  1433. package/dist/assets/stateDiagram-FHFEXIEX-D_6TWlLl.js +0 -1
  1434. package/dist/assets/stateDiagram-v2-QKLJ7IA2-Cg06jbzN.js +0 -1
  1435. package/dist/assets/timeline-definition-GMOUNBTQ-9_saaHvl.js +0 -120
  1436. package/dist/assets/vennDiagram-DHZGUBPP-DMUS1fiT.js +0 -34
  1437. package/dist/assets/wardley-RL74JXVD-Y-_Nnpu2.js +0 -162
  1438. package/dist/assets/wardleyDiagram-NUSXRM2D-DIh62HY7.js +0 -20
  1439. package/dist/assets/xychartDiagram-5P7HB3ND-B_CLrnpt.js +0 -7
  1440. package/lib/kv-cache-analyzer.js +0 -164
@@ -0,0 +1,15 @@
1
+ var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s,_t,_u,_v,_w,_x,_y,_z,_A,_B,_C,_D,_E,_F,_G,_H,_I,_J,_K,_L,_M,_N,_O,_P,_Q,_R,_S,_T,_U,_V,_W,_X,_Y,_Z,__,_$,_aa,_ba,_ca,_da,_ea,_fa,_ga,_ha,_ia,_ja,_ka,_la,_ma,_na,_oa,_pa,_qa,_ra,_sa,_ta,_ua,_va,_wa,_xa,_ya,_za,_Aa,_Ba,_Ca,_Da,_Ea,_Fa,_Ga,_Ha,_Ia,_Ja,_Ka,_La,_Ma,_Na,_Oa,_Pa,_Qa,_Ra,_Sa,_Ta,_Ua,_Va,_Wa,_Xa,_Ya,_Za,__a,_$a,_ab,_bb,_cb,_db,_eb,_fb,_gb,_hb,_ib,_jb,_kb,_lb,_mb,_nb,_ob,_pb,_qb,_rb,_sb,_tb,_ub,_vb,_wb,_xb,_zb,_Ab,_Bb,_Cb,_Db,_Eb,_Fb,_Gb,_Hb,_Ib,_Jb,_Kb,_Lb,_Mb,_Nb,_Ob,_Pb,_Qb,_Rb,_Sb,_Tb,_Ub,_Vb,_Wb,_Xb,_Yb,__defProp=Object.defineProperty,__publicField=(obj,key,value)=>((obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value:value}):obj[key]=value)(obj,"symbol"!=typeof key?key+"":key,value);import{_ as __vitePreload}from"./vendor-mdxeditor-4PbKH6K7.js";var DocumentUri,URI,integer,uinteger,Position,Range,Location,LocationLink,Color,ColorInformation,ColorPresentation,FoldingRangeKind,FoldingRange,DiagnosticRelatedInformation,DiagnosticSeverity,DiagnosticTag,CodeDescription,Diagnostic,Command,TextEdit,ChangeAnnotation,ChangeAnnotationIdentifier,AnnotatedTextEdit,TextDocumentEdit,CreateFile,RenameFile,DeleteFile,WorkspaceEdit,TextEditChangeImpl,ChangeAnnotations,WorkspaceChange,TextDocumentIdentifier,VersionedTextDocumentIdentifier,OptionalVersionedTextDocumentIdentifier,TextDocumentItem,MarkupKind,MarkupContent,CompletionItemKind,InsertTextFormat,CompletionItemTag,InsertReplaceEdit,InsertTextMode,CompletionItemLabelDetails,CompletionItem,CompletionList,MarkedString,Hover,ParameterInformation,SignatureInformation,DocumentHighlightKind,DocumentHighlight,SymbolKind,SymbolTag,SymbolInformation,WorkspaceSymbol,DocumentSymbol,CodeActionKind,CodeActionTriggerKind,CodeActionContext,CodeAction,CodeLens,FormattingOptions,DocumentLink,SelectionRange,SemanticTokenTypes,SemanticTokenModifiers,SemanticTokens,InlineValueText,InlineValueVariableLookup,InlineValueEvaluatableExpression,InlineValueContext,InlayHintKind,InlayHintLabelPart,InlayHint,StringValue,InlineCompletionItem,InlineCompletionList,InlineCompletionTriggerKind,SelectedCompletionInfo,InlineCompletionContext,WorkspaceFolder,EOL,TextDocument,FullTextDocument,Is,__create=Object.create,__defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__name=(target,value)=>__defProp2(target,"name",{value:value,configurable:!0}),__commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__export=(target,all)=>{for(var name in all)__defProp2(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&"object"==typeof from||"function"==typeof from)for(let key of __getOwnPropNames(from))__hasOwnProp.call(to,key)||key===except||__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget),__toESM=(mod,isNodeMode,target)=>(target=null!=mod?__create(__getProtoOf(mod)):{},__copyProps(__defProp2(target,"default",{value:mod,enumerable:!0}),mod)),__toCommonJS=mod=>__copyProps(__defProp2({},"__esModule",{value:!0}),mod),main_exports={};__export(main_exports,{AnnotatedTextEdit:()=>AnnotatedTextEdit,ChangeAnnotation:()=>ChangeAnnotation,ChangeAnnotationIdentifier:()=>ChangeAnnotationIdentifier,CodeAction:()=>CodeAction,CodeActionContext:()=>CodeActionContext,CodeActionKind:()=>CodeActionKind,CodeActionTriggerKind:()=>CodeActionTriggerKind,CodeDescription:()=>CodeDescription,CodeLens:()=>CodeLens,Color:()=>Color,ColorInformation:()=>ColorInformation,ColorPresentation:()=>ColorPresentation,Command:()=>Command,CompletionItem:()=>CompletionItem,CompletionItemKind:()=>CompletionItemKind,CompletionItemLabelDetails:()=>CompletionItemLabelDetails,CompletionItemTag:()=>CompletionItemTag,CompletionList:()=>CompletionList,CreateFile:()=>CreateFile,DeleteFile:()=>DeleteFile,Diagnostic:()=>Diagnostic,DiagnosticRelatedInformation:()=>DiagnosticRelatedInformation,DiagnosticSeverity:()=>DiagnosticSeverity,DiagnosticTag:()=>DiagnosticTag,DocumentHighlight:()=>DocumentHighlight,DocumentHighlightKind:()=>DocumentHighlightKind,DocumentLink:()=>DocumentLink,DocumentSymbol:()=>DocumentSymbol,DocumentUri:()=>DocumentUri,EOL:()=>EOL,FoldingRange:()=>FoldingRange,FoldingRangeKind:()=>FoldingRangeKind,FormattingOptions:()=>FormattingOptions,Hover:()=>Hover,InlayHint:()=>InlayHint,InlayHintKind:()=>InlayHintKind,InlayHintLabelPart:()=>InlayHintLabelPart,InlineCompletionContext:()=>InlineCompletionContext,InlineCompletionItem:()=>InlineCompletionItem,InlineCompletionList:()=>InlineCompletionList,InlineCompletionTriggerKind:()=>InlineCompletionTriggerKind,InlineValueContext:()=>InlineValueContext,InlineValueEvaluatableExpression:()=>InlineValueEvaluatableExpression,InlineValueText:()=>InlineValueText,InlineValueVariableLookup:()=>InlineValueVariableLookup,InsertReplaceEdit:()=>InsertReplaceEdit,InsertTextFormat:()=>InsertTextFormat,InsertTextMode:()=>InsertTextMode,Location:()=>Location,LocationLink:()=>LocationLink,MarkedString:()=>MarkedString,MarkupContent:()=>MarkupContent,MarkupKind:()=>MarkupKind,OptionalVersionedTextDocumentIdentifier:()=>OptionalVersionedTextDocumentIdentifier,ParameterInformation:()=>ParameterInformation,Position:()=>Position,Range:()=>Range,RenameFile:()=>RenameFile,SelectedCompletionInfo:()=>SelectedCompletionInfo,SelectionRange:()=>SelectionRange,SemanticTokenModifiers:()=>SemanticTokenModifiers,SemanticTokenTypes:()=>SemanticTokenTypes,SemanticTokens:()=>SemanticTokens,SignatureInformation:()=>SignatureInformation,StringValue:()=>StringValue,SymbolInformation:()=>SymbolInformation,SymbolKind:()=>SymbolKind,SymbolTag:()=>SymbolTag,TextDocument:()=>TextDocument,TextDocumentEdit:()=>TextDocumentEdit,TextDocumentIdentifier:()=>TextDocumentIdentifier,TextDocumentItem:()=>TextDocumentItem,TextEdit:()=>TextEdit,URI:()=>URI,VersionedTextDocumentIdentifier:()=>VersionedTextDocumentIdentifier,WorkspaceChange:()=>WorkspaceChange,WorkspaceEdit:()=>WorkspaceEdit,WorkspaceFolder:()=>WorkspaceFolder,WorkspaceSymbol:()=>WorkspaceSymbol,integer:()=>integer,uinteger:()=>uinteger});var fn,res,init_main=(fn={"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var _a2,_b2,_c2,_d2,FoldingRangeKind2,DiagnosticSeverity2,DiagnosticTag2,CompletionItemKind2,InsertTextFormat2,InsertTextMode2,DocumentHighlightKind2,SymbolKind2,CodeActionKind2,CodeActionTriggerKind2,SemanticTokenTypes2,SemanticTokenModifiers2,InlineCompletionTriggerKind2;!function(DocumentUri2){function is(value){return"string"==typeof value}__name(is,"is"),DocumentUri2.is=is}(DocumentUri||(DocumentUri={})),function(URI3){function is(value){return"string"==typeof value}__name(is,"is"),URI3.is=is}(URI||(URI={})),function(integer2){function is(value){return"number"==typeof value&&integer2.MIN_VALUE<=value&&value<=integer2.MAX_VALUE}integer2.MIN_VALUE=-2147483648,integer2.MAX_VALUE=2147483647,__name(is,"is"),integer2.is=is}(integer||(integer={})),function(uinteger2){function is(value){return"number"==typeof value&&uinteger2.MIN_VALUE<=value&&value<=uinteger2.MAX_VALUE}uinteger2.MIN_VALUE=0,uinteger2.MAX_VALUE=2147483647,__name(is,"is"),uinteger2.is=is}(uinteger||(uinteger={})),function(Position2){function create(line,character){return line===Number.MAX_VALUE&&(line=uinteger.MAX_VALUE),character===Number.MAX_VALUE&&(character=uinteger.MAX_VALUE),{line:line,character:character}}function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.uinteger(candidate.line)&&Is.uinteger(candidate.character)}__name(create,"create"),Position2.create=create,__name(is,"is"),Position2.is=is}(Position||(Position={})),function(Range2){function create(one,two,three,four){if(Is.uinteger(one)&&Is.uinteger(two)&&Is.uinteger(three)&&Is.uinteger(four))return{start:Position.create(one,two),end:Position.create(three,four)};if(Position.is(one)&&Position.is(two))return{start:one,end:two};throw new Error(`Range#create called with invalid arguments[${one}, ${two}, ${three}, ${four}]`)}function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Position.is(candidate.start)&&Position.is(candidate.end)}__name(create,"create"),Range2.create=create,__name(is,"is"),Range2.is=is}(Range||(Range={})),function(Location2){function create(uri,range){return{uri:uri,range:range}}function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&(Is.string(candidate.uri)||Is.undefined(candidate.uri))}__name(create,"create"),Location2.create=create,__name(is,"is"),Location2.is=is}(Location||(Location={})),function(LocationLink2){function create(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri:targetUri,targetRange:targetRange,targetSelectionRange:targetSelectionRange,originSelectionRange:originSelectionRange}}function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.targetRange)&&Is.string(candidate.targetUri)&&Range.is(candidate.targetSelectionRange)&&(Range.is(candidate.originSelectionRange)||Is.undefined(candidate.originSelectionRange))}__name(create,"create"),LocationLink2.create=create,__name(is,"is"),LocationLink2.is=is}(LocationLink||(LocationLink={})),function(Color2){function create(red,green,blue,alpha){return{red:red,green:green,blue:blue,alpha:alpha}}function is(value){const candidate=value;return Is.objectLiteral(candidate)&&Is.numberRange(candidate.red,0,1)&&Is.numberRange(candidate.green,0,1)&&Is.numberRange(candidate.blue,0,1)&&Is.numberRange(candidate.alpha,0,1)}__name(create,"create"),Color2.create=create,__name(is,"is"),Color2.is=is}(Color||(Color={})),function(ColorInformation2){function create(range,color){return{range:range,color:color}}function is(value){const candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&Color.is(candidate.color)}__name(create,"create"),ColorInformation2.create=create,__name(is,"is"),ColorInformation2.is=is}(ColorInformation||(ColorInformation={})),function(ColorPresentation2){function create(label,textEdit,additionalTextEdits){return{label:label,textEdit:textEdit,additionalTextEdits:additionalTextEdits}}function is(value){const candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.undefined(candidate.textEdit)||TextEdit.is(candidate))&&(Is.undefined(candidate.additionalTextEdits)||Is.typedArray(candidate.additionalTextEdits,TextEdit.is))}__name(create,"create"),ColorPresentation2.create=create,__name(is,"is"),ColorPresentation2.is=is}(ColorPresentation||(ColorPresentation={})),(FoldingRangeKind2=FoldingRangeKind||(FoldingRangeKind={})).Comment="comment",FoldingRangeKind2.Imports="imports",FoldingRangeKind2.Region="region",function(FoldingRange2){function create(startLine,endLine,startCharacter,endCharacter,kind,collapsedText){const result={startLine:startLine,endLine:endLine};return Is.defined(startCharacter)&&(result.startCharacter=startCharacter),Is.defined(endCharacter)&&(result.endCharacter=endCharacter),Is.defined(kind)&&(result.kind=kind),Is.defined(collapsedText)&&(result.collapsedText=collapsedText),result}function is(value){const candidate=value;return Is.objectLiteral(candidate)&&Is.uinteger(candidate.startLine)&&Is.uinteger(candidate.startLine)&&(Is.undefined(candidate.startCharacter)||Is.uinteger(candidate.startCharacter))&&(Is.undefined(candidate.endCharacter)||Is.uinteger(candidate.endCharacter))&&(Is.undefined(candidate.kind)||Is.string(candidate.kind))}__name(create,"create"),FoldingRange2.create=create,__name(is,"is"),FoldingRange2.is=is}(FoldingRange||(FoldingRange={})),function(DiagnosticRelatedInformation2){function create(location,message){return{location:location,message:message}}function is(value){let candidate=value;return Is.defined(candidate)&&Location.is(candidate.location)&&Is.string(candidate.message)}__name(create,"create"),DiagnosticRelatedInformation2.create=create,__name(is,"is"),DiagnosticRelatedInformation2.is=is}(DiagnosticRelatedInformation||(DiagnosticRelatedInformation={})),(DiagnosticSeverity2=DiagnosticSeverity||(DiagnosticSeverity={})).Error=1,DiagnosticSeverity2.Warning=2,DiagnosticSeverity2.Information=3,DiagnosticSeverity2.Hint=4,(DiagnosticTag2=DiagnosticTag||(DiagnosticTag={})).Unnecessary=1,DiagnosticTag2.Deprecated=2,function(CodeDescription2){function is(value){const candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.href)}__name(is,"is"),CodeDescription2.is=is}(CodeDescription||(CodeDescription={})),function(Diagnostic2){function create(range,message,severity,code,source,relatedInformation){let result={range:range,message:message};return Is.defined(severity)&&(result.severity=severity),Is.defined(code)&&(result.code=code),Is.defined(source)&&(result.source=source),Is.defined(relatedInformation)&&(result.relatedInformation=relatedInformation),result}function is(value){var _a3;let candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&Is.string(candidate.message)&&(Is.number(candidate.severity)||Is.undefined(candidate.severity))&&(Is.integer(candidate.code)||Is.string(candidate.code)||Is.undefined(candidate.code))&&(Is.undefined(candidate.codeDescription)||Is.string(null===(_a3=candidate.codeDescription)||void 0===_a3?void 0:_a3.href))&&(Is.string(candidate.source)||Is.undefined(candidate.source))&&(Is.undefined(candidate.relatedInformation)||Is.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation.is))}__name(create,"create"),Diagnostic2.create=create,__name(is,"is"),Diagnostic2.is=is}(Diagnostic||(Diagnostic={})),function(Command2){function create(title,command,...args){let result={title:title,command:command};return Is.defined(args)&&args.length>0&&(result.arguments=args),result}function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.title)&&Is.string(candidate.command)}__name(create,"create"),Command2.create=create,__name(is,"is"),Command2.is=is}(Command||(Command={})),function(TextEdit2){function replace(range,newText){return{range:range,newText:newText}}function insert(position,newText){return{range:{start:position,end:position},newText:newText}}function del(range){return{range:range,newText:""}}function is(value){const candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.newText)&&Range.is(candidate.range)}__name(replace,"replace"),TextEdit2.replace=replace,__name(insert,"insert"),TextEdit2.insert=insert,__name(del,"del"),TextEdit2.del=del,__name(is,"is"),TextEdit2.is=is}(TextEdit||(TextEdit={})),function(ChangeAnnotation2){function create(label,needsConfirmation,description){const result={label:label};return void 0!==needsConfirmation&&(result.needsConfirmation=needsConfirmation),void 0!==description&&(result.description=description),result}function is(value){const candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.boolean(candidate.needsConfirmation)||void 0===candidate.needsConfirmation)&&(Is.string(candidate.description)||void 0===candidate.description)}__name(create,"create"),ChangeAnnotation2.create=create,__name(is,"is"),ChangeAnnotation2.is=is}(ChangeAnnotation||(ChangeAnnotation={})),function(ChangeAnnotationIdentifier2){function is(value){const candidate=value;return Is.string(candidate)}__name(is,"is"),ChangeAnnotationIdentifier2.is=is}(ChangeAnnotationIdentifier||(ChangeAnnotationIdentifier={})),function(AnnotatedTextEdit2){function replace(range,newText,annotation){return{range:range,newText:newText,annotationId:annotation}}function insert(position,newText,annotation){return{range:{start:position,end:position},newText:newText,annotationId:annotation}}function del(range,annotation){return{range:range,newText:"",annotationId:annotation}}function is(value){const candidate=value;return TextEdit.is(candidate)&&(ChangeAnnotation.is(candidate.annotationId)||ChangeAnnotationIdentifier.is(candidate.annotationId))}__name(replace,"replace"),AnnotatedTextEdit2.replace=replace,__name(insert,"insert"),AnnotatedTextEdit2.insert=insert,__name(del,"del"),AnnotatedTextEdit2.del=del,__name(is,"is"),AnnotatedTextEdit2.is=is}(AnnotatedTextEdit||(AnnotatedTextEdit={})),function(TextDocumentEdit2){function create(textDocument,edits){return{textDocument:textDocument,edits:edits}}function is(value){let candidate=value;return Is.defined(candidate)&&OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)&&Array.isArray(candidate.edits)}__name(create,"create"),TextDocumentEdit2.create=create,__name(is,"is"),TextDocumentEdit2.is=is}(TextDocumentEdit||(TextDocumentEdit={})),function(CreateFile2){function create(uri,options,annotation){let result={kind:"create",uri:uri};return void 0===options||void 0===options.overwrite&&void 0===options.ignoreIfExists||(result.options=options),void 0!==annotation&&(result.annotationId=annotation),result}function is(value){let candidate=value;return candidate&&"create"===candidate.kind&&Is.string(candidate.uri)&&(void 0===candidate.options||(void 0===candidate.options.overwrite||Is.boolean(candidate.options.overwrite))&&(void 0===candidate.options.ignoreIfExists||Is.boolean(candidate.options.ignoreIfExists)))&&(void 0===candidate.annotationId||ChangeAnnotationIdentifier.is(candidate.annotationId))}__name(create,"create"),CreateFile2.create=create,__name(is,"is"),CreateFile2.is=is}(CreateFile||(CreateFile={})),function(RenameFile2){function create(oldUri,newUri,options,annotation){let result={kind:"rename",oldUri:oldUri,newUri:newUri};return void 0===options||void 0===options.overwrite&&void 0===options.ignoreIfExists||(result.options=options),void 0!==annotation&&(result.annotationId=annotation),result}function is(value){let candidate=value;return candidate&&"rename"===candidate.kind&&Is.string(candidate.oldUri)&&Is.string(candidate.newUri)&&(void 0===candidate.options||(void 0===candidate.options.overwrite||Is.boolean(candidate.options.overwrite))&&(void 0===candidate.options.ignoreIfExists||Is.boolean(candidate.options.ignoreIfExists)))&&(void 0===candidate.annotationId||ChangeAnnotationIdentifier.is(candidate.annotationId))}__name(create,"create"),RenameFile2.create=create,__name(is,"is"),RenameFile2.is=is}(RenameFile||(RenameFile={})),function(DeleteFile2){function create(uri,options,annotation){let result={kind:"delete",uri:uri};return void 0===options||void 0===options.recursive&&void 0===options.ignoreIfNotExists||(result.options=options),void 0!==annotation&&(result.annotationId=annotation),result}function is(value){let candidate=value;return candidate&&"delete"===candidate.kind&&Is.string(candidate.uri)&&(void 0===candidate.options||(void 0===candidate.options.recursive||Is.boolean(candidate.options.recursive))&&(void 0===candidate.options.ignoreIfNotExists||Is.boolean(candidate.options.ignoreIfNotExists)))&&(void 0===candidate.annotationId||ChangeAnnotationIdentifier.is(candidate.annotationId))}__name(create,"create"),DeleteFile2.create=create,__name(is,"is"),DeleteFile2.is=is}(DeleteFile||(DeleteFile={})),function(WorkspaceEdit2){function is(value){let candidate=value;return candidate&&(void 0!==candidate.changes||void 0!==candidate.documentChanges)&&(void 0===candidate.documentChanges||candidate.documentChanges.every(change=>Is.string(change.kind)?CreateFile.is(change)||RenameFile.is(change)||DeleteFile.is(change):TextDocumentEdit.is(change)))}__name(is,"is"),WorkspaceEdit2.is=is}(WorkspaceEdit||(WorkspaceEdit={})),__name(_a2=class{constructor(edits,changeAnnotations){this.edits=edits,this.changeAnnotations=changeAnnotations}insert(position,newText,annotation){let edit,id;if(void 0===annotation?edit=TextEdit.insert(position,newText):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.insert(position,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.insert(position,newText,id)),this.edits.push(edit),void 0!==id)return id}replace(range,newText,annotation){let edit,id;if(void 0===annotation?edit=TextEdit.replace(range,newText):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.replace(range,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.replace(range,newText,id)),this.edits.push(edit),void 0!==id)return id}delete(range,annotation){let edit,id;if(void 0===annotation?edit=TextEdit.del(range):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.del(range,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.del(range,id)),this.edits.push(edit),void 0!==id)return id}add(edit){this.edits.push(edit)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(value){if(void 0===value)throw new Error("Text edit change is not configured to manage change annotations.")}},"TextEditChangeImpl"),TextEditChangeImpl=_a2,__name(_b2=class{constructor(annotations){this._annotations=void 0===annotations?Object.create(null):annotations,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(idOrAnnotation,annotation){let id;if(ChangeAnnotationIdentifier.is(idOrAnnotation)?id=idOrAnnotation:(id=this.nextId(),annotation=idOrAnnotation),void 0!==this._annotations[id])throw new Error(`Id ${id} is already in use.`);if(void 0===annotation)throw new Error(`No annotation provided for id ${id}`);return this._annotations[id]=annotation,this._size++,id}nextId(){return this._counter++,this._counter.toString()}},"ChangeAnnotations"),ChangeAnnotations=_b2,__name(_c2=class{constructor(workspaceEdit){this._textEditChanges=Object.create(null),void 0!==workspaceEdit?(this._workspaceEdit=workspaceEdit,workspaceEdit.documentChanges?(this._changeAnnotations=new ChangeAnnotations(workspaceEdit.changeAnnotations),workspaceEdit.changeAnnotations=this._changeAnnotations.all(),workspaceEdit.documentChanges.forEach(change=>{if(TextDocumentEdit.is(change)){const textEditChange=new TextEditChangeImpl(change.edits,this._changeAnnotations);this._textEditChanges[change.textDocument.uri]=textEditChange}})):workspaceEdit.changes&&Object.keys(workspaceEdit.changes).forEach(key=>{const textEditChange=new TextEditChangeImpl(workspaceEdit.changes[key]);this._textEditChanges[key]=textEditChange})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(key){if(OptionalVersionedTextDocumentIdentifier.is(key)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");const textDocument={uri:key.uri,version:key.version};let result=this._textEditChanges[textDocument.uri];if(!result){const edits=[],textDocumentEdit={textDocument:textDocument,edits:edits};this._workspaceEdit.documentChanges.push(textDocumentEdit),result=new TextEditChangeImpl(edits,this._changeAnnotations),this._textEditChanges[textDocument.uri]=result}return result}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");let result=this._textEditChanges[key];if(!result){let edits=[];this._workspaceEdit.changes[key]=edits,result=new TextEditChangeImpl(edits),this._textEditChanges[key]=result}return result}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new ChangeAnnotations,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))}createFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let annotation,operation,id;if(ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation,void 0===annotation?operation=CreateFile.create(uri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=CreateFile.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),void 0!==id)return id}renameFile(oldUri,newUri,optionsOrAnnotation,options){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let annotation,operation,id;if(ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation,void 0===annotation?operation=RenameFile.create(oldUri,newUri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=RenameFile.create(oldUri,newUri,options,id)),this._workspaceEdit.documentChanges.push(operation),void 0!==id)return id}deleteFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");let annotation,operation,id;if(ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation,void 0===annotation?operation=DeleteFile.create(uri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=DeleteFile.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),void 0!==id)return id}},"WorkspaceChange"),WorkspaceChange=_c2,function(TextDocumentIdentifier2){function create(uri){return{uri:uri}}function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)}__name(create,"create"),TextDocumentIdentifier2.create=create,__name(is,"is"),TextDocumentIdentifier2.is=is}(TextDocumentIdentifier||(TextDocumentIdentifier={})),function(VersionedTextDocumentIdentifier2){function create(uri,version){return{uri:uri,version:version}}function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.integer(candidate.version)}__name(create,"create"),VersionedTextDocumentIdentifier2.create=create,__name(is,"is"),VersionedTextDocumentIdentifier2.is=is}(VersionedTextDocumentIdentifier||(VersionedTextDocumentIdentifier={})),function(OptionalVersionedTextDocumentIdentifier2){function create(uri,version){return{uri:uri,version:version}}function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&(null===candidate.version||Is.integer(candidate.version))}__name(create,"create"),OptionalVersionedTextDocumentIdentifier2.create=create,__name(is,"is"),OptionalVersionedTextDocumentIdentifier2.is=is}(OptionalVersionedTextDocumentIdentifier||(OptionalVersionedTextDocumentIdentifier={})),function(TextDocumentItem2){function create(uri,languageId,version,text){return{uri:uri,languageId:languageId,version:version,text:text}}function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.string(candidate.languageId)&&Is.integer(candidate.version)&&Is.string(candidate.text)}__name(create,"create"),TextDocumentItem2.create=create,__name(is,"is"),TextDocumentItem2.is=is}(TextDocumentItem||(TextDocumentItem={})),function(MarkupKind2){function is(value){const candidate=value;return candidate===MarkupKind2.PlainText||candidate===MarkupKind2.Markdown}MarkupKind2.PlainText="plaintext",MarkupKind2.Markdown="markdown",__name(is,"is"),MarkupKind2.is=is}(MarkupKind||(MarkupKind={})),function(MarkupContent2){function is(value){const candidate=value;return Is.objectLiteral(value)&&MarkupKind.is(candidate.kind)&&Is.string(candidate.value)}__name(is,"is"),MarkupContent2.is=is}(MarkupContent||(MarkupContent={})),(CompletionItemKind2=CompletionItemKind||(CompletionItemKind={})).Text=1,CompletionItemKind2.Method=2,CompletionItemKind2.Function=3,CompletionItemKind2.Constructor=4,CompletionItemKind2.Field=5,CompletionItemKind2.Variable=6,CompletionItemKind2.Class=7,CompletionItemKind2.Interface=8,CompletionItemKind2.Module=9,CompletionItemKind2.Property=10,CompletionItemKind2.Unit=11,CompletionItemKind2.Value=12,CompletionItemKind2.Enum=13,CompletionItemKind2.Keyword=14,CompletionItemKind2.Snippet=15,CompletionItemKind2.Color=16,CompletionItemKind2.File=17,CompletionItemKind2.Reference=18,CompletionItemKind2.Folder=19,CompletionItemKind2.EnumMember=20,CompletionItemKind2.Constant=21,CompletionItemKind2.Struct=22,CompletionItemKind2.Event=23,CompletionItemKind2.Operator=24,CompletionItemKind2.TypeParameter=25,(InsertTextFormat2=InsertTextFormat||(InsertTextFormat={})).PlainText=1,InsertTextFormat2.Snippet=2,(CompletionItemTag||(CompletionItemTag={})).Deprecated=1,function(InsertReplaceEdit2){function create(newText,insert,replace){return{newText:newText,insert:insert,replace:replace}}function is(value){const candidate=value;return candidate&&Is.string(candidate.newText)&&Range.is(candidate.insert)&&Range.is(candidate.replace)}__name(create,"create"),InsertReplaceEdit2.create=create,__name(is,"is"),InsertReplaceEdit2.is=is}(InsertReplaceEdit||(InsertReplaceEdit={})),(InsertTextMode2=InsertTextMode||(InsertTextMode={})).asIs=1,InsertTextMode2.adjustIndentation=2,function(CompletionItemLabelDetails2){function is(value){const candidate=value;return candidate&&(Is.string(candidate.detail)||void 0===candidate.detail)&&(Is.string(candidate.description)||void 0===candidate.description)}__name(is,"is"),CompletionItemLabelDetails2.is=is}(CompletionItemLabelDetails||(CompletionItemLabelDetails={})),function(CompletionItem2){function create(label){return{label:label}}__name(create,"create"),CompletionItem2.create=create}(CompletionItem||(CompletionItem={})),function(CompletionList2){function create(items,isIncomplete){return{items:items||[],isIncomplete:!!isIncomplete}}__name(create,"create"),CompletionList2.create=create}(CompletionList||(CompletionList={})),function(MarkedString2){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function is(value){const candidate=value;return Is.string(candidate)||Is.objectLiteral(candidate)&&Is.string(candidate.language)&&Is.string(candidate.value)}__name(fromPlainText,"fromPlainText"),MarkedString2.fromPlainText=fromPlainText,__name(is,"is"),MarkedString2.is=is}(MarkedString||(MarkedString={})),function(Hover2){function is(value){let candidate=value;return!!candidate&&Is.objectLiteral(candidate)&&(MarkupContent.is(candidate.contents)||MarkedString.is(candidate.contents)||Is.typedArray(candidate.contents,MarkedString.is))&&(void 0===value.range||Range.is(value.range))}__name(is,"is"),Hover2.is=is}(Hover||(Hover={})),function(ParameterInformation2){function create(label,documentation){return documentation?{label:label,documentation:documentation}:{label:label}}__name(create,"create"),ParameterInformation2.create=create}(ParameterInformation||(ParameterInformation={})),function(SignatureInformation2){function create(label,documentation,...parameters){let result={label:label};return Is.defined(documentation)&&(result.documentation=documentation),Is.defined(parameters)?result.parameters=parameters:result.parameters=[],result}__name(create,"create"),SignatureInformation2.create=create}(SignatureInformation||(SignatureInformation={})),(DocumentHighlightKind2=DocumentHighlightKind||(DocumentHighlightKind={})).Text=1,DocumentHighlightKind2.Read=2,DocumentHighlightKind2.Write=3,function(DocumentHighlight2){function create(range,kind){let result={range:range};return Is.number(kind)&&(result.kind=kind),result}__name(create,"create"),DocumentHighlight2.create=create}(DocumentHighlight||(DocumentHighlight={})),(SymbolKind2=SymbolKind||(SymbolKind={})).File=1,SymbolKind2.Module=2,SymbolKind2.Namespace=3,SymbolKind2.Package=4,SymbolKind2.Class=5,SymbolKind2.Method=6,SymbolKind2.Property=7,SymbolKind2.Field=8,SymbolKind2.Constructor=9,SymbolKind2.Enum=10,SymbolKind2.Interface=11,SymbolKind2.Function=12,SymbolKind2.Variable=13,SymbolKind2.Constant=14,SymbolKind2.String=15,SymbolKind2.Number=16,SymbolKind2.Boolean=17,SymbolKind2.Array=18,SymbolKind2.Object=19,SymbolKind2.Key=20,SymbolKind2.Null=21,SymbolKind2.EnumMember=22,SymbolKind2.Struct=23,SymbolKind2.Event=24,SymbolKind2.Operator=25,SymbolKind2.TypeParameter=26,(SymbolTag||(SymbolTag={})).Deprecated=1,function(SymbolInformation2){function create(name,kind,range,uri,containerName){let result={name:name,kind:kind,location:{uri:uri,range:range}};return containerName&&(result.containerName=containerName),result}__name(create,"create"),SymbolInformation2.create=create}(SymbolInformation||(SymbolInformation={})),function(WorkspaceSymbol2){function create(name,kind,uri,range){return void 0!==range?{name:name,kind:kind,location:{uri:uri,range:range}}:{name:name,kind:kind,location:{uri:uri}}}__name(create,"create"),WorkspaceSymbol2.create=create}(WorkspaceSymbol||(WorkspaceSymbol={})),function(DocumentSymbol2){function create(name,detail,kind,range,selectionRange,children){let result={name:name,detail:detail,kind:kind,range:range,selectionRange:selectionRange};return void 0!==children&&(result.children=children),result}function is(value){let candidate=value;return candidate&&Is.string(candidate.name)&&Is.number(candidate.kind)&&Range.is(candidate.range)&&Range.is(candidate.selectionRange)&&(void 0===candidate.detail||Is.string(candidate.detail))&&(void 0===candidate.deprecated||Is.boolean(candidate.deprecated))&&(void 0===candidate.children||Array.isArray(candidate.children))&&(void 0===candidate.tags||Array.isArray(candidate.tags))}__name(create,"create"),DocumentSymbol2.create=create,__name(is,"is"),DocumentSymbol2.is=is}(DocumentSymbol||(DocumentSymbol={})),(CodeActionKind2=CodeActionKind||(CodeActionKind={})).Empty="",CodeActionKind2.QuickFix="quickfix",CodeActionKind2.Refactor="refactor",CodeActionKind2.RefactorExtract="refactor.extract",CodeActionKind2.RefactorInline="refactor.inline",CodeActionKind2.RefactorRewrite="refactor.rewrite",CodeActionKind2.Source="source",CodeActionKind2.SourceOrganizeImports="source.organizeImports",CodeActionKind2.SourceFixAll="source.fixAll",(CodeActionTriggerKind2=CodeActionTriggerKind||(CodeActionTriggerKind={})).Invoked=1,CodeActionTriggerKind2.Automatic=2,function(CodeActionContext2){function create(diagnostics,only,triggerKind){let result={diagnostics:diagnostics};return null!=only&&(result.only=only),null!=triggerKind&&(result.triggerKind=triggerKind),result}function is(value){let candidate=value;return Is.defined(candidate)&&Is.typedArray(candidate.diagnostics,Diagnostic.is)&&(void 0===candidate.only||Is.typedArray(candidate.only,Is.string))&&(void 0===candidate.triggerKind||candidate.triggerKind===CodeActionTriggerKind.Invoked||candidate.triggerKind===CodeActionTriggerKind.Automatic)}__name(create,"create"),CodeActionContext2.create=create,__name(is,"is"),CodeActionContext2.is=is}(CodeActionContext||(CodeActionContext={})),function(CodeAction2){function create(title,kindOrCommandOrEdit,kind){let result={title:title},checkKind=!0;return"string"==typeof kindOrCommandOrEdit?(checkKind=!1,result.kind=kindOrCommandOrEdit):Command.is(kindOrCommandOrEdit)?result.command=kindOrCommandOrEdit:result.edit=kindOrCommandOrEdit,checkKind&&void 0!==kind&&(result.kind=kind),result}function is(value){let candidate=value;return candidate&&Is.string(candidate.title)&&(void 0===candidate.diagnostics||Is.typedArray(candidate.diagnostics,Diagnostic.is))&&(void 0===candidate.kind||Is.string(candidate.kind))&&(void 0!==candidate.edit||void 0!==candidate.command)&&(void 0===candidate.command||Command.is(candidate.command))&&(void 0===candidate.isPreferred||Is.boolean(candidate.isPreferred))&&(void 0===candidate.edit||WorkspaceEdit.is(candidate.edit))}__name(create,"create"),CodeAction2.create=create,__name(is,"is"),CodeAction2.is=is}(CodeAction||(CodeAction={})),function(CodeLens2){function create(range,data){let result={range:range};return Is.defined(data)&&(result.data=data),result}function is(value){let candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.undefined(candidate.command)||Command.is(candidate.command))}__name(create,"create"),CodeLens2.create=create,__name(is,"is"),CodeLens2.is=is}(CodeLens||(CodeLens={})),function(FormattingOptions2){function create(tabSize,insertSpaces){return{tabSize:tabSize,insertSpaces:insertSpaces}}function is(value){let candidate=value;return Is.defined(candidate)&&Is.uinteger(candidate.tabSize)&&Is.boolean(candidate.insertSpaces)}__name(create,"create"),FormattingOptions2.create=create,__name(is,"is"),FormattingOptions2.is=is}(FormattingOptions||(FormattingOptions={})),function(DocumentLink2){function create(range,target,data){return{range:range,target:target,data:data}}function is(value){let candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.undefined(candidate.target)||Is.string(candidate.target))}__name(create,"create"),DocumentLink2.create=create,__name(is,"is"),DocumentLink2.is=is}(DocumentLink||(DocumentLink={})),function(SelectionRange2){function create(range,parent){return{range:range,parent:parent}}function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&(void 0===candidate.parent||SelectionRange2.is(candidate.parent))}__name(create,"create"),SelectionRange2.create=create,__name(is,"is"),SelectionRange2.is=is}(SelectionRange||(SelectionRange={})),(SemanticTokenTypes2=SemanticTokenTypes||(SemanticTokenTypes={})).namespace="namespace",SemanticTokenTypes2.type="type",SemanticTokenTypes2.class="class",SemanticTokenTypes2.enum="enum",SemanticTokenTypes2.interface="interface",SemanticTokenTypes2.struct="struct",SemanticTokenTypes2.typeParameter="typeParameter",SemanticTokenTypes2.parameter="parameter",SemanticTokenTypes2.variable="variable",SemanticTokenTypes2.property="property",SemanticTokenTypes2.enumMember="enumMember",SemanticTokenTypes2.event="event",SemanticTokenTypes2.function="function",SemanticTokenTypes2.method="method",SemanticTokenTypes2.macro="macro",SemanticTokenTypes2.keyword="keyword",SemanticTokenTypes2.modifier="modifier",SemanticTokenTypes2.comment="comment",SemanticTokenTypes2.string="string",SemanticTokenTypes2.number="number",SemanticTokenTypes2.regexp="regexp",SemanticTokenTypes2.operator="operator",SemanticTokenTypes2.decorator="decorator",(SemanticTokenModifiers2=SemanticTokenModifiers||(SemanticTokenModifiers={})).declaration="declaration",SemanticTokenModifiers2.definition="definition",SemanticTokenModifiers2.readonly="readonly",SemanticTokenModifiers2.static="static",SemanticTokenModifiers2.deprecated="deprecated",SemanticTokenModifiers2.abstract="abstract",SemanticTokenModifiers2.async="async",SemanticTokenModifiers2.modification="modification",SemanticTokenModifiers2.documentation="documentation",SemanticTokenModifiers2.defaultLibrary="defaultLibrary",function(SemanticTokens2){function is(value){const candidate=value;return Is.objectLiteral(candidate)&&(void 0===candidate.resultId||"string"==typeof candidate.resultId)&&Array.isArray(candidate.data)&&(0===candidate.data.length||"number"==typeof candidate.data[0])}__name(is,"is"),SemanticTokens2.is=is}(SemanticTokens||(SemanticTokens={})),function(InlineValueText2){function create(range,text){return{range:range,text:text}}function is(value){const candidate=value;return null!=candidate&&Range.is(candidate.range)&&Is.string(candidate.text)}__name(create,"create"),InlineValueText2.create=create,__name(is,"is"),InlineValueText2.is=is}(InlineValueText||(InlineValueText={})),function(InlineValueVariableLookup2){function create(range,variableName,caseSensitiveLookup){return{range:range,variableName:variableName,caseSensitiveLookup:caseSensitiveLookup}}function is(value){const candidate=value;return null!=candidate&&Range.is(candidate.range)&&Is.boolean(candidate.caseSensitiveLookup)&&(Is.string(candidate.variableName)||void 0===candidate.variableName)}__name(create,"create"),InlineValueVariableLookup2.create=create,__name(is,"is"),InlineValueVariableLookup2.is=is}(InlineValueVariableLookup||(InlineValueVariableLookup={})),function(InlineValueEvaluatableExpression2){function create(range,expression){return{range:range,expression:expression}}function is(value){const candidate=value;return null!=candidate&&Range.is(candidate.range)&&(Is.string(candidate.expression)||void 0===candidate.expression)}__name(create,"create"),InlineValueEvaluatableExpression2.create=create,__name(is,"is"),InlineValueEvaluatableExpression2.is=is}(InlineValueEvaluatableExpression||(InlineValueEvaluatableExpression={})),function(InlineValueContext2){function create(frameId,stoppedLocation){return{frameId:frameId,stoppedLocation:stoppedLocation}}function is(value){const candidate=value;return Is.defined(candidate)&&Range.is(value.stoppedLocation)}__name(create,"create"),InlineValueContext2.create=create,__name(is,"is"),InlineValueContext2.is=is}(InlineValueContext||(InlineValueContext={})),function(InlayHintKind2){function is(value){return 1===value||2===value}InlayHintKind2.Type=1,InlayHintKind2.Parameter=2,__name(is,"is"),InlayHintKind2.is=is}(InlayHintKind||(InlayHintKind={})),function(InlayHintLabelPart2){function create(value){return{value:value}}function is(value){const candidate=value;return Is.objectLiteral(candidate)&&(void 0===candidate.tooltip||Is.string(candidate.tooltip)||MarkupContent.is(candidate.tooltip))&&(void 0===candidate.location||Location.is(candidate.location))&&(void 0===candidate.command||Command.is(candidate.command))}__name(create,"create"),InlayHintLabelPart2.create=create,__name(is,"is"),InlayHintLabelPart2.is=is}(InlayHintLabelPart||(InlayHintLabelPart={})),function(InlayHint2){function create(position,label,kind){const result={position:position,label:label};return void 0!==kind&&(result.kind=kind),result}function is(value){const candidate=value;return Is.objectLiteral(candidate)&&Position.is(candidate.position)&&(Is.string(candidate.label)||Is.typedArray(candidate.label,InlayHintLabelPart.is))&&(void 0===candidate.kind||InlayHintKind.is(candidate.kind))&&void 0===candidate.textEdits||Is.typedArray(candidate.textEdits,TextEdit.is)&&(void 0===candidate.tooltip||Is.string(candidate.tooltip)||MarkupContent.is(candidate.tooltip))&&(void 0===candidate.paddingLeft||Is.boolean(candidate.paddingLeft))&&(void 0===candidate.paddingRight||Is.boolean(candidate.paddingRight))}__name(create,"create"),InlayHint2.create=create,__name(is,"is"),InlayHint2.is=is}(InlayHint||(InlayHint={})),function(StringValue2){function createSnippet(value){return{kind:"snippet",value:value}}__name(createSnippet,"createSnippet"),StringValue2.createSnippet=createSnippet}(StringValue||(StringValue={})),function(InlineCompletionItem2){function create(insertText,filterText,range,command){return{insertText:insertText,filterText:filterText,range:range,command:command}}__name(create,"create"),InlineCompletionItem2.create=create}(InlineCompletionItem||(InlineCompletionItem={})),function(InlineCompletionList2){function create(items){return{items:items}}__name(create,"create"),InlineCompletionList2.create=create}(InlineCompletionList||(InlineCompletionList={})),(InlineCompletionTriggerKind2=InlineCompletionTriggerKind||(InlineCompletionTriggerKind={})).Invoked=0,InlineCompletionTriggerKind2.Automatic=1,function(SelectedCompletionInfo2){function create(range,text){return{range:range,text:text}}__name(create,"create"),SelectedCompletionInfo2.create=create}(SelectedCompletionInfo||(SelectedCompletionInfo={})),function(InlineCompletionContext2){function create(triggerKind,selectedCompletionInfo){return{triggerKind:triggerKind,selectedCompletionInfo:selectedCompletionInfo}}__name(create,"create"),InlineCompletionContext2.create=create}(InlineCompletionContext||(InlineCompletionContext={})),function(WorkspaceFolder2){function is(value){const candidate=value;return Is.objectLiteral(candidate)&&URI.is(candidate.uri)&&Is.string(candidate.name)}__name(is,"is"),WorkspaceFolder2.is=is}(WorkspaceFolder||(WorkspaceFolder={})),EOL=["\n","\r\n","\r"],function(TextDocument3){function create(uri,languageId,version,content){return new FullTextDocument(uri,languageId,version,content)}function is(value){let candidate=value;return!!(Is.defined(candidate)&&Is.string(candidate.uri)&&(Is.undefined(candidate.languageId)||Is.string(candidate.languageId))&&Is.uinteger(candidate.lineCount)&&Is.func(candidate.getText)&&Is.func(candidate.positionAt)&&Is.func(candidate.offsetAt))}function applyEdits(document,edits){let text=document.getText(),sortedEdits=mergeSort2(edits,(a,b)=>{let diff=a.range.start.line-b.range.start.line;return 0===diff?a.range.start.character-b.range.start.character:diff}),lastModifiedOffset=text.length;for(let i=sortedEdits.length-1;i>=0;i--){let e=sortedEdits[i],startOffset=document.offsetAt(e.range.start),endOffset=document.offsetAt(e.range.end);if(!(endOffset<=lastModifiedOffset))throw new Error("Overlapping edit");text=text.substring(0,startOffset)+e.newText+text.substring(endOffset,text.length),lastModifiedOffset=startOffset}return text}function mergeSort2(data,compare){if(data.length<=1)return data;const p=data.length/2|0,left=data.slice(0,p),right=data.slice(p);mergeSort2(left,compare),mergeSort2(right,compare);let leftIdx=0,rightIdx=0,i=0;for(;leftIdx<left.length&&rightIdx<right.length;){let ret=compare(left[leftIdx],right[rightIdx]);data[i++]=ret<=0?left[leftIdx++]:right[rightIdx++]}for(;leftIdx<left.length;)data[i++]=left[leftIdx++];for(;rightIdx<right.length;)data[i++]=right[rightIdx++];return data}__name(create,"create"),TextDocument3.create=create,__name(is,"is"),TextDocument3.is=is,__name(applyEdits,"applyEdits"),TextDocument3.applyEdits=applyEdits,__name(mergeSort2,"mergeSort")}(TextDocument||(TextDocument={})),__name(_d2=class{constructor(uri,languageId,version,content){this._uri=uri,this._languageId=languageId,this._version=version,this._content=content,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(range){if(range){let start=this.offsetAt(range.start),end=this.offsetAt(range.end);return this._content.substring(start,end)}return this._content}update(event,version){this._content=event.text,this._version=version,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let lineOffsets=[],text=this._content,isLineStart=!0;for(let i=0;i<text.length;i++){isLineStart&&(lineOffsets.push(i),isLineStart=!1);let ch=text.charAt(i);isLineStart="\r"===ch||"\n"===ch,"\r"===ch&&i+1<text.length&&"\n"===text.charAt(i+1)&&i++}isLineStart&&text.length>0&&lineOffsets.push(text.length),this._lineOffsets=lineOffsets}return this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);let lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(0===high)return Position.create(0,offset);for(;low<high;){let mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}let line=low-1;return Position.create(line,offset-lineOffsets[line])}offsetAt(position){let lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;let lineOffset=lineOffsets[position.line],nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)}get lineCount(){return this.getLineOffsets().length}},"FullTextDocument"),FullTextDocument=_d2,function(Is2){const toString4=Object.prototype.toString;function defined(value){return void 0!==value}function undefined2(value){return void 0===value}function boolean(value){return!0===value||!1===value}function string(value){return"[object String]"===toString4.call(value)}function number(value){return"[object Number]"===toString4.call(value)}function numberRange(value,min2,max){return"[object Number]"===toString4.call(value)&&min2<=value&&value<=max}function integer2(value){return"[object Number]"===toString4.call(value)&&-2147483648<=value&&value<=2147483647}function uinteger2(value){return"[object Number]"===toString4.call(value)&&0<=value&&value<=2147483647}function func(value){return"[object Function]"===toString4.call(value)}function objectLiteral(value){return null!==value&&"object"==typeof value}function typedArray(value,check){return Array.isArray(value)&&value.every(check)}__name(defined,"defined"),Is2.defined=defined,__name(undefined2,"undefined"),Is2.undefined=undefined2,__name(boolean,"boolean"),Is2.boolean=boolean,__name(string,"string"),Is2.string=string,__name(number,"number"),Is2.number=number,__name(numberRange,"numberRange"),Is2.numberRange=numberRange,__name(integer2,"integer"),Is2.integer=integer2,__name(uinteger2,"uinteger"),Is2.uinteger=uinteger2,__name(func,"func"),Is2.func=func,__name(objectLiteral,"objectLiteral"),Is2.objectLiteral=objectLiteral,__name(typedArray,"typedArray"),Is2.typedArray=typedArray}(Is||(Is={}))}},function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res}),require_ral=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(exports2){var _ral;function RAL(){if(void 0===_ral)throw new Error("No runtime abstraction layer installed");return _ral}Object.defineProperty(exports2,"__esModule",{value:!0}),__name(RAL,"RAL"),function(RAL2){function install(ral){if(void 0===ral)throw new Error("No runtime abstraction layer provided");_ral=ral}__name(install,"install"),RAL2.install=install}(RAL||(RAL={})),exports2.default=RAL}}),require_is=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(exports2){function boolean(value){return!0===value||!1===value}function string(value){return"string"==typeof value||value instanceof String}function number(value){return"number"==typeof value||value instanceof Number}function error(value){return value instanceof Error}function func(value){return"function"==typeof value}function array(value){return Array.isArray(value)}function stringArray(value){return array(value)&&value.every(elem=>string(elem))}Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.stringArray=exports2.array=exports2.func=exports2.error=exports2.number=exports2.string=exports2.boolean=void 0,__name(boolean,"boolean"),exports2.boolean=boolean,__name(string,"string"),exports2.string=string,__name(number,"number"),exports2.number=number,__name(error,"error"),exports2.error=error,__name(func,"func"),exports2.func=func,__name(array,"array"),exports2.array=array,__name(stringArray,"stringArray"),exports2.stringArray=stringArray}}),require_events=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(exports2){var _a2,_b2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.Emitter=exports2.Event=void 0;var Event,ral_1=require_ral();!function(Event2){const _disposable={dispose(){}};Event2.None=function(){return _disposable}}(Event||(exports2.Event=Event={}));var CallbackList=(__name(_a2=class{add(callback,context=null,bucket){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(callback),this._contexts.push(context),Array.isArray(bucket)&&bucket.push({dispose:__name(()=>this.remove(callback,context),"dispose")})}remove(callback,context=null){if(!this._callbacks)return;let foundCallbackWithDifferentContext=!1;for(let i=0,len=this._callbacks.length;i<len;i++)if(this._callbacks[i]===callback){if(this._contexts[i]===context)return this._callbacks.splice(i,1),void this._contexts.splice(i,1);foundCallbackWithDifferentContext=!0}if(foundCallbackWithDifferentContext)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...args){if(!this._callbacks)return[];const ret=[],callbacks=this._callbacks.slice(0),contexts=this._contexts.slice(0);for(let i=0,len=callbacks.length;i<len;i++)try{ret.push(callbacks[i].apply(contexts[i],args))}catch(e){(0,ral_1.default)().console.error(e)}return ret}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},"CallbackList"),_a2),Emitter3=(__name(_b2=class{constructor(_options){this._options=_options}get event(){return this._event||(this._event=(listener,thisArgs,disposables)=>{this._callbacks||(this._callbacks=new CallbackList),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(listener,thisArgs);const result={dispose:__name(()=>{this._callbacks&&(this._callbacks.remove(listener,thisArgs),result.dispose=_b2._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(disposables)&&disposables.push(result),result}),this._event}fire(event){this._callbacks&&this._callbacks.invoke.call(this._callbacks,event)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}},"Emitter"),_b2);exports2.Emitter=Emitter3,Emitter3._noop=function(){}}}),require_cancellation=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(exports2){var _a2,_b2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.CancellationTokenSource=exports2.CancellationToken=void 0;var CancellationToken11,ral_1=require_ral(),Is2=require_is(),events_1=require_events();!function(CancellationToken12){function is(value){const candidate=value;return candidate&&(candidate===CancellationToken12.None||candidate===CancellationToken12.Cancelled||Is2.boolean(candidate.isCancellationRequested)&&!!candidate.onCancellationRequested)}CancellationToken12.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:events_1.Event.None}),CancellationToken12.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:events_1.Event.None}),__name(is,"is"),CancellationToken12.is=is}(CancellationToken11||(exports2.CancellationToken=CancellationToken11={}));var shortcutEvent=Object.freeze(function(callback,context){const handle=(0,ral_1.default)().timer.setTimeout(callback.bind(context),0);return{dispose(){handle.dispose()}}}),MutableToken=(__name(_a2=class{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?shortcutEvent:(this._emitter||(this._emitter=new events_1.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},"MutableToken"),_a2),CancellationTokenSource3=(__name(_b2=class{get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token.cancel():this._token=CancellationToken11.Cancelled}dispose(){this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken11.None}},"CancellationTokenSource"),_b2);exports2.CancellationTokenSource=CancellationTokenSource3}}),require_messages=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(exports2){var _a2,_b2,_c2,_d2,_e2,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q2,_r2,_s2,_t2,_u2,_v2,_w2,_x2,_y2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.Message=exports2.NotificationType9=exports2.NotificationType8=exports2.NotificationType7=exports2.NotificationType6=exports2.NotificationType5=exports2.NotificationType4=exports2.NotificationType3=exports2.NotificationType2=exports2.NotificationType1=exports2.NotificationType0=exports2.NotificationType=exports2.RequestType9=exports2.RequestType8=exports2.RequestType7=exports2.RequestType6=exports2.RequestType5=exports2.RequestType4=exports2.RequestType3=exports2.RequestType2=exports2.RequestType1=exports2.RequestType=exports2.RequestType0=exports2.AbstractMessageSignature=exports2.ParameterStructures=exports2.ResponseError=exports2.ErrorCodes=void 0;var ErrorCodes,ErrorCodes2,is=require_is();(ErrorCodes2=ErrorCodes||(exports2.ErrorCodes=ErrorCodes={})).ParseError=-32700,ErrorCodes2.InvalidRequest=-32600,ErrorCodes2.MethodNotFound=-32601,ErrorCodes2.InvalidParams=-32602,ErrorCodes2.InternalError=-32603,ErrorCodes2.jsonrpcReservedErrorRangeStart=-32099,ErrorCodes2.serverErrorStart=-32099,ErrorCodes2.MessageWriteError=-32099,ErrorCodes2.MessageReadError=-32098,ErrorCodes2.PendingResponseRejected=-32097,ErrorCodes2.ConnectionInactive=-32096,ErrorCodes2.ServerNotInitialized=-32002,ErrorCodes2.UnknownErrorCode=-32001,ErrorCodes2.jsonrpcReservedErrorRangeEnd=-32e3,ErrorCodes2.serverErrorEnd=-32e3;var ResponseError2=(_a2=class extends Error{constructor(code,message,data){super(message),this.code=is.number(code)?code:ErrorCodes.UnknownErrorCode,this.data=data,Object.setPrototypeOf(this,_a2.prototype)}toJson(){const result={code:this.code,message:this.message};return void 0!==this.data&&(result.data=this.data),result}},__name(_a2,"ResponseError"),_a2);exports2.ResponseError=ResponseError2;var ParameterStructures=(__name(_b2=class{constructor(kind){this.kind=kind}static is(value){return value===_b2.auto||value===_b2.byName||value===_b2.byPosition}toString(){return this.kind}},"ParameterStructures"),_b2);exports2.ParameterStructures=ParameterStructures,ParameterStructures.auto=new ParameterStructures("auto"),ParameterStructures.byPosition=new ParameterStructures("byPosition"),ParameterStructures.byName=new ParameterStructures("byName");var AbstractMessageSignature=(__name(_c2=class{constructor(method,numberOfParams){this.method=method,this.numberOfParams=numberOfParams}get parameterStructures(){return ParameterStructures.auto}},"AbstractMessageSignature"),_c2);exports2.AbstractMessageSignature=AbstractMessageSignature;var RequestType0=(__name(_d2=class extends AbstractMessageSignature{constructor(method){super(method,0)}},"RequestType0"),_d2);exports2.RequestType0=RequestType0;var RequestType=(__name(_e2=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}},"RequestType"),_e2);exports2.RequestType=RequestType;var RequestType1=(__name(_f2=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}},"RequestType1"),_f2);exports2.RequestType1=RequestType1;var RequestType2=(__name(_g2=class extends AbstractMessageSignature{constructor(method){super(method,2)}},"RequestType2"),_g2);exports2.RequestType2=RequestType2;var RequestType3=(__name(_h2=class extends AbstractMessageSignature{constructor(method){super(method,3)}},"RequestType3"),_h2);exports2.RequestType3=RequestType3;var RequestType4=(__name(_i2=class extends AbstractMessageSignature{constructor(method){super(method,4)}},"RequestType4"),_i2);exports2.RequestType4=RequestType4;var RequestType5=(__name(_j2=class extends AbstractMessageSignature{constructor(method){super(method,5)}},"RequestType5"),_j2);exports2.RequestType5=RequestType5;var RequestType6=(__name(_k2=class extends AbstractMessageSignature{constructor(method){super(method,6)}},"RequestType6"),_k2);exports2.RequestType6=RequestType6;var RequestType7=(__name(_l2=class extends AbstractMessageSignature{constructor(method){super(method,7)}},"RequestType7"),_l2);exports2.RequestType7=RequestType7;var RequestType8=(__name(_m2=class extends AbstractMessageSignature{constructor(method){super(method,8)}},"RequestType8"),_m2);exports2.RequestType8=RequestType8;var RequestType9=(__name(_n2=class extends AbstractMessageSignature{constructor(method){super(method,9)}},"RequestType9"),_n2);exports2.RequestType9=RequestType9;var NotificationType=(__name(_o2=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}},"NotificationType"),_o2);exports2.NotificationType=NotificationType;var NotificationType0=(__name(_p2=class extends AbstractMessageSignature{constructor(method){super(method,0)}},"NotificationType0"),_p2);exports2.NotificationType0=NotificationType0;var NotificationType1=(__name(_q2=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}},"NotificationType1"),_q2);exports2.NotificationType1=NotificationType1;var NotificationType2=(__name(_r2=class extends AbstractMessageSignature{constructor(method){super(method,2)}},"NotificationType2"),_r2);exports2.NotificationType2=NotificationType2;var NotificationType3=(__name(_s2=class extends AbstractMessageSignature{constructor(method){super(method,3)}},"NotificationType3"),_s2);exports2.NotificationType3=NotificationType3;var NotificationType4=(__name(_t2=class extends AbstractMessageSignature{constructor(method){super(method,4)}},"NotificationType4"),_t2);exports2.NotificationType4=NotificationType4;var NotificationType5=(__name(_u2=class extends AbstractMessageSignature{constructor(method){super(method,5)}},"NotificationType5"),_u2);exports2.NotificationType5=NotificationType5;var NotificationType6=(__name(_v2=class extends AbstractMessageSignature{constructor(method){super(method,6)}},"NotificationType6"),_v2);exports2.NotificationType6=NotificationType6;var NotificationType7=(__name(_w2=class extends AbstractMessageSignature{constructor(method){super(method,7)}},"NotificationType7"),_w2);exports2.NotificationType7=NotificationType7;var NotificationType8=(__name(_x2=class extends AbstractMessageSignature{constructor(method){super(method,8)}},"NotificationType8"),_x2);exports2.NotificationType8=NotificationType8;var Message,NotificationType9=(__name(_y2=class extends AbstractMessageSignature{constructor(method){super(method,9)}},"NotificationType9"),_y2);exports2.NotificationType9=NotificationType9,function(Message2){function isRequest(message){const candidate=message;return candidate&&is.string(candidate.method)&&(is.string(candidate.id)||is.number(candidate.id))}function isNotification(message){const candidate=message;return candidate&&is.string(candidate.method)&&void 0===message.id}function isResponse(message){const candidate=message;return candidate&&(void 0!==candidate.result||!!candidate.error)&&(is.string(candidate.id)||is.number(candidate.id)||null===candidate.id)}__name(isRequest,"isRequest"),Message2.isRequest=isRequest,__name(isNotification,"isNotification"),Message2.isNotification=isNotification,__name(isResponse,"isResponse"),Message2.isResponse=isResponse}(Message||(exports2.Message=Message={}))}}),require_linkedMap=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(exports2){var _a3,_b2,_a2,Touch,Touch2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.LRUCache=exports2.LinkedMap=exports2.Touch=void 0,(Touch2=Touch||(exports2.Touch=Touch={})).None=0,Touch2.First=1,Touch2.AsOld=Touch2.First,Touch2.Last=2,Touch2.AsNew=Touch2.Last;var LinkedMap=(_a3=class{constructor(){this[_a2]="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(){var _a4;return null==(_a4=this._head)?void 0:_a4.value}get last(){var _a4;return null==(_a4=this._tail)?void 0:_a4.value}has(key){return this._map.has(key)}get(key,touch=Touch.None){const item=this._map.get(key);if(item)return touch!==Touch.None&&this.touch(item,touch),item.value}set(key,value,touch=Touch.None){let item=this._map.get(key);if(item)item.value=value,touch!==Touch.None&&this.touch(item,touch);else{switch(item={key:key,value:value,next:void 0,previous:void 0},touch){case Touch.None:this.addItemLast(item);break;case Touch.First:this.addItemFirst(item);break;case Touch.Last:default:this.addItemLast(item)}this._map.set(key,item),this._size++}return this}delete(key){return!!this.remove(key)}remove(key){const item=this._map.get(key);if(item)return this._map.delete(key),this.removeItem(item),this._size--,item.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const item=this._head;return this._map.delete(item.key),this.removeItem(item),this._size--,item.value}forEach(callbackfn,thisArg){const state=this._state;let current=this._head;for(;current;){if(thisArg?callbackfn.bind(thisArg)(current.value,current.key,this):callbackfn(current.value,current.key,this),this._state!==state)throw new Error("LinkedMap got modified during iteration.");current=current.next}}keys(){const state=this._state;let current=this._head;const iterator={[Symbol.iterator]:()=>iterator,next:__name(()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){const result={value:current.key,done:!1};return current=current.next,result}return{value:void 0,done:!0}},"next")};return iterator}values(){const state=this._state;let current=this._head;const iterator={[Symbol.iterator]:()=>iterator,next:__name(()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){const result={value:current.value,done:!1};return current=current.next,result}return{value:void 0,done:!0}},"next")};return iterator}entries(){const state=this._state;let current=this._head;const iterator={[Symbol.iterator]:()=>iterator,next:__name(()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){const result={value:[current.key,current.value],done:!1};return current=current.next,result}return{value:void 0,done:!0}},"next")};return iterator}[(_a2=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(newSize){if(newSize>=this.size)return;if(0===newSize)return void this.clear();let current=this._head,currentSize=this.size;for(;current&&currentSize>newSize;)this._map.delete(current.key),current=current.next,currentSize--;this._head=current,this._size=currentSize,current&&(current.previous=void 0),this._state++}addItemFirst(item){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");item.next=this._head,this._head.previous=item}else this._tail=item;this._head=item,this._state++}addItemLast(item){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");item.previous=this._tail,this._tail.next=item}else this._head=item;this._tail=item,this._state++}removeItem(item){if(item===this._head&&item===this._tail)this._head=void 0,this._tail=void 0;else if(item===this._head){if(!item.next)throw new Error("Invalid list");item.next.previous=void 0,this._head=item.next}else if(item===this._tail){if(!item.previous)throw new Error("Invalid list");item.previous.next=void 0,this._tail=item.previous}else{const next=item.next,previous=item.previous;if(!next||!previous)throw new Error("Invalid list");next.previous=previous,previous.next=next}item.next=void 0,item.previous=void 0,this._state++}touch(item,touch){if(!this._head||!this._tail)throw new Error("Invalid list");if(touch===Touch.First||touch===Touch.Last)if(touch===Touch.First){if(item===this._head)return;const next=item.next,previous=item.previous;item===this._tail?(previous.next=void 0,this._tail=previous):(next.previous=previous,previous.next=next),item.previous=void 0,item.next=this._head,this._head.previous=item,this._head=item,this._state++}else if(touch===Touch.Last){if(item===this._tail)return;const next=item.next,previous=item.previous;item===this._head?(next.previous=void 0,this._head=next):(next.previous=previous,previous.next=next),item.next=void 0,item.previous=this._tail,this._tail.next=item,this._tail=item,this._state++}}toJSON(){const data=[];return this.forEach((value,key)=>{data.push([key,value])}),data}fromJSON(data){this.clear();for(const[key,value]of data)this.set(key,value)}},__name(_a3,"LinkedMap"),_a3);exports2.LinkedMap=LinkedMap;var LRUCache=(__name(_b2=class extends LinkedMap{constructor(limit,ratio=1){super(),this._limit=limit,this._ratio=Math.min(Math.max(0,ratio),1)}get limit(){return this._limit}set limit(limit){this._limit=limit,this.checkTrim()}get ratio(){return this._ratio}set ratio(ratio){this._ratio=Math.min(Math.max(0,ratio),1),this.checkTrim()}get(key,touch=Touch.AsNew){return super.get(key,touch)}peek(key){return super.get(key,Touch.None)}set(key,value){return super.set(key,value,Touch.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}},"LRUCache"),_b2);exports2.LRUCache=LRUCache}}),require_disposable=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(exports2){var Disposable2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.Disposable=void 0,function(Disposable3){function create(func){return{dispose:func}}__name(create,"create"),Disposable3.create=create}(Disposable2||(exports2.Disposable=Disposable2={}))}}),require_sharedArrayCancellation=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(exports2){var _a2,_b2,_c2,_d2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.SharedArrayReceiverStrategy=exports2.SharedArraySenderStrategy=void 0;var CancellationState,CancellationState2,cancellation_1=require_cancellation();(CancellationState2=CancellationState||(CancellationState={})).Continue=0,CancellationState2.Cancelled=1;var SharedArraySenderStrategy=(__name(_a2=class{constructor(){this.buffers=new Map}enableCancellation(request){if(null===request.id)return;const buffer=new SharedArrayBuffer(4);new Int32Array(buffer,0,1)[0]=CancellationState.Continue,this.buffers.set(request.id,buffer),request.$cancellationData=buffer}async sendCancellation(_conn,id){const buffer=this.buffers.get(id);if(void 0===buffer)return;const data=new Int32Array(buffer,0,1);Atomics.store(data,0,CancellationState.Cancelled)}cleanup(id){this.buffers.delete(id)}dispose(){this.buffers.clear()}},"SharedArraySenderStrategy"),_a2);exports2.SharedArraySenderStrategy=SharedArraySenderStrategy;var SharedArrayBufferCancellationToken=(__name(_b2=class{constructor(buffer){this.data=new Int32Array(buffer,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===CancellationState.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},"SharedArrayBufferCancellationToken"),_b2),SharedArrayBufferCancellationTokenSource=(__name(_c2=class{constructor(buffer){this.token=new SharedArrayBufferCancellationToken(buffer)}cancel(){}dispose(){}},"SharedArrayBufferCancellationTokenSource"),_c2),SharedArrayReceiverStrategy=(__name(_d2=class{constructor(){this.kind="request"}createCancellationTokenSource(request){const buffer=request.$cancellationData;return void 0===buffer?new cancellation_1.CancellationTokenSource:new SharedArrayBufferCancellationTokenSource(buffer)}},"SharedArrayReceiverStrategy"),_d2);exports2.SharedArrayReceiverStrategy=SharedArrayReceiverStrategy}}),require_semaphore=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(exports2){var _a2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.Semaphore=void 0;var ral_1=require_ral(),Semaphore=(__name(_a2=class{constructor(capacity=1){if(capacity<=0)throw new Error("Capacity must be greater than 0");this._capacity=capacity,this._active=0,this._waiting=[]}lock(thunk){return new Promise((resolve,reject2)=>{this._waiting.push({thunk:thunk,resolve:resolve,reject:reject2}),this.runNext()})}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,ral_1.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const next=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const result=next.thunk();result instanceof Promise?result.then(value=>{this._active--,next.resolve(value),this.runNext()},err=>{this._active--,next.reject(err),this.runNext()}):(this._active--,next.resolve(result),this.runNext())}catch(err){this._active--,next.reject(err),this.runNext()}}},"Semaphore"),_a2);exports2.Semaphore=Semaphore}}),require_messageReader=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(exports2){var _a2,_b2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.ReadableStreamMessageReader=exports2.AbstractMessageReader=exports2.MessageReader=void 0;var MessageReader,ral_1=require_ral(),Is2=require_is(),events_1=require_events(),semaphore_1=require_semaphore();!function(MessageReader2){function is(value){let candidate=value;return candidate&&Is2.func(candidate.listen)&&Is2.func(candidate.dispose)&&Is2.func(candidate.onError)&&Is2.func(candidate.onClose)&&Is2.func(candidate.onPartialMessage)}__name(is,"is"),MessageReader2.is=is}(MessageReader||(exports2.MessageReader=MessageReader={}));var ResolvedMessageReaderOptions,AbstractMessageReader=(__name(_a2=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter,this.partialMessageEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error){this.errorEmitter.fire(this.asError(error))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(info){this.partialMessageEmitter.fire(info)}asError(error){return error instanceof Error?error:new Error(`Reader received error. Reason: ${Is2.string(error.message)?error.message:"unknown"}`)}},"AbstractMessageReader"),_a2);exports2.AbstractMessageReader=AbstractMessageReader,function(ResolvedMessageReaderOptions2){function fromOptions(options){let charset,contentDecoder;const contentDecoders=new Map;let contentTypeDecoder;const contentTypeDecoders=new Map;if(void 0===options||"string"==typeof options)charset=options??"utf-8";else{if(charset=options.charset??"utf-8",void 0!==options.contentDecoder&&(contentDecoder=options.contentDecoder,contentDecoders.set(contentDecoder.name,contentDecoder)),void 0!==options.contentDecoders)for(const decoder of options.contentDecoders)contentDecoders.set(decoder.name,decoder);if(void 0!==options.contentTypeDecoder&&(contentTypeDecoder=options.contentTypeDecoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),void 0!==options.contentTypeDecoders)for(const decoder of options.contentTypeDecoders)contentTypeDecoders.set(decoder.name,decoder)}return void 0===contentTypeDecoder&&(contentTypeDecoder=(0,ral_1.default)().applicationJson.decoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),{charset:charset,contentDecoder:contentDecoder,contentDecoders:contentDecoders,contentTypeDecoder:contentTypeDecoder,contentTypeDecoders:contentTypeDecoders}}__name(fromOptions,"fromOptions"),ResolvedMessageReaderOptions2.fromOptions=fromOptions}(ResolvedMessageReaderOptions||(ResolvedMessageReaderOptions={}));var ReadableStreamMessageReader=(__name(_b2=class extends AbstractMessageReader{constructor(readable,options){super(),this.readable=readable,this.options=ResolvedMessageReaderOptions.fromOptions(options),this.buffer=(0,ral_1.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new semaphore_1.Semaphore(1)}set partialMessageTimeout(timeout){this._partialMessageTimeout=timeout}get partialMessageTimeout(){return this._partialMessageTimeout}listen(callback){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=callback;const result=this.readable.onData(data=>{this.onData(data)});return this.readable.onError(error=>this.fireError(error)),this.readable.onClose(()=>this.fireClose()),result}onData(data){try{for(this.buffer.append(data);;){if(-1===this.nextMessageLength){const headers=this.buffer.tryReadHeaders(!0);if(!headers)return;const contentLength=headers.get("content-length");if(!contentLength)return void this.fireError(new Error(`Header must provide a Content-Length property.\n${JSON.stringify(Object.fromEntries(headers))}`));const length=parseInt(contentLength);if(isNaN(length))return void this.fireError(new Error(`Content-Length value must be a number. Got ${contentLength}`));this.nextMessageLength=length}const body=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===body)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const bytes=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(body):body,message=await this.options.contentTypeDecoder.decode(bytes,this.options);this.callback(message)}).catch(error=>{this.fireError(error)})}}catch(error){this.fireError(error)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,ral_1.default)().timer.setTimeout((token,timeout)=>{this.partialMessageTimer=void 0,token===this.messageToken&&(this.firePartialMessage({messageToken:token,waitingTime:timeout}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}},"ReadableStreamMessageReader"),_b2);exports2.ReadableStreamMessageReader=ReadableStreamMessageReader}}),require_messageWriter=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(exports2){var _a2,_b2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.WriteableStreamMessageWriter=exports2.AbstractMessageWriter=exports2.MessageWriter=void 0;var MessageWriter,ral_1=require_ral(),Is2=require_is(),semaphore_1=require_semaphore(),events_1=require_events();!function(MessageWriter2){function is(value){let candidate=value;return candidate&&Is2.func(candidate.dispose)&&Is2.func(candidate.onClose)&&Is2.func(candidate.onError)&&Is2.func(candidate.write)}__name(is,"is"),MessageWriter2.is=is}(MessageWriter||(exports2.MessageWriter=MessageWriter={}));var ResolvedMessageWriterOptions,AbstractMessageWriter=(__name(_a2=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error,message,count){this.errorEmitter.fire([this.asError(error),message,count])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(error){return error instanceof Error?error:new Error(`Writer received error. Reason: ${Is2.string(error.message)?error.message:"unknown"}`)}},"AbstractMessageWriter"),_a2);exports2.AbstractMessageWriter=AbstractMessageWriter,function(ResolvedMessageWriterOptions2){function fromOptions(options){return void 0===options||"string"==typeof options?{charset:options??"utf-8",contentTypeEncoder:(0,ral_1.default)().applicationJson.encoder}:{charset:options.charset??"utf-8",contentEncoder:options.contentEncoder,contentTypeEncoder:options.contentTypeEncoder??(0,ral_1.default)().applicationJson.encoder}}__name(fromOptions,"fromOptions"),ResolvedMessageWriterOptions2.fromOptions=fromOptions}(ResolvedMessageWriterOptions||(ResolvedMessageWriterOptions={}));var WriteableStreamMessageWriter=(__name(_b2=class extends AbstractMessageWriter{constructor(writable,options){super(),this.writable=writable,this.options=ResolvedMessageWriterOptions.fromOptions(options),this.errorCount=0,this.writeSemaphore=new semaphore_1.Semaphore(1),this.writable.onError(error=>this.fireError(error)),this.writable.onClose(()=>this.fireClose())}async write(msg){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(msg,this.options).then(buffer=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(buffer):buffer).then(buffer=>{const headers=[];return headers.push("Content-Length: ",buffer.byteLength.toString(),"\r\n"),headers.push("\r\n"),this.doWrite(msg,headers,buffer)},error=>{throw this.fireError(error),error}))}async doWrite(msg,headers,data){try{return await this.writable.write(headers.join(""),"ascii"),this.writable.write(data)}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){this.writable.end()}},"WriteableStreamMessageWriter"),_b2);exports2.WriteableStreamMessageWriter=WriteableStreamMessageWriter}}),require_messageBuffer=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(exports2){var _a2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.AbstractMessageBuffer=void 0;var AbstractMessageBuffer=(__name(_a2=class{constructor(encoding="utf-8"){this._encoding=encoding,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(chunk){const toAppend="string"==typeof chunk?this.fromString(chunk,this._encoding):chunk;this._chunks.push(toAppend),this._totalLength+=toAppend.byteLength}tryReadHeaders(lowerCaseKeys=!1){if(0===this._chunks.length)return;let state=0,chunkIndex=0,offset=0,chunkBytesRead=0;row:for(;chunkIndex<this._chunks.length;){const chunk=this._chunks[chunkIndex];for(offset=0;offset<chunk.length;){switch(chunk[offset]){case 13:switch(state){case 0:state=1;break;case 2:state=3;break;default:state=0}break;case 10:switch(state){case 1:state=2;break;case 3:state=4,offset++;break row;default:state=0}break;default:state=0}offset++}chunkBytesRead+=chunk.byteLength,chunkIndex++}if(4!==state)return;const buffer=this._read(chunkBytesRead+offset),result=new Map,headers=this.toString(buffer,"ascii").split("\r\n");if(headers.length<2)return result;for(let i=0;i<headers.length-2;i++){const header=headers[i],index=header.indexOf(":");if(-1===index)throw new Error(`Message header must separate key and value using ':'\n${header}`);const key=header.substr(0,index),value=header.substr(index+1).trim();result.set(lowerCaseKeys?key.toLowerCase():key,value)}return result}tryReadBody(length){if(!(this._totalLength<length))return this._read(length)}get numberOfBytes(){return this._totalLength}_read(byteCount){if(0===byteCount)return this.emptyBuffer();if(byteCount>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===byteCount){const chunk=this._chunks[0];return this._chunks.shift(),this._totalLength-=byteCount,this.asNative(chunk)}if(this._chunks[0].byteLength>byteCount){const chunk=this._chunks[0],result2=this.asNative(chunk,byteCount);return this._chunks[0]=chunk.slice(byteCount),this._totalLength-=byteCount,result2}const result=this.allocNative(byteCount);let resultOffset=0;for(;byteCount>0;){const chunk=this._chunks[0];if(chunk.byteLength>byteCount){const chunkPart=chunk.slice(0,byteCount);result.set(chunkPart,resultOffset),resultOffset+=byteCount,this._chunks[0]=chunk.slice(byteCount),this._totalLength-=byteCount,byteCount-=byteCount}else result.set(chunk,resultOffset),resultOffset+=chunk.byteLength,this._chunks.shift(),this._totalLength-=chunk.byteLength,byteCount-=chunk.byteLength}return result}},"AbstractMessageBuffer"),_a2);exports2.AbstractMessageBuffer=AbstractMessageBuffer}}),require_connection=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(exports2){var _a2,_b2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.createMessageConnection=exports2.ConnectionOptions=exports2.MessageStrategy=exports2.CancellationStrategy=exports2.CancellationSenderStrategy=exports2.CancellationReceiverStrategy=exports2.RequestCancellationReceiverStrategy=exports2.IdCancellationReceiverStrategy=exports2.ConnectionStrategy=exports2.ConnectionError=exports2.ConnectionErrors=exports2.LogTraceNotification=exports2.SetTraceNotification=exports2.TraceFormat=exports2.TraceValues=exports2.Trace=exports2.NullLogger=exports2.ProgressType=exports2.ProgressToken=void 0;var CancelNotification,ProgressToken,ProgressNotification,ral_1=require_ral(),Is2=require_is(),messages_1=require_messages(),linkedMap_1=require_linkedMap(),events_1=require_events(),cancellation_1=require_cancellation();(CancelNotification||(CancelNotification={})).type=new messages_1.NotificationType("$/cancelRequest"),function(ProgressToken2){function is(value){return"string"==typeof value||"number"==typeof value}__name(is,"is"),ProgressToken2.is=is}(ProgressToken||(exports2.ProgressToken=ProgressToken={})),(ProgressNotification||(ProgressNotification={})).type=new messages_1.NotificationType("$/progress");var StarRequestHandler,Trace,Trace2,TraceValues,TraceValues2,TraceFormat,TraceFormat2,SetTraceNotification,LogTraceNotification,ConnectionErrors,ConnectionErrors2,ProgressType=(__name(_a2=class{constructor(){}},"ProgressType"),_a2);exports2.ProgressType=ProgressType,function(StarRequestHandler2){function is(value){return Is2.func(value)}__name(is,"is"),StarRequestHandler2.is=is}(StarRequestHandler||(StarRequestHandler={})),exports2.NullLogger=Object.freeze({error:__name(()=>{},"error"),warn:__name(()=>{},"warn"),info:__name(()=>{},"info"),log:__name(()=>{},"log")}),(Trace2=Trace||(exports2.Trace=Trace={}))[Trace2.Off=0]="Off",Trace2[Trace2.Messages=1]="Messages",Trace2[Trace2.Compact=2]="Compact",Trace2[Trace2.Verbose=3]="Verbose",(TraceValues2=TraceValues||(exports2.TraceValues=TraceValues={})).Off="off",TraceValues2.Messages="messages",TraceValues2.Compact="compact",TraceValues2.Verbose="verbose",function(Trace2){function fromString(value){if(!Is2.string(value))return Trace2.Off;switch(value=value.toLowerCase()){case"off":default:return Trace2.Off;case"messages":return Trace2.Messages;case"compact":return Trace2.Compact;case"verbose":return Trace2.Verbose}}function toString4(value){switch(value){case Trace2.Off:return"off";case Trace2.Messages:return"messages";case Trace2.Compact:return"compact";case Trace2.Verbose:return"verbose";default:return"off"}}__name(fromString,"fromString"),Trace2.fromString=fromString,__name(toString4,"toString"),Trace2.toString=toString4}(Trace||(exports2.Trace=Trace={})),(TraceFormat2=TraceFormat||(exports2.TraceFormat=TraceFormat={})).Text="text",TraceFormat2.JSON="json",function(TraceFormat2){function fromString(value){return Is2.string(value)&&"json"===(value=value.toLowerCase())?TraceFormat2.JSON:TraceFormat2.Text}__name(fromString,"fromString"),TraceFormat2.fromString=fromString}(TraceFormat||(exports2.TraceFormat=TraceFormat={})),(SetTraceNotification||(exports2.SetTraceNotification=SetTraceNotification={})).type=new messages_1.NotificationType("$/setTrace"),(LogTraceNotification||(exports2.LogTraceNotification=LogTraceNotification={})).type=new messages_1.NotificationType("$/logTrace"),(ConnectionErrors2=ConnectionErrors||(exports2.ConnectionErrors=ConnectionErrors={}))[ConnectionErrors2.Closed=1]="Closed",ConnectionErrors2[ConnectionErrors2.Disposed=2]="Disposed",ConnectionErrors2[ConnectionErrors2.AlreadyListening=3]="AlreadyListening";var ConnectionStrategy,IdCancellationReceiverStrategy,RequestCancellationReceiverStrategy,CancellationReceiverStrategy,CancellationSenderStrategy,CancellationStrategy,MessageStrategy,ConnectionOptions,ConnectionState,ConnectionState2,ConnectionError=(_b2=class extends Error{constructor(code,message){super(message),this.code=code,Object.setPrototypeOf(this,_b2.prototype)}},__name(_b2,"ConnectionError"),_b2);function createMessageConnection(messageReader,messageWriter,_logger,options){const logger=void 0!==_logger?_logger:exports2.NullLogger;let sequenceNumber=0,notificationSequenceNumber=0,unknownResponseSequenceNumber=0;let starRequestHandler;const requestHandlers=new Map;let starNotificationHandler;const notificationHandlers=new Map,progressHandlers=new Map;let timer2,tracer,messageQueue=new linkedMap_1.LinkedMap,responsePromises=new Map,knownCanceledRequests=new Set,requestTokens=new Map,trace=Trace.Off,traceFormat=TraceFormat.Text,state=ConnectionState.New;const errorEmitter=new events_1.Emitter,closeEmitter=new events_1.Emitter,unhandledNotificationEmitter=new events_1.Emitter,unhandledProgressEmitter=new events_1.Emitter,disposeEmitter=new events_1.Emitter,cancellationStrategy=options&&options.cancellationStrategy?options.cancellationStrategy:CancellationStrategy.Message;function createRequestQueueKey(id){if(null===id)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+id.toString()}function createResponseQueueKey(id){return null===id?"res-unknown-"+(++unknownResponseSequenceNumber).toString():"res-"+id.toString()}function createNotificationQueueKey(){return"not-"+(++notificationSequenceNumber).toString()}function addMessageToQueue(queue,message){messages_1.Message.isRequest(message)?queue.set(createRequestQueueKey(message.id),message):messages_1.Message.isResponse(message)?queue.set(createResponseQueueKey(message.id),message):queue.set(createNotificationQueueKey(),message)}function cancelUndispatched(_message){}function isListening(){return state===ConnectionState.Listening}function isClosed(){return state===ConnectionState.Closed}function isDisposed(){return state===ConnectionState.Disposed}function closeHandler(){state!==ConnectionState.New&&state!==ConnectionState.Listening||(state=ConnectionState.Closed,closeEmitter.fire(void 0))}function readErrorHandler(error){errorEmitter.fire([error,void 0,void 0])}function writeErrorHandler(data){errorEmitter.fire(data)}function triggerMessageQueue(){timer2||0===messageQueue.size||(timer2=(0,ral_1.default)().timer.setImmediate(()=>{timer2=void 0,processMessageQueue()}))}function handleMessage(message){messages_1.Message.isRequest(message)?handleRequest(message):messages_1.Message.isNotification(message)?handleNotification(message):messages_1.Message.isResponse(message)?handleResponse(message):handleInvalidMessage(message)}function processMessageQueue(){if(0===messageQueue.size)return;const message=messageQueue.shift();try{const messageStrategy=null==options?void 0:options.messageStrategy;MessageStrategy.is(messageStrategy)?messageStrategy.handleMessage(message,handleMessage):handleMessage(message)}finally{triggerMessageQueue()}}__name(createRequestQueueKey,"createRequestQueueKey"),__name(createResponseQueueKey,"createResponseQueueKey"),__name(createNotificationQueueKey,"createNotificationQueueKey"),__name(addMessageToQueue,"addMessageToQueue"),__name(cancelUndispatched,"cancelUndispatched"),__name(isListening,"isListening"),__name(isClosed,"isClosed"),__name(isDisposed,"isDisposed"),__name(closeHandler,"closeHandler"),__name(readErrorHandler,"readErrorHandler"),__name(writeErrorHandler,"writeErrorHandler"),messageReader.onClose(closeHandler),messageReader.onError(readErrorHandler),messageWriter.onClose(closeHandler),messageWriter.onError(writeErrorHandler),__name(triggerMessageQueue,"triggerMessageQueue"),__name(handleMessage,"handleMessage"),__name(processMessageQueue,"processMessageQueue");const callback=__name(message=>{try{if(messages_1.Message.isNotification(message)&&message.method===CancelNotification.type.method){const cancelId=message.params.id,key=createRequestQueueKey(cancelId),toCancel=messageQueue.get(key);if(messages_1.Message.isRequest(toCancel)){const strategy=null==options?void 0:options.connectionStrategy,response=strategy&&strategy.cancelUndispatched?strategy.cancelUndispatched(toCancel,cancelUndispatched):void 0;if(response&&(void 0!==response.error||void 0!==response.result))return messageQueue.delete(key),requestTokens.delete(cancelId),response.id=toCancel.id,traceSendingResponse(response,message.method,Date.now()),void messageWriter.write(response).catch(()=>logger.error("Sending response for canceled message failed."))}const cancellationToken=requestTokens.get(cancelId);if(void 0!==cancellationToken)return cancellationToken.cancel(),void traceReceivedNotification(message);knownCanceledRequests.add(cancelId)}addMessageToQueue(messageQueue,message)}finally{triggerMessageQueue()}},"callback");function handleRequest(requestMessage){if(isDisposed())return;function reply(resultOrError,method,startTime2){const message={jsonrpc:"2.0",id:requestMessage.id};resultOrError instanceof messages_1.ResponseError?message.error=resultOrError.toJson():message.result=void 0===resultOrError?null:resultOrError,traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}function replyError(error,method,startTime2){const message={jsonrpc:"2.0",id:requestMessage.id,error:error.toJson()};traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}function replySuccess(result,method,startTime2){void 0===result&&(result=null);const message={jsonrpc:"2.0",id:requestMessage.id,result:result};traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}__name(reply,"reply"),__name(replyError,"replyError"),__name(replySuccess,"replySuccess"),traceReceivedRequest(requestMessage);const element=requestHandlers.get(requestMessage.method);let type,requestHandler;element&&(type=element.type,requestHandler=element.handler);const startTime=Date.now();if(requestHandler||starRequestHandler){const tokenKey=requestMessage.id??String(Date.now()),cancellationSource=IdCancellationReceiverStrategy.is(cancellationStrategy.receiver)?cancellationStrategy.receiver.createCancellationTokenSource(tokenKey):cancellationStrategy.receiver.createCancellationTokenSource(requestMessage);null!==requestMessage.id&&knownCanceledRequests.has(requestMessage.id)&&cancellationSource.cancel(),null!==requestMessage.id&&requestTokens.set(tokenKey,cancellationSource);try{let handlerResult;if(requestHandler)if(void 0===requestMessage.params){if(void 0!==type&&0!==type.numberOfParams)return void replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines ${type.numberOfParams} params but received none.`),requestMessage.method,startTime);handlerResult=requestHandler(cancellationSource.token)}else if(Array.isArray(requestMessage.params)){if(void 0!==type&&type.parameterStructures===messages_1.ParameterStructures.byName)return void replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines parameters by name but received parameters by position`),requestMessage.method,startTime);handlerResult=requestHandler(...requestMessage.params,cancellationSource.token)}else{if(void 0!==type&&type.parameterStructures===messages_1.ParameterStructures.byPosition)return void replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines parameters by position but received parameters by name`),requestMessage.method,startTime);handlerResult=requestHandler(requestMessage.params,cancellationSource.token)}else starRequestHandler&&(handlerResult=starRequestHandler(requestMessage.method,requestMessage.params,cancellationSource.token));const promise=handlerResult;handlerResult?promise.then?promise.then(resultOrError=>{requestTokens.delete(tokenKey),reply(resultOrError,requestMessage.method,startTime)},error=>{requestTokens.delete(tokenKey),error instanceof messages_1.ResponseError?replyError(error,requestMessage.method,startTime):error&&Is2.string(error.message)?replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed with message: ${error.message}`),requestMessage.method,startTime):replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed unexpectedly without providing any details.`),requestMessage.method,startTime)}):(requestTokens.delete(tokenKey),reply(handlerResult,requestMessage.method,startTime)):(requestTokens.delete(tokenKey),replySuccess(handlerResult,requestMessage.method,startTime))}catch(error){requestTokens.delete(tokenKey),error instanceof messages_1.ResponseError?reply(error,requestMessage.method,startTime):error&&Is2.string(error.message)?replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed with message: ${error.message}`),requestMessage.method,startTime):replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed unexpectedly without providing any details.`),requestMessage.method,startTime)}}else replyError(new messages_1.ResponseError(messages_1.ErrorCodes.MethodNotFound,`Unhandled method ${requestMessage.method}`),requestMessage.method,startTime)}function handleResponse(responseMessage){if(!isDisposed())if(null===responseMessage.id)responseMessage.error?logger.error(`Received response message without id: Error is: \n${JSON.stringify(responseMessage.error,void 0,4)}`):logger.error("Received response message without id. No further error information provided.");else{const key=responseMessage.id,responsePromise=responsePromises.get(key);if(traceReceivedResponse(responseMessage,responsePromise),void 0!==responsePromise){responsePromises.delete(key);try{if(responseMessage.error){const error=responseMessage.error;responsePromise.reject(new messages_1.ResponseError(error.code,error.message,error.data))}else{if(void 0===responseMessage.result)throw new Error("Should never happen.");responsePromise.resolve(responseMessage.result)}}catch(error){error.message?logger.error(`Response handler '${responsePromise.method}' failed with message: ${error.message}`):logger.error(`Response handler '${responsePromise.method}' failed unexpectedly.`)}}}}function handleNotification(message){if(isDisposed())return;let type,notificationHandler;if(message.method===CancelNotification.type.method){const cancelId=message.params.id;return knownCanceledRequests.delete(cancelId),void traceReceivedNotification(message)}{const element=notificationHandlers.get(message.method);element&&(notificationHandler=element.handler,type=element.type)}if(notificationHandler||starNotificationHandler)try{if(traceReceivedNotification(message),notificationHandler)if(void 0===message.params)void 0!==type&&0!==type.numberOfParams&&type.parameterStructures!==messages_1.ParameterStructures.byName&&logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received none.`),notificationHandler();else if(Array.isArray(message.params)){const params=message.params;message.method===ProgressNotification.type.method&&2===params.length&&ProgressToken.is(params[0])?notificationHandler({token:params[0],value:params[1]}):(void 0!==type&&(type.parameterStructures===messages_1.ParameterStructures.byName&&logger.error(`Notification ${message.method} defines parameters by name but received parameters by position`),type.numberOfParams!==message.params.length&&logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received ${params.length} arguments`)),notificationHandler(...params))}else void 0!==type&&type.parameterStructures===messages_1.ParameterStructures.byPosition&&logger.error(`Notification ${message.method} defines parameters by position but received parameters by name`),notificationHandler(message.params);else starNotificationHandler&&starNotificationHandler(message.method,message.params)}catch(error){error.message?logger.error(`Notification handler '${message.method}' failed with message: ${error.message}`):logger.error(`Notification handler '${message.method}' failed unexpectedly.`)}else unhandledNotificationEmitter.fire(message)}function handleInvalidMessage(message){if(!message)return void logger.error("Received empty message.");logger.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(message,null,4)}`);const responseMessage=message;if(Is2.string(responseMessage.id)||Is2.number(responseMessage.id)){const key=responseMessage.id,responseHandler=responsePromises.get(key);responseHandler&&responseHandler.reject(new Error("The received response has neither a result nor an error property."))}}function stringifyTrace(params){if(null!=params)switch(trace){case Trace.Verbose:return JSON.stringify(params,null,4);case Trace.Compact:return JSON.stringify(params);default:return}}function traceSendingRequest(message){if(trace!==Trace.Off&&tracer)if(traceFormat===TraceFormat.Text){let data;trace!==Trace.Verbose&&trace!==Trace.Compact||!message.params||(data=`Params: ${stringifyTrace(message.params)}\n\n`),tracer.log(`Sending request '${message.method} - (${message.id})'.`,data)}else logLSPMessage("send-request",message)}function traceSendingNotification(message){if(trace!==Trace.Off&&tracer)if(traceFormat===TraceFormat.Text){let data;trace!==Trace.Verbose&&trace!==Trace.Compact||(data=message.params?`Params: ${stringifyTrace(message.params)}\n\n`:"No parameters provided.\n\n"),tracer.log(`Sending notification '${message.method}'.`,data)}else logLSPMessage("send-notification",message)}function traceSendingResponse(message,method,startTime){if(trace!==Trace.Off&&tracer)if(traceFormat===TraceFormat.Text){let data;trace!==Trace.Verbose&&trace!==Trace.Compact||(message.error&&message.error.data?data=`Error data: ${stringifyTrace(message.error.data)}\n\n`:message.result?data=`Result: ${stringifyTrace(message.result)}\n\n`:void 0===message.error&&(data="No result returned.\n\n")),tracer.log(`Sending response '${method} - (${message.id})'. Processing request took ${Date.now()-startTime}ms`,data)}else logLSPMessage("send-response",message)}function traceReceivedRequest(message){if(trace!==Trace.Off&&tracer)if(traceFormat===TraceFormat.Text){let data;trace!==Trace.Verbose&&trace!==Trace.Compact||!message.params||(data=`Params: ${stringifyTrace(message.params)}\n\n`),tracer.log(`Received request '${message.method} - (${message.id})'.`,data)}else logLSPMessage("receive-request",message)}function traceReceivedNotification(message){if(trace!==Trace.Off&&tracer&&message.method!==LogTraceNotification.type.method)if(traceFormat===TraceFormat.Text){let data;trace!==Trace.Verbose&&trace!==Trace.Compact||(data=message.params?`Params: ${stringifyTrace(message.params)}\n\n`:"No parameters provided.\n\n"),tracer.log(`Received notification '${message.method}'.`,data)}else logLSPMessage("receive-notification",message)}function traceReceivedResponse(message,responsePromise){if(trace!==Trace.Off&&tracer)if(traceFormat===TraceFormat.Text){let data;if(trace!==Trace.Verbose&&trace!==Trace.Compact||(message.error&&message.error.data?data=`Error data: ${stringifyTrace(message.error.data)}\n\n`:message.result?data=`Result: ${stringifyTrace(message.result)}\n\n`:void 0===message.error&&(data="No result returned.\n\n")),responsePromise){const error=message.error?` Request failed: ${message.error.message} (${message.error.code}).`:"";tracer.log(`Received response '${responsePromise.method} - (${message.id})' in ${Date.now()-responsePromise.timerStart}ms.${error}`,data)}else tracer.log(`Received response ${message.id} without active response promise.`,data)}else logLSPMessage("receive-response",message)}function logLSPMessage(type,message){if(!tracer||trace===Trace.Off)return;const lspMessage={isLSPMessage:!0,type:type,message:message,timestamp:Date.now()};tracer.log(lspMessage)}function throwIfClosedOrDisposed(){if(isClosed())throw new ConnectionError(ConnectionErrors.Closed,"Connection is closed.");if(isDisposed())throw new ConnectionError(ConnectionErrors.Disposed,"Connection is disposed.")}function throwIfListening(){if(isListening())throw new ConnectionError(ConnectionErrors.AlreadyListening,"Connection is already listening")}function throwIfNotListening(){if(!isListening())throw new Error("Call listen() first.")}function undefinedToNull(param){return void 0===param?null:param}function nullToUndefined(param){return null===param?void 0:param}function isNamedParam(param){return null!=param&&!Array.isArray(param)&&"object"==typeof param}function computeSingleParam(parameterStructures,param){switch(parameterStructures){case messages_1.ParameterStructures.auto:return isNamedParam(param)?nullToUndefined(param):[undefinedToNull(param)];case messages_1.ParameterStructures.byName:if(!isNamedParam(param))throw new Error("Received parameters by name but param is not an object literal.");return nullToUndefined(param);case messages_1.ParameterStructures.byPosition:return[undefinedToNull(param)];default:throw new Error(`Unknown parameter structure ${parameterStructures.toString()}`)}}function computeMessageParams(type,params){let result;const numberOfParams=type.numberOfParams;switch(numberOfParams){case 0:result=void 0;break;case 1:result=computeSingleParam(type.parameterStructures,params[0]);break;default:result=[];for(let i=0;i<params.length&&i<numberOfParams;i++)result.push(undefinedToNull(params[i]));if(params.length<numberOfParams)for(let i=params.length;i<numberOfParams;i++)result.push(null)}return result}__name(handleRequest,"handleRequest"),__name(handleResponse,"handleResponse"),__name(handleNotification,"handleNotification"),__name(handleInvalidMessage,"handleInvalidMessage"),__name(stringifyTrace,"stringifyTrace"),__name(traceSendingRequest,"traceSendingRequest"),__name(traceSendingNotification,"traceSendingNotification"),__name(traceSendingResponse,"traceSendingResponse"),__name(traceReceivedRequest,"traceReceivedRequest"),__name(traceReceivedNotification,"traceReceivedNotification"),__name(traceReceivedResponse,"traceReceivedResponse"),__name(logLSPMessage,"logLSPMessage"),__name(throwIfClosedOrDisposed,"throwIfClosedOrDisposed"),__name(throwIfListening,"throwIfListening"),__name(throwIfNotListening,"throwIfNotListening"),__name(undefinedToNull,"undefinedToNull"),__name(nullToUndefined,"nullToUndefined"),__name(isNamedParam,"isNamedParam"),__name(computeSingleParam,"computeSingleParam"),__name(computeMessageParams,"computeMessageParams");const connection={sendNotification:__name((type,...args)=>{let method,messageParams;if(throwIfClosedOrDisposed(),Is2.string(type)){method=type;const first2=args[0];let paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first2)&&(paramStart=1,parameterStructures=first2);let paramEnd=args.length;const numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' notification parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value))}}else{const params=args;method=type.method,messageParams=computeMessageParams(type,params)}const notificationMessage={jsonrpc:"2.0",method:method,params:messageParams};return traceSendingNotification(notificationMessage),messageWriter.write(notificationMessage).catch(error=>{throw logger.error("Sending notification failed."),error})},"sendNotification"),onNotification:__name((type,handler)=>{let method;return throwIfClosedOrDisposed(),Is2.func(type)?starNotificationHandler=type:handler&&(Is2.string(type)?(method=type,notificationHandlers.set(type,{type:void 0,handler:handler})):(method=type.method,notificationHandlers.set(type.method,{type:type,handler:handler}))),{dispose:__name(()=>{void 0!==method?notificationHandlers.delete(method):starNotificationHandler=void 0},"dispose")}},"onNotification"),onProgress:__name((_type,token,handler)=>{if(progressHandlers.has(token))throw new Error(`Progress handler for token ${token} already registered`);return progressHandlers.set(token,handler),{dispose:__name(()=>{progressHandlers.delete(token)},"dispose")}},"onProgress"),sendProgress:__name((_type,token,value)=>connection.sendNotification(ProgressNotification.type,{token:token,value:value}),"sendProgress"),onUnhandledProgress:unhandledProgressEmitter.event,sendRequest:__name((type,...args)=>{let method,messageParams,token;if(throwIfClosedOrDisposed(),throwIfNotListening(),Is2.string(type)){method=type;const first2=args[0],last2=args[args.length-1];let paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first2)&&(paramStart=1,parameterStructures=first2);let paramEnd=args.length;cancellation_1.CancellationToken.is(last2)&&(paramEnd-=1,token=last2);const numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' request parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value))}}else{const params=args;method=type.method,messageParams=computeMessageParams(type,params);const numberOfParams=type.numberOfParams;token=cancellation_1.CancellationToken.is(params[numberOfParams])?params[numberOfParams]:void 0}const id=sequenceNumber++;let disposable;token&&(disposable=token.onCancellationRequested(()=>{const p=cancellationStrategy.sender.sendCancellation(connection,id);return void 0===p?(logger.log(`Received no promise from cancellation strategy when cancelling id ${id}`),Promise.resolve()):p.catch(()=>{logger.log(`Sending cancellation messages for id ${id} failed`)})}));const requestMessage={jsonrpc:"2.0",id:id,method:method,params:messageParams};return traceSendingRequest(requestMessage),"function"==typeof cancellationStrategy.sender.enableCancellation&&cancellationStrategy.sender.enableCancellation(requestMessage),new Promise(async(resolve,reject2)=>{const resolveWithCleanup=__name(r=>{resolve(r),cancellationStrategy.sender.cleanup(id),null==disposable||disposable.dispose()},"resolveWithCleanup"),rejectWithCleanup=__name(r=>{reject2(r),cancellationStrategy.sender.cleanup(id),null==disposable||disposable.dispose()},"rejectWithCleanup"),responsePromise={method:method,timerStart:Date.now(),resolve:resolveWithCleanup,reject:rejectWithCleanup};try{await messageWriter.write(requestMessage),responsePromises.set(id,responsePromise)}catch(error){throw logger.error("Sending request failed."),responsePromise.reject(new messages_1.ResponseError(messages_1.ErrorCodes.MessageWriteError,error.message?error.message:"Unknown reason")),error}})},"sendRequest"),onRequest:__name((type,handler)=>{throwIfClosedOrDisposed();let method=null;return StarRequestHandler.is(type)?(method=void 0,starRequestHandler=type):Is2.string(type)?(method=null,void 0!==handler&&(method=type,requestHandlers.set(type,{handler:handler,type:void 0}))):void 0!==handler&&(method=type.method,requestHandlers.set(type.method,{type:type,handler:handler})),{dispose:__name(()=>{null!==method&&(void 0!==method?requestHandlers.delete(method):starRequestHandler=void 0)},"dispose")}},"onRequest"),hasPendingResponse:__name(()=>responsePromises.size>0,"hasPendingResponse"),trace:__name(async(_value,_tracer,sendNotificationOrTraceOptions)=>{let _sendNotification=!1,_traceFormat=TraceFormat.Text;void 0!==sendNotificationOrTraceOptions&&(Is2.boolean(sendNotificationOrTraceOptions)?_sendNotification=sendNotificationOrTraceOptions:(_sendNotification=sendNotificationOrTraceOptions.sendNotification||!1,_traceFormat=sendNotificationOrTraceOptions.traceFormat||TraceFormat.Text)),trace=_value,traceFormat=_traceFormat,tracer=trace===Trace.Off?void 0:_tracer,!_sendNotification||isClosed()||isDisposed()||await connection.sendNotification(SetTraceNotification.type,{value:Trace.toString(_value)})},"trace"),onError:errorEmitter.event,onClose:closeEmitter.event,onUnhandledNotification:unhandledNotificationEmitter.event,onDispose:disposeEmitter.event,end:__name(()=>{messageWriter.end()},"end"),dispose:__name(()=>{if(isDisposed())return;state=ConnectionState.Disposed,disposeEmitter.fire(void 0);const error=new messages_1.ResponseError(messages_1.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const promise of responsePromises.values())promise.reject(error);responsePromises=new Map,requestTokens=new Map,knownCanceledRequests=new Set,messageQueue=new linkedMap_1.LinkedMap,Is2.func(messageWriter.dispose)&&messageWriter.dispose(),Is2.func(messageReader.dispose)&&messageReader.dispose()},"dispose"),listen:__name(()=>{throwIfClosedOrDisposed(),throwIfListening(),state=ConnectionState.Listening,messageReader.listen(callback)},"listen"),inspect:__name(()=>{(0,ral_1.default)().console.log("inspect")},"inspect")};return connection.onNotification(LogTraceNotification.type,params=>{if(trace===Trace.Off||!tracer)return;const verbose=trace===Trace.Verbose||trace===Trace.Compact;tracer.log(params.message,verbose?params.verbose:void 0)}),connection.onNotification(ProgressNotification.type,params=>{const handler=progressHandlers.get(params.token);handler?handler(params.value):unhandledProgressEmitter.fire(params)}),connection}exports2.ConnectionError=ConnectionError,function(ConnectionStrategy2){function is(value){const candidate=value;return candidate&&Is2.func(candidate.cancelUndispatched)}__name(is,"is"),ConnectionStrategy2.is=is}(ConnectionStrategy||(exports2.ConnectionStrategy=ConnectionStrategy={})),function(IdCancellationReceiverStrategy2){function is(value){const candidate=value;return candidate&&(void 0===candidate.kind||"id"===candidate.kind)&&Is2.func(candidate.createCancellationTokenSource)&&(void 0===candidate.dispose||Is2.func(candidate.dispose))}__name(is,"is"),IdCancellationReceiverStrategy2.is=is}(IdCancellationReceiverStrategy||(exports2.IdCancellationReceiverStrategy=IdCancellationReceiverStrategy={})),function(RequestCancellationReceiverStrategy2){function is(value){const candidate=value;return candidate&&"request"===candidate.kind&&Is2.func(candidate.createCancellationTokenSource)&&(void 0===candidate.dispose||Is2.func(candidate.dispose))}__name(is,"is"),RequestCancellationReceiverStrategy2.is=is}(RequestCancellationReceiverStrategy||(exports2.RequestCancellationReceiverStrategy=RequestCancellationReceiverStrategy={})),function(CancellationReceiverStrategy2){function is(value){return IdCancellationReceiverStrategy.is(value)||RequestCancellationReceiverStrategy.is(value)}CancellationReceiverStrategy2.Message=Object.freeze({createCancellationTokenSource:_=>new cancellation_1.CancellationTokenSource}),__name(is,"is"),CancellationReceiverStrategy2.is=is}(CancellationReceiverStrategy||(exports2.CancellationReceiverStrategy=CancellationReceiverStrategy={})),function(CancellationSenderStrategy2){function is(value){const candidate=value;return candidate&&Is2.func(candidate.sendCancellation)&&Is2.func(candidate.cleanup)}CancellationSenderStrategy2.Message=Object.freeze({sendCancellation:(conn,id)=>conn.sendNotification(CancelNotification.type,{id:id}),cleanup(_){}}),__name(is,"is"),CancellationSenderStrategy2.is=is}(CancellationSenderStrategy||(exports2.CancellationSenderStrategy=CancellationSenderStrategy={})),function(CancellationStrategy2){function is(value){const candidate=value;return candidate&&CancellationReceiverStrategy.is(candidate.receiver)&&CancellationSenderStrategy.is(candidate.sender)}CancellationStrategy2.Message=Object.freeze({receiver:CancellationReceiverStrategy.Message,sender:CancellationSenderStrategy.Message}),__name(is,"is"),CancellationStrategy2.is=is}(CancellationStrategy||(exports2.CancellationStrategy=CancellationStrategy={})),function(MessageStrategy2){function is(value){const candidate=value;return candidate&&Is2.func(candidate.handleMessage)}__name(is,"is"),MessageStrategy2.is=is}(MessageStrategy||(exports2.MessageStrategy=MessageStrategy={})),function(ConnectionOptions2){function is(value){const candidate=value;return candidate&&(CancellationStrategy.is(candidate.cancellationStrategy)||ConnectionStrategy.is(candidate.connectionStrategy)||MessageStrategy.is(candidate.messageStrategy))}__name(is,"is"),ConnectionOptions2.is=is}(ConnectionOptions||(exports2.ConnectionOptions=ConnectionOptions={})),(ConnectionState2=ConnectionState||(ConnectionState={}))[ConnectionState2.New=1]="New",ConnectionState2[ConnectionState2.Listening=2]="Listening",ConnectionState2[ConnectionState2.Closed=3]="Closed",ConnectionState2[ConnectionState2.Disposed=4]="Disposed",__name(createMessageConnection,"createMessageConnection"),exports2.createMessageConnection=createMessageConnection}}),require_api=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.ProgressType=exports2.ProgressToken=exports2.createMessageConnection=exports2.NullLogger=exports2.ConnectionOptions=exports2.ConnectionStrategy=exports2.AbstractMessageBuffer=exports2.WriteableStreamMessageWriter=exports2.AbstractMessageWriter=exports2.MessageWriter=exports2.ReadableStreamMessageReader=exports2.AbstractMessageReader=exports2.MessageReader=exports2.SharedArrayReceiverStrategy=exports2.SharedArraySenderStrategy=exports2.CancellationToken=exports2.CancellationTokenSource=exports2.Emitter=exports2.Event=exports2.Disposable=exports2.LRUCache=exports2.Touch=exports2.LinkedMap=exports2.ParameterStructures=exports2.NotificationType9=exports2.NotificationType8=exports2.NotificationType7=exports2.NotificationType6=exports2.NotificationType5=exports2.NotificationType4=exports2.NotificationType3=exports2.NotificationType2=exports2.NotificationType1=exports2.NotificationType0=exports2.NotificationType=exports2.ErrorCodes=exports2.ResponseError=exports2.RequestType9=exports2.RequestType8=exports2.RequestType7=exports2.RequestType6=exports2.RequestType5=exports2.RequestType4=exports2.RequestType3=exports2.RequestType2=exports2.RequestType1=exports2.RequestType0=exports2.RequestType=exports2.Message=exports2.RAL=void 0,exports2.MessageStrategy=exports2.CancellationStrategy=exports2.CancellationSenderStrategy=exports2.CancellationReceiverStrategy=exports2.ConnectionError=exports2.ConnectionErrors=exports2.LogTraceNotification=exports2.SetTraceNotification=exports2.TraceFormat=exports2.TraceValues=exports2.Trace=void 0;var messages_1=require_messages();Object.defineProperty(exports2,"Message",{enumerable:!0,get:__name(function(){return messages_1.Message},"get")}),Object.defineProperty(exports2,"RequestType",{enumerable:!0,get:__name(function(){return messages_1.RequestType},"get")}),Object.defineProperty(exports2,"RequestType0",{enumerable:!0,get:__name(function(){return messages_1.RequestType0},"get")}),Object.defineProperty(exports2,"RequestType1",{enumerable:!0,get:__name(function(){return messages_1.RequestType1},"get")}),Object.defineProperty(exports2,"RequestType2",{enumerable:!0,get:__name(function(){return messages_1.RequestType2},"get")}),Object.defineProperty(exports2,"RequestType3",{enumerable:!0,get:__name(function(){return messages_1.RequestType3},"get")}),Object.defineProperty(exports2,"RequestType4",{enumerable:!0,get:__name(function(){return messages_1.RequestType4},"get")}),Object.defineProperty(exports2,"RequestType5",{enumerable:!0,get:__name(function(){return messages_1.RequestType5},"get")}),Object.defineProperty(exports2,"RequestType6",{enumerable:!0,get:__name(function(){return messages_1.RequestType6},"get")}),Object.defineProperty(exports2,"RequestType7",{enumerable:!0,get:__name(function(){return messages_1.RequestType7},"get")}),Object.defineProperty(exports2,"RequestType8",{enumerable:!0,get:__name(function(){return messages_1.RequestType8},"get")}),Object.defineProperty(exports2,"RequestType9",{enumerable:!0,get:__name(function(){return messages_1.RequestType9},"get")}),Object.defineProperty(exports2,"ResponseError",{enumerable:!0,get:__name(function(){return messages_1.ResponseError},"get")}),Object.defineProperty(exports2,"ErrorCodes",{enumerable:!0,get:__name(function(){return messages_1.ErrorCodes},"get")}),Object.defineProperty(exports2,"NotificationType",{enumerable:!0,get:__name(function(){return messages_1.NotificationType},"get")}),Object.defineProperty(exports2,"NotificationType0",{enumerable:!0,get:__name(function(){return messages_1.NotificationType0},"get")}),Object.defineProperty(exports2,"NotificationType1",{enumerable:!0,get:__name(function(){return messages_1.NotificationType1},"get")}),Object.defineProperty(exports2,"NotificationType2",{enumerable:!0,get:__name(function(){return messages_1.NotificationType2},"get")}),Object.defineProperty(exports2,"NotificationType3",{enumerable:!0,get:__name(function(){return messages_1.NotificationType3},"get")}),Object.defineProperty(exports2,"NotificationType4",{enumerable:!0,get:__name(function(){return messages_1.NotificationType4},"get")}),Object.defineProperty(exports2,"NotificationType5",{enumerable:!0,get:__name(function(){return messages_1.NotificationType5},"get")}),Object.defineProperty(exports2,"NotificationType6",{enumerable:!0,get:__name(function(){return messages_1.NotificationType6},"get")}),Object.defineProperty(exports2,"NotificationType7",{enumerable:!0,get:__name(function(){return messages_1.NotificationType7},"get")}),Object.defineProperty(exports2,"NotificationType8",{enumerable:!0,get:__name(function(){return messages_1.NotificationType8},"get")}),Object.defineProperty(exports2,"NotificationType9",{enumerable:!0,get:__name(function(){return messages_1.NotificationType9},"get")}),Object.defineProperty(exports2,"ParameterStructures",{enumerable:!0,get:__name(function(){return messages_1.ParameterStructures},"get")});var linkedMap_1=require_linkedMap();Object.defineProperty(exports2,"LinkedMap",{enumerable:!0,get:__name(function(){return linkedMap_1.LinkedMap},"get")}),Object.defineProperty(exports2,"LRUCache",{enumerable:!0,get:__name(function(){return linkedMap_1.LRUCache},"get")}),Object.defineProperty(exports2,"Touch",{enumerable:!0,get:__name(function(){return linkedMap_1.Touch},"get")});var disposable_1=require_disposable();Object.defineProperty(exports2,"Disposable",{enumerable:!0,get:__name(function(){return disposable_1.Disposable},"get")});var events_1=require_events();Object.defineProperty(exports2,"Event",{enumerable:!0,get:__name(function(){return events_1.Event},"get")}),Object.defineProperty(exports2,"Emitter",{enumerable:!0,get:__name(function(){return events_1.Emitter},"get")});var cancellation_1=require_cancellation();Object.defineProperty(exports2,"CancellationTokenSource",{enumerable:!0,get:__name(function(){return cancellation_1.CancellationTokenSource},"get")}),Object.defineProperty(exports2,"CancellationToken",{enumerable:!0,get:__name(function(){return cancellation_1.CancellationToken},"get")});var sharedArrayCancellation_1=require_sharedArrayCancellation();Object.defineProperty(exports2,"SharedArraySenderStrategy",{enumerable:!0,get:__name(function(){return sharedArrayCancellation_1.SharedArraySenderStrategy},"get")}),Object.defineProperty(exports2,"SharedArrayReceiverStrategy",{enumerable:!0,get:__name(function(){return sharedArrayCancellation_1.SharedArrayReceiverStrategy},"get")});var messageReader_1=require_messageReader();Object.defineProperty(exports2,"MessageReader",{enumerable:!0,get:__name(function(){return messageReader_1.MessageReader},"get")}),Object.defineProperty(exports2,"AbstractMessageReader",{enumerable:!0,get:__name(function(){return messageReader_1.AbstractMessageReader},"get")}),Object.defineProperty(exports2,"ReadableStreamMessageReader",{enumerable:!0,get:__name(function(){return messageReader_1.ReadableStreamMessageReader},"get")});var messageWriter_1=require_messageWriter();Object.defineProperty(exports2,"MessageWriter",{enumerable:!0,get:__name(function(){return messageWriter_1.MessageWriter},"get")}),Object.defineProperty(exports2,"AbstractMessageWriter",{enumerable:!0,get:__name(function(){return messageWriter_1.AbstractMessageWriter},"get")}),Object.defineProperty(exports2,"WriteableStreamMessageWriter",{enumerable:!0,get:__name(function(){return messageWriter_1.WriteableStreamMessageWriter},"get")});var messageBuffer_1=require_messageBuffer();Object.defineProperty(exports2,"AbstractMessageBuffer",{enumerable:!0,get:__name(function(){return messageBuffer_1.AbstractMessageBuffer},"get")});var connection_1=require_connection();Object.defineProperty(exports2,"ConnectionStrategy",{enumerable:!0,get:__name(function(){return connection_1.ConnectionStrategy},"get")}),Object.defineProperty(exports2,"ConnectionOptions",{enumerable:!0,get:__name(function(){return connection_1.ConnectionOptions},"get")}),Object.defineProperty(exports2,"NullLogger",{enumerable:!0,get:__name(function(){return connection_1.NullLogger},"get")}),Object.defineProperty(exports2,"createMessageConnection",{enumerable:!0,get:__name(function(){return connection_1.createMessageConnection},"get")}),Object.defineProperty(exports2,"ProgressToken",{enumerable:!0,get:__name(function(){return connection_1.ProgressToken},"get")}),Object.defineProperty(exports2,"ProgressType",{enumerable:!0,get:__name(function(){return connection_1.ProgressType},"get")}),Object.defineProperty(exports2,"Trace",{enumerable:!0,get:__name(function(){return connection_1.Trace},"get")}),Object.defineProperty(exports2,"TraceValues",{enumerable:!0,get:__name(function(){return connection_1.TraceValues},"get")}),Object.defineProperty(exports2,"TraceFormat",{enumerable:!0,get:__name(function(){return connection_1.TraceFormat},"get")}),Object.defineProperty(exports2,"SetTraceNotification",{enumerable:!0,get:__name(function(){return connection_1.SetTraceNotification},"get")}),Object.defineProperty(exports2,"LogTraceNotification",{enumerable:!0,get:__name(function(){return connection_1.LogTraceNotification},"get")}),Object.defineProperty(exports2,"ConnectionErrors",{enumerable:!0,get:__name(function(){return connection_1.ConnectionErrors},"get")}),Object.defineProperty(exports2,"ConnectionError",{enumerable:!0,get:__name(function(){return connection_1.ConnectionError},"get")}),Object.defineProperty(exports2,"CancellationReceiverStrategy",{enumerable:!0,get:__name(function(){return connection_1.CancellationReceiverStrategy},"get")}),Object.defineProperty(exports2,"CancellationSenderStrategy",{enumerable:!0,get:__name(function(){return connection_1.CancellationSenderStrategy},"get")}),Object.defineProperty(exports2,"CancellationStrategy",{enumerable:!0,get:__name(function(){return connection_1.CancellationStrategy},"get")}),Object.defineProperty(exports2,"MessageStrategy",{enumerable:!0,get:__name(function(){return connection_1.MessageStrategy},"get")});var ral_1=require_ral();exports2.RAL=ral_1.default}}),require_ril=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(exports2){var _a2,_b2,_c2;Object.defineProperty(exports2,"__esModule",{value:!0});var api_1=require_api(),MessageBuffer=(_a2=class extends api_1.AbstractMessageBuffer{constructor(encoding="utf-8"){super(encoding),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return _a2.emptyBuffer}fromString(value,_encoding){return(new TextEncoder).encode(value)}toString(value,encoding){return"ascii"===encoding?this.asciiDecoder.decode(value):new TextDecoder(encoding).decode(value)}asNative(buffer,length){return void 0===length?buffer:buffer.slice(0,length)}allocNative(length){return new Uint8Array(length)}},__name(_a2,"MessageBuffer"),_a2);MessageBuffer.emptyBuffer=new Uint8Array(0);var ReadableStreamWrapper=(__name(_b2=class{constructor(socket){this.socket=socket,this._onData=new api_1.Emitter,this._messageListener=event=>{event.data.arrayBuffer().then(buffer=>{this._onData.fire(new Uint8Array(buffer))},()=>{(0,api_1.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}onData(listener){return this._onData.event(listener)}},"ReadableStreamWrapper"),_b2),WritableStreamWrapper=(__name(_c2=class{constructor(socket){this.socket=socket}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}write(data,encoding){if("string"==typeof data){if(void 0!==encoding&&"utf-8"!==encoding)throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${encoding}`);this.socket.send(data)}else this.socket.send(data);return Promise.resolve()}end(){this.socket.close()}},"WritableStreamWrapper"),_c2),_textEncoder=new TextEncoder,_ril=Object.freeze({messageBuffer:Object.freeze({create:__name(encoding=>new MessageBuffer(encoding),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:__name((msg,options)=>{if("utf-8"!==options.charset)throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${options.charset}`);return Promise.resolve(_textEncoder.encode(JSON.stringify(msg,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:__name((buffer,options)=>{if(!(buffer instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(options.charset).decode(buffer)))},"decode")})}),stream:Object.freeze({asReadableStream:__name(socket=>new ReadableStreamWrapper(socket),"asReadableStream"),asWritableStream:__name(socket=>new WritableStreamWrapper(socket),"asWritableStream")}),console:console,timer:Object.freeze({setTimeout(callback,ms,...args){const handle=setTimeout(callback,ms,...args);return{dispose:__name(()=>clearTimeout(handle),"dispose")}},setImmediate(callback,...args){const handle=setTimeout(callback,0,...args);return{dispose:__name(()=>clearTimeout(handle),"dispose")}},setInterval(callback,ms,...args){const handle=setInterval(callback,ms,...args);return{dispose:__name(()=>clearInterval(handle),"dispose")}}})});function RIL(){return _ril}__name(RIL,"RIL"),function(RIL2){function install(){api_1.RAL.install(_ril)}__name(install,"install"),RIL2.install=install}(RIL||(RIL={})),exports2.default=RIL}}),require_main=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(exports2){var _a2,_b2,__createBinding=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:__name(function(){return m[k]},"get")}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports3,p)||__createBinding(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.createMessageConnection=exports2.BrowserMessageWriter=exports2.BrowserMessageReader=void 0,require_ril().default.install();var api_1=require_api();__exportStar(require_api(),exports2);var BrowserMessageReader=(_a2=class extends api_1.AbstractMessageReader{constructor(port){super(),this._onData=new api_1.Emitter,this._messageListener=event=>{this._onData.fire(event.data)},port.addEventListener("error",event=>this.fireError(event)),port.onmessage=this._messageListener}listen(callback){return this._onData.event(callback)}},__name(_a2,"BrowserMessageReader"),_a2);exports2.BrowserMessageReader=BrowserMessageReader;var BrowserMessageWriter=(_b2=class extends api_1.AbstractMessageWriter{constructor(port){super(),this.port=port,this.errorCount=0,port.addEventListener("error",event=>this.fireError(event))}write(msg){try{return this.port.postMessage(msg),Promise.resolve()}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){}},__name(_b2,"BrowserMessageWriter"),_b2);function createMessageConnection(reader,writer,logger,options){return void 0===logger&&(logger=api_1.NullLogger),api_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,api_1.createMessageConnection)(reader,writer,logger,options)}exports2.BrowserMessageWriter=BrowserMessageWriter,__name(createMessageConnection,"createMessageConnection"),exports2.createMessageConnection=createMessageConnection}}),require_browser=__commonJS({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(exports2,module2){module2.exports=require_main()}}),require_messages2=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(exports2){var _a2,_b2,_c2,_d2,_e2;Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.ProtocolNotificationType=exports2.ProtocolNotificationType0=exports2.ProtocolRequestType=exports2.ProtocolRequestType0=exports2.RegistrationType=exports2.MessageDirection=void 0;var MessageDirection,MessageDirection2,vscode_jsonrpc_1=require_main();(MessageDirection2=MessageDirection||(exports2.MessageDirection=MessageDirection={})).clientToServer="clientToServer",MessageDirection2.serverToClient="serverToClient",MessageDirection2.both="both";var RegistrationType=(__name(_a2=class{constructor(method){this.method=method}},"RegistrationType"),_a2);exports2.RegistrationType=RegistrationType;var ProtocolRequestType0=(_b2=class extends vscode_jsonrpc_1.RequestType0{constructor(method){super(method)}},__name(_b2,"ProtocolRequestType0"),_b2);exports2.ProtocolRequestType0=ProtocolRequestType0;var ProtocolRequestType=(_c2=class extends vscode_jsonrpc_1.RequestType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}},__name(_c2,"ProtocolRequestType"),_c2);exports2.ProtocolRequestType=ProtocolRequestType;var ProtocolNotificationType0=(_d2=class extends vscode_jsonrpc_1.NotificationType0{constructor(method){super(method)}},__name(_d2,"ProtocolNotificationType0"),_d2);exports2.ProtocolNotificationType0=ProtocolNotificationType0;var ProtocolNotificationType=(_e2=class extends vscode_jsonrpc_1.NotificationType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}},__name(_e2,"ProtocolNotificationType"),_e2);exports2.ProtocolNotificationType=ProtocolNotificationType}}),require_is2=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(exports2){function boolean(value){return!0===value||!1===value}function string(value){return"string"==typeof value||value instanceof String}function number(value){return"number"==typeof value||value instanceof Number}function error(value){return value instanceof Error}function func(value){return"function"==typeof value}function array(value){return Array.isArray(value)}function stringArray(value){return array(value)&&value.every(elem=>string(elem))}function typedArray(value,check){return Array.isArray(value)&&value.every(check)}function objectLiteral(value){return null!==value&&"object"==typeof value}Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.objectLiteral=exports2.typedArray=exports2.stringArray=exports2.array=exports2.func=exports2.error=exports2.number=exports2.string=exports2.boolean=void 0,__name(boolean,"boolean"),exports2.boolean=boolean,__name(string,"string"),exports2.string=string,__name(number,"number"),exports2.number=number,__name(error,"error"),exports2.error=error,__name(func,"func"),exports2.func=func,__name(array,"array"),exports2.array=array,__name(stringArray,"stringArray"),exports2.stringArray=stringArray,__name(typedArray,"typedArray"),exports2.typedArray=typedArray,__name(objectLiteral,"objectLiteral"),exports2.objectLiteral=objectLiteral}}),require_protocol_implementation=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.ImplementationRequest=void 0;var ImplementationRequest,ImplementationRequest2,messages_1=require_messages2();(ImplementationRequest2=ImplementationRequest||(exports2.ImplementationRequest=ImplementationRequest={})).method="textDocument/implementation",ImplementationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ImplementationRequest2.type=new messages_1.ProtocolRequestType(ImplementationRequest2.method)}}),require_protocol_typeDefinition=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.TypeDefinitionRequest=void 0;var TypeDefinitionRequest,TypeDefinitionRequest2,messages_1=require_messages2();(TypeDefinitionRequest2=TypeDefinitionRequest||(exports2.TypeDefinitionRequest=TypeDefinitionRequest={})).method="textDocument/typeDefinition",TypeDefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeDefinitionRequest2.type=new messages_1.ProtocolRequestType(TypeDefinitionRequest2.method)}}),require_protocol_workspaceFolder=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.DidChangeWorkspaceFoldersNotification=exports2.WorkspaceFoldersRequest=void 0;var WorkspaceFoldersRequest,WorkspaceFoldersRequest2,DidChangeWorkspaceFoldersNotification,DidChangeWorkspaceFoldersNotification2,messages_1=require_messages2();(WorkspaceFoldersRequest2=WorkspaceFoldersRequest||(exports2.WorkspaceFoldersRequest=WorkspaceFoldersRequest={})).method="workspace/workspaceFolders",WorkspaceFoldersRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkspaceFoldersRequest2.type=new messages_1.ProtocolRequestType0(WorkspaceFoldersRequest2.method),(DidChangeWorkspaceFoldersNotification2=DidChangeWorkspaceFoldersNotification||(exports2.DidChangeWorkspaceFoldersNotification=DidChangeWorkspaceFoldersNotification={})).method="workspace/didChangeWorkspaceFolders",DidChangeWorkspaceFoldersNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWorkspaceFoldersNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWorkspaceFoldersNotification2.method)}}),require_protocol_configuration=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.ConfigurationRequest=void 0;var ConfigurationRequest,ConfigurationRequest2,messages_1=require_messages2();(ConfigurationRequest2=ConfigurationRequest||(exports2.ConfigurationRequest=ConfigurationRequest={})).method="workspace/configuration",ConfigurationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ConfigurationRequest2.type=new messages_1.ProtocolRequestType(ConfigurationRequest2.method)}}),require_protocol_colorProvider=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.ColorPresentationRequest=exports2.DocumentColorRequest=void 0;var DocumentColorRequest,DocumentColorRequest2,ColorPresentationRequest,ColorPresentationRequest2,messages_1=require_messages2();(DocumentColorRequest2=DocumentColorRequest||(exports2.DocumentColorRequest=DocumentColorRequest={})).method="textDocument/documentColor",DocumentColorRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentColorRequest2.type=new messages_1.ProtocolRequestType(DocumentColorRequest2.method),(ColorPresentationRequest2=ColorPresentationRequest||(exports2.ColorPresentationRequest=ColorPresentationRequest={})).method="textDocument/colorPresentation",ColorPresentationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ColorPresentationRequest2.type=new messages_1.ProtocolRequestType(ColorPresentationRequest2.method)}}),require_protocol_foldingRange=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.FoldingRangeRefreshRequest=exports2.FoldingRangeRequest=void 0;var FoldingRangeRequest,FoldingRangeRequest2,FoldingRangeRefreshRequest,FoldingRangeRefreshRequest2,messages_1=require_messages2();(FoldingRangeRequest2=FoldingRangeRequest||(exports2.FoldingRangeRequest=FoldingRangeRequest={})).method="textDocument/foldingRange",FoldingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,FoldingRangeRequest2.type=new messages_1.ProtocolRequestType(FoldingRangeRequest2.method),(FoldingRangeRefreshRequest2=FoldingRangeRefreshRequest||(exports2.FoldingRangeRefreshRequest=FoldingRangeRefreshRequest={})).method="workspace/foldingRange/refresh",FoldingRangeRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,FoldingRangeRefreshRequest2.type=new messages_1.ProtocolRequestType0(FoldingRangeRefreshRequest2.method)}}),require_protocol_declaration=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.DeclarationRequest=void 0;var DeclarationRequest,DeclarationRequest2,messages_1=require_messages2();(DeclarationRequest2=DeclarationRequest||(exports2.DeclarationRequest=DeclarationRequest={})).method="textDocument/declaration",DeclarationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DeclarationRequest2.type=new messages_1.ProtocolRequestType(DeclarationRequest2.method)}}),require_protocol_selectionRange=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.SelectionRangeRequest=void 0;var SelectionRangeRequest,SelectionRangeRequest2,messages_1=require_messages2();(SelectionRangeRequest2=SelectionRangeRequest||(exports2.SelectionRangeRequest=SelectionRangeRequest={})).method="textDocument/selectionRange",SelectionRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SelectionRangeRequest2.type=new messages_1.ProtocolRequestType(SelectionRangeRequest2.method)}}),require_protocol_progress=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.WorkDoneProgressCancelNotification=exports2.WorkDoneProgressCreateRequest=exports2.WorkDoneProgress=void 0;var WorkDoneProgress,WorkDoneProgressCreateRequest,WorkDoneProgressCreateRequest2,WorkDoneProgressCancelNotification,WorkDoneProgressCancelNotification2,vscode_jsonrpc_1=require_main(),messages_1=require_messages2();!function(WorkDoneProgress2){function is(value){return value===WorkDoneProgress2.type}WorkDoneProgress2.type=new vscode_jsonrpc_1.ProgressType,__name(is,"is"),WorkDoneProgress2.is=is}(WorkDoneProgress||(exports2.WorkDoneProgress=WorkDoneProgress={})),(WorkDoneProgressCreateRequest2=WorkDoneProgressCreateRequest||(exports2.WorkDoneProgressCreateRequest=WorkDoneProgressCreateRequest={})).method="window/workDoneProgress/create",WorkDoneProgressCreateRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkDoneProgressCreateRequest2.type=new messages_1.ProtocolRequestType(WorkDoneProgressCreateRequest2.method),(WorkDoneProgressCancelNotification2=WorkDoneProgressCancelNotification||(exports2.WorkDoneProgressCancelNotification=WorkDoneProgressCancelNotification={})).method="window/workDoneProgress/cancel",WorkDoneProgressCancelNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WorkDoneProgressCancelNotification2.type=new messages_1.ProtocolNotificationType(WorkDoneProgressCancelNotification2.method)}}),require_protocol_callHierarchy=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.CallHierarchyOutgoingCallsRequest=exports2.CallHierarchyIncomingCallsRequest=exports2.CallHierarchyPrepareRequest=void 0;var CallHierarchyPrepareRequest,CallHierarchyPrepareRequest2,CallHierarchyIncomingCallsRequest,CallHierarchyIncomingCallsRequest2,CallHierarchyOutgoingCallsRequest,CallHierarchyOutgoingCallsRequest2,messages_1=require_messages2();(CallHierarchyPrepareRequest2=CallHierarchyPrepareRequest||(exports2.CallHierarchyPrepareRequest=CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",CallHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest2.method),(CallHierarchyIncomingCallsRequest2=CallHierarchyIncomingCallsRequest||(exports2.CallHierarchyIncomingCallsRequest=CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",CallHierarchyIncomingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyIncomingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest2.method),(CallHierarchyOutgoingCallsRequest2=CallHierarchyOutgoingCallsRequest||(exports2.CallHierarchyOutgoingCallsRequest=CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",CallHierarchyOutgoingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyOutgoingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest2.method)}}),require_protocol_semanticTokens=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.SemanticTokensRefreshRequest=exports2.SemanticTokensRangeRequest=exports2.SemanticTokensDeltaRequest=exports2.SemanticTokensRequest=exports2.SemanticTokensRegistrationType=exports2.TokenFormat=void 0;var TokenFormat,SemanticTokensRegistrationType,SemanticTokensRegistrationType2,SemanticTokensRequest,SemanticTokensRequest2,SemanticTokensDeltaRequest,SemanticTokensDeltaRequest2,SemanticTokensRangeRequest,SemanticTokensRangeRequest2,SemanticTokensRefreshRequest,SemanticTokensRefreshRequest2,messages_1=require_messages2();(TokenFormat||(exports2.TokenFormat=TokenFormat={})).Relative="relative",(SemanticTokensRegistrationType2=SemanticTokensRegistrationType||(exports2.SemanticTokensRegistrationType=SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",SemanticTokensRegistrationType2.type=new messages_1.RegistrationType(SemanticTokensRegistrationType2.method),(SemanticTokensRequest2=SemanticTokensRequest||(exports2.SemanticTokensRequest=SemanticTokensRequest={})).method="textDocument/semanticTokens/full",SemanticTokensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRequest2.method),SemanticTokensRequest2.registrationMethod=SemanticTokensRegistrationType.method,(SemanticTokensDeltaRequest2=SemanticTokensDeltaRequest||(exports2.SemanticTokensDeltaRequest=SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",SemanticTokensDeltaRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensDeltaRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensDeltaRequest2.method),SemanticTokensDeltaRequest2.registrationMethod=SemanticTokensRegistrationType.method,(SemanticTokensRangeRequest2=SemanticTokensRangeRequest||(exports2.SemanticTokensRangeRequest=SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",SemanticTokensRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRangeRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRangeRequest2.method),SemanticTokensRangeRequest2.registrationMethod=SemanticTokensRegistrationType.method,(SemanticTokensRefreshRequest2=SemanticTokensRefreshRequest||(exports2.SemanticTokensRefreshRequest=SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",SemanticTokensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,SemanticTokensRefreshRequest2.type=new messages_1.ProtocolRequestType0(SemanticTokensRefreshRequest2.method)}}),require_protocol_showDocument=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.ShowDocumentRequest=void 0;var ShowDocumentRequest,ShowDocumentRequest2,messages_1=require_messages2();(ShowDocumentRequest2=ShowDocumentRequest||(exports2.ShowDocumentRequest=ShowDocumentRequest={})).method="window/showDocument",ShowDocumentRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowDocumentRequest2.type=new messages_1.ProtocolRequestType(ShowDocumentRequest2.method)}}),require_protocol_linkedEditingRange=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.LinkedEditingRangeRequest=void 0;var LinkedEditingRangeRequest,LinkedEditingRangeRequest2,messages_1=require_messages2();(LinkedEditingRangeRequest2=LinkedEditingRangeRequest||(exports2.LinkedEditingRangeRequest=LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",LinkedEditingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,LinkedEditingRangeRequest2.type=new messages_1.ProtocolRequestType(LinkedEditingRangeRequest2.method)}}),require_protocol_fileOperations=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.WillDeleteFilesRequest=exports2.DidDeleteFilesNotification=exports2.DidRenameFilesNotification=exports2.WillRenameFilesRequest=exports2.DidCreateFilesNotification=exports2.WillCreateFilesRequest=exports2.FileOperationPatternKind=void 0;var FileOperationPatternKind,FileOperationPatternKind2,WillCreateFilesRequest,WillCreateFilesRequest2,DidCreateFilesNotification,DidCreateFilesNotification2,WillRenameFilesRequest,WillRenameFilesRequest2,DidRenameFilesNotification,DidRenameFilesNotification2,DidDeleteFilesNotification,DidDeleteFilesNotification2,WillDeleteFilesRequest,WillDeleteFilesRequest2,messages_1=require_messages2();(FileOperationPatternKind2=FileOperationPatternKind||(exports2.FileOperationPatternKind=FileOperationPatternKind={})).file="file",FileOperationPatternKind2.folder="folder",(WillCreateFilesRequest2=WillCreateFilesRequest||(exports2.WillCreateFilesRequest=WillCreateFilesRequest={})).method="workspace/willCreateFiles",WillCreateFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillCreateFilesRequest2.type=new messages_1.ProtocolRequestType(WillCreateFilesRequest2.method),(DidCreateFilesNotification2=DidCreateFilesNotification||(exports2.DidCreateFilesNotification=DidCreateFilesNotification={})).method="workspace/didCreateFiles",DidCreateFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCreateFilesNotification2.type=new messages_1.ProtocolNotificationType(DidCreateFilesNotification2.method),(WillRenameFilesRequest2=WillRenameFilesRequest||(exports2.WillRenameFilesRequest=WillRenameFilesRequest={})).method="workspace/willRenameFiles",WillRenameFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillRenameFilesRequest2.type=new messages_1.ProtocolRequestType(WillRenameFilesRequest2.method),(DidRenameFilesNotification2=DidRenameFilesNotification||(exports2.DidRenameFilesNotification=DidRenameFilesNotification={})).method="workspace/didRenameFiles",DidRenameFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidRenameFilesNotification2.type=new messages_1.ProtocolNotificationType(DidRenameFilesNotification2.method),(DidDeleteFilesNotification2=DidDeleteFilesNotification||(exports2.DidDeleteFilesNotification=DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",DidDeleteFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidDeleteFilesNotification2.type=new messages_1.ProtocolNotificationType(DidDeleteFilesNotification2.method),(WillDeleteFilesRequest2=WillDeleteFilesRequest||(exports2.WillDeleteFilesRequest=WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",WillDeleteFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillDeleteFilesRequest2.type=new messages_1.ProtocolRequestType(WillDeleteFilesRequest2.method)}}),require_protocol_moniker=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.MonikerRequest=exports2.MonikerKind=exports2.UniquenessLevel=void 0;var UniquenessLevel,UniquenessLevel2,MonikerKind,MonikerKind2,MonikerRequest,MonikerRequest2,messages_1=require_messages2();(UniquenessLevel2=UniquenessLevel||(exports2.UniquenessLevel=UniquenessLevel={})).document="document",UniquenessLevel2.project="project",UniquenessLevel2.group="group",UniquenessLevel2.scheme="scheme",UniquenessLevel2.global="global",(MonikerKind2=MonikerKind||(exports2.MonikerKind=MonikerKind={})).$import="import",MonikerKind2.$export="export",MonikerKind2.local="local",(MonikerRequest2=MonikerRequest||(exports2.MonikerRequest=MonikerRequest={})).method="textDocument/moniker",MonikerRequest2.messageDirection=messages_1.MessageDirection.clientToServer,MonikerRequest2.type=new messages_1.ProtocolRequestType(MonikerRequest2.method)}}),require_protocol_typeHierarchy=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.TypeHierarchySubtypesRequest=exports2.TypeHierarchySupertypesRequest=exports2.TypeHierarchyPrepareRequest=void 0;var TypeHierarchyPrepareRequest,TypeHierarchyPrepareRequest2,TypeHierarchySupertypesRequest,TypeHierarchySupertypesRequest2,TypeHierarchySubtypesRequest,TypeHierarchySubtypesRequest2,messages_1=require_messages2();(TypeHierarchyPrepareRequest2=TypeHierarchyPrepareRequest||(exports2.TypeHierarchyPrepareRequest=TypeHierarchyPrepareRequest={})).method="textDocument/prepareTypeHierarchy",TypeHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchyPrepareRequest2.method),(TypeHierarchySupertypesRequest2=TypeHierarchySupertypesRequest||(exports2.TypeHierarchySupertypesRequest=TypeHierarchySupertypesRequest={})).method="typeHierarchy/supertypes",TypeHierarchySupertypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySupertypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySupertypesRequest2.method),(TypeHierarchySubtypesRequest2=TypeHierarchySubtypesRequest||(exports2.TypeHierarchySubtypesRequest=TypeHierarchySubtypesRequest={})).method="typeHierarchy/subtypes",TypeHierarchySubtypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySubtypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySubtypesRequest2.method)}}),require_protocol_inlineValue=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.InlineValueRefreshRequest=exports2.InlineValueRequest=void 0;var InlineValueRequest,InlineValueRequest2,InlineValueRefreshRequest,InlineValueRefreshRequest2,messages_1=require_messages2();(InlineValueRequest2=InlineValueRequest||(exports2.InlineValueRequest=InlineValueRequest={})).method="textDocument/inlineValue",InlineValueRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineValueRequest2.type=new messages_1.ProtocolRequestType(InlineValueRequest2.method),(InlineValueRefreshRequest2=InlineValueRefreshRequest||(exports2.InlineValueRefreshRequest=InlineValueRefreshRequest={})).method="workspace/inlineValue/refresh",InlineValueRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlineValueRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlineValueRefreshRequest2.method)}}),require_protocol_inlayHint=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.InlayHintRefreshRequest=exports2.InlayHintResolveRequest=exports2.InlayHintRequest=void 0;var InlayHintRequest,InlayHintRequest2,InlayHintResolveRequest,InlayHintResolveRequest2,InlayHintRefreshRequest,InlayHintRefreshRequest2,messages_1=require_messages2();(InlayHintRequest2=InlayHintRequest||(exports2.InlayHintRequest=InlayHintRequest={})).method="textDocument/inlayHint",InlayHintRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintRequest2.type=new messages_1.ProtocolRequestType(InlayHintRequest2.method),(InlayHintResolveRequest2=InlayHintResolveRequest||(exports2.InlayHintResolveRequest=InlayHintResolveRequest={})).method="inlayHint/resolve",InlayHintResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintResolveRequest2.type=new messages_1.ProtocolRequestType(InlayHintResolveRequest2.method),(InlayHintRefreshRequest2=InlayHintRefreshRequest||(exports2.InlayHintRefreshRequest=InlayHintRefreshRequest={})).method="workspace/inlayHint/refresh",InlayHintRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlayHintRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlayHintRefreshRequest2.method)}}),require_protocol_diagnostic=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.DiagnosticRefreshRequest=exports2.WorkspaceDiagnosticRequest=exports2.DocumentDiagnosticRequest=exports2.DocumentDiagnosticReportKind=exports2.DiagnosticServerCancellationData=void 0;var DiagnosticServerCancellationData,DocumentDiagnosticReportKind,DocumentDiagnosticReportKind2,DocumentDiagnosticRequest,DocumentDiagnosticRequest2,WorkspaceDiagnosticRequest,WorkspaceDiagnosticRequest2,DiagnosticRefreshRequest,DiagnosticRefreshRequest2,vscode_jsonrpc_1=require_main(),Is2=require_is2(),messages_1=require_messages2();!function(DiagnosticServerCancellationData2){function is(value){const candidate=value;return candidate&&Is2.boolean(candidate.retriggerRequest)}__name(is,"is"),DiagnosticServerCancellationData2.is=is}(DiagnosticServerCancellationData||(exports2.DiagnosticServerCancellationData=DiagnosticServerCancellationData={})),(DocumentDiagnosticReportKind2=DocumentDiagnosticReportKind||(exports2.DocumentDiagnosticReportKind=DocumentDiagnosticReportKind={})).Full="full",DocumentDiagnosticReportKind2.Unchanged="unchanged",(DocumentDiagnosticRequest2=DocumentDiagnosticRequest||(exports2.DocumentDiagnosticRequest=DocumentDiagnosticRequest={})).method="textDocument/diagnostic",DocumentDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentDiagnosticRequest2.type=new messages_1.ProtocolRequestType(DocumentDiagnosticRequest2.method),DocumentDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType,(WorkspaceDiagnosticRequest2=WorkspaceDiagnosticRequest||(exports2.WorkspaceDiagnosticRequest=WorkspaceDiagnosticRequest={})).method="workspace/diagnostic",WorkspaceDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceDiagnosticRequest2.type=new messages_1.ProtocolRequestType(WorkspaceDiagnosticRequest2.method),WorkspaceDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType,(DiagnosticRefreshRequest2=DiagnosticRefreshRequest||(exports2.DiagnosticRefreshRequest=DiagnosticRefreshRequest={})).method="workspace/diagnostic/refresh",DiagnosticRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,DiagnosticRefreshRequest2.type=new messages_1.ProtocolRequestType0(DiagnosticRefreshRequest2.method)}}),require_protocol_notebook=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.DidCloseNotebookDocumentNotification=exports2.DidSaveNotebookDocumentNotification=exports2.DidChangeNotebookDocumentNotification=exports2.NotebookCellArrayChange=exports2.DidOpenNotebookDocumentNotification=exports2.NotebookDocumentSyncRegistrationType=exports2.NotebookDocument=exports2.NotebookCell=exports2.ExecutionSummary=exports2.NotebookCellKind=void 0;var NotebookCellKind,ExecutionSummary,NotebookCell,NotebookDocument,NotebookDocumentSyncRegistrationType,NotebookDocumentSyncRegistrationType2,DidOpenNotebookDocumentNotification,DidOpenNotebookDocumentNotification2,NotebookCellArrayChange,DidChangeNotebookDocumentNotification,DidChangeNotebookDocumentNotification2,DidSaveNotebookDocumentNotification,DidSaveNotebookDocumentNotification2,DidCloseNotebookDocumentNotification,DidCloseNotebookDocumentNotification2,vscode_languageserver_types_1=(init_main(),__toCommonJS(main_exports)),Is2=require_is2(),messages_1=require_messages2();!function(NotebookCellKind2){function is(value){return 1===value||2===value}NotebookCellKind2.Markup=1,NotebookCellKind2.Code=2,__name(is,"is"),NotebookCellKind2.is=is}(NotebookCellKind||(exports2.NotebookCellKind=NotebookCellKind={})),function(ExecutionSummary2){function create(executionOrder,success){const result={executionOrder:executionOrder};return!0!==success&&!1!==success||(result.success=success),result}function is(value){const candidate=value;return Is2.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.executionOrder)&&(void 0===candidate.success||Is2.boolean(candidate.success))}function equals(one,other){return one===other||null!=one&&null!=other&&(one.executionOrder===other.executionOrder&&one.success===other.success)}__name(create,"create"),ExecutionSummary2.create=create,__name(is,"is"),ExecutionSummary2.is=is,__name(equals,"equals"),ExecutionSummary2.equals=equals}(ExecutionSummary||(exports2.ExecutionSummary=ExecutionSummary={})),function(NotebookCell2){function create(kind,document){return{kind:kind,document:document}}function is(value){const candidate=value;return Is2.objectLiteral(candidate)&&NotebookCellKind.is(candidate.kind)&&vscode_languageserver_types_1.DocumentUri.is(candidate.document)&&(void 0===candidate.metadata||Is2.objectLiteral(candidate.metadata))}function diff(one,two){const result=new Set;return one.document!==two.document&&result.add("document"),one.kind!==two.kind&&result.add("kind"),one.executionSummary!==two.executionSummary&&result.add("executionSummary"),void 0===one.metadata&&void 0===two.metadata||equalsMetadata(one.metadata,two.metadata)||result.add("metadata"),void 0===one.executionSummary&&void 0===two.executionSummary||ExecutionSummary.equals(one.executionSummary,two.executionSummary)||result.add("executionSummary"),result}function equalsMetadata(one,other){if(one===other)return!0;if(null==one||null==other)return!1;if(typeof one!=typeof other)return!1;if("object"!=typeof one)return!1;const oneArray=Array.isArray(one),otherArray=Array.isArray(other);if(oneArray!==otherArray)return!1;if(oneArray&&otherArray){if(one.length!==other.length)return!1;for(let i=0;i<one.length;i++)if(!equalsMetadata(one[i],other[i]))return!1}if(Is2.objectLiteral(one)&&Is2.objectLiteral(other)){const oneKeys=Object.keys(one),otherKeys=Object.keys(other);if(oneKeys.length!==otherKeys.length)return!1;if(oneKeys.sort(),otherKeys.sort(),!equalsMetadata(oneKeys,otherKeys))return!1;for(let i=0;i<oneKeys.length;i++){const prop=oneKeys[i];if(!equalsMetadata(one[prop],other[prop]))return!1}}return!0}__name(create,"create"),NotebookCell2.create=create,__name(is,"is"),NotebookCell2.is=is,__name(diff,"diff"),NotebookCell2.diff=diff,__name(equalsMetadata,"equalsMetadata")}(NotebookCell||(exports2.NotebookCell=NotebookCell={})),function(NotebookDocument2){function create(uri,notebookType,version,cells){return{uri:uri,notebookType:notebookType,version:version,cells:cells}}function is(value){const candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.uri)&&vscode_languageserver_types_1.integer.is(candidate.version)&&Is2.typedArray(candidate.cells,NotebookCell.is)}__name(create,"create"),NotebookDocument2.create=create,__name(is,"is"),NotebookDocument2.is=is}(NotebookDocument||(exports2.NotebookDocument=NotebookDocument={})),(NotebookDocumentSyncRegistrationType2=NotebookDocumentSyncRegistrationType||(exports2.NotebookDocumentSyncRegistrationType=NotebookDocumentSyncRegistrationType={})).method="notebookDocument/sync",NotebookDocumentSyncRegistrationType2.messageDirection=messages_1.MessageDirection.clientToServer,NotebookDocumentSyncRegistrationType2.type=new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType2.method),(DidOpenNotebookDocumentNotification2=DidOpenNotebookDocumentNotification||(exports2.DidOpenNotebookDocumentNotification=DidOpenNotebookDocumentNotification={})).method="notebookDocument/didOpen",DidOpenNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification2.method),DidOpenNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method,function(NotebookCellArrayChange2){function is(value){const candidate=value;return Is2.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.start)&&vscode_languageserver_types_1.uinteger.is(candidate.deleteCount)&&(void 0===candidate.cells||Is2.typedArray(candidate.cells,NotebookCell.is))}function create(start,deleteCount,cells){const result={start:start,deleteCount:deleteCount};return void 0!==cells&&(result.cells=cells),result}__name(is,"is"),NotebookCellArrayChange2.is=is,__name(create,"create"),NotebookCellArrayChange2.create=create}(NotebookCellArrayChange||(exports2.NotebookCellArrayChange=NotebookCellArrayChange={})),(DidChangeNotebookDocumentNotification2=DidChangeNotebookDocumentNotification||(exports2.DidChangeNotebookDocumentNotification=DidChangeNotebookDocumentNotification={})).method="notebookDocument/didChange",DidChangeNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification2.method),DidChangeNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method,(DidSaveNotebookDocumentNotification2=DidSaveNotebookDocumentNotification||(exports2.DidSaveNotebookDocumentNotification=DidSaveNotebookDocumentNotification={})).method="notebookDocument/didSave",DidSaveNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification2.method),DidSaveNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method,(DidCloseNotebookDocumentNotification2=DidCloseNotebookDocumentNotification||(exports2.DidCloseNotebookDocumentNotification=DidCloseNotebookDocumentNotification={})).method="notebookDocument/didClose",DidCloseNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification2.method),DidCloseNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method}}),require_protocol_inlineCompletion=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.InlineCompletionRequest=void 0;var InlineCompletionRequest,InlineCompletionRequest2,messages_1=require_messages2();(InlineCompletionRequest2=InlineCompletionRequest||(exports2.InlineCompletionRequest=InlineCompletionRequest={})).method="textDocument/inlineCompletion",InlineCompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineCompletionRequest2.type=new messages_1.ProtocolRequestType(InlineCompletionRequest2.method)}}),require_protocol=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.WorkspaceSymbolRequest=exports2.CodeActionResolveRequest=exports2.CodeActionRequest=exports2.DocumentSymbolRequest=exports2.DocumentHighlightRequest=exports2.ReferencesRequest=exports2.DefinitionRequest=exports2.SignatureHelpRequest=exports2.SignatureHelpTriggerKind=exports2.HoverRequest=exports2.CompletionResolveRequest=exports2.CompletionRequest=exports2.CompletionTriggerKind=exports2.PublishDiagnosticsNotification=exports2.WatchKind=exports2.RelativePattern=exports2.FileChangeType=exports2.DidChangeWatchedFilesNotification=exports2.WillSaveTextDocumentWaitUntilRequest=exports2.WillSaveTextDocumentNotification=exports2.TextDocumentSaveReason=exports2.DidSaveTextDocumentNotification=exports2.DidCloseTextDocumentNotification=exports2.DidChangeTextDocumentNotification=exports2.TextDocumentContentChangeEvent=exports2.DidOpenTextDocumentNotification=exports2.TextDocumentSyncKind=exports2.TelemetryEventNotification=exports2.LogMessageNotification=exports2.ShowMessageRequest=exports2.ShowMessageNotification=exports2.MessageType=exports2.DidChangeConfigurationNotification=exports2.ExitNotification=exports2.ShutdownRequest=exports2.InitializedNotification=exports2.InitializeErrorCodes=exports2.InitializeRequest=exports2.WorkDoneProgressOptions=exports2.TextDocumentRegistrationOptions=exports2.StaticRegistrationOptions=exports2.PositionEncodingKind=exports2.FailureHandlingKind=exports2.ResourceOperationKind=exports2.UnregistrationRequest=exports2.RegistrationRequest=exports2.DocumentSelector=exports2.NotebookCellTextDocumentFilter=exports2.NotebookDocumentFilter=exports2.TextDocumentFilter=void 0,exports2.MonikerRequest=exports2.MonikerKind=exports2.UniquenessLevel=exports2.WillDeleteFilesRequest=exports2.DidDeleteFilesNotification=exports2.WillRenameFilesRequest=exports2.DidRenameFilesNotification=exports2.WillCreateFilesRequest=exports2.DidCreateFilesNotification=exports2.FileOperationPatternKind=exports2.LinkedEditingRangeRequest=exports2.ShowDocumentRequest=exports2.SemanticTokensRegistrationType=exports2.SemanticTokensRefreshRequest=exports2.SemanticTokensRangeRequest=exports2.SemanticTokensDeltaRequest=exports2.SemanticTokensRequest=exports2.TokenFormat=exports2.CallHierarchyPrepareRequest=exports2.CallHierarchyOutgoingCallsRequest=exports2.CallHierarchyIncomingCallsRequest=exports2.WorkDoneProgressCancelNotification=exports2.WorkDoneProgressCreateRequest=exports2.WorkDoneProgress=exports2.SelectionRangeRequest=exports2.DeclarationRequest=exports2.FoldingRangeRefreshRequest=exports2.FoldingRangeRequest=exports2.ColorPresentationRequest=exports2.DocumentColorRequest=exports2.ConfigurationRequest=exports2.DidChangeWorkspaceFoldersNotification=exports2.WorkspaceFoldersRequest=exports2.TypeDefinitionRequest=exports2.ImplementationRequest=exports2.ApplyWorkspaceEditRequest=exports2.ExecuteCommandRequest=exports2.PrepareRenameRequest=exports2.RenameRequest=exports2.PrepareSupportDefaultBehavior=exports2.DocumentOnTypeFormattingRequest=exports2.DocumentRangesFormattingRequest=exports2.DocumentRangeFormattingRequest=exports2.DocumentFormattingRequest=exports2.DocumentLinkResolveRequest=exports2.DocumentLinkRequest=exports2.CodeLensRefreshRequest=exports2.CodeLensResolveRequest=exports2.CodeLensRequest=exports2.WorkspaceSymbolResolveRequest=void 0,exports2.InlineCompletionRequest=exports2.DidCloseNotebookDocumentNotification=exports2.DidSaveNotebookDocumentNotification=exports2.DidChangeNotebookDocumentNotification=exports2.NotebookCellArrayChange=exports2.DidOpenNotebookDocumentNotification=exports2.NotebookDocumentSyncRegistrationType=exports2.NotebookDocument=exports2.NotebookCell=exports2.ExecutionSummary=exports2.NotebookCellKind=exports2.DiagnosticRefreshRequest=exports2.WorkspaceDiagnosticRequest=exports2.DocumentDiagnosticRequest=exports2.DocumentDiagnosticReportKind=exports2.DiagnosticServerCancellationData=exports2.InlayHintRefreshRequest=exports2.InlayHintResolveRequest=exports2.InlayHintRequest=exports2.InlineValueRefreshRequest=exports2.InlineValueRequest=exports2.TypeHierarchySupertypesRequest=exports2.TypeHierarchySubtypesRequest=exports2.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),vscode_languageserver_types_1=(init_main(),__toCommonJS(main_exports)),Is2=require_is2(),protocol_implementation_1=require_protocol_implementation();Object.defineProperty(exports2,"ImplementationRequest",{enumerable:!0,get:__name(function(){return protocol_implementation_1.ImplementationRequest},"get")});var protocol_typeDefinition_1=require_protocol_typeDefinition();Object.defineProperty(exports2,"TypeDefinitionRequest",{enumerable:!0,get:__name(function(){return protocol_typeDefinition_1.TypeDefinitionRequest},"get")});var protocol_workspaceFolder_1=require_protocol_workspaceFolder();Object.defineProperty(exports2,"WorkspaceFoldersRequest",{enumerable:!0,get:__name(function(){return protocol_workspaceFolder_1.WorkspaceFoldersRequest},"get")}),Object.defineProperty(exports2,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:__name(function(){return protocol_workspaceFolder_1.DidChangeWorkspaceFoldersNotification},"get")});var protocol_configuration_1=require_protocol_configuration();Object.defineProperty(exports2,"ConfigurationRequest",{enumerable:!0,get:__name(function(){return protocol_configuration_1.ConfigurationRequest},"get")});var protocol_colorProvider_1=require_protocol_colorProvider();Object.defineProperty(exports2,"DocumentColorRequest",{enumerable:!0,get:__name(function(){return protocol_colorProvider_1.DocumentColorRequest},"get")}),Object.defineProperty(exports2,"ColorPresentationRequest",{enumerable:!0,get:__name(function(){return protocol_colorProvider_1.ColorPresentationRequest},"get")});var protocol_foldingRange_1=require_protocol_foldingRange();Object.defineProperty(exports2,"FoldingRangeRequest",{enumerable:!0,get:__name(function(){return protocol_foldingRange_1.FoldingRangeRequest},"get")}),Object.defineProperty(exports2,"FoldingRangeRefreshRequest",{enumerable:!0,get:__name(function(){return protocol_foldingRange_1.FoldingRangeRefreshRequest},"get")});var protocol_declaration_1=require_protocol_declaration();Object.defineProperty(exports2,"DeclarationRequest",{enumerable:!0,get:__name(function(){return protocol_declaration_1.DeclarationRequest},"get")});var protocol_selectionRange_1=require_protocol_selectionRange();Object.defineProperty(exports2,"SelectionRangeRequest",{enumerable:!0,get:__name(function(){return protocol_selectionRange_1.SelectionRangeRequest},"get")});var protocol_progress_1=require_protocol_progress();Object.defineProperty(exports2,"WorkDoneProgress",{enumerable:!0,get:__name(function(){return protocol_progress_1.WorkDoneProgress},"get")}),Object.defineProperty(exports2,"WorkDoneProgressCreateRequest",{enumerable:!0,get:__name(function(){return protocol_progress_1.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(exports2,"WorkDoneProgressCancelNotification",{enumerable:!0,get:__name(function(){return protocol_progress_1.WorkDoneProgressCancelNotification},"get")});var protocol_callHierarchy_1=require_protocol_callHierarchy();Object.defineProperty(exports2,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:__name(function(){return protocol_callHierarchy_1.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(exports2,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:__name(function(){return protocol_callHierarchy_1.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(exports2,"CallHierarchyPrepareRequest",{enumerable:!0,get:__name(function(){return protocol_callHierarchy_1.CallHierarchyPrepareRequest},"get")});var protocol_semanticTokens_1=require_protocol_semanticTokens();Object.defineProperty(exports2,"TokenFormat",{enumerable:!0,get:__name(function(){return protocol_semanticTokens_1.TokenFormat},"get")}),Object.defineProperty(exports2,"SemanticTokensRequest",{enumerable:!0,get:__name(function(){return protocol_semanticTokens_1.SemanticTokensRequest},"get")}),Object.defineProperty(exports2,"SemanticTokensDeltaRequest",{enumerable:!0,get:__name(function(){return protocol_semanticTokens_1.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(exports2,"SemanticTokensRangeRequest",{enumerable:!0,get:__name(function(){return protocol_semanticTokens_1.SemanticTokensRangeRequest},"get")}),Object.defineProperty(exports2,"SemanticTokensRefreshRequest",{enumerable:!0,get:__name(function(){return protocol_semanticTokens_1.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(exports2,"SemanticTokensRegistrationType",{enumerable:!0,get:__name(function(){return protocol_semanticTokens_1.SemanticTokensRegistrationType},"get")});var protocol_showDocument_1=require_protocol_showDocument();Object.defineProperty(exports2,"ShowDocumentRequest",{enumerable:!0,get:__name(function(){return protocol_showDocument_1.ShowDocumentRequest},"get")});var protocol_linkedEditingRange_1=require_protocol_linkedEditingRange();Object.defineProperty(exports2,"LinkedEditingRangeRequest",{enumerable:!0,get:__name(function(){return protocol_linkedEditingRange_1.LinkedEditingRangeRequest},"get")});var protocol_fileOperations_1=require_protocol_fileOperations();Object.defineProperty(exports2,"FileOperationPatternKind",{enumerable:!0,get:__name(function(){return protocol_fileOperations_1.FileOperationPatternKind},"get")}),Object.defineProperty(exports2,"DidCreateFilesNotification",{enumerable:!0,get:__name(function(){return protocol_fileOperations_1.DidCreateFilesNotification},"get")}),Object.defineProperty(exports2,"WillCreateFilesRequest",{enumerable:!0,get:__name(function(){return protocol_fileOperations_1.WillCreateFilesRequest},"get")}),Object.defineProperty(exports2,"DidRenameFilesNotification",{enumerable:!0,get:__name(function(){return protocol_fileOperations_1.DidRenameFilesNotification},"get")}),Object.defineProperty(exports2,"WillRenameFilesRequest",{enumerable:!0,get:__name(function(){return protocol_fileOperations_1.WillRenameFilesRequest},"get")}),Object.defineProperty(exports2,"DidDeleteFilesNotification",{enumerable:!0,get:__name(function(){return protocol_fileOperations_1.DidDeleteFilesNotification},"get")}),Object.defineProperty(exports2,"WillDeleteFilesRequest",{enumerable:!0,get:__name(function(){return protocol_fileOperations_1.WillDeleteFilesRequest},"get")});var protocol_moniker_1=require_protocol_moniker();Object.defineProperty(exports2,"UniquenessLevel",{enumerable:!0,get:__name(function(){return protocol_moniker_1.UniquenessLevel},"get")}),Object.defineProperty(exports2,"MonikerKind",{enumerable:!0,get:__name(function(){return protocol_moniker_1.MonikerKind},"get")}),Object.defineProperty(exports2,"MonikerRequest",{enumerable:!0,get:__name(function(){return protocol_moniker_1.MonikerRequest},"get")});var protocol_typeHierarchy_1=require_protocol_typeHierarchy();Object.defineProperty(exports2,"TypeHierarchyPrepareRequest",{enumerable:!0,get:__name(function(){return protocol_typeHierarchy_1.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(exports2,"TypeHierarchySubtypesRequest",{enumerable:!0,get:__name(function(){return protocol_typeHierarchy_1.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(exports2,"TypeHierarchySupertypesRequest",{enumerable:!0,get:__name(function(){return protocol_typeHierarchy_1.TypeHierarchySupertypesRequest},"get")});var protocol_inlineValue_1=require_protocol_inlineValue();Object.defineProperty(exports2,"InlineValueRequest",{enumerable:!0,get:__name(function(){return protocol_inlineValue_1.InlineValueRequest},"get")}),Object.defineProperty(exports2,"InlineValueRefreshRequest",{enumerable:!0,get:__name(function(){return protocol_inlineValue_1.InlineValueRefreshRequest},"get")});var protocol_inlayHint_1=require_protocol_inlayHint();Object.defineProperty(exports2,"InlayHintRequest",{enumerable:!0,get:__name(function(){return protocol_inlayHint_1.InlayHintRequest},"get")}),Object.defineProperty(exports2,"InlayHintResolveRequest",{enumerable:!0,get:__name(function(){return protocol_inlayHint_1.InlayHintResolveRequest},"get")}),Object.defineProperty(exports2,"InlayHintRefreshRequest",{enumerable:!0,get:__name(function(){return protocol_inlayHint_1.InlayHintRefreshRequest},"get")});var protocol_diagnostic_1=require_protocol_diagnostic();Object.defineProperty(exports2,"DiagnosticServerCancellationData",{enumerable:!0,get:__name(function(){return protocol_diagnostic_1.DiagnosticServerCancellationData},"get")}),Object.defineProperty(exports2,"DocumentDiagnosticReportKind",{enumerable:!0,get:__name(function(){return protocol_diagnostic_1.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(exports2,"DocumentDiagnosticRequest",{enumerable:!0,get:__name(function(){return protocol_diagnostic_1.DocumentDiagnosticRequest},"get")}),Object.defineProperty(exports2,"WorkspaceDiagnosticRequest",{enumerable:!0,get:__name(function(){return protocol_diagnostic_1.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(exports2,"DiagnosticRefreshRequest",{enumerable:!0,get:__name(function(){return protocol_diagnostic_1.DiagnosticRefreshRequest},"get")});var protocol_notebook_1=require_protocol_notebook();Object.defineProperty(exports2,"NotebookCellKind",{enumerable:!0,get:__name(function(){return protocol_notebook_1.NotebookCellKind},"get")}),Object.defineProperty(exports2,"ExecutionSummary",{enumerable:!0,get:__name(function(){return protocol_notebook_1.ExecutionSummary},"get")}),Object.defineProperty(exports2,"NotebookCell",{enumerable:!0,get:__name(function(){return protocol_notebook_1.NotebookCell},"get")}),Object.defineProperty(exports2,"NotebookDocument",{enumerable:!0,get:__name(function(){return protocol_notebook_1.NotebookDocument},"get")}),Object.defineProperty(exports2,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:__name(function(){return protocol_notebook_1.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(exports2,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:__name(function(){return protocol_notebook_1.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(exports2,"NotebookCellArrayChange",{enumerable:!0,get:__name(function(){return protocol_notebook_1.NotebookCellArrayChange},"get")}),Object.defineProperty(exports2,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:__name(function(){return protocol_notebook_1.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(exports2,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:__name(function(){return protocol_notebook_1.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(exports2,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:__name(function(){return protocol_notebook_1.DidCloseNotebookDocumentNotification},"get")});var TextDocumentFilter,NotebookDocumentFilter,NotebookCellTextDocumentFilter,DocumentSelector,RegistrationRequest,RegistrationRequest2,UnregistrationRequest,UnregistrationRequest2,ResourceOperationKind,ResourceOperationKind2,FailureHandlingKind,FailureHandlingKind2,PositionEncodingKind,PositionEncodingKind2,StaticRegistrationOptions,TextDocumentRegistrationOptions,WorkDoneProgressOptions,InitializeRequest,InitializeRequest2,InitializeErrorCodes,InitializedNotification,InitializedNotification2,ShutdownRequest,ShutdownRequest2,ExitNotification,ExitNotification2,DidChangeConfigurationNotification,DidChangeConfigurationNotification2,MessageType,MessageType2,ShowMessageNotification,ShowMessageNotification2,ShowMessageRequest,ShowMessageRequest2,LogMessageNotification,LogMessageNotification2,TelemetryEventNotification,TelemetryEventNotification2,TextDocumentSyncKind,TextDocumentSyncKind2,DidOpenTextDocumentNotification,DidOpenTextDocumentNotification2,TextDocumentContentChangeEvent,DidChangeTextDocumentNotification,DidChangeTextDocumentNotification2,DidCloseTextDocumentNotification,DidCloseTextDocumentNotification2,DidSaveTextDocumentNotification,DidSaveTextDocumentNotification2,TextDocumentSaveReason,TextDocumentSaveReason2,WillSaveTextDocumentNotification,WillSaveTextDocumentNotification2,WillSaveTextDocumentWaitUntilRequest,WillSaveTextDocumentWaitUntilRequest2,DidChangeWatchedFilesNotification,DidChangeWatchedFilesNotification2,FileChangeType,FileChangeType2,RelativePattern,WatchKind,WatchKind2,PublishDiagnosticsNotification,PublishDiagnosticsNotification2,CompletionTriggerKind,CompletionTriggerKind2,CompletionRequest,CompletionRequest2,CompletionResolveRequest,CompletionResolveRequest2,HoverRequest,HoverRequest2,SignatureHelpTriggerKind,SignatureHelpTriggerKind2,SignatureHelpRequest,SignatureHelpRequest2,DefinitionRequest,DefinitionRequest2,ReferencesRequest,ReferencesRequest2,DocumentHighlightRequest,DocumentHighlightRequest2,DocumentSymbolRequest,DocumentSymbolRequest2,CodeActionRequest,CodeActionRequest2,CodeActionResolveRequest,CodeActionResolveRequest2,WorkspaceSymbolRequest,WorkspaceSymbolRequest2,WorkspaceSymbolResolveRequest,WorkspaceSymbolResolveRequest2,CodeLensRequest,CodeLensRequest2,CodeLensResolveRequest,CodeLensResolveRequest2,CodeLensRefreshRequest,CodeLensRefreshRequest2,DocumentLinkRequest,DocumentLinkRequest2,DocumentLinkResolveRequest,DocumentLinkResolveRequest2,DocumentFormattingRequest,DocumentFormattingRequest2,DocumentRangeFormattingRequest,DocumentRangeFormattingRequest2,DocumentRangesFormattingRequest,DocumentRangesFormattingRequest2,DocumentOnTypeFormattingRequest,DocumentOnTypeFormattingRequest2,PrepareSupportDefaultBehavior,RenameRequest,RenameRequest2,PrepareRenameRequest,PrepareRenameRequest2,ExecuteCommandRequest,ExecuteCommandRequest2,ApplyWorkspaceEditRequest,ApplyWorkspaceEditRequest2,protocol_inlineCompletion_1=require_protocol_inlineCompletion();Object.defineProperty(exports2,"InlineCompletionRequest",{enumerable:!0,get:__name(function(){return protocol_inlineCompletion_1.InlineCompletionRequest},"get")}),function(TextDocumentFilter2){function is(value){const candidate=value;return Is2.string(candidate)||Is2.string(candidate.language)||Is2.string(candidate.scheme)||Is2.string(candidate.pattern)}__name(is,"is"),TextDocumentFilter2.is=is}(TextDocumentFilter||(exports2.TextDocumentFilter=TextDocumentFilter={})),function(NotebookDocumentFilter2){function is(value){const candidate=value;return Is2.objectLiteral(candidate)&&(Is2.string(candidate.notebookType)||Is2.string(candidate.scheme)||Is2.string(candidate.pattern))}__name(is,"is"),NotebookDocumentFilter2.is=is}(NotebookDocumentFilter||(exports2.NotebookDocumentFilter=NotebookDocumentFilter={})),function(NotebookCellTextDocumentFilter2){function is(value){const candidate=value;return Is2.objectLiteral(candidate)&&(Is2.string(candidate.notebook)||NotebookDocumentFilter.is(candidate.notebook))&&(void 0===candidate.language||Is2.string(candidate.language))}__name(is,"is"),NotebookCellTextDocumentFilter2.is=is}(NotebookCellTextDocumentFilter||(exports2.NotebookCellTextDocumentFilter=NotebookCellTextDocumentFilter={})),function(DocumentSelector2){function is(value){if(!Array.isArray(value))return!1;for(let elem of value)if(!Is2.string(elem)&&!TextDocumentFilter.is(elem)&&!NotebookCellTextDocumentFilter.is(elem))return!1;return!0}__name(is,"is"),DocumentSelector2.is=is}(DocumentSelector||(exports2.DocumentSelector=DocumentSelector={})),(RegistrationRequest2=RegistrationRequest||(exports2.RegistrationRequest=RegistrationRequest={})).method="client/registerCapability",RegistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,RegistrationRequest2.type=new messages_1.ProtocolRequestType(RegistrationRequest2.method),(UnregistrationRequest2=UnregistrationRequest||(exports2.UnregistrationRequest=UnregistrationRequest={})).method="client/unregisterCapability",UnregistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,UnregistrationRequest2.type=new messages_1.ProtocolRequestType(UnregistrationRequest2.method),(ResourceOperationKind2=ResourceOperationKind||(exports2.ResourceOperationKind=ResourceOperationKind={})).Create="create",ResourceOperationKind2.Rename="rename",ResourceOperationKind2.Delete="delete",(FailureHandlingKind2=FailureHandlingKind||(exports2.FailureHandlingKind=FailureHandlingKind={})).Abort="abort",FailureHandlingKind2.Transactional="transactional",FailureHandlingKind2.TextOnlyTransactional="textOnlyTransactional",FailureHandlingKind2.Undo="undo",(PositionEncodingKind2=PositionEncodingKind||(exports2.PositionEncodingKind=PositionEncodingKind={})).UTF8="utf-8",PositionEncodingKind2.UTF16="utf-16",PositionEncodingKind2.UTF32="utf-32",function(StaticRegistrationOptions2){function hasId(value){const candidate=value;return candidate&&Is2.string(candidate.id)&&candidate.id.length>0}__name(hasId,"hasId"),StaticRegistrationOptions2.hasId=hasId}(StaticRegistrationOptions||(exports2.StaticRegistrationOptions=StaticRegistrationOptions={})),function(TextDocumentRegistrationOptions2){function is(value){const candidate=value;return candidate&&(null===candidate.documentSelector||DocumentSelector.is(candidate.documentSelector))}__name(is,"is"),TextDocumentRegistrationOptions2.is=is}(TextDocumentRegistrationOptions||(exports2.TextDocumentRegistrationOptions=TextDocumentRegistrationOptions={})),function(WorkDoneProgressOptions2){function is(value){const candidate=value;return Is2.objectLiteral(candidate)&&(void 0===candidate.workDoneProgress||Is2.boolean(candidate.workDoneProgress))}function hasWorkDoneProgress(value){const candidate=value;return candidate&&Is2.boolean(candidate.workDoneProgress)}__name(is,"is"),WorkDoneProgressOptions2.is=is,__name(hasWorkDoneProgress,"hasWorkDoneProgress"),WorkDoneProgressOptions2.hasWorkDoneProgress=hasWorkDoneProgress}(WorkDoneProgressOptions||(exports2.WorkDoneProgressOptions=WorkDoneProgressOptions={})),(InitializeRequest2=InitializeRequest||(exports2.InitializeRequest=InitializeRequest={})).method="initialize",InitializeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InitializeRequest2.type=new messages_1.ProtocolRequestType(InitializeRequest2.method),(InitializeErrorCodes||(exports2.InitializeErrorCodes=InitializeErrorCodes={})).unknownProtocolVersion=1,(InitializedNotification2=InitializedNotification||(exports2.InitializedNotification=InitializedNotification={})).method="initialized",InitializedNotification2.messageDirection=messages_1.MessageDirection.clientToServer,InitializedNotification2.type=new messages_1.ProtocolNotificationType(InitializedNotification2.method),(ShutdownRequest2=ShutdownRequest||(exports2.ShutdownRequest=ShutdownRequest={})).method="shutdown",ShutdownRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ShutdownRequest2.type=new messages_1.ProtocolRequestType0(ShutdownRequest2.method),(ExitNotification2=ExitNotification||(exports2.ExitNotification=ExitNotification={})).method="exit",ExitNotification2.messageDirection=messages_1.MessageDirection.clientToServer,ExitNotification2.type=new messages_1.ProtocolNotificationType0(ExitNotification2.method),(DidChangeConfigurationNotification2=DidChangeConfigurationNotification||(exports2.DidChangeConfigurationNotification=DidChangeConfigurationNotification={})).method="workspace/didChangeConfiguration",DidChangeConfigurationNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeConfigurationNotification2.type=new messages_1.ProtocolNotificationType(DidChangeConfigurationNotification2.method),(MessageType2=MessageType||(exports2.MessageType=MessageType={})).Error=1,MessageType2.Warning=2,MessageType2.Info=3,MessageType2.Log=4,MessageType2.Debug=5,(ShowMessageNotification2=ShowMessageNotification||(exports2.ShowMessageNotification=ShowMessageNotification={})).method="window/showMessage",ShowMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageNotification2.type=new messages_1.ProtocolNotificationType(ShowMessageNotification2.method),(ShowMessageRequest2=ShowMessageRequest||(exports2.ShowMessageRequest=ShowMessageRequest={})).method="window/showMessageRequest",ShowMessageRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageRequest2.type=new messages_1.ProtocolRequestType(ShowMessageRequest2.method),(LogMessageNotification2=LogMessageNotification||(exports2.LogMessageNotification=LogMessageNotification={})).method="window/logMessage",LogMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,LogMessageNotification2.type=new messages_1.ProtocolNotificationType(LogMessageNotification2.method),(TelemetryEventNotification2=TelemetryEventNotification||(exports2.TelemetryEventNotification=TelemetryEventNotification={})).method="telemetry/event",TelemetryEventNotification2.messageDirection=messages_1.MessageDirection.serverToClient,TelemetryEventNotification2.type=new messages_1.ProtocolNotificationType(TelemetryEventNotification2.method),(TextDocumentSyncKind2=TextDocumentSyncKind||(exports2.TextDocumentSyncKind=TextDocumentSyncKind={})).None=0,TextDocumentSyncKind2.Full=1,TextDocumentSyncKind2.Incremental=2,(DidOpenTextDocumentNotification2=DidOpenTextDocumentNotification||(exports2.DidOpenTextDocumentNotification=DidOpenTextDocumentNotification={})).method="textDocument/didOpen",DidOpenTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification2.method),function(TextDocumentContentChangeEvent2){function isIncremental(event){let candidate=event;return null!=candidate&&"string"==typeof candidate.text&&void 0!==candidate.range&&(void 0===candidate.rangeLength||"number"==typeof candidate.rangeLength)}function isFull(event){let candidate=event;return null!=candidate&&"string"==typeof candidate.text&&void 0===candidate.range&&void 0===candidate.rangeLength}__name(isIncremental,"isIncremental"),TextDocumentContentChangeEvent2.isIncremental=isIncremental,__name(isFull,"isFull"),TextDocumentContentChangeEvent2.isFull=isFull}(TextDocumentContentChangeEvent||(exports2.TextDocumentContentChangeEvent=TextDocumentContentChangeEvent={})),(DidChangeTextDocumentNotification2=DidChangeTextDocumentNotification||(exports2.DidChangeTextDocumentNotification=DidChangeTextDocumentNotification={})).method="textDocument/didChange",DidChangeTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification2.method),(DidCloseTextDocumentNotification2=DidCloseTextDocumentNotification||(exports2.DidCloseTextDocumentNotification=DidCloseTextDocumentNotification={})).method="textDocument/didClose",DidCloseTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification2.method),(DidSaveTextDocumentNotification2=DidSaveTextDocumentNotification||(exports2.DidSaveTextDocumentNotification=DidSaveTextDocumentNotification={})).method="textDocument/didSave",DidSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification2.method),(TextDocumentSaveReason2=TextDocumentSaveReason||(exports2.TextDocumentSaveReason=TextDocumentSaveReason={})).Manual=1,TextDocumentSaveReason2.AfterDelay=2,TextDocumentSaveReason2.FocusOut=3,(WillSaveTextDocumentNotification2=WillSaveTextDocumentNotification||(exports2.WillSaveTextDocumentNotification=WillSaveTextDocumentNotification={})).method="textDocument/willSave",WillSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification2.method),(WillSaveTextDocumentWaitUntilRequest2=WillSaveTextDocumentWaitUntilRequest||(exports2.WillSaveTextDocumentWaitUntilRequest=WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",WillSaveTextDocumentWaitUntilRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentWaitUntilRequest2.type=new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest2.method),(DidChangeWatchedFilesNotification2=DidChangeWatchedFilesNotification||(exports2.DidChangeWatchedFilesNotification=DidChangeWatchedFilesNotification={})).method="workspace/didChangeWatchedFiles",DidChangeWatchedFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWatchedFilesNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWatchedFilesNotification2.method),(FileChangeType2=FileChangeType||(exports2.FileChangeType=FileChangeType={})).Created=1,FileChangeType2.Changed=2,FileChangeType2.Deleted=3,function(RelativePattern2){function is(value){const candidate=value;return Is2.objectLiteral(candidate)&&(vscode_languageserver_types_1.URI.is(candidate.baseUri)||vscode_languageserver_types_1.WorkspaceFolder.is(candidate.baseUri))&&Is2.string(candidate.pattern)}__name(is,"is"),RelativePattern2.is=is}(RelativePattern||(exports2.RelativePattern=RelativePattern={})),(WatchKind2=WatchKind||(exports2.WatchKind=WatchKind={})).Create=1,WatchKind2.Change=2,WatchKind2.Delete=4,(PublishDiagnosticsNotification2=PublishDiagnosticsNotification||(exports2.PublishDiagnosticsNotification=PublishDiagnosticsNotification={})).method="textDocument/publishDiagnostics",PublishDiagnosticsNotification2.messageDirection=messages_1.MessageDirection.serverToClient,PublishDiagnosticsNotification2.type=new messages_1.ProtocolNotificationType(PublishDiagnosticsNotification2.method),(CompletionTriggerKind2=CompletionTriggerKind||(exports2.CompletionTriggerKind=CompletionTriggerKind={})).Invoked=1,CompletionTriggerKind2.TriggerCharacter=2,CompletionTriggerKind2.TriggerForIncompleteCompletions=3,(CompletionRequest2=CompletionRequest||(exports2.CompletionRequest=CompletionRequest={})).method="textDocument/completion",CompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionRequest2.type=new messages_1.ProtocolRequestType(CompletionRequest2.method),(CompletionResolveRequest2=CompletionResolveRequest||(exports2.CompletionResolveRequest=CompletionResolveRequest={})).method="completionItem/resolve",CompletionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionResolveRequest2.type=new messages_1.ProtocolRequestType(CompletionResolveRequest2.method),(HoverRequest2=HoverRequest||(exports2.HoverRequest=HoverRequest={})).method="textDocument/hover",HoverRequest2.messageDirection=messages_1.MessageDirection.clientToServer,HoverRequest2.type=new messages_1.ProtocolRequestType(HoverRequest2.method),(SignatureHelpTriggerKind2=SignatureHelpTriggerKind||(exports2.SignatureHelpTriggerKind=SignatureHelpTriggerKind={})).Invoked=1,SignatureHelpTriggerKind2.TriggerCharacter=2,SignatureHelpTriggerKind2.ContentChange=3,(SignatureHelpRequest2=SignatureHelpRequest||(exports2.SignatureHelpRequest=SignatureHelpRequest={})).method="textDocument/signatureHelp",SignatureHelpRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SignatureHelpRequest2.type=new messages_1.ProtocolRequestType(SignatureHelpRequest2.method),(DefinitionRequest2=DefinitionRequest||(exports2.DefinitionRequest=DefinitionRequest={})).method="textDocument/definition",DefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DefinitionRequest2.type=new messages_1.ProtocolRequestType(DefinitionRequest2.method),(ReferencesRequest2=ReferencesRequest||(exports2.ReferencesRequest=ReferencesRequest={})).method="textDocument/references",ReferencesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ReferencesRequest2.type=new messages_1.ProtocolRequestType(ReferencesRequest2.method),(DocumentHighlightRequest2=DocumentHighlightRequest||(exports2.DocumentHighlightRequest=DocumentHighlightRequest={})).method="textDocument/documentHighlight",DocumentHighlightRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentHighlightRequest2.type=new messages_1.ProtocolRequestType(DocumentHighlightRequest2.method),(DocumentSymbolRequest2=DocumentSymbolRequest||(exports2.DocumentSymbolRequest=DocumentSymbolRequest={})).method="textDocument/documentSymbol",DocumentSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentSymbolRequest2.type=new messages_1.ProtocolRequestType(DocumentSymbolRequest2.method),(CodeActionRequest2=CodeActionRequest||(exports2.CodeActionRequest=CodeActionRequest={})).method="textDocument/codeAction",CodeActionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionRequest2.type=new messages_1.ProtocolRequestType(CodeActionRequest2.method),(CodeActionResolveRequest2=CodeActionResolveRequest||(exports2.CodeActionResolveRequest=CodeActionResolveRequest={})).method="codeAction/resolve",CodeActionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionResolveRequest2.type=new messages_1.ProtocolRequestType(CodeActionResolveRequest2.method),(WorkspaceSymbolRequest2=WorkspaceSymbolRequest||(exports2.WorkspaceSymbolRequest=WorkspaceSymbolRequest={})).method="workspace/symbol",WorkspaceSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolRequest2.method),(WorkspaceSymbolResolveRequest2=WorkspaceSymbolResolveRequest||(exports2.WorkspaceSymbolResolveRequest=WorkspaceSymbolResolveRequest={})).method="workspaceSymbol/resolve",WorkspaceSymbolResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolResolveRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolResolveRequest2.method),(CodeLensRequest2=CodeLensRequest||(exports2.CodeLensRequest=CodeLensRequest={})).method="textDocument/codeLens",CodeLensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensRequest2.type=new messages_1.ProtocolRequestType(CodeLensRequest2.method),(CodeLensResolveRequest2=CodeLensResolveRequest||(exports2.CodeLensResolveRequest=CodeLensResolveRequest={})).method="codeLens/resolve",CodeLensResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensResolveRequest2.type=new messages_1.ProtocolRequestType(CodeLensResolveRequest2.method),(CodeLensRefreshRequest2=CodeLensRefreshRequest||(exports2.CodeLensRefreshRequest=CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",CodeLensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,CodeLensRefreshRequest2.type=new messages_1.ProtocolRequestType0(CodeLensRefreshRequest2.method),(DocumentLinkRequest2=DocumentLinkRequest||(exports2.DocumentLinkRequest=DocumentLinkRequest={})).method="textDocument/documentLink",DocumentLinkRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkRequest2.method),(DocumentLinkResolveRequest2=DocumentLinkResolveRequest||(exports2.DocumentLinkResolveRequest=DocumentLinkResolveRequest={})).method="documentLink/resolve",DocumentLinkResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkResolveRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkResolveRequest2.method),(DocumentFormattingRequest2=DocumentFormattingRequest||(exports2.DocumentFormattingRequest=DocumentFormattingRequest={})).method="textDocument/formatting",DocumentFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentFormattingRequest2.method),(DocumentRangeFormattingRequest2=DocumentRangeFormattingRequest||(exports2.DocumentRangeFormattingRequest=DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",DocumentRangeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest2.method),(DocumentRangesFormattingRequest2=DocumentRangesFormattingRequest||(exports2.DocumentRangesFormattingRequest=DocumentRangesFormattingRequest={})).method="textDocument/rangesFormatting",DocumentRangesFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangesFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangesFormattingRequest2.method),(DocumentOnTypeFormattingRequest2=DocumentOnTypeFormattingRequest||(exports2.DocumentOnTypeFormattingRequest=DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",DocumentOnTypeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentOnTypeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest2.method),(PrepareSupportDefaultBehavior||(exports2.PrepareSupportDefaultBehavior=PrepareSupportDefaultBehavior={})).Identifier=1,(RenameRequest2=RenameRequest||(exports2.RenameRequest=RenameRequest={})).method="textDocument/rename",RenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,RenameRequest2.type=new messages_1.ProtocolRequestType(RenameRequest2.method),(PrepareRenameRequest2=PrepareRenameRequest||(exports2.PrepareRenameRequest=PrepareRenameRequest={})).method="textDocument/prepareRename",PrepareRenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,PrepareRenameRequest2.type=new messages_1.ProtocolRequestType(PrepareRenameRequest2.method),(ExecuteCommandRequest2=ExecuteCommandRequest||(exports2.ExecuteCommandRequest=ExecuteCommandRequest={})).method="workspace/executeCommand",ExecuteCommandRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ExecuteCommandRequest2.type=new messages_1.ProtocolRequestType(ExecuteCommandRequest2.method),(ApplyWorkspaceEditRequest2=ApplyWorkspaceEditRequest||(exports2.ApplyWorkspaceEditRequest=ApplyWorkspaceEditRequest={})).method="workspace/applyEdit",ApplyWorkspaceEditRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ApplyWorkspaceEditRequest2.type=new messages_1.ProtocolRequestType("workspace/applyEdit")}}),require_connection2=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(exports2){Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.createProtocolConnection=void 0;var vscode_jsonrpc_1=require_main();function createProtocolConnection(input,output,logger,options){return vscode_jsonrpc_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,vscode_jsonrpc_1.createMessageConnection)(input,output,logger,options)}__name(createProtocolConnection,"createProtocolConnection"),exports2.createProtocolConnection=createProtocolConnection}}),require_api2=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(exports2){var __createBinding=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:__name(function(){return m[k]},"get")}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports3,p)||__createBinding(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.LSPErrorCodes=exports2.createProtocolConnection=void 0,__exportStar(require_main(),exports2),__exportStar((init_main(),__toCommonJS(main_exports)),exports2),__exportStar(require_messages2(),exports2),__exportStar(require_protocol(),exports2);var LSPErrorCodes2,LSPErrorCodes3,connection_1=require_connection2();Object.defineProperty(exports2,"createProtocolConnection",{enumerable:!0,get:__name(function(){return connection_1.createProtocolConnection},"get")}),(LSPErrorCodes3=LSPErrorCodes2||(exports2.LSPErrorCodes=LSPErrorCodes2={})).lspReservedErrorRangeStart=-32899,LSPErrorCodes3.RequestFailed=-32803,LSPErrorCodes3.ServerCancelled=-32802,LSPErrorCodes3.ContentModified=-32801,LSPErrorCodes3.RequestCancelled=-32800,LSPErrorCodes3.lspReservedErrorRangeEnd=-32800}}),require_main2=__commonJS({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(exports2){var __createBinding=exports2&&exports2.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:__name(function(){return m[k]},"get")}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=exports2&&exports2.__exportStar||function(m,exports3){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports3,p)||__createBinding(exports3,m,p)};Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.createProtocolConnection=void 0;var browser_1=require_browser();function createProtocolConnection(reader,writer,logger,options){return(0,browser_1.createMessageConnection)(reader,writer,logger,options)}__exportStar(require_browser(),exports2),__exportStar(require_api2(),exports2),__name(createProtocolConnection,"createProtocolConnection"),exports2.createProtocolConnection=createProtocolConnection}}),lib_exports={};__export(lib_exports,{AbstractAstReflection:()=>AbstractAstReflection,AbstractCstNode:()=>AbstractCstNode,AbstractLangiumParser:()=>AbstractLangiumParser,AbstractParserErrorMessageProvider:()=>AbstractParserErrorMessageProvider,AbstractThreadedAsyncParser:()=>AbstractThreadedAsyncParser,AstUtils:()=>ast_utils_exports,BiMap:()=>BiMap,Cancellation:()=>cancellation_exports,CompositeCstNodeImpl:()=>CompositeCstNodeImpl,ContextCache:()=>ContextCache,CstNodeBuilder:()=>CstNodeBuilder,CstUtils:()=>cst_utils_exports,DEFAULT_TOKENIZE_OPTIONS:()=>DEFAULT_TOKENIZE_OPTIONS,DONE_RESULT:()=>DONE_RESULT,DatatypeSymbol:()=>DatatypeSymbol,DefaultAstNodeDescriptionProvider:()=>DefaultAstNodeDescriptionProvider,DefaultAstNodeLocator:()=>DefaultAstNodeLocator,DefaultAsyncParser:()=>DefaultAsyncParser,DefaultCommentProvider:()=>DefaultCommentProvider,DefaultConfigurationProvider:()=>DefaultConfigurationProvider,DefaultDocumentBuilder:()=>DefaultDocumentBuilder,DefaultDocumentValidator:()=>DefaultDocumentValidator,DefaultHydrator:()=>DefaultHydrator,DefaultIndexManager:()=>DefaultIndexManager,DefaultJsonSerializer:()=>DefaultJsonSerializer,DefaultLangiumDocumentFactory:()=>DefaultLangiumDocumentFactory,DefaultLangiumDocuments:()=>DefaultLangiumDocuments,DefaultLangiumProfiler:()=>DefaultLangiumProfiler,DefaultLexer:()=>DefaultLexer,DefaultLexerErrorMessageProvider:()=>DefaultLexerErrorMessageProvider,DefaultLinker:()=>DefaultLinker,DefaultNameProvider:()=>DefaultNameProvider,DefaultReferenceDescriptionProvider:()=>DefaultReferenceDescriptionProvider,DefaultReferences:()=>DefaultReferences,DefaultScopeComputation:()=>DefaultScopeComputation,DefaultScopeProvider:()=>DefaultScopeProvider,DefaultServiceRegistry:()=>DefaultServiceRegistry,DefaultTokenBuilder:()=>DefaultTokenBuilder,DefaultValueConverter:()=>DefaultValueConverter,DefaultWorkspaceLock:()=>DefaultWorkspaceLock,DefaultWorkspaceManager:()=>DefaultWorkspaceManager,Deferred:()=>Deferred,Disposable:()=>Disposable,DisposableCache:()=>DisposableCache,DocumentCache:()=>DocumentCache,DocumentState:()=>DocumentState,DocumentValidator:()=>DocumentValidator,EMPTY_SCOPE:()=>EMPTY_SCOPE,EMPTY_STREAM:()=>EMPTY_STREAM,EmptyFileSystem:()=>EmptyFileSystem,EmptyFileSystemProvider:()=>EmptyFileSystemProvider,ErrorWithLocation:()=>ErrorWithLocation,GrammarAST:()=>ast_exports,GrammarUtils:()=>grammar_utils_exports,IndentationAwareLexer:()=>IndentationAwareLexer,IndentationAwareTokenBuilder:()=>IndentationAwareTokenBuilder,JSDocDocumentationProvider:()=>JSDocDocumentationProvider,LangiumCompletionParser:()=>LangiumCompletionParser,LangiumParser:()=>LangiumParser,LangiumParserErrorMessageProvider:()=>LangiumParserErrorMessageProvider,LeafCstNodeImpl:()=>LeafCstNodeImpl,LexingMode:()=>LexingMode,MapScope:()=>MapScope,Module:()=>Module,MultiMap:()=>MultiMap,MultiMapScope:()=>MultiMapScope,OperationCancelled:()=>OperationCancelled,ParserWorker:()=>ParserWorker,ProfilingTask:()=>ProfilingTask,Reduction:()=>Reduction,RefResolving:()=>RefResolving,RegExpUtils:()=>regexp_utils_exports,RootCstNodeImpl:()=>RootCstNodeImpl,SimpleCache:()=>SimpleCache,StreamImpl:()=>StreamImpl,StreamScope:()=>StreamScope,TextDocument:()=>TextDocument2,TreeStreamImpl:()=>TreeStreamImpl,URI:()=>URI2,UriTrie:()=>UriTrie,UriUtils:()=>UriUtils,VALIDATE_EACH_NODE:()=>VALIDATE_EACH_NODE,ValidationCategory:()=>ValidationCategory,ValidationRegistry:()=>ValidationRegistry,ValueConverter:()=>ValueConverter,WorkspaceCache:()=>WorkspaceCache,assertCondition:()=>assertCondition,assertUnreachable:()=>assertUnreachable,createCompletionParser:()=>createCompletionParser,createDefaultCoreModule:()=>createDefaultCoreModule,createDefaultSharedCoreModule:()=>createDefaultSharedCoreModule,createGrammarConfig:()=>createGrammarConfig,createLangiumParser:()=>createLangiumParser,createParser:()=>createParser,delayNextTick:()=>delayNextTick,diagnosticData:()=>diagnosticData,eagerLoad:()=>eagerLoad,getDiagnosticRange:()=>getDiagnosticRange,indentationBuilderDefaultOptions:()=>indentationBuilderDefaultOptions,inject:()=>inject,interruptAndCheck:()=>interruptAndCheck,isAstNode:()=>isAstNode,isAstNodeDescription:()=>isAstNodeDescription,isAstNodeWithComment:()=>isAstNodeWithComment,isCompositeCstNode:()=>isCompositeCstNode,isIMultiModeLexerDefinition:()=>isIMultiModeLexerDefinition,isJSDoc:()=>isJSDoc,isLeafCstNode:()=>isLeafCstNode,isLinkingError:()=>isLinkingError,isMultiReference:()=>isMultiReference,isNamed:()=>isNamed,isOperationCancelled:()=>isOperationCancelled,isReference:()=>isReference,isRootCstNode:()=>isRootCstNode,isTokenTypeArray:()=>isTokenTypeArray,isTokenTypeDictionary:()=>isTokenTypeDictionary,loadGrammarFromJson:()=>loadGrammarFromJson,parseJSDoc:()=>parseJSDoc,prepareLangiumParser:()=>prepareLangiumParser,setInterruptionPeriod:()=>setInterruptionPeriod,startCancelableOperation:()=>startCancelableOperation,stream:()=>stream,toDiagnosticData:()=>toDiagnosticData,toDiagnosticSeverity:()=>toDiagnosticSeverity});var cst_utils_exports={};function isAstNode(obj){return"object"==typeof obj&&null!==obj&&"string"==typeof obj.$type}function isReference(obj){return"object"==typeof obj&&null!==obj&&"string"==typeof obj.$refText&&"ref"in obj}function isMultiReference(obj){return"object"==typeof obj&&null!==obj&&"string"==typeof obj.$refText&&"items"in obj}function isAstNodeDescription(obj){return"object"==typeof obj&&null!==obj&&"string"==typeof obj.name&&"string"==typeof obj.type&&"string"==typeof obj.path}function isLinkingError(obj){return"object"==typeof obj&&null!==obj&&"object"==typeof obj.info&&"string"==typeof obj.message}__export(cst_utils_exports,{DefaultNameRegexp:()=>DefaultNameRegexp,RangeComparison:()=>RangeComparison,compareRange:()=>compareRange,findCommentNode:()=>findCommentNode,findDeclarationNodeAtOffset:()=>findDeclarationNodeAtOffset,findLeafNodeAtOffset:()=>findLeafNodeAtOffset,findLeafNodeBeforeOffset:()=>findLeafNodeBeforeOffset,flattenCst:()=>flattenCst,getDatatypeNode:()=>getDatatypeNode,getInteriorNodes:()=>getInteriorNodes,getNextNode:()=>getNextNode,getPreviousNode:()=>getPreviousNode,getStartlineNode:()=>getStartlineNode,inRange:()=>inRange,isChildNode:()=>isChildNode,isCommentNode:()=>isCommentNode,streamCst:()=>streamCst,toDocumentSegment:()=>toDocumentSegment,tokenToRange:()=>tokenToRange}),__name(isAstNode,"isAstNode"),__name(isReference,"isReference"),__name(isMultiReference,"isMultiReference"),__name(isAstNodeDescription,"isAstNodeDescription"),__name(isLinkingError,"isLinkingError");var AbstractAstReflection=(__name(_a=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(refInfo){var _a2;const metaData=this.types[refInfo.container.$type];if(!metaData)throw new Error(`Type ${refInfo.container.$type||"undefined"} not found.`);const referenceType=null==(_a2=metaData.properties[refInfo.property])?void 0:_a2.referenceType;if(!referenceType)throw new Error(`Property ${refInfo.property||"undefined"} of type ${refInfo.container.$type} is not a reference.`);return referenceType}getTypeMetaData(type){const result=this.types[type];return result||{name:type,properties:{},superTypes:[]}}isInstance(node,type){return isAstNode(node)&&this.isSubtype(node.$type,type)}isSubtype(subtype,supertype){if(subtype===supertype)return!0;let nested=this.subtypes[subtype];nested||(nested=this.subtypes[subtype]={});const existing=nested[supertype];if(void 0!==existing)return existing;{const metaData=this.types[subtype],result=!!metaData&&metaData.superTypes.some(s=>this.isSubtype(s,supertype));return nested[supertype]=result,result}}getAllSubTypes(type){const existing=this.allSubtypes[type];if(existing)return existing;{const allTypes=this.getAllTypes(),types=[];for(const possibleSubType of allTypes)this.isSubtype(possibleSubType,type)&&types.push(possibleSubType);return this.allSubtypes[type]=types,types}}},"AbstractAstReflection"),_a);function isCompositeCstNode(node){return"object"==typeof node&&null!==node&&Array.isArray(node.content)}function isLeafCstNode(node){return"object"==typeof node&&null!==node&&"object"==typeof node.tokenType}function isRootCstNode(node){return isCompositeCstNode(node)&&"string"==typeof node.fullText}__name(isCompositeCstNode,"isCompositeCstNode"),__name(isLeafCstNode,"isLeafCstNode"),__name(isRootCstNode,"isRootCstNode");var StreamImpl=(_b=class{constructor(startFn,nextFn){this.startFn=startFn,this.nextFn=nextFn}iterator(){const iterator={state:this.startFn(),next:__name(()=>this.nextFn(iterator.state),"next"),[Symbol.iterator]:()=>iterator};return iterator}[Symbol.iterator](){return this.iterator()}isEmpty(){const iterator=this.iterator();return Boolean(iterator.next().done)}count(){const iterator=this.iterator();let count=0,next=iterator.next();for(;!next.done;)count++,next=iterator.next();return count}toArray(){const result=[],iterator=this.iterator();let next;do{next=iterator.next(),void 0!==next.value&&result.push(next.value)}while(!next.done);return result}toSet(){return new Set(this)}toMap(keyFn,valueFn){const entryStream=this.map(element=>[keyFn?keyFn(element):element,valueFn?valueFn(element):element]);return new Map(entryStream)}toString(){return this.join()}concat(other){return new _b(()=>({first:this.startFn(),firstDone:!1,iterator:other[Symbol.iterator]()}),state=>{let result;if(!state.firstDone){do{if(result=this.nextFn(state.first),!result.done)return result}while(!result.done);state.firstDone=!0}do{if(result=state.iterator.next(),!result.done)return result}while(!result.done);return DONE_RESULT})}join(separator=","){const iterator=this.iterator();let result,value="",addSeparator=!1;do{result=iterator.next(),result.done||(addSeparator&&(value+=separator),value+=toString(result.value)),addSeparator=!0}while(!result.done);return value}indexOf(searchElement,fromIndex=0){const iterator=this.iterator();let index=0,next=iterator.next();for(;!next.done;){if(index>=fromIndex&&next.value===searchElement)return index;next=iterator.next(),index++}return-1}every(predicate){const iterator=this.iterator();let next=iterator.next();for(;!next.done;){if(!predicate(next.value))return!1;next=iterator.next()}return!0}some(predicate){const iterator=this.iterator();let next=iterator.next();for(;!next.done;){if(predicate(next.value))return!0;next=iterator.next()}return!1}forEach(callbackfn){const iterator=this.iterator();let index=0,next=iterator.next();for(;!next.done;)callbackfn(next.value,index),next=iterator.next(),index++}map(callbackfn){return new _b(this.startFn,state=>{const{done:done,value:value}=this.nextFn(state);return done?DONE_RESULT:{done:!1,value:callbackfn(value)}})}filter(predicate){return new _b(this.startFn,state=>{let result;do{if(result=this.nextFn(state),!result.done&&predicate(result.value))return result}while(!result.done);return DONE_RESULT})}nonNullable(){return this.filter(e=>null!=e)}reduce(callbackfn,initialValue){const iterator=this.iterator();let previousValue=initialValue,next=iterator.next();for(;!next.done;)previousValue=void 0===previousValue?next.value:callbackfn(previousValue,next.value),next=iterator.next();return previousValue}reduceRight(callbackfn,initialValue){return this.recursiveReduce(this.iterator(),callbackfn,initialValue)}recursiveReduce(iterator,callbackfn,initialValue){const next=iterator.next();if(next.done)return initialValue;const previousValue=this.recursiveReduce(iterator,callbackfn,initialValue);return void 0===previousValue?next.value:callbackfn(previousValue,next.value)}find(predicate){const iterator=this.iterator();let next=iterator.next();for(;!next.done;){if(predicate(next.value))return next.value;next=iterator.next()}}findIndex(predicate){const iterator=this.iterator();let index=0,next=iterator.next();for(;!next.done;){if(predicate(next.value))return index;next=iterator.next(),index++}return-1}includes(searchElement){const iterator=this.iterator();let next=iterator.next();for(;!next.done;){if(next.value===searchElement)return!0;next=iterator.next()}return!1}flatMap(callbackfn){return new _b(()=>({this:this.startFn()}),state=>{do{if(state.iterator){const next=state.iterator.next();if(!next.done)return next;state.iterator=void 0}const{done:done,value:value}=this.nextFn(state.this);if(!done){const mapped=callbackfn(value);if(!isIterable(mapped))return{done:!1,value:mapped};state.iterator=mapped[Symbol.iterator]()}}while(state.iterator);return DONE_RESULT})}flat(depth){if(void 0===depth&&(depth=1),depth<=0)return this;const stream2=depth>1?this.flat(depth-1):this;return new _b(()=>({this:stream2.startFn()}),state=>{do{if(state.iterator){const next=state.iterator.next();if(!next.done)return next;state.iterator=void 0}const{done:done,value:value}=stream2.nextFn(state.this);if(!done){if(!isIterable(value))return{done:!1,value:value};state.iterator=value[Symbol.iterator]()}}while(state.iterator);return DONE_RESULT})}head(){const result=this.iterator().next();if(!result.done)return result.value}tail(skipCount=1){return new _b(()=>{const state=this.startFn();for(let i=0;i<skipCount;i++){if(this.nextFn(state).done)return state}return state},this.nextFn)}limit(maxSize){return new _b(()=>({size:0,state:this.startFn()}),state=>(state.size++,state.size>maxSize?DONE_RESULT:this.nextFn(state.state)))}distinct(by){return new _b(()=>({set:new Set,internalState:this.startFn()}),state=>{let result;do{if(result=this.nextFn(state.internalState),!result.done){const value=by?by(result.value):result.value;if(!state.set.has(value))return state.set.add(value),result}}while(!result.done);return DONE_RESULT})}exclude(other,key){const otherKeySet=new Set;for(const item of other){const value=key?key(item):item;otherKeySet.add(value)}return this.filter(e=>{const ownKey=key?key(e):e;return!otherKeySet.has(ownKey)})}},__name(_b,"StreamImpl"),_b);function toString(item){return"string"==typeof item?item:void 0===item?"undefined":"function"==typeof item.toString?item.toString():Object.prototype.toString.call(item)}function isIterable(obj){return!!obj&&"function"==typeof obj[Symbol.iterator]}__name(toString,"toString"),__name(isIterable,"isIterable");var EMPTY_STREAM=new StreamImpl(()=>{},()=>DONE_RESULT),DONE_RESULT=Object.freeze({done:!0,value:void 0});function stream(...collections){if(1===collections.length){const collection=collections[0];if(collection instanceof StreamImpl)return collection;if(isIterable(collection))return new StreamImpl(()=>collection[Symbol.iterator](),iterator=>iterator.next());if("number"==typeof collection.length)return new StreamImpl(()=>({index:0}),state=>state.index<collection.length?{done:!1,value:collection[state.index++]}:DONE_RESULT)}return collections.length>1?new StreamImpl(()=>({collIndex:0,arrIndex:0}),state=>{do{if(state.iterator){const next=state.iterator.next();if(!next.done)return next;state.iterator=void 0}if(state.array){if(state.arrIndex<state.array.length)return{done:!1,value:state.array[state.arrIndex++]};state.array=void 0,state.arrIndex=0}if(state.collIndex<collections.length){const collection=collections[state.collIndex++];isIterable(collection)?state.iterator=collection[Symbol.iterator]():collection&&"number"==typeof collection.length&&(state.array=collection)}}while(state.iterator||state.array||state.collIndex<collections.length);return DONE_RESULT}):EMPTY_STREAM}__name(stream,"stream");var Reduction,TreeStreamImpl=(__name(_c=class extends StreamImpl{constructor(root3,children,options){super(()=>({iterators:(null==options?void 0:options.includeRoot)?[[root3][Symbol.iterator]()]:[children(root3)[Symbol.iterator]()],pruned:!1}),state=>{for(state.pruned&&(state.iterators.pop(),state.pruned=!1);state.iterators.length>0;){const next=state.iterators[state.iterators.length-1].next();if(!next.done)return state.iterators.push(children(next.value)[Symbol.iterator]()),next;state.iterators.pop()}return DONE_RESULT})}iterator(){const iterator={state:this.startFn(),next:__name(()=>this.nextFn(iterator.state),"next"),prune:__name(()=>{iterator.state.pruned=!0},"prune"),[Symbol.iterator]:()=>iterator};return iterator}},"TreeStreamImpl"),_c);!function(Reduction2){function sum(stream2){return stream2.reduce((a,b)=>a+b,0)}function product(stream2){return stream2.reduce((a,b)=>a*b,0)}function min2(stream2){return stream2.reduce((a,b)=>Math.min(a,b))}function max(stream2){return stream2.reduce((a,b)=>Math.max(a,b))}__name(sum,"sum"),Reduction2.sum=sum,__name(product,"product"),Reduction2.product=product,__name(min2,"min"),Reduction2.min=min2,__name(max,"max"),Reduction2.max=max}(Reduction||(Reduction={}));var ast_utils_exports={};function linkContentToContainer(node,options={}){for(const[name,value]of Object.entries(node))name.startsWith("$")||(Array.isArray(value)?value.forEach((item,index)=>{isAstNode(item)&&(item.$container=node,item.$containerProperty=name,item.$containerIndex=index,options.deep&&linkContentToContainer(item,options))}):isAstNode(value)&&(value.$container=node,value.$containerProperty=name,options.deep&&linkContentToContainer(value,options)))}function getContainerOfType(node,typePredicate){let item=node;for(;item;){if(typePredicate(item))return item;item=item.$container}}function hasContainerOfType(node,predicate){let item=node;for(;item;){if(predicate(item))return!0;item=item.$container}return!1}function getDocument(node){const result=findRootNode(node).$document;if(!result)throw new Error("AST node has no document.");return result}function findRootNode(node){for(;node.$container;)node=node.$container;return node}function getReferenceNodes(reference){return isReference(reference)?reference.ref?[reference.ref]:[]:isMultiReference(reference)?reference.items.map(item=>item.ref):[]}function streamContents(node,options){if(!node)throw new Error("Node must be an AstNode.");const range=null==options?void 0:options.range;return new StreamImpl(()=>({keys:Object.keys(node),keyIndex:0,arrayIndex:0}),state=>{for(;state.keyIndex<state.keys.length;){const property3=state.keys[state.keyIndex];if(!property3.startsWith("$")){const value=node[property3];if(isAstNode(value)){if(state.keyIndex++,isAstNodeInRange(value,range))return{done:!1,value:value}}else if(Array.isArray(value)){for(;state.arrayIndex<value.length;){const element=value[state.arrayIndex++];if(isAstNode(element)&&isAstNodeInRange(element,range))return{done:!1,value:element}}state.arrayIndex=0}}state.keyIndex++}return DONE_RESULT})}function streamAllContents(root3,options){if(!root3)throw new Error("Root node must be an AstNode.");return new TreeStreamImpl(root3,node=>streamContents(node,options))}function streamAst(root3,options){if(!root3)throw new Error("Root node must be an AstNode.");return(null==options?void 0:options.range)&&!isAstNodeInRange(root3,options.range)?new TreeStreamImpl(root3,()=>[]):new TreeStreamImpl(root3,node=>streamContents(node,options),{includeRoot:!0})}function isAstNodeInRange(astNode,range){var _a2;if(!range)return!0;const nodeRange=null==(_a2=astNode.$cstNode)?void 0:_a2.range;return!!nodeRange&&inRange(nodeRange,range)}function streamReferences(node){return new StreamImpl(()=>({keys:Object.keys(node),keyIndex:0,arrayIndex:0}),state=>{for(;state.keyIndex<state.keys.length;){const property3=state.keys[state.keyIndex];if(!property3.startsWith("$")){const value=node[property3];if(isReference(value)||isMultiReference(value))return state.keyIndex++,{done:!1,value:{reference:value,container:node,property:property3}};if(Array.isArray(value)){for(;state.arrayIndex<value.length;){const index=state.arrayIndex++,element=value[index];if(isReference(element)||isMultiReference(value))return{done:!1,value:{reference:element,container:node,property:property3,index:index}}}state.arrayIndex=0}}state.keyIndex++}return DONE_RESULT})}function assignMandatoryProperties(reflection3,node){const typeMetaData=reflection3.getTypeMetaData(node.$type),genericNode=node;for(const property3 of Object.values(typeMetaData.properties))void 0!==property3.defaultValue&&void 0===genericNode[property3.name]&&(genericNode[property3.name]=copyDefaultValue(property3.defaultValue))}function copyDefaultValue(propertyType){return Array.isArray(propertyType)?[...propertyType.map(copyDefaultValue)]:propertyType}function copyAstNode(node,buildReference,trace){const copy={$type:node.$type};trace&&(trace.set(node,copy),trace.set(copy,node));for(const[name,value]of Object.entries(node))if(!name.startsWith("$"))if(isAstNode(value))copy[name]=copyAstNode(value,buildReference,trace);else if(isReference(value))copy[name]=buildReference(copy,name,value.$refNode,value.$refText,value);else if(Array.isArray(value)){const copiedArray=[];for(const element of value)isAstNode(element)?copiedArray.push(copyAstNode(element,buildReference,trace)):isReference(element)?copiedArray.push(buildReference(copy,name,element.$refNode,element.$refText,element)):copiedArray.push(element);copy[name]=copiedArray}else copy[name]=value;return linkContentToContainer(copy,{deep:!0}),copy}__export(ast_utils_exports,{assignMandatoryProperties:()=>assignMandatoryProperties,copyAstNode:()=>copyAstNode,findRootNode:()=>findRootNode,getContainerOfType:()=>getContainerOfType,getDocument:()=>getDocument,getReferenceNodes:()=>getReferenceNodes,hasContainerOfType:()=>hasContainerOfType,linkContentToContainer:()=>linkContentToContainer,streamAllContents:()=>streamAllContents,streamAst:()=>streamAst,streamContents:()=>streamContents,streamReferences:()=>streamReferences}),__name(linkContentToContainer,"linkContentToContainer"),__name(getContainerOfType,"getContainerOfType"),__name(hasContainerOfType,"hasContainerOfType"),__name(getDocument,"getDocument"),__name(findRootNode,"findRootNode"),__name(getReferenceNodes,"getReferenceNodes"),__name(streamContents,"streamContents"),__name(streamAllContents,"streamAllContents"),__name(streamAst,"streamAst"),__name(isAstNodeInRange,"isAstNodeInRange"),__name(streamReferences,"streamReferences"),__name(assignMandatoryProperties,"assignMandatoryProperties"),__name(copyDefaultValue,"copyDefaultValue"),__name(copyAstNode,"copyAstNode");var ast_exports={};__export(ast_exports,{AbstractElement:()=>AbstractElement,AbstractParserRule:()=>AbstractParserRule,AbstractRule:()=>AbstractRule,AbstractType:()=>AbstractType,Action:()=>Action,Alternatives:()=>Alternatives,ArrayLiteral:()=>ArrayLiteral,ArrayType:()=>ArrayType,Assignment:()=>Assignment,BooleanLiteral:()=>BooleanLiteral,CharacterRange:()=>CharacterRange,Condition:()=>Condition,Conjunction:()=>Conjunction,CrossReference:()=>CrossReference,Disjunction:()=>Disjunction,EndOfFile:()=>EndOfFile,Grammar:()=>Grammar,GrammarImport:()=>GrammarImport,Group:()=>Group,InferredType:()=>InferredType,InfixRule:()=>InfixRule,InfixRuleOperatorList:()=>InfixRuleOperatorList,InfixRuleOperators:()=>InfixRuleOperators,Interface:()=>Interface,Keyword:()=>Keyword,LangiumGrammarAstReflection:()=>LangiumGrammarAstReflection,LangiumGrammarTerminals:()=>LangiumGrammarTerminals,NamedArgument:()=>NamedArgument,NegatedToken:()=>NegatedToken,Negation:()=>Negation,NumberLiteral:()=>NumberLiteral,Parameter:()=>Parameter,ParameterReference:()=>ParameterReference,ParserRule:()=>ParserRule,ReferenceType:()=>ReferenceType,RegexToken:()=>RegexToken,ReturnType:()=>ReturnType,RuleCall:()=>RuleCall,SimpleType:()=>SimpleType,StringLiteral:()=>StringLiteral,TerminalAlternatives:()=>TerminalAlternatives,TerminalElement:()=>TerminalElement,TerminalGroup:()=>TerminalGroup,TerminalRule:()=>TerminalRule,TerminalRuleCall:()=>TerminalRuleCall,Type:()=>Type,TypeAttribute:()=>TypeAttribute,TypeDefinition:()=>TypeDefinition,UnionType:()=>UnionType,UnorderedGroup:()=>UnorderedGroup,UntilToken:()=>UntilToken,ValueLiteral:()=>ValueLiteral,Wildcard:()=>Wildcard,isAbstractElement:()=>isAbstractElement,isAbstractParserRule:()=>isAbstractParserRule,isAbstractRule:()=>isAbstractRule,isAbstractType:()=>isAbstractType,isAction:()=>isAction,isAlternatives:()=>isAlternatives,isArrayLiteral:()=>isArrayLiteral,isArrayType:()=>isArrayType,isAssignment:()=>isAssignment,isBooleanLiteral:()=>isBooleanLiteral,isCharacterRange:()=>isCharacterRange,isCondition:()=>isCondition,isConjunction:()=>isConjunction,isCrossReference:()=>isCrossReference,isDisjunction:()=>isDisjunction,isEndOfFile:()=>isEndOfFile,isGrammar:()=>isGrammar,isGrammarImport:()=>isGrammarImport,isGroup:()=>isGroup,isInferredType:()=>isInferredType,isInfixRule:()=>isInfixRule,isInfixRuleOperatorList:()=>isInfixRuleOperatorList,isInfixRuleOperators:()=>isInfixRuleOperators,isInterface:()=>isInterface,isKeyword:()=>isKeyword,isNamedArgument:()=>isNamedArgument,isNegatedToken:()=>isNegatedToken,isNegation:()=>isNegation,isNumberLiteral:()=>isNumberLiteral,isParameter:()=>isParameter,isParameterReference:()=>isParameterReference,isParserRule:()=>isParserRule,isReferenceType:()=>isReferenceType,isRegexToken:()=>isRegexToken,isReturnType:()=>isReturnType,isRuleCall:()=>isRuleCall,isSimpleType:()=>isSimpleType,isStringLiteral:()=>isStringLiteral,isTerminalAlternatives:()=>isTerminalAlternatives,isTerminalElement:()=>isTerminalElement,isTerminalGroup:()=>isTerminalGroup,isTerminalRule:()=>isTerminalRule,isTerminalRuleCall:()=>isTerminalRuleCall,isType:()=>isType,isTypeAttribute:()=>isTypeAttribute,isTypeDefinition:()=>isTypeDefinition,isUnionType:()=>isUnionType,isUnorderedGroup:()=>isUnorderedGroup,isUntilToken:()=>isUntilToken,isValueLiteral:()=>isValueLiteral,isWildcard:()=>isWildcard,reflection:()=>reflection});var LangiumGrammarTerminals={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},AbstractElement={$type:"AbstractElement",cardinality:"cardinality"};function isAbstractElement(item){return reflection.isInstance(item,AbstractElement.$type)}__name(isAbstractElement,"isAbstractElement");var AbstractParserRule={$type:"AbstractParserRule"};function isAbstractParserRule(item){return reflection.isInstance(item,AbstractParserRule.$type)}__name(isAbstractParserRule,"isAbstractParserRule");var AbstractRule={$type:"AbstractRule"};function isAbstractRule(item){return reflection.isInstance(item,AbstractRule.$type)}__name(isAbstractRule,"isAbstractRule");var AbstractType={$type:"AbstractType"};function isAbstractType(item){return reflection.isInstance(item,AbstractType.$type)}__name(isAbstractType,"isAbstractType");var Action={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function isAction(item){return reflection.isInstance(item,Action.$type)}__name(isAction,"isAction");var Alternatives={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function isAlternatives(item){return reflection.isInstance(item,Alternatives.$type)}__name(isAlternatives,"isAlternatives");var ArrayLiteral={$type:"ArrayLiteral",elements:"elements"};function isArrayLiteral(item){return reflection.isInstance(item,ArrayLiteral.$type)}__name(isArrayLiteral,"isArrayLiteral");var ArrayType={$type:"ArrayType",elementType:"elementType"};function isArrayType(item){return reflection.isInstance(item,ArrayType.$type)}__name(isArrayType,"isArrayType");var Assignment={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function isAssignment(item){return reflection.isInstance(item,Assignment.$type)}__name(isAssignment,"isAssignment");var BooleanLiteral={$type:"BooleanLiteral",true:"true"};function isBooleanLiteral(item){return reflection.isInstance(item,BooleanLiteral.$type)}__name(isBooleanLiteral,"isBooleanLiteral");var CharacterRange={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function isCharacterRange(item){return reflection.isInstance(item,CharacterRange.$type)}__name(isCharacterRange,"isCharacterRange");var Condition={$type:"Condition"};function isCondition(item){return reflection.isInstance(item,Condition.$type)}__name(isCondition,"isCondition");var Conjunction={$type:"Conjunction",left:"left",right:"right"};function isConjunction(item){return reflection.isInstance(item,Conjunction.$type)}__name(isConjunction,"isConjunction");var CrossReference={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function isCrossReference(item){return reflection.isInstance(item,CrossReference.$type)}__name(isCrossReference,"isCrossReference");var Disjunction={$type:"Disjunction",left:"left",right:"right"};function isDisjunction(item){return reflection.isInstance(item,Disjunction.$type)}__name(isDisjunction,"isDisjunction");var EndOfFile={$type:"EndOfFile",cardinality:"cardinality"};function isEndOfFile(item){return reflection.isInstance(item,EndOfFile.$type)}__name(isEndOfFile,"isEndOfFile");var Grammar={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function isGrammar(item){return reflection.isInstance(item,Grammar.$type)}__name(isGrammar,"isGrammar");var GrammarImport={$type:"GrammarImport",path:"path"};function isGrammarImport(item){return reflection.isInstance(item,GrammarImport.$type)}__name(isGrammarImport,"isGrammarImport");var Group={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function isGroup(item){return reflection.isInstance(item,Group.$type)}__name(isGroup,"isGroup");var InferredType={$type:"InferredType",name:"name"};function isInferredType(item){return reflection.isInstance(item,InferredType.$type)}__name(isInferredType,"isInferredType");var InfixRule={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function isInfixRule(item){return reflection.isInstance(item,InfixRule.$type)}__name(isInfixRule,"isInfixRule");var InfixRuleOperatorList={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function isInfixRuleOperatorList(item){return reflection.isInstance(item,InfixRuleOperatorList.$type)}__name(isInfixRuleOperatorList,"isInfixRuleOperatorList");var InfixRuleOperators={$type:"InfixRuleOperators",precedences:"precedences"};function isInfixRuleOperators(item){return reflection.isInstance(item,InfixRuleOperators.$type)}__name(isInfixRuleOperators,"isInfixRuleOperators");var Interface={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function isInterface(item){return reflection.isInstance(item,Interface.$type)}__name(isInterface,"isInterface");var Keyword={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function isKeyword(item){return reflection.isInstance(item,Keyword.$type)}__name(isKeyword,"isKeyword");var NamedArgument={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function isNamedArgument(item){return reflection.isInstance(item,NamedArgument.$type)}__name(isNamedArgument,"isNamedArgument");var NegatedToken={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function isNegatedToken(item){return reflection.isInstance(item,NegatedToken.$type)}__name(isNegatedToken,"isNegatedToken");var Negation={$type:"Negation",value:"value"};function isNegation(item){return reflection.isInstance(item,Negation.$type)}__name(isNegation,"isNegation");var NumberLiteral={$type:"NumberLiteral",value:"value"};function isNumberLiteral(item){return reflection.isInstance(item,NumberLiteral.$type)}__name(isNumberLiteral,"isNumberLiteral");var Parameter={$type:"Parameter",name:"name"};function isParameter(item){return reflection.isInstance(item,Parameter.$type)}__name(isParameter,"isParameter");var ParameterReference={$type:"ParameterReference",parameter:"parameter"};function isParameterReference(item){return reflection.isInstance(item,ParameterReference.$type)}__name(isParameterReference,"isParameterReference");var ParserRule={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function isParserRule(item){return reflection.isInstance(item,ParserRule.$type)}__name(isParserRule,"isParserRule");var ReferenceType={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function isReferenceType(item){return reflection.isInstance(item,ReferenceType.$type)}__name(isReferenceType,"isReferenceType");var RegexToken={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function isRegexToken(item){return reflection.isInstance(item,RegexToken.$type)}__name(isRegexToken,"isRegexToken");var ReturnType={$type:"ReturnType",name:"name"};function isReturnType(item){return reflection.isInstance(item,ReturnType.$type)}__name(isReturnType,"isReturnType");var RuleCall={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function isRuleCall(item){return reflection.isInstance(item,RuleCall.$type)}__name(isRuleCall,"isRuleCall");var SimpleType={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function isSimpleType(item){return reflection.isInstance(item,SimpleType.$type)}__name(isSimpleType,"isSimpleType");var StringLiteral={$type:"StringLiteral",value:"value"};function isStringLiteral(item){return reflection.isInstance(item,StringLiteral.$type)}__name(isStringLiteral,"isStringLiteral");var TerminalAlternatives={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function isTerminalAlternatives(item){return reflection.isInstance(item,TerminalAlternatives.$type)}__name(isTerminalAlternatives,"isTerminalAlternatives");var TerminalElement={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function isTerminalElement(item){return reflection.isInstance(item,TerminalElement.$type)}__name(isTerminalElement,"isTerminalElement");var TerminalGroup={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function isTerminalGroup(item){return reflection.isInstance(item,TerminalGroup.$type)}__name(isTerminalGroup,"isTerminalGroup");var TerminalRule={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function isTerminalRule(item){return reflection.isInstance(item,TerminalRule.$type)}__name(isTerminalRule,"isTerminalRule");var TerminalRuleCall={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function isTerminalRuleCall(item){return reflection.isInstance(item,TerminalRuleCall.$type)}__name(isTerminalRuleCall,"isTerminalRuleCall");var Type={$type:"Type",name:"name",type:"type"};function isType(item){return reflection.isInstance(item,Type.$type)}__name(isType,"isType");var TypeAttribute={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function isTypeAttribute(item){return reflection.isInstance(item,TypeAttribute.$type)}__name(isTypeAttribute,"isTypeAttribute");var TypeDefinition={$type:"TypeDefinition"};function isTypeDefinition(item){return reflection.isInstance(item,TypeDefinition.$type)}__name(isTypeDefinition,"isTypeDefinition");var UnionType={$type:"UnionType",types:"types"};function isUnionType(item){return reflection.isInstance(item,UnionType.$type)}__name(isUnionType,"isUnionType");var UnorderedGroup={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function isUnorderedGroup(item){return reflection.isInstance(item,UnorderedGroup.$type)}__name(isUnorderedGroup,"isUnorderedGroup");var UntilToken={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function isUntilToken(item){return reflection.isInstance(item,UntilToken.$type)}__name(isUntilToken,"isUntilToken");var ValueLiteral={$type:"ValueLiteral"};function isValueLiteral(item){return reflection.isInstance(item,ValueLiteral.$type)}__name(isValueLiteral,"isValueLiteral");var Wildcard={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function isWildcard(item){return reflection.isInstance(item,Wildcard.$type)}__name(isWildcard,"isWildcard");var RangeComparison,RangeComparison2,LangiumGrammarAstReflection=(__name(_d=class extends AbstractAstReflection{constructor(){super(...arguments),this.types={AbstractElement:{name:AbstractElement.$type,properties:{cardinality:{name:AbstractElement.cardinality}},superTypes:[]},AbstractParserRule:{name:AbstractParserRule.$type,properties:{},superTypes:[AbstractRule.$type,AbstractType.$type]},AbstractRule:{name:AbstractRule.$type,properties:{},superTypes:[]},AbstractType:{name:AbstractType.$type,properties:{},superTypes:[]},Action:{name:Action.$type,properties:{cardinality:{name:Action.cardinality},feature:{name:Action.feature},inferredType:{name:Action.inferredType},operator:{name:Action.operator},type:{name:Action.type,referenceType:AbstractType.$type}},superTypes:[AbstractElement.$type]},Alternatives:{name:Alternatives.$type,properties:{cardinality:{name:Alternatives.cardinality},elements:{name:Alternatives.elements,defaultValue:[]}},superTypes:[AbstractElement.$type]},ArrayLiteral:{name:ArrayLiteral.$type,properties:{elements:{name:ArrayLiteral.elements,defaultValue:[]}},superTypes:[ValueLiteral.$type]},ArrayType:{name:ArrayType.$type,properties:{elementType:{name:ArrayType.elementType}},superTypes:[TypeDefinition.$type]},Assignment:{name:Assignment.$type,properties:{cardinality:{name:Assignment.cardinality},feature:{name:Assignment.feature},operator:{name:Assignment.operator},predicate:{name:Assignment.predicate},terminal:{name:Assignment.terminal}},superTypes:[AbstractElement.$type]},BooleanLiteral:{name:BooleanLiteral.$type,properties:{true:{name:BooleanLiteral.true,defaultValue:!1}},superTypes:[Condition.$type,ValueLiteral.$type]},CharacterRange:{name:CharacterRange.$type,properties:{cardinality:{name:CharacterRange.cardinality},left:{name:CharacterRange.left},lookahead:{name:CharacterRange.lookahead},parenthesized:{name:CharacterRange.parenthesized,defaultValue:!1},right:{name:CharacterRange.right}},superTypes:[TerminalElement.$type]},Condition:{name:Condition.$type,properties:{},superTypes:[]},Conjunction:{name:Conjunction.$type,properties:{left:{name:Conjunction.left},right:{name:Conjunction.right}},superTypes:[Condition.$type]},CrossReference:{name:CrossReference.$type,properties:{cardinality:{name:CrossReference.cardinality},deprecatedSyntax:{name:CrossReference.deprecatedSyntax,defaultValue:!1},isMulti:{name:CrossReference.isMulti,defaultValue:!1},terminal:{name:CrossReference.terminal},type:{name:CrossReference.type,referenceType:AbstractType.$type}},superTypes:[AbstractElement.$type]},Disjunction:{name:Disjunction.$type,properties:{left:{name:Disjunction.left},right:{name:Disjunction.right}},superTypes:[Condition.$type]},EndOfFile:{name:EndOfFile.$type,properties:{cardinality:{name:EndOfFile.cardinality}},superTypes:[AbstractElement.$type]},Grammar:{name:Grammar.$type,properties:{imports:{name:Grammar.imports,defaultValue:[]},interfaces:{name:Grammar.interfaces,defaultValue:[]},isDeclared:{name:Grammar.isDeclared,defaultValue:!1},name:{name:Grammar.name},rules:{name:Grammar.rules,defaultValue:[]},types:{name:Grammar.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:GrammarImport.$type,properties:{path:{name:GrammarImport.path}},superTypes:[]},Group:{name:Group.$type,properties:{cardinality:{name:Group.cardinality},elements:{name:Group.elements,defaultValue:[]},guardCondition:{name:Group.guardCondition},predicate:{name:Group.predicate}},superTypes:[AbstractElement.$type]},InferredType:{name:InferredType.$type,properties:{name:{name:InferredType.name}},superTypes:[AbstractType.$type]},InfixRule:{name:InfixRule.$type,properties:{call:{name:InfixRule.call},dataType:{name:InfixRule.dataType},inferredType:{name:InfixRule.inferredType},name:{name:InfixRule.name},operators:{name:InfixRule.operators},parameters:{name:InfixRule.parameters,defaultValue:[]},returnType:{name:InfixRule.returnType,referenceType:AbstractType.$type}},superTypes:[AbstractParserRule.$type]},InfixRuleOperatorList:{name:InfixRuleOperatorList.$type,properties:{associativity:{name:InfixRuleOperatorList.associativity},operators:{name:InfixRuleOperatorList.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:InfixRuleOperators.$type,properties:{precedences:{name:InfixRuleOperators.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Interface.$type,properties:{attributes:{name:Interface.attributes,defaultValue:[]},name:{name:Interface.name},superTypes:{name:Interface.superTypes,defaultValue:[],referenceType:AbstractType.$type}},superTypes:[AbstractType.$type]},Keyword:{name:Keyword.$type,properties:{cardinality:{name:Keyword.cardinality},predicate:{name:Keyword.predicate},value:{name:Keyword.value}},superTypes:[AbstractElement.$type]},NamedArgument:{name:NamedArgument.$type,properties:{calledByName:{name:NamedArgument.calledByName,defaultValue:!1},parameter:{name:NamedArgument.parameter,referenceType:Parameter.$type},value:{name:NamedArgument.value}},superTypes:[]},NegatedToken:{name:NegatedToken.$type,properties:{cardinality:{name:NegatedToken.cardinality},lookahead:{name:NegatedToken.lookahead},parenthesized:{name:NegatedToken.parenthesized,defaultValue:!1},terminal:{name:NegatedToken.terminal}},superTypes:[TerminalElement.$type]},Negation:{name:Negation.$type,properties:{value:{name:Negation.value}},superTypes:[Condition.$type]},NumberLiteral:{name:NumberLiteral.$type,properties:{value:{name:NumberLiteral.value}},superTypes:[ValueLiteral.$type]},Parameter:{name:Parameter.$type,properties:{name:{name:Parameter.name}},superTypes:[]},ParameterReference:{name:ParameterReference.$type,properties:{parameter:{name:ParameterReference.parameter,referenceType:Parameter.$type}},superTypes:[Condition.$type]},ParserRule:{name:ParserRule.$type,properties:{dataType:{name:ParserRule.dataType},definition:{name:ParserRule.definition},entry:{name:ParserRule.entry,defaultValue:!1},fragment:{name:ParserRule.fragment,defaultValue:!1},inferredType:{name:ParserRule.inferredType},name:{name:ParserRule.name},parameters:{name:ParserRule.parameters,defaultValue:[]},returnType:{name:ParserRule.returnType,referenceType:AbstractType.$type}},superTypes:[AbstractParserRule.$type]},ReferenceType:{name:ReferenceType.$type,properties:{isMulti:{name:ReferenceType.isMulti,defaultValue:!1},referenceType:{name:ReferenceType.referenceType}},superTypes:[TypeDefinition.$type]},RegexToken:{name:RegexToken.$type,properties:{cardinality:{name:RegexToken.cardinality},lookahead:{name:RegexToken.lookahead},parenthesized:{name:RegexToken.parenthesized,defaultValue:!1},regex:{name:RegexToken.regex}},superTypes:[TerminalElement.$type]},ReturnType:{name:ReturnType.$type,properties:{name:{name:ReturnType.name}},superTypes:[]},RuleCall:{name:RuleCall.$type,properties:{arguments:{name:RuleCall.arguments,defaultValue:[]},cardinality:{name:RuleCall.cardinality},predicate:{name:RuleCall.predicate},rule:{name:RuleCall.rule,referenceType:AbstractRule.$type}},superTypes:[AbstractElement.$type]},SimpleType:{name:SimpleType.$type,properties:{primitiveType:{name:SimpleType.primitiveType},stringType:{name:SimpleType.stringType},typeRef:{name:SimpleType.typeRef,referenceType:AbstractType.$type}},superTypes:[TypeDefinition.$type]},StringLiteral:{name:StringLiteral.$type,properties:{value:{name:StringLiteral.value}},superTypes:[ValueLiteral.$type]},TerminalAlternatives:{name:TerminalAlternatives.$type,properties:{cardinality:{name:TerminalAlternatives.cardinality},elements:{name:TerminalAlternatives.elements,defaultValue:[]},lookahead:{name:TerminalAlternatives.lookahead},parenthesized:{name:TerminalAlternatives.parenthesized,defaultValue:!1}},superTypes:[TerminalElement.$type]},TerminalElement:{name:TerminalElement.$type,properties:{cardinality:{name:TerminalElement.cardinality},lookahead:{name:TerminalElement.lookahead},parenthesized:{name:TerminalElement.parenthesized,defaultValue:!1}},superTypes:[AbstractElement.$type]},TerminalGroup:{name:TerminalGroup.$type,properties:{cardinality:{name:TerminalGroup.cardinality},elements:{name:TerminalGroup.elements,defaultValue:[]},lookahead:{name:TerminalGroup.lookahead},parenthesized:{name:TerminalGroup.parenthesized,defaultValue:!1}},superTypes:[TerminalElement.$type]},TerminalRule:{name:TerminalRule.$type,properties:{definition:{name:TerminalRule.definition},fragment:{name:TerminalRule.fragment,defaultValue:!1},hidden:{name:TerminalRule.hidden,defaultValue:!1},name:{name:TerminalRule.name},type:{name:TerminalRule.type}},superTypes:[AbstractRule.$type]},TerminalRuleCall:{name:TerminalRuleCall.$type,properties:{cardinality:{name:TerminalRuleCall.cardinality},lookahead:{name:TerminalRuleCall.lookahead},parenthesized:{name:TerminalRuleCall.parenthesized,defaultValue:!1},rule:{name:TerminalRuleCall.rule,referenceType:TerminalRule.$type}},superTypes:[TerminalElement.$type]},Type:{name:Type.$type,properties:{name:{name:Type.name},type:{name:Type.type}},superTypes:[AbstractType.$type]},TypeAttribute:{name:TypeAttribute.$type,properties:{defaultValue:{name:TypeAttribute.defaultValue},isOptional:{name:TypeAttribute.isOptional,defaultValue:!1},name:{name:TypeAttribute.name},type:{name:TypeAttribute.type}},superTypes:[]},TypeDefinition:{name:TypeDefinition.$type,properties:{},superTypes:[]},UnionType:{name:UnionType.$type,properties:{types:{name:UnionType.types,defaultValue:[]}},superTypes:[TypeDefinition.$type]},UnorderedGroup:{name:UnorderedGroup.$type,properties:{cardinality:{name:UnorderedGroup.cardinality},elements:{name:UnorderedGroup.elements,defaultValue:[]}},superTypes:[AbstractElement.$type]},UntilToken:{name:UntilToken.$type,properties:{cardinality:{name:UntilToken.cardinality},lookahead:{name:UntilToken.lookahead},parenthesized:{name:UntilToken.parenthesized,defaultValue:!1},terminal:{name:UntilToken.terminal}},superTypes:[TerminalElement.$type]},ValueLiteral:{name:ValueLiteral.$type,properties:{},superTypes:[]},Wildcard:{name:Wildcard.$type,properties:{cardinality:{name:Wildcard.cardinality},lookahead:{name:Wildcard.lookahead},parenthesized:{name:Wildcard.parenthesized,defaultValue:!1}},superTypes:[TerminalElement.$type]}}}},"LangiumGrammarAstReflection"),_d),reflection=new LangiumGrammarAstReflection;function getDatatypeNode(cstNode){let current=cstNode,found=!1;for(;current;){const definingRule=getContainerOfType(current.grammarSource,isParserRule);if(!definingRule||!definingRule.dataType)return found?current:void 0;current=current.container,found=!0}}function streamCst(node){return new TreeStreamImpl(node,element=>isCompositeCstNode(element)?element.content:[],{includeRoot:!0})}function flattenCst(node){return streamCst(node).filter(isLeafCstNode)}function isChildNode(child,parent){for(;child.container;)if((child=child.container)===parent)return!0;return!1}function tokenToRange(token){return{start:{character:token.startColumn-1,line:token.startLine-1},end:{character:token.endColumn,line:token.endLine-1}}}function toDocumentSegment(node){if(!node)return;const{offset:offset,end:end,range:range}=node;return{range:range,offset:offset,end:end,length:end-offset}}function compareRange(range,to){if(range.end.line<to.start.line||range.end.line===to.start.line&&range.end.character<=to.start.character)return RangeComparison.Before;if(range.start.line>to.end.line||range.start.line===to.end.line&&range.start.character>=to.end.character)return RangeComparison.After;const startInside=range.start.line>to.start.line||range.start.line===to.start.line&&range.start.character>=to.start.character,endInside=range.end.line<to.end.line||range.end.line===to.end.line&&range.end.character<=to.end.character;return startInside&&endInside?RangeComparison.Inside:startInside?RangeComparison.OverlapBack:endInside?RangeComparison.OverlapFront:RangeComparison.Outside}function inRange(range,to){return compareRange(range,to)>RangeComparison.After}__name(getDatatypeNode,"getDatatypeNode"),__name(streamCst,"streamCst"),__name(flattenCst,"flattenCst"),__name(isChildNode,"isChildNode"),__name(tokenToRange,"tokenToRange"),__name(toDocumentSegment,"toDocumentSegment"),(RangeComparison2=RangeComparison||(RangeComparison={}))[RangeComparison2.Before=0]="Before",RangeComparison2[RangeComparison2.After=1]="After",RangeComparison2[RangeComparison2.OverlapFront=2]="OverlapFront",RangeComparison2[RangeComparison2.OverlapBack=3]="OverlapBack",RangeComparison2[RangeComparison2.Inside=4]="Inside",RangeComparison2[RangeComparison2.Outside=5]="Outside",__name(compareRange,"compareRange"),__name(inRange,"inRange");var DefaultNameRegexp=/^[\w\p{L}]$/u;function findDeclarationNodeAtOffset(cstNode,offset,nameRegexp=DefaultNameRegexp){if(cstNode){if(offset>0){const localOffset=offset-cstNode.offset,textAtOffset=cstNode.text.charAt(localOffset);nameRegexp.test(textAtOffset)||offset--}return findLeafNodeAtOffset(cstNode,offset)}}function findCommentNode(cstNode,commentNames){if(cstNode){const previous=getPreviousNode(cstNode,!0);if(previous&&isCommentNode(previous,commentNames))return previous;if(isRootCstNode(cstNode)){for(let i=cstNode.content.findIndex(e=>!e.hidden)-1;i>=0;i--){const child=cstNode.content[i];if(isCommentNode(child,commentNames))return child}}}}function isCommentNode(cstNode,commentNames){return isLeafCstNode(cstNode)&&commentNames.includes(cstNode.tokenType.name)}function findLeafNodeAtOffset(node,offset){if(isLeafCstNode(node))return node;if(isCompositeCstNode(node)){const searchResult=binarySearch(node,offset,!1);if(searchResult)return findLeafNodeAtOffset(searchResult,offset)}}function findLeafNodeBeforeOffset(node,offset){if(isLeafCstNode(node))return node;if(isCompositeCstNode(node)){const searchResult=binarySearch(node,offset,!0);if(searchResult)return findLeafNodeBeforeOffset(searchResult,offset)}}function binarySearch(node,offset,closest){let closestNode,left=0,right=node.content.length-1;for(;left<=right;){const middle=Math.floor((left+right)/2),middleNode=node.content[middle];if(middleNode.offset<=offset&&middleNode.end>offset)return middleNode;middleNode.end<=offset?(closestNode=closest?middleNode:void 0,left=middle+1):right=middle-1}return closestNode}function getPreviousNode(node,hidden=!0){for(;node.container;){const parent=node.container;let index=parent.content.indexOf(node);for(;index>0;){index--;const previous=parent.content[index];if(hidden||!previous.hidden)return previous}node=parent}}function getNextNode(node,hidden=!0){for(;node.container;){const parent=node.container;let index=parent.content.indexOf(node);const last2=parent.content.length-1;for(;index<last2;){index++;const next=parent.content[index];if(hidden||!next.hidden)return next}node=parent}}function getStartlineNode(node){if(0===node.range.start.character)return node;const line=node.range.start.line;let index,last2=node;for(;node.container;){const parent=node.container,selfIndex=index??parent.content.indexOf(node);if(0===selfIndex?(node=parent,index=void 0):(index=selfIndex-1,node=parent.content[index]),node.range.start.line!==line)break;last2=node}return last2}function getInteriorNodes(start,end){const commonParent=getCommonParent(start,end);return commonParent?commonParent.parent.content.slice(commonParent.a+1,commonParent.b):[]}function getCommonParent(a,b){const aParents=getParentChain(a),bParents=getParentChain(b);let current;for(let i=0;i<aParents.length&&i<bParents.length;i++){const aParent=aParents[i],bParent=bParents[i];if(aParent.parent!==bParent.parent)break;current={parent:aParent.parent,a:aParent.index,b:bParent.index}}return current}function getParentChain(node){const chain=[];for(;node.container;){const parent=node.container,index=parent.content.indexOf(node);chain.push({parent:parent,index:index}),node=parent}return chain.reverse()}__name(findDeclarationNodeAtOffset,"findDeclarationNodeAtOffset"),__name(findCommentNode,"findCommentNode"),__name(isCommentNode,"isCommentNode"),__name(findLeafNodeAtOffset,"findLeafNodeAtOffset"),__name(findLeafNodeBeforeOffset,"findLeafNodeBeforeOffset"),__name(binarySearch,"binarySearch"),__name(getPreviousNode,"getPreviousNode"),__name(getNextNode,"getNextNode"),__name(getStartlineNode,"getStartlineNode"),__name(getInteriorNodes,"getInteriorNodes"),__name(getCommonParent,"getCommonParent"),__name(getParentChain,"getParentChain");var grammar_utils_exports={};__export(grammar_utils_exports,{findAssignment:()=>findAssignment,findNameAssignment:()=>findNameAssignment,findNodeForKeyword:()=>findNodeForKeyword,findNodeForProperty:()=>findNodeForProperty,findNodesForKeyword:()=>findNodesForKeyword,findNodesForKeywordInternal:()=>findNodesForKeywordInternal,findNodesForProperty:()=>findNodesForProperty,getActionAtElement:()=>getActionAtElement,getActionType:()=>getActionType,getAllReachableRules:()=>getAllReachableRules,getAllRulesUsedForCrossReferences:()=>getAllRulesUsedForCrossReferences,getCrossReferenceTerminal:()=>getCrossReferenceTerminal,getEntryRule:()=>getEntryRule,getExplicitRuleType:()=>getExplicitRuleType,getHiddenRules:()=>getHiddenRules,getRuleType:()=>getRuleType,getRuleTypeName:()=>getRuleTypeName,getTypeName:()=>getTypeName,isArrayCardinality:()=>isArrayCardinality,isArrayOperator:()=>isArrayOperator,isCommentTerminal:()=>isCommentTerminal,isDataType:()=>isDataType,isDataTypeRule:()=>isDataTypeRule,isOptionalCardinality:()=>isOptionalCardinality,terminalRegex:()=>terminalRegex});var ErrorWithLocation=(_e=class extends Error{constructor(node,message){super(node?`${message} at ${node.range.start.line}:${node.range.start.character}`:message)}},__name(_e,"ErrorWithLocation"),_e);function assertUnreachable(_,message="Error: Got unexpected value."){throw new Error(message)}function assertCondition(condition,message="Error: Condition is violated."){if(!condition)throw new Error(message)}__name(assertUnreachable,"assertUnreachable"),__name(assertCondition,"assertCondition");var regexp_utils_exports={};function cc(char){return char.charCodeAt(0)}function insertToSet(item,set){Array.isArray(item)?item.forEach(function(subItem){set.push(subItem)}):set.push(item)}function addFlag(flagObj,flagKey){if(!0===flagObj[flagKey])throw"duplicate flag "+flagKey;flagObj[flagKey],flagObj[flagKey]=!0}function ASSERT_EXISTS(obj){if(void 0===obj)throw Error("Internal Error - Should never get here!");return!0}function ASSERT_NEVER_REACH_HERE(){throw Error("Internal Error - Should never get here!")}function isCharacter(obj){return"Character"===obj.type}__export(regexp_utils_exports,{NEWLINE_REGEXP:()=>NEWLINE_REGEXP,escapeRegExp:()=>escapeRegExp,getTerminalParts:()=>getTerminalParts,isMultilineComment:()=>isMultilineComment,isWhitespace:()=>isWhitespace,partialMatches:()=>partialMatches,partialRegExp:()=>partialRegExp,whitespaceCharacters:()=>whitespaceCharacters}),__name(cc,"cc"),__name(insertToSet,"insertToSet"),__name(addFlag,"addFlag"),__name(ASSERT_EXISTS,"ASSERT_EXISTS"),__name(ASSERT_NEVER_REACH_HERE,"ASSERT_NEVER_REACH_HERE"),__name(isCharacter,"isCharacter");var digitsCharCodes=[];for(let i=cc("0");i<=cc("9");i++)digitsCharCodes.push(i);var wordCharCodes=[cc("_")].concat(digitsCharCodes);for(let i=cc("a");i<=cc("z");i++)wordCharCodes.push(i);for(let i=cc("A");i<=cc("Z");i++)wordCharCodes.push(i);var whitespaceCodes=[cc(" "),cc("\f"),cc("\n"),cc("\r"),cc("\t"),cc("\v"),cc("\t"),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc(" "),cc("\u2028"),cc("\u2029"),cc(" "),cc(" "),cc(" "),cc("\ufeff")],hexDigitPattern=/[0-9a-fA-F]/,decimalPattern=/[0-9]/,decimalPatternNoZero=/[1-9]/,RegExpParser=(__name(_f=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(newState2){this.idx=newState2.idx,this.input=newState2.input,this.groupIdx=newState2.groupIdx}pattern(input){this.idx=0,this.input=input,this.groupIdx=0,this.consumeChar("/");const value=this.disjunction();this.consumeChar("/");const flags={type:"Flags",loc:{begin:this.idx,end:input.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":addFlag(flags,"global");break;case"i":addFlag(flags,"ignoreCase");break;case"m":addFlag(flags,"multiLine");break;case"u":addFlag(flags,"unicode");break;case"y":addFlag(flags,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:flags,value:value,loc:this.loc(0)}}disjunction(){const alts=[],begin=this.idx;for(alts.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),alts.push(this.alternative());return{type:"Disjunction",value:alts,loc:this.loc(begin)}}alternative(){const terms=[],begin=this.idx;for(;this.isTerm();)terms.push(this.term());return{type:"Alternative",value:terms,loc:this.loc(begin)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const begin=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(begin)};case"$":return{type:"EndAnchor",loc:this.loc(begin)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(begin)};case"B":return{type:"NonWordBoundary",loc:this.loc(begin)}}throw Error("Invalid Assertion Escape");case"(":let type;switch(this.consumeChar("?"),this.popChar()){case"=":type="Lookahead";break;case"!":type="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":type="Lookbehind";break;case"!":type="NegativeLookbehind"}}ASSERT_EXISTS(type);const disjunction=this.disjunction();return this.consumeChar(")"),{type:type,value:disjunction,loc:this.loc(begin)}}return ASSERT_NEVER_REACH_HERE()}quantifier(isBacktracking=!1){let range;const begin=this.idx;switch(this.popChar()){case"*":range={atLeast:0,atMost:1/0};break;case"+":range={atLeast:1,atMost:1/0};break;case"?":range={atLeast:0,atMost:1};break;case"{":const atLeast=this.integerIncludingZero();switch(this.popChar()){case"}":range={atLeast:atLeast,atMost:atLeast};break;case",":let atMost;this.isDigit()?(atMost=this.integerIncludingZero(),range={atLeast:atLeast,atMost:atMost}):range={atLeast:atLeast,atMost:1/0},this.consumeChar("}")}if(!0===isBacktracking&&void 0===range)return;ASSERT_EXISTS(range)}if(!0!==isBacktracking||void 0!==range)return ASSERT_EXISTS(range)?("?"===this.peekChar(0)?(this.consumeChar("?"),range.greedy=!1):range.greedy=!0,range.type="Quantifier",range.loc=this.loc(begin),range):void 0}atom(){let atom2;const begin=this.idx;switch(this.peekChar()){case".":atom2=this.dotAll();break;case"\\":atom2=this.atomEscape();break;case"[":atom2=this.characterClass();break;case"(":atom2=this.group()}if(void 0===atom2&&this.isPatternCharacter()&&(atom2=this.patternCharacter()),ASSERT_EXISTS(atom2))return atom2.loc=this.loc(begin),this.isQuantifier()&&(atom2.quantifier=this.quantifier()),atom2}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[cc("\n"),cc("\r"),cc("\u2028"),cc("\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 set,complement=!1;switch(this.popChar()){case"d":set=digitsCharCodes;break;case"D":set=digitsCharCodes,complement=!0;break;case"s":set=whitespaceCodes;break;case"S":set=whitespaceCodes,complement=!0;break;case"w":set=wordCharCodes;break;case"W":set=wordCharCodes,complement=!0}if(ASSERT_EXISTS(set))return{type:"Set",value:set,complement:complement}}controlEscapeAtom(){let escapeCode;switch(this.popChar()){case"f":escapeCode=cc("\f");break;case"n":escapeCode=cc("\n");break;case"r":escapeCode=cc("\r");break;case"t":escapeCode=cc("\t");break;case"v":escapeCode=cc("\v")}if(ASSERT_EXISTS(escapeCode))return{type:"Character",value:escapeCode}}controlLetterEscapeAtom(){this.consumeChar("c");const letter=this.popChar();if(!1===/[a-zA-Z]/.test(letter))throw Error("Invalid ");return{type:"Character",value:letter.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:cc("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:cc(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:cc(this.popChar())}}}characterClass(){const set=[];let complement=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),complement=!0);this.isClassAtom();){const from=this.classAtom();if(from.type,isCharacter(from)&&this.isRangeDash()){this.consumeChar("-");const to=this.classAtom();if(to.type,isCharacter(to)){if(to.value<from.value)throw Error("Range out of order in character class");set.push({from:from.value,to:to.value})}else insertToSet(from.value,set),set.push(cc("-")),insertToSet(to.value,set)}else insertToSet(from.value,set)}return this.consumeChar("]"),{type:"Set",complement:complement,value:set}}classAtom(){switch(this.peekChar()){case"]":case"\n":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:cc("\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 capturing=!0;if(this.consumeChar("("),"?"===this.peekChar(0))this.consumeChar("?"),this.consumeChar(":"),capturing=!1;else this.groupIdx++;const value=this.disjunction();this.consumeChar(")");const groupAst={type:"Group",capturing:capturing,value:value};return capturing&&(groupAst.idx=this.groupIdx),groupAst}positiveInteger(){let number=this.popChar();if(!1===decimalPatternNoZero.test(number))throw Error("Expecting a positive integer");for(;decimalPattern.test(this.peekChar(0));)number+=this.popChar();return parseInt(number,10)}integerIncludingZero(){let number=this.popChar();if(!1===decimalPattern.test(number))throw Error("Expecting an integer");for(;decimalPattern.test(this.peekChar(0));)number+=this.popChar();return parseInt(number,10)}patternCharacter(){const nextChar=this.popChar();switch(nextChar){case"\n":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:cc(nextChar)}}}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 decimalPattern.test(this.peekChar(0))}isClassAtom(howMuch=0){switch(this.peekChar(howMuch)){case"]":case"\n":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 prevState=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(prevState)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(howMany){let hexString="";for(let i=0;i<howMany;i++){const hexChar=this.popChar();if(!1===hexDigitPattern.test(hexChar))throw Error("Expecting a HexDecimal digits");hexString+=hexChar}return{type:"Character",value:parseInt(hexString,16)}}peekChar(howMuch=0){return this.input[this.idx+howMuch]}popChar(){const nextChar=this.peekChar(0);return this.consumeChar(void 0),nextChar}consumeChar(char){if(void 0!==char&&this.input[this.idx]!==char)throw Error("Expected: '"+char+"' 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(begin){return{begin:begin,end:this.idx}}},"RegExpParser"),_f),BaseRegExpVisitor=(__name(_g=class{visitChildren(node){for(const key in node){const child=node[key];node.hasOwnProperty(key)&&(void 0!==child.type?this.visit(child):Array.isArray(child)&&child.forEach(subChild=>{this.visit(subChild)},this))}}visit(node){switch(node.type){case"Pattern":this.visitPattern(node);break;case"Flags":this.visitFlags(node);break;case"Disjunction":this.visitDisjunction(node);break;case"Alternative":this.visitAlternative(node);break;case"StartAnchor":this.visitStartAnchor(node);break;case"EndAnchor":this.visitEndAnchor(node);break;case"WordBoundary":this.visitWordBoundary(node);break;case"NonWordBoundary":this.visitNonWordBoundary(node);break;case"Lookahead":this.visitLookahead(node);break;case"NegativeLookahead":this.visitNegativeLookahead(node);break;case"Lookbehind":this.visitLookbehind(node);break;case"NegativeLookbehind":this.visitNegativeLookbehind(node);break;case"Character":this.visitCharacter(node);break;case"Set":this.visitSet(node);break;case"Group":this.visitGroup(node);break;case"GroupBackReference":this.visitGroupBackReference(node);break;case"Quantifier":this.visitQuantifier(node)}this.visitChildren(node)}visitPattern(node){}visitFlags(node){}visitDisjunction(node){}visitAlternative(node){}visitStartAnchor(node){}visitEndAnchor(node){}visitWordBoundary(node){}visitNonWordBoundary(node){}visitLookahead(node){}visitNegativeLookahead(node){}visitLookbehind(node){}visitNegativeLookbehind(node){}visitCharacter(node){}visitSet(node){}visitGroup(node){}visitGroupBackReference(node){}visitQuantifier(node){}},"BaseRegExpVisitor"),_g),NEWLINE_REGEXP=/\r?\n/gm,regexpParser=new RegExpParser,visitor=new(__name(_h=class extends BaseRegExpVisitor{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(regex){this.multiline=!1,this.regex=regex,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(node){node.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(node){const char=String.fromCharCode(node.value);if(this.multiline||"\n"!==char||(this.multiline=!0),node.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const escapedChar=escapeRegExp(char);this.endRegexpStack.push(escapedChar),this.isStarting&&(this.startRegexp+=escapedChar)}}visitSet(node){if(!this.multiline){const set=this.regex.substring(node.loc.begin,node.loc.end),regex=new RegExp(set);this.multiline=Boolean("\n".match(regex))}if(node.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const set=this.regex.substring(node.loc.begin,node.loc.end);this.endRegexpStack.push(set),this.isStarting&&(this.startRegexp+=set)}}visitChildren(node){if("Group"===node.type){if(node.quantifier)return}super.visitChildren(node)}},"TerminalRegExpVisitor"),_h);function getTerminalParts(regexp){try{"string"!=typeof regexp&&(regexp=regexp.source),regexp=`/${regexp}/`;const pattern=regexpParser.pattern(regexp),parts=[];for(const alternative of pattern.value.value)visitor.reset(regexp),visitor.visit(alternative),parts.push({start:visitor.startRegexp,end:visitor.endRegex});return parts}catch{return[]}}function isMultilineComment(regexp){try{return"string"==typeof regexp&&(regexp=new RegExp(regexp)),regexp=regexp.toString(),visitor.reset(regexp),visitor.visit(regexpParser.pattern(regexp)),visitor.multiline}catch{return!1}}__name(getTerminalParts,"getTerminalParts"),__name(isMultilineComment,"isMultilineComment");var whitespaceCharacters="\f\n\r\t\v              \u2028\u2029   \ufeff".split("");function isWhitespace(value){const regexp="string"==typeof value?new RegExp(value):value;return whitespaceCharacters.some(ws=>regexp.test(ws))}function escapeRegExp(value){return value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function partialMatches(regex,input){const partial=partialRegExp(regex),match=input.match(partial);return!!match&&match[0].length>0}function partialRegExp(regex){"string"==typeof regex&&(regex=new RegExp(regex));const re=regex,source=regex.source;let i=0;function process2(){let tmp,result="";function appendRaw(nbChars){result+=source.substr(i,nbChars),i+=nbChars}function appendOptional(nbChars){result+="(?:"+source.substr(i,nbChars)+"|$)",i+=nbChars}for(__name(appendRaw,"appendRaw"),__name(appendOptional,"appendOptional");i<source.length;)switch(source[i]){case"\\":switch(source[i+1]){case"c":appendOptional(3);break;case"x":appendOptional(4);break;case"u":re.unicode?"{"===source[i+2]?appendOptional(source.indexOf("}",i)-i+1):appendOptional(6):appendOptional(2);break;case"p":case"P":re.unicode?appendOptional(source.indexOf("}",i)-i+1):appendOptional(2);break;case"k":appendOptional(source.indexOf(">",i)-i+1);break;default:appendOptional(2)}break;case"[":tmp=/\[(?:\\.|.)*?\]/g,tmp.lastIndex=i,tmp=tmp.exec(source)||[],appendOptional(tmp[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":appendRaw(1);break;case"{":tmp=/\{\d+,?\d*\}/g,tmp.lastIndex=i,tmp=tmp.exec(source),tmp?appendRaw(tmp[0].length):appendOptional(1);break;case"(":if("?"===source[i+1])switch(source[i+2]){case":":result+="(?:",i+=3,result+=process2()+"|$)";break;case"=":result+="(?=",i+=3,result+=process2()+")";break;case"!":tmp=i,i+=3,process2(),result+=source.substr(tmp,i-tmp);break;case"<":switch(source[i+3]){case"=":case"!":tmp=i,i+=4,process2(),result+=source.substr(tmp,i-tmp);break;default:appendRaw(source.indexOf(">",i)-i+1),result+=process2()+"|$)"}}else appendRaw(1),result+=process2()+"|$)";break;case")":return++i,result;default:appendOptional(1)}return result}return __name(process2,"process"),new RegExp(process2(),regex.flags)}function getEntryRule(grammar){return grammar.rules.find(e=>isParserRule(e)&&e.entry)}function getHiddenRules(grammar){return grammar.rules.filter(e=>isTerminalRule(e)&&e.hidden)}function getAllReachableRules(grammar,allTerminals){const ruleNames=new Set,entryRule=getEntryRule(grammar);if(!entryRule)return new Set(grammar.rules);const topMostRules=[entryRule].concat(getHiddenRules(grammar));for(const rule of topMostRules)ruleDfs(rule,ruleNames,allTerminals);const rules=new Set;for(const rule of grammar.rules)(ruleNames.has(rule.name)||isTerminalRule(rule)&&rule.hidden)&&rules.add(rule);return rules}function ruleDfs(rule,visitedSet,allTerminals){visitedSet.add(rule.name),streamAllContents(rule).forEach(node=>{if(isRuleCall(node)||allTerminals&&isTerminalRuleCall(node)){const refRule=node.rule.ref;refRule&&!visitedSet.has(refRule.name)&&ruleDfs(refRule,visitedSet,allTerminals)}})}function getAllRulesUsedForCrossReferences(grammar){const result=new Set;return streamAllContents(grammar).forEach(node=>{isCrossReference(node)&&(isParserRule(node.type.ref)&&result.add(node.type.ref),isInferredType(node.type.ref)&&isParserRule(node.type.ref.$container)&&result.add(node.type.ref.$container))}),result}function getCrossReferenceTerminal(crossRef){if(crossRef.terminal)return crossRef.terminal;if(crossRef.type.ref){const nameAssigment=findNameAssignment(crossRef.type.ref);return null==nameAssigment?void 0:nameAssigment.terminal}}function isCommentTerminal(terminalRule){return terminalRule.hidden&&!isWhitespace(terminalRegex(terminalRule))}function findNodesForProperty(node,property3){return node&&property3?findNodesForPropertyInternal(node,property3,node.astNode,!0):[]}function findNodeForProperty(node,property3,index){if(!node||!property3)return;const nodes=findNodesForPropertyInternal(node,property3,node.astNode,!0);return 0!==nodes.length?nodes[index=void 0!==index?Math.max(0,Math.min(index,nodes.length-1)):0]:void 0}function findNodesForPropertyInternal(node,property3,element,first2){if(!first2){const nodeFeature=getContainerOfType(node.grammarSource,isAssignment);if(nodeFeature&&nodeFeature.feature===property3)return[node]}return isCompositeCstNode(node)&&node.astNode===element?node.content.flatMap(e=>findNodesForPropertyInternal(e,property3,element,!1)):[]}function findNodesForKeyword(node,keyword){return node?findNodesForKeywordInternal(node,keyword,null==node?void 0:node.astNode):[]}function findNodeForKeyword(node,keyword,index){if(!node)return;const nodes=findNodesForKeywordInternal(node,keyword,null==node?void 0:node.astNode);return 0!==nodes.length?nodes[index=void 0!==index?Math.max(0,Math.min(index,nodes.length-1)):0]:void 0}function findNodesForKeywordInternal(node,keyword,element){if(node.astNode!==element)return[];if(isKeyword(node.grammarSource)&&node.grammarSource.value===keyword)return[node];const treeIterator=streamCst(node).iterator();let result;const keywordNodes=[];do{if(result=treeIterator.next(),!result.done){const childNode=result.value;childNode.astNode===element?isKeyword(childNode.grammarSource)&&childNode.grammarSource.value===keyword&&keywordNodes.push(childNode):treeIterator.prune()}}while(!result.done);return keywordNodes}function findAssignment(cstNode){var _a2;const astNode=cstNode.astNode;for(;astNode===(null==(_a2=cstNode.container)?void 0:_a2.astNode);){const assignment=getContainerOfType(cstNode.grammarSource,isAssignment);if(assignment)return assignment;cstNode=cstNode.container}}function findNameAssignment(type){let startNode=type;return isInferredType(startNode)&&(isAction(startNode.$container)?startNode=startNode.$container.$container:isAbstractParserRule(startNode.$container)?startNode=startNode.$container:assertUnreachable(startNode.$container)),findNameAssignmentInternal(type,startNode,new Map)}function findNameAssignmentInternal(type,startNode,cache){var _a2;function go(node,refType){let childAssignment;return getContainerOfType(node,isAssignment)||(childAssignment=findNameAssignmentInternal(refType,refType,cache)),cache.set(type,childAssignment),childAssignment}if(__name(go,"go"),cache.has(type))return cache.get(type);cache.set(type,void 0);for(const node of streamAllContents(startNode)){if(isAssignment(node)&&"name"===node.feature.toLowerCase())return cache.set(type,node),node;if(isRuleCall(node)&&isParserRule(node.rule.ref))return go(node,node.rule.ref);if(isSimpleType(node)&&(null==(_a2=node.typeRef)?void 0:_a2.ref))return go(node,node.typeRef.ref)}}function getActionAtElement(element){const parent=element.$container;if(isGroup(parent)){const elements=parent.elements;for(let i=elements.indexOf(element)-1;i>=0;i--){const item=elements[i];if(isAction(item))return item;{const action=streamAllContents(elements[i]).find(isAction);if(action)return action}}}return isAbstractElement(parent)?getActionAtElement(parent):void 0}function isOptionalCardinality(cardinality,element){return"?"===cardinality||"*"===cardinality||isGroup(element)&&Boolean(element.guardCondition)}function isArrayCardinality(cardinality){return"*"===cardinality||"+"===cardinality}function isArrayOperator(operator){return"+="===operator}function isDataTypeRule(rule){return isDataTypeRuleInternal(rule,new Set)}function isDataTypeRuleInternal(rule,visited){if(visited.has(rule))return!0;visited.add(rule);for(const node of streamAllContents(rule))if(isRuleCall(node)){if(!node.rule.ref)return!1;if(isParserRule(node.rule.ref)&&!isDataTypeRuleInternal(node.rule.ref,visited))return!1;if(isInfixRule(node.rule.ref))return!1}else{if(isAssignment(node))return!1;if(isAction(node))return!1}return Boolean(rule.definition)}function isDataType(type){return isDataTypeInternal(type.type,new Set)}function isDataTypeInternal(type,visited){if(visited.has(type))return!0;if(visited.add(type),isArrayType(type))return!1;if(isReferenceType(type))return!1;if(isUnionType(type))return type.types.every(e=>isDataTypeInternal(e,visited));if(isSimpleType(type)){if(void 0!==type.primitiveType)return!0;if(void 0!==type.stringType)return!0;if(void 0!==type.typeRef){const ref=type.typeRef.ref;return!!isType(ref)&&isDataTypeInternal(ref.type,visited)}return!1}return!1}function getExplicitRuleType(rule){if(!isTerminalRule(rule)){if(rule.inferredType)return rule.inferredType.name;if(rule.dataType)return rule.dataType;if(rule.returnType){const refType=rule.returnType.ref;if(refType)return refType.name}}}function getTypeName(type){if(isAbstractParserRule(type))return isParserRule(type)&&isDataTypeRule(type)?type.name:getExplicitRuleType(type)??type.name;if(isInterface(type)||isType(type)||isReturnType(type))return type.name;if(isAction(type)){const actionType=getActionType(type);if(actionType)return actionType}else if(isInferredType(type))return type.name;throw new Error("Cannot get name of Unknown Type")}function getActionType(action){var _a2;return action.inferredType?action.inferredType.name:(null==(_a2=action.type)?void 0:_a2.ref)?getTypeName(action.type.ref):void 0}function getRuleTypeName(rule){var _a2;return isTerminalRule(rule)?(null==(_a2=rule.type)?void 0:_a2.name)??"string":isParserRule(rule)&&isDataTypeRule(rule)?rule.name:getExplicitRuleType(rule)??rule.name}function getRuleType(rule){var _a2;return isTerminalRule(rule)?(null==(_a2=rule.type)?void 0:_a2.name)??"string":getExplicitRuleType(rule)??rule.name}function terminalRegex(terminalRule){const flags={s:!1,i:!1,u:!1},source=abstractElementToRegex(terminalRule.definition,flags),flagText=Object.entries(flags).filter(([,value])=>value).map(([name])=>name).join("");return new RegExp(source,flagText)}__name(isWhitespace,"isWhitespace"),__name(escapeRegExp,"escapeRegExp"),__name(partialMatches,"partialMatches"),__name(partialRegExp,"partialRegExp"),__name(getEntryRule,"getEntryRule"),__name(getHiddenRules,"getHiddenRules"),__name(getAllReachableRules,"getAllReachableRules"),__name(ruleDfs,"ruleDfs"),__name(getAllRulesUsedForCrossReferences,"getAllRulesUsedForCrossReferences"),__name(getCrossReferenceTerminal,"getCrossReferenceTerminal"),__name(isCommentTerminal,"isCommentTerminal"),__name(findNodesForProperty,"findNodesForProperty"),__name(findNodeForProperty,"findNodeForProperty"),__name(findNodesForPropertyInternal,"findNodesForPropertyInternal"),__name(findNodesForKeyword,"findNodesForKeyword"),__name(findNodeForKeyword,"findNodeForKeyword"),__name(findNodesForKeywordInternal,"findNodesForKeywordInternal"),__name(findAssignment,"findAssignment"),__name(findNameAssignment,"findNameAssignment"),__name(findNameAssignmentInternal,"findNameAssignmentInternal"),__name(getActionAtElement,"getActionAtElement"),__name(isOptionalCardinality,"isOptionalCardinality"),__name(isArrayCardinality,"isArrayCardinality"),__name(isArrayOperator,"isArrayOperator"),__name(isDataTypeRule,"isDataTypeRule"),__name(isDataTypeRuleInternal,"isDataTypeRuleInternal"),__name(isDataType,"isDataType"),__name(isDataTypeInternal,"isDataTypeInternal"),__name(getExplicitRuleType,"getExplicitRuleType"),__name(getTypeName,"getTypeName"),__name(getActionType,"getActionType"),__name(getRuleTypeName,"getRuleTypeName"),__name(getRuleType,"getRuleType"),__name(terminalRegex,"terminalRegex");var WILDCARD=/[\s\S]/.source;function abstractElementToRegex(element,flags){var _a2;if(isTerminalAlternatives(element))return terminalAlternativesToRegex(element);if(isTerminalGroup(element))return terminalGroupToRegex(element);if(isCharacterRange(element))return characterRangeToRegex(element);if(isTerminalRuleCall(element)){const rule=element.rule.ref;if(!rule)throw new Error("Missing rule reference.");return withCardinality(abstractElementToRegex(rule.definition),{cardinality:element.cardinality,lookahead:element.lookahead,parenthesized:element.parenthesized})}if(isNegatedToken(element))return negateTokenToRegex(element);if(isUntilToken(element))return untilTokenToRegex(element);if(isRegexToken(element)){const lastSlash=element.regex.lastIndexOf("/"),source=element.regex.substring(1,lastSlash),regexFlags=element.regex.substring(lastSlash+1);return flags&&(flags.i=regexFlags.includes("i"),flags.s=regexFlags.includes("s"),flags.u=regexFlags.includes("u")),withCardinality(source,{cardinality:element.cardinality,lookahead:element.lookahead,parenthesized:element.parenthesized,wrap:!1})}if(isWildcard(element))return withCardinality(WILDCARD,{cardinality:element.cardinality,lookahead:element.lookahead,parenthesized:element.parenthesized});throw new Error(`Invalid terminal element: ${null==element?void 0:element.$type}, ${null==(_a2=null==element?void 0:element.$cstNode)?void 0:_a2.text}`)}function terminalAlternativesToRegex(alternatives){return withCardinality(alternatives.elements.map(e=>abstractElementToRegex(e)).join("|"),{cardinality:alternatives.cardinality,lookahead:alternatives.lookahead,parenthesized:alternatives.parenthesized,wrap:!1})}function terminalGroupToRegex(group){return withCardinality(group.elements.map(e=>abstractElementToRegex(e)).join(""),{cardinality:group.cardinality,lookahead:group.lookahead,parenthesized:group.parenthesized,wrap:!1})}function untilTokenToRegex(until){return withCardinality(`${WILDCARD}*?${abstractElementToRegex(until.terminal)}`,{cardinality:until.cardinality,lookahead:until.lookahead,parenthesized:until.parenthesized})}function negateTokenToRegex(negate2){return withCardinality(`(?!${abstractElementToRegex(negate2.terminal)})${WILDCARD}*?`,{cardinality:negate2.cardinality,lookahead:negate2.lookahead,parenthesized:negate2.parenthesized})}function characterRangeToRegex(range){return range.right?withCardinality(`[${keywordToRegex(range.left)}-${keywordToRegex(range.right)}]`,{cardinality:range.cardinality,lookahead:range.lookahead,parenthesized:range.parenthesized,wrap:!1}):withCardinality(keywordToRegex(range.left),{cardinality:range.cardinality,lookahead:range.lookahead,parenthesized:range.parenthesized,wrap:!1})}function keywordToRegex(keyword){return escapeRegExp(keyword.value)}function withCardinality(regex,options){if(options.parenthesized||options.lookahead||!1!==options.wrap){regex=`(${options.lookahead??(options.parenthesized?"":"?:")}${regex})`}return options.cardinality?`${regex}${options.cardinality}`:regex}function createGrammarConfig(services){const rules=[],grammar=services.Grammar;for(const rule of grammar.rules)isTerminalRule(rule)&&isCommentTerminal(rule)&&isMultilineComment(terminalRegex(rule))&&rules.push(rule.name);return{multilineCommentRules:rules,nameRegexp:DefaultNameRegexp}}__name(abstractElementToRegex,"abstractElementToRegex"),__name(terminalAlternativesToRegex,"terminalAlternativesToRegex"),__name(terminalGroupToRegex,"terminalGroupToRegex"),__name(untilTokenToRegex,"untilTokenToRegex"),__name(negateTokenToRegex,"negateTokenToRegex"),__name(characterRangeToRegex,"characterRangeToRegex"),__name(keywordToRegex,"keywordToRegex"),__name(withCardinality,"withCardinality"),__name(createGrammarConfig,"createGrammarConfig");var freeGlobal_default="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root_default=freeGlobal_default||freeSelf||Function("return this")(),Symbol_default=root_default.Symbol,objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=Symbol_default?Symbol_default.toStringTag:void 0;function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=void 0;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result}__name(getRawTag,"getRawTag");var getRawTag_default=getRawTag,nativeObjectToString2=Object.prototype.toString;function objectToString(value){return nativeObjectToString2.call(value)}__name(objectToString,"objectToString");var objectToString_default=objectToString,symToStringTag2=Symbol_default?Symbol_default.toStringTag:void 0;function baseGetTag(value){return null==value?void 0===value?"[object Undefined]":"[object Null]":symToStringTag2&&symToStringTag2 in Object(value)?getRawTag_default(value):objectToString_default(value)}__name(baseGetTag,"baseGetTag");var baseGetTag_default=baseGetTag;function isObjectLike(value){return null!=value&&"object"==typeof value}__name(isObjectLike,"isObjectLike");var isObjectLike_default=isObjectLike;function isSymbol(value){return"symbol"==typeof value||isObjectLike_default(value)&&"[object Symbol]"==baseGetTag_default(value)}__name(isSymbol,"isSymbol");var isSymbol_default=isSymbol;function arrayMap(array,iteratee){for(var index=-1,length=null==array?0:array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result}__name(arrayMap,"arrayMap");var arrayMap_default=arrayMap,isArray_default=Array.isArray,symbolProto=Symbol_default?Symbol_default.prototype:void 0,symbolToString=symbolProto?symbolProto.toString:void 0;function baseToString(value){if("string"==typeof value)return value;if(isArray_default(value))return arrayMap_default(value,baseToString)+"";if(isSymbol_default(value))return symbolToString?symbolToString.call(value):"";var result=value+"";return"0"==result&&1/value==-1/0?"-0":result}__name(baseToString,"baseToString");var baseToString_default=baseToString,reWhitespace=/\s/;function trimmedEndIndex(string){for(var index=string.length;index--&&reWhitespace.test(string.charAt(index)););return index}__name(trimmedEndIndex,"trimmedEndIndex");var trimmedEndIndex_default=trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim(string){return string?string.slice(0,trimmedEndIndex_default(string)+1).replace(reTrimStart,""):string}__name(baseTrim,"baseTrim");var baseTrim_default=baseTrim;function isObject(value){var type=typeof value;return null!=value&&("object"==type||"function"==type)}__name(isObject,"isObject");var isObject_default=isObject,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber(value){if("number"==typeof value)return value;if(isSymbol_default(value))return NaN;if(isObject_default(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=isObject_default(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=baseTrim_default(value);var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NaN:+value}__name(toNumber,"toNumber");var toNumber_default=toNumber;function toFinite(value){return value?Infinity===(value=toNumber_default(value))||-Infinity===value?17976931348623157e292*(value<0?-1:1):value==value?value:0:0===value?value:0}__name(toFinite,"toFinite");var toFinite_default=toFinite;function toInteger(value){var result=toFinite_default(value),remainder=result%1;return result==result?remainder?result-remainder:result:0}__name(toInteger,"toInteger");var toInteger_default=toInteger;function identity(value){return value}__name(identity,"identity");var identity_default=identity;function isFunction(value){if(!isObject_default(value))return!1;var tag=baseGetTag_default(value);return"[object Function]"==tag||"[object GeneratorFunction]"==tag||"[object AsyncFunction]"==tag||"[object Proxy]"==tag}__name(isFunction,"isFunction");var uid,isFunction_default=isFunction,coreJsData_default=root_default["__core-js_shared__"],maskSrcKey=(uid=/[^.]+$/.exec(coreJsData_default&&coreJsData_default.keys&&coreJsData_default.keys.IE_PROTO||""))?"Symbol(src)_1."+uid:"";function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}__name(isMasked,"isMasked");var isMasked_default=isMasked,funcToString=Function.prototype.toString;function toSource(func){if(null!=func){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}__name(toSource,"toSource");var toSource_default=toSource,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto2=Function.prototype,objectProto3=Object.prototype,funcToString2=funcProto2.toString,hasOwnProperty2=objectProto3.hasOwnProperty,reIsNative=RegExp("^"+funcToString2.call(hasOwnProperty2).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value){return!(!isObject_default(value)||isMasked_default(value))&&(isFunction_default(value)?reIsNative:reIsHostCtor).test(toSource_default(value))}__name(baseIsNative,"baseIsNative");var baseIsNative_default=baseIsNative;function getValue(object,key){return null==object?void 0:object[key]}__name(getValue,"getValue");var getValue_default=getValue;function getNative(object,key){var value=getValue_default(object,key);return baseIsNative_default(value)?value:void 0}__name(getNative,"getNative");var getNative_default=getNative,WeakMap_default=getNative_default(root_default,"WeakMap"),objectCreate=Object.create,baseCreate_default=function(){function object(){}return __name(object,"object"),function(proto){if(!isObject_default(proto))return{};if(objectCreate)return objectCreate(proto);object.prototype=proto;var result=new object;return object.prototype=void 0,result}}();function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}__name(apply,"apply");var apply_default=apply;function noop(){}__name(noop,"noop");var noop_default=noop;function copyArray(source,array){var index=-1,length=source.length;for(array||(array=Array(length));++index<length;)array[index]=source[index];return array}__name(copyArray,"copyArray");var copyArray_default=copyArray,nativeNow=Date.now;function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=16-(stamp-lastCalled);if(lastCalled=stamp,remaining>0){if(++count>=800)return arguments[0]}else count=0;return func.apply(void 0,arguments)}}__name(shortOut,"shortOut");var shortOut_default=shortOut;function constant(value){return function(){return value}}__name(constant,"constant");var constant_default=constant,defineProperty_default=function(){try{var func=getNative_default(Object,"defineProperty");return func({},"",{}),func}catch(e){}}(),setToString_default=shortOut_default(defineProperty_default?function(func,string){return defineProperty_default(func,"toString",{configurable:!0,enumerable:!1,value:constant_default(string),writable:!0})}:identity_default);function arrayEach(array,iteratee){for(var index=-1,length=null==array?0:array.length;++index<length&&!1!==iteratee(array[index],index,array););return array}__name(arrayEach,"arrayEach");var arrayEach_default=arrayEach;function baseFindIndex(array,predicate,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?1:-1);fromRight?index--:++index<length;)if(predicate(array[index],index,array))return index;return-1}__name(baseFindIndex,"baseFindIndex");var baseFindIndex_default=baseFindIndex;function baseIsNaN(value){return value!=value}__name(baseIsNaN,"baseIsNaN");var baseIsNaN_default=baseIsNaN;function strictIndexOf(array,value,fromIndex){for(var index=fromIndex-1,length=array.length;++index<length;)if(array[index]===value)return index;return-1}__name(strictIndexOf,"strictIndexOf");var strictIndexOf_default=strictIndexOf;function baseIndexOf(array,value,fromIndex){return value==value?strictIndexOf_default(array,value,fromIndex):baseFindIndex_default(array,baseIsNaN_default,fromIndex)}__name(baseIndexOf,"baseIndexOf");var baseIndexOf_default=baseIndexOf;function arrayIncludes(array,value){return!!(null==array?0:array.length)&&baseIndexOf_default(array,value,0)>-1}__name(arrayIncludes,"arrayIncludes");var arrayIncludes_default=arrayIncludes,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value,length){var type=typeof value;return!!(length=null==length?9007199254740991:length)&&("number"==type||"symbol"!=type&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length}__name(isIndex,"isIndex");var isIndex_default=isIndex;function baseAssignValue(object,key,value){"__proto__"==key&&defineProperty_default?defineProperty_default(object,key,{configurable:!0,enumerable:!0,value:value,writable:!0}):object[key]=value}__name(baseAssignValue,"baseAssignValue");var baseAssignValue_default=baseAssignValue;function eq(value,other){return value===other||value!=value&&other!=other}__name(eq,"eq");var eq_default=eq,hasOwnProperty3=Object.prototype.hasOwnProperty;function assignValue(object,key,value){var objValue=object[key];hasOwnProperty3.call(object,key)&&eq_default(objValue,value)&&(void 0!==value||key in object)||baseAssignValue_default(object,key,value)}__name(assignValue,"assignValue");var assignValue_default=assignValue;function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=customizer?customizer(object[key],source[key],key,object,source):void 0;void 0===newValue&&(newValue=source[key]),isNew?baseAssignValue_default(object,key,newValue):assignValue_default(object,key,newValue)}return object}__name(copyObject,"copyObject");var copyObject_default=copyObject,nativeMax=Math.max;function overRest(func,start,transform){return start=nativeMax(void 0===start?func.length-1:start,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);++index<length;)array[index]=args[start+index];index=-1;for(var otherArgs=Array(start+1);++index<start;)otherArgs[index]=args[index];return otherArgs[start]=transform(array),apply_default(func,this,otherArgs)}}__name(overRest,"overRest");var overRest_default=overRest;function baseRest(func,start){return setToString_default(overRest_default(func,start,identity_default),func+"")}__name(baseRest,"baseRest");var baseRest_default=baseRest;function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=9007199254740991}__name(isLength,"isLength");var isLength_default=isLength;function isArrayLike(value){return null!=value&&isLength_default(value.length)&&!isFunction_default(value)}__name(isArrayLike,"isArrayLike");var isArrayLike_default=isArrayLike;function isIterateeCall(value,index,object){if(!isObject_default(object))return!1;var type=typeof index;return!!("number"==type?isArrayLike_default(object)&&isIndex_default(index,object.length):"string"==type&&index in object)&&eq_default(object[index],value)}__name(isIterateeCall,"isIterateeCall");var isIterateeCall_default=isIterateeCall;function createAssigner(assigner){return baseRest_default(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:void 0,guard=length>2?sources[2]:void 0;for(customizer=assigner.length>3&&"function"==typeof customizer?(length--,customizer):void 0,guard&&isIterateeCall_default(sources[0],sources[1],guard)&&(customizer=length<3?void 0:customizer,length=1),object=Object(object);++index<length;){var source=sources[index];source&&assigner(object,source,index,customizer)}return object})}__name(createAssigner,"createAssigner");var createAssigner_default=createAssigner,objectProto5=Object.prototype;function isPrototype(value){var Ctor=value&&value.constructor;return value===("function"==typeof Ctor&&Ctor.prototype||objectProto5)}__name(isPrototype,"isPrototype");var isPrototype_default=isPrototype;function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}__name(baseTimes,"baseTimes");var baseTimes_default=baseTimes;function baseIsArguments(value){return isObjectLike_default(value)&&"[object Arguments]"==baseGetTag_default(value)}__name(baseIsArguments,"baseIsArguments");var baseIsArguments_default=baseIsArguments,objectProto6=Object.prototype,hasOwnProperty4=objectProto6.hasOwnProperty,propertyIsEnumerable=objectProto6.propertyIsEnumerable,isArguments_default=baseIsArguments_default(function(){return arguments}())?baseIsArguments_default:function(value){return isObjectLike_default(value)&&hasOwnProperty4.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};function stubFalse(){return!1}__name(stubFalse,"stubFalse");var stubFalse_default=stubFalse,freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,Buffer2=freeModule&&freeModule.exports===freeExports?root_default.Buffer:void 0,isBuffer_default=(Buffer2?Buffer2.isBuffer:void 0)||stubFalse_default,typedArrayTags={};function baseIsTypedArray(value){return isObjectLike_default(value)&&isLength_default(value.length)&&!!typedArrayTags[baseGetTag_default(value)]}typedArrayTags["[object Float32Array]"]=typedArrayTags["[object Float64Array]"]=typedArrayTags["[object Int8Array]"]=typedArrayTags["[object Int16Array]"]=typedArrayTags["[object Int32Array]"]=typedArrayTags["[object Uint8Array]"]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags["[object Uint16Array]"]=typedArrayTags["[object Uint32Array]"]=!0,typedArrayTags["[object Arguments]"]=typedArrayTags["[object Array]"]=typedArrayTags["[object ArrayBuffer]"]=typedArrayTags["[object Boolean]"]=typedArrayTags["[object DataView]"]=typedArrayTags["[object Date]"]=typedArrayTags["[object Error]"]=typedArrayTags["[object Function]"]=typedArrayTags["[object Map]"]=typedArrayTags["[object Number]"]=typedArrayTags["[object Object]"]=typedArrayTags["[object RegExp]"]=typedArrayTags["[object Set]"]=typedArrayTags["[object String]"]=typedArrayTags["[object WeakMap]"]=!1,__name(baseIsTypedArray,"baseIsTypedArray");var baseIsTypedArray_default=baseIsTypedArray;function baseUnary(func){return function(value){return func(value)}}__name(baseUnary,"baseUnary");var baseUnary_default=baseUnary,freeExports2="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule2=freeExports2&&"object"==typeof module&&module&&!module.nodeType&&module,freeProcess=freeModule2&&freeModule2.exports===freeExports2&&freeGlobal_default.process,nodeUtil_default=function(){try{var types=freeModule2&&freeModule2.require&&freeModule2.require("util").types;return types||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeIsTypedArray=nodeUtil_default&&nodeUtil_default.isTypedArray,isTypedArray_default=nodeIsTypedArray?baseUnary_default(nodeIsTypedArray):baseIsTypedArray_default,hasOwnProperty5=Object.prototype.hasOwnProperty;function arrayLikeKeys(value,inherited){var isArr=isArray_default(value),isArg=!isArr&&isArguments_default(value),isBuff=!isArr&&!isArg&&isBuffer_default(value),isType2=!isArr&&!isArg&&!isBuff&&isTypedArray_default(value),skipIndexes=isArr||isArg||isBuff||isType2,result=skipIndexes?baseTimes_default(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty5.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType2&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||isIndex_default(key,length))||result.push(key);return result}__name(arrayLikeKeys,"arrayLikeKeys");var arrayLikeKeys_default=arrayLikeKeys;function overArg(func,transform){return function(arg){return func(transform(arg))}}__name(overArg,"overArg");var overArg_default=overArg,nativeKeys_default=overArg_default(Object.keys,Object),hasOwnProperty6=Object.prototype.hasOwnProperty;function baseKeys(object){if(!isPrototype_default(object))return nativeKeys_default(object);var result=[];for(var key in Object(object))hasOwnProperty6.call(object,key)&&"constructor"!=key&&result.push(key);return result}__name(baseKeys,"baseKeys");var baseKeys_default=baseKeys;function keys(object){return isArrayLike_default(object)?arrayLikeKeys_default(object):baseKeys_default(object)}__name(keys,"keys");var keys_default=keys,hasOwnProperty7=Object.prototype.hasOwnProperty,assign_default=createAssigner_default(function(object,source){if(isPrototype_default(source)||isArrayLike_default(source))copyObject_default(source,keys_default(source),object);else for(var key in source)hasOwnProperty7.call(source,key)&&assignValue_default(object,key,source[key])});function nativeKeysIn(object){var result=[];if(null!=object)for(var key in Object(object))result.push(key);return result}__name(nativeKeysIn,"nativeKeysIn");var nativeKeysIn_default=nativeKeysIn,hasOwnProperty8=Object.prototype.hasOwnProperty;function baseKeysIn(object){if(!isObject_default(object))return nativeKeysIn_default(object);var isProto=isPrototype_default(object),result=[];for(var key in object)("constructor"!=key||!isProto&&hasOwnProperty8.call(object,key))&&result.push(key);return result}__name(baseKeysIn,"baseKeysIn");var baseKeysIn_default=baseKeysIn;function keysIn(object){return isArrayLike_default(object)?arrayLikeKeys_default(object,!0):baseKeysIn_default(object)}__name(keysIn,"keysIn");var keysIn_default=keysIn,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(value,object){if(isArray_default(value))return!1;var type=typeof value;return!("number"!=type&&"symbol"!=type&&"boolean"!=type&&null!=value&&!isSymbol_default(value))||(reIsPlainProp.test(value)||!reIsDeepProp.test(value)||null!=object&&value in Object(object))}__name(isKey,"isKey");var isKey_default=isKey,nativeCreate_default=getNative_default(Object,"create");function hashClear(){this.__data__=nativeCreate_default?nativeCreate_default(null):{},this.size=0}__name(hashClear,"hashClear");var hashClear_default=hashClear;function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result}__name(hashDelete,"hashDelete");var hashDelete_default=hashDelete,hasOwnProperty9=Object.prototype.hasOwnProperty;function hashGet(key){var data=this.__data__;if(nativeCreate_default){var result=data[key];return"__lodash_hash_undefined__"===result?void 0:result}return hasOwnProperty9.call(data,key)?data[key]:void 0}__name(hashGet,"hashGet");var hashGet_default=hashGet,hasOwnProperty10=Object.prototype.hasOwnProperty;function hashHas(key){var data=this.__data__;return nativeCreate_default?void 0!==data[key]:hasOwnProperty10.call(data,key)}__name(hashHas,"hashHas");var hashHas_default=hashHas;function hashSet(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate_default&&void 0===value?"__lodash_hash_undefined__":value,this}__name(hashSet,"hashSet");var hashSet_default=hashSet;function Hash(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}__name(Hash,"Hash"),Hash.prototype.clear=hashClear_default,Hash.prototype.delete=hashDelete_default,Hash.prototype.get=hashGet_default,Hash.prototype.has=hashHas_default,Hash.prototype.set=hashSet_default;var Hash_default=Hash;function listCacheClear(){this.__data__=[],this.size=0}__name(listCacheClear,"listCacheClear");var listCacheClear_default=listCacheClear;function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq_default(array[length][0],key))return length;return-1}__name(assocIndexOf,"assocIndexOf");var assocIndexOf_default=assocIndexOf,splice=Array.prototype.splice;function listCacheDelete(key){var data=this.__data__,index=assocIndexOf_default(data,key);return!(index<0)&&(index==data.length-1?data.pop():splice.call(data,index,1),--this.size,!0)}__name(listCacheDelete,"listCacheDelete");var listCacheDelete_default=listCacheDelete;function listCacheGet(key){var data=this.__data__,index=assocIndexOf_default(data,key);return index<0?void 0:data[index][1]}__name(listCacheGet,"listCacheGet");var listCacheGet_default=listCacheGet;function listCacheHas(key){return assocIndexOf_default(this.__data__,key)>-1}__name(listCacheHas,"listCacheHas");var listCacheHas_default=listCacheHas;function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf_default(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this}__name(listCacheSet,"listCacheSet");var listCacheSet_default=listCacheSet;function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}__name(ListCache,"ListCache"),ListCache.prototype.clear=listCacheClear_default,ListCache.prototype.delete=listCacheDelete_default,ListCache.prototype.get=listCacheGet_default,ListCache.prototype.has=listCacheHas_default,ListCache.prototype.set=listCacheSet_default;var ListCache_default=ListCache,Map_default=getNative_default(root_default,"Map");function mapCacheClear(){this.size=0,this.__data__={hash:new Hash_default,map:new(Map_default||ListCache_default),string:new Hash_default}}__name(mapCacheClear,"mapCacheClear");var mapCacheClear_default=mapCacheClear;function isKeyable(value){var type=typeof value;return"string"==type||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value}__name(isKeyable,"isKeyable");var isKeyable_default=isKeyable;function getMapData(map3,key){var data=map3.__data__;return isKeyable_default(key)?data["string"==typeof key?"string":"hash"]:data.map}__name(getMapData,"getMapData");var getMapData_default=getMapData;function mapCacheDelete(key){var result=getMapData_default(this,key).delete(key);return this.size-=result?1:0,result}__name(mapCacheDelete,"mapCacheDelete");var mapCacheDelete_default=mapCacheDelete;function mapCacheGet(key){return getMapData_default(this,key).get(key)}__name(mapCacheGet,"mapCacheGet");var mapCacheGet_default=mapCacheGet;function mapCacheHas(key){return getMapData_default(this,key).has(key)}__name(mapCacheHas,"mapCacheHas");var mapCacheHas_default=mapCacheHas;function mapCacheSet(key,value){var data=getMapData_default(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this}__name(mapCacheSet,"mapCacheSet");var mapCacheSet_default=mapCacheSet;function MapCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}__name(MapCache,"MapCache"),MapCache.prototype.clear=mapCacheClear_default,MapCache.prototype.delete=mapCacheDelete_default,MapCache.prototype.get=mapCacheGet_default,MapCache.prototype.has=mapCacheHas_default,MapCache.prototype.set=mapCacheSet_default;var MapCache_default=MapCache;function memoize(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError("Expected a function");var memoized=__name(function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result},"memoized");return memoized.cache=new(memoize.Cache||MapCache_default),memoized}__name(memoize,"memoize"),memoize.Cache=MapCache_default;var memoize_default=memoize;function memoizeCapped(func){var result=memoize_default(func,function(key){return 500===cache.size&&cache.clear(),key}),cache=result.cache;return result}__name(memoizeCapped,"memoizeCapped");var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath_default=memoizeCapped(function(string){var result=[];return 46===string.charCodeAt(0)&&result.push(""),string.replace(rePropName,function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar,"$1"):number||match)}),result});function toString2(value){return null==value?"":baseToString_default(value)}__name(toString2,"toString");var toString_default=toString2;function castPath(value,object){return isArray_default(value)?value:isKey_default(value,object)?[value]:stringToPath_default(toString_default(value))}__name(castPath,"castPath");var castPath_default=castPath;function toKey(value){if("string"==typeof value||isSymbol_default(value))return value;var result=value+"";return"0"==result&&1/value==-1/0?"-0":result}__name(toKey,"toKey");var toKey_default=toKey;function baseGet(object,path){for(var index=0,length=(path=castPath_default(path,object)).length;null!=object&&index<length;)object=object[toKey_default(path[index++])];return index&&index==length?object:void 0}__name(baseGet,"baseGet");var baseGet_default=baseGet;function get(object,path,defaultValue){var result=null==object?void 0:baseGet_default(object,path);return void 0===result?defaultValue:result}__name(get,"get");var get_default=get;function arrayPush(array,values2){for(var index=-1,length=values2.length,offset=array.length;++index<length;)array[offset+index]=values2[index];return array}__name(arrayPush,"arrayPush");var arrayPush_default=arrayPush,spreadableSymbol=Symbol_default?Symbol_default.isConcatSpreadable:void 0;function isFlattenable(value){return isArray_default(value)||isArguments_default(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}__name(isFlattenable,"isFlattenable");var isFlattenable_default=isFlattenable;function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;for(predicate||(predicate=isFlattenable_default),result||(result=[]);++index<length;){var value=array[index];depth>0&&predicate(value)?depth>1?baseFlatten(value,depth-1,predicate,isStrict,result):arrayPush_default(result,value):isStrict||(result[result.length]=value)}return result}__name(baseFlatten,"baseFlatten");var baseFlatten_default=baseFlatten;function flatten(array){return(null==array?0:array.length)?baseFlatten_default(array,1):[]}__name(flatten,"flatten");var flatten_default=flatten,getPrototype_default=overArg_default(Object.getPrototypeOf,Object);function baseSlice(array,start,end){var index=-1,length=array.length;start<0&&(start=-start>length?0:length+start),(end=end>length?length:end)<0&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);++index<length;)result[index]=array[index+start];return result}__name(baseSlice,"baseSlice");var baseSlice_default=baseSlice;function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[++index]);++index<length;)accumulator=iteratee(accumulator,array[index],index,array);return accumulator}__name(arrayReduce,"arrayReduce");var arrayReduce_default=arrayReduce;function stackClear(){this.__data__=new ListCache_default,this.size=0}__name(stackClear,"stackClear");var stackClear_default=stackClear;function stackDelete(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result}__name(stackDelete,"stackDelete");var stackDelete_default=stackDelete;function stackGet(key){return this.__data__.get(key)}__name(stackGet,"stackGet");var stackGet_default=stackGet;function stackHas(key){return this.__data__.has(key)}__name(stackHas,"stackHas");var stackHas_default=stackHas;function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache_default){var pairs=data.__data__;if(!Map_default||pairs.length<199)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache_default(pairs)}return data.set(key,value),this.size=data.size,this}__name(stackSet,"stackSet");var stackSet_default=stackSet;function Stack(entries){var data=this.__data__=new ListCache_default(entries);this.size=data.size}__name(Stack,"Stack"),Stack.prototype.clear=stackClear_default,Stack.prototype.delete=stackDelete_default,Stack.prototype.get=stackGet_default,Stack.prototype.has=stackHas_default,Stack.prototype.set=stackSet_default;var Stack_default=Stack;function baseAssign(object,source){return object&&copyObject_default(source,keys_default(source),object)}__name(baseAssign,"baseAssign");var baseAssign_default=baseAssign;function baseAssignIn(object,source){return object&&copyObject_default(source,keysIn_default(source),object)}__name(baseAssignIn,"baseAssignIn");var baseAssignIn_default=baseAssignIn,freeExports3="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule3=freeExports3&&"object"==typeof module&&module&&!module.nodeType&&module,Buffer3=freeModule3&&freeModule3.exports===freeExports3?root_default.Buffer:void 0,allocUnsafe=Buffer3?Buffer3.allocUnsafe:void 0;function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);return buffer.copy(result),result}__name(cloneBuffer,"cloneBuffer");var cloneBuffer_default=cloneBuffer;function arrayFilter(array,predicate){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result}__name(arrayFilter,"arrayFilter");var arrayFilter_default=arrayFilter;function stubArray(){return[]}__name(stubArray,"stubArray");var stubArray_default=stubArray,propertyIsEnumerable2=Object.prototype.propertyIsEnumerable,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbols_default=nativeGetSymbols?function(object){return null==object?[]:(object=Object(object),arrayFilter_default(nativeGetSymbols(object),function(symbol){return propertyIsEnumerable2.call(object,symbol)}))}:stubArray_default;function copySymbols(source,object){return copyObject_default(source,getSymbols_default(source),object)}__name(copySymbols,"copySymbols");var copySymbols_default=copySymbols,getSymbolsIn_default=Object.getOwnPropertySymbols?function(object){for(var result=[];object;)arrayPush_default(result,getSymbols_default(object)),object=getPrototype_default(object);return result}:stubArray_default;function copySymbolsIn(source,object){return copyObject_default(source,getSymbolsIn_default(source),object)}__name(copySymbolsIn,"copySymbolsIn");var copySymbolsIn_default=copySymbolsIn;function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray_default(object)?result:arrayPush_default(result,symbolsFunc(object))}__name(baseGetAllKeys,"baseGetAllKeys");var baseGetAllKeys_default=baseGetAllKeys;function getAllKeys(object){return baseGetAllKeys_default(object,keys_default,getSymbols_default)}__name(getAllKeys,"getAllKeys");var getAllKeys_default=getAllKeys;function getAllKeysIn(object){return baseGetAllKeys_default(object,keysIn_default,getSymbolsIn_default)}__name(getAllKeysIn,"getAllKeysIn");var getAllKeysIn_default=getAllKeysIn,DataView_default=getNative_default(root_default,"DataView"),Promise_default=getNative_default(root_default,"Promise"),Set_default=getNative_default(root_default,"Set"),dataViewCtorString=toSource_default(DataView_default),mapCtorString=toSource_default(Map_default),promiseCtorString=toSource_default(Promise_default),setCtorString=toSource_default(Set_default),weakMapCtorString=toSource_default(WeakMap_default),getTag=baseGetTag_default;(DataView_default&&"[object DataView]"!=getTag(new DataView_default(new ArrayBuffer(1)))||Map_default&&"[object Map]"!=getTag(new Map_default)||Promise_default&&"[object Promise]"!=getTag(Promise_default.resolve())||Set_default&&"[object Set]"!=getTag(new Set_default)||WeakMap_default&&"[object WeakMap]"!=getTag(new WeakMap_default))&&(getTag=__name(function(value){var result=baseGetTag_default(value),Ctor="[object Object]"==result?value.constructor:void 0,ctorString=Ctor?toSource_default(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return"[object DataView]";case mapCtorString:return"[object Map]";case promiseCtorString:return"[object Promise]";case setCtorString:return"[object Set]";case weakMapCtorString:return"[object WeakMap]"}return result},"getTag"));var getTag_default=getTag,hasOwnProperty11=Object.prototype.hasOwnProperty;function initCloneArray(array){var length=array.length,result=new array.constructor(length);return length&&"string"==typeof array[0]&&hasOwnProperty11.call(array,"index")&&(result.index=array.index,result.input=array.input),result}__name(initCloneArray,"initCloneArray");var initCloneArray_default=initCloneArray,Uint8Array_default=root_default.Uint8Array;function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array_default(result).set(new Uint8Array_default(arrayBuffer)),result}__name(cloneArrayBuffer,"cloneArrayBuffer");var cloneArrayBuffer_default=cloneArrayBuffer;function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer_default(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}__name(cloneDataView,"cloneDataView");var cloneDataView_default=cloneDataView,reFlags=/\w*$/;function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));return result.lastIndex=regexp.lastIndex,result}__name(cloneRegExp,"cloneRegExp");var cloneRegExp_default=cloneRegExp,symbolProto2=Symbol_default?Symbol_default.prototype:void 0,symbolValueOf=symbolProto2?symbolProto2.valueOf:void 0;function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{}}__name(cloneSymbol,"cloneSymbol");var cloneSymbol_default=cloneSymbol;function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer_default(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}__name(cloneTypedArray,"cloneTypedArray");var cloneTypedArray_default=cloneTypedArray;function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case"[object ArrayBuffer]":return cloneArrayBuffer_default(object);case"[object Boolean]":case"[object Date]":return new Ctor(+object);case"[object DataView]":return cloneDataView_default(object,isDeep);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return cloneTypedArray_default(object,isDeep);case"[object Map]":case"[object Set]":return new Ctor;case"[object Number]":case"[object String]":return new Ctor(object);case"[object RegExp]":return cloneRegExp_default(object);case"[object Symbol]":return cloneSymbol_default(object)}}__name(initCloneByTag,"initCloneByTag");var initCloneByTag_default=initCloneByTag;function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype_default(object)?{}:baseCreate_default(getPrototype_default(object))}__name(initCloneObject,"initCloneObject");var initCloneObject_default=initCloneObject;function baseIsMap(value){return isObjectLike_default(value)&&"[object Map]"==getTag_default(value)}__name(baseIsMap,"baseIsMap");var baseIsMap_default=baseIsMap,nodeIsMap=nodeUtil_default&&nodeUtil_default.isMap,isMap_default=nodeIsMap?baseUnary_default(nodeIsMap):baseIsMap_default;function baseIsSet(value){return isObjectLike_default(value)&&"[object Set]"==getTag_default(value)}__name(baseIsSet,"baseIsSet");var baseIsSet_default=baseIsSet,nodeIsSet=nodeUtil_default&&nodeUtil_default.isSet,isSet_default=nodeIsSet?baseUnary_default(nodeIsSet):baseIsSet_default,cloneableTags={};function baseClone(value,bitmask,customizer,key,object,stack){var result,isDeep=1&bitmask,isFlat=2&bitmask,isFull=4&bitmask;if(customizer&&(result=object?customizer(value,key,object,stack):customizer(value)),void 0!==result)return result;if(!isObject_default(value))return value;var isArr=isArray_default(value);if(isArr){if(result=initCloneArray_default(value),!isDeep)return copyArray_default(value,result)}else{var tag=getTag_default(value),isFunc="[object Function]"==tag||"[object GeneratorFunction]"==tag;if(isBuffer_default(value))return cloneBuffer_default(value,isDeep);if("[object Object]"==tag||"[object Arguments]"==tag||isFunc&&!object){if(result=isFlat||isFunc?{}:initCloneObject_default(value),!isDeep)return isFlat?copySymbolsIn_default(value,baseAssignIn_default(result,value)):copySymbols_default(value,baseAssign_default(result,value))}else{if(!cloneableTags[tag])return object?value:{};result=initCloneByTag_default(value,tag,isDeep)}}stack||(stack=new Stack_default);var stacked=stack.get(value);if(stacked)return stacked;stack.set(value,result),isSet_default(value)?value.forEach(function(subValue){result.add(baseClone(subValue,bitmask,customizer,subValue,value,stack))}):isMap_default(value)&&value.forEach(function(subValue,key2){result.set(key2,baseClone(subValue,bitmask,customizer,key2,value,stack))});var props=isArr?void 0:(isFull?isFlat?getAllKeysIn_default:getAllKeys_default:isFlat?keysIn_default:keys_default)(value);return arrayEach_default(props||value,function(subValue,key2){props&&(subValue=value[key2=subValue]),assignValue_default(result,key2,baseClone(subValue,bitmask,customizer,key2,value,stack))}),result}cloneableTags["[object Arguments]"]=cloneableTags["[object Array]"]=cloneableTags["[object ArrayBuffer]"]=cloneableTags["[object DataView]"]=cloneableTags["[object Boolean]"]=cloneableTags["[object Date]"]=cloneableTags["[object Float32Array]"]=cloneableTags["[object Float64Array]"]=cloneableTags["[object Int8Array]"]=cloneableTags["[object Int16Array]"]=cloneableTags["[object Int32Array]"]=cloneableTags["[object Map]"]=cloneableTags["[object Number]"]=cloneableTags["[object Object]"]=cloneableTags["[object RegExp]"]=cloneableTags["[object Set]"]=cloneableTags["[object String]"]=cloneableTags["[object Symbol]"]=cloneableTags["[object Uint8Array]"]=cloneableTags["[object Uint8ClampedArray]"]=cloneableTags["[object Uint16Array]"]=cloneableTags["[object Uint32Array]"]=!0,cloneableTags["[object Error]"]=cloneableTags["[object Function]"]=cloneableTags["[object WeakMap]"]=!1,__name(baseClone,"baseClone");var baseClone_default=baseClone;function clone(value){return baseClone_default(value,4)}__name(clone,"clone");var clone_default=clone;function compact(array){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];value&&(result[resIndex++]=value)}return result}__name(compact,"compact");var compact_default=compact;function setCacheAdd(value){return this.__data__.set(value,"__lodash_hash_undefined__"),this}__name(setCacheAdd,"setCacheAdd");var setCacheAdd_default=setCacheAdd;function setCacheHas(value){return this.__data__.has(value)}__name(setCacheHas,"setCacheHas");var setCacheHas_default=setCacheHas;function SetCache(values2){var index=-1,length=null==values2?0:values2.length;for(this.__data__=new MapCache_default;++index<length;)this.add(values2[index])}__name(SetCache,"SetCache"),SetCache.prototype.add=SetCache.prototype.push=setCacheAdd_default,SetCache.prototype.has=setCacheHas_default;var SetCache_default=SetCache;function arraySome(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}__name(arraySome,"arraySome");var arraySome_default=arraySome;function cacheHas(cache,key){return cache.has(key)}__name(cacheHas,"cacheHas");var cacheHas_default=cacheHas;function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var arrStacked=stack.get(array),othStacked=stack.get(other);if(arrStacked&&othStacked)return arrStacked==other&&othStacked==array;var index=-1,result=!0,seen=2&bitmask?new SetCache_default:void 0;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(void 0!==compared){if(compared)continue;result=!1;break}if(seen){if(!arraySome_default(other,function(othValue2,othIndex){if(!cacheHas_default(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack)))return seen.push(othIndex)})){result=!1;break}}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,bitmask,customizer,stack)){result=!1;break}}return stack.delete(array),stack.delete(other),result}__name(equalArrays,"equalArrays");var equalArrays_default=equalArrays;function mapToArray(map3){var index=-1,result=Array(map3.size);return map3.forEach(function(value,key){result[++index]=[key,value]}),result}__name(mapToArray,"mapToArray");var mapToArray_default=mapToArray;function setToArray(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=value}),result}__name(setToArray,"setToArray");var setToArray_default=setToArray,symbolProto3=Symbol_default?Symbol_default.prototype:void 0,symbolValueOf2=symbolProto3?symbolProto3.valueOf:void 0;function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case"[object DataView]":if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case"[object ArrayBuffer]":return!(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array_default(object),new Uint8Array_default(other)));case"[object Boolean]":case"[object Date]":case"[object Number]":return eq_default(+object,+other);case"[object Error]":return object.name==other.name&&object.message==other.message;case"[object RegExp]":case"[object String]":return object==other+"";case"[object Map]":var convert=mapToArray_default;case"[object Set]":var isPartial=1&bitmask;if(convert||(convert=setToArray_default),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=2,stack.set(object,other);var result=equalArrays_default(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack.delete(object),result;case"[object Symbol]":if(symbolValueOf2)return symbolValueOf2.call(object)==symbolValueOf2.call(other)}return!1}__name(equalByTag,"equalByTag");var equalByTag_default=equalByTag,hasOwnProperty12=Object.prototype.hasOwnProperty;function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,objProps=getAllKeys_default(object),objLength=objProps.length;if(objLength!=getAllKeys_default(other).length&&!isPartial)return!1;for(var index=objLength;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty12.call(other,key)))return!1}var objStacked=stack.get(object),othStacked=stack.get(other);if(objStacked&&othStacked)return objStacked==other&&othStacked==object;var result=!0;stack.set(object,other),stack.set(other,object);for(var skipCtor=isPartial;++index<objLength;){var objValue=object[key=objProps[index]],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);if(!(void 0===compared?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor="constructor"==key)}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor==othCtor||!("constructor"in object)||!("constructor"in other)||"function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor||(result=!1)}return stack.delete(object),stack.delete(other),result}__name(equalObjects,"equalObjects");var equalObjects_default=equalObjects,hasOwnProperty13=Object.prototype.hasOwnProperty;function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray_default(object),othIsArr=isArray_default(other),objTag=objIsArr?"[object Array]":getTag_default(object),othTag=othIsArr?"[object Array]":getTag_default(other),objIsObj="[object Object]"==(objTag="[object Arguments]"==objTag?"[object Object]":objTag),othIsObj="[object Object]"==(othTag="[object Arguments]"==othTag?"[object Object]":othTag),isSameTag=objTag==othTag;if(isSameTag&&isBuffer_default(object)){if(!isBuffer_default(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new Stack_default),objIsArr||isTypedArray_default(object)?equalArrays_default(object,other,bitmask,customizer,equalFunc,stack):equalByTag_default(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(1&bitmask)){var objIsWrapped=objIsObj&&hasOwnProperty13.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty13.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new Stack_default),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}return!!isSameTag&&(stack||(stack=new Stack_default),equalObjects_default(object,other,bitmask,customizer,equalFunc,stack))}__name(baseIsEqualDeep,"baseIsEqualDeep");var baseIsEqualDeep_default=baseIsEqualDeep;function baseIsEqual(value,other,bitmask,customizer,stack){return value===other||(null==value||null==other||!isObjectLike_default(value)&&!isObjectLike_default(other)?value!=value&&other!=other:baseIsEqualDeep_default(value,other,bitmask,customizer,baseIsEqual,stack))}__name(baseIsEqual,"baseIsEqual");var baseIsEqual_default=baseIsEqual;function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=Object(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){var key=(data=matchData[index])[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(void 0===objValue&&!(key in object))return!1}else{var stack=new Stack_default;if(customizer)var result=customizer(objValue,srcValue,key,object,source,stack);if(!(void 0===result?baseIsEqual_default(srcValue,objValue,3,customizer,stack):result))return!1}}return!0}__name(baseIsMatch,"baseIsMatch");var baseIsMatch_default=baseIsMatch;function isStrictComparable(value){return value==value&&!isObject_default(value)}__name(isStrictComparable,"isStrictComparable");var isStrictComparable_default=isStrictComparable;function getMatchData(object){for(var result=keys_default(object),length=result.length;length--;){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable_default(value)]}return result}__name(getMatchData,"getMatchData");var getMatchData_default=getMatchData;function matchesStrictComparable(key,srcValue){return function(object){return null!=object&&(object[key]===srcValue&&(void 0!==srcValue||key in Object(object)))}}__name(matchesStrictComparable,"matchesStrictComparable");var matchesStrictComparable_default=matchesStrictComparable;function baseMatches(source){var matchData=getMatchData_default(source);return 1==matchData.length&&matchData[0][2]?matchesStrictComparable_default(matchData[0][0],matchData[0][1]):function(object){return object===source||baseIsMatch_default(object,source,matchData)}}__name(baseMatches,"baseMatches");var baseMatches_default=baseMatches;function baseHasIn(object,key){return null!=object&&key in Object(object)}__name(baseHasIn,"baseHasIn");var baseHasIn_default=baseHasIn;function hasPath(object,path,hasFunc){for(var index=-1,length=(path=castPath_default(path,object)).length,result=!1;++index<length;){var key=toKey_default(path[index]);if(!(result=null!=object&&hasFunc(object,key)))break;object=object[key]}return result||++index!=length?result:!!(length=null==object?0:object.length)&&isLength_default(length)&&isIndex_default(key,length)&&(isArray_default(object)||isArguments_default(object))}__name(hasPath,"hasPath");var hasPath_default=hasPath;function hasIn(object,path){return null!=object&&hasPath_default(object,path,baseHasIn_default)}__name(hasIn,"hasIn");var hasIn_default=hasIn;function baseMatchesProperty(path,srcValue){return isKey_default(path)&&isStrictComparable_default(srcValue)?matchesStrictComparable_default(toKey_default(path),srcValue):function(object){var objValue=get_default(object,path);return void 0===objValue&&objValue===srcValue?hasIn_default(object,path):baseIsEqual_default(srcValue,objValue,3)}}__name(baseMatchesProperty,"baseMatchesProperty");var baseMatchesProperty_default=baseMatchesProperty;function baseProperty(key){return function(object){return null==object?void 0:object[key]}}__name(baseProperty,"baseProperty");var baseProperty_default=baseProperty;function basePropertyDeep(path){return function(object){return baseGet_default(object,path)}}__name(basePropertyDeep,"basePropertyDeep");var basePropertyDeep_default=basePropertyDeep;function property(path){return isKey_default(path)?baseProperty_default(toKey_default(path)):basePropertyDeep_default(path)}__name(property,"property");var property_default=property;function baseIteratee(value){return"function"==typeof value?value:null==value?identity_default:"object"==typeof value?isArray_default(value)?baseMatchesProperty_default(value[0],value[1]):baseMatches_default(value):property_default(value)}__name(baseIteratee,"baseIteratee");var baseIteratee_default=baseIteratee;function arrayAggregator(array,setter,iteratee,accumulator){for(var index=-1,length=null==array?0:array.length;++index<length;){var value=array[index];setter(accumulator,value,iteratee(value),array)}return accumulator}__name(arrayAggregator,"arrayAggregator");var arrayAggregator_default=arrayAggregator;function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[fromRight?length:++index];if(!1===iteratee(iterable[key],key,iterable))break}return object}}__name(createBaseFor,"createBaseFor");var baseFor_default=createBaseFor();function baseForOwn(object,iteratee){return object&&baseFor_default(object,iteratee,keys_default)}__name(baseForOwn,"baseForOwn");var baseForOwn_default=baseForOwn;function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(null==collection)return collection;if(!isArrayLike_default(collection))return eachFunc(collection,iteratee);for(var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);(fromRight?index--:++index<length)&&!1!==iteratee(iterable[index],index,iterable););return collection}}__name(createBaseEach,"createBaseEach");var baseEach_default=createBaseEach(baseForOwn_default);function baseAggregator(collection,setter,iteratee,accumulator){return baseEach_default(collection,function(value,key,collection2){setter(accumulator,value,iteratee(value),collection2)}),accumulator}__name(baseAggregator,"baseAggregator");var baseAggregator_default=baseAggregator;function createAggregator(setter,initializer){return function(collection,iteratee){var func=isArray_default(collection)?arrayAggregator_default:baseAggregator_default,accumulator=initializer?initializer():{};return func(collection,setter,baseIteratee_default(iteratee),accumulator)}}__name(createAggregator,"createAggregator");var createAggregator_default=createAggregator,objectProto17=Object.prototype,hasOwnProperty14=objectProto17.hasOwnProperty,defaults_default=baseRest_default(function(object,sources){object=Object(object);var index=-1,length=sources.length,guard=length>2?sources[2]:void 0;for(guard&&isIterateeCall_default(sources[0],sources[1],guard)&&(length=1);++index<length;)for(var source=sources[index],props=keysIn_default(source),propsIndex=-1,propsLength=props.length;++propsIndex<propsLength;){var key=props[propsIndex],value=object[key];(void 0===value||eq_default(value,objectProto17[key])&&!hasOwnProperty14.call(object,key))&&(object[key]=source[key])}return object});function isArrayLikeObject(value){return isObjectLike_default(value)&&isArrayLike_default(value)}__name(isArrayLikeObject,"isArrayLikeObject");var isArrayLikeObject_default=isArrayLikeObject;function arrayIncludesWith(array,value,comparator){for(var index=-1,length=null==array?0:array.length;++index<length;)if(comparator(value,array[index]))return!0;return!1}__name(arrayIncludesWith,"arrayIncludesWith");var arrayIncludesWith_default=arrayIncludesWith;function baseDifference(array,values2,iteratee,comparator){var index=-1,includes2=arrayIncludes_default,isCommon=!0,length=array.length,result=[],valuesLength=values2.length;if(!length)return result;iteratee&&(values2=arrayMap_default(values2,baseUnary_default(iteratee))),comparator?(includes2=arrayIncludesWith_default,isCommon=!1):values2.length>=200&&(includes2=cacheHas_default,isCommon=!1,values2=new SetCache_default(values2));outer:for(;++index<length;){var value=array[index],computed=null==iteratee?value:iteratee(value);if(value=comparator||0!==value?value:0,isCommon&&computed==computed){for(var valuesIndex=valuesLength;valuesIndex--;)if(values2[valuesIndex]===computed)continue outer;result.push(value)}else includes2(values2,computed,comparator)||result.push(value)}return result}__name(baseDifference,"baseDifference");var baseDifference_default=baseDifference,difference_default=baseRest_default(function(array,values2){return isArrayLikeObject_default(array)?baseDifference_default(array,baseFlatten_default(values2,1,isArrayLikeObject_default,!0)):[]});function last(array){var length=null==array?0:array.length;return length?array[length-1]:void 0}__name(last,"last");var last_default=last;function drop(array,n,guard){var length=null==array?0:array.length;return length?(n=guard||void 0===n?1:toInteger_default(n),baseSlice_default(array,n<0?0:n,length)):[]}__name(drop,"drop");var drop_default=drop;function dropRight(array,n,guard){var length=null==array?0:array.length;return length?(n=guard||void 0===n?1:toInteger_default(n),baseSlice_default(array,0,(n=length-n)<0?0:n)):[]}__name(dropRight,"dropRight");var dropRight_default=dropRight;function castFunction(value){return"function"==typeof value?value:identity_default}__name(castFunction,"castFunction");var castFunction_default=castFunction;function forEach(collection,iteratee){return(isArray_default(collection)?arrayEach_default:baseEach_default)(collection,castFunction_default(iteratee))}__name(forEach,"forEach");var forEach_default=forEach;function arrayEvery(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(!predicate(array[index],index,array))return!1;return!0}__name(arrayEvery,"arrayEvery");var arrayEvery_default=arrayEvery;function baseEvery(collection,predicate){var result=!0;return baseEach_default(collection,function(value,index,collection2){return result=!!predicate(value,index,collection2)}),result}__name(baseEvery,"baseEvery");var baseEvery_default=baseEvery;function every(collection,predicate,guard){var func=isArray_default(collection)?arrayEvery_default:baseEvery_default;return guard&&isIterateeCall_default(collection,predicate,guard)&&(predicate=void 0),func(collection,baseIteratee_default(predicate))}__name(every,"every");var every_default=every;function baseFilter(collection,predicate){var result=[];return baseEach_default(collection,function(value,index,collection2){predicate(value,index,collection2)&&result.push(value)}),result}__name(baseFilter,"baseFilter");var baseFilter_default=baseFilter;function filter(collection,predicate){return(isArray_default(collection)?arrayFilter_default:baseFilter_default)(collection,baseIteratee_default(predicate))}__name(filter,"filter");var filter_default=filter;function createFind(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object(collection);if(!isArrayLike_default(collection)){var iteratee=baseIteratee_default(predicate);collection=keys_default(collection),predicate=__name(function(key){return iteratee(iterable[key],key,iterable)},"predicate")}var index=findIndexFunc(collection,predicate,fromIndex);return index>-1?iterable[iteratee?collection[index]:index]:void 0}}__name(createFind,"createFind");var createFind_default=createFind,nativeMax2=Math.max;function findIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger_default(fromIndex);return index<0&&(index=nativeMax2(length+index,0)),baseFindIndex_default(array,baseIteratee_default(predicate),index)}__name(findIndex,"findIndex");var find_default=createFind_default(findIndex);function head(array){return array&&array.length?array[0]:void 0}__name(head,"head");var head_default=head;function baseMap(collection,iteratee){var index=-1,result=isArrayLike_default(collection)?Array(collection.length):[];return baseEach_default(collection,function(value,key,collection2){result[++index]=iteratee(value,key,collection2)}),result}__name(baseMap,"baseMap");var baseMap_default=baseMap;function map(collection,iteratee){return(isArray_default(collection)?arrayMap_default:baseMap_default)(collection,baseIteratee_default(iteratee))}__name(map,"map");var map_default=map;function flatMap(collection,iteratee){return baseFlatten_default(map_default(collection,iteratee),1)}__name(flatMap,"flatMap");var flatMap_default=flatMap,hasOwnProperty15=Object.prototype.hasOwnProperty,groupBy_default=createAggregator_default(function(result,value,key){hasOwnProperty15.call(result,key)?result[key].push(value):baseAssignValue_default(result,key,[value])}),hasOwnProperty16=Object.prototype.hasOwnProperty;function baseHas(object,key){return null!=object&&hasOwnProperty16.call(object,key)}__name(baseHas,"baseHas");var baseHas_default=baseHas;function has(object,path){return null!=object&&hasPath_default(object,path,baseHas_default)}__name(has,"has");var has_default=has;function isString(value){return"string"==typeof value||!isArray_default(value)&&isObjectLike_default(value)&&"[object String]"==baseGetTag_default(value)}__name(isString,"isString");var isString_default=isString;function baseValues(object,props){return arrayMap_default(props,function(key){return object[key]})}__name(baseValues,"baseValues");var baseValues_default=baseValues;function values(object){return null==object?[]:baseValues_default(object,keys_default(object))}__name(values,"values");var values_default=values,nativeMax3=Math.max;function includes(collection,value,fromIndex,guard){collection=isArrayLike_default(collection)?collection:values_default(collection),fromIndex=fromIndex&&!guard?toInteger_default(fromIndex):0;var length=collection.length;return fromIndex<0&&(fromIndex=nativeMax3(length+fromIndex,0)),isString_default(collection)?fromIndex<=length&&collection.indexOf(value,fromIndex)>-1:!!length&&baseIndexOf_default(collection,value,fromIndex)>-1}__name(includes,"includes");var includes_default=includes,nativeMax4=Math.max;function indexOf(array,value,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger_default(fromIndex);return index<0&&(index=nativeMax4(length+index,0)),baseIndexOf_default(array,value,index)}__name(indexOf,"indexOf");var indexOf_default=indexOf,hasOwnProperty17=Object.prototype.hasOwnProperty;function isEmpty(value){if(null==value)return!0;if(isArrayLike_default(value)&&(isArray_default(value)||"string"==typeof value||"function"==typeof value.splice||isBuffer_default(value)||isTypedArray_default(value)||isArguments_default(value)))return!value.length;var tag=getTag_default(value);if("[object Map]"==tag||"[object Set]"==tag)return!value.size;if(isPrototype_default(value))return!baseKeys_default(value).length;for(var key in value)if(hasOwnProperty17.call(value,key))return!1;return!0}__name(isEmpty,"isEmpty");var isEmpty_default=isEmpty;function baseIsRegExp(value){return isObjectLike_default(value)&&"[object RegExp]"==baseGetTag_default(value)}__name(baseIsRegExp,"baseIsRegExp");var baseIsRegExp_default=baseIsRegExp,nodeIsRegExp=nodeUtil_default&&nodeUtil_default.isRegExp,isRegExp_default=nodeIsRegExp?baseUnary_default(nodeIsRegExp):baseIsRegExp_default;function isUndefined(value){return void 0===value}__name(isUndefined,"isUndefined");var isUndefined_default=isUndefined;function negate(predicate){if("function"!=typeof predicate)throw new TypeError("Expected a function");return function(){var args=arguments;switch(args.length){case 0:return!predicate.call(this);case 1:return!predicate.call(this,args[0]);case 2:return!predicate.call(this,args[0],args[1]);case 3:return!predicate.call(this,args[0],args[1],args[2])}return!predicate.apply(this,args)}}__name(negate,"negate");var negate_default=negate;function baseSet(object,path,value,customizer){if(!isObject_default(object))return object;for(var index=-1,length=(path=castPath_default(path,object)).length,lastIndex=length-1,nested=object;null!=nested&&++index<length;){var key=toKey_default(path[index]),newValue=value;if("__proto__"===key||"constructor"===key||"prototype"===key)return object;if(index!=lastIndex){var objValue=nested[key];void 0===(newValue=customizer?customizer(objValue,key,nested):void 0)&&(newValue=isObject_default(objValue)?objValue:isIndex_default(path[index+1])?[]:{})}assignValue_default(nested,key,newValue),nested=nested[key]}return object}__name(baseSet,"baseSet");var baseSet_default=baseSet;function basePickBy(object,paths,predicate){for(var index=-1,length=paths.length,result={};++index<length;){var path=paths[index],value=baseGet_default(object,path);predicate(value,path)&&baseSet_default(result,castPath_default(path,object),value)}return result}__name(basePickBy,"basePickBy");var basePickBy_default=basePickBy;function pickBy(object,predicate){if(null==object)return{};var props=arrayMap_default(getAllKeysIn_default(object),function(prop){return[prop]});return predicate=baseIteratee_default(predicate),basePickBy_default(object,props,function(value,path){return predicate(value,path[0])})}__name(pickBy,"pickBy");var pickBy_default=pickBy;function baseReduce(collection,iteratee,accumulator,initAccum,eachFunc){return eachFunc(collection,function(value,index,collection2){accumulator=initAccum?(initAccum=!1,value):iteratee(accumulator,value,index,collection2)}),accumulator}__name(baseReduce,"baseReduce");var baseReduce_default=baseReduce;function reduce(collection,iteratee,accumulator){var func=isArray_default(collection)?arrayReduce_default:baseReduce_default,initAccum=arguments.length<3;return func(collection,baseIteratee_default(iteratee),accumulator,initAccum,baseEach_default)}__name(reduce,"reduce");var reduce_default=reduce;function reject(collection,predicate){return(isArray_default(collection)?arrayFilter_default:baseFilter_default)(collection,negate_default(baseIteratee_default(predicate)))}__name(reject,"reject");var reject_default=reject;function baseSome(collection,predicate){var result;return baseEach_default(collection,function(value,index,collection2){return!(result=predicate(value,index,collection2))}),!!result}__name(baseSome,"baseSome");var baseSome_default=baseSome;function some(collection,predicate,guard){var func=isArray_default(collection)?arraySome_default:baseSome_default;return guard&&isIterateeCall_default(collection,predicate,guard)&&(predicate=void 0),func(collection,baseIteratee_default(predicate))}__name(some,"some");var some_default=some,createSet_default=Set_default&&1/setToArray_default(new Set_default([,-0]))[1]==1/0?function(values2){return new Set_default(values2)}:noop_default;function baseUniq(array,iteratee,comparator){var index=-1,includes2=arrayIncludes_default,length=array.length,isCommon=!0,result=[],seen=result;if(comparator)isCommon=!1,includes2=arrayIncludesWith_default;else if(length>=200){var set=iteratee?null:createSet_default(array);if(set)return setToArray_default(set);isCommon=!1,includes2=cacheHas_default,seen=new SetCache_default}else seen=iteratee?[]:result;outer:for(;++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,isCommon&&computed==computed){for(var seenIndex=seen.length;seenIndex--;)if(seen[seenIndex]===computed)continue outer;iteratee&&seen.push(computed),result.push(value)}else includes2(seen,computed,comparator)||(seen!==result&&seen.push(computed),result.push(value))}return result}__name(baseUniq,"baseUniq");var baseUniq_default=baseUniq;function uniq(array){return array&&array.length?baseUniq_default(array):[]}__name(uniq,"uniq");var uniq_default=uniq;function PRINT_ERROR(msg){console&&console.error&&console.error(`Error: ${msg}`)}function PRINT_WARNING(msg){console&&console.warn&&console.warn(`Warning: ${msg}`)}function timer(func){const start=(new Date).getTime(),val=func();return{time:(new Date).getTime()-start,value:val}}function toFastProperties(toBecomeFast){function FakeConstructor(){}__name(FakeConstructor,"FakeConstructor"),FakeConstructor.prototype=toBecomeFast;const fakeInstance=new FakeConstructor;function fakeAccess(){return typeof fakeInstance.bar}return __name(fakeAccess,"fakeAccess"),fakeAccess(),fakeAccess(),toBecomeFast}function tokenLabel(tokType){return hasTokenLabel(tokType)?tokType.LABEL:tokType.name}function hasTokenLabel(obj){return isString_default(obj.LABEL)&&""!==obj.LABEL}__name(PRINT_ERROR,"PRINT_ERROR"),__name(PRINT_WARNING,"PRINT_WARNING"),__name(timer,"timer"),__name(toFastProperties,"toFastProperties"),__name(tokenLabel,"tokenLabel"),__name(hasTokenLabel,"hasTokenLabel");var AbstractProduction=(__name(_i=class{get definition(){return this._definition}set definition(value){this._definition=value}constructor(_definition){this._definition=_definition}accept(visitor2){visitor2.visit(this),forEach_default(this.definition,prod=>{prod.accept(visitor2)})}},"AbstractProduction"),_i),NonTerminal=(__name(_j=class extends AbstractProduction{constructor(options){super([]),this.idx=1,assign_default(this,pickBy_default(options,v=>void 0!==v))}set definition(definition){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(visitor2){visitor2.visit(this)}},"NonTerminal"),_j),Rule=(__name(_k=class extends AbstractProduction{constructor(options){super(options.definition),this.orgText="",assign_default(this,pickBy_default(options,v=>void 0!==v))}},"Rule"),_k),Alternative=(__name(_l=class extends AbstractProduction{constructor(options){super(options.definition),this.ignoreAmbiguities=!1,assign_default(this,pickBy_default(options,v=>void 0!==v))}},"Alternative"),_l),Option=(__name(_m=class extends AbstractProduction{constructor(options){super(options.definition),this.idx=1,assign_default(this,pickBy_default(options,v=>void 0!==v))}},"Option"),_m),RepetitionMandatory=(__name(_n=class extends AbstractProduction{constructor(options){super(options.definition),this.idx=1,assign_default(this,pickBy_default(options,v=>void 0!==v))}},"RepetitionMandatory"),_n),RepetitionMandatoryWithSeparator=(__name(_o=class extends AbstractProduction{constructor(options){super(options.definition),this.idx=1,assign_default(this,pickBy_default(options,v=>void 0!==v))}},"RepetitionMandatoryWithSeparator"),_o),Repetition=(__name(_p=class extends AbstractProduction{constructor(options){super(options.definition),this.idx=1,assign_default(this,pickBy_default(options,v=>void 0!==v))}},"Repetition"),_p),RepetitionWithSeparator=(__name(_q=class extends AbstractProduction{constructor(options){super(options.definition),this.idx=1,assign_default(this,pickBy_default(options,v=>void 0!==v))}},"RepetitionWithSeparator"),_q),Alternation=(__name(_r=class extends AbstractProduction{get definition(){return this._definition}set definition(value){this._definition=value}constructor(options){super(options.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,assign_default(this,pickBy_default(options,v=>void 0!==v))}},"Alternation"),_r),Terminal=(__name(_s=class{constructor(options){this.idx=1,assign_default(this,pickBy_default(options,v=>void 0!==v))}accept(visitor2){visitor2.visit(this)}},"Terminal"),_s);function serializeGrammar(topRules){return map_default(topRules,serializeProduction)}function serializeProduction(node){function convertDefinition(definition){return map_default(definition,serializeProduction)}if(__name(convertDefinition,"convertDefinition"),node instanceof NonTerminal){const serializedNonTerminal={type:"NonTerminal",name:node.nonTerminalName,idx:node.idx};return isString_default(node.label)&&(serializedNonTerminal.label=node.label),serializedNonTerminal}if(node instanceof Alternative)return{type:"Alternative",definition:convertDefinition(node.definition)};if(node instanceof Option)return{type:"Option",idx:node.idx,definition:convertDefinition(node.definition)};if(node instanceof RepetitionMandatory)return{type:"RepetitionMandatory",idx:node.idx,definition:convertDefinition(node.definition)};if(node instanceof RepetitionMandatoryWithSeparator)return{type:"RepetitionMandatoryWithSeparator",idx:node.idx,separator:serializeProduction(new Terminal({terminalType:node.separator})),definition:convertDefinition(node.definition)};if(node instanceof RepetitionWithSeparator)return{type:"RepetitionWithSeparator",idx:node.idx,separator:serializeProduction(new Terminal({terminalType:node.separator})),definition:convertDefinition(node.definition)};if(node instanceof Repetition)return{type:"Repetition",idx:node.idx,definition:convertDefinition(node.definition)};if(node instanceof Alternation)return{type:"Alternation",idx:node.idx,definition:convertDefinition(node.definition)};if(node instanceof Terminal){const serializedTerminal={type:"Terminal",name:node.terminalType.name,label:tokenLabel(node.terminalType),idx:node.idx};isString_default(node.label)&&(serializedTerminal.terminalLabel=node.label);const pattern=node.terminalType.PATTERN;return node.terminalType.PATTERN&&(serializedTerminal.pattern=isRegExp_default(pattern)?pattern.source:pattern),serializedTerminal}if(node instanceof Rule)return{type:"Rule",name:node.name,orgText:node.orgText,definition:convertDefinition(node.definition)};throw Error("non exhaustive match")}__name(serializeGrammar,"serializeGrammar"),__name(serializeProduction,"serializeProduction");var GAstVisitor=(__name(_t=class{visit(node){const nodeAny=node;switch(nodeAny.constructor){case NonTerminal:return this.visitNonTerminal(nodeAny);case Alternative:return this.visitAlternative(nodeAny);case Option:return this.visitOption(nodeAny);case RepetitionMandatory:return this.visitRepetitionMandatory(nodeAny);case RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(nodeAny);case RepetitionWithSeparator:return this.visitRepetitionWithSeparator(nodeAny);case Repetition:return this.visitRepetition(nodeAny);case Alternation:return this.visitAlternation(nodeAny);case Terminal:return this.visitTerminal(nodeAny);case Rule:return this.visitRule(nodeAny);default:throw Error("non exhaustive match")}}visitNonTerminal(node){}visitAlternative(node){}visitOption(node){}visitRepetition(node){}visitRepetitionMandatory(node){}visitRepetitionMandatoryWithSeparator(node){}visitRepetitionWithSeparator(node){}visitAlternation(node){}visitTerminal(node){}visitRule(node){}},"GAstVisitor"),_t);function isSequenceProd(prod){return prod instanceof Alternative||prod instanceof Option||prod instanceof Repetition||prod instanceof RepetitionMandatory||prod instanceof RepetitionMandatoryWithSeparator||prod instanceof RepetitionWithSeparator||prod instanceof Terminal||prod instanceof Rule}function isOptionalProd(prod,alreadyVisited=[]){return!!(prod instanceof Option||prod instanceof Repetition||prod instanceof RepetitionWithSeparator)||(prod instanceof Alternation?some_default(prod.definition,subProd=>isOptionalProd(subProd,alreadyVisited)):!(prod instanceof NonTerminal&&includes_default(alreadyVisited,prod))&&(prod instanceof AbstractProduction&&(prod instanceof NonTerminal&&alreadyVisited.push(prod),every_default(prod.definition,subProd=>isOptionalProd(subProd,alreadyVisited)))))}function isBranchingProd(prod){return prod instanceof Alternation}function getProductionDslName(prod){if(prod instanceof NonTerminal)return"SUBRULE";if(prod instanceof Option)return"OPTION";if(prod instanceof Alternation)return"OR";if(prod instanceof RepetitionMandatory)return"AT_LEAST_ONE";if(prod instanceof RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(prod instanceof RepetitionWithSeparator)return"MANY_SEP";if(prod instanceof Repetition)return"MANY";if(prod instanceof Terminal)return"CONSUME";throw Error("non exhaustive match")}__name(isSequenceProd,"isSequenceProd"),__name(isOptionalProd,"isOptionalProd"),__name(isBranchingProd,"isBranchingProd"),__name(getProductionDslName,"getProductionDslName");var RestWalker=(__name(_u=class{walk(prod,prevRest=[]){forEach_default(prod.definition,(subProd,index)=>{const currRest=drop_default(prod.definition,index+1);if(subProd instanceof NonTerminal)this.walkProdRef(subProd,currRest,prevRest);else if(subProd instanceof Terminal)this.walkTerminal(subProd,currRest,prevRest);else if(subProd instanceof Alternative)this.walkFlat(subProd,currRest,prevRest);else if(subProd instanceof Option)this.walkOption(subProd,currRest,prevRest);else if(subProd instanceof RepetitionMandatory)this.walkAtLeastOne(subProd,currRest,prevRest);else if(subProd instanceof RepetitionMandatoryWithSeparator)this.walkAtLeastOneSep(subProd,currRest,prevRest);else if(subProd instanceof RepetitionWithSeparator)this.walkManySep(subProd,currRest,prevRest);else if(subProd instanceof Repetition)this.walkMany(subProd,currRest,prevRest);else{if(!(subProd instanceof Alternation))throw Error("non exhaustive match");this.walkOr(subProd,currRest,prevRest)}})}walkTerminal(terminal,currRest,prevRest){}walkProdRef(refProd,currRest,prevRest){}walkFlat(flatProd,currRest,prevRest){const fullOrRest=currRest.concat(prevRest);this.walk(flatProd,fullOrRest)}walkOption(optionProd,currRest,prevRest){const fullOrRest=currRest.concat(prevRest);this.walk(optionProd,fullOrRest)}walkAtLeastOne(atLeastOneProd,currRest,prevRest){const fullAtLeastOneRest=[new Option({definition:atLeastOneProd.definition})].concat(currRest,prevRest);this.walk(atLeastOneProd,fullAtLeastOneRest)}walkAtLeastOneSep(atLeastOneSepProd,currRest,prevRest){const fullAtLeastOneSepRest=restForRepetitionWithSeparator(atLeastOneSepProd,currRest,prevRest);this.walk(atLeastOneSepProd,fullAtLeastOneSepRest)}walkMany(manyProd,currRest,prevRest){const fullManyRest=[new Option({definition:manyProd.definition})].concat(currRest,prevRest);this.walk(manyProd,fullManyRest)}walkManySep(manySepProd,currRest,prevRest){const fullManySepRest=restForRepetitionWithSeparator(manySepProd,currRest,prevRest);this.walk(manySepProd,fullManySepRest)}walkOr(orProd,currRest,prevRest){const fullOrRest=currRest.concat(prevRest);forEach_default(orProd.definition,alt=>{const prodWrapper=new Alternative({definition:[alt]});this.walk(prodWrapper,fullOrRest)})}},"RestWalker"),_u);function restForRepetitionWithSeparator(repSepProd,currRest,prevRest){return[new Option({definition:[new Terminal({terminalType:repSepProd.separator})].concat(repSepProd.definition)})].concat(currRest,prevRest)}function first(prod){if(prod instanceof NonTerminal)return first(prod.referencedRule);if(prod instanceof Terminal)return firstForTerminal(prod);if(isSequenceProd(prod))return firstForSequence(prod);if(isBranchingProd(prod))return firstForBranching(prod);throw Error("non exhaustive match")}function firstForSequence(prod){let firstSet=[];const seq=prod.definition;let currSubProd,nextSubProdIdx=0,hasInnerProdsRemaining=seq.length>nextSubProdIdx,isLastInnerProdOptional=!0;for(;hasInnerProdsRemaining&&isLastInnerProdOptional;)currSubProd=seq[nextSubProdIdx],isLastInnerProdOptional=isOptionalProd(currSubProd),firstSet=firstSet.concat(first(currSubProd)),nextSubProdIdx+=1,hasInnerProdsRemaining=seq.length>nextSubProdIdx;return uniq_default(firstSet)}function firstForBranching(prod){const allAlternativesFirsts=map_default(prod.definition,innerProd=>first(innerProd));return uniq_default(flatten_default(allAlternativesFirsts))}function firstForTerminal(terminal){return[terminal.terminalType]}__name(restForRepetitionWithSeparator,"restForRepetitionWithSeparator"),__name(first,"first"),__name(firstForSequence,"firstForSequence"),__name(firstForBranching,"firstForBranching"),__name(firstForTerminal,"firstForTerminal");var ResyncFollowsWalker=(__name(_v=class extends RestWalker{constructor(topProd){super(),this.topProd=topProd,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(terminal,currRest,prevRest){}walkProdRef(refProd,currRest,prevRest){const followName=buildBetweenProdsFollowPrefix(refProd.referencedRule,refProd.idx)+this.topProd.name,fullRest=currRest.concat(prevRest),t_in_topProd_follows=first(new Alternative({definition:fullRest}));this.follows[followName]=t_in_topProd_follows}},"ResyncFollowsWalker"),_v);function computeAllProdsFollows(topProductions){const reSyncFollows={};return forEach_default(topProductions,topProd=>{const currRefsFollow=new ResyncFollowsWalker(topProd).startWalking();assign_default(reSyncFollows,currRefsFollow)}),reSyncFollows}function buildBetweenProdsFollowPrefix(inner,occurenceInParent){return inner.name+occurenceInParent+"_~IN~_"}__name(computeAllProdsFollows,"computeAllProdsFollows"),__name(buildBetweenProdsFollowPrefix,"buildBetweenProdsFollowPrefix");var regExpAstCache={},regExpParser=new RegExpParser;function getRegExpAst(regExp){const regExpStr=regExp.toString();if(regExpAstCache.hasOwnProperty(regExpStr))return regExpAstCache[regExpStr];{const regExpAst=regExpParser.pattern(regExpStr);return regExpAstCache[regExpStr]=regExpAst,regExpAst}}function clearRegExpParserCache(){regExpAstCache={}}__name(getRegExpAst,"getRegExpAst"),__name(clearRegExpParserCache,"clearRegExpParserCache");var failedOptimizationPrefixMsg='Unable to use "first char" lexer optimizations:\n';function getOptimizedStartCodesIndices(regExp,ensureOptimizations=!1){try{const ast=getRegExpAst(regExp);return firstCharOptimizedIndices(ast.value,{},ast.flags.ignoreCase)}catch(e){if("Complement Sets are not supported for first char optimization"===e.message)ensureOptimizations&&PRINT_WARNING(`${failedOptimizationPrefixMsg}\tUnable to optimize: < ${regExp.toString()} >\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let msgSuffix="";ensureOptimizations&&(msgSuffix="\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),PRINT_ERROR(`${failedOptimizationPrefixMsg}\n\tFailed parsing: < ${regExp.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues`+msgSuffix)}}return[]}function firstCharOptimizedIndices(ast,result,ignoreCase){switch(ast.type){case"Disjunction":for(let i=0;i<ast.value.length;i++)firstCharOptimizedIndices(ast.value[i],result,ignoreCase);break;case"Alternative":const terms=ast.value;for(let i=0;i<terms.length;i++){const term=terms[i];switch(term.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const atom2=term;switch(atom2.type){case"Character":addOptimizedIdxToResult(atom2.value,result,ignoreCase);break;case"Set":if(!0===atom2.complement)throw Error("Complement Sets are not supported for first char optimization");forEach_default(atom2.value,code=>{if("number"==typeof code)addOptimizedIdxToResult(code,result,ignoreCase);else{const range=code;if(!0===ignoreCase)for(let rangeCode=range.from;rangeCode<=range.to;rangeCode++)addOptimizedIdxToResult(rangeCode,result,ignoreCase);else{for(let rangeCode=range.from;rangeCode<=range.to&&rangeCode<minOptimizationVal;rangeCode++)addOptimizedIdxToResult(rangeCode,result,ignoreCase);if(range.to>=minOptimizationVal){const minUnOptVal=range.from>=minOptimizationVal?range.from:minOptimizationVal,maxUnOptVal=range.to,minOptIdx=charCodeToOptimizedIndex(minUnOptVal),maxOptIdx=charCodeToOptimizedIndex(maxUnOptVal);for(let currOptIdx=minOptIdx;currOptIdx<=maxOptIdx;currOptIdx++)result[currOptIdx]=currOptIdx}}}});break;case"Group":firstCharOptimizedIndices(atom2.value,result,ignoreCase);break;default:throw Error("Non Exhaustive Match")}const isOptionalQuantifier=void 0!==atom2.quantifier&&0===atom2.quantifier.atLeast;if("Group"===atom2.type&&!1===isWholeOptional(atom2)||"Group"!==atom2.type&&!1===isOptionalQuantifier)break}break;default:throw Error("non exhaustive match!")}return values_default(result)}function addOptimizedIdxToResult(code,result,ignoreCase){const optimizedCharIdx=charCodeToOptimizedIndex(code);result[optimizedCharIdx]=optimizedCharIdx,!0===ignoreCase&&handleIgnoreCase(code,result)}function handleIgnoreCase(code,result){const char=String.fromCharCode(code),upperChar=char.toUpperCase();if(upperChar!==char){const optimizedCharIdx=charCodeToOptimizedIndex(upperChar.charCodeAt(0));result[optimizedCharIdx]=optimizedCharIdx}else{const lowerChar=char.toLowerCase();if(lowerChar!==char){const optimizedCharIdx=charCodeToOptimizedIndex(lowerChar.charCodeAt(0));result[optimizedCharIdx]=optimizedCharIdx}}}function findCode(setNode,targetCharCodes){return find_default(setNode.value,codeOrRange=>{if("number"==typeof codeOrRange)return includes_default(targetCharCodes,codeOrRange);{const range=codeOrRange;return void 0!==find_default(targetCharCodes,targetCode=>range.from<=targetCode&&targetCode<=range.to)}})}function isWholeOptional(ast){const quantifier=ast.quantifier;return!(!quantifier||0!==quantifier.atLeast)||!!ast.value&&(isArray_default(ast.value)?every_default(ast.value,isWholeOptional):isWholeOptional(ast.value))}__name(getOptimizedStartCodesIndices,"getOptimizedStartCodesIndices"),__name(firstCharOptimizedIndices,"firstCharOptimizedIndices"),__name(addOptimizedIdxToResult,"addOptimizedIdxToResult"),__name(handleIgnoreCase,"handleIgnoreCase"),__name(findCode,"findCode"),__name(isWholeOptional,"isWholeOptional");var CharCodeFinder=(__name(_w=class extends BaseRegExpVisitor{constructor(targetCharCodes){super(),this.targetCharCodes=targetCharCodes,this.found=!1}visitChildren(node){if(!0!==this.found){switch(node.type){case"Lookahead":return void this.visitLookahead(node);case"NegativeLookahead":return void this.visitNegativeLookahead(node);case"Lookbehind":return void this.visitLookbehind(node);case"NegativeLookbehind":return void this.visitNegativeLookbehind(node)}super.visitChildren(node)}}visitCharacter(node){includes_default(this.targetCharCodes,node.value)&&(this.found=!0)}visitSet(node){node.complement?void 0===findCode(node,this.targetCharCodes)&&(this.found=!0):void 0!==findCode(node,this.targetCharCodes)&&(this.found=!0)}},"CharCodeFinder"),_w);function canMatchCharCode(charCodes,pattern){if(pattern instanceof RegExp){const ast=getRegExpAst(pattern),charCodeFinder=new CharCodeFinder(charCodes);return charCodeFinder.visit(ast),charCodeFinder.found}return void 0!==find_default(pattern,char=>includes_default(charCodes,char.charCodeAt(0)))}__name(canMatchCharCode,"canMatchCharCode");function analyzeTokenTypes(tokenTypes,options){const tracer=(options=defaults_default(options,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:__name((msg,action)=>action(),"tracer")})).tracer;let onlyRelevantTypes;tracer("initCharCodeToOptimizedIndexMap",()=>{initCharCodeToOptimizedIndexMap()}),tracer("Reject Lexer.NA",()=>{onlyRelevantTypes=reject_default(tokenTypes,currType=>currType.PATTERN===Lexer.NA)});let allTransformedPatterns,patternIdxToType,patternIdxToGroup,patternIdxToLongerAltIdxArr,patternIdxToPushMode,patternIdxToPopMode,patternIdxToCanLineTerminator,patternIdxToIsCustom,patternIdxToShort,emptyGroups,patternIdxToConfig,hasCustom=!1;tracer("Transform Patterns",()=>{hasCustom=!1,allTransformedPatterns=map_default(onlyRelevantTypes,currType=>{const currPattern=currType.PATTERN;if(isRegExp_default(currPattern)){const regExpSource=currPattern.source;return 1!==regExpSource.length||"^"===regExpSource||"$"===regExpSource||"."===regExpSource||currPattern.ignoreCase?2!==regExpSource.length||"\\"!==regExpSource[0]||includes_default(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],regExpSource[1])?addStickyFlag(currPattern):regExpSource[1]:regExpSource}if(isFunction_default(currPattern))return hasCustom=!0,{exec:currPattern};if("object"==typeof currPattern)return hasCustom=!0,currPattern;if("string"==typeof currPattern){if(1===currPattern.length)return currPattern;{const escapedRegExpString=currPattern.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&");return addStickyFlag(new RegExp(escapedRegExpString))}}throw Error("non exhaustive match")})}),tracer("misc mapping",()=>{patternIdxToType=map_default(onlyRelevantTypes,currType=>currType.tokenTypeIdx),patternIdxToGroup=map_default(onlyRelevantTypes,clazz=>{const groupName=clazz.GROUP;if(groupName!==Lexer.SKIPPED){if(isString_default(groupName))return groupName;if(isUndefined_default(groupName))return!1;throw Error("non exhaustive match")}}),patternIdxToLongerAltIdxArr=map_default(onlyRelevantTypes,clazz=>{const longerAltType=clazz.LONGER_ALT;if(longerAltType){return isArray_default(longerAltType)?map_default(longerAltType,type=>indexOf_default(onlyRelevantTypes,type)):[indexOf_default(onlyRelevantTypes,longerAltType)]}}),patternIdxToPushMode=map_default(onlyRelevantTypes,clazz=>clazz.PUSH_MODE),patternIdxToPopMode=map_default(onlyRelevantTypes,clazz=>has_default(clazz,"POP_MODE"))}),tracer("Line Terminator Handling",()=>{const lineTerminatorCharCodes=getCharCodes(options.lineTerminatorCharacters);patternIdxToCanLineTerminator=map_default(onlyRelevantTypes,tokType=>!1),"onlyOffset"!==options.positionTracking&&(patternIdxToCanLineTerminator=map_default(onlyRelevantTypes,tokType=>has_default(tokType,"LINE_BREAKS")?!!tokType.LINE_BREAKS:!1===checkLineBreaksIssues(tokType,lineTerminatorCharCodes)&&canMatchCharCode(lineTerminatorCharCodes,tokType.PATTERN)))}),tracer("Misc Mapping #2",()=>{patternIdxToIsCustom=map_default(onlyRelevantTypes,isCustomPattern),patternIdxToShort=map_default(allTransformedPatterns,isShortPattern),emptyGroups=reduce_default(onlyRelevantTypes,(acc,clazz)=>{const groupName=clazz.GROUP;return isString_default(groupName)&&groupName!==Lexer.SKIPPED&&(acc[groupName]=[]),acc},{}),patternIdxToConfig=map_default(allTransformedPatterns,(x,idx)=>({pattern:allTransformedPatterns[idx],longerAlt:patternIdxToLongerAltIdxArr[idx],canLineTerminator:patternIdxToCanLineTerminator[idx],isCustom:patternIdxToIsCustom[idx],short:patternIdxToShort[idx],group:patternIdxToGroup[idx],push:patternIdxToPushMode[idx],pop:patternIdxToPopMode[idx],tokenTypeIdx:patternIdxToType[idx],tokenType:onlyRelevantTypes[idx]}))});let canBeOptimized=!0,charCodeToPatternIdxToConfig=[];return options.safeMode||tracer("First Char Optimization",()=>{charCodeToPatternIdxToConfig=reduce_default(onlyRelevantTypes,(result,currTokType,idx)=>{if("string"==typeof currTokType.PATTERN){const optimizedIdx=charCodeToOptimizedIndex(currTokType.PATTERN.charCodeAt(0));addToMapOfArrays(result,optimizedIdx,patternIdxToConfig[idx])}else if(isArray_default(currTokType.START_CHARS_HINT)){let lastOptimizedIdx;forEach_default(currTokType.START_CHARS_HINT,charOrInt=>{const currOptimizedIdx=charCodeToOptimizedIndex("string"==typeof charOrInt?charOrInt.charCodeAt(0):charOrInt);lastOptimizedIdx!==currOptimizedIdx&&(lastOptimizedIdx=currOptimizedIdx,addToMapOfArrays(result,currOptimizedIdx,patternIdxToConfig[idx]))})}else if(isRegExp_default(currTokType.PATTERN))if(currTokType.PATTERN.unicode)canBeOptimized=!1,options.ensureOptimizations&&PRINT_ERROR(`${failedOptimizationPrefixMsg}\tUnable to analyze < ${currTokType.PATTERN.toString()} > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const optimizedCodes=getOptimizedStartCodesIndices(currTokType.PATTERN,options.ensureOptimizations);isEmpty_default(optimizedCodes)&&(canBeOptimized=!1),forEach_default(optimizedCodes,code=>{addToMapOfArrays(result,code,patternIdxToConfig[idx])})}else options.ensureOptimizations&&PRINT_ERROR(`${failedOptimizationPrefixMsg}\tTokenType: <${currTokType.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),canBeOptimized=!1;return result},[])}),{emptyGroups:emptyGroups,patternIdxToConfig:patternIdxToConfig,charCodeToPatternIdxToConfig:charCodeToPatternIdxToConfig,hasCustom:hasCustom,canBeOptimized:canBeOptimized}}function validatePatterns(tokenTypes,validModesNames){let errors=[];const missingResult=findMissingPatterns(tokenTypes);errors=errors.concat(missingResult.errors);const invalidResult=findInvalidPatterns(missingResult.valid),validTokenTypes=invalidResult.valid;return errors=errors.concat(invalidResult.errors),errors=errors.concat(validateRegExpPattern(validTokenTypes)),errors=errors.concat(findInvalidGroupType(validTokenTypes)),errors=errors.concat(findModesThatDoNotExist(validTokenTypes,validModesNames)),errors=errors.concat(findUnreachablePatterns(validTokenTypes)),errors}function validateRegExpPattern(tokenTypes){let errors=[];const withRegExpPatterns=filter_default(tokenTypes,currTokType=>isRegExp_default(currTokType.PATTERN));return errors=errors.concat(findEndOfInputAnchor(withRegExpPatterns)),errors=errors.concat(findStartOfInputAnchor(withRegExpPatterns)),errors=errors.concat(findUnsupportedFlags(withRegExpPatterns)),errors=errors.concat(findDuplicatePatterns(withRegExpPatterns)),errors=errors.concat(findEmptyMatchRegExps(withRegExpPatterns)),errors}function findMissingPatterns(tokenTypes){const tokenTypesWithMissingPattern=filter_default(tokenTypes,currType=>!has_default(currType,"PATTERN"));return{errors:map_default(tokenTypesWithMissingPattern,currType=>({message:"Token Type: ->"+currType.name+"<- missing static 'PATTERN' property",type:LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[currType]})),valid:difference_default(tokenTypes,tokenTypesWithMissingPattern)}}function findInvalidPatterns(tokenTypes){const tokenTypesWithInvalidPattern=filter_default(tokenTypes,currType=>{const pattern=currType.PATTERN;return!(isRegExp_default(pattern)||isFunction_default(pattern)||has_default(pattern,"exec")||isString_default(pattern))});return{errors:map_default(tokenTypesWithInvalidPattern,currType=>({message:"Token Type: ->"+currType.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[currType]})),valid:difference_default(tokenTypes,tokenTypesWithInvalidPattern)}}__name(analyzeTokenTypes,"analyzeTokenTypes"),__name(validatePatterns,"validatePatterns"),__name(validateRegExpPattern,"validateRegExpPattern"),__name(findMissingPatterns,"findMissingPatterns"),__name(findInvalidPatterns,"findInvalidPatterns");var end_of_input=/[^\\][$]/;function findEndOfInputAnchor(tokenTypes){const _EndAnchorFinder=class extends BaseRegExpVisitor{constructor(){super(...arguments),this.found=!1}visitEndAnchor(node){this.found=!0}};__name(_EndAnchorFinder,"EndAnchorFinder");let EndAnchorFinder=_EndAnchorFinder;const invalidRegex=filter_default(tokenTypes,currType=>{const pattern=currType.PATTERN;try{const regexpAst=getRegExpAst(pattern),endAnchorVisitor=new EndAnchorFinder;return endAnchorVisitor.visit(regexpAst),endAnchorVisitor.found}catch(e){return end_of_input.test(pattern.source)}});return map_default(invalidRegex,currType=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+currType.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[currType]}))}function findEmptyMatchRegExps(tokenTypes){const matchesEmptyString=filter_default(tokenTypes,currType=>currType.PATTERN.test(""));return map_default(matchesEmptyString,currType=>({message:"Token Type: ->"+currType.name+"<- static 'PATTERN' must not match an empty string",type:LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[currType]}))}__name(findEndOfInputAnchor,"findEndOfInputAnchor"),__name(findEmptyMatchRegExps,"findEmptyMatchRegExps");var start_of_input=/[^\\[][\^]|^\^/;function findStartOfInputAnchor(tokenTypes){const _StartAnchorFinder=class extends BaseRegExpVisitor{constructor(){super(...arguments),this.found=!1}visitStartAnchor(node){this.found=!0}};__name(_StartAnchorFinder,"StartAnchorFinder");let StartAnchorFinder=_StartAnchorFinder;const invalidRegex=filter_default(tokenTypes,currType=>{const pattern=currType.PATTERN;try{const regexpAst=getRegExpAst(pattern),startAnchorVisitor=new StartAnchorFinder;return startAnchorVisitor.visit(regexpAst),startAnchorVisitor.found}catch(e){return start_of_input.test(pattern.source)}});return map_default(invalidRegex,currType=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+currType.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[currType]}))}function findUnsupportedFlags(tokenTypes){const invalidFlags=filter_default(tokenTypes,currType=>{const pattern=currType.PATTERN;return pattern instanceof RegExp&&(pattern.multiline||pattern.global)});return map_default(invalidFlags,currType=>({message:"Token Type: ->"+currType.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[currType]}))}function findDuplicatePatterns(tokenTypes){const found=[];let identicalPatterns=map_default(tokenTypes,outerType=>reduce_default(tokenTypes,(result,innerType)=>(outerType.PATTERN.source!==innerType.PATTERN.source||includes_default(found,innerType)||innerType.PATTERN===Lexer.NA||(found.push(innerType),result.push(innerType)),result),[]));identicalPatterns=compact_default(identicalPatterns);const duplicatePatterns=filter_default(identicalPatterns,currIdenticalSet=>currIdenticalSet.length>1);return map_default(duplicatePatterns,setOfIdentical=>{const tokenTypeNames=map_default(setOfIdentical,currType=>currType.name);return{message:`The same RegExp pattern ->${head_default(setOfIdentical).PATTERN}<-has been used in all of the following Token Types: ${tokenTypeNames.join(", ")} <-`,type:LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:setOfIdentical}})}function findInvalidGroupType(tokenTypes){const invalidTypes=filter_default(tokenTypes,clazz=>{if(!has_default(clazz,"GROUP"))return!1;const group=clazz.GROUP;return group!==Lexer.SKIPPED&&group!==Lexer.NA&&!isString_default(group)});return map_default(invalidTypes,currType=>({message:"Token Type: ->"+currType.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[currType]}))}function findModesThatDoNotExist(tokenTypes,validModes){const invalidModes=filter_default(tokenTypes,clazz=>void 0!==clazz.PUSH_MODE&&!includes_default(validModes,clazz.PUSH_MODE));return map_default(invalidModes,tokType=>({message:`Token Type: ->${tokType.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${tokType.PUSH_MODE}<-which does not exist`,type:LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[tokType]}))}function findUnreachablePatterns(tokenTypes){const errors=[],canBeTested=reduce_default(tokenTypes,(result,tokType,idx)=>{const pattern=tokType.PATTERN;return pattern===Lexer.NA||(isString_default(pattern)?result.push({str:pattern,idx:idx,tokenType:tokType}):isRegExp_default(pattern)&&noMetaChar(pattern)&&result.push({str:pattern.source,idx:idx,tokenType:tokType})),result},[]);return forEach_default(tokenTypes,(aTokType,aIdx)=>{forEach_default(canBeTested,({str:bStr,idx:bIdx,tokenType:bTokType})=>{if(aIdx<bIdx&&tryToMatchStrToPattern(bStr,aTokType.PATTERN)){const msg=`Token: ->${bTokType.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${aTokType.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;errors.push({message:msg,type:LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[aTokType,bTokType]})}})}),errors}function tryToMatchStrToPattern(str,pattern){if(isRegExp_default(pattern)){if(usesLookAheadOrBehind(pattern))return!1;const regExpArray=pattern.exec(str);return null!==regExpArray&&0===regExpArray.index}if(isFunction_default(pattern))return pattern(str,0,[],{});if(has_default(pattern,"exec"))return pattern.exec(str,0,[],{});if("string"==typeof pattern)return pattern===str;throw Error("non exhaustive match")}function noMetaChar(regExp){return void 0===find_default([".","\\","[","]","|","^","$","(",")","?","*","+","{"],char=>-1!==regExp.source.indexOf(char))}function usesLookAheadOrBehind(regExp){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(regExp.source)}function addStickyFlag(pattern){const flags=pattern.ignoreCase?"iy":"y";return new RegExp(`${pattern.source}`,flags)}function performRuntimeChecks(lexerDefinition,trackLines,lineTerminatorCharacters){const errors=[];return has_default(lexerDefinition,"defaultMode")||errors.push({message:"A MultiMode Lexer cannot be initialized without a <defaultMode> property in its definition\n",type:LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),has_default(lexerDefinition,"modes")||errors.push({message:"A MultiMode Lexer cannot be initialized without a <modes> property in its definition\n",type:LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),has_default(lexerDefinition,"modes")&&has_default(lexerDefinition,"defaultMode")&&!has_default(lexerDefinition.modes,lexerDefinition.defaultMode)&&errors.push({message:`A MultiMode Lexer cannot be initialized with a defaultMode: <${lexerDefinition.defaultMode}>which does not exist\n`,type:LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),has_default(lexerDefinition,"modes")&&forEach_default(lexerDefinition.modes,(currModeValue,currModeName)=>{forEach_default(currModeValue,(currTokType,currIdx)=>{if(isUndefined_default(currTokType))errors.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${currModeName}> at index: <${currIdx}>\n`,type:LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(has_default(currTokType,"LONGER_ALT")){const longerAlt=isArray_default(currTokType.LONGER_ALT)?currTokType.LONGER_ALT:[currTokType.LONGER_ALT];forEach_default(longerAlt,currLongerAlt=>{isUndefined_default(currLongerAlt)||includes_default(currModeValue,currLongerAlt)||errors.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${currLongerAlt.name}> on token <${currTokType.name}> outside of mode <${currModeName}>\n`,type:LexerDefinitionErrorType.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),errors}function performWarningRuntimeChecks(lexerDefinition,trackLines,lineTerminatorCharacters){const warnings=[];let hasAnyLineBreak=!1;const allTokenTypes=compact_default(flatten_default(values_default(lexerDefinition.modes))),concreteTokenTypes=reject_default(allTokenTypes,currType=>currType.PATTERN===Lexer.NA),terminatorCharCodes=getCharCodes(lineTerminatorCharacters);return trackLines&&forEach_default(concreteTokenTypes,tokType=>{const currIssue=checkLineBreaksIssues(tokType,terminatorCharCodes);if(!1!==currIssue){const warningDescriptor={message:buildLineBreakIssueMessage(tokType,currIssue),type:currIssue.issue,tokenType:tokType};warnings.push(warningDescriptor)}else has_default(tokType,"LINE_BREAKS")?!0===tokType.LINE_BREAKS&&(hasAnyLineBreak=!0):canMatchCharCode(terminatorCharCodes,tokType.PATTERN)&&(hasAnyLineBreak=!0)}),trackLines&&!hasAnyLineBreak&&warnings.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),warnings}function cloneEmptyGroups(emptyGroups){const clonedResult={},groupKeys=keys_default(emptyGroups);return forEach_default(groupKeys,currKey=>{const currGroupValue=emptyGroups[currKey];if(!isArray_default(currGroupValue))throw Error("non exhaustive match");clonedResult[currKey]=[]}),clonedResult}function isCustomPattern(tokenType){const pattern=tokenType.PATTERN;if(isRegExp_default(pattern))return!1;if(isFunction_default(pattern))return!0;if(has_default(pattern,"exec"))return!0;if(isString_default(pattern))return!1;throw Error("non exhaustive match")}function isShortPattern(pattern){return!(!isString_default(pattern)||1!==pattern.length)&&pattern.charCodeAt(0)}__name(findStartOfInputAnchor,"findStartOfInputAnchor"),__name(findUnsupportedFlags,"findUnsupportedFlags"),__name(findDuplicatePatterns,"findDuplicatePatterns"),__name(findInvalidGroupType,"findInvalidGroupType"),__name(findModesThatDoNotExist,"findModesThatDoNotExist"),__name(findUnreachablePatterns,"findUnreachablePatterns"),__name(tryToMatchStrToPattern,"tryToMatchStrToPattern"),__name(noMetaChar,"noMetaChar"),__name(usesLookAheadOrBehind,"usesLookAheadOrBehind"),__name(addStickyFlag,"addStickyFlag"),__name(performRuntimeChecks,"performRuntimeChecks"),__name(performWarningRuntimeChecks,"performWarningRuntimeChecks"),__name(cloneEmptyGroups,"cloneEmptyGroups"),__name(isCustomPattern,"isCustomPattern"),__name(isShortPattern,"isShortPattern");var LineTerminatorOptimizedTester={test:__name(function(text){const len=text.length;for(let i=this.lastIndex;i<len;i++){const c=text.charCodeAt(i);if(10===c)return this.lastIndex=i+1,!0;if(13===c)return 10===text.charCodeAt(i+1)?this.lastIndex=i+2:this.lastIndex=i+1,!0}return!1},"test"),lastIndex:0};function checkLineBreaksIssues(tokType,lineTerminatorCharCodes){if(has_default(tokType,"LINE_BREAKS"))return!1;if(isRegExp_default(tokType.PATTERN)){try{canMatchCharCode(lineTerminatorCharCodes,tokType.PATTERN)}catch(e){return{issue:LexerDefinitionErrorType.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(isString_default(tokType.PATTERN))return!1;if(isCustomPattern(tokType))return{issue:LexerDefinitionErrorType.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function buildLineBreakIssueMessage(tokType,details){if(details.issue===LexerDefinitionErrorType.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${tokType.name}> Token Type\n\t Root cause: ${details.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(details.issue===LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n\tThe problem is in the <${tokType.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function getCharCodes(charsOrCodes){return map_default(charsOrCodes,numOrString=>isString_default(numOrString)?numOrString.charCodeAt(0):numOrString)}function addToMapOfArrays(map3,key,value){void 0===map3[key]?map3[key]=[value]:map3[key].push(value)}__name(checkLineBreaksIssues,"checkLineBreaksIssues"),__name(buildLineBreakIssueMessage,"buildLineBreakIssueMessage"),__name(getCharCodes,"getCharCodes"),__name(addToMapOfArrays,"addToMapOfArrays");var minOptimizationVal=256,charCodeToOptimizedIdxMap=[];function charCodeToOptimizedIndex(charCode){return charCode<minOptimizationVal?charCode:charCodeToOptimizedIdxMap[charCode]}function initCharCodeToOptimizedIndexMap(){if(isEmpty_default(charCodeToOptimizedIdxMap)){charCodeToOptimizedIdxMap=new Array(65536);for(let i=0;i<65536;i++)charCodeToOptimizedIdxMap[i]=i>255?255+~~(i/255):i}}function tokenStructuredMatcher(tokInstance,tokConstructor){const instanceType=tokInstance.tokenTypeIdx;return instanceType===tokConstructor.tokenTypeIdx||!0===tokConstructor.isParent&&!0===tokConstructor.categoryMatchesMap[instanceType]}function tokenStructuredMatcherNoCategories(token,tokType){return token.tokenTypeIdx===tokType.tokenTypeIdx}__name(charCodeToOptimizedIndex,"charCodeToOptimizedIndex"),__name(initCharCodeToOptimizedIndexMap,"initCharCodeToOptimizedIndexMap"),__name(tokenStructuredMatcher,"tokenStructuredMatcher"),__name(tokenStructuredMatcherNoCategories,"tokenStructuredMatcherNoCategories");var tokenShortNameIdx=1,tokenIdxToClass={};function augmentTokenTypes(tokenTypes){const tokenTypesAndParents=expandCategories(tokenTypes);assignTokenDefaultProps(tokenTypesAndParents),assignCategoriesMapProp(tokenTypesAndParents),assignCategoriesTokensProp(tokenTypesAndParents),forEach_default(tokenTypesAndParents,tokType=>{tokType.isParent=tokType.categoryMatches.length>0})}function expandCategories(tokenTypes){let result=clone_default(tokenTypes),categories=tokenTypes,searching=!0;for(;searching;){categories=compact_default(flatten_default(map_default(categories,currTokType=>currTokType.CATEGORIES)));const newCategories=difference_default(categories,result);result=result.concat(newCategories),isEmpty_default(newCategories)?searching=!1:categories=newCategories}return result}function assignTokenDefaultProps(tokenTypes){forEach_default(tokenTypes,currTokType=>{hasShortKeyProperty(currTokType)||(tokenIdxToClass[tokenShortNameIdx]=currTokType,currTokType.tokenTypeIdx=tokenShortNameIdx++),hasCategoriesProperty(currTokType)&&!isArray_default(currTokType.CATEGORIES)&&(currTokType.CATEGORIES=[currTokType.CATEGORIES]),hasCategoriesProperty(currTokType)||(currTokType.CATEGORIES=[]),hasExtendingTokensTypesProperty(currTokType)||(currTokType.categoryMatches=[]),hasExtendingTokensTypesMapProperty(currTokType)||(currTokType.categoryMatchesMap={})})}function assignCategoriesTokensProp(tokenTypes){forEach_default(tokenTypes,currTokType=>{currTokType.categoryMatches=[],forEach_default(currTokType.categoryMatchesMap,(val,key)=>{currTokType.categoryMatches.push(tokenIdxToClass[key].tokenTypeIdx)})})}function assignCategoriesMapProp(tokenTypes){forEach_default(tokenTypes,currTokType=>{singleAssignCategoriesToksMap([],currTokType)})}function singleAssignCategoriesToksMap(path,nextNode){forEach_default(path,pathNode=>{nextNode.categoryMatchesMap[pathNode.tokenTypeIdx]=!0}),forEach_default(nextNode.CATEGORIES,nextCategory=>{const newPath=path.concat(nextNode);includes_default(newPath,nextCategory)||singleAssignCategoriesToksMap(newPath,nextCategory)})}function hasShortKeyProperty(tokType){return has_default(tokType,"tokenTypeIdx")}function hasCategoriesProperty(tokType){return has_default(tokType,"CATEGORIES")}function hasExtendingTokensTypesProperty(tokType){return has_default(tokType,"categoryMatches")}function hasExtendingTokensTypesMapProperty(tokType){return has_default(tokType,"categoryMatchesMap")}function isTokenType(tokType){return has_default(tokType,"tokenTypeIdx")}__name(augmentTokenTypes,"augmentTokenTypes"),__name(expandCategories,"expandCategories"),__name(assignTokenDefaultProps,"assignTokenDefaultProps"),__name(assignCategoriesTokensProp,"assignCategoriesTokensProp"),__name(assignCategoriesMapProp,"assignCategoriesMapProp"),__name(singleAssignCategoriesToksMap,"singleAssignCategoriesToksMap"),__name(hasShortKeyProperty,"hasShortKeyProperty"),__name(hasCategoriesProperty,"hasCategoriesProperty"),__name(hasExtendingTokensTypesProperty,"hasExtendingTokensTypesProperty"),__name(hasExtendingTokensTypesMapProperty,"hasExtendingTokensTypesMapProperty"),__name(isTokenType,"isTokenType");var LexerDefinitionErrorType,LexerDefinitionErrorType2,defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:token=>`Unable to pop Lexer Mode after encountering Token ->${token.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(fullText,startOffset,length,line,column,mode)=>`unexpected character: ->${fullText.charAt(startOffset)}<- at offset: ${startOffset}, skipped ${length} characters.`};(LexerDefinitionErrorType2=LexerDefinitionErrorType||(LexerDefinitionErrorType={}))[LexerDefinitionErrorType2.MISSING_PATTERN=0]="MISSING_PATTERN",LexerDefinitionErrorType2[LexerDefinitionErrorType2.INVALID_PATTERN=1]="INVALID_PATTERN",LexerDefinitionErrorType2[LexerDefinitionErrorType2.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",LexerDefinitionErrorType2[LexerDefinitionErrorType2.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",LexerDefinitionErrorType2[LexerDefinitionErrorType2.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",LexerDefinitionErrorType2[LexerDefinitionErrorType2.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",LexerDefinitionErrorType2[LexerDefinitionErrorType2.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",LexerDefinitionErrorType2[LexerDefinitionErrorType2.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",LexerDefinitionErrorType2[LexerDefinitionErrorType2.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",LexerDefinitionErrorType2[LexerDefinitionErrorType2.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",LexerDefinitionErrorType2[LexerDefinitionErrorType2.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",LexerDefinitionErrorType2[LexerDefinitionErrorType2.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",LexerDefinitionErrorType2[LexerDefinitionErrorType2.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",LexerDefinitionErrorType2[LexerDefinitionErrorType2.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",LexerDefinitionErrorType2[LexerDefinitionErrorType2.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",LexerDefinitionErrorType2[LexerDefinitionErrorType2.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",LexerDefinitionErrorType2[LexerDefinitionErrorType2.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",LexerDefinitionErrorType2[LexerDefinitionErrorType2.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";var DEFAULT_LEXER_CONFIG={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(DEFAULT_LEXER_CONFIG);var Lexer=(_x=class{constructor(lexerDefinition,config=DEFAULT_LEXER_CONFIG){if(this.lexerDefinition=lexerDefinition,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=(phaseDesc,phaseImpl)=>{if(!0===this.traceInitPerf){this.traceInitIndent++;const indent=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${indent}--\x3e <${phaseDesc}>`);const{time:time,value:value}=timer(phaseImpl),traceMethod=time>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&traceMethod(`${indent}<-- <${phaseDesc}> time: ${time}ms`),this.traceInitIndent--,value}return phaseImpl()},"boolean"==typeof config)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=assign_default({},DEFAULT_LEXER_CONFIG,config);const traceInitVal=this.config.traceInitPerf;!0===traceInitVal?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof traceInitVal&&(this.traceInitMaxIdent=traceInitVal,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let actualDefinition,hasOnlySingleMode=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===DEFAULT_LEXER_CONFIG.lineTerminatorsPattern)this.config.lineTerminatorsPattern=LineTerminatorOptimizedTester;else if(this.config.lineTerminatorCharacters===DEFAULT_LEXER_CONFIG.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(config.safeMode&&config.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),isArray_default(lexerDefinition)?actualDefinition={modes:{defaultMode:clone_default(lexerDefinition)},defaultMode:"defaultMode"}:(hasOnlySingleMode=!1,actualDefinition=clone_default(lexerDefinition))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(performRuntimeChecks(actualDefinition,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(performWarningRuntimeChecks(actualDefinition,this.trackStartLines,this.config.lineTerminatorCharacters))})),actualDefinition.modes=actualDefinition.modes?actualDefinition.modes:{},forEach_default(actualDefinition.modes,(currModeValue,currModeName)=>{actualDefinition.modes[currModeName]=reject_default(currModeValue,currTokType=>isUndefined_default(currTokType))});const allModeNames=keys_default(actualDefinition.modes);if(forEach_default(actualDefinition.modes,(currModDef,currModName)=>{this.TRACE_INIT(`Mode: <${currModName}> processing`,()=>{if(this.modes.push(currModName),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(validatePatterns(currModDef,allModeNames))}),isEmpty_default(this.lexerDefinitionErrors)){let currAnalyzeResult;augmentTokenTypes(currModDef),this.TRACE_INIT("analyzeTokenTypes",()=>{currAnalyzeResult=analyzeTokenTypes(currModDef,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:config.positionTracking,ensureOptimizations:config.ensureOptimizations,safeMode:config.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[currModName]=currAnalyzeResult.patternIdxToConfig,this.charCodeToPatternIdxToConfig[currModName]=currAnalyzeResult.charCodeToPatternIdxToConfig,this.emptyGroups=assign_default({},this.emptyGroups,currAnalyzeResult.emptyGroups),this.hasCustom=currAnalyzeResult.hasCustom||this.hasCustom,this.canModeBeOptimized[currModName]=currAnalyzeResult.canBeOptimized}})}),this.defaultMode=actualDefinition.defaultMode,!isEmpty_default(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const allErrMessagesString=map_default(this.lexerDefinitionErrors,error=>error.message).join("-----------------------\n");throw new Error("Errors detected in definition of Lexer:\n"+allErrMessagesString)}forEach_default(this.lexerDefinitionWarning,warningDescriptor=>{PRINT_WARNING(warningDescriptor.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(hasOnlySingleMode&&(this.handleModes=noop_default),!1===this.trackStartLines&&(this.computeNewColumn=identity_default),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=noop_default),/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))throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}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 unOptimizedModes=reduce_default(this.canModeBeOptimized,(cannotBeOptimized,canBeOptimized,modeName)=>(!1===canBeOptimized&&cannotBeOptimized.push(modeName),cannotBeOptimized),[]);if(config.ensureOptimizations&&!isEmpty_default(unOptimizedModes))throw Error(`Lexer Modes: < ${unOptimizedModes.join(", ")} > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{clearRegExpParserCache()}),this.TRACE_INIT("toFastProperties",()=>{toFastProperties(this)})})}tokenize(text,initialMode=this.defaultMode){if(!isEmpty_default(this.lexerDefinitionErrors)){const allErrMessagesString=map_default(this.lexerDefinitionErrors,error=>error.message).join("-----------------------\n");throw new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+allErrMessagesString)}return this.tokenizeInternal(text,initialMode)}tokenizeInternal(text,initialMode){let i,j,k,matchAltImage,longerAlt,matchedImage,payload,altPayload,imageLength,group,tokType,newToken,errLength,msg,match;const orgText=text,orgLength=orgText.length;let offset=0,matchedTokensIndex=0;const guessedNumberOfTokens=this.hasCustom?0:Math.floor(text.length/10),matchedTokens=new Array(guessedNumberOfTokens),errors=[];let line=this.trackStartLines?1:void 0,column=this.trackStartLines?1:void 0;const groups=cloneEmptyGroups(this.emptyGroups),trackLines=this.trackStartLines,lineTerminatorPattern=this.config.lineTerminatorsPattern;let currModePatternsLength=0,patternIdxToConfig=[],currCharCodeToPatternIdxToConfig=[];const modeStack=[],emptyArray=[];Object.freeze(emptyArray);let isOptimizedMode=!1;const pop_mode=__name(popToken=>{if(1===modeStack.length&&void 0===popToken.tokenType.PUSH_MODE){const msg2=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(popToken);errors.push({offset:popToken.startOffset,line:popToken.startLine,column:popToken.startColumn,length:popToken.image.length,message:msg2})}else{modeStack.pop();const newMode=last_default(modeStack);patternIdxToConfig=this.patternIdxToConfig[newMode],currCharCodeToPatternIdxToConfig=this.charCodeToPatternIdxToConfig[newMode],currModePatternsLength=patternIdxToConfig.length;const modeCanBeOptimized=this.canModeBeOptimized[newMode]&&!1===this.config.safeMode;isOptimizedMode=!(!currCharCodeToPatternIdxToConfig||!modeCanBeOptimized)}},"pop_mode");function push_mode(newMode){modeStack.push(newMode),currCharCodeToPatternIdxToConfig=this.charCodeToPatternIdxToConfig[newMode],patternIdxToConfig=this.patternIdxToConfig[newMode],currModePatternsLength=patternIdxToConfig.length,currModePatternsLength=patternIdxToConfig.length;const modeCanBeOptimized=this.canModeBeOptimized[newMode]&&!1===this.config.safeMode;isOptimizedMode=!(!currCharCodeToPatternIdxToConfig||!modeCanBeOptimized)}let currConfig;__name(push_mode,"push_mode"),push_mode.call(this,initialMode);const recoveryEnabled=this.config.recoveryEnabled;for(;offset<orgLength;){matchedImage=null,imageLength=-1;const nextCharCode=orgText.charCodeAt(offset);let chosenPatternIdxToConfig;if(isOptimizedMode){const optimizedCharIdx=charCodeToOptimizedIndex(nextCharCode),possiblePatterns=currCharCodeToPatternIdxToConfig[optimizedCharIdx];chosenPatternIdxToConfig=void 0!==possiblePatterns?possiblePatterns:emptyArray}else chosenPatternIdxToConfig=patternIdxToConfig;const chosenPatternsLength=chosenPatternIdxToConfig.length;for(i=0;i<chosenPatternsLength;i++){currConfig=chosenPatternIdxToConfig[i];const currPattern=currConfig.pattern;payload=null;const singleCharCode=currConfig.short;if(!1!==singleCharCode?nextCharCode===singleCharCode&&(imageLength=1,matchedImage=currPattern):!0===currConfig.isCustom?(match=currPattern.exec(orgText,offset,matchedTokens,groups),null!==match?(matchedImage=match[0],imageLength=matchedImage.length,void 0!==match.payload&&(payload=match.payload)):matchedImage=null):(currPattern.lastIndex=offset,imageLength=this.matchLength(currPattern,text,offset)),-1!==imageLength){if(longerAlt=currConfig.longerAlt,void 0!==longerAlt){matchedImage=text.substring(offset,offset+imageLength);const longerAltLength=longerAlt.length;for(k=0;k<longerAltLength;k++){const longerAltConfig=patternIdxToConfig[longerAlt[k]],longerAltPattern=longerAltConfig.pattern;if(altPayload=null,!0===longerAltConfig.isCustom?(match=longerAltPattern.exec(orgText,offset,matchedTokens,groups),null!==match?(matchAltImage=match[0],void 0!==match.payload&&(altPayload=match.payload)):matchAltImage=null):(longerAltPattern.lastIndex=offset,matchAltImage=this.match(longerAltPattern,text,offset)),matchAltImage&&matchAltImage.length>matchedImage.length){matchedImage=matchAltImage,imageLength=matchAltImage.length,payload=altPayload,currConfig=longerAltConfig;break}}}break}}if(-1!==imageLength){if(group=currConfig.group,void 0!==group&&(matchedImage=null!==matchedImage?matchedImage:text.substring(offset,offset+imageLength),tokType=currConfig.tokenTypeIdx,newToken=this.createTokenInstance(matchedImage,offset,tokType,currConfig.tokenType,line,column,imageLength),this.handlePayload(newToken,payload),!1===group?matchedTokensIndex=this.addToken(matchedTokens,matchedTokensIndex,newToken):groups[group].push(newToken)),!0===trackLines&&!0===currConfig.canLineTerminator){let foundTerminator,lastLTEndOffset,numOfLTsInMatch=0;lineTerminatorPattern.lastIndex=0;do{matchedImage=null!==matchedImage?matchedImage:text.substring(offset,offset+imageLength),foundTerminator=lineTerminatorPattern.test(matchedImage),!0===foundTerminator&&(lastLTEndOffset=lineTerminatorPattern.lastIndex-1,numOfLTsInMatch++)}while(!0===foundTerminator);0!==numOfLTsInMatch?(line+=numOfLTsInMatch,column=imageLength-lastLTEndOffset,this.updateTokenEndLineColumnLocation(newToken,group,lastLTEndOffset,numOfLTsInMatch,line,column,imageLength)):column=this.computeNewColumn(column,imageLength)}else column=this.computeNewColumn(column,imageLength);offset+=imageLength,this.handleModes(currConfig,pop_mode,push_mode,newToken)}else{const errorStartOffset=offset,errorLine=line,errorColumn=column;let foundResyncPoint=!1===recoveryEnabled;for(;!1===foundResyncPoint&&offset<orgLength;)for(offset++,j=0;j<currModePatternsLength;j++){const currConfig2=patternIdxToConfig[j],currPattern=currConfig2.pattern,singleCharCode=currConfig2.short;if(!1!==singleCharCode?orgText.charCodeAt(offset)===singleCharCode&&(foundResyncPoint=!0):!0===currConfig2.isCustom?foundResyncPoint=null!==currPattern.exec(orgText,offset,matchedTokens,groups):(currPattern.lastIndex=offset,foundResyncPoint=null!==currPattern.exec(text)),!0===foundResyncPoint)break}if(errLength=offset-errorStartOffset,column=this.computeNewColumn(column,errLength),msg=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(orgText,errorStartOffset,errLength,errorLine,errorColumn,last_default(modeStack)),errors.push({offset:errorStartOffset,line:errorLine,column:errorColumn,length:errLength,message:msg}),!1===recoveryEnabled)break}}return this.hasCustom||(matchedTokens.length=matchedTokensIndex),{tokens:matchedTokens,groups:groups,errors:errors}}handleModes(config,pop_mode,push_mode,newToken){if(!0===config.pop){const pushMode=config.push;pop_mode(newToken),void 0!==pushMode&&push_mode.call(this,pushMode)}else void 0!==config.push&&push_mode.call(this,config.push)}updateTokenEndLineColumnLocation(newToken,group,lastLTIdx,numOfLTsInMatch,line,column,imageLength){let lastCharIsLT,fixForEndingInLT;void 0!==group&&(lastCharIsLT=lastLTIdx===imageLength-1,fixForEndingInLT=lastCharIsLT?-1:0,1===numOfLTsInMatch&&!0===lastCharIsLT||(newToken.endLine=line+fixForEndingInLT,newToken.endColumn=column-1-fixForEndingInLT))}computeNewColumn(oldColumn,imageLength){return oldColumn+imageLength}createOffsetOnlyToken(image,startOffset,tokenTypeIdx,tokenType){return{image:image,startOffset:startOffset,tokenTypeIdx:tokenTypeIdx,tokenType:tokenType}}createStartOnlyToken(image,startOffset,tokenTypeIdx,tokenType,startLine,startColumn){return{image:image,startOffset:startOffset,startLine:startLine,startColumn:startColumn,tokenTypeIdx:tokenTypeIdx,tokenType:tokenType}}createFullToken(image,startOffset,tokenTypeIdx,tokenType,startLine,startColumn,imageLength){return{image:image,startOffset:startOffset,endOffset:startOffset+imageLength-1,startLine:startLine,endLine:startLine,startColumn:startColumn,endColumn:startColumn+imageLength-1,tokenTypeIdx:tokenTypeIdx,tokenType:tokenType}}addTokenUsingPush(tokenVector,index,tokenToAdd){return tokenVector.push(tokenToAdd),index}addTokenUsingMemberAccess(tokenVector,index,tokenToAdd){return tokenVector[index]=tokenToAdd,++index}handlePayloadNoCustom(token,payload){}handlePayloadWithCustom(token,payload){null!==payload&&(token.payload=payload)}match(pattern,text,offset){return!0===pattern.test(text)?text.substring(offset,pattern.lastIndex):null}matchLength(pattern,text,offset){return!0===pattern.test(text)?pattern.lastIndex-offset:-1}},__name(_x,"Lexer"),_x);function tokenLabel2(tokType){return hasTokenLabel2(tokType)?tokType.LABEL:tokType.name}function hasTokenLabel2(obj){return isString_default(obj.LABEL)&&""!==obj.LABEL}Lexer.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.",Lexer.NA=/NOT_APPLICABLE/,__name(tokenLabel2,"tokenLabel"),__name(hasTokenLabel2,"hasTokenLabel");function createToken(config){return createTokenInternal(config)}function createTokenInternal(config){const pattern=config.pattern,tokenType={};if(tokenType.name=config.name,isUndefined_default(pattern)||(tokenType.PATTERN=pattern),has_default(config,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return has_default(config,"categories")&&(tokenType.CATEGORIES=config.categories),augmentTokenTypes([tokenType]),has_default(config,"label")&&(tokenType.LABEL=config.label),has_default(config,"group")&&(tokenType.GROUP=config.group),has_default(config,"pop_mode")&&(tokenType.POP_MODE=config.pop_mode),has_default(config,"push_mode")&&(tokenType.PUSH_MODE=config.push_mode),has_default(config,"longer_alt")&&(tokenType.LONGER_ALT=config.longer_alt),has_default(config,"line_breaks")&&(tokenType.LINE_BREAKS=config.line_breaks),has_default(config,"start_chars_hint")&&(tokenType.START_CHARS_HINT=config.start_chars_hint),tokenType}__name(createToken,"createToken"),__name(createTokenInternal,"createTokenInternal");var EOF=createToken({name:"EOF",pattern:Lexer.NA});function createTokenInstance(tokType,image,startOffset,endOffset,startLine,endLine,startColumn,endColumn){return{image:image,startOffset:startOffset,endOffset:endOffset,startLine:startLine,endLine:endLine,startColumn:startColumn,endColumn:endColumn,tokenTypeIdx:tokType.tokenTypeIdx,tokenType:tokType}}function tokenMatcher(token,tokType){return tokenStructuredMatcher(token,tokType)}augmentTokenTypes([EOF]),__name(createTokenInstance,"createTokenInstance"),__name(tokenMatcher,"tokenMatcher");var defaultParserErrorProvider={buildMismatchTokenMessage:({expected:expected,actual:actual,previous:previous,ruleName:ruleName})=>`Expecting ${hasTokenLabel2(expected)?`--\x3e ${tokenLabel2(expected)} <--`:`token of type --\x3e ${expected.name} <--`} but found --\x3e '${actual.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:firstRedundant,ruleName:ruleName})=>"Redundant input, expecting EOF but found: "+firstRedundant.image,buildNoViableAltMessage({expectedPathsPerAlt:expectedPathsPerAlt,actual:actual,previous:previous,customUserDescription:customUserDescription,ruleName:ruleName}){const errSuffix="\nbut found: '"+head_default(actual).image+"'";if(customUserDescription)return"Expecting: "+customUserDescription+errSuffix;{const allLookAheadPaths=reduce_default(expectedPathsPerAlt,(result,currAltPaths)=>result.concat(currAltPaths),[]),nextValidTokenSequences=map_default(allLookAheadPaths,currPath=>`[${map_default(currPath,currTokenType=>tokenLabel2(currTokenType)).join(", ")}]`);return"Expecting: "+`one of these possible Token sequences:\n${map_default(nextValidTokenSequences,(itemMsg,idx)=>` ${idx+1}. ${itemMsg}`).join("\n")}`+errSuffix}},buildEarlyExitMessage({expectedIterationPaths:expectedIterationPaths,actual:actual,customUserDescription:customUserDescription,ruleName:ruleName}){const errSuffix="\nbut found: '"+head_default(actual).image+"'";if(customUserDescription)return"Expecting: "+customUserDescription+errSuffix;return"Expecting: "+`expecting at least one iteration which starts with one of these possible Token sequences::\n <${map_default(expectedIterationPaths,currPath=>`[${map_default(currPath,currTokenType=>tokenLabel2(currTokenType)).join(",")}]`).join(" ,")}>`+errSuffix}};Object.freeze(defaultParserErrorProvider);var defaultGrammarResolverErrorProvider={buildRuleNotFoundError:(topLevelRule,undefinedRule)=>"Invalid grammar, reference to a rule which is not defined: ->"+undefinedRule.nonTerminalName+"<-\ninside top level rule: ->"+topLevelRule.name+"<-"},defaultGrammarValidatorErrorProvider={buildDuplicateFoundError(topLevelRule,duplicateProds){function getExtraProductionArgument2(prod){return prod instanceof Terminal?prod.terminalType.name:prod instanceof NonTerminal?prod.nonTerminalName:""}__name(getExtraProductionArgument2,"getExtraProductionArgument");const topLevelName=topLevelRule.name,duplicateProd=head_default(duplicateProds),index=duplicateProd.idx,dslName=getProductionDslName(duplicateProd),extraArgument=getExtraProductionArgument2(duplicateProd);let msg=`->${dslName}${index>0?index:""}<- ${extraArgument?`with argument: ->${extraArgument}<-`:""}\n appears more than once (${duplicateProds.length} times) in the top level rule: ->${topLevelName}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;return msg=msg.replace(/[ \t]+/g," "),msg=msg.replace(/\s\s+/g,"\n"),msg},buildNamespaceConflictError:rule=>`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${rule.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(options){const pathMsg=map_default(options.prefixPath,currTok=>tokenLabel2(currTok)).join(", "),occurrence=0===options.alternation.idx?"":options.alternation.idx;return`Ambiguous alternatives: <${options.ambiguityIndices.join(" ,")}> due to common lookahead prefix\nin <OR${occurrence}> inside <${options.topLevelRule.name}> Rule,\n<${pathMsg}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(options){const occurrence=0===options.alternation.idx?"":options.alternation.idx,isEmptyPath=0===options.prefixPath.length;let currMessage=`Ambiguous Alternatives Detected: <${options.ambiguityIndices.join(" ,")}> in <OR${occurrence}> inside <${options.topLevelRule.name}> Rule,\n`;if(isEmptyPath)currMessage+="These alternatives are all empty (match no tokens), making them indistinguishable.\nOnly the last alternative may be empty.\n";else{currMessage+=`<${map_default(options.prefixPath,currtok=>tokenLabel2(currtok)).join(", ")}> may appears as a prefix path in all these alternatives.\n`}return currMessage+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",currMessage},buildEmptyRepetitionError(options){let dslName=getProductionDslName(options.repetition);0!==options.repetition.idx&&(dslName+=options.repetition.idx);return`The repetition <${dslName}> within Rule <${options.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError:options=>"deprecated",buildEmptyAlternationError:options=>`Ambiguous empty alternative: <${options.emptyChoiceIdx+1}> in <OR${options.alternation.idx}> inside <${options.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`,buildTooManyAlternativesError:options=>`An Alternation cannot have more than 256 alternatives:\n<OR${options.alternation.idx}> inside <${options.topLevelRule.name}> Rule.\n has ${options.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(options){const ruleName=options.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${ruleName}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${`${ruleName} --\x3e ${map_default(options.leftRecursionPath,currRule=>currRule.name).concat([ruleName]).join(" --\x3e ")}`}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:options=>"deprecated",buildDuplicateRuleNameError(options){let ruleName;ruleName=options.topLevelRule instanceof Rule?options.topLevelRule.name:options.topLevelRule;return`Duplicate definition, rule: ->${ruleName}<- is already defined in the grammar: ->${options.grammarName}<-`}};function resolveGrammar(topLevels,errMsgProvider){const refResolver=new GastRefResolverVisitor(topLevels,errMsgProvider);return refResolver.resolveRefs(),refResolver.errors}__name(resolveGrammar,"resolveGrammar");var PROD_TYPE,PROD_TYPE2,GastRefResolverVisitor=(__name(_y=class extends GAstVisitor{constructor(nameToTopRule,errMsgProvider){super(),this.nameToTopRule=nameToTopRule,this.errMsgProvider=errMsgProvider,this.errors=[]}resolveRefs(){forEach_default(values_default(this.nameToTopRule),prod=>{this.currTopLevel=prod,prod.accept(this)})}visitNonTerminal(node){const ref=this.nameToTopRule[node.nonTerminalName];if(ref)node.referencedRule=ref;else{const msg=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,node);this.errors.push({message:msg,type:ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:node.nonTerminalName})}}},"GastRefResolverVisitor"),_y),AbstractNextPossibleTokensWalker=(__name(_z=class extends RestWalker{constructor(topProd,path){super(),this.topProd=topProd,this.path=path,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=clone_default(this.path.ruleStack).reverse(),this.occurrenceStack=clone_default(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(prod,prevRest=[]){this.found||super.walk(prod,prevRest)}walkProdRef(refProd,currRest,prevRest){if(refProd.referencedRule.name===this.nextProductionName&&refProd.idx===this.nextProductionOccurrence){const fullRest=currRest.concat(prevRest);this.updateExpectedNext(),this.walk(refProd.referencedRule,fullRest)}}updateExpectedNext(){isEmpty_default(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},"AbstractNextPossibleTokensWalker"),_z),NextAfterTokenWalker=(__name(_A=class extends AbstractNextPossibleTokensWalker{constructor(topProd,path){super(topProd,path),this.path=path,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(terminal,currRest,prevRest){if(this.isAtEndOfPath&&terminal.terminalType.name===this.nextTerminalName&&terminal.idx===this.nextTerminalOccurrence&&!this.found){const fullRest=currRest.concat(prevRest),restProd=new Alternative({definition:fullRest});this.possibleTokTypes=first(restProd),this.found=!0}}},"NextAfterTokenWalker"),_A),AbstractNextTerminalAfterProductionWalker=(__name(_B=class extends RestWalker{constructor(topRule,occurrence){super(),this.topRule=topRule,this.occurrence=occurrence,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},"AbstractNextTerminalAfterProductionWalker"),_B),NextTerminalAfterManyWalker=(__name(_C=class extends AbstractNextTerminalAfterProductionWalker{walkMany(manyProd,currRest,prevRest){if(manyProd.idx===this.occurrence){const firstAfterMany=head_default(currRest.concat(prevRest));this.result.isEndOfRule=void 0===firstAfterMany,firstAfterMany instanceof Terminal&&(this.result.token=firstAfterMany.terminalType,this.result.occurrence=firstAfterMany.idx)}else super.walkMany(manyProd,currRest,prevRest)}},"NextTerminalAfterManyWalker"),_C),NextTerminalAfterManySepWalker=(__name(_D=class extends AbstractNextTerminalAfterProductionWalker{walkManySep(manySepProd,currRest,prevRest){if(manySepProd.idx===this.occurrence){const firstAfterManySep=head_default(currRest.concat(prevRest));this.result.isEndOfRule=void 0===firstAfterManySep,firstAfterManySep instanceof Terminal&&(this.result.token=firstAfterManySep.terminalType,this.result.occurrence=firstAfterManySep.idx)}else super.walkManySep(manySepProd,currRest,prevRest)}},"NextTerminalAfterManySepWalker"),_D),NextTerminalAfterAtLeastOneWalker=(__name(_E=class extends AbstractNextTerminalAfterProductionWalker{walkAtLeastOne(atLeastOneProd,currRest,prevRest){if(atLeastOneProd.idx===this.occurrence){const firstAfterAtLeastOne=head_default(currRest.concat(prevRest));this.result.isEndOfRule=void 0===firstAfterAtLeastOne,firstAfterAtLeastOne instanceof Terminal&&(this.result.token=firstAfterAtLeastOne.terminalType,this.result.occurrence=firstAfterAtLeastOne.idx)}else super.walkAtLeastOne(atLeastOneProd,currRest,prevRest)}},"NextTerminalAfterAtLeastOneWalker"),_E),NextTerminalAfterAtLeastOneSepWalker=(__name(_F=class extends AbstractNextTerminalAfterProductionWalker{walkAtLeastOneSep(atleastOneSepProd,currRest,prevRest){if(atleastOneSepProd.idx===this.occurrence){const firstAfterfirstAfterAtLeastOneSep=head_default(currRest.concat(prevRest));this.result.isEndOfRule=void 0===firstAfterfirstAfterAtLeastOneSep,firstAfterfirstAfterAtLeastOneSep instanceof Terminal&&(this.result.token=firstAfterfirstAfterAtLeastOneSep.terminalType,this.result.occurrence=firstAfterfirstAfterAtLeastOneSep.idx)}else super.walkAtLeastOneSep(atleastOneSepProd,currRest,prevRest)}},"NextTerminalAfterAtLeastOneSepWalker"),_F);function possiblePathsFrom(targetDef,maxLength,currPath=[]){currPath=clone_default(currPath);let result=[],i=0;function remainingPathWith(nextDef){return nextDef.concat(drop_default(targetDef,i+1))}function getAlternativesForProd(definition){const alternatives=possiblePathsFrom(remainingPathWith(definition),maxLength,currPath);return result.concat(alternatives)}for(__name(remainingPathWith,"remainingPathWith"),__name(getAlternativesForProd,"getAlternativesForProd");currPath.length<maxLength&&i<targetDef.length;){const prod=targetDef[i];if(prod instanceof Alternative)return getAlternativesForProd(prod.definition);if(prod instanceof NonTerminal)return getAlternativesForProd(prod.definition);if(prod instanceof Option)result=getAlternativesForProd(prod.definition);else{if(prod instanceof RepetitionMandatory){return getAlternativesForProd(prod.definition.concat([new Repetition({definition:prod.definition})]))}if(prod instanceof RepetitionMandatoryWithSeparator){return getAlternativesForProd([new Alternative({definition:prod.definition}),new Repetition({definition:[new Terminal({terminalType:prod.separator})].concat(prod.definition)})])}if(prod instanceof RepetitionWithSeparator){const newDef=prod.definition.concat([new Repetition({definition:[new Terminal({terminalType:prod.separator})].concat(prod.definition)})]);result=getAlternativesForProd(newDef)}else if(prod instanceof Repetition){const newDef=prod.definition.concat([new Repetition({definition:prod.definition})]);result=getAlternativesForProd(newDef)}else{if(prod instanceof Alternation)return forEach_default(prod.definition,currAlt=>{!1===isEmpty_default(currAlt.definition)&&(result=getAlternativesForProd(currAlt.definition))}),result;if(!(prod instanceof Terminal))throw Error("non exhaustive match");currPath.push(prod.terminalType)}}i++}return result.push({partialPath:currPath,suffixDef:drop_default(targetDef,i)}),result}function nextPossibleTokensAfter(initialDef,tokenVector,tokMatcher,maxLookAhead){const EXIT_NON_TERMINAL_ARR=["EXIT_NONE_TERMINAL"];let foundCompletePath=!1;const tokenVectorLength=tokenVector.length,minimalAlternativesIndex=tokenVectorLength-maxLookAhead-1,result=[],possiblePaths=[];for(possiblePaths.push({idx:-1,def:initialDef,ruleStack:[],occurrenceStack:[]});!isEmpty_default(possiblePaths);){const currPath=possiblePaths.pop();if("EXIT_ALTERNATIVE"===currPath){foundCompletePath&&last_default(possiblePaths).idx<=minimalAlternativesIndex&&possiblePaths.pop();continue}const currDef=currPath.def,currIdx=currPath.idx,currRuleStack=currPath.ruleStack,currOccurrenceStack=currPath.occurrenceStack;if(isEmpty_default(currDef))continue;const prod=currDef[0];if("EXIT_NONE_TERMINAL"===prod){const nextPath={idx:currIdx,def:drop_default(currDef),ruleStack:dropRight_default(currRuleStack),occurrenceStack:dropRight_default(currOccurrenceStack)};possiblePaths.push(nextPath)}else if(prod instanceof Terminal)if(currIdx<tokenVectorLength-1){const nextIdx=currIdx+1;if(tokMatcher(tokenVector[nextIdx],prod.terminalType)){const nextPath={idx:nextIdx,def:drop_default(currDef),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPath)}}else{if(currIdx!==tokenVectorLength-1)throw Error("non exhaustive match");result.push({nextTokenType:prod.terminalType,nextTokenOccurrence:prod.idx,ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack}),foundCompletePath=!0}else if(prod instanceof NonTerminal){const newRuleStack=clone_default(currRuleStack);newRuleStack.push(prod.nonTerminalName);const newOccurrenceStack=clone_default(currOccurrenceStack);newOccurrenceStack.push(prod.idx);const nextPath={idx:currIdx,def:prod.definition.concat(EXIT_NON_TERMINAL_ARR,drop_default(currDef)),ruleStack:newRuleStack,occurrenceStack:newOccurrenceStack};possiblePaths.push(nextPath)}else if(prod instanceof Option){const nextPathWithout={idx:currIdx,def:drop_default(currDef),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPathWithout),possiblePaths.push("EXIT_ALTERNATIVE");const nextPathWith={idx:currIdx,def:prod.definition.concat(drop_default(currDef)),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPathWith)}else if(prod instanceof RepetitionMandatory){const secondIteration=new Repetition({definition:prod.definition,idx:prod.idx}),nextPath={idx:currIdx,def:prod.definition.concat([secondIteration],drop_default(currDef)),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPath)}else if(prod instanceof RepetitionMandatoryWithSeparator){const separatorGast=new Terminal({terminalType:prod.separator}),secondIteration=new Repetition({definition:[separatorGast].concat(prod.definition),idx:prod.idx}),nextPath={idx:currIdx,def:prod.definition.concat([secondIteration],drop_default(currDef)),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPath)}else if(prod instanceof RepetitionWithSeparator){const nextPathWithout={idx:currIdx,def:drop_default(currDef),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPathWithout),possiblePaths.push("EXIT_ALTERNATIVE");const separatorGast=new Terminal({terminalType:prod.separator}),nthRepetition=new Repetition({definition:[separatorGast].concat(prod.definition),idx:prod.idx}),nextPathWith={idx:currIdx,def:prod.definition.concat([nthRepetition],drop_default(currDef)),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPathWith)}else if(prod instanceof Repetition){const nextPathWithout={idx:currIdx,def:drop_default(currDef),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPathWithout),possiblePaths.push("EXIT_ALTERNATIVE");const nthRepetition=new Repetition({definition:prod.definition,idx:prod.idx}),nextPathWith={idx:currIdx,def:prod.definition.concat([nthRepetition],drop_default(currDef)),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(nextPathWith)}else if(prod instanceof Alternation)for(let i=prod.definition.length-1;i>=0;i--){const currAltPath={idx:currIdx,def:prod.definition[i].definition.concat(drop_default(currDef)),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack};possiblePaths.push(currAltPath),possiblePaths.push("EXIT_ALTERNATIVE")}else if(prod instanceof Alternative)possiblePaths.push({idx:currIdx,def:prod.definition.concat(drop_default(currDef)),ruleStack:currRuleStack,occurrenceStack:currOccurrenceStack});else{if(!(prod instanceof Rule))throw Error("non exhaustive match");possiblePaths.push(expandTopLevelRule(prod,currIdx,currRuleStack,currOccurrenceStack))}}return result}function expandTopLevelRule(topRule,currIdx,currRuleStack,currOccurrenceStack){const newRuleStack=clone_default(currRuleStack);newRuleStack.push(topRule.name);const newCurrOccurrenceStack=clone_default(currOccurrenceStack);return newCurrOccurrenceStack.push(1),{idx:currIdx,def:topRule.definition,ruleStack:newRuleStack,occurrenceStack:newCurrOccurrenceStack}}function getProdType(prod){if(prod instanceof Option||"Option"===prod)return PROD_TYPE.OPTION;if(prod instanceof Repetition||"Repetition"===prod)return PROD_TYPE.REPETITION;if(prod instanceof RepetitionMandatory||"RepetitionMandatory"===prod)return PROD_TYPE.REPETITION_MANDATORY;if(prod instanceof RepetitionMandatoryWithSeparator||"RepetitionMandatoryWithSeparator"===prod)return PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR;if(prod instanceof RepetitionWithSeparator||"RepetitionWithSeparator"===prod)return PROD_TYPE.REPETITION_WITH_SEPARATOR;if(prod instanceof Alternation||"Alternation"===prod)return PROD_TYPE.ALTERNATION;throw Error("non exhaustive match")}function getLookaheadPaths(options){const{occurrence:occurrence,rule:rule,prodType:prodType,maxLookahead:maxLookahead}=options,type=getProdType(prodType);return type===PROD_TYPE.ALTERNATION?getLookaheadPathsForOr(occurrence,rule,maxLookahead):getLookaheadPathsForOptionalProd(occurrence,rule,type,maxLookahead)}function buildLookaheadFuncForOr(occurrence,ruleGrammar,maxLookahead,hasPredicates,dynamicTokensEnabled,laFuncBuilder){const lookAheadPaths=getLookaheadPathsForOr(occurrence,ruleGrammar,maxLookahead);return laFuncBuilder(lookAheadPaths,hasPredicates,areTokenCategoriesNotUsed(lookAheadPaths)?tokenStructuredMatcherNoCategories:tokenStructuredMatcher,dynamicTokensEnabled)}function buildLookaheadFuncForOptionalProd(occurrence,ruleGrammar,k,dynamicTokensEnabled,prodType,lookaheadBuilder){const lookAheadPaths=getLookaheadPathsForOptionalProd(occurrence,ruleGrammar,prodType,k),tokenMatcher2=areTokenCategoriesNotUsed(lookAheadPaths)?tokenStructuredMatcherNoCategories:tokenStructuredMatcher;return lookaheadBuilder(lookAheadPaths[0],tokenMatcher2,dynamicTokensEnabled)}function buildAlternativesLookAheadFunc(alts,hasPredicates,tokenMatcher2,dynamicTokensEnabled){const numOfAlts=alts.length,areAllOneTokenLookahead=every_default(alts,currAlt=>every_default(currAlt,currPath=>1===currPath.length));if(hasPredicates)return function(orAlts){const predicates=map_default(orAlts,currAlt=>currAlt.GATE);for(let t=0;t<numOfAlts;t++){const currAlt=alts[t],currNumOfPaths=currAlt.length,currPredicate=predicates[t];if(void 0===currPredicate||!1!==currPredicate.call(this))nextPath:for(let j=0;j<currNumOfPaths;j++){const currPath=currAlt[j],currPathLength=currPath.length;for(let i=0;i<currPathLength;i++){const nextToken=this.LA(i+1);if(!1===tokenMatcher2(nextToken,currPath[i]))continue nextPath}return t}}};if(areAllOneTokenLookahead&&!dynamicTokensEnabled){const singleTokenAlts=map_default(alts,currAlt=>flatten_default(currAlt)),choiceToAlt=reduce_default(singleTokenAlts,(result,currAlt,idx)=>(forEach_default(currAlt,currTokType=>{has_default(result,currTokType.tokenTypeIdx)||(result[currTokType.tokenTypeIdx]=idx),forEach_default(currTokType.categoryMatches,currExtendingType=>{has_default(result,currExtendingType)||(result[currExtendingType]=idx)})}),result),{});return function(){const nextToken=this.LA(1);return choiceToAlt[nextToken.tokenTypeIdx]}}return function(){for(let t=0;t<numOfAlts;t++){const currAlt=alts[t],currNumOfPaths=currAlt.length;nextPath:for(let j=0;j<currNumOfPaths;j++){const currPath=currAlt[j],currPathLength=currPath.length;for(let i=0;i<currPathLength;i++){const nextToken=this.LA(i+1);if(!1===tokenMatcher2(nextToken,currPath[i]))continue nextPath}return t}}}}function buildSingleAlternativeLookaheadFunction(alt,tokenMatcher2,dynamicTokensEnabled){const areAllOneTokenLookahead=every_default(alt,currPath=>1===currPath.length),numOfPaths=alt.length;if(areAllOneTokenLookahead&&!dynamicTokensEnabled){const singleTokensTypes=flatten_default(alt);if(1===singleTokensTypes.length&&isEmpty_default(singleTokensTypes[0].categoryMatches)){const expectedTokenUniqueKey=singleTokensTypes[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===expectedTokenUniqueKey}}{const choiceToAlt=reduce_default(singleTokensTypes,(result,currTokType,idx)=>(result[currTokType.tokenTypeIdx]=!0,forEach_default(currTokType.categoryMatches,currExtendingType=>{result[currExtendingType]=!0}),result),[]);return function(){const nextToken=this.LA(1);return!0===choiceToAlt[nextToken.tokenTypeIdx]}}}return function(){nextPath:for(let j=0;j<numOfPaths;j++){const currPath=alt[j],currPathLength=currPath.length;for(let i=0;i<currPathLength;i++){const nextToken=this.LA(i+1);if(!1===tokenMatcher2(nextToken,currPath[i]))continue nextPath}return!0}return!1}}__name(possiblePathsFrom,"possiblePathsFrom"),__name(nextPossibleTokensAfter,"nextPossibleTokensAfter"),__name(expandTopLevelRule,"expandTopLevelRule"),(PROD_TYPE2=PROD_TYPE||(PROD_TYPE={}))[PROD_TYPE2.OPTION=0]="OPTION",PROD_TYPE2[PROD_TYPE2.REPETITION=1]="REPETITION",PROD_TYPE2[PROD_TYPE2.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",PROD_TYPE2[PROD_TYPE2.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",PROD_TYPE2[PROD_TYPE2.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",PROD_TYPE2[PROD_TYPE2.ALTERNATION=5]="ALTERNATION",__name(getProdType,"getProdType"),__name(getLookaheadPaths,"getLookaheadPaths"),__name(buildLookaheadFuncForOr,"buildLookaheadFuncForOr"),__name(buildLookaheadFuncForOptionalProd,"buildLookaheadFuncForOptionalProd"),__name(buildAlternativesLookAheadFunc,"buildAlternativesLookAheadFunc"),__name(buildSingleAlternativeLookaheadFunction,"buildSingleAlternativeLookaheadFunction");var RestDefinitionFinderWalker=(__name(_G=class extends RestWalker{constructor(topProd,targetOccurrence,targetProdType){super(),this.topProd=topProd,this.targetOccurrence=targetOccurrence,this.targetProdType=targetProdType}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(node,expectedProdType,currRest,prevRest){return node.idx===this.targetOccurrence&&this.targetProdType===expectedProdType&&(this.restDef=currRest.concat(prevRest),!0)}walkOption(optionProd,currRest,prevRest){this.checkIsTarget(optionProd,PROD_TYPE.OPTION,currRest,prevRest)||super.walkOption(optionProd,currRest,prevRest)}walkAtLeastOne(atLeastOneProd,currRest,prevRest){this.checkIsTarget(atLeastOneProd,PROD_TYPE.REPETITION_MANDATORY,currRest,prevRest)||super.walkOption(atLeastOneProd,currRest,prevRest)}walkAtLeastOneSep(atLeastOneSepProd,currRest,prevRest){this.checkIsTarget(atLeastOneSepProd,PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,currRest,prevRest)||super.walkOption(atLeastOneSepProd,currRest,prevRest)}walkMany(manyProd,currRest,prevRest){this.checkIsTarget(manyProd,PROD_TYPE.REPETITION,currRest,prevRest)||super.walkOption(manyProd,currRest,prevRest)}walkManySep(manySepProd,currRest,prevRest){this.checkIsTarget(manySepProd,PROD_TYPE.REPETITION_WITH_SEPARATOR,currRest,prevRest)||super.walkOption(manySepProd,currRest,prevRest)}},"RestDefinitionFinderWalker"),_G),InsideDefinitionFinderVisitor=(__name(_H=class extends GAstVisitor{constructor(targetOccurrence,targetProdType,targetRef){super(),this.targetOccurrence=targetOccurrence,this.targetProdType=targetProdType,this.targetRef=targetRef,this.result=[]}checkIsTarget(node,expectedProdName){node.idx!==this.targetOccurrence||this.targetProdType!==expectedProdName||void 0!==this.targetRef&&node!==this.targetRef||(this.result=node.definition)}visitOption(node){this.checkIsTarget(node,PROD_TYPE.OPTION)}visitRepetition(node){this.checkIsTarget(node,PROD_TYPE.REPETITION)}visitRepetitionMandatory(node){this.checkIsTarget(node,PROD_TYPE.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(node){this.checkIsTarget(node,PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(node){this.checkIsTarget(node,PROD_TYPE.REPETITION_WITH_SEPARATOR)}visitAlternation(node){this.checkIsTarget(node,PROD_TYPE.ALTERNATION)}},"InsideDefinitionFinderVisitor"),_H);function initializeArrayOfArrays(size){const result=new Array(size);for(let i=0;i<size;i++)result[i]=[];return result}function pathToHashKeys(path){let keys3=[""];for(let i=0;i<path.length;i++){const tokType=path[i],longerKeys=[];for(let j=0;j<keys3.length;j++){const currShorterKey=keys3[j];longerKeys.push(currShorterKey+"_"+tokType.tokenTypeIdx);for(let t=0;t<tokType.categoryMatches.length;t++){const categoriesKeySuffix="_"+tokType.categoryMatches[t];longerKeys.push(currShorterKey+categoriesKeySuffix)}}keys3=longerKeys}return keys3}function isUniquePrefixHash(altKnownPathsKeys,searchPathKeys,idx){for(let currAltIdx=0;currAltIdx<altKnownPathsKeys.length;currAltIdx++){if(currAltIdx===idx)continue;const otherAltKnownPathsKeys=altKnownPathsKeys[currAltIdx];for(let searchIdx=0;searchIdx<searchPathKeys.length;searchIdx++){if(!0===otherAltKnownPathsKeys[searchPathKeys[searchIdx]])return!1}}return!0}function lookAheadSequenceFromAlternatives(altsDefs,k){const partialAlts=map_default(altsDefs,currAlt=>possiblePathsFrom([currAlt],1)),finalResult=initializeArrayOfArrays(partialAlts.length),altsHashes=map_default(partialAlts,currAltPaths=>{const dict={};return forEach_default(currAltPaths,item=>{const keys3=pathToHashKeys(item.partialPath);forEach_default(keys3,currKey=>{dict[currKey]=!0})}),dict});let newData=partialAlts;for(let pathLength=1;pathLength<=k;pathLength++){const currDataset=newData;newData=initializeArrayOfArrays(currDataset.length);for(let altIdx=0;altIdx<currDataset.length;altIdx++){const currAltPathsAndSuffixes=currDataset[altIdx];for(let currPathIdx=0;currPathIdx<currAltPathsAndSuffixes.length;currPathIdx++){const currPathPrefix=currAltPathsAndSuffixes[currPathIdx].partialPath,suffixDef=currAltPathsAndSuffixes[currPathIdx].suffixDef,prefixKeys=pathToHashKeys(currPathPrefix);if(isUniquePrefixHash(altsHashes,prefixKeys,altIdx)||isEmpty_default(suffixDef)||currPathPrefix.length===k){const currAltResult=finalResult[altIdx];if(!1===containsPath(currAltResult,currPathPrefix)){currAltResult.push(currPathPrefix);for(let j=0;j<prefixKeys.length;j++){const currKey=prefixKeys[j];altsHashes[altIdx][currKey]=!0}}}else{const newPartialPathsAndSuffixes=possiblePathsFrom(suffixDef,pathLength+1,currPathPrefix);newData[altIdx]=newData[altIdx].concat(newPartialPathsAndSuffixes),forEach_default(newPartialPathsAndSuffixes,item=>{const prefixKeys2=pathToHashKeys(item.partialPath);forEach_default(prefixKeys2,key=>{altsHashes[altIdx][key]=!0})})}}}}return finalResult}function getLookaheadPathsForOr(occurrence,ruleGrammar,k,orProd){const visitor2=new InsideDefinitionFinderVisitor(occurrence,PROD_TYPE.ALTERNATION,orProd);return ruleGrammar.accept(visitor2),lookAheadSequenceFromAlternatives(visitor2.result,k)}function getLookaheadPathsForOptionalProd(occurrence,ruleGrammar,prodType,k){const insideDefVisitor=new InsideDefinitionFinderVisitor(occurrence,prodType);ruleGrammar.accept(insideDefVisitor);const insideDef=insideDefVisitor.result,afterDef=new RestDefinitionFinderWalker(ruleGrammar,occurrence,prodType).startWalking();return lookAheadSequenceFromAlternatives([new Alternative({definition:insideDef}),new Alternative({definition:afterDef})],k)}function containsPath(alternative,searchPath){compareOtherPath:for(let i=0;i<alternative.length;i++){const otherPath=alternative[i];if(otherPath.length===searchPath.length){for(let j=0;j<otherPath.length;j++){const searchTok=searchPath[j],otherTok=otherPath[j];if(!1===(searchTok===otherTok||void 0!==otherTok.categoryMatchesMap[searchTok.tokenTypeIdx]))continue compareOtherPath}return!0}}return!1}function isStrictPrefixOfPath(prefix,other){return prefix.length<other.length&&every_default(prefix,(tokType,idx)=>{const otherTokType=other[idx];return tokType===otherTokType||otherTokType.categoryMatchesMap[tokType.tokenTypeIdx]})}function areTokenCategoriesNotUsed(lookAheadPaths){return every_default(lookAheadPaths,singleAltPaths=>every_default(singleAltPaths,singlePath=>every_default(singlePath,token=>isEmpty_default(token.categoryMatches))))}function validateLookahead(options){const lookaheadValidationErrorMessages=options.lookaheadStrategy.validate({rules:options.rules,tokenTypes:options.tokenTypes,grammarName:options.grammarName});return map_default(lookaheadValidationErrorMessages,errorMessage=>Object.assign({type:ParserDefinitionErrorType.CUSTOM_LOOKAHEAD_VALIDATION},errorMessage))}function validateGrammar(topLevels,tokenTypes,errMsgProvider,grammarName){const duplicateErrors=flatMap_default(topLevels,currTopLevel=>validateDuplicateProductions(currTopLevel,errMsgProvider)),termsNamespaceConflictErrors=checkTerminalAndNoneTerminalsNameSpace(topLevels,tokenTypes,errMsgProvider),tooManyAltsErrors=flatMap_default(topLevels,curRule=>validateTooManyAlts(curRule,errMsgProvider)),duplicateRulesError=flatMap_default(topLevels,curRule=>validateRuleDoesNotAlreadyExist(curRule,topLevels,grammarName,errMsgProvider));return duplicateErrors.concat(termsNamespaceConflictErrors,tooManyAltsErrors,duplicateRulesError)}function validateDuplicateProductions(topLevelRule,errMsgProvider){const collectorVisitor2=new OccurrenceValidationCollector;topLevelRule.accept(collectorVisitor2);const allRuleProductions=collectorVisitor2.allProductions,productionGroups=groupBy_default(allRuleProductions,identifyProductionForDuplicates),duplicates=pickBy_default(productionGroups,currGroup=>currGroup.length>1);return map_default(values_default(duplicates),currDuplicates=>{const firstProd=head_default(currDuplicates),msg=errMsgProvider.buildDuplicateFoundError(topLevelRule,currDuplicates),dslName=getProductionDslName(firstProd),defError={message:msg,type:ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:topLevelRule.name,dslName:dslName,occurrence:firstProd.idx},param=getExtraProductionArgument(firstProd);return param&&(defError.parameter=param),defError})}function identifyProductionForDuplicates(prod){return`${getProductionDslName(prod)}_#_${prod.idx}_#_${getExtraProductionArgument(prod)}`}function getExtraProductionArgument(prod){return prod instanceof Terminal?prod.terminalType.name:prod instanceof NonTerminal?prod.nonTerminalName:""}__name(initializeArrayOfArrays,"initializeArrayOfArrays"),__name(pathToHashKeys,"pathToHashKeys"),__name(isUniquePrefixHash,"isUniquePrefixHash"),__name(lookAheadSequenceFromAlternatives,"lookAheadSequenceFromAlternatives"),__name(getLookaheadPathsForOr,"getLookaheadPathsForOr"),__name(getLookaheadPathsForOptionalProd,"getLookaheadPathsForOptionalProd"),__name(containsPath,"containsPath"),__name(isStrictPrefixOfPath,"isStrictPrefixOfPath"),__name(areTokenCategoriesNotUsed,"areTokenCategoriesNotUsed"),__name(validateLookahead,"validateLookahead"),__name(validateGrammar,"validateGrammar"),__name(validateDuplicateProductions,"validateDuplicateProductions"),__name(identifyProductionForDuplicates,"identifyProductionForDuplicates"),__name(getExtraProductionArgument,"getExtraProductionArgument");var OccurrenceValidationCollector=(__name(_I=class extends GAstVisitor{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(subrule){this.allProductions.push(subrule)}visitOption(option2){this.allProductions.push(option2)}visitRepetitionWithSeparator(manySep){this.allProductions.push(manySep)}visitRepetitionMandatory(atLeastOne){this.allProductions.push(atLeastOne)}visitRepetitionMandatoryWithSeparator(atLeastOneSep){this.allProductions.push(atLeastOneSep)}visitRepetition(many){this.allProductions.push(many)}visitAlternation(or){this.allProductions.push(or)}visitTerminal(terminal){this.allProductions.push(terminal)}},"OccurrenceValidationCollector"),_I);function validateRuleDoesNotAlreadyExist(rule,allRules,className,errMsgProvider){const errors=[];if(reduce_default(allRules,(result,curRule)=>curRule.name===rule.name?result+1:result,0)>1){const errMsg=errMsgProvider.buildDuplicateRuleNameError({topLevelRule:rule,grammarName:className});errors.push({message:errMsg,type:ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:rule.name})}return errors}function validateRuleIsOverridden(ruleName,definedRulesNames,className){const errors=[];let errMsg;return includes_default(definedRulesNames,ruleName)||(errMsg=`Invalid rule override, rule: ->${ruleName}<- cannot be overridden in the grammar: ->${className}<-as it is not defined in any of the super grammars `,errors.push({message:errMsg,type:ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:ruleName})),errors}function validateNoLeftRecursion(topRule,currRule,errMsgProvider,path=[]){const errors=[],nextNonTerminals=getFirstNoneTerminal(currRule.definition);if(isEmpty_default(nextNonTerminals))return[];{const ruleName=topRule.name;includes_default(nextNonTerminals,topRule)&&errors.push({message:errMsgProvider.buildLeftRecursionError({topLevelRule:topRule,leftRecursionPath:path}),type:ParserDefinitionErrorType.LEFT_RECURSION,ruleName:ruleName});const validNextSteps=difference_default(nextNonTerminals,path.concat([topRule])),errorsFromNextSteps=flatMap_default(validNextSteps,currRefRule=>{const newPath=clone_default(path);return newPath.push(currRefRule),validateNoLeftRecursion(topRule,currRefRule,errMsgProvider,newPath)});return errors.concat(errorsFromNextSteps)}}function getFirstNoneTerminal(definition){let result=[];if(isEmpty_default(definition))return result;const firstProd=head_default(definition);if(firstProd instanceof NonTerminal)result.push(firstProd.referencedRule);else if(firstProd instanceof Alternative||firstProd instanceof Option||firstProd instanceof RepetitionMandatory||firstProd instanceof RepetitionMandatoryWithSeparator||firstProd instanceof RepetitionWithSeparator||firstProd instanceof Repetition)result=result.concat(getFirstNoneTerminal(firstProd.definition));else if(firstProd instanceof Alternation)result=flatten_default(map_default(firstProd.definition,currSubDef=>getFirstNoneTerminal(currSubDef.definition)));else if(!(firstProd instanceof Terminal))throw Error("non exhaustive match");const isFirstOptional=isOptionalProd(firstProd),hasMore=definition.length>1;if(isFirstOptional&&hasMore){const rest=drop_default(definition);return result.concat(getFirstNoneTerminal(rest))}return result}__name(validateRuleDoesNotAlreadyExist,"validateRuleDoesNotAlreadyExist"),__name(validateRuleIsOverridden,"validateRuleIsOverridden"),__name(validateNoLeftRecursion,"validateNoLeftRecursion"),__name(getFirstNoneTerminal,"getFirstNoneTerminal");var OrCollector=(__name(_J=class extends GAstVisitor{constructor(){super(...arguments),this.alternations=[]}visitAlternation(node){this.alternations.push(node)}},"OrCollector"),_J);function validateEmptyOrAlternative(topLevelRule,errMsgProvider){const orCollector=new OrCollector;topLevelRule.accept(orCollector);const ors=orCollector.alternations;return flatMap_default(ors,currOr=>{const exceptLast=dropRight_default(currOr.definition);return flatMap_default(exceptLast,(currAlternative,currAltIdx)=>{const possibleFirstInAlt=nextPossibleTokensAfter([currAlternative],[],tokenStructuredMatcher,1);return isEmpty_default(possibleFirstInAlt)?[{message:errMsgProvider.buildEmptyAlternationError({topLevelRule:topLevelRule,alternation:currOr,emptyChoiceIdx:currAltIdx}),type:ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:topLevelRule.name,occurrence:currOr.idx,alternative:currAltIdx+1}]:[]})})}function validateAmbiguousAlternationAlternatives(topLevelRule,globalMaxLookahead,errMsgProvider){const orCollector=new OrCollector;topLevelRule.accept(orCollector);let ors=orCollector.alternations;ors=reject_default(ors,currOr=>!0===currOr.ignoreAmbiguities);return flatMap_default(ors,currOr=>{const currOccurrence=currOr.idx,actualMaxLookahead=currOr.maxLookahead||globalMaxLookahead,alternatives=getLookaheadPathsForOr(currOccurrence,topLevelRule,actualMaxLookahead,currOr),altsAmbiguityErrors=checkAlternativesAmbiguities(alternatives,currOr,topLevelRule,errMsgProvider),altsPrefixAmbiguityErrors=checkPrefixAlternativesAmbiguities(alternatives,currOr,topLevelRule,errMsgProvider);return altsAmbiguityErrors.concat(altsPrefixAmbiguityErrors)})}__name(validateEmptyOrAlternative,"validateEmptyOrAlternative"),__name(validateAmbiguousAlternationAlternatives,"validateAmbiguousAlternationAlternatives");var RepetitionCollector=(__name(_K=class extends GAstVisitor{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(manySep){this.allProductions.push(manySep)}visitRepetitionMandatory(atLeastOne){this.allProductions.push(atLeastOne)}visitRepetitionMandatoryWithSeparator(atLeastOneSep){this.allProductions.push(atLeastOneSep)}visitRepetition(many){this.allProductions.push(many)}},"RepetitionCollector"),_K);function validateTooManyAlts(topLevelRule,errMsgProvider){const orCollector=new OrCollector;topLevelRule.accept(orCollector);const ors=orCollector.alternations;return flatMap_default(ors,currOr=>currOr.definition.length>255?[{message:errMsgProvider.buildTooManyAlternativesError({topLevelRule:topLevelRule,alternation:currOr}),type:ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:topLevelRule.name,occurrence:currOr.idx}]:[])}function validateSomeNonEmptyLookaheadPath(topLevelRules,maxLookahead,errMsgProvider){const errors=[];return forEach_default(topLevelRules,currTopRule=>{const collectorVisitor2=new RepetitionCollector;currTopRule.accept(collectorVisitor2);const allRuleProductions=collectorVisitor2.allProductions;forEach_default(allRuleProductions,currProd=>{const prodType=getProdType(currProd),actualMaxLookahead=currProd.maxLookahead||maxLookahead,pathsInsideProduction=getLookaheadPathsForOptionalProd(currProd.idx,currTopRule,prodType,actualMaxLookahead)[0];if(isEmpty_default(flatten_default(pathsInsideProduction))){const errMsg=errMsgProvider.buildEmptyRepetitionError({topLevelRule:currTopRule,repetition:currProd});errors.push({message:errMsg,type:ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:currTopRule.name})}})}),errors}function checkAlternativesAmbiguities(alternatives,alternation2,rule,errMsgProvider){const foundAmbiguousPaths=[],identicalAmbiguities=reduce_default(alternatives,(result,currAlt,currAltIdx)=>(!0===alternation2.definition[currAltIdx].ignoreAmbiguities||forEach_default(currAlt,currPath=>{const altsCurrPathAppearsIn=[currAltIdx];forEach_default(alternatives,(currOtherAlt,currOtherAltIdx)=>{currAltIdx!==currOtherAltIdx&&containsPath(currOtherAlt,currPath)&&!0!==alternation2.definition[currOtherAltIdx].ignoreAmbiguities&&altsCurrPathAppearsIn.push(currOtherAltIdx)}),altsCurrPathAppearsIn.length>1&&!containsPath(foundAmbiguousPaths,currPath)&&(foundAmbiguousPaths.push(currPath),result.push({alts:altsCurrPathAppearsIn,path:currPath}))}),result),[]);return map_default(identicalAmbiguities,currAmbDescriptor=>{const ambgIndices=map_default(currAmbDescriptor.alts,currAltIdx=>currAltIdx+1);return{message:errMsgProvider.buildAlternationAmbiguityError({topLevelRule:rule,alternation:alternation2,ambiguityIndices:ambgIndices,prefixPath:currAmbDescriptor.path}),type:ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:rule.name,occurrence:alternation2.idx,alternatives:currAmbDescriptor.alts}})}function checkPrefixAlternativesAmbiguities(alternatives,alternation2,rule,errMsgProvider){const pathsAndIndices=reduce_default(alternatives,(result,currAlt,idx)=>{const currPathsAndIdx=map_default(currAlt,currPath=>({idx:idx,path:currPath}));return result.concat(currPathsAndIdx)},[]);return compact_default(flatMap_default(pathsAndIndices,currPathAndIdx=>{if(!0===alternation2.definition[currPathAndIdx.idx].ignoreAmbiguities)return[];const targetIdx=currPathAndIdx.idx,targetPath=currPathAndIdx.path,prefixAmbiguitiesPathsAndIndices=filter_default(pathsAndIndices,searchPathAndIdx=>!0!==alternation2.definition[searchPathAndIdx.idx].ignoreAmbiguities&&searchPathAndIdx.idx<targetIdx&&isStrictPrefixOfPath(searchPathAndIdx.path,targetPath));return map_default(prefixAmbiguitiesPathsAndIndices,currAmbPathAndIdx=>{const ambgIndices=[currAmbPathAndIdx.idx+1,targetIdx+1],occurrence=0===alternation2.idx?"":alternation2.idx;return{message:errMsgProvider.buildAlternationPrefixAmbiguityError({topLevelRule:rule,alternation:alternation2,ambiguityIndices:ambgIndices,prefixPath:currAmbPathAndIdx.path}),type:ParserDefinitionErrorType.AMBIGUOUS_PREFIX_ALTS,ruleName:rule.name,occurrence:occurrence,alternatives:ambgIndices}})}))}function checkTerminalAndNoneTerminalsNameSpace(topLevels,tokenTypes,errMsgProvider){const errors=[],tokenNames=map_default(tokenTypes,currToken=>currToken.name);return forEach_default(topLevels,currRule=>{const currRuleName=currRule.name;if(includes_default(tokenNames,currRuleName)){const errMsg=errMsgProvider.buildNamespaceConflictError(currRule);errors.push({message:errMsg,type:ParserDefinitionErrorType.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:currRuleName})}}),errors}function resolveGrammar2(options){const actualOptions=defaults_default(options,{errMsgProvider:defaultGrammarResolverErrorProvider}),topRulesTable={};return forEach_default(options.rules,rule=>{topRulesTable[rule.name]=rule}),resolveGrammar(topRulesTable,actualOptions.errMsgProvider)}function validateGrammar2(options){return validateGrammar((options=defaults_default(options,{errMsgProvider:defaultGrammarValidatorErrorProvider})).rules,options.tokenTypes,options.errMsgProvider,options.grammarName)}__name(validateTooManyAlts,"validateTooManyAlts"),__name(validateSomeNonEmptyLookaheadPath,"validateSomeNonEmptyLookaheadPath"),__name(checkAlternativesAmbiguities,"checkAlternativesAmbiguities"),__name(checkPrefixAlternativesAmbiguities,"checkPrefixAlternativesAmbiguities"),__name(checkTerminalAndNoneTerminalsNameSpace,"checkTerminalAndNoneTerminalsNameSpace"),__name(resolveGrammar2,"resolveGrammar"),__name(validateGrammar2,"validateGrammar");var RECOGNITION_EXCEPTION_NAMES=["MismatchedTokenException","NoViableAltException","EarlyExitException","NotAllInputParsedException"];function isRecognitionException(error){return includes_default(RECOGNITION_EXCEPTION_NAMES,error.name)}Object.freeze(RECOGNITION_EXCEPTION_NAMES),__name(isRecognitionException,"isRecognitionException");var RecognitionException=(_L=class extends Error{constructor(message,token){super(message),this.token=token,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},__name(_L,"RecognitionException"),_L),MismatchedTokenException=(__name(_M=class extends RecognitionException{constructor(message,token,previousToken){super(message,token),this.previousToken=previousToken,this.name="MismatchedTokenException"}},"MismatchedTokenException"),_M),NoViableAltException=(__name(_N=class extends RecognitionException{constructor(message,token,previousToken){super(message,token),this.previousToken=previousToken,this.name="NoViableAltException"}},"NoViableAltException"),_N),NotAllInputParsedException=(__name(_O=class extends RecognitionException{constructor(message,token){super(message,token),this.name="NotAllInputParsedException"}},"NotAllInputParsedException"),_O),EarlyExitException=(__name(_P=class extends RecognitionException{constructor(message,token,previousToken){super(message,token),this.previousToken=previousToken,this.name="EarlyExitException"}},"EarlyExitException"),_P),EOF_FOLLOW_KEY={},InRuleRecoveryException=(_Q=class extends Error{constructor(message){super(message),this.name="InRuleRecoveryException"}},__name(_Q,"InRuleRecoveryException"),_Q),Recoverable=(__name(_R=class{initRecoverable(config){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=has_default(config,"recoveryEnabled")?config.recoveryEnabled:DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=attemptInRepetitionRecovery)}getTokenToInsert(tokType){const tokToInsert=createTokenInstance(tokType,"",NaN,NaN,NaN,NaN,NaN,NaN);return tokToInsert.isInsertedInRecovery=!0,tokToInsert}canTokenTypeBeInsertedInRecovery(tokType){return!0}canTokenTypeBeDeletedInRecovery(tokType){return!0}tryInRepetitionRecovery(grammarRule,grammarRuleArgs,lookAheadFunc,expectedTokType){const reSyncTokType=this.findReSyncTokenType(),savedLexerState=this.exportLexerState(),resyncedTokens=[];let passedResyncPoint=!1;const nextTokenWithoutResync=this.LA(1);let currToken=this.LA(1);const generateErrorMessage=__name(()=>{const previousToken=this.LA(0),msg=this.errorMessageProvider.buildMismatchTokenMessage({expected:expectedTokType,actual:nextTokenWithoutResync,previous:previousToken,ruleName:this.getCurrRuleFullName()}),error=new MismatchedTokenException(msg,nextTokenWithoutResync,this.LA(0));error.resyncedTokens=dropRight_default(resyncedTokens),this.SAVE_ERROR(error)},"generateErrorMessage");for(;!passedResyncPoint;){if(this.tokenMatcher(currToken,expectedTokType))return void generateErrorMessage();if(lookAheadFunc.call(this))return generateErrorMessage(),void grammarRule.apply(this,grammarRuleArgs);this.tokenMatcher(currToken,reSyncTokType)?passedResyncPoint=!0:(currToken=this.SKIP_TOKEN(),this.addToResyncTokens(currToken,resyncedTokens))}this.importLexerState(savedLexerState)}shouldInRepetitionRecoveryBeTried(expectTokAfterLastMatch,nextTokIdx,notStuck){return!1!==notStuck&&(!this.tokenMatcher(this.LA(1),expectTokAfterLastMatch)&&(!this.isBackTracking()&&!this.canPerformInRuleRecovery(expectTokAfterLastMatch,this.getFollowsForInRuleRecovery(expectTokAfterLastMatch,nextTokIdx))))}getFollowsForInRuleRecovery(tokType,tokIdxInRule){const grammarPath=this.getCurrentGrammarPath(tokType,tokIdxInRule);return this.getNextPossibleTokenTypes(grammarPath)}tryInRuleRecovery(expectedTokType,follows){if(this.canRecoverWithSingleTokenInsertion(expectedTokType,follows)){return this.getTokenToInsert(expectedTokType)}if(this.canRecoverWithSingleTokenDeletion(expectedTokType)){const nextTok=this.SKIP_TOKEN();return this.consumeToken(),nextTok}throw new InRuleRecoveryException("sad sad panda")}canPerformInRuleRecovery(expectedToken,follows){return this.canRecoverWithSingleTokenInsertion(expectedToken,follows)||this.canRecoverWithSingleTokenDeletion(expectedToken)}canRecoverWithSingleTokenInsertion(expectedTokType,follows){if(!this.canTokenTypeBeInsertedInRecovery(expectedTokType))return!1;if(isEmpty_default(follows))return!1;const mismatchedTok=this.LA(1);return void 0!==find_default(follows,possibleFollowsTokType=>this.tokenMatcher(mismatchedTok,possibleFollowsTokType))}canRecoverWithSingleTokenDeletion(expectedTokType){if(!this.canTokenTypeBeDeletedInRecovery(expectedTokType))return!1;return this.tokenMatcher(this.LA(2),expectedTokType)}isInCurrentRuleReSyncSet(tokenTypeIdx){const followKey=this.getCurrFollowKey(),currentRuleReSyncSet=this.getFollowSetFromFollowKey(followKey);return includes_default(currentRuleReSyncSet,tokenTypeIdx)}findReSyncTokenType(){const allPossibleReSyncTokTypes=this.flattenFollowSet();let nextToken=this.LA(1),k=2;for(;;){const foundMatch=find_default(allPossibleReSyncTokTypes,resyncTokType=>tokenMatcher(nextToken,resyncTokType));if(void 0!==foundMatch)return foundMatch;nextToken=this.LA(k),k++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return EOF_FOLLOW_KEY;const currRuleShortName=this.getLastExplicitRuleShortName(),currRuleIdx=this.getLastExplicitRuleOccurrenceIndex(),prevRuleShortName=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(currRuleShortName),idxInCallingRule:currRuleIdx,inRule:this.shortRuleNameToFullName(prevRuleShortName)}}buildFullFollowKeyStack(){const explicitRuleStack=this.RULE_STACK,explicitOccurrenceStack=this.RULE_OCCURRENCE_STACK;return map_default(explicitRuleStack,(ruleName,idx)=>0===idx?EOF_FOLLOW_KEY:{ruleName:this.shortRuleNameToFullName(ruleName),idxInCallingRule:explicitOccurrenceStack[idx],inRule:this.shortRuleNameToFullName(explicitRuleStack[idx-1])})}flattenFollowSet(){const followStack=map_default(this.buildFullFollowKeyStack(),currKey=>this.getFollowSetFromFollowKey(currKey));return flatten_default(followStack)}getFollowSetFromFollowKey(followKey){if(followKey===EOF_FOLLOW_KEY)return[EOF];const followName=followKey.ruleName+followKey.idxInCallingRule+"_~IN~_"+followKey.inRule;return this.resyncFollows[followName]}addToResyncTokens(token,resyncTokens){return this.tokenMatcher(token,EOF)||resyncTokens.push(token),resyncTokens}reSyncTo(tokType){const resyncedTokens=[];let nextTok=this.LA(1);for(;!1===this.tokenMatcher(nextTok,tokType);)nextTok=this.SKIP_TOKEN(),this.addToResyncTokens(nextTok,resyncedTokens);return dropRight_default(resyncedTokens)}attemptInRepetitionRecovery(prodFunc,args,lookaheadFunc,dslMethodIdx,prodOccurrence,nextToksWalker,notStuck){}getCurrentGrammarPath(tokType,tokIdxInRule){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:clone_default(this.RULE_OCCURRENCE_STACK),lastTok:tokType,lastTokOccurrence:tokIdxInRule}}getHumanReadableRuleStack(){return map_default(this.RULE_STACK,currShortName=>this.shortRuleNameToFullName(currShortName))}},"Recoverable"),_R);function attemptInRepetitionRecovery(prodFunc,args,lookaheadFunc,dslMethodIdx,prodOccurrence,nextToksWalker,notStuck){const key=this.getKeyForAutomaticLookahead(dslMethodIdx,prodOccurrence);let firstAfterRepInfo=this.firstAfterRepMap[key];if(void 0===firstAfterRepInfo){const currRuleName=this.getCurrRuleFullName();firstAfterRepInfo=new nextToksWalker(this.getGAstProductions()[currRuleName],prodOccurrence).startWalking(),this.firstAfterRepMap[key]=firstAfterRepInfo}let expectTokAfterLastMatch=firstAfterRepInfo.token,nextTokIdx=firstAfterRepInfo.occurrence;const isEndOfRule=firstAfterRepInfo.isEndOfRule;1===this.RULE_STACK.length&&isEndOfRule&&void 0===expectTokAfterLastMatch&&(expectTokAfterLastMatch=EOF,nextTokIdx=1),void 0!==expectTokAfterLastMatch&&void 0!==nextTokIdx&&this.shouldInRepetitionRecoveryBeTried(expectTokAfterLastMatch,nextTokIdx,notStuck)&&this.tryInRepetitionRecovery(prodFunc,args,lookaheadFunc,expectTokAfterLastMatch)}__name(attemptInRepetitionRecovery,"attemptInRepetitionRecovery");function getKeyForAutomaticLookahead(ruleIdx,dslMethodIdx,occurrence){return occurrence|dslMethodIdx|ruleIdx}__name(getKeyForAutomaticLookahead,"getKeyForAutomaticLookahead");var LLkLookaheadStrategy=(__name(_S=class{constructor(options){var _a2;this.maxLookahead=null!==(_a2=null==options?void 0:options.maxLookahead)&&void 0!==_a2?_a2:DEFAULT_PARSER_CONFIG.maxLookahead}validate(options){const leftRecursionErrors=this.validateNoLeftRecursion(options.rules);if(isEmpty_default(leftRecursionErrors)){const emptyAltErrors=this.validateEmptyOrAlternatives(options.rules),ambiguousAltsErrors=this.validateAmbiguousAlternationAlternatives(options.rules,this.maxLookahead),emptyRepetitionErrors=this.validateSomeNonEmptyLookaheadPath(options.rules,this.maxLookahead);return[...leftRecursionErrors,...emptyAltErrors,...ambiguousAltsErrors,...emptyRepetitionErrors]}return leftRecursionErrors}validateNoLeftRecursion(rules){return flatMap_default(rules,currTopRule=>validateNoLeftRecursion(currTopRule,currTopRule,defaultGrammarValidatorErrorProvider))}validateEmptyOrAlternatives(rules){return flatMap_default(rules,currTopRule=>validateEmptyOrAlternative(currTopRule,defaultGrammarValidatorErrorProvider))}validateAmbiguousAlternationAlternatives(rules,maxLookahead){return flatMap_default(rules,currTopRule=>validateAmbiguousAlternationAlternatives(currTopRule,maxLookahead,defaultGrammarValidatorErrorProvider))}validateSomeNonEmptyLookaheadPath(rules,maxLookahead){return validateSomeNonEmptyLookaheadPath(rules,maxLookahead,defaultGrammarValidatorErrorProvider)}buildLookaheadForAlternation(options){return buildLookaheadFuncForOr(options.prodOccurrence,options.rule,options.maxLookahead,options.hasPredicates,options.dynamicTokensEnabled,buildAlternativesLookAheadFunc)}buildLookaheadForOptional(options){return buildLookaheadFuncForOptionalProd(options.prodOccurrence,options.rule,options.maxLookahead,options.dynamicTokensEnabled,getProdType(options.prodType),buildSingleAlternativeLookaheadFunction)}},"LLkLookaheadStrategy"),_S),LooksAhead=(__name(_T=class{initLooksAhead(config){this.dynamicTokensEnabled=has_default(config,"dynamicTokensEnabled")?config.dynamicTokensEnabled:DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=has_default(config,"maxLookahead")?config.maxLookahead:DEFAULT_PARSER_CONFIG.maxLookahead,this.lookaheadStrategy=has_default(config,"lookaheadStrategy")?config.lookaheadStrategy:new LLkLookaheadStrategy({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(rules){forEach_default(rules,currRule=>{this.TRACE_INIT(`${currRule.name} Rule Lookahead`,()=>{const{alternation:alternation2,repetition:repetition2,option:option2,repetitionMandatory:repetitionMandatory2,repetitionMandatoryWithSeparator:repetitionMandatoryWithSeparator,repetitionWithSeparator:repetitionWithSeparator}=collectMethods(currRule);forEach_default(alternation2,currProd=>{const prodIdx=0===currProd.idx?"":currProd.idx;this.TRACE_INIT(`${getProductionDslName(currProd)}${prodIdx}`,()=>{const laFunc=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:currProd.idx,rule:currRule,maxLookahead:currProd.maxLookahead||this.maxLookahead,hasPredicates:currProd.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),key=getKeyForAutomaticLookahead(this.fullRuleNameToShort[currRule.name],256,currProd.idx);this.setLaFuncCache(key,laFunc)})}),forEach_default(repetition2,currProd=>{this.computeLookaheadFunc(currRule,currProd.idx,768,"Repetition",currProd.maxLookahead,getProductionDslName(currProd))}),forEach_default(option2,currProd=>{this.computeLookaheadFunc(currRule,currProd.idx,512,"Option",currProd.maxLookahead,getProductionDslName(currProd))}),forEach_default(repetitionMandatory2,currProd=>{this.computeLookaheadFunc(currRule,currProd.idx,1024,"RepetitionMandatory",currProd.maxLookahead,getProductionDslName(currProd))}),forEach_default(repetitionMandatoryWithSeparator,currProd=>{this.computeLookaheadFunc(currRule,currProd.idx,1536,"RepetitionMandatoryWithSeparator",currProd.maxLookahead,getProductionDslName(currProd))}),forEach_default(repetitionWithSeparator,currProd=>{this.computeLookaheadFunc(currRule,currProd.idx,1280,"RepetitionWithSeparator",currProd.maxLookahead,getProductionDslName(currProd))})})})}computeLookaheadFunc(rule,prodOccurrence,prodKey,prodType,prodMaxLookahead,dslMethodName){this.TRACE_INIT(`${dslMethodName}${0===prodOccurrence?"":prodOccurrence}`,()=>{const laFunc=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:prodOccurrence,rule:rule,maxLookahead:prodMaxLookahead||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:prodType}),key=getKeyForAutomaticLookahead(this.fullRuleNameToShort[rule.name],prodKey,prodOccurrence);this.setLaFuncCache(key,laFunc)})}getKeyForAutomaticLookahead(dslMethodIdx,occurrence){return getKeyForAutomaticLookahead(this.getLastExplicitRuleShortName(),dslMethodIdx,occurrence)}getLaFuncFromCache(key){return this.lookAheadFuncsCache.get(key)}setLaFuncCache(key,value){this.lookAheadFuncsCache.set(key,value)}},"LooksAhead"),_T),collectorVisitor=new(__name(_U=class extends GAstVisitor{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(option2){this.dslMethods.option.push(option2)}visitRepetitionWithSeparator(manySep){this.dslMethods.repetitionWithSeparator.push(manySep)}visitRepetitionMandatory(atLeastOne){this.dslMethods.repetitionMandatory.push(atLeastOne)}visitRepetitionMandatoryWithSeparator(atLeastOneSep){this.dslMethods.repetitionMandatoryWithSeparator.push(atLeastOneSep)}visitRepetition(many){this.dslMethods.repetition.push(many)}visitAlternation(or){this.dslMethods.alternation.push(or)}},"DslMethodsCollectorVisitor"),_U);function collectMethods(rule){collectorVisitor.reset(),rule.accept(collectorVisitor);const dslMethods=collectorVisitor.dslMethods;return collectorVisitor.reset(),dslMethods}function setNodeLocationOnlyOffset(currNodeLocation,newLocationInfo){!0===isNaN(currNodeLocation.startOffset)?(currNodeLocation.startOffset=newLocationInfo.startOffset,currNodeLocation.endOffset=newLocationInfo.endOffset):currNodeLocation.endOffset<newLocationInfo.endOffset==!0&&(currNodeLocation.endOffset=newLocationInfo.endOffset)}function setNodeLocationFull(currNodeLocation,newLocationInfo){!0===isNaN(currNodeLocation.startOffset)?(currNodeLocation.startOffset=newLocationInfo.startOffset,currNodeLocation.startColumn=newLocationInfo.startColumn,currNodeLocation.startLine=newLocationInfo.startLine,currNodeLocation.endOffset=newLocationInfo.endOffset,currNodeLocation.endColumn=newLocationInfo.endColumn,currNodeLocation.endLine=newLocationInfo.endLine):currNodeLocation.endOffset<newLocationInfo.endOffset==!0&&(currNodeLocation.endOffset=newLocationInfo.endOffset,currNodeLocation.endColumn=newLocationInfo.endColumn,currNodeLocation.endLine=newLocationInfo.endLine)}function addTerminalToCst(node,token,tokenTypeName){void 0===node.children[tokenTypeName]?node.children[tokenTypeName]=[token]:node.children[tokenTypeName].push(token)}function addNoneTerminalToCst(node,ruleName,ruleResult){void 0===node.children[ruleName]?node.children[ruleName]=[ruleResult]:node.children[ruleName].push(ruleResult)}__name(collectMethods,"collectMethods"),__name(setNodeLocationOnlyOffset,"setNodeLocationOnlyOffset"),__name(setNodeLocationFull,"setNodeLocationFull"),__name(addTerminalToCst,"addTerminalToCst"),__name(addNoneTerminalToCst,"addNoneTerminalToCst");var CstVisitorDefinitionError,CstVisitorDefinitionError2;function defineNameProp(obj,nameValue){Object.defineProperty(obj,"name",{enumerable:!1,configurable:!0,writable:!1,value:nameValue})}function defaultVisit(ctx,param){const childrenNames=keys_default(ctx),childrenNamesLength=childrenNames.length;for(let i=0;i<childrenNamesLength;i++){const currChildArray=ctx[childrenNames[i]],currChildArrayLength=currChildArray.length;for(let j=0;j<currChildArrayLength;j++){const currChild=currChildArray[j];void 0===currChild.tokenTypeIdx&&this[currChild.name](currChild.children,param)}}}function createBaseSemanticVisitorConstructor(grammarName,ruleNames){const derivedConstructor=__name(function(){},"derivedConstructor");defineNameProp(derivedConstructor,grammarName+"BaseSemantics");const semanticProto={visit:__name(function(cstNode,param){if(isArray_default(cstNode)&&(cstNode=cstNode[0]),!isUndefined_default(cstNode))return this[cstNode.name](cstNode.children,param)},"visit"),validateVisitor:__name(function(){const semanticDefinitionErrors=validateVisitor(this,ruleNames);if(!isEmpty_default(semanticDefinitionErrors)){const errorMessages=map_default(semanticDefinitionErrors,currDefError=>currDefError.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${errorMessages.join("\n\n").replace(/\n/g,"\n\t")}`)}},"validateVisitor")};return derivedConstructor.prototype=semanticProto,derivedConstructor.prototype.constructor=derivedConstructor,derivedConstructor._RULE_NAMES=ruleNames,derivedConstructor}function createBaseVisitorConstructorWithDefaults(grammarName,ruleNames,baseConstructor){const derivedConstructor=__name(function(){},"derivedConstructor");defineNameProp(derivedConstructor,grammarName+"BaseSemanticsWithDefaults");const withDefaultsProto=Object.create(baseConstructor.prototype);return forEach_default(ruleNames,ruleName=>{withDefaultsProto[ruleName]=defaultVisit}),derivedConstructor.prototype=withDefaultsProto,derivedConstructor.prototype.constructor=derivedConstructor,derivedConstructor}function validateVisitor(visitorInstance,ruleNames){return validateMissingCstMethods(visitorInstance,ruleNames)}function validateMissingCstMethods(visitorInstance,ruleNames){const missingRuleNames=filter_default(ruleNames,currRuleName=>!1===isFunction_default(visitorInstance[currRuleName])),errors=map_default(missingRuleNames,currRuleName=>({msg:`Missing visitor method: <${currRuleName}> on ${visitorInstance.constructor.name} CST Visitor.`,type:CstVisitorDefinitionError.MISSING_METHOD,methodName:currRuleName}));return compact_default(errors)}__name(defineNameProp,"defineNameProp"),__name(defaultVisit,"defaultVisit"),__name(createBaseSemanticVisitorConstructor,"createBaseSemanticVisitorConstructor"),__name(createBaseVisitorConstructorWithDefaults,"createBaseVisitorConstructorWithDefaults"),(CstVisitorDefinitionError2=CstVisitorDefinitionError||(CstVisitorDefinitionError={}))[CstVisitorDefinitionError2.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",CstVisitorDefinitionError2[CstVisitorDefinitionError2.MISSING_METHOD=1]="MISSING_METHOD",__name(validateVisitor,"validateVisitor"),__name(validateMissingCstMethods,"validateMissingCstMethods");var TreeBuilder=(__name(_V=class{initTreeBuilder(config){if(this.CST_STACK=[],this.outputCst=config.outputCst,this.nodeLocationTracking=has_default(config,"nodeLocationTracking")?config.nodeLocationTracking:DEFAULT_PARSER_CONFIG.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=setNodeLocationFull,this.setNodeLocationFromNode=setNodeLocationFull,this.cstPostRule=noop_default,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=noop_default,this.setNodeLocationFromNode=noop_default,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=setNodeLocationOnlyOffset,this.setNodeLocationFromNode=setNodeLocationOnlyOffset,this.cstPostRule=noop_default,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=noop_default,this.setNodeLocationFromNode=noop_default,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${config.nodeLocationTracking}"`);this.setNodeLocationFromToken=noop_default,this.setNodeLocationFromNode=noop_default,this.cstPostRule=noop_default,this.setInitialNodeLocation=noop_default}else this.cstInvocationStateUpdate=noop_default,this.cstFinallyStateUpdate=noop_default,this.cstPostTerminal=noop_default,this.cstPostNonTerminal=noop_default,this.cstPostRule=noop_default}setInitialNodeLocationOnlyOffsetRecovery(cstNode){cstNode.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(cstNode){cstNode.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(cstNode){cstNode.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(cstNode){const nextToken=this.LA(1);cstNode.location={startOffset:nextToken.startOffset,startLine:nextToken.startLine,startColumn:nextToken.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(fullRuleName){const cstNode={name:fullRuleName,children:Object.create(null)};this.setInitialNodeLocation(cstNode),this.CST_STACK.push(cstNode)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(ruleCstNode){const prevToken=this.LA(0),loc=ruleCstNode.location;loc.startOffset<=prevToken.startOffset==!0?(loc.endOffset=prevToken.endOffset,loc.endLine=prevToken.endLine,loc.endColumn=prevToken.endColumn):(loc.startOffset=NaN,loc.startLine=NaN,loc.startColumn=NaN)}cstPostRuleOnlyOffset(ruleCstNode){const prevToken=this.LA(0),loc=ruleCstNode.location;loc.startOffset<=prevToken.startOffset==!0?loc.endOffset=prevToken.endOffset:loc.startOffset=NaN}cstPostTerminal(key,consumedToken){const rootCst=this.CST_STACK[this.CST_STACK.length-1];addTerminalToCst(rootCst,consumedToken,key),this.setNodeLocationFromToken(rootCst.location,consumedToken)}cstPostNonTerminal(ruleCstResult,ruleName){const preCstNode=this.CST_STACK[this.CST_STACK.length-1];addNoneTerminalToCst(preCstNode,ruleName,ruleCstResult),this.setNodeLocationFromNode(preCstNode.location,ruleCstResult.location)}getBaseCstVisitorConstructor(){if(isUndefined_default(this.baseCstVisitorConstructor)){const newBaseCstVisitorConstructor=createBaseSemanticVisitorConstructor(this.className,keys_default(this.gastProductionsCache));return this.baseCstVisitorConstructor=newBaseCstVisitorConstructor,newBaseCstVisitorConstructor}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(isUndefined_default(this.baseCstVisitorWithDefaultsConstructor)){const newConstructor=createBaseVisitorConstructorWithDefaults(this.className,keys_default(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=newConstructor,newConstructor}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const ruleStack=this.RULE_STACK;return ruleStack[ruleStack.length-1]}getPreviousExplicitRuleShortName(){const ruleStack=this.RULE_STACK;return ruleStack[ruleStack.length-2]}getLastExplicitRuleOccurrenceIndex(){const occurrenceStack=this.RULE_OCCURRENCE_STACK;return occurrenceStack[occurrenceStack.length-1]}},"TreeBuilder"),_V),LexerAdapter=(__name(_W=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(newInput){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=newInput,this.tokVectorLength=newInput.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):END_OF_FILE}LA(howMuch){const soughtIdx=this.currIdx+howMuch;return soughtIdx<0||this.tokVectorLength<=soughtIdx?END_OF_FILE:this.tokVector[soughtIdx]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(newState2){this.currIdx=newState2}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},"LexerAdapter"),_W),RecognizerApi=(__name(_X=class{ACTION(impl){return impl.call(this)}consume(idx,tokType,options){return this.consumeInternal(tokType,idx,options)}subrule(idx,ruleToCall,options){return this.subruleInternal(ruleToCall,idx,options)}option(idx,actionORMethodDef){return this.optionInternal(actionORMethodDef,idx)}or(idx,altsOrOpts){return this.orInternal(altsOrOpts,idx)}many(idx,actionORMethodDef){return this.manyInternal(idx,actionORMethodDef)}atLeastOne(idx,actionORMethodDef){return this.atLeastOneInternal(idx,actionORMethodDef)}CONSUME(tokType,options){return this.consumeInternal(tokType,0,options)}CONSUME1(tokType,options){return this.consumeInternal(tokType,1,options)}CONSUME2(tokType,options){return this.consumeInternal(tokType,2,options)}CONSUME3(tokType,options){return this.consumeInternal(tokType,3,options)}CONSUME4(tokType,options){return this.consumeInternal(tokType,4,options)}CONSUME5(tokType,options){return this.consumeInternal(tokType,5,options)}CONSUME6(tokType,options){return this.consumeInternal(tokType,6,options)}CONSUME7(tokType,options){return this.consumeInternal(tokType,7,options)}CONSUME8(tokType,options){return this.consumeInternal(tokType,8,options)}CONSUME9(tokType,options){return this.consumeInternal(tokType,9,options)}SUBRULE(ruleToCall,options){return this.subruleInternal(ruleToCall,0,options)}SUBRULE1(ruleToCall,options){return this.subruleInternal(ruleToCall,1,options)}SUBRULE2(ruleToCall,options){return this.subruleInternal(ruleToCall,2,options)}SUBRULE3(ruleToCall,options){return this.subruleInternal(ruleToCall,3,options)}SUBRULE4(ruleToCall,options){return this.subruleInternal(ruleToCall,4,options)}SUBRULE5(ruleToCall,options){return this.subruleInternal(ruleToCall,5,options)}SUBRULE6(ruleToCall,options){return this.subruleInternal(ruleToCall,6,options)}SUBRULE7(ruleToCall,options){return this.subruleInternal(ruleToCall,7,options)}SUBRULE8(ruleToCall,options){return this.subruleInternal(ruleToCall,8,options)}SUBRULE9(ruleToCall,options){return this.subruleInternal(ruleToCall,9,options)}OPTION(actionORMethodDef){return this.optionInternal(actionORMethodDef,0)}OPTION1(actionORMethodDef){return this.optionInternal(actionORMethodDef,1)}OPTION2(actionORMethodDef){return this.optionInternal(actionORMethodDef,2)}OPTION3(actionORMethodDef){return this.optionInternal(actionORMethodDef,3)}OPTION4(actionORMethodDef){return this.optionInternal(actionORMethodDef,4)}OPTION5(actionORMethodDef){return this.optionInternal(actionORMethodDef,5)}OPTION6(actionORMethodDef){return this.optionInternal(actionORMethodDef,6)}OPTION7(actionORMethodDef){return this.optionInternal(actionORMethodDef,7)}OPTION8(actionORMethodDef){return this.optionInternal(actionORMethodDef,8)}OPTION9(actionORMethodDef){return this.optionInternal(actionORMethodDef,9)}OR(altsOrOpts){return this.orInternal(altsOrOpts,0)}OR1(altsOrOpts){return this.orInternal(altsOrOpts,1)}OR2(altsOrOpts){return this.orInternal(altsOrOpts,2)}OR3(altsOrOpts){return this.orInternal(altsOrOpts,3)}OR4(altsOrOpts){return this.orInternal(altsOrOpts,4)}OR5(altsOrOpts){return this.orInternal(altsOrOpts,5)}OR6(altsOrOpts){return this.orInternal(altsOrOpts,6)}OR7(altsOrOpts){return this.orInternal(altsOrOpts,7)}OR8(altsOrOpts){return this.orInternal(altsOrOpts,8)}OR9(altsOrOpts){return this.orInternal(altsOrOpts,9)}MANY(actionORMethodDef){this.manyInternal(0,actionORMethodDef)}MANY1(actionORMethodDef){this.manyInternal(1,actionORMethodDef)}MANY2(actionORMethodDef){this.manyInternal(2,actionORMethodDef)}MANY3(actionORMethodDef){this.manyInternal(3,actionORMethodDef)}MANY4(actionORMethodDef){this.manyInternal(4,actionORMethodDef)}MANY5(actionORMethodDef){this.manyInternal(5,actionORMethodDef)}MANY6(actionORMethodDef){this.manyInternal(6,actionORMethodDef)}MANY7(actionORMethodDef){this.manyInternal(7,actionORMethodDef)}MANY8(actionORMethodDef){this.manyInternal(8,actionORMethodDef)}MANY9(actionORMethodDef){this.manyInternal(9,actionORMethodDef)}MANY_SEP(options){this.manySepFirstInternal(0,options)}MANY_SEP1(options){this.manySepFirstInternal(1,options)}MANY_SEP2(options){this.manySepFirstInternal(2,options)}MANY_SEP3(options){this.manySepFirstInternal(3,options)}MANY_SEP4(options){this.manySepFirstInternal(4,options)}MANY_SEP5(options){this.manySepFirstInternal(5,options)}MANY_SEP6(options){this.manySepFirstInternal(6,options)}MANY_SEP7(options){this.manySepFirstInternal(7,options)}MANY_SEP8(options){this.manySepFirstInternal(8,options)}MANY_SEP9(options){this.manySepFirstInternal(9,options)}AT_LEAST_ONE(actionORMethodDef){this.atLeastOneInternal(0,actionORMethodDef)}AT_LEAST_ONE1(actionORMethodDef){return this.atLeastOneInternal(1,actionORMethodDef)}AT_LEAST_ONE2(actionORMethodDef){this.atLeastOneInternal(2,actionORMethodDef)}AT_LEAST_ONE3(actionORMethodDef){this.atLeastOneInternal(3,actionORMethodDef)}AT_LEAST_ONE4(actionORMethodDef){this.atLeastOneInternal(4,actionORMethodDef)}AT_LEAST_ONE5(actionORMethodDef){this.atLeastOneInternal(5,actionORMethodDef)}AT_LEAST_ONE6(actionORMethodDef){this.atLeastOneInternal(6,actionORMethodDef)}AT_LEAST_ONE7(actionORMethodDef){this.atLeastOneInternal(7,actionORMethodDef)}AT_LEAST_ONE8(actionORMethodDef){this.atLeastOneInternal(8,actionORMethodDef)}AT_LEAST_ONE9(actionORMethodDef){this.atLeastOneInternal(9,actionORMethodDef)}AT_LEAST_ONE_SEP(options){this.atLeastOneSepFirstInternal(0,options)}AT_LEAST_ONE_SEP1(options){this.atLeastOneSepFirstInternal(1,options)}AT_LEAST_ONE_SEP2(options){this.atLeastOneSepFirstInternal(2,options)}AT_LEAST_ONE_SEP3(options){this.atLeastOneSepFirstInternal(3,options)}AT_LEAST_ONE_SEP4(options){this.atLeastOneSepFirstInternal(4,options)}AT_LEAST_ONE_SEP5(options){this.atLeastOneSepFirstInternal(5,options)}AT_LEAST_ONE_SEP6(options){this.atLeastOneSepFirstInternal(6,options)}AT_LEAST_ONE_SEP7(options){this.atLeastOneSepFirstInternal(7,options)}AT_LEAST_ONE_SEP8(options){this.atLeastOneSepFirstInternal(8,options)}AT_LEAST_ONE_SEP9(options){this.atLeastOneSepFirstInternal(9,options)}RULE(name,implementation,config=DEFAULT_RULE_CONFIG){if(includes_default(this.definedRulesNames,name)){const error={message:defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:name,grammarName:this.className}),type:ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:name};this.definitionErrors.push(error)}this.definedRulesNames.push(name);const ruleImplementation=this.defineRule(name,implementation,config);return this[name]=ruleImplementation,ruleImplementation}OVERRIDE_RULE(name,impl,config=DEFAULT_RULE_CONFIG){const ruleErrors=validateRuleIsOverridden(name,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(ruleErrors);const ruleImplementation=this.defineRule(name,impl,config);return this[name]=ruleImplementation,ruleImplementation}BACKTRACK(grammarRule,args){return function(){this.isBackTrackingStack.push(1);const orgState=this.saveRecogState();try{return grammarRule.apply(this,args),!0}catch(e){if(isRecognitionException(e))return!1;throw e}finally{this.reloadRecogState(orgState),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return serializeGrammar(values_default(this.gastProductionsCache))}},"RecognizerApi"),_X),RecognizerEngine=(__name(_Y=class{initRecognizerEngine(tokenVocabulary,config){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=tokenStructuredMatcherNoCategories,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},has_default(config,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if(isArray_default(tokenVocabulary)){if(isEmpty_default(tokenVocabulary))throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).");if("number"==typeof tokenVocabulary[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if(isArray_default(tokenVocabulary))this.tokensMap=reduce_default(tokenVocabulary,(acc,tokType)=>(acc[tokType.name]=tokType,acc),{});else if(has_default(tokenVocabulary,"modes")&&every_default(flatten_default(values_default(tokenVocabulary.modes)),isTokenType)){const allTokenTypes2=flatten_default(values_default(tokenVocabulary.modes)),uniqueTokens=uniq_default(allTokenTypes2);this.tokensMap=reduce_default(uniqueTokens,(acc,tokType)=>(acc[tokType.name]=tokType,acc),{})}else{if(!isObject_default(tokenVocabulary))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=clone_default(tokenVocabulary)}this.tokensMap.EOF=EOF;const allTokenTypes=has_default(tokenVocabulary,"modes")?flatten_default(values_default(tokenVocabulary.modes)):values_default(tokenVocabulary),noTokenCategoriesUsed=every_default(allTokenTypes,tokenConstructor=>isEmpty_default(tokenConstructor.categoryMatches));this.tokenMatcher=noTokenCategoriesUsed?tokenStructuredMatcherNoCategories:tokenStructuredMatcher,augmentTokenTypes(values_default(this.tokensMap))}defineRule(ruleName,impl,config){if(this.selfAnalysisDone)throw Error(`Grammar rule <${ruleName}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const resyncEnabled=has_default(config,"resyncEnabled")?config.resyncEnabled:DEFAULT_RULE_CONFIG.resyncEnabled,recoveryValueFunc=has_default(config,"recoveryValueFunc")?config.recoveryValueFunc:DEFAULT_RULE_CONFIG.recoveryValueFunc,shortName=this.ruleShortNameIdx<<12;let invokeRuleWithTry;this.ruleShortNameIdx++,this.shortRuleNameToFull[shortName]=ruleName,this.fullRuleNameToShort[ruleName]=shortName,invokeRuleWithTry=!0===this.outputCst?__name(function(...args){try{this.ruleInvocationStateUpdate(shortName,ruleName,this.subruleIdx),impl.apply(this,args);const cst=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(cst),cst}catch(e){return this.invokeRuleCatch(e,resyncEnabled,recoveryValueFunc)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):__name(function(...args){try{return this.ruleInvocationStateUpdate(shortName,ruleName,this.subruleIdx),impl.apply(this,args)}catch(e){return this.invokeRuleCatch(e,resyncEnabled,recoveryValueFunc)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst");return Object.assign(invokeRuleWithTry,{ruleName:ruleName,originalGrammarAction:impl})}invokeRuleCatch(e,resyncEnabledConfig,recoveryValueFunc){const isFirstInvokedRule=1===this.RULE_STACK.length,reSyncEnabled=resyncEnabledConfig&&!this.isBackTracking()&&this.recoveryEnabled;if(isRecognitionException(e)){const recogError=e;if(reSyncEnabled){const reSyncTokType=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(reSyncTokType)){if(recogError.resyncedTokens=this.reSyncTo(reSyncTokType),this.outputCst){const partialCstResult=this.CST_STACK[this.CST_STACK.length-1];return partialCstResult.recoveredNode=!0,partialCstResult}return recoveryValueFunc(e)}if(this.outputCst){const partialCstResult=this.CST_STACK[this.CST_STACK.length-1];partialCstResult.recoveredNode=!0,recogError.partialCstResult=partialCstResult}throw recogError}if(isFirstInvokedRule)return this.moveToTerminatedState(),recoveryValueFunc(e);throw recogError}throw e}optionInternal(actionORMethodDef,occurrence){const key=this.getKeyForAutomaticLookahead(512,occurrence);return this.optionInternalLogic(actionORMethodDef,occurrence,key)}optionInternalLogic(actionORMethodDef,occurrence,key){let action,lookAheadFunc=this.getLaFuncFromCache(key);if("function"!=typeof actionORMethodDef){action=actionORMethodDef.DEF;const predicate=actionORMethodDef.GATE;if(void 0!==predicate){const orgLookaheadFunction=lookAheadFunc;lookAheadFunc=__name(()=>predicate.call(this)&&orgLookaheadFunction.call(this),"lookAheadFunc")}}else action=actionORMethodDef;if(!0===lookAheadFunc.call(this))return action.call(this)}atLeastOneInternal(prodOccurrence,actionORMethodDef){const laKey=this.getKeyForAutomaticLookahead(1024,prodOccurrence);return this.atLeastOneInternalLogic(prodOccurrence,actionORMethodDef,laKey)}atLeastOneInternalLogic(prodOccurrence,actionORMethodDef,key){let action,lookAheadFunc=this.getLaFuncFromCache(key);if("function"!=typeof actionORMethodDef){action=actionORMethodDef.DEF;const predicate=actionORMethodDef.GATE;if(void 0!==predicate){const orgLookaheadFunction=lookAheadFunc;lookAheadFunc=__name(()=>predicate.call(this)&&orgLookaheadFunction.call(this),"lookAheadFunc")}}else action=actionORMethodDef;if(!0!==lookAheadFunc.call(this))throw this.raiseEarlyExitException(prodOccurrence,PROD_TYPE.REPETITION_MANDATORY,actionORMethodDef.ERR_MSG);{let notStuck=this.doSingleRepetition(action);for(;!0===lookAheadFunc.call(this)&&!0===notStuck;)notStuck=this.doSingleRepetition(action)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[prodOccurrence,actionORMethodDef],lookAheadFunc,1024,prodOccurrence,NextTerminalAfterAtLeastOneWalker)}atLeastOneSepFirstInternal(prodOccurrence,options){const laKey=this.getKeyForAutomaticLookahead(1536,prodOccurrence);this.atLeastOneSepFirstInternalLogic(prodOccurrence,options,laKey)}atLeastOneSepFirstInternalLogic(prodOccurrence,options,key){const action=options.DEF,separator=options.SEP;if(!0!==this.getLaFuncFromCache(key).call(this))throw this.raiseEarlyExitException(prodOccurrence,PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,options.ERR_MSG);{action.call(this);const separatorLookAheadFunc=__name(()=>this.tokenMatcher(this.LA(1),separator),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),separator);)this.CONSUME(separator),action.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[prodOccurrence,separator,separatorLookAheadFunc,action,NextTerminalAfterAtLeastOneSepWalker],separatorLookAheadFunc,1536,prodOccurrence,NextTerminalAfterAtLeastOneSepWalker)}}manyInternal(prodOccurrence,actionORMethodDef){const laKey=this.getKeyForAutomaticLookahead(768,prodOccurrence);return this.manyInternalLogic(prodOccurrence,actionORMethodDef,laKey)}manyInternalLogic(prodOccurrence,actionORMethodDef,key){let action,lookaheadFunction=this.getLaFuncFromCache(key);if("function"!=typeof actionORMethodDef){action=actionORMethodDef.DEF;const predicate=actionORMethodDef.GATE;if(void 0!==predicate){const orgLookaheadFunction=lookaheadFunction;lookaheadFunction=__name(()=>predicate.call(this)&&orgLookaheadFunction.call(this),"lookaheadFunction")}}else action=actionORMethodDef;let notStuck=!0;for(;!0===lookaheadFunction.call(this)&&!0===notStuck;)notStuck=this.doSingleRepetition(action);this.attemptInRepetitionRecovery(this.manyInternal,[prodOccurrence,actionORMethodDef],lookaheadFunction,768,prodOccurrence,NextTerminalAfterManyWalker,notStuck)}manySepFirstInternal(prodOccurrence,options){const laKey=this.getKeyForAutomaticLookahead(1280,prodOccurrence);this.manySepFirstInternalLogic(prodOccurrence,options,laKey)}manySepFirstInternalLogic(prodOccurrence,options,key){const action=options.DEF,separator=options.SEP;if(!0===this.getLaFuncFromCache(key).call(this)){action.call(this);const separatorLookAheadFunc=__name(()=>this.tokenMatcher(this.LA(1),separator),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),separator);)this.CONSUME(separator),action.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[prodOccurrence,separator,separatorLookAheadFunc,action,NextTerminalAfterManySepWalker],separatorLookAheadFunc,1280,prodOccurrence,NextTerminalAfterManySepWalker)}}repetitionSepSecondInternal(prodOccurrence,separator,separatorLookAheadFunc,action,nextTerminalAfterWalker){for(;separatorLookAheadFunc();)this.CONSUME(separator),action.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[prodOccurrence,separator,separatorLookAheadFunc,action,nextTerminalAfterWalker],separatorLookAheadFunc,1536,prodOccurrence,nextTerminalAfterWalker)}doSingleRepetition(action){const beforeIteration=this.getLexerPosition();action.call(this);return this.getLexerPosition()>beforeIteration}orInternal(altsOrOpts,occurrence){const laKey=this.getKeyForAutomaticLookahead(256,occurrence),alts=isArray_default(altsOrOpts)?altsOrOpts:altsOrOpts.DEF,altIdxToTake=this.getLaFuncFromCache(laKey).call(this,alts);if(void 0!==altIdxToTake){return alts[altIdxToTake].ALT.call(this)}this.raiseNoAltException(occurrence,altsOrOpts.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){const firstRedundantTok=this.LA(1),errMsg=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:firstRedundantTok,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new NotAllInputParsedException(errMsg,firstRedundantTok))}}subruleInternal(ruleToCall,idx,options){let ruleResult;try{const args=void 0!==options?options.ARGS:void 0;return this.subruleIdx=idx,ruleResult=ruleToCall.apply(this,args),this.cstPostNonTerminal(ruleResult,void 0!==options&&void 0!==options.LABEL?options.LABEL:ruleToCall.ruleName),ruleResult}catch(e){throw this.subruleInternalError(e,options,ruleToCall.ruleName)}}subruleInternalError(e,options,ruleName){throw isRecognitionException(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==options&&void 0!==options.LABEL?options.LABEL:ruleName),delete e.partialCstResult),e}consumeInternal(tokType,idx,options){let consumedToken;try{const nextToken=this.LA(1);!0===this.tokenMatcher(nextToken,tokType)?(this.consumeToken(),consumedToken=nextToken):this.consumeInternalError(tokType,nextToken,options)}catch(eFromConsumption){consumedToken=this.consumeInternalRecovery(tokType,idx,eFromConsumption)}return this.cstPostTerminal(void 0!==options&&void 0!==options.LABEL?options.LABEL:tokType.name,consumedToken),consumedToken}consumeInternalError(tokType,nextToken,options){let msg;const previousToken=this.LA(0);throw msg=void 0!==options&&options.ERR_MSG?options.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:tokType,actual:nextToken,previous:previousToken,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new MismatchedTokenException(msg,nextToken,previousToken))}consumeInternalRecovery(tokType,idx,eFromConsumption){if(!this.recoveryEnabled||"MismatchedTokenException"!==eFromConsumption.name||this.isBackTracking())throw eFromConsumption;{const follows=this.getFollowsForInRuleRecovery(tokType,idx);try{return this.tryInRuleRecovery(tokType,follows)}catch(eFromInRuleRecovery){throw"InRuleRecoveryException"===eFromInRuleRecovery.name?eFromConsumption:eFromInRuleRecovery}}}saveRecogState(){const savedErrors=this.errors,savedRuleStack=clone_default(this.RULE_STACK);return{errors:savedErrors,lexerState:this.exportLexerState(),RULE_STACK:savedRuleStack,CST_STACK:this.CST_STACK}}reloadRecogState(newState2){this.errors=newState2.errors,this.importLexerState(newState2.lexerState),this.RULE_STACK=newState2.RULE_STACK}ruleInvocationStateUpdate(shortName,fullName,idxInCallingRule){this.RULE_OCCURRENCE_STACK.push(idxInCallingRule),this.RULE_STACK.push(shortName),this.cstInvocationStateUpdate(fullName)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){const shortName=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[shortName]}shortRuleNameToFullName(shortName){return this.shortRuleNameToFull[shortName]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),EOF)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},"RecognizerEngine"),_Y),ErrorHandler=(__name(_Z=class{initErrorHandler(config){this._errors=[],this.errorMessageProvider=has_default(config,"errorMessageProvider")?config.errorMessageProvider:DEFAULT_PARSER_CONFIG.errorMessageProvider}SAVE_ERROR(error){if(isRecognitionException(error))return error.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:clone_default(this.RULE_OCCURRENCE_STACK)},this._errors.push(error),error;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return clone_default(this._errors)}set errors(newErrors){this._errors=newErrors}raiseEarlyExitException(occurrence,prodType,userDefinedErrMsg){const ruleName=this.getCurrRuleFullName(),insideProdPaths=getLookaheadPathsForOptionalProd(occurrence,this.getGAstProductions()[ruleName],prodType,this.maxLookahead)[0],actualTokens=[];for(let i=1;i<=this.maxLookahead;i++)actualTokens.push(this.LA(i));const msg=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:insideProdPaths,actual:actualTokens,previous:this.LA(0),customUserDescription:userDefinedErrMsg,ruleName:ruleName});throw this.SAVE_ERROR(new EarlyExitException(msg,this.LA(1),this.LA(0)))}raiseNoAltException(occurrence,errMsgTypes){const ruleName=this.getCurrRuleFullName(),lookAheadPathsPerAlternative=getLookaheadPathsForOr(occurrence,this.getGAstProductions()[ruleName],this.maxLookahead),actualTokens=[];for(let i=1;i<=this.maxLookahead;i++)actualTokens.push(this.LA(i));const previousToken=this.LA(0),errMsg=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:lookAheadPathsPerAlternative,actual:actualTokens,previous:previousToken,customUserDescription:errMsgTypes,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new NoViableAltException(errMsg,this.LA(1),previousToken))}},"ErrorHandler"),_Z),ContentAssist=(__name(__=class{initContentAssist(){}computeContentAssist(startRuleName,precedingInput){const startRuleGast=this.gastProductionsCache[startRuleName];if(isUndefined_default(startRuleGast))throw Error(`Rule ->${startRuleName}<- does not exist in this grammar.`);return nextPossibleTokensAfter([startRuleGast],precedingInput,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(grammarPath){const topRuleName=head_default(grammarPath.ruleStack),topProduction=this.getGAstProductions()[topRuleName];return new NextAfterTokenWalker(topProduction,grammarPath).startWalking()}},"ContentAssist"),__),RECORDING_NULL_OBJECT={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(RECORDING_NULL_OBJECT);var MAX_METHOD_IDX=Math.pow(2,8)-1,RFT=createToken({name:"RECORDING_PHASE_TOKEN",pattern:Lexer.NA});augmentTokenTypes([RFT]);var RECORDING_PHASE_TOKEN=createTokenInstance(RFT,"This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(RECORDING_PHASE_TOKEN);var RECORDING_PHASE_CSTNODE={name:"This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}},GastRecorder=(__name(_$=class{initGastRecorder(config){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let i=0;i<10;i++){const idx=i>0?i:"";this[`CONSUME${idx}`]=function(arg1,arg2){return this.consumeInternalRecord(arg1,i,arg2)},this[`SUBRULE${idx}`]=function(arg1,arg2){return this.subruleInternalRecord(arg1,i,arg2)},this[`OPTION${idx}`]=function(arg1){return this.optionInternalRecord(arg1,i)},this[`OR${idx}`]=function(arg1){return this.orInternalRecord(arg1,i)},this[`MANY${idx}`]=function(arg1){this.manyInternalRecord(i,arg1)},this[`MANY_SEP${idx}`]=function(arg1){this.manySepFirstInternalRecord(i,arg1)},this[`AT_LEAST_ONE${idx}`]=function(arg1){this.atLeastOneInternalRecord(i,arg1)},this[`AT_LEAST_ONE_SEP${idx}`]=function(arg1){this.atLeastOneSepFirstInternalRecord(i,arg1)}}this.consume=function(idx,arg1,arg2){return this.consumeInternalRecord(arg1,idx,arg2)},this.subrule=function(idx,arg1,arg2){return this.subruleInternalRecord(arg1,idx,arg2)},this.option=function(idx,arg1){return this.optionInternalRecord(arg1,idx)},this.or=function(idx,arg1){return this.orInternalRecord(arg1,idx)},this.many=function(idx,arg1){this.manyInternalRecord(idx,arg1)},this.atLeastOne=function(idx,arg1){this.atLeastOneInternalRecord(idx,arg1)},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 that=this;for(let i=0;i<10;i++){const idx=i>0?i:"";delete that[`CONSUME${idx}`],delete that[`SUBRULE${idx}`],delete that[`OPTION${idx}`],delete that[`OR${idx}`],delete that[`MANY${idx}`],delete that[`MANY_SEP${idx}`],delete that[`AT_LEAST_ONE${idx}`],delete that[`AT_LEAST_ONE_SEP${idx}`]}delete that.consume,delete that.subrule,delete that.option,delete that.or,delete that.many,delete that.atLeastOne,delete that.ACTION,delete that.BACKTRACK,delete that.LA})}ACTION_RECORD(impl){}BACKTRACK_RECORD(grammarRule,args){return()=>!0}LA_RECORD(howMuch){return END_OF_FILE}topLevelRuleRecord(name,def){try{const newTopLevelRule=new Rule({definition:[],name:name});return newTopLevelRule.name=name,this.recordingProdStack.push(newTopLevelRule),def.call(this),this.recordingProdStack.pop(),newTopLevelRule}catch(originalError){if(!0!==originalError.KNOWN_RECORDER_ERROR)try{originalError.message=originalError.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(mutabilityError){throw originalError}throw originalError}}optionInternalRecord(actionORMethodDef,occurrence){return recordProd.call(this,Option,actionORMethodDef,occurrence)}atLeastOneInternalRecord(occurrence,actionORMethodDef){recordProd.call(this,RepetitionMandatory,actionORMethodDef,occurrence)}atLeastOneSepFirstInternalRecord(occurrence,options){recordProd.call(this,RepetitionMandatoryWithSeparator,options,occurrence,true)}manyInternalRecord(occurrence,actionORMethodDef){recordProd.call(this,Repetition,actionORMethodDef,occurrence)}manySepFirstInternalRecord(occurrence,options){recordProd.call(this,RepetitionWithSeparator,options,occurrence,true)}orInternalRecord(altsOrOpts,occurrence){return recordOrProd.call(this,altsOrOpts,occurrence)}subruleInternalRecord(ruleToCall,occurrence,options){if(assertMethodIdxIsValid(occurrence),!ruleToCall||!1===has_default(ruleToCall,"ruleName")){const error=new Error(`<SUBRULE${getIdxSuffix(occurrence)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(ruleToCall)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw error.KNOWN_RECORDER_ERROR=!0,error}const prevProd=last_default(this.recordingProdStack),ruleName=ruleToCall.ruleName,newNoneTerminal=new NonTerminal({idx:occurrence,nonTerminalName:ruleName,label:null==options?void 0:options.LABEL,referencedRule:void 0});return prevProd.definition.push(newNoneTerminal),this.outputCst?RECORDING_PHASE_CSTNODE:RECORDING_NULL_OBJECT}consumeInternalRecord(tokType,occurrence,options){if(assertMethodIdxIsValid(occurrence),!hasShortKeyProperty(tokType)){const error=new Error(`<CONSUME${getIdxSuffix(occurrence)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(tokType)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw error.KNOWN_RECORDER_ERROR=!0,error}const prevProd=last_default(this.recordingProdStack),newNoneTerminal=new Terminal({idx:occurrence,terminalType:tokType,label:null==options?void 0:options.LABEL});return prevProd.definition.push(newNoneTerminal),RECORDING_PHASE_TOKEN}},"GastRecorder"),_$);function recordProd(prodConstructor,mainProdArg,occurrence,handleSep=!1){assertMethodIdxIsValid(occurrence);const prevProd=last_default(this.recordingProdStack),grammarAction=isFunction_default(mainProdArg)?mainProdArg:mainProdArg.DEF,newProd=new prodConstructor({definition:[],idx:occurrence});return handleSep&&(newProd.separator=mainProdArg.SEP),has_default(mainProdArg,"MAX_LOOKAHEAD")&&(newProd.maxLookahead=mainProdArg.MAX_LOOKAHEAD),this.recordingProdStack.push(newProd),grammarAction.call(this),prevProd.definition.push(newProd),this.recordingProdStack.pop(),RECORDING_NULL_OBJECT}function recordOrProd(mainProdArg,occurrence){assertMethodIdxIsValid(occurrence);const prevProd=last_default(this.recordingProdStack),hasOptions=!1===isArray_default(mainProdArg),alts=!1===hasOptions?mainProdArg:mainProdArg.DEF,newOrProd=new Alternation({definition:[],idx:occurrence,ignoreAmbiguities:hasOptions&&!0===mainProdArg.IGNORE_AMBIGUITIES});has_default(mainProdArg,"MAX_LOOKAHEAD")&&(newOrProd.maxLookahead=mainProdArg.MAX_LOOKAHEAD);const hasPredicates=some_default(alts,currAlt=>isFunction_default(currAlt.GATE));return newOrProd.hasPredicates=hasPredicates,prevProd.definition.push(newOrProd),forEach_default(alts,currAlt=>{const currAltFlat=new Alternative({definition:[]});newOrProd.definition.push(currAltFlat),has_default(currAlt,"IGNORE_AMBIGUITIES")?currAltFlat.ignoreAmbiguities=currAlt.IGNORE_AMBIGUITIES:has_default(currAlt,"GATE")&&(currAltFlat.ignoreAmbiguities=!0),this.recordingProdStack.push(currAltFlat),currAlt.ALT.call(this),this.recordingProdStack.pop()}),RECORDING_NULL_OBJECT}function getIdxSuffix(idx){return 0===idx?"":`${idx}`}function assertMethodIdxIsValid(idx){if(idx<0||idx>MAX_METHOD_IDX){const error=new Error(`Invalid DSL Method idx value: <${idx}>\n\tIdx value must be a none negative value smaller than ${MAX_METHOD_IDX+1}`);throw error.KNOWN_RECORDER_ERROR=!0,error}}__name(recordProd,"recordProd"),__name(recordOrProd,"recordOrProd"),__name(getIdxSuffix,"getIdxSuffix"),__name(assertMethodIdxIsValid,"assertMethodIdxIsValid");var PerformanceTracer=(__name(_aa=class{initPerformanceTracer(config){if(has_default(config,"traceInitPerf")){const userTraceInitPerf=config.traceInitPerf,traceIsNumber="number"==typeof userTraceInitPerf;this.traceInitMaxIdent=traceIsNumber?userTraceInitPerf:1/0,this.traceInitPerf=traceIsNumber?userTraceInitPerf>0:userTraceInitPerf}else this.traceInitMaxIdent=0,this.traceInitPerf=DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(phaseDesc,phaseImpl){if(!0===this.traceInitPerf){this.traceInitIndent++;const indent=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${indent}--\x3e <${phaseDesc}>`);const{time:time,value:value}=timer(phaseImpl),traceMethod=time>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&traceMethod(`${indent}<-- <${phaseDesc}> time: ${time}ms`),this.traceInitIndent--,value}return phaseImpl()}},"PerformanceTracer"),_aa);function applyMixins(derivedCtor,baseCtors){baseCtors.forEach(baseCtor=>{const baseProto=baseCtor.prototype;Object.getOwnPropertyNames(baseProto).forEach(propName=>{if("constructor"===propName)return;const basePropDescriptor=Object.getOwnPropertyDescriptor(baseProto,propName);basePropDescriptor&&(basePropDescriptor.get||basePropDescriptor.set)?Object.defineProperty(derivedCtor.prototype,propName,basePropDescriptor):derivedCtor.prototype[propName]=baseCtor.prototype[propName]})})}__name(applyMixins,"applyMixins");var END_OF_FILE=createTokenInstance(EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(END_OF_FILE);var ParserDefinitionErrorType,ParserDefinitionErrorType2,DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:__name(()=>{},"recoveryValueFunc"),resyncEnabled:!0});function EMPTY_ALT(value=void 0){return function(){return value}}(ParserDefinitionErrorType2=ParserDefinitionErrorType||(ParserDefinitionErrorType={}))[ParserDefinitionErrorType2.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",ParserDefinitionErrorType2[ParserDefinitionErrorType2.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",ParserDefinitionErrorType2[ParserDefinitionErrorType2.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",ParserDefinitionErrorType2[ParserDefinitionErrorType2.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",ParserDefinitionErrorType2[ParserDefinitionErrorType2.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",ParserDefinitionErrorType2[ParserDefinitionErrorType2.LEFT_RECURSION=5]="LEFT_RECURSION",ParserDefinitionErrorType2[ParserDefinitionErrorType2.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",ParserDefinitionErrorType2[ParserDefinitionErrorType2.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",ParserDefinitionErrorType2[ParserDefinitionErrorType2.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",ParserDefinitionErrorType2[ParserDefinitionErrorType2.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",ParserDefinitionErrorType2[ParserDefinitionErrorType2.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",ParserDefinitionErrorType2[ParserDefinitionErrorType2.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",ParserDefinitionErrorType2[ParserDefinitionErrorType2.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",ParserDefinitionErrorType2[ParserDefinitionErrorType2.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",__name(EMPTY_ALT,"EMPTY_ALT");var Parser=(__name(_ba=class{static performSelfAnalysis(parserInstance){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let defErrorsMsgs;this.selfAnalysisDone=!0;const className=this.className;this.TRACE_INIT("toFastProps",()=>{toFastProperties(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),forEach_default(this.definedRulesNames,currRuleName=>{const originalGrammarAction=this[currRuleName].originalGrammarAction;let recordedRuleGast;this.TRACE_INIT(`${currRuleName} Rule`,()=>{recordedRuleGast=this.topLevelRuleRecord(currRuleName,originalGrammarAction)}),this.gastProductionsCache[currRuleName]=recordedRuleGast})}finally{this.disableRecording()}});let resolverErrors=[];if(this.TRACE_INIT("Grammar Resolving",()=>{resolverErrors=resolveGrammar2({rules:values_default(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(resolverErrors)}),this.TRACE_INIT("Grammar Validations",()=>{if(isEmpty_default(resolverErrors)&&!1===this.skipValidations){const validationErrors=validateGrammar2({rules:values_default(this.gastProductionsCache),tokenTypes:values_default(this.tokensMap),errMsgProvider:defaultGrammarValidatorErrorProvider,grammarName:className}),lookaheadValidationErrors=validateLookahead({lookaheadStrategy:this.lookaheadStrategy,rules:values_default(this.gastProductionsCache),tokenTypes:values_default(this.tokensMap),grammarName:className});this.definitionErrors=this.definitionErrors.concat(validationErrors,lookaheadValidationErrors)}}),isEmpty_default(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const allFollows=computeAllProdsFollows(values_default(this.gastProductionsCache));this.resyncFollows=allFollows}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var _a2,_b2;null===(_b2=(_a2=this.lookaheadStrategy).initialize)||void 0===_b2||_b2.call(_a2,{rules:values_default(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(values_default(this.gastProductionsCache))})),!_ba.DEFER_DEFINITION_ERRORS_HANDLING&&!isEmpty_default(this.definitionErrors))throw defErrorsMsgs=map_default(this.definitionErrors,defError=>defError.message),new Error(`Parser Definition Errors detected:\n ${defErrorsMsgs.join("\n-------------------------------\n")}`)})}constructor(tokenVocabulary,config){this.definitionErrors=[],this.selfAnalysisDone=!1;if(this.initErrorHandler(config),this.initLexerAdapter(),this.initLooksAhead(config),this.initRecognizerEngine(tokenVocabulary,config),this.initRecoverable(config),this.initTreeBuilder(config),this.initContentAssist(),this.initGastRecorder(config),this.initPerformanceTracer(config),has_default(config,"ignoredIssues"))throw new Error("The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.");this.skipValidations=has_default(config,"skipValidations")?config.skipValidations:DEFAULT_PARSER_CONFIG.skipValidations}},"Parser"),_ba);Parser.DEFER_DEFINITION_ERRORS_HANDLING=!1,applyMixins(Parser,[Recoverable,LooksAhead,TreeBuilder,LexerAdapter,RecognizerEngine,RecognizerApi,ErrorHandler,ContentAssist,GastRecorder,PerformanceTracer]);var EmbeddedActionsParser=(__name(_ca=class extends Parser{constructor(tokenVocabulary,config=DEFAULT_PARSER_CONFIG){const configClone=clone_default(config);configClone.outputCst=!1,super(tokenVocabulary,configClone)}},"EmbeddedActionsParser"),_ca);function arrayMap2(array,iteratee){for(var index=-1,length=null==array?0:array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result}__name(arrayMap2,"arrayMap");var arrayMap_default2=arrayMap2;function listCacheClear2(){this.__data__=[],this.size=0}__name(listCacheClear2,"listCacheClear");var listCacheClear_default2=listCacheClear2;function eq2(value,other){return value===other||value!=value&&other!=other}__name(eq2,"eq");var eq_default2=eq2;function assocIndexOf2(array,key){for(var length=array.length;length--;)if(eq_default2(array[length][0],key))return length;return-1}__name(assocIndexOf2,"assocIndexOf");var assocIndexOf_default2=assocIndexOf2,splice2=Array.prototype.splice;function listCacheDelete2(key){var data=this.__data__,index=assocIndexOf_default2(data,key);return!(index<0)&&(index==data.length-1?data.pop():splice2.call(data,index,1),--this.size,!0)}__name(listCacheDelete2,"listCacheDelete");var listCacheDelete_default2=listCacheDelete2;function listCacheGet2(key){var data=this.__data__,index=assocIndexOf_default2(data,key);return index<0?void 0:data[index][1]}__name(listCacheGet2,"listCacheGet");var listCacheGet_default2=listCacheGet2;function listCacheHas2(key){return assocIndexOf_default2(this.__data__,key)>-1}__name(listCacheHas2,"listCacheHas");var listCacheHas_default2=listCacheHas2;function listCacheSet2(key,value){var data=this.__data__,index=assocIndexOf_default2(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this}__name(listCacheSet2,"listCacheSet");var listCacheSet_default2=listCacheSet2;function ListCache2(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}__name(ListCache2,"ListCache"),ListCache2.prototype.clear=listCacheClear_default2,ListCache2.prototype.delete=listCacheDelete_default2,ListCache2.prototype.get=listCacheGet_default2,ListCache2.prototype.has=listCacheHas_default2,ListCache2.prototype.set=listCacheSet_default2;var ListCache_default2=ListCache2;function stackClear2(){this.__data__=new ListCache_default2,this.size=0}__name(stackClear2,"stackClear");var stackClear_default2=stackClear2;function stackDelete2(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result}__name(stackDelete2,"stackDelete");var stackDelete_default2=stackDelete2;function stackGet2(key){return this.__data__.get(key)}__name(stackGet2,"stackGet");var stackGet_default2=stackGet2;function stackHas2(key){return this.__data__.has(key)}__name(stackHas2,"stackHas");var stackHas_default2=stackHas2,freeGlobal_default2="object"==typeof global&&global&&global.Object===Object&&global,freeSelf2="object"==typeof self&&self&&self.Object===Object&&self,root_default2=freeGlobal_default2||freeSelf2||Function("return this")(),Symbol_default2=root_default2.Symbol,objectProto21=Object.prototype,hasOwnProperty18=objectProto21.hasOwnProperty,nativeObjectToString3=objectProto21.toString,symToStringTag3=Symbol_default2?Symbol_default2.toStringTag:void 0;function getRawTag2(value){var isOwn=hasOwnProperty18.call(value,symToStringTag3),tag=value[symToStringTag3];try{value[symToStringTag3]=void 0;var unmasked=!0}catch(e){}var result=nativeObjectToString3.call(value);return unmasked&&(isOwn?value[symToStringTag3]=tag:delete value[symToStringTag3]),result}__name(getRawTag2,"getRawTag");var getRawTag_default2=getRawTag2,nativeObjectToString4=Object.prototype.toString;function objectToString2(value){return nativeObjectToString4.call(value)}__name(objectToString2,"objectToString");var objectToString_default2=objectToString2,symToStringTag4=Symbol_default2?Symbol_default2.toStringTag:void 0;function baseGetTag2(value){return null==value?void 0===value?"[object Undefined]":"[object Null]":symToStringTag4&&symToStringTag4 in Object(value)?getRawTag_default2(value):objectToString_default2(value)}__name(baseGetTag2,"baseGetTag");var baseGetTag_default2=baseGetTag2;function isObject2(value){var type=typeof value;return null!=value&&("object"==type||"function"==type)}__name(isObject2,"isObject");var isObject_default2=isObject2;function isFunction2(value){if(!isObject_default2(value))return!1;var tag=baseGetTag_default2(value);return"[object Function]"==tag||"[object GeneratorFunction]"==tag||"[object AsyncFunction]"==tag||"[object Proxy]"==tag}__name(isFunction2,"isFunction");var isFunction_default2=isFunction2,coreJsData_default2=root_default2["__core-js_shared__"],maskSrcKey2=function(){var uid=/[^.]+$/.exec(coreJsData_default2&&coreJsData_default2.keys&&coreJsData_default2.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();function isMasked2(func){return!!maskSrcKey2&&maskSrcKey2 in func}__name(isMasked2,"isMasked");var isMasked_default2=isMasked2,funcToString3=Function.prototype.toString;function toSource2(func){if(null!=func){try{return funcToString3.call(func)}catch(e){}try{return func+""}catch(e){}}return""}__name(toSource2,"toSource");var toSource_default2=toSource2,reIsHostCtor2=/^\[object .+?Constructor\]$/,funcProto4=Function.prototype,objectProto23=Object.prototype,funcToString4=funcProto4.toString,hasOwnProperty19=objectProto23.hasOwnProperty,reIsNative2=RegExp("^"+funcToString4.call(hasOwnProperty19).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative2(value){return!(!isObject_default2(value)||isMasked_default2(value))&&(isFunction_default2(value)?reIsNative2:reIsHostCtor2).test(toSource_default2(value))}__name(baseIsNative2,"baseIsNative");var baseIsNative_default2=baseIsNative2;function getValue2(object,key){return null==object?void 0:object[key]}__name(getValue2,"getValue");var getValue_default2=getValue2;function getNative2(object,key){var value=getValue_default2(object,key);return baseIsNative_default2(value)?value:void 0}__name(getNative2,"getNative");var getNative_default2=getNative2,Map_default2=getNative_default2(root_default2,"Map"),nativeCreate_default2=getNative_default2(Object,"create");function hashClear2(){this.__data__=nativeCreate_default2?nativeCreate_default2(null):{},this.size=0}__name(hashClear2,"hashClear");var hashClear_default2=hashClear2;function hashDelete2(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result}__name(hashDelete2,"hashDelete");var hashDelete_default2=hashDelete2,hasOwnProperty20=Object.prototype.hasOwnProperty;function hashGet2(key){var data=this.__data__;if(nativeCreate_default2){var result=data[key];return"__lodash_hash_undefined__"===result?void 0:result}return hasOwnProperty20.call(data,key)?data[key]:void 0}__name(hashGet2,"hashGet");var hashGet_default2=hashGet2,hasOwnProperty21=Object.prototype.hasOwnProperty;function hashHas2(key){var data=this.__data__;return nativeCreate_default2?void 0!==data[key]:hasOwnProperty21.call(data,key)}__name(hashHas2,"hashHas");var hashHas_default2=hashHas2;function hashSet2(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate_default2&&void 0===value?"__lodash_hash_undefined__":value,this}__name(hashSet2,"hashSet");var hashSet_default2=hashSet2;function Hash2(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}__name(Hash2,"Hash"),Hash2.prototype.clear=hashClear_default2,Hash2.prototype.delete=hashDelete_default2,Hash2.prototype.get=hashGet_default2,Hash2.prototype.has=hashHas_default2,Hash2.prototype.set=hashSet_default2;var Hash_default2=Hash2;function mapCacheClear2(){this.size=0,this.__data__={hash:new Hash_default2,map:new(Map_default2||ListCache_default2),string:new Hash_default2}}__name(mapCacheClear2,"mapCacheClear");var mapCacheClear_default2=mapCacheClear2;function isKeyable2(value){var type=typeof value;return"string"==type||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value}__name(isKeyable2,"isKeyable");var isKeyable_default2=isKeyable2;function getMapData2(map3,key){var data=map3.__data__;return isKeyable_default2(key)?data["string"==typeof key?"string":"hash"]:data.map}__name(getMapData2,"getMapData");var getMapData_default2=getMapData2;function mapCacheDelete2(key){var result=getMapData_default2(this,key).delete(key);return this.size-=result?1:0,result}__name(mapCacheDelete2,"mapCacheDelete");var mapCacheDelete_default2=mapCacheDelete2;function mapCacheGet2(key){return getMapData_default2(this,key).get(key)}__name(mapCacheGet2,"mapCacheGet");var mapCacheGet_default2=mapCacheGet2;function mapCacheHas2(key){return getMapData_default2(this,key).has(key)}__name(mapCacheHas2,"mapCacheHas");var mapCacheHas_default2=mapCacheHas2;function mapCacheSet2(key,value){var data=getMapData_default2(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this}__name(mapCacheSet2,"mapCacheSet");var mapCacheSet_default2=mapCacheSet2;function MapCache2(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}__name(MapCache2,"MapCache"),MapCache2.prototype.clear=mapCacheClear_default2,MapCache2.prototype.delete=mapCacheDelete_default2,MapCache2.prototype.get=mapCacheGet_default2,MapCache2.prototype.has=mapCacheHas_default2,MapCache2.prototype.set=mapCacheSet_default2;var MapCache_default2=MapCache2;function stackSet2(key,value){var data=this.__data__;if(data instanceof ListCache_default2){var pairs=data.__data__;if(!Map_default2||pairs.length<199)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache_default2(pairs)}return data.set(key,value),this.size=data.size,this}__name(stackSet2,"stackSet");var stackSet_default2=stackSet2;function Stack2(entries){var data=this.__data__=new ListCache_default2(entries);this.size=data.size}__name(Stack2,"Stack"),Stack2.prototype.clear=stackClear_default2,Stack2.prototype.delete=stackDelete_default2,Stack2.prototype.get=stackGet_default2,Stack2.prototype.has=stackHas_default2,Stack2.prototype.set=stackSet_default2;var Stack_default2=Stack2;function setCacheAdd2(value){return this.__data__.set(value,"__lodash_hash_undefined__"),this}__name(setCacheAdd2,"setCacheAdd");var setCacheAdd_default2=setCacheAdd2;function setCacheHas2(value){return this.__data__.has(value)}__name(setCacheHas2,"setCacheHas");var setCacheHas_default2=setCacheHas2;function SetCache2(values2){var index=-1,length=null==values2?0:values2.length;for(this.__data__=new MapCache_default2;++index<length;)this.add(values2[index])}__name(SetCache2,"SetCache"),SetCache2.prototype.add=SetCache2.prototype.push=setCacheAdd_default2,SetCache2.prototype.has=setCacheHas_default2;var SetCache_default2=SetCache2;function arraySome2(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}__name(arraySome2,"arraySome");var arraySome_default2=arraySome2;function cacheHas2(cache,key){return cache.has(key)}__name(cacheHas2,"cacheHas");var cacheHas_default2=cacheHas2;function equalArrays2(array,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var arrStacked=stack.get(array),othStacked=stack.get(other);if(arrStacked&&othStacked)return arrStacked==other&&othStacked==array;var index=-1,result=!0,seen=2&bitmask?new SetCache_default2:void 0;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(void 0!==compared){if(compared)continue;result=!1;break}if(seen){if(!arraySome_default2(other,function(othValue2,othIndex){if(!cacheHas_default2(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack)))return seen.push(othIndex)})){result=!1;break}}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,bitmask,customizer,stack)){result=!1;break}}return stack.delete(array),stack.delete(other),result}__name(equalArrays2,"equalArrays");var equalArrays_default2=equalArrays2,Uint8Array_default2=root_default2.Uint8Array;function mapToArray2(map3){var index=-1,result=Array(map3.size);return map3.forEach(function(value,key){result[++index]=[key,value]}),result}__name(mapToArray2,"mapToArray");var mapToArray_default2=mapToArray2;function setToArray2(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=value}),result}__name(setToArray2,"setToArray");var setToArray_default2=setToArray2,symbolProto4=Symbol_default2?Symbol_default2.prototype:void 0,symbolValueOf3=symbolProto4?symbolProto4.valueOf:void 0;function equalByTag2(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case"[object DataView]":if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case"[object ArrayBuffer]":return!(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array_default2(object),new Uint8Array_default2(other)));case"[object Boolean]":case"[object Date]":case"[object Number]":return eq_default2(+object,+other);case"[object Error]":return object.name==other.name&&object.message==other.message;case"[object RegExp]":case"[object String]":return object==other+"";case"[object Map]":var convert=mapToArray_default2;case"[object Set]":var isPartial=1&bitmask;if(convert||(convert=setToArray_default2),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=2,stack.set(object,other);var result=equalArrays_default2(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack.delete(object),result;case"[object Symbol]":if(symbolValueOf3)return symbolValueOf3.call(object)==symbolValueOf3.call(other)}return!1}__name(equalByTag2,"equalByTag");var equalByTag_default2=equalByTag2;function arrayPush2(array,values2){for(var index=-1,length=values2.length,offset=array.length;++index<length;)array[offset+index]=values2[index];return array}__name(arrayPush2,"arrayPush");var arrayPush_default2=arrayPush2,isArray_default2=Array.isArray;function baseGetAllKeys2(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray_default2(object)?result:arrayPush_default2(result,symbolsFunc(object))}__name(baseGetAllKeys2,"baseGetAllKeys");var baseGetAllKeys_default2=baseGetAllKeys2;function arrayFilter2(array,predicate){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result}__name(arrayFilter2,"arrayFilter");var arrayFilter_default2=arrayFilter2;function stubArray2(){return[]}__name(stubArray2,"stubArray");var stubArray_default2=stubArray2,propertyIsEnumerable3=Object.prototype.propertyIsEnumerable,nativeGetSymbols3=Object.getOwnPropertySymbols,getSymbols_default2=nativeGetSymbols3?function(object){return null==object?[]:(object=Object(object),arrayFilter_default2(nativeGetSymbols3(object),function(symbol){return propertyIsEnumerable3.call(object,symbol)}))}:stubArray_default2;function baseTimes2(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}__name(baseTimes2,"baseTimes");var baseTimes_default2=baseTimes2;function isObjectLike2(value){return null!=value&&"object"==typeof value}__name(isObjectLike2,"isObjectLike");var isObjectLike_default2=isObjectLike2;function baseIsArguments2(value){return isObjectLike_default2(value)&&"[object Arguments]"==baseGetTag_default2(value)}__name(baseIsArguments2,"baseIsArguments");var baseIsArguments_default2=baseIsArguments2,objectProto27=Object.prototype,hasOwnProperty22=objectProto27.hasOwnProperty,propertyIsEnumerable4=objectProto27.propertyIsEnumerable,isArguments_default2=baseIsArguments_default2(function(){return arguments}())?baseIsArguments_default2:function(value){return isObjectLike_default2(value)&&hasOwnProperty22.call(value,"callee")&&!propertyIsEnumerable4.call(value,"callee")};function stubFalse2(){return!1}__name(stubFalse2,"stubFalse");var stubFalse_default2=stubFalse2,freeExports4="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule4=freeExports4&&"object"==typeof module&&module&&!module.nodeType&&module,Buffer4=freeModule4&&freeModule4.exports===freeExports4?root_default2.Buffer:void 0,isBuffer_default2=(Buffer4?Buffer4.isBuffer:void 0)||stubFalse_default2,reIsUint2=/^(?:0|[1-9]\d*)$/;function isIndex2(value,length){var type=typeof value;return!!(length=null==length?9007199254740991:length)&&("number"==type||"symbol"!=type&&reIsUint2.test(value))&&value>-1&&value%1==0&&value<length}__name(isIndex2,"isIndex");var isIndex_default2=isIndex2;function isLength2(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=9007199254740991}__name(isLength2,"isLength");var isLength_default2=isLength2,typedArrayTags2={};function baseIsTypedArray2(value){return isObjectLike_default2(value)&&isLength_default2(value.length)&&!!typedArrayTags2[baseGetTag_default2(value)]}typedArrayTags2["[object Float32Array]"]=typedArrayTags2["[object Float64Array]"]=typedArrayTags2["[object Int8Array]"]=typedArrayTags2["[object Int16Array]"]=typedArrayTags2["[object Int32Array]"]=typedArrayTags2["[object Uint8Array]"]=typedArrayTags2["[object Uint8ClampedArray]"]=typedArrayTags2["[object Uint16Array]"]=typedArrayTags2["[object Uint32Array]"]=!0,typedArrayTags2["[object Arguments]"]=typedArrayTags2["[object Array]"]=typedArrayTags2["[object ArrayBuffer]"]=typedArrayTags2["[object Boolean]"]=typedArrayTags2["[object DataView]"]=typedArrayTags2["[object Date]"]=typedArrayTags2["[object Error]"]=typedArrayTags2["[object Function]"]=typedArrayTags2["[object Map]"]=typedArrayTags2["[object Number]"]=typedArrayTags2["[object Object]"]=typedArrayTags2["[object RegExp]"]=typedArrayTags2["[object Set]"]=typedArrayTags2["[object String]"]=typedArrayTags2["[object WeakMap]"]=!1,__name(baseIsTypedArray2,"baseIsTypedArray");var baseIsTypedArray_default2=baseIsTypedArray2;function baseUnary2(func){return function(value){return func(value)}}__name(baseUnary2,"baseUnary");var baseUnary_default2=baseUnary2,freeExports5="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule5=freeExports5&&"object"==typeof module&&module&&!module.nodeType&&module,freeProcess2=freeModule5&&freeModule5.exports===freeExports5&&freeGlobal_default2.process,nodeUtil2=function(){try{var types=freeModule5&&freeModule5.require&&freeModule5.require("util").types;return types||freeProcess2&&freeProcess2.binding&&freeProcess2.binding("util")}catch(e){}}(),nodeIsTypedArray2=nodeUtil2&&nodeUtil2.isTypedArray,isTypedArray_default2=nodeIsTypedArray2?baseUnary_default2(nodeIsTypedArray2):baseIsTypedArray_default2,hasOwnProperty23=Object.prototype.hasOwnProperty;function arrayLikeKeys2(value,inherited){var isArr=isArray_default2(value),isArg=!isArr&&isArguments_default2(value),isBuff=!isArr&&!isArg&&isBuffer_default2(value),isType2=!isArr&&!isArg&&!isBuff&&isTypedArray_default2(value),skipIndexes=isArr||isArg||isBuff||isType2,result=skipIndexes?baseTimes_default2(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty23.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType2&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||isIndex_default2(key,length))||result.push(key);return result}__name(arrayLikeKeys2,"arrayLikeKeys");var arrayLikeKeys_default2=arrayLikeKeys2,objectProto29=Object.prototype;function isPrototype2(value){var Ctor=value&&value.constructor;return value===("function"==typeof Ctor&&Ctor.prototype||objectProto29)}__name(isPrototype2,"isPrototype");var isPrototype_default2=isPrototype2;function overArg2(func,transform){return function(arg){return func(transform(arg))}}__name(overArg2,"overArg");var nativeKeys_default2=overArg2(Object.keys,Object),hasOwnProperty24=Object.prototype.hasOwnProperty;function baseKeys2(object){if(!isPrototype_default2(object))return nativeKeys_default2(object);var result=[];for(var key in Object(object))hasOwnProperty24.call(object,key)&&"constructor"!=key&&result.push(key);return result}__name(baseKeys2,"baseKeys");var baseKeys_default2=baseKeys2;function isArrayLike2(value){return null!=value&&isLength_default2(value.length)&&!isFunction_default2(value)}__name(isArrayLike2,"isArrayLike");var isArrayLike_default2=isArrayLike2;function keys2(object){return isArrayLike_default2(object)?arrayLikeKeys_default2(object):baseKeys_default2(object)}__name(keys2,"keys");var keys_default2=keys2;function getAllKeys2(object){return baseGetAllKeys_default2(object,keys_default2,getSymbols_default2)}__name(getAllKeys2,"getAllKeys");var getAllKeys_default2=getAllKeys2,hasOwnProperty25=Object.prototype.hasOwnProperty;function equalObjects2(object,other,bitmask,customizer,equalFunc,stack){var isPartial=1&bitmask,objProps=getAllKeys_default2(object),objLength=objProps.length;if(objLength!=getAllKeys_default2(other).length&&!isPartial)return!1;for(var index=objLength;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty25.call(other,key)))return!1}var objStacked=stack.get(object),othStacked=stack.get(other);if(objStacked&&othStacked)return objStacked==other&&othStacked==object;var result=!0;stack.set(object,other),stack.set(other,object);for(var skipCtor=isPartial;++index<objLength;){var objValue=object[key=objProps[index]],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);if(!(void 0===compared?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor="constructor"==key)}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor==othCtor||!("constructor"in object)||!("constructor"in other)||"function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor||(result=!1)}return stack.delete(object),stack.delete(other),result}__name(equalObjects2,"equalObjects");var equalObjects_default2=equalObjects2,DataView_default2=getNative_default2(root_default2,"DataView"),Promise_default2=getNative_default2(root_default2,"Promise"),Set_default2=getNative_default2(root_default2,"Set"),WeakMap_default2=getNative_default2(root_default2,"WeakMap"),dataViewCtorString2=toSource_default2(DataView_default2),mapCtorString2=toSource_default2(Map_default2),promiseCtorString2=toSource_default2(Promise_default2),setCtorString2=toSource_default2(Set_default2),weakMapCtorString2=toSource_default2(WeakMap_default2),getTag2=baseGetTag_default2;(DataView_default2&&"[object DataView]"!=getTag2(new DataView_default2(new ArrayBuffer(1)))||Map_default2&&"[object Map]"!=getTag2(new Map_default2)||Promise_default2&&"[object Promise]"!=getTag2(Promise_default2.resolve())||Set_default2&&"[object Set]"!=getTag2(new Set_default2)||WeakMap_default2&&"[object WeakMap]"!=getTag2(new WeakMap_default2))&&(getTag2=__name(function(value){var result=baseGetTag_default2(value),Ctor="[object Object]"==result?value.constructor:void 0,ctorString=Ctor?toSource_default2(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString2:return"[object DataView]";case mapCtorString2:return"[object Map]";case promiseCtorString2:return"[object Promise]";case setCtorString2:return"[object Set]";case weakMapCtorString2:return"[object WeakMap]"}return result},"getTag"));var getTag_default2=getTag2,hasOwnProperty26=Object.prototype.hasOwnProperty;function baseIsEqualDeep2(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray_default2(object),othIsArr=isArray_default2(other),objTag=objIsArr?"[object Array]":getTag_default2(object),othTag=othIsArr?"[object Array]":getTag_default2(other),objIsObj="[object Object]"==(objTag="[object Arguments]"==objTag?"[object Object]":objTag),othIsObj="[object Object]"==(othTag="[object Arguments]"==othTag?"[object Object]":othTag),isSameTag=objTag==othTag;if(isSameTag&&isBuffer_default2(object)){if(!isBuffer_default2(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new Stack_default2),objIsArr||isTypedArray_default2(object)?equalArrays_default2(object,other,bitmask,customizer,equalFunc,stack):equalByTag_default2(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(1&bitmask)){var objIsWrapped=objIsObj&&hasOwnProperty26.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty26.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new Stack_default2),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}return!!isSameTag&&(stack||(stack=new Stack_default2),equalObjects_default2(object,other,bitmask,customizer,equalFunc,stack))}__name(baseIsEqualDeep2,"baseIsEqualDeep");var baseIsEqualDeep_default2=baseIsEqualDeep2;function baseIsEqual2(value,other,bitmask,customizer,stack){return value===other||(null==value||null==other||!isObjectLike_default2(value)&&!isObjectLike_default2(other)?value!=value&&other!=other:baseIsEqualDeep_default2(value,other,bitmask,customizer,baseIsEqual2,stack))}__name(baseIsEqual2,"baseIsEqual");var baseIsEqual_default2=baseIsEqual2;function baseIsMatch2(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=Object(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){var key=(data=matchData[index])[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(void 0===objValue&&!(key in object))return!1}else{var stack=new Stack_default2;if(customizer)var result=customizer(objValue,srcValue,key,object,source,stack);if(!(void 0===result?baseIsEqual_default2(srcValue,objValue,3,customizer,stack):result))return!1}}return!0}__name(baseIsMatch2,"baseIsMatch");var baseIsMatch_default2=baseIsMatch2;function isStrictComparable2(value){return value==value&&!isObject_default2(value)}__name(isStrictComparable2,"isStrictComparable");var isStrictComparable_default2=isStrictComparable2;function getMatchData2(object){for(var result=keys_default2(object),length=result.length;length--;){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable_default2(value)]}return result}__name(getMatchData2,"getMatchData");var getMatchData_default2=getMatchData2;function matchesStrictComparable2(key,srcValue){return function(object){return null!=object&&(object[key]===srcValue&&(void 0!==srcValue||key in Object(object)))}}__name(matchesStrictComparable2,"matchesStrictComparable");var matchesStrictComparable_default2=matchesStrictComparable2;function baseMatches2(source){var matchData=getMatchData_default2(source);return 1==matchData.length&&matchData[0][2]?matchesStrictComparable_default2(matchData[0][0],matchData[0][1]):function(object){return object===source||baseIsMatch_default2(object,source,matchData)}}__name(baseMatches2,"baseMatches");var baseMatches_default2=baseMatches2;function isSymbol2(value){return"symbol"==typeof value||isObjectLike_default2(value)&&"[object Symbol]"==baseGetTag_default2(value)}__name(isSymbol2,"isSymbol");var isSymbol_default2=isSymbol2,reIsDeepProp2=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp2=/^\w*$/;function isKey2(value,object){if(isArray_default2(value))return!1;var type=typeof value;return!("number"!=type&&"symbol"!=type&&"boolean"!=type&&null!=value&&!isSymbol_default2(value))||(reIsPlainProp2.test(value)||!reIsDeepProp2.test(value)||null!=object&&value in Object(object))}__name(isKey2,"isKey");var isKey_default2=isKey2;function memoize2(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError("Expected a function");var memoized=__name(function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result},"memoized");return memoized.cache=new(memoize2.Cache||MapCache_default2),memoized}__name(memoize2,"memoize"),memoize2.Cache=MapCache_default2;var memoize_default2=memoize2;function memoizeCapped2(func){var result=memoize_default2(func,function(key){return 500===cache.size&&cache.clear(),key}),cache=result.cache;return result}__name(memoizeCapped2,"memoizeCapped");var rePropName2=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar2=/\\(\\)?/g,stringToPath_default2=memoizeCapped2(function(string){var result=[];return 46===string.charCodeAt(0)&&result.push(""),string.replace(rePropName2,function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar2,"$1"):number||match)}),result}),symbolProto5=Symbol_default2?Symbol_default2.prototype:void 0,symbolToString2=symbolProto5?symbolProto5.toString:void 0;function baseToString2(value){if("string"==typeof value)return value;if(isArray_default2(value))return arrayMap_default2(value,baseToString2)+"";if(isSymbol_default2(value))return symbolToString2?symbolToString2.call(value):"";var result=value+"";return"0"==result&&1/value==-1/0?"-0":result}__name(baseToString2,"baseToString");var baseToString_default2=baseToString2;function toString3(value){return null==value?"":baseToString_default2(value)}__name(toString3,"toString");var toString_default2=toString3;function castPath2(value,object){return isArray_default2(value)?value:isKey_default2(value,object)?[value]:stringToPath_default2(toString_default2(value))}__name(castPath2,"castPath");var castPath_default2=castPath2;function toKey2(value){if("string"==typeof value||isSymbol_default2(value))return value;var result=value+"";return"0"==result&&1/value==-1/0?"-0":result}__name(toKey2,"toKey");var toKey_default2=toKey2;function baseGet2(object,path){for(var index=0,length=(path=castPath_default2(path,object)).length;null!=object&&index<length;)object=object[toKey_default2(path[index++])];return index&&index==length?object:void 0}__name(baseGet2,"baseGet");var baseGet_default2=baseGet2;function get2(object,path,defaultValue){var result=null==object?void 0:baseGet_default2(object,path);return void 0===result?defaultValue:result}__name(get2,"get");var get_default2=get2;function baseHasIn2(object,key){return null!=object&&key in Object(object)}__name(baseHasIn2,"baseHasIn");var baseHasIn_default2=baseHasIn2;function hasPath2(object,path,hasFunc){for(var index=-1,length=(path=castPath_default2(path,object)).length,result=!1;++index<length;){var key=toKey_default2(path[index]);if(!(result=null!=object&&hasFunc(object,key)))break;object=object[key]}return result||++index!=length?result:!!(length=null==object?0:object.length)&&isLength_default2(length)&&isIndex_default2(key,length)&&(isArray_default2(object)||isArguments_default2(object))}__name(hasPath2,"hasPath");var hasPath_default2=hasPath2;function hasIn2(object,path){return null!=object&&hasPath_default2(object,path,baseHasIn_default2)}__name(hasIn2,"hasIn");var hasIn_default2=hasIn2;function baseMatchesProperty2(path,srcValue){return isKey_default2(path)&&isStrictComparable_default2(srcValue)?matchesStrictComparable_default2(toKey_default2(path),srcValue):function(object){var objValue=get_default2(object,path);return void 0===objValue&&objValue===srcValue?hasIn_default2(object,path):baseIsEqual_default2(srcValue,objValue,3)}}__name(baseMatchesProperty2,"baseMatchesProperty");var baseMatchesProperty_default2=baseMatchesProperty2;function identity2(value){return value}__name(identity2,"identity");var identity_default2=identity2;function baseProperty2(key){return function(object){return null==object?void 0:object[key]}}__name(baseProperty2,"baseProperty");var baseProperty_default2=baseProperty2;function basePropertyDeep2(path){return function(object){return baseGet_default2(object,path)}}__name(basePropertyDeep2,"basePropertyDeep");var basePropertyDeep_default2=basePropertyDeep2;function property2(path){return isKey_default2(path)?baseProperty_default2(toKey_default2(path)):basePropertyDeep_default2(path)}__name(property2,"property");var property_default2=property2;function baseIteratee2(value){return"function"==typeof value?value:null==value?identity_default2:"object"==typeof value?isArray_default2(value)?baseMatchesProperty_default2(value[0],value[1]):baseMatches_default2(value):property_default2(value)}__name(baseIteratee2,"baseIteratee");var baseIteratee_default2=baseIteratee2;function createBaseFor2(fromRight){return function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[fromRight?length:++index];if(!1===iteratee(iterable[key],key,iterable))break}return object}}__name(createBaseFor2,"createBaseFor");var baseFor_default2=createBaseFor2();function baseForOwn2(object,iteratee){return object&&baseFor_default2(object,iteratee,keys_default2)}__name(baseForOwn2,"baseForOwn");var baseForOwn_default2=baseForOwn2;function createBaseEach2(eachFunc,fromRight){return function(collection,iteratee){if(null==collection)return collection;if(!isArrayLike_default2(collection))return eachFunc(collection,iteratee);for(var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);(fromRight?index--:++index<length)&&!1!==iteratee(iterable[index],index,iterable););return collection}}__name(createBaseEach2,"createBaseEach");var baseEach_default2=createBaseEach2(baseForOwn_default2);function baseMap2(collection,iteratee){var index=-1,result=isArrayLike_default2(collection)?Array(collection.length):[];return baseEach_default2(collection,function(value,key,collection2){result[++index]=iteratee(value,key,collection2)}),result}__name(baseMap2,"baseMap");var baseMap_default2=baseMap2;function map2(collection,iteratee){return(isArray_default2(collection)?arrayMap_default2:baseMap_default2)(collection,baseIteratee_default2(iteratee))}__name(map2,"map");var map_default2=map2;function baseFilter2(collection,predicate){var result=[];return baseEach_default2(collection,function(value,index,collection2){predicate(value,index,collection2)&&result.push(value)}),result}__name(baseFilter2,"baseFilter");var baseFilter_default2=baseFilter2;function filter2(collection,predicate){return(isArray_default2(collection)?arrayFilter_default2:baseFilter_default2)(collection,baseIteratee_default2(predicate))}__name(filter2,"filter");var filter_default2=filter2;function buildATNKey(rule,type,occurrence){return`${rule.name}_${type}_${occurrence}`}__name(buildATNKey,"buildATNKey");var AbstractTransition=(__name(_da=class{constructor(target){this.target=target}isEpsilon(){return!1}},"AbstractTransition"),_da),AtomTransition=(__name(_ea=class extends AbstractTransition{constructor(target,tokenType){super(target),this.tokenType=tokenType}},"AtomTransition"),_ea),EpsilonTransition=(__name(_fa=class extends AbstractTransition{constructor(target){super(target)}isEpsilon(){return!0}},"EpsilonTransition"),_fa),RuleTransition=(__name(_ga=class extends AbstractTransition{constructor(ruleStart,rule,followState){super(ruleStart),this.rule=rule,this.followState=followState}isEpsilon(){return!0}},"RuleTransition"),_ga);function createATN(rules){const atn={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};createRuleStartAndStopATNStates(atn,rules);const ruleLength=rules.length;for(let i=0;i<ruleLength;i++){const rule=rules[i],ruleBlock=block(atn,rule,rule);void 0!==ruleBlock&&buildRuleHandle(atn,rule,ruleBlock)}return atn}function createRuleStartAndStopATNStates(atn,rules){const ruleLength=rules.length;for(let i=0;i<ruleLength;i++){const rule=rules[i],start=newState(atn,rule,void 0,{type:2}),stop=newState(atn,rule,void 0,{type:7});start.stop=stop,atn.ruleToStartState.set(rule,start),atn.ruleToStopState.set(rule,stop)}}function atom(atn,rule,production){return production instanceof Terminal?tokenRef(atn,rule,production.terminalType,production):production instanceof NonTerminal?ruleRef(atn,rule,production):production instanceof Alternation?alternation(atn,rule,production):production instanceof Option?option(atn,rule,production):production instanceof Repetition?repetition(atn,rule,production):production instanceof RepetitionWithSeparator?repetitionSep(atn,rule,production):production instanceof RepetitionMandatory?repetitionMandatory(atn,rule,production):production instanceof RepetitionMandatoryWithSeparator?repetitionMandatorySep(atn,rule,production):block(atn,rule,production)}function repetition(atn,rule,repetition2){const starState=newState(atn,rule,repetition2,{type:5});defineDecisionState(atn,starState);return star(atn,rule,repetition2,makeAlts(atn,rule,starState,repetition2,block(atn,rule,repetition2)))}function repetitionSep(atn,rule,repetition2){const starState=newState(atn,rule,repetition2,{type:5});defineDecisionState(atn,starState);return star(atn,rule,repetition2,makeAlts(atn,rule,starState,repetition2,block(atn,rule,repetition2)),tokenRef(atn,rule,repetition2.separator,repetition2))}function repetitionMandatory(atn,rule,repetition2){const plusState=newState(atn,rule,repetition2,{type:4});defineDecisionState(atn,plusState);return plus(atn,rule,repetition2,makeAlts(atn,rule,plusState,repetition2,block(atn,rule,repetition2)))}function repetitionMandatorySep(atn,rule,repetition2){const plusState=newState(atn,rule,repetition2,{type:4});defineDecisionState(atn,plusState);return plus(atn,rule,repetition2,makeAlts(atn,rule,plusState,repetition2,block(atn,rule,repetition2)),tokenRef(atn,rule,repetition2.separator,repetition2))}function alternation(atn,rule,alternation2){const start=newState(atn,rule,alternation2,{type:1});defineDecisionState(atn,start);const alts=map_default2(alternation2.definition,e=>atom(atn,rule,e));return makeAlts(atn,rule,start,alternation2,...alts)}function option(atn,rule,option2){const start=newState(atn,rule,option2,{type:1});defineDecisionState(atn,start);return optional(atn,rule,option2,makeAlts(atn,rule,start,option2,block(atn,rule,option2)))}function block(atn,rule,block2){const handles=filter_default2(map_default2(block2.definition,e=>atom(atn,rule,e)),e=>void 0!==e);return 1===handles.length?handles[0]:0===handles.length?void 0:makeBlock(atn,handles)}function plus(atn,rule,plus2,handle,sep){const blkStart=handle.left,blkEnd=handle.right,loop=newState(atn,rule,plus2,{type:11});defineDecisionState(atn,loop);const end=newState(atn,rule,plus2,{type:12});return blkStart.loopback=loop,end.loopback=loop,atn.decisionMap[buildATNKey(rule,sep?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",plus2.idx)]=loop,epsilon(blkEnd,loop),void 0===sep?(epsilon(loop,blkStart),epsilon(loop,end)):(epsilon(loop,end),epsilon(loop,sep.left),epsilon(sep.right,blkStart)),{left:blkStart,right:end}}function star(atn,rule,star2,handle,sep){const start=handle.left,end=handle.right,entry=newState(atn,rule,star2,{type:10});defineDecisionState(atn,entry);const loopEnd=newState(atn,rule,star2,{type:12}),loop=newState(atn,rule,star2,{type:9});return entry.loopback=loop,loopEnd.loopback=loop,epsilon(entry,start),epsilon(entry,loopEnd),epsilon(end,loop),void 0!==sep?(epsilon(loop,loopEnd),epsilon(loop,sep.left),epsilon(sep.right,start)):epsilon(loop,entry),atn.decisionMap[buildATNKey(rule,sep?"RepetitionWithSeparator":"Repetition",star2.idx)]=entry,{left:entry,right:loopEnd}}function optional(atn,rule,optional2,handle){const start=handle.left;return epsilon(start,handle.right),atn.decisionMap[buildATNKey(rule,"Option",optional2.idx)]=start,handle}function defineDecisionState(atn,state){return atn.decisionStates.push(state),state.decision=atn.decisionStates.length-1,state.decision}function makeAlts(atn,rule,start,production,...alts){const end=newState(atn,rule,production,{type:8,start:start});start.end=end;for(const alt of alts)void 0!==alt?(epsilon(start,alt.left),epsilon(alt.right,end)):epsilon(start,end);const handle={left:start,right:end};return atn.decisionMap[buildATNKey(rule,getProdType2(production),production.idx)]=start,handle}function getProdType2(production){if(production instanceof Alternation)return"Alternation";if(production instanceof Option)return"Option";if(production instanceof Repetition)return"Repetition";if(production instanceof RepetitionWithSeparator)return"RepetitionWithSeparator";if(production instanceof RepetitionMandatory)return"RepetitionMandatory";if(production instanceof RepetitionMandatoryWithSeparator)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function makeBlock(atn,alts){const altsLength=alts.length;for(let i=0;i<altsLength-1;i++){const handle=alts[i];let transition;1===handle.left.transitions.length&&(transition=handle.left.transitions[0]);const isRuleTransition=transition instanceof RuleTransition,ruleTransition=transition,next=alts[i+1].left;1===handle.left.type&&1===handle.right.type&&void 0!==transition&&(isRuleTransition&&ruleTransition.followState===handle.right||transition.target===handle.right)?(isRuleTransition?ruleTransition.followState=next:transition.target=next,removeState(atn,handle.right)):epsilon(handle.right,next)}const first2=alts[0],last2=alts[altsLength-1];return{left:first2.left,right:last2.right}}function tokenRef(atn,rule,tokenType,production){const left=newState(atn,rule,production,{type:1}),right=newState(atn,rule,production,{type:1});return addTransition(left,new AtomTransition(right,tokenType)),{left:left,right:right}}function ruleRef(atn,currentRule,nonTerminal){const rule=nonTerminal.referencedRule,start=atn.ruleToStartState.get(rule),left=newState(atn,currentRule,nonTerminal,{type:1}),right=newState(atn,currentRule,nonTerminal,{type:1});return addTransition(left,new RuleTransition(start,rule,right)),{left:left,right:right}}function buildRuleHandle(atn,rule,block2){const start=atn.ruleToStartState.get(rule);epsilon(start,block2.left);const stop=atn.ruleToStopState.get(rule);epsilon(block2.right,stop);return{left:start,right:stop}}function epsilon(a,b){addTransition(a,new EpsilonTransition(b))}function newState(atn,rule,production,partial){const t=Object.assign({atn:atn,production:production,epsilonOnlyTransitions:!1,rule:rule,transitions:[],nextTokenWithinRule:[],stateNumber:atn.states.length},partial);return atn.states.push(t),t}function addTransition(state,transition){0===state.transitions.length&&(state.epsilonOnlyTransitions=transition.isEpsilon()),state.transitions.push(transition)}function removeState(atn,state){atn.states.splice(atn.states.indexOf(state),1)}__name(createATN,"createATN"),__name(createRuleStartAndStopATNStates,"createRuleStartAndStopATNStates"),__name(atom,"atom"),__name(repetition,"repetition"),__name(repetitionSep,"repetitionSep"),__name(repetitionMandatory,"repetitionMandatory"),__name(repetitionMandatorySep,"repetitionMandatorySep"),__name(alternation,"alternation"),__name(option,"option"),__name(block,"block"),__name(plus,"plus"),__name(star,"star"),__name(optional,"optional"),__name(defineDecisionState,"defineDecisionState"),__name(makeAlts,"makeAlts"),__name(getProdType2,"getProdType"),__name(makeBlock,"makeBlock"),__name(tokenRef,"tokenRef"),__name(ruleRef,"ruleRef"),__name(buildRuleHandle,"buildRuleHandle"),__name(epsilon,"epsilon"),__name(newState,"newState"),__name(addTransition,"addTransition"),__name(removeState,"removeState");var DFA_ERROR={},ATNConfigSet=(__name(_ha=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(config){const key=getATNConfigKey(config);key in this.map||(this.map[key]=this.configs.length,this.configs.push(config))}get elements(){return this.configs}get alts(){return map_default2(this.configs,e=>e.alt)}get key(){let value="";for(const k in this.map)value+=k+":";return value}},"ATNConfigSet"),_ha);function getATNConfigKey(config,alt=!0){return`${alt?`a${config.alt}`:""}s${config.state.stateNumber}:${config.stack.map(e=>e.stateNumber.toString()).join("_")}`}function baseExtremum(array,iteratee,comparator){for(var index=-1,length=array.length;++index<length;){var value=array[index],current=iteratee(value);if(null!=current&&(void 0===computed?current==current&&!isSymbol_default2(current):comparator(current,computed)))var computed=current,result=value}return result}__name(getATNConfigKey,"getATNConfigKey"),__name(baseExtremum,"baseExtremum");var baseExtremum_default=baseExtremum;function baseLt(value,other){return value<other}__name(baseLt,"baseLt");var baseLt_default=baseLt;function min(array){return array&&array.length?baseExtremum_default(array,identity_default2,baseLt_default):void 0}__name(min,"min");var min_default=min,spreadableSymbol2=Symbol_default2?Symbol_default2.isConcatSpreadable:void 0;function isFlattenable2(value){return isArray_default2(value)||isArguments_default2(value)||!!(spreadableSymbol2&&value&&value[spreadableSymbol2])}__name(isFlattenable2,"isFlattenable");var isFlattenable_default2=isFlattenable2;function baseFlatten2(array,depth,predicate,isStrict,result){var index=-1,length=array.length;for(predicate||(predicate=isFlattenable_default2),result||(result=[]);++index<length;){var value=array[index];depth>0&&predicate(value)?depth>1?baseFlatten2(value,depth-1,predicate,isStrict,result):arrayPush_default2(result,value):isStrict||(result[result.length]=value)}return result}__name(baseFlatten2,"baseFlatten");var baseFlatten_default2=baseFlatten2;function flatMap2(collection,iteratee){return baseFlatten_default2(map_default2(collection,iteratee),1)}__name(flatMap2,"flatMap");var flatMap_default2=flatMap2;function baseFindIndex2(array,predicate,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?1:-1);fromRight?index--:++index<length;)if(predicate(array[index],index,array))return index;return-1}__name(baseFindIndex2,"baseFindIndex");var baseFindIndex_default2=baseFindIndex2;function baseIsNaN2(value){return value!=value}__name(baseIsNaN2,"baseIsNaN");var baseIsNaN_default2=baseIsNaN2;function strictIndexOf2(array,value,fromIndex){for(var index=fromIndex-1,length=array.length;++index<length;)if(array[index]===value)return index;return-1}__name(strictIndexOf2,"strictIndexOf");var strictIndexOf_default2=strictIndexOf2;function baseIndexOf2(array,value,fromIndex){return value==value?strictIndexOf_default2(array,value,fromIndex):baseFindIndex_default2(array,baseIsNaN_default2,fromIndex)}__name(baseIndexOf2,"baseIndexOf");var baseIndexOf_default2=baseIndexOf2;function arrayIncludes2(array,value){return!!(null==array?0:array.length)&&baseIndexOf_default2(array,value,0)>-1}__name(arrayIncludes2,"arrayIncludes");var arrayIncludes_default2=arrayIncludes2;function arrayIncludesWith2(array,value,comparator){for(var index=-1,length=null==array?0:array.length;++index<length;)if(comparator(value,array[index]))return!0;return!1}__name(arrayIncludesWith2,"arrayIncludesWith");var arrayIncludesWith_default2=arrayIncludesWith2;function noop2(){}__name(noop2,"noop");var noop_default2=noop2,createSet_default2=Set_default2&&1/setToArray_default2(new Set_default2([,-0]))[1]==1/0?function(values2){return new Set_default2(values2)}:noop_default2;function baseUniq2(array,iteratee,comparator){var index=-1,includes2=arrayIncludes_default2,length=array.length,isCommon=!0,result=[],seen=result;if(comparator)isCommon=!1,includes2=arrayIncludesWith_default2;else if(length>=200){var set=iteratee?null:createSet_default2(array);if(set)return setToArray_default2(set);isCommon=!1,includes2=cacheHas_default2,seen=new SetCache_default2}else seen=iteratee?[]:result;outer:for(;++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,isCommon&&computed==computed){for(var seenIndex=seen.length;seenIndex--;)if(seen[seenIndex]===computed)continue outer;iteratee&&seen.push(computed),result.push(value)}else includes2(seen,computed,comparator)||(seen!==result&&seen.push(computed),result.push(value))}return result}__name(baseUniq2,"baseUniq");var baseUniq_default2=baseUniq2;function uniqBy(array,iteratee){return array&&array.length?baseUniq_default2(array,baseIteratee_default2(iteratee)):[]}__name(uniqBy,"uniqBy");var uniqBy_default=uniqBy;function flatten2(array){return(null==array?0:array.length)?baseFlatten_default2(array,1):[]}__name(flatten2,"flatten");var flatten_default2=flatten2;function arrayEach2(array,iteratee){for(var index=-1,length=null==array?0:array.length;++index<length&&!1!==iteratee(array[index],index,array););return array}__name(arrayEach2,"arrayEach");var arrayEach_default2=arrayEach2;function castFunction2(value){return"function"==typeof value?value:identity_default2}__name(castFunction2,"castFunction");var castFunction_default2=castFunction2;function forEach2(collection,iteratee){return(isArray_default2(collection)?arrayEach_default2:baseEach_default2)(collection,castFunction_default2(iteratee))}__name(forEach2,"forEach");var forEach_default2=forEach2,hasOwnProperty27=Object.prototype.hasOwnProperty;function isEmpty2(value){if(null==value)return!0;if(isArrayLike_default2(value)&&(isArray_default2(value)||"string"==typeof value||"function"==typeof value.splice||isBuffer_default2(value)||isTypedArray_default2(value)||isArguments_default2(value)))return!value.length;var tag=getTag_default2(value);if("[object Map]"==tag||"[object Set]"==tag)return!value.size;if(isPrototype_default2(value))return!baseKeys_default2(value).length;for(var key in value)if(hasOwnProperty27.call(value,key))return!1;return!0}__name(isEmpty2,"isEmpty");var isEmpty_default2=isEmpty2;function arrayReduce2(array,iteratee,accumulator,initAccum){var index=-1,length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[++index]);++index<length;)accumulator=iteratee(accumulator,array[index],index,array);return accumulator}__name(arrayReduce2,"arrayReduce");var arrayReduce_default2=arrayReduce2;function baseReduce2(collection,iteratee,accumulator,initAccum,eachFunc){return eachFunc(collection,function(value,index,collection2){accumulator=initAccum?(initAccum=!1,value):iteratee(accumulator,value,index,collection2)}),accumulator}__name(baseReduce2,"baseReduce");var baseReduce_default2=baseReduce2;function reduce2(collection,iteratee,accumulator){var func=isArray_default2(collection)?arrayReduce_default2:baseReduce_default2,initAccum=arguments.length<3;return func(collection,baseIteratee_default2(iteratee),accumulator,initAccum,baseEach_default2)}__name(reduce2,"reduce");var reduce_default2=reduce2;function createDFACache(startState,decision){const map3={};return predicateSet=>{const key=predicateSet.toString();let existing=map3[key];return void 0!==existing||(existing={atnStartState:startState,decision:decision,states:{}},map3[key]=existing),existing}}__name(createDFACache,"createDFACache");var PredicateSet=(__name(_ia=class{constructor(){this.predicates=[]}is(index){return index>=this.predicates.length||this.predicates[index]}set(index,value){this.predicates[index]=value}toString(){let value="";const size=this.predicates.length;for(let i=0;i<size;i++)value+=!0===this.predicates[i]?"1":"0";return value}},"PredicateSet"),_ia),EMPTY_PREDICATES=new PredicateSet,LLStarLookaheadStrategy=(__name(_ja=class extends LLkLookaheadStrategy{constructor(options){var _a2;super(),this.logging=null!==(_a2=null==options?void 0:options.logging)&&void 0!==_a2?_a2:message=>console.log(message)}initialize(options){this.atn=createATN(options.rules),this.dfas=initATNSimulator(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(options){const{prodOccurrence:prodOccurrence,rule:rule,hasPredicates:hasPredicates,dynamicTokensEnabled:dynamicTokensEnabled}=options,dfas=this.dfas,logging=this.logging,key=buildATNKey(rule,"Alternation",prodOccurrence),decisionIndex=this.atn.decisionMap[key].decision,partialAlts=map_default2(getLookaheadPaths({maxLookahead:1,occurrence:prodOccurrence,prodType:"Alternation",rule:rule}),currAlt=>map_default2(currAlt,path=>path[0]));if(isLL1Sequence(partialAlts,!1)&&!dynamicTokensEnabled){const choiceToAlt=reduce_default2(partialAlts,(result,currAlt,idx)=>(forEach_default2(currAlt,currTokType=>{currTokType&&(result[currTokType.tokenTypeIdx]=idx,forEach_default2(currTokType.categoryMatches,currExtendingType=>{result[currExtendingType]=idx}))}),result),{});return hasPredicates?function(orAlts){var _a2;const nextToken=this.LA(1),prediction=choiceToAlt[nextToken.tokenTypeIdx];if(void 0!==orAlts&&void 0!==prediction){const gate=null===(_a2=orAlts[prediction])||void 0===_a2?void 0:_a2.GATE;if(void 0!==gate&&!1===gate.call(this))return}return prediction}:function(){const nextToken=this.LA(1);return choiceToAlt[nextToken.tokenTypeIdx]}}return hasPredicates?function(orAlts){const predicates=new PredicateSet,length=void 0===orAlts?0:orAlts.length;for(let i=0;i<length;i++){const gate=null==orAlts?void 0:orAlts[i].GATE;predicates.set(i,void 0===gate||gate.call(this))}const result=adaptivePredict.call(this,dfas,decisionIndex,predicates,logging);return"number"==typeof result?result:void 0}:function(){const result=adaptivePredict.call(this,dfas,decisionIndex,EMPTY_PREDICATES,logging);return"number"==typeof result?result:void 0}}buildLookaheadForOptional(options){const{prodOccurrence:prodOccurrence,rule:rule,prodType:prodType,dynamicTokensEnabled:dynamicTokensEnabled}=options,dfas=this.dfas,logging=this.logging,key=buildATNKey(rule,prodType,prodOccurrence),decisionIndex=this.atn.decisionMap[key].decision,alts=map_default2(getLookaheadPaths({maxLookahead:1,occurrence:prodOccurrence,prodType:prodType,rule:rule}),e=>map_default2(e,g=>g[0]));if(isLL1Sequence(alts)&&alts[0][0]&&!dynamicTokensEnabled){const alt=alts[0],singleTokensTypes=flatten_default2(alt);if(1===singleTokensTypes.length&&isEmpty_default2(singleTokensTypes[0].categoryMatches)){const expectedTokenUniqueKey=singleTokensTypes[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===expectedTokenUniqueKey}}{const choiceToAlt=reduce_default2(singleTokensTypes,(result,currTokType)=>(void 0!==currTokType&&(result[currTokType.tokenTypeIdx]=!0,forEach_default2(currTokType.categoryMatches,currExtendingType=>{result[currExtendingType]=!0})),result),{});return function(){const nextToken=this.LA(1);return!0===choiceToAlt[nextToken.tokenTypeIdx]}}}return function(){const result=adaptivePredict.call(this,dfas,decisionIndex,EMPTY_PREDICATES,logging);return"object"!=typeof result&&0===result}}},"LLStarLookaheadStrategy"),_ja);function isLL1Sequence(sequences,allowEmpty=!0){const fullSet=new Set;for(const alt of sequences){const altSet=new Set;for(const tokType of alt){if(void 0===tokType){if(allowEmpty)break;return!1}const indices=[tokType.tokenTypeIdx].concat(tokType.categoryMatches);for(const index of indices)if(fullSet.has(index)){if(!altSet.has(index))return!1}else fullSet.add(index),altSet.add(index)}}return!0}function initATNSimulator(atn){const decisionLength=atn.decisionStates.length,decisionToDFA=Array(decisionLength);for(let i=0;i<decisionLength;i++)decisionToDFA[i]=createDFACache(atn.decisionStates[i],i);return decisionToDFA}function adaptivePredict(dfaCaches,decision,predicateSet,logging){const dfa=dfaCaches[decision](predicateSet);let start=dfa.start;if(void 0===start){start=addDFAState(dfa,newDFAState(computeStartState(dfa.atnStartState))),dfa.start=start}return performLookahead.apply(this,[dfa,start,predicateSet,logging])}function performLookahead(dfa,s0,predicateSet,logging){let previousD=s0,i=1;const path=[];let t=this.LA(i++);for(;;){let d=getExistingTargetState(previousD,t);if(void 0===d&&(d=computeLookaheadTarget.apply(this,[dfa,previousD,t,i,predicateSet,logging])),d===DFA_ERROR)return buildAdaptivePredictError(path,previousD,t);if(!0===d.isAcceptState)return d.prediction;previousD=d,path.push(t),t=this.LA(i++)}}function computeLookaheadTarget(dfa,previousD,token,lookahead,predicateSet,logging){const reach=computeReachSet(previousD.configs,token,predicateSet);if(0===reach.size)return addDFAEdge(dfa,previousD,token,DFA_ERROR),DFA_ERROR;let newState2=newDFAState(reach);const predictedAlt=getUniqueAlt(reach,predicateSet);if(void 0!==predictedAlt)newState2.isAcceptState=!0,newState2.prediction=predictedAlt,newState2.configs.uniqueAlt=predictedAlt;else if(hasConflictTerminatingPrediction(reach)){const prediction=min_default(reach.alts);newState2.isAcceptState=!0,newState2.prediction=prediction,newState2.configs.uniqueAlt=prediction,reportLookaheadAmbiguity.apply(this,[dfa,lookahead,reach.alts,logging])}return newState2=addDFAEdge(dfa,previousD,token,newState2),newState2}function reportLookaheadAmbiguity(dfa,lookahead,ambiguityIndices,logging){const prefixPath=[];for(let i=1;i<=lookahead;i++)prefixPath.push(this.LA(i).tokenType);const atnState=dfa.atnStartState;logging(buildAmbiguityError({topLevelRule:atnState.rule,ambiguityIndices:ambiguityIndices,production:atnState.production,prefixPath:prefixPath}))}function buildAmbiguityError(options){const pathMsg=map_default2(options.prefixPath,currtok=>tokenLabel2(currtok)).join(", "),occurrence=0===options.production.idx?"":options.production.idx;let currMessage=`Ambiguous Alternatives Detected: <${options.ambiguityIndices.join(", ")}> in <${getProductionDslName2(options.production)}${occurrence}> inside <${options.topLevelRule.name}> Rule,\n<${pathMsg}> may appears as a prefix path in all these alternatives.\n`;return currMessage+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",currMessage}function getProductionDslName2(prod){if(prod instanceof NonTerminal)return"SUBRULE";if(prod instanceof Option)return"OPTION";if(prod instanceof Alternation)return"OR";if(prod instanceof RepetitionMandatory)return"AT_LEAST_ONE";if(prod instanceof RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(prod instanceof RepetitionWithSeparator)return"MANY_SEP";if(prod instanceof Repetition)return"MANY";if(prod instanceof Terminal)return"CONSUME";throw Error("non exhaustive match")}function buildAdaptivePredictError(path,previous,current){const nextTransitions=flatMap_default2(previous.configs.elements,e=>e.state.transitions);return{actualToken:current,possibleTokenTypes:uniqBy_default(nextTransitions.filter(e=>e instanceof AtomTransition).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:path}}function getExistingTargetState(state,token){return state.edges[token.tokenTypeIdx]}function computeReachSet(configs,token,predicateSet){const intermediate=new ATNConfigSet,skippedStopStates=[];for(const c of configs.elements){if(!1===predicateSet.is(c.alt))continue;if(7===c.state.type){skippedStopStates.push(c);continue}const transitionLength=c.state.transitions.length;for(let i=0;i<transitionLength;i++){const target=getReachableTarget(c.state.transitions[i],token);void 0!==target&&intermediate.add({state:target,alt:c.alt,stack:c.stack})}}let reach;if(0===skippedStopStates.length&&1===intermediate.size&&(reach=intermediate),void 0===reach){reach=new ATNConfigSet;for(const c of intermediate.elements)closure(c,reach)}if(skippedStopStates.length>0&&!hasConfigInRuleStopState(reach))for(const c of skippedStopStates)reach.add(c);return reach}function getReachableTarget(transition,token){if(transition instanceof AtomTransition&&tokenMatcher(token,transition.tokenType))return transition.target}function getUniqueAlt(configs,predicateSet){let alt;for(const c of configs.elements)if(!0===predicateSet.is(c.alt))if(void 0===alt)alt=c.alt;else if(alt!==c.alt)return;return alt}function newDFAState(closure2){return{configs:closure2,edges:{},isAcceptState:!1,prediction:-1}}function addDFAEdge(dfa,from,token,to){return to=addDFAState(dfa,to),from.edges[token.tokenTypeIdx]=to,to}function addDFAState(dfa,state){if(state===DFA_ERROR)return state;const mapKey=state.configs.key,existing=dfa.states[mapKey];return void 0!==existing?existing:(state.configs.finalize(),dfa.states[mapKey]=state,state)}function computeStartState(atnState){const configs=new ATNConfigSet,numberOfTransitions=atnState.transitions.length;for(let i=0;i<numberOfTransitions;i++){closure({state:atnState.transitions[i].target,alt:i,stack:[]},configs)}return configs}function closure(config,configs){const p=config.state;if(7===p.type){if(config.stack.length>0){const atnStack=[...config.stack];closure({state:atnStack.pop(),alt:config.alt,stack:atnStack},configs)}else configs.add(config);return}p.epsilonOnlyTransitions||configs.add(config);const transitionLength=p.transitions.length;for(let i=0;i<transitionLength;i++){const c=getEpsilonTarget(config,p.transitions[i]);void 0!==c&&closure(c,configs)}}function getEpsilonTarget(config,transition){if(transition instanceof EpsilonTransition)return{state:transition.target,alt:config.alt,stack:config.stack};if(transition instanceof RuleTransition){const stack=[...config.stack,transition.followState];return{state:transition.target,alt:config.alt,stack:stack}}}function hasConfigInRuleStopState(configs){for(const c of configs.elements)if(7===c.state.type)return!0;return!1}function allConfigsInRuleStopStates(configs){for(const c of configs.elements)if(7!==c.state.type)return!1;return!0}function hasConflictTerminatingPrediction(configs){if(allConfigsInRuleStopStates(configs))return!0;const altSets=getConflictingAltSets(configs.elements);return hasConflictingAltSet(altSets)&&!hasStateAssociatedWithOneAlt(altSets)}function getConflictingAltSets(configs){const configToAlts=new Map;for(const c of configs){const key=getATNConfigKey(c,!1);let alts=configToAlts.get(key);void 0===alts&&(alts={},configToAlts.set(key,alts)),alts[c.alt]=!0}return configToAlts}function hasConflictingAltSet(altSets){for(const value of Array.from(altSets.values()))if(Object.keys(value).length>1)return!0;return!1}function hasStateAssociatedWithOneAlt(altSets){for(const value of Array.from(altSets.values()))if(1===Object.keys(value).length)return!0;return!1}__name(isLL1Sequence,"isLL1Sequence"),__name(initATNSimulator,"initATNSimulator"),__name(adaptivePredict,"adaptivePredict"),__name(performLookahead,"performLookahead"),__name(computeLookaheadTarget,"computeLookaheadTarget"),__name(reportLookaheadAmbiguity,"reportLookaheadAmbiguity"),__name(buildAmbiguityError,"buildAmbiguityError"),__name(getProductionDslName2,"getProductionDslName"),__name(buildAdaptivePredictError,"buildAdaptivePredictError"),__name(getExistingTargetState,"getExistingTargetState"),__name(computeReachSet,"computeReachSet"),__name(getReachableTarget,"getReachableTarget"),__name(getUniqueAlt,"getUniqueAlt"),__name(newDFAState,"newDFAState"),__name(addDFAEdge,"addDFAEdge"),__name(addDFAState,"addDFAState"),__name(computeStartState,"computeStartState"),__name(closure,"closure"),__name(getEpsilonTarget,"getEpsilonTarget"),__name(hasConfigInRuleStopState,"hasConfigInRuleStopState"),__name(allConfigsInRuleStopStates,"allConfigsInRuleStopStates"),__name(hasConflictTerminatingPrediction,"hasConflictTerminatingPrediction"),__name(getConflictingAltSets,"getConflictingAltSets"),__name(hasConflictingAltSet,"hasConflictingAltSet"),__name(hasStateAssociatedWithOneAlt,"hasStateAssociatedWithOneAlt"),init_main();var CstNodeBuilder=(__name(_ka=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(input){return this.rootNode=new RootCstNodeImpl(input),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(feature){const compositeNode=new CompositeCstNodeImpl;return compositeNode.grammarSource=feature,compositeNode.root=this.rootNode,this.current.content.push(compositeNode),this.nodeStack.push(compositeNode),compositeNode}buildLeafNode(token,feature){const leafNode=new LeafCstNodeImpl(token.startOffset,token.image.length,tokenToRange(token),token.tokenType,!feature);return leafNode.grammarSource=feature,leafNode.root=this.rootNode,this.current.content.push(leafNode),leafNode}removeNode(node){const parent=node.container;if(parent){const index=parent.content.indexOf(node);index>=0&&parent.content.splice(index,1)}}addHiddenNodes(tokens){const nodes=[];for(const token of tokens){const leafNode=new LeafCstNodeImpl(token.startOffset,token.image.length,tokenToRange(token),token.tokenType,!0);leafNode.root=this.rootNode,nodes.push(leafNode)}let current=this.current,added=!1;if(current.content.length>0)current.content.push(...nodes);else{for(;current.container;){const index=current.container.content.indexOf(current);if(index>0){current.container.content.splice(index,0,...nodes),added=!0;break}current=current.container}added||this.rootNode.content.unshift(...nodes)}}construct(item){const current=this.current;"string"!=typeof item.$type||item.$infix||(this.current.astNode=item),item.$cstNode=current;const node=this.nodeStack.pop();0===(null==node?void 0:node.content.length)&&this.removeNode(node)}},"CstNodeBuilder"),_ka),AbstractCstNode=(__name(_la=class{get hidden(){return!1}get astNode(){var _a2,_b2;const node="string"==typeof(null==(_a2=this._astNode)?void 0:_a2.$type)?this._astNode:null==(_b2=this.container)?void 0:_b2.astNode;if(!node)throw new Error("This node has no associated AST element");return node}set astNode(value){this._astNode=value}get text(){return this.root.fullText.substring(this.offset,this.end)}},"AbstractCstNode"),_la),LeafCstNodeImpl=(__name(_ma=class extends AbstractCstNode{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(offset,length,range,tokenType,hidden=!1){super(),this._hidden=hidden,this._offset=offset,this._tokenType=tokenType,this._length=length,this._range=range}},"LeafCstNodeImpl"),_ma),CompositeCstNodeImpl=(__name(_na=class extends AbstractCstNode{constructor(){super(...arguments),this.content=new CstNodeContainer(this)}get offset(){var _a2;return(null==(_a2=this.firstNonHiddenNode)?void 0:_a2.offset)??0}get length(){return this.end-this.offset}get end(){var _a2;return(null==(_a2=this.lastNonHiddenNode)?void 0:_a2.end)??0}get range(){const firstNode=this.firstNonHiddenNode,lastNode=this.lastNonHiddenNode;if(firstNode&&lastNode){if(void 0===this._rangeCache){const{range:firstRange}=firstNode,{range:lastRange}=lastNode;this._rangeCache={start:firstRange.start,end:lastRange.end.line<firstRange.start.line?firstRange.start:lastRange.end}}return this._rangeCache}return{start:Position.create(0,0),end:Position.create(0,0)}}get firstNonHiddenNode(){for(const child of this.content)if(!child.hidden)return child;return this.content[0]}get lastNonHiddenNode(){for(let i=this.content.length-1;i>=0;i--){const child=this.content[i];if(!child.hidden)return child}return this.content[this.content.length-1]}},"CompositeCstNodeImpl"),_na),CstNodeContainer=(__name(_oa=class extends Array{constructor(parent){super(),this.parent=parent,Object.setPrototypeOf(this,_oa.prototype)}push(...items){return this.addParents(items),super.push(...items)}unshift(...items){return this.addParents(items),super.unshift(...items)}splice(start,count,...items){return this.addParents(items),super.splice(start,count,...items)}addParents(items){for(const item of items)item.container=this.parent}},"CstNodeContainer"),_oa),RootCstNodeImpl=(__name(_pa=class extends CompositeCstNodeImpl{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(input){super(),this._text="",this._text=input??""}},"RootCstNodeImpl"),_pa),DatatypeSymbol=Symbol("Datatype");function isDataTypeNode(node){return node.$type===DatatypeSymbol}__name(isDataTypeNode,"isDataTypeNode");var withRuleSuffix=__name(name=>name.endsWith("​")?name:name+"​","withRuleSuffix"),AbstractLangiumParser=(__name(_qa=class{constructor(services){var _a2;this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=services.parser.Lexer;const tokens=this.lexer.definition,production="production"===services.LanguageMetaData.mode;(null==(_a2=services.shared.profilers.LangiumProfiler)?void 0:_a2.isActive("parsing"))?this.wrapper=new ProfilerWrapper(tokens,{...services.parser.ParserConfig,skipValidations:production,errorMessageProvider:services.parser.ParserErrorMessageProvider},services.shared.profilers.LangiumProfiler.createTask("parsing",services.LanguageMetaData.languageId)):this.wrapper=new ChevrotainWrapper(tokens,{...services.parser.ParserConfig,skipValidations:production,errorMessageProvider:services.parser.ParserErrorMessageProvider})}alternatives(idx,choices){this.wrapper.wrapOr(idx,choices)}optional(idx,callback){this.wrapper.wrapOption(idx,callback)}many(idx,callback){this.wrapper.wrapMany(idx,callback)}atLeastOne(idx,callback){this.wrapper.wrapAtLeastOne(idx,callback)}getRule(name){return this.allRules.get(name)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},"AbstractLangiumParser"),_qa),LangiumParser=(__name(_ra=class extends AbstractLangiumParser{get current(){return this.stack[this.stack.length-1]}constructor(services){super(services),this.nodeBuilder=new CstNodeBuilder,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=services.references.Linker,this.converter=services.parser.ValueConverter,this.astReflection=services.shared.AstReflection}rule(rule,impl){const type=this.computeRuleType(rule);let infixName;isInfixRule(rule)&&(infixName=rule.name,this.registerPrecedenceMap(rule));const ruleMethod=this.wrapper.DEFINE_RULE(withRuleSuffix(rule.name),this.startImplementation(type,infixName,impl).bind(this));return this.allRules.set(rule.name,ruleMethod),isParserRule(rule)&&rule.entry&&(this.mainRule=ruleMethod),ruleMethod}registerPrecedenceMap(rule){const name=rule.name,map3=new Map;for(let i=0;i<rule.operators.precedences.length;i++){const precedence=rule.operators.precedences[i];for(const keyword of precedence.operators)map3.set(keyword.value,{precedence:i,rightAssoc:"right"===precedence.associativity})}this.operatorPrecedence.set(name,map3)}computeRuleType(rule){return isInfixRule(rule)?getTypeName(rule):rule.fragment?void 0:isDataTypeRule(rule)?DatatypeSymbol:getTypeName(rule)}parse(input,options={}){this.nodeBuilder.buildRootNode(input);const lexerResult=this.lexerResult=this.lexer.tokenize(input);this.wrapper.input=lexerResult.tokens;const ruleMethod=options.rule?this.allRules.get(options.rule):this.mainRule;if(!ruleMethod)throw new Error(options.rule?`No rule found with name '${options.rule}'`:"No main rule available.");const result=this.doParse(ruleMethod);return this.nodeBuilder.addHiddenNodes(lexerResult.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,linkContentToContainer(result,{deep:!0}),{value:result,lexerErrors:lexerResult.errors,lexerReport:lexerResult.report,parserErrors:this.wrapper.errors}}doParse(rule){let result=this.wrapper.rule(rule);if(this.stack.length>0&&(result=this.construct()),void 0===result)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return result}startImplementation($type,infixName,implementation){return args=>{const createNode=!this.isRecording()&&void 0!==$type;if(createNode){const node={$type:$type};this.stack.push(node),$type===DatatypeSymbol?node.value="":void 0!==infixName&&(node.$infixName=infixName)}return implementation(args),createNode?this.construct():void 0}}extractHiddenTokens(token){const hiddenTokens=this.lexerResult.hidden;if(!hiddenTokens.length)return[];const offset=token.startOffset;for(let i=0;i<hiddenTokens.length;i++){if(hiddenTokens[i].startOffset>offset)return hiddenTokens.splice(0,i)}return hiddenTokens.splice(0,hiddenTokens.length)}consume(idx,tokenType,feature){const token=this.wrapper.wrapConsume(idx,tokenType);if(!this.isRecording()&&this.isValidToken(token)){const hiddenTokens=this.extractHiddenTokens(token);this.nodeBuilder.addHiddenNodes(hiddenTokens);const leafNode=this.nodeBuilder.buildLeafNode(token,feature),{assignment:assignment,crossRef:crossRef}=this.getAssignment(feature),current=this.current;if(assignment){const convertedValue=isKeyword(feature)?token.image:this.converter.convert(token.image,leafNode);this.assign(assignment.operator,assignment.feature,convertedValue,leafNode,crossRef)}else if(isDataTypeNode(current)){let text=token.image;isKeyword(feature)||(text=this.converter.convert(text,leafNode).toString()),current.value+=text}}}isValidToken(token){return!token.isInsertedInRecovery&&!isNaN(token.startOffset)&&"number"==typeof token.endOffset&&!isNaN(token.endOffset)}subrule(idx,rule,fragment,feature,args){let cstNode,result;this.isRecording()||fragment||(cstNode=this.nodeBuilder.buildCompositeNode(feature));try{result=this.wrapper.wrapSubrule(idx,rule,args)}finally{this.isRecording()||(void 0!==result||fragment||(result=this.construct()),void 0!==result&&cstNode&&cstNode.length>0&&this.performSubruleAssignment(result,feature,cstNode))}}performSubruleAssignment(result,feature,cstNode){const{assignment:assignment,crossRef:crossRef}=this.getAssignment(feature);if(assignment)this.assign(assignment.operator,assignment.feature,result,cstNode,crossRef);else if(!assignment){const current=this.current;if(isDataTypeNode(current))current.value+=result.toString();else if("object"==typeof result&&result){const newItem=this.assignWithoutOverride(result,current);this.stack.pop(),this.stack.push(newItem)}}}action($type,action){if(!this.isRecording()){let last2=this.current;if(action.feature&&action.operator){last2=this.construct(),this.nodeBuilder.removeNode(last2.$cstNode);this.nodeBuilder.buildCompositeNode(action).content.push(last2.$cstNode);const newItem={$type:$type};this.stack.push(newItem),this.assign(action.operator,action.feature,last2,last2.$cstNode)}else last2.$type=$type}}construct(){if(this.isRecording())return;const obj=this.stack.pop();return this.nodeBuilder.construct(obj),"$infixName"in obj?this.constructInfix(obj,this.operatorPrecedence.get(obj.$infixName)):isDataTypeNode(obj)?this.converter.convert(obj.value,obj.$cstNode):(assignMandatoryProperties(this.astReflection,obj),obj)}constructInfix(obj,precedence){const parts=obj.parts;if(!Array.isArray(parts)||0===parts.length)return;const operators=obj.operators;if(!Array.isArray(operators)||parts.length<2)return parts[0];let lowestPrecedenceIdx=0,lowestPrecedenceValue=-1;for(let i=0;i<operators.length;i++){const operator=operators[i],opPrecedence=precedence.get(operator)??{precedence:1/0,rightAssoc:!1};opPrecedence.precedence>lowestPrecedenceValue?(lowestPrecedenceValue=opPrecedence.precedence,lowestPrecedenceIdx=i):opPrecedence.precedence===lowestPrecedenceValue&&(opPrecedence.rightAssoc||(lowestPrecedenceIdx=i))}const leftOperators=operators.slice(0,lowestPrecedenceIdx),rightOperators=operators.slice(lowestPrecedenceIdx+1),leftParts=parts.slice(0,lowestPrecedenceIdx+1),rightParts=parts.slice(lowestPrecedenceIdx+1),leftInfix={$infixName:obj.$infixName,$type:obj.$type,$cstNode:obj.$cstNode,parts:leftParts,operators:leftOperators},rightInfix={$infixName:obj.$infixName,$type:obj.$type,$cstNode:obj.$cstNode,parts:rightParts,operators:rightOperators},leftTree=this.constructInfix(leftInfix,precedence),rightTree=this.constructInfix(rightInfix,precedence);return{$type:obj.$type,$cstNode:obj.$cstNode,left:leftTree,operator:operators[lowestPrecedenceIdx],right:rightTree}}getAssignment(feature){if(!this.assignmentMap.has(feature)){const assignment=getContainerOfType(feature,isAssignment);this.assignmentMap.set(feature,{assignment:assignment,crossRef:assignment&&isCrossReference(assignment.terminal)?assignment.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(feature)}assign(operator,feature,value,cstNode,crossRef){const obj=this.current;let item;switch(item="single"===crossRef&&"string"==typeof value?this.linker.buildReference(obj,feature,cstNode,value):"multi"===crossRef&&"string"==typeof value?this.linker.buildMultiReference(obj,feature,cstNode,value):value,operator){case"=":obj[feature]=item;break;case"?=":obj[feature]=!0;break;case"+=":Array.isArray(obj[feature])||(obj[feature]=[]),obj[feature].push(item)}}assignWithoutOverride(target,source){for(const[name,existingValue]of Object.entries(source)){const newValue=target[name];void 0===newValue?target[name]=existingValue:Array.isArray(newValue)&&Array.isArray(existingValue)&&(existingValue.push(...newValue),target[name]=existingValue)}const targetCstNode=target.$cstNode;return targetCstNode&&(targetCstNode.astNode=void 0,target.$cstNode=void 0),target}get definitionErrors(){return this.wrapper.definitionErrors}},"LangiumParser"),_ra),AbstractParserErrorMessageProvider=(__name(_sa=class{buildMismatchTokenMessage(options){return defaultParserErrorProvider.buildMismatchTokenMessage(options)}buildNotAllInputParsedMessage(options){return defaultParserErrorProvider.buildNotAllInputParsedMessage(options)}buildNoViableAltMessage(options){return defaultParserErrorProvider.buildNoViableAltMessage(options)}buildEarlyExitMessage(options){return defaultParserErrorProvider.buildEarlyExitMessage(options)}},"AbstractParserErrorMessageProvider"),_sa),LangiumParserErrorMessageProvider=(__name(_ta=class extends AbstractParserErrorMessageProvider{buildMismatchTokenMessage({expected:expected,actual:actual}){return`Expecting ${expected.LABEL?"`"+expected.LABEL+"`":expected.name.endsWith(":KW")?`keyword '${expected.name.substring(0,expected.name.length-3)}'`:`token of type '${expected.name}'`} but found \`${actual.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:firstRedundant}){return`Expecting end of file but found \`${firstRedundant.image}\`.`}},"LangiumParserErrorMessageProvider"),_ta),LangiumCompletionParser=(__name(_ua=class extends AbstractLangiumParser{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(input){this.resetState();const tokens=this.lexer.tokenize(input,{mode:"partial"});return this.tokens=tokens.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(rule,impl){const ruleMethod=this.wrapper.DEFINE_RULE(withRuleSuffix(rule.name),this.startImplementation(impl).bind(this));return this.allRules.set(rule.name,ruleMethod),rule.entry&&(this.mainRule=ruleMethod),ruleMethod}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(implementation){return args=>{const size=this.keepStackSize();try{implementation(args)}finally{this.resetStackSize(size)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const size=this.elementStack.length;return this.stackSize=size,size}resetStackSize(size){this.removeUnexpectedElements(),this.stackSize=size}consume(idx,tokenType,feature){this.wrapper.wrapConsume(idx,tokenType),this.isRecording()||(this.lastElementStack=[...this.elementStack,feature],this.nextTokenIndex=this.currIdx+1)}subrule(idx,rule,fragment,feature,args){this.before(feature),this.wrapper.wrapSubrule(idx,rule,args),this.after(feature)}before(element){this.isRecording()||this.elementStack.push(element)}after(element){if(!this.isRecording()){const index=this.elementStack.lastIndexOf(element);index>=0&&this.elementStack.splice(index)}}get currIdx(){return this.wrapper.currIdx}},"LangiumCompletionParser"),_ua),defaultConfig={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new LangiumParserErrorMessageProvider},ChevrotainWrapper=(__name(_va=class extends EmbeddedActionsParser{constructor(tokens,config){super(tokens,{...defaultConfig,lookaheadStrategy:config&&"maxLookahead"in config?new LLkLookaheadStrategy({maxLookahead:config.maxLookahead}):new LLStarLookaheadStrategy({logging:config.skipValidations?()=>{}:void 0}),...config})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(name,impl,config){return this.RULE(name,impl,config)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(idx,tokenType){return this.consume(idx,tokenType,void 0)}wrapSubrule(idx,rule,args){return this.subrule(idx,rule,{ARGS:[args]})}wrapOr(idx,choices){this.or(idx,choices)}wrapOption(idx,callback){this.option(idx,callback)}wrapMany(idx,callback){this.many(idx,callback)}wrapAtLeastOne(idx,callback){this.atLeastOne(idx,callback)}rule(rule){return rule.call(this,{})}},"ChevrotainWrapper"),_va),ProfilerWrapper=(__name(_wa=class extends ChevrotainWrapper{constructor(tokens,config,task){super(tokens,config),this.task=task}rule(rule){this.task.start(),this.task.startSubTask(this.ruleName(rule));try{return super.rule(rule)}finally{this.task.stopSubTask(this.ruleName(rule)),this.task.stop()}}ruleName(rule){return rule.ruleName}subrule(idx,ruleToCall,options){this.task.startSubTask(this.ruleName(ruleToCall));try{return super.subrule(idx,ruleToCall,options)}finally{this.task.stopSubTask(this.ruleName(ruleToCall))}}},"ProfilerWrapper"),_wa);function createParser(grammar,parser,tokens){return buildRules({parser:parser,tokens:tokens,ruleNames:new Map},grammar),parser}function buildRules(parserContext,grammar){const reachable=getAllReachableRules(grammar,!1),parserRules=stream(grammar.rules).filter(isParserRule).filter(rule=>reachable.has(rule));for(const rule of parserRules){const ctx={...parserContext,consume:1,optional:1,subrule:1,many:1,or:1};parserContext.parser.rule(rule,buildElement(ctx,rule.definition))}const infixRules=stream(grammar.rules).filter(isInfixRule).filter(rule=>reachable.has(rule));for(const rule of infixRules)parserContext.parser.rule(rule,buildInfixRule(parserContext,rule))}function buildInfixRule(ctx,rule){const expressionRule=rule.call.rule.ref;if(!expressionRule)throw new Error("Could not resolve reference to infix operator rule: "+rule.call.rule.$refText);if(isTerminalRule(expressionRule))throw new Error("Cannot use terminal rule in infix expression");const allKeywords=rule.operators.precedences.flatMap(e=>e.operators),outerGroup={$type:"Group",elements:[]},part1Assignment={$container:outerGroup,$type:"Assignment",feature:"parts",operator:"+=",terminal:rule.call},innerGroup={$container:outerGroup,$type:"Group",elements:[],cardinality:"*"};outerGroup.elements.push(part1Assignment,innerGroup);const operatorAssignment={$container:innerGroup,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:allKeywords}},part2Assignment={...part1Assignment,$container:innerGroup};innerGroup.elements.push(operatorAssignment,part2Assignment);const orAlts=allKeywords.map(e=>ctx.tokens[e.value]).map((token,index)=>({ALT:__name(()=>ctx.parser.consume(index,token,operatorAssignment),"ALT")}));let subrule;return args=>{subrule??(subrule=getRule(ctx,expressionRule)),ctx.parser.subrule(0,subrule,!1,part1Assignment,args),ctx.parser.many(0,{DEF:__name(()=>{ctx.parser.alternatives(0,orAlts),ctx.parser.subrule(1,subrule,!1,part2Assignment,args)},"DEF")})}}function buildElement(ctx,element,ignoreGuard=!1){let method;if(isKeyword(element))method=buildKeyword(ctx,element);else if(isAction(element))method=buildAction(ctx,element);else if(isAssignment(element))method=buildElement(ctx,element.terminal);else if(isCrossReference(element))method=buildCrossReference(ctx,element);else if(isRuleCall(element))method=buildRuleCall(ctx,element);else if(isAlternatives(element))method=buildAlternatives(ctx,element);else if(isUnorderedGroup(element))method=buildUnorderedGroup(ctx,element);else if(isGroup(element))method=buildGroup(ctx,element);else{if(!isEndOfFile(element))throw new ErrorWithLocation(element.$cstNode,`Unexpected element type: ${element.$type}`);{const idx=ctx.consume++;method=__name(()=>ctx.parser.consume(idx,EOF,element),"method")}}return wrap(ctx,ignoreGuard?void 0:getGuardCondition(element),method,element.cardinality)}function buildAction(ctx,action){const actionType=getTypeName(action);return()=>ctx.parser.action(actionType,action)}function buildRuleCall(ctx,ruleCall){const rule=ruleCall.rule.ref;if(isAbstractParserRule(rule)){const idx=ctx.subrule++,fragment=isParserRule(rule)&&rule.fragment,predicate=ruleCall.arguments.length>0?buildRuleCallPredicate(rule,ruleCall.arguments):()=>({});let subrule;return args=>{subrule??(subrule=getRule(ctx,rule)),ctx.parser.subrule(idx,subrule,fragment,ruleCall,predicate(args))}}if(isTerminalRule(rule)){const idx=ctx.consume++,method=getToken(ctx,rule.name);return()=>ctx.parser.consume(idx,method,ruleCall)}if(!rule)throw new ErrorWithLocation(ruleCall.$cstNode,`Undefined rule: ${ruleCall.rule.$refText}`);assertUnreachable()}function buildRuleCallPredicate(rule,namedArgs){if(namedArgs.some(arg=>arg.calledByName)){const namedPredicates=namedArgs.map(arg=>{var _a2,_b2;return{parameterName:null==(_b2=null==(_a2=arg.parameter)?void 0:_a2.ref)?void 0:_b2.name,predicate:buildPredicate(arg.value)}});return args=>{const ruleArgs={};for(const{parameterName:parameterName,predicate:predicate}of namedPredicates)parameterName&&(ruleArgs[parameterName]=predicate(args));return ruleArgs}}{const predicates=namedArgs.map(arg=>buildPredicate(arg.value));return args=>{const ruleArgs={};for(let i=0;i<predicates.length;i++)if(i<rule.parameters.length){const parameterName=rule.parameters[i].name,predicate=predicates[i];ruleArgs[parameterName]=predicate(args)}return ruleArgs}}}function buildPredicate(condition){if(isDisjunction(condition)){const left=buildPredicate(condition.left),right=buildPredicate(condition.right);return args=>left(args)||right(args)}if(isConjunction(condition)){const left=buildPredicate(condition.left),right=buildPredicate(condition.right);return args=>left(args)&&right(args)}if(isNegation(condition)){const value=buildPredicate(condition.value);return args=>!value(args)}if(isParameterReference(condition)){const name=condition.parameter.ref.name;return args=>void 0!==args&&!0===args[name]}if(isBooleanLiteral(condition)){const value=Boolean(condition.true);return()=>value}assertUnreachable()}function buildAlternatives(ctx,alternatives){if(1===alternatives.elements.length)return buildElement(ctx,alternatives.elements[0]);{const methods=[];for(const element of alternatives.elements){const predicatedMethod={ALT:buildElement(ctx,element,!0)},guard=getGuardCondition(element);guard&&(predicatedMethod.GATE=buildPredicate(guard)),methods.push(predicatedMethod)}const idx=ctx.or++;return args=>ctx.parser.alternatives(idx,methods.map(method=>{const alt={ALT:__name(()=>method.ALT(args),"ALT")},gate=method.GATE;return gate&&(alt.GATE=()=>gate(args)),alt}))}}function buildUnorderedGroup(ctx,group){if(1===group.elements.length)return buildElement(ctx,group.elements[0]);const methods=[];for(const element of group.elements){const predicatedMethod={ALT:buildElement(ctx,element,!0)},guard=getGuardCondition(element);guard&&(predicatedMethod.GATE=buildPredicate(guard)),methods.push(predicatedMethod)}const orIdx=ctx.or++,idFunc=__name((groupIdx,lParser)=>`uGroup_${groupIdx}_${lParser.getRuleStack().join("-")}`,"idFunc"),alternatives=__name(args=>ctx.parser.alternatives(orIdx,methods.map((method,idx)=>{const alt={ALT:__name(()=>!0,"ALT")},parser=ctx.parser;alt.ALT=()=>{if(method.ALT(args),!parser.isRecording()){const key=idFunc(orIdx,parser);parser.unorderedGroups.get(key)||parser.unorderedGroups.set(key,[]);const groupState=parser.unorderedGroups.get(key);void 0===(null==groupState?void 0:groupState[idx])&&(groupState[idx]=!0)}};const gate=method.GATE;return alt.GATE=gate?()=>gate(args):()=>{const trackedAlternatives=parser.unorderedGroups.get(idFunc(orIdx,parser));return!(null==trackedAlternatives?void 0:trackedAlternatives[idx])},alt})),"alternatives"),wrapped=wrap(ctx,getGuardCondition(group),alternatives,"*");return args=>{wrapped(args),ctx.parser.isRecording()||ctx.parser.unorderedGroups.delete(idFunc(orIdx,ctx.parser))}}function buildGroup(ctx,group){const methods=group.elements.map(e=>buildElement(ctx,e));return args=>methods.forEach(method=>method(args))}function getGuardCondition(element){if(isGroup(element))return element.guardCondition}function buildCrossReference(ctx,crossRef,terminal=crossRef.terminal){if(terminal){if(isRuleCall(terminal)&&isParserRule(terminal.rule.ref)){const rule=terminal.rule.ref,idx=ctx.subrule++;let subrule;return args=>{subrule??(subrule=getRule(ctx,rule)),ctx.parser.subrule(idx,subrule,!1,crossRef,args)}}if(isRuleCall(terminal)&&isTerminalRule(terminal.rule.ref)){const idx=ctx.consume++,terminalRule=getToken(ctx,terminal.rule.ref.name);return()=>ctx.parser.consume(idx,terminalRule,crossRef)}if(isKeyword(terminal)){const idx=ctx.consume++,keyword=getToken(ctx,terminal.value);return()=>ctx.parser.consume(idx,keyword,crossRef)}throw new Error("Could not build cross reference parser")}{if(!crossRef.type.ref)throw new Error("Could not resolve reference to type: "+crossRef.type.$refText);const assignment=findNameAssignment(crossRef.type.ref),assignTerminal=null==assignment?void 0:assignment.terminal;if(!assignTerminal)throw new Error("Could not find name assignment for type: "+getTypeName(crossRef.type.ref));return buildCrossReference(ctx,crossRef,assignTerminal)}}function buildKeyword(ctx,keyword){const idx=ctx.consume++,token=ctx.tokens[keyword.value];if(!token)throw new Error("Could not find token for keyword: "+keyword.value);return()=>ctx.parser.consume(idx,token,keyword)}function wrap(ctx,guard,method,cardinality){const gate=guard&&buildPredicate(guard);if(!cardinality){if(gate){const idx=ctx.or++;return args=>ctx.parser.alternatives(idx,[{ALT:__name(()=>method(args),"ALT"),GATE:__name(()=>gate(args),"GATE")},{ALT:EMPTY_ALT(),GATE:__name(()=>!gate(args),"GATE")}])}return method}if("*"===cardinality){const idx=ctx.many++;return args=>ctx.parser.many(idx,{DEF:__name(()=>method(args),"DEF"),GATE:gate?()=>gate(args):void 0})}if("+"===cardinality){const idx=ctx.many++;if(gate){const orIdx=ctx.or++;return args=>ctx.parser.alternatives(orIdx,[{ALT:__name(()=>ctx.parser.atLeastOne(idx,{DEF:__name(()=>method(args),"DEF")}),"ALT"),GATE:__name(()=>gate(args),"GATE")},{ALT:EMPTY_ALT(),GATE:__name(()=>!gate(args),"GATE")}])}return args=>ctx.parser.atLeastOne(idx,{DEF:__name(()=>method(args),"DEF")})}if("?"===cardinality){const idx=ctx.optional++;return args=>ctx.parser.optional(idx,{DEF:__name(()=>method(args),"DEF"),GATE:gate?()=>gate(args):void 0})}assertUnreachable()}function getRule(ctx,element){const name=getRuleName(ctx,element),rule=ctx.parser.getRule(name);if(!rule)throw new Error(`Rule "${name}" not found."`);return rule}function getRuleName(ctx,element){if(isAbstractParserRule(element))return element.name;if(ctx.ruleNames.has(element))return ctx.ruleNames.get(element);{let item=element,parent=item.$container,ruleName=element.$type;for(;!isParserRule(parent);){if(isGroup(parent)||isAlternatives(parent)||isUnorderedGroup(parent)){ruleName=parent.elements.indexOf(item).toString()+":"+ruleName}item=parent,parent=parent.$container}return ruleName=parent.name+":"+ruleName,ctx.ruleNames.set(element,ruleName),ruleName}}function getToken(ctx,name){const token=ctx.tokens[name];if(!token)throw new Error(`Token "${name}" not found."`);return token}function createCompletionParser(services){const grammar=services.Grammar,lexer=services.parser.Lexer,parser=new LangiumCompletionParser(services);return createParser(grammar,parser,lexer.definition),parser.finalize(),parser}function createLangiumParser(services){const parser=prepareLangiumParser(services);return parser.finalize(),parser}function prepareLangiumParser(services){const grammar=services.Grammar,lexer=services.parser.Lexer;return createParser(grammar,new LangiumParser(services),lexer.definition)}__name(createParser,"createParser"),__name(buildRules,"buildRules"),__name(buildInfixRule,"buildInfixRule"),__name(buildElement,"buildElement"),__name(buildAction,"buildAction"),__name(buildRuleCall,"buildRuleCall"),__name(buildRuleCallPredicate,"buildRuleCallPredicate"),__name(buildPredicate,"buildPredicate"),__name(buildAlternatives,"buildAlternatives"),__name(buildUnorderedGroup,"buildUnorderedGroup"),__name(buildGroup,"buildGroup"),__name(getGuardCondition,"getGuardCondition"),__name(buildCrossReference,"buildCrossReference"),__name(buildKeyword,"buildKeyword"),__name(wrap,"wrap"),__name(getRule,"getRule"),__name(getRuleName,"getRuleName"),__name(getToken,"getToken"),__name(createCompletionParser,"createCompletionParser"),__name(createLangiumParser,"createLangiumParser"),__name(prepareLangiumParser,"prepareLangiumParser");var ValueConverter,DefaultTokenBuilder=(__name(_xa=class{constructor(){this.diagnostics=[]}buildTokens(grammar,options){const reachableRules=stream(getAllReachableRules(grammar,!1)),terminalTokens=this.buildTerminalTokens(reachableRules),tokens=this.buildKeywordTokens(reachableRules,terminalTokens,options);return tokens.push(...terminalTokens),tokens}flushLexingReport(text){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const diagnostics=[...this.diagnostics];return this.diagnostics=[],diagnostics}buildTerminalTokens(rules){return rules.filter(isTerminalRule).filter(e=>!e.fragment).map(terminal=>this.buildTerminalToken(terminal)).toArray()}buildTerminalToken(terminal){const regex=terminalRegex(terminal),pattern=this.requiresCustomPattern(regex)?this.regexPatternFunction(regex):regex,tokenType={name:terminal.name,PATTERN:pattern};return"function"==typeof pattern&&(tokenType.LINE_BREAKS=!0),terminal.hidden&&(tokenType.GROUP=isWhitespace(regex)?Lexer.SKIPPED:"hidden"),tokenType}requiresCustomPattern(regex){return!(!regex.flags.includes("u")&&!regex.flags.includes("s"))}regexPatternFunction(regex){const stickyRegex=new RegExp(regex,regex.flags+"y");return(text,offset)=>{stickyRegex.lastIndex=offset;return stickyRegex.exec(text)}}buildKeywordTokens(rules,terminalTokens,options){return rules.filter(isAbstractParserRule).flatMap(rule=>streamAllContents(rule).filter(isKeyword)).distinct(e=>e.value).toArray().sort((a,b)=>b.value.length-a.value.length).map(keyword=>this.buildKeywordToken(keyword,terminalTokens,Boolean(null==options?void 0:options.caseInsensitive)))}buildKeywordToken(keyword,terminalTokens,caseInsensitive){const keywordPattern=this.buildKeywordPattern(keyword,caseInsensitive),tokenType={name:keyword.value,PATTERN:keywordPattern,LONGER_ALT:this.findLongerAlt(keyword,terminalTokens)};return"function"==typeof keywordPattern&&(tokenType.LINE_BREAKS=!0),tokenType}buildKeywordPattern(keyword,caseInsensitive){return caseInsensitive?new RegExp(escapeRegExp(keyword.value),"i"):keyword.value}findLongerAlt(keyword,terminalTokens){return terminalTokens.reduce((longerAlts,token)=>{const pattern=null==token?void 0:token.PATTERN;return(null==pattern?void 0:pattern.source)&&partialMatches("^"+pattern.source+"$",keyword.value)&&longerAlts.push(token),longerAlts},[])}},"DefaultTokenBuilder"),_xa),DefaultValueConverter=(__name(_ya=class{convert(input,cstNode){let feature=cstNode.grammarSource;if(isCrossReference(feature)&&(feature=getCrossReferenceTerminal(feature)),isRuleCall(feature)){const rule=feature.rule.ref;if(!rule)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(rule,input,cstNode)}return input}runConverter(rule,input,cstNode){var _a2;switch(rule.name.toUpperCase()){case"INT":return ValueConverter.convertInt(input);case"STRING":return ValueConverter.convertString(input);case"ID":return ValueConverter.convertID(input)}switch(null==(_a2=getRuleType(rule))?void 0:_a2.toLowerCase()){case"number":return ValueConverter.convertNumber(input);case"boolean":return ValueConverter.convertBoolean(input);case"bigint":return ValueConverter.convertBigint(input);case"date":return ValueConverter.convertDate(input);default:return input}}},"DefaultValueConverter"),_ya);!function(ValueConverter2){function convertString(input){let result="";for(let i=1;i<input.length-1;i++){const c=input.charAt(i);if("\\"===c){result+=convertEscapeCharacter(input.charAt(++i))}else result+=c}return result}function convertEscapeCharacter(char){switch(char){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return char}}function convertID(input){return"^"===input.charAt(0)?input.substring(1):input}function convertInt(input){return parseInt(input)}function convertBigint(input){return BigInt(input)}function convertDate(input){return new Date(input)}function convertNumber(input){return Number(input)}function convertBoolean(input){return"true"===input.toLowerCase()}__name(convertString,"convertString"),ValueConverter2.convertString=convertString,__name(convertEscapeCharacter,"convertEscapeCharacter"),__name(convertID,"convertID"),ValueConverter2.convertID=convertID,__name(convertInt,"convertInt"),ValueConverter2.convertInt=convertInt,__name(convertBigint,"convertBigint"),ValueConverter2.convertBigint=convertBigint,__name(convertDate,"convertDate"),ValueConverter2.convertDate=convertDate,__name(convertNumber,"convertNumber"),ValueConverter2.convertNumber=convertNumber,__name(convertBoolean,"convertBoolean"),ValueConverter2.convertBoolean=convertBoolean}(ValueConverter||(ValueConverter={}));var cancellation_exports={};function delayNextTick(){return new Promise(resolve=>{"undefined"==typeof setImmediate?setTimeout(resolve,0):setImmediate(resolve)})}__reExport(cancellation_exports,__toESM(require_cancellation())),__name(delayNextTick,"delayNextTick");var lastTick=0,globalInterruptionPeriod=10;function startCancelableOperation(){return lastTick=performance.now(),new cancellation_exports.CancellationTokenSource}function setInterruptionPeriod(period){globalInterruptionPeriod=period}__name(startCancelableOperation,"startCancelableOperation"),__name(setInterruptionPeriod,"setInterruptionPeriod");var OperationCancelled=Symbol("OperationCancelled");function isOperationCancelled(err){return err===OperationCancelled}async function interruptAndCheck(token){if(token===cancellation_exports.CancellationToken.None)return;const current=performance.now();if(current-lastTick>=globalInterruptionPeriod&&(lastTick=current,await delayNextTick(),lastTick=performance.now()),token.isCancellationRequested)throw OperationCancelled}__name(isOperationCancelled,"isOperationCancelled"),__name(interruptAndCheck,"interruptAndCheck");var TextDocument2,LIB,Deferred=(__name(_za=class{constructor(){this.promise=new Promise((resolve,reject2)=>{this.resolve=arg=>(resolve(arg),this),this.reject=err=>(reject2(err),this)})}},"Deferred"),_za),FullTextDocument2=(__name(_Aa=class{constructor(uri,languageId,version,content){this._uri=uri,this._languageId=languageId,this._version=version,this._content=content,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(range){if(range){const start=this.offsetAt(range.start),end=this.offsetAt(range.end);return this._content.substring(start,end)}return this._content}update(changes,version){for(const change of changes)if(_Aa.isIncremental(change)){const range=getWellformedRange(change.range),startOffset=this.offsetAt(range.start),endOffset=this.offsetAt(range.end);this._content=this._content.substring(0,startOffset)+change.text+this._content.substring(endOffset,this._content.length);const startLine=Math.max(range.start.line,0),endLine=Math.max(range.end.line,0);let lineOffsets=this._lineOffsets;const addedLineOffsets=computeLineOffsets(change.text,!1,startOffset);if(endLine-startLine===addedLineOffsets.length)for(let i=0,len=addedLineOffsets.length;i<len;i++)lineOffsets[i+startLine+1]=addedLineOffsets[i];else addedLineOffsets.length<1e4?lineOffsets.splice(startLine+1,endLine-startLine,...addedLineOffsets):this._lineOffsets=lineOffsets=lineOffsets.slice(0,startLine+1).concat(addedLineOffsets,lineOffsets.slice(endLine+1));const diff=change.text.length-(endOffset-startOffset);if(0!==diff)for(let i=startLine+1+addedLineOffsets.length,len=lineOffsets.length;i<len;i++)lineOffsets[i]=lineOffsets[i]+diff}else{if(!_Aa.isFull(change))throw new Error("Unknown change event received");this._content=change.text,this._lineOffsets=void 0}this._version=version}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=computeLineOffsets(this._content,!0)),this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);const lineOffsets=this.getLineOffsets();let low=0,high=lineOffsets.length;if(0===high)return{line:0,character:offset};for(;low<high;){const mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}const line=low-1;return{line:line,character:(offset=this.ensureBeforeEOL(offset,lineOffsets[line]))-lineOffsets[line]}}offsetAt(position){const lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;const lineOffset=lineOffsets[position.line];if(position.character<=0)return lineOffset;const nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length,offset=Math.min(lineOffset+position.character,nextLineOffset);return this.ensureBeforeEOL(offset,lineOffset)}ensureBeforeEOL(offset,lineOffset){for(;offset>lineOffset&&isEOL(this._content.charCodeAt(offset-1));)offset--;return offset}get lineCount(){return this.getLineOffsets().length}static isIncremental(event){const candidate=event;return null!=candidate&&"string"==typeof candidate.text&&void 0!==candidate.range&&(void 0===candidate.rangeLength||"number"==typeof candidate.rangeLength)}static isFull(event){const candidate=event;return null!=candidate&&"string"==typeof candidate.text&&void 0===candidate.range&&void 0===candidate.rangeLength}},"FullTextDocument"),_Aa);function mergeSort(data,compare){if(data.length<=1)return data;const p=data.length/2|0,left=data.slice(0,p),right=data.slice(p);mergeSort(left,compare),mergeSort(right,compare);let leftIdx=0,rightIdx=0,i=0;for(;leftIdx<left.length&&rightIdx<right.length;){const ret=compare(left[leftIdx],right[rightIdx]);data[i++]=ret<=0?left[leftIdx++]:right[rightIdx++]}for(;leftIdx<left.length;)data[i++]=left[leftIdx++];for(;rightIdx<right.length;)data[i++]=right[rightIdx++];return data}function computeLineOffsets(text,isAtLineStart,textOffset=0){const result=isAtLineStart?[textOffset]:[];for(let i=0;i<text.length;i++){const ch=text.charCodeAt(i);isEOL(ch)&&(13===ch&&i+1<text.length&&10===text.charCodeAt(i+1)&&i++,result.push(textOffset+i+1))}return result}function isEOL(char){return 13===char||10===char}function getWellformedRange(range){const start=range.start,end=range.end;return start.line>end.line||start.line===end.line&&start.character>end.character?{start:end,end:start}:range}function getWellformedEdit(textEdit){const range=getWellformedRange(textEdit.range);return range!==textEdit.range?{newText:textEdit.newText,range:range}:textEdit}!function(TextDocument3){function create(uri,languageId,version,content){return new FullTextDocument2(uri,languageId,version,content)}function update(document,changes,version){if(document instanceof FullTextDocument2)return document.update(changes,version),document;throw new Error("TextDocument.update: document must be created by TextDocument.create")}function applyEdits(document,edits){const text=document.getText(),sortedEdits=mergeSort(edits.map(getWellformedEdit),(a,b)=>{const diff=a.range.start.line-b.range.start.line;return 0===diff?a.range.start.character-b.range.start.character:diff});let lastModifiedOffset=0;const spans=[];for(const e of sortedEdits){const startOffset=document.offsetAt(e.range.start);if(startOffset<lastModifiedOffset)throw new Error("Overlapping edit");startOffset>lastModifiedOffset&&spans.push(text.substring(lastModifiedOffset,startOffset)),e.newText.length&&spans.push(e.newText),lastModifiedOffset=document.offsetAt(e.range.end)}return spans.push(text.substr(lastModifiedOffset)),spans.join("")}__name(create,"create"),TextDocument3.create=create,__name(update,"update"),TextDocument3.update=update,__name(applyEdits,"applyEdits"),TextDocument3.applyEdits=applyEdits}(TextDocument2||(TextDocument2={})),__name(mergeSort,"mergeSort"),__name(computeLineOffsets,"computeLineOffsets"),__name(isEOL,"isEOL"),__name(getWellformedRange,"getWellformedRange"),__name(getWellformedEdit,"getWellformedEdit"),(()=>{var t={975:t2=>{function e2(t3){if("string"!=typeof t3)throw new TypeError("Path must be a string. Received "+JSON.stringify(t3))}function r2(t3,e3){for(var r3,n3="",i2=0,o2=-1,s2=0,h2=0;h2<=t3.length;++h2){if(h2<t3.length)r3=t3.charCodeAt(h2);else{if(47===r3)break;r3=47}if(47===r3){if(o2===h2-1||1===s2);else if(o2!==h2-1&&2===s2){if(n3.length<2||2!==i2||46!==n3.charCodeAt(n3.length-1)||46!==n3.charCodeAt(n3.length-2))if(n3.length>2){var a2=n3.lastIndexOf("/");if(a2!==n3.length-1){-1===a2?(n3="",i2=0):i2=(n3=n3.slice(0,a2)).length-1-n3.lastIndexOf("/"),o2=h2,s2=0;continue}}else if(2===n3.length||1===n3.length){n3="",i2=0,o2=h2,s2=0;continue}e3&&(n3.length>0?n3+="/..":n3="..",i2=2)}else n3.length>0?n3+="/"+t3.slice(o2+1,h2):n3=t3.slice(o2+1,h2),i2=h2-o2-1;o2=h2,s2=0}else 46===r3&&-1!==s2?++s2:s2=-1}return n3}__name(e2,"e"),__name(r2,"r");var n2={resolve:__name(function(){for(var t3,n3="",i2=!1,o2=arguments.length-1;o2>=-1&&!i2;o2--){var s2;o2>=0?s2=arguments[o2]:(void 0===t3&&(t3=process.cwd()),s2=t3),e2(s2),0!==s2.length&&(n3=s2+"/"+n3,i2=47===s2.charCodeAt(0))}return n3=r2(n3,!i2),i2?n3.length>0?"/"+n3:"/":n3.length>0?n3:"."},"resolve"),normalize:__name(function(t3){if(e2(t3),0===t3.length)return".";var n3=47===t3.charCodeAt(0),i2=47===t3.charCodeAt(t3.length-1);return 0!==(t3=r2(t3,!n3)).length||n3||(t3="."),t3.length>0&&i2&&(t3+="/"),n3?"/"+t3:t3},"normalize"),isAbsolute:__name(function(t3){return e2(t3),t3.length>0&&47===t3.charCodeAt(0)},"isAbsolute"),join:__name(function(){if(0===arguments.length)return".";for(var t3,r3=0;r3<arguments.length;++r3){var i2=arguments[r3];e2(i2),i2.length>0&&(void 0===t3?t3=i2:t3+="/"+i2)}return void 0===t3?".":n2.normalize(t3)},"join"),relative:__name(function(t3,r3){if(e2(t3),e2(r3),t3===r3)return"";if((t3=n2.resolve(t3))===(r3=n2.resolve(r3)))return"";for(var i2=1;i2<t3.length&&47===t3.charCodeAt(i2);++i2);for(var o2=t3.length,s2=o2-i2,h2=1;h2<r3.length&&47===r3.charCodeAt(h2);++h2);for(var a2=r3.length-h2,c2=s2<a2?s2:a2,f2=-1,u2=0;u2<=c2;++u2){if(u2===c2){if(a2>c2){if(47===r3.charCodeAt(h2+u2))return r3.slice(h2+u2+1);if(0===u2)return r3.slice(h2+u2)}else s2>c2&&(47===t3.charCodeAt(i2+u2)?f2=u2:0===u2&&(f2=0));break}var l2=t3.charCodeAt(i2+u2);if(l2!==r3.charCodeAt(h2+u2))break;47===l2&&(f2=u2)}var g2="";for(u2=i2+f2+1;u2<=o2;++u2)u2!==o2&&47!==t3.charCodeAt(u2)||(0===g2.length?g2+="..":g2+="/..");return g2.length>0?g2+r3.slice(h2+f2):(h2+=f2,47===r3.charCodeAt(h2)&&++h2,r3.slice(h2))},"relative"),_makeLong:__name(function(t3){return t3},"_makeLong"),dirname:__name(function(t3){if(e2(t3),0===t3.length)return".";for(var r3=t3.charCodeAt(0),n3=47===r3,i2=-1,o2=!0,s2=t3.length-1;s2>=1;--s2)if(47===(r3=t3.charCodeAt(s2))){if(!o2){i2=s2;break}}else o2=!1;return-1===i2?n3?"/":".":n3&&1===i2?"//":t3.slice(0,i2)},"dirname"),basename:__name(function(t3,r3){if(void 0!==r3&&"string"!=typeof r3)throw new TypeError('"ext" argument must be a string');e2(t3);var n3,i2=0,o2=-1,s2=!0;if(void 0!==r3&&r3.length>0&&r3.length<=t3.length){if(r3.length===t3.length&&r3===t3)return"";var h2=r3.length-1,a2=-1;for(n3=t3.length-1;n3>=0;--n3){var c2=t3.charCodeAt(n3);if(47===c2){if(!s2){i2=n3+1;break}}else-1===a2&&(s2=!1,a2=n3+1),h2>=0&&(c2===r3.charCodeAt(h2)?-1==--h2&&(o2=n3):(h2=-1,o2=a2))}return i2===o2?o2=a2:-1===o2&&(o2=t3.length),t3.slice(i2,o2)}for(n3=t3.length-1;n3>=0;--n3)if(47===t3.charCodeAt(n3)){if(!s2){i2=n3+1;break}}else-1===o2&&(s2=!1,o2=n3+1);return-1===o2?"":t3.slice(i2,o2)},"basename"),extname:__name(function(t3){e2(t3);for(var r3=-1,n3=0,i2=-1,o2=!0,s2=0,h2=t3.length-1;h2>=0;--h2){var a2=t3.charCodeAt(h2);if(47!==a2)-1===i2&&(o2=!1,i2=h2+1),46===a2?-1===r3?r3=h2:1!==s2&&(s2=1):-1!==r3&&(s2=-1);else if(!o2){n3=h2+1;break}}return-1===r3||-1===i2||0===s2||1===s2&&r3===i2-1&&r3===n3+1?"":t3.slice(r3,i2)},"extname"),format:__name(function(t3){if(null===t3||"object"!=typeof t3)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t3);return r3=(e3=t3).dir||e3.root,n3=e3.base||(e3.name||"")+(e3.ext||""),r3?r3===e3.root?r3+n3:r3+"/"+n3:n3;var e3,r3,n3},"format"),parse:__name(function(t3){e2(t3);var r3={root:"",dir:"",base:"",ext:"",name:""};if(0===t3.length)return r3;var n3,i2=t3.charCodeAt(0),o2=47===i2;o2?(r3.root="/",n3=1):n3=0;for(var s2=-1,h2=0,a2=-1,c2=!0,f2=t3.length-1,u2=0;f2>=n3;--f2)if(47!==(i2=t3.charCodeAt(f2)))-1===a2&&(c2=!1,a2=f2+1),46===i2?-1===s2?s2=f2:1!==u2&&(u2=1):-1!==s2&&(u2=-1);else if(!c2){h2=f2+1;break}return-1===s2||-1===a2||0===u2||1===u2&&s2===a2-1&&s2===h2+1?-1!==a2&&(r3.base=r3.name=0===h2&&o2?t3.slice(1,a2):t3.slice(h2,a2)):(0===h2&&o2?(r3.name=t3.slice(1,s2),r3.base=t3.slice(1,a2)):(r3.name=t3.slice(h2,s2),r3.base=t3.slice(h2,a2)),r3.ext=t3.slice(s2,a2)),h2>0?r3.dir=t3.slice(0,h2-1):o2&&(r3.dir="/"),r3},"parse"),sep:"/",delimiter:":",win32:null,posix:null};n2.posix=n2,t2.exports=n2}},e={};function r(n2){var i2=e[n2];if(void 0!==i2)return i2.exports;var o2=e[n2]={exports:{}};return t[n2](o2,o2.exports,r),o2.exports}__name(r,"r"),r.d=(t2,e2)=>{for(var n2 in e2)r.o(e2,n2)&&!r.o(t2,n2)&&Object.defineProperty(t2,n2,{enumerable:!0,get:e2[n2]})},r.o=(t2,e2)=>Object.prototype.hasOwnProperty.call(t2,e2),r.r=t2=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t2,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t2,"__esModule",{value:!0})};var n={};let i;if(r.r(n),r.d(n,{URI:__name(()=>l,"URI"),Utils:__name(()=>I,"Utils")}),"object"==typeof process)i="win32"===process.platform;else if("object"==typeof navigator){let t2=navigator.userAgent;i=t2.indexOf("Windows")>=0}const o=/^\w[\w\d+.-]*$/,s=/^\//,h=/^\/\//;function a(t2,e2){if(!t2.scheme&&e2)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${t2.authority}", path: "${t2.path}", query: "${t2.query}", fragment: "${t2.fragment}"}`);if(t2.scheme&&!o.test(t2.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t2.path)if(t2.authority){if(!s.test(t2.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(h.test(t2.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}__name(a,"a");const c="",f="/",u=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,_l2=class _l2{constructor(t2,e2,r2,n2,i2,o2=!1){__publicField(this,"scheme"),__publicField(this,"authority"),__publicField(this,"path"),__publicField(this,"query"),__publicField(this,"fragment"),"object"==typeof t2?(this.scheme=t2.scheme||c,this.authority=t2.authority||c,this.path=t2.path||c,this.query=t2.query||c,this.fragment=t2.fragment||c):(this.scheme=function(t3,e3){return t3||e3?t3:"file"}(t2,o2),this.authority=e2||c,this.path=function(t3,e3){switch(t3){case"https":case"http":case"file":e3?e3[0]!==f&&(e3=f+e3):e3=f}return e3}(this.scheme,r2||c),this.query=n2||c,this.fragment=i2||c,a(this,o2))}static isUri(t2){return t2 instanceof _l2||!!t2&&"string"==typeof t2.authority&&"string"==typeof t2.fragment&&"string"==typeof t2.path&&"string"==typeof t2.query&&"string"==typeof t2.scheme&&"string"==typeof t2.fsPath&&"function"==typeof t2.with&&"function"==typeof t2.toString}get fsPath(){return v(this,!1)}with(t2){if(!t2)return this;let{scheme:e2,authority:r2,path:n2,query:i2,fragment:o2}=t2;return void 0===e2?e2=this.scheme:null===e2&&(e2=c),void 0===r2?r2=this.authority:null===r2&&(r2=c),void 0===n2?n2=this.path:null===n2&&(n2=c),void 0===i2?i2=this.query:null===i2&&(i2=c),void 0===o2?o2=this.fragment:null===o2&&(o2=c),e2===this.scheme&&r2===this.authority&&n2===this.path&&i2===this.query&&o2===this.fragment?this:new d(e2,r2,n2,i2,o2)}static parse(t2,e2=!1){const r2=u.exec(t2);return r2?new d(r2[2]||c,w(r2[4]||c),w(r2[5]||c),w(r2[7]||c),w(r2[9]||c),e2):new d(c,c,c,c,c)}static file(t2){let e2=c;if(i&&(t2=t2.replace(/\\/g,f)),t2[0]===f&&t2[1]===f){const r2=t2.indexOf(f,2);-1===r2?(e2=t2.substring(2),t2=f):(e2=t2.substring(2,r2),t2=t2.substring(r2)||f)}return new d("file",e2,t2,c,c)}static from(t2){const e2=new d(t2.scheme,t2.authority,t2.path,t2.query,t2.fragment);return a(e2,!0),e2}toString(t2=!1){return b(this,t2)}toJSON(){return this}static revive(t2){if(t2){if(t2 instanceof _l2)return t2;{const e2=new d(t2);return e2._formatted=t2.external,e2._fsPath=t2._sep===g?t2.fsPath:null,e2}}return t2}};__name(_l2,"l");let l=_l2;const g=i?1:void 0,_d2=class extends l{constructor(){super(...arguments),__publicField(this,"_formatted",null),__publicField(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=v(this,!1)),this._fsPath}toString(t2=!1){return t2?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const t2={$mid:1};return this._fsPath&&(t2.fsPath=this._fsPath,t2._sep=g),this._formatted&&(t2.external=this._formatted),this.path&&(t2.path=this.path),this.scheme&&(t2.scheme=this.scheme),this.authority&&(t2.authority=this.authority),this.query&&(t2.query=this.query),this.fragment&&(t2.fragment=this.fragment),t2}};__name(_d2,"d");let d=_d2;const p={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 m(t2,e2,r2){let n2,i2=-1;for(let o2=0;o2<t2.length;o2++){const s2=t2.charCodeAt(o2);if(s2>=97&&s2<=122||s2>=65&&s2<=90||s2>=48&&s2<=57||45===s2||46===s2||95===s2||126===s2||e2&&47===s2||r2&&91===s2||r2&&93===s2||r2&&58===s2)-1!==i2&&(n2+=encodeURIComponent(t2.substring(i2,o2)),i2=-1),void 0!==n2&&(n2+=t2.charAt(o2));else{void 0===n2&&(n2=t2.substr(0,o2));const e3=p[s2];void 0!==e3?(-1!==i2&&(n2+=encodeURIComponent(t2.substring(i2,o2)),i2=-1),n2+=e3):-1===i2&&(i2=o2)}}return-1!==i2&&(n2+=encodeURIComponent(t2.substring(i2))),void 0!==n2?n2:t2}function y(t2){let e2;for(let r2=0;r2<t2.length;r2++){const n2=t2.charCodeAt(r2);35===n2||63===n2?(void 0===e2&&(e2=t2.substr(0,r2)),e2+=p[n2]):void 0!==e2&&(e2+=t2[r2])}return void 0!==e2?e2:t2}function v(t2,e2){let r2;return r2=t2.authority&&t2.path.length>1&&"file"===t2.scheme?`//${t2.authority}${t2.path}`:47===t2.path.charCodeAt(0)&&(t2.path.charCodeAt(1)>=65&&t2.path.charCodeAt(1)<=90||t2.path.charCodeAt(1)>=97&&t2.path.charCodeAt(1)<=122)&&58===t2.path.charCodeAt(2)?e2?t2.path.substr(1):t2.path[1].toLowerCase()+t2.path.substr(2):t2.path,i&&(r2=r2.replace(/\//g,"\\")),r2}function b(t2,e2){const r2=e2?y:m;let n2="",{scheme:i2,authority:o2,path:s2,query:h2,fragment:a2}=t2;if(i2&&(n2+=i2,n2+=":"),(o2||"file"===i2)&&(n2+=f,n2+=f),o2){let t3=o2.indexOf("@");if(-1!==t3){const e3=o2.substr(0,t3);o2=o2.substr(t3+1),t3=e3.lastIndexOf(":"),-1===t3?n2+=r2(e3,!1,!1):(n2+=r2(e3.substr(0,t3),!1,!1),n2+=":",n2+=r2(e3.substr(t3+1),!1,!0)),n2+="@"}o2=o2.toLowerCase(),t3=o2.lastIndexOf(":"),-1===t3?n2+=r2(o2,!1,!0):(n2+=r2(o2.substr(0,t3),!1,!0),n2+=o2.substr(t3))}if(s2){if(s2.length>=3&&47===s2.charCodeAt(0)&&58===s2.charCodeAt(2)){const t3=s2.charCodeAt(1);t3>=65&&t3<=90&&(s2=`/${String.fromCharCode(t3+32)}:${s2.substr(3)}`)}else if(s2.length>=2&&58===s2.charCodeAt(1)){const t3=s2.charCodeAt(0);t3>=65&&t3<=90&&(s2=`${String.fromCharCode(t3+32)}:${s2.substr(2)}`)}n2+=r2(s2,!0,!1)}return h2&&(n2+="?",n2+=r2(h2,!1,!1)),a2&&(n2+="#",n2+=e2?a2:m(a2,!1,!1)),n2}function C(t2){try{return decodeURIComponent(t2)}catch{return t2.length>3?t2.substr(0,3)+C(t2.substr(3)):t2}}__name(m,"m"),__name(y,"y"),__name(v,"v"),__name(b,"b"),__name(C,"C");const A=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function w(t2){return t2.match(A)?t2.replace(A,t3=>C(t3)):t2}__name(w,"w");var x=r(975);const P=x.posix||x,_="/";var I,t2;(t2=I||(I={})).joinPath=function(t3,...e2){return t3.with({path:P.join(t3.path,...e2)})},t2.resolvePath=function(t3,...e2){let r2=t3.path,n2=!1;r2[0]!==_&&(r2=_+r2,n2=!0);let i2=P.resolve(r2,...e2);return n2&&i2[0]===_&&!t3.authority&&(i2=i2.substring(1)),t3.with({path:i2})},t2.dirname=function(t3){if(0===t3.path.length||t3.path===_)return t3;let e2=P.dirname(t3.path);return 1===e2.length&&46===e2.charCodeAt(0)&&(e2=""),t3.with({path:e2})},t2.basename=function(t3){return P.basename(t3.path)},t2.extname=function(t3){return P.extname(t3.path)},LIB=n})();var UriUtils,{URI:URI2,Utils:Utils}=LIB;!function(UriUtils2){UriUtils2.basename=Utils.basename,UriUtils2.dirname=Utils.dirname,UriUtils2.extname=Utils.extname,UriUtils2.joinPath=Utils.joinPath,UriUtils2.resolvePath=Utils.resolvePath;const isWindows="object"==typeof process&&"win32"===(null==process?void 0:process.platform);function equals(a,b){return(null==a?void 0:a.toString())===(null==b?void 0:b.toString())}function relative(from,to){const fromPath="string"==typeof from?URI2.parse(from).path:from.path,toPath="string"==typeof to?URI2.parse(to).path:to.path,fromParts=fromPath.split("/").filter(e=>e.length>0),toParts=toPath.split("/").filter(e=>e.length>0);if(isWindows){const upperCaseDriveLetter=/^[A-Z]:$/;if(fromParts[0]&&upperCaseDriveLetter.test(fromParts[0])&&(fromParts[0]=fromParts[0].toLowerCase()),toParts[0]&&upperCaseDriveLetter.test(toParts[0])&&(toParts[0]=toParts[0].toLowerCase()),fromParts[0]!==toParts[0])return toPath.substring(1)}let i=0;for(;i<fromParts.length&&fromParts[i]===toParts[i];i++);return"../".repeat(fromParts.length-i)+toParts.slice(i).join("/")}function normalize(uri){return URI2.parse(uri.toString()).toString()}function contains(parent,child){let parentPath="string"==typeof parent?parent:parent.path,childPath="string"==typeof child?child:child.path;return"/"===childPath.charAt(childPath.length-1)&&(childPath=childPath.slice(0,-1)),"/"===parentPath.charAt(parentPath.length-1)&&(parentPath=parentPath.slice(0,-1)),childPath===parentPath||!(childPath.length<parentPath.length)&&("/"===childPath.charAt(parentPath.length)&&childPath.startsWith(parentPath))}__name(equals,"equals"),UriUtils2.equals=equals,__name(relative,"relative"),UriUtils2.relative=relative,__name(normalize,"normalize"),UriUtils2.normalize=normalize,__name(contains,"contains"),UriUtils2.contains=contains}(UriUtils||(UriUtils={}));var DocumentState,DocumentState2,UriTrie=(__name(_Ba=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(uri){return UriUtils.normalize(uri)}clear(){this.root.children.clear()}insert(uri,element){this.getNode(this.normalizeUri(uri),!0).element=element}delete(uri){const nodeToDelete=this.getNode(this.normalizeUri(uri),!1);(null==nodeToDelete?void 0:nodeToDelete.parent)&&nodeToDelete.parent.children.delete(nodeToDelete.name)}has(uri){var _a2;return void 0!==(null==(_a2=this.getNode(this.normalizeUri(uri),!1))?void 0:_a2.element)}hasNode(uri){return void 0!==this.getNode(this.normalizeUri(uri),!1)}find(uri){var _a2;return null==(_a2=this.getNode(this.normalizeUri(uri),!1))?void 0:_a2.element}findNode(uri){const uriString=this.normalizeUri(uri),node=this.getNode(uriString,!1);if(node)return{name:node.name,uri:UriUtils.joinPath(URI2.parse(uriString),node.name).toString(),element:node.element}}findChildren(uri){const uriString=this.normalizeUri(uri),node=this.getNode(uriString,!1);return node?Array.from(node.children.values()).map(child=>({name:child.name,uri:UriUtils.joinPath(URI2.parse(uriString),child.name).toString(),element:child.element})):[]}all(){return this.collectValues(this.root)}findAll(prefix){const node=this.getNode(UriUtils.normalize(prefix),!1);return node?this.collectValues(node):[]}getNode(uri,create){const parts=uri.split("/");"/"===uri.charAt(uri.length-1)&&parts.pop();let current=this.root;for(const part of parts){let child=current.children.get(part);if(!child){if(!create)return;child={name:part,children:new Map,parent:current},current.children.set(part,child)}current=child}return current}collectValues(node){const result=[];node.element&&result.push(node.element);for(const child of node.children.values())result.push(...this.collectValues(child));return result}},"UriTrie"),_Ba);(DocumentState2=DocumentState||(DocumentState={}))[DocumentState2.Changed=0]="Changed",DocumentState2[DocumentState2.Parsed=1]="Parsed",DocumentState2[DocumentState2.IndexedContent=2]="IndexedContent",DocumentState2[DocumentState2.ComputedScopes=3]="ComputedScopes",DocumentState2[DocumentState2.Linked=4]="Linked",DocumentState2[DocumentState2.IndexedReferences=5]="IndexedReferences",DocumentState2[DocumentState2.Validated=6]="Validated";var DefaultLangiumDocumentFactory=(__name(_Ca=class{constructor(services){this.serviceRegistry=services.ServiceRegistry,this.textDocuments=services.workspace.TextDocuments,this.fileSystemProvider=services.workspace.FileSystemProvider}async fromUri(uri,cancellationToken=cancellation_exports.CancellationToken.None){const content=await this.fileSystemProvider.readFile(uri);return this.createAsync(uri,content,cancellationToken)}fromTextDocument(textDocument,uri,token){return uri=uri??URI2.parse(textDocument.uri),cancellation_exports.CancellationToken.is(token)?this.createAsync(uri,textDocument,token):this.create(uri,textDocument,token)}fromString(text,uri,token){return cancellation_exports.CancellationToken.is(token)?this.createAsync(uri,text,token):this.create(uri,text,token)}fromModel(model,uri){return this.create(uri,{$model:model})}create(uri,content,options){if("string"==typeof content){const parseResult=this.parse(uri,content,options);return this.createLangiumDocument(parseResult,uri,void 0,content)}if("$model"in content){const parseResult={value:content.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(parseResult,uri)}{const parseResult=this.parse(uri,content.getText(),options);return this.createLangiumDocument(parseResult,uri,content)}}async createAsync(uri,content,cancelToken){if("string"==typeof content){const parseResult=await this.parseAsync(uri,content,cancelToken);return this.createLangiumDocument(parseResult,uri,void 0,content)}{const parseResult=await this.parseAsync(uri,content.getText(),cancelToken);return this.createLangiumDocument(parseResult,uri,content)}}createLangiumDocument(parseResult,uri,textDocument,text){let document;if(textDocument)document={parseResult:parseResult,uri:uri,state:DocumentState.Parsed,references:[],textDocument:textDocument};else{const textDocumentGetter=this.createTextDocumentGetter(uri,text);document={parseResult:parseResult,uri:uri,state:DocumentState.Parsed,references:[],get textDocument(){return textDocumentGetter()}}}return parseResult.value.$document=document,document}async update(document,cancellationToken){var _a2,_b2;const oldText=null==(_a2=document.parseResult.value.$cstNode)?void 0:_a2.root.fullText,textDocument=null==(_b2=this.textDocuments)?void 0:_b2.get(document.uri.toString()),text=textDocument?textDocument.getText():await this.fileSystemProvider.readFile(document.uri);if(textDocument)Object.defineProperty(document,"textDocument",{value:textDocument});else{const textDocumentGetter=this.createTextDocumentGetter(document.uri,text);Object.defineProperty(document,"textDocument",{get:textDocumentGetter})}return oldText!==text&&(document.parseResult=await this.parseAsync(document.uri,text,cancellationToken),document.parseResult.value.$document=document),document.state=DocumentState.Parsed,document}parse(uri,text,options){return this.serviceRegistry.getServices(uri).parser.LangiumParser.parse(text,options)}parseAsync(uri,text,cancellationToken){return this.serviceRegistry.getServices(uri).parser.AsyncParser.parse(text,cancellationToken)}createTextDocumentGetter(uri,text){const serviceRegistry=this.serviceRegistry;let textDoc;return()=>textDoc??(textDoc=TextDocument2.create(uri.toString(),serviceRegistry.getServices(uri).LanguageMetaData.languageId,0,text??""))}},"DefaultLangiumDocumentFactory"),_Ca),DefaultLangiumDocuments=(__name(_Da=class{constructor(services){this.documentTrie=new UriTrie,this.services=services,this.langiumDocumentFactory=services.workspace.LangiumDocumentFactory,this.documentBuilder=()=>services.workspace.DocumentBuilder}get all(){return stream(this.documentTrie.all())}addDocument(document){const uriString=document.uri.toString();if(this.documentTrie.has(uriString))throw new Error(`A document with the URI '${uriString}' is already present.`);this.documentTrie.insert(uriString,document)}getDocument(uri){const uriString=uri.toString();return this.documentTrie.find(uriString)}getDocuments(folder){const uriString=folder.toString();return this.documentTrie.findAll(uriString)}async getOrCreateDocument(uri,cancellationToken){let document=this.getDocument(uri);return document||(document=await this.langiumDocumentFactory.fromUri(uri,cancellationToken),this.addDocument(document),document)}createDocument(uri,text,cancellationToken){if(cancellationToken)return this.langiumDocumentFactory.fromString(text,uri,cancellationToken).then(document=>(this.addDocument(document),document));{const document=this.langiumDocumentFactory.fromString(text,uri);return this.addDocument(document),document}}hasDocument(uri){return this.documentTrie.has(uri.toString())}invalidateDocument(uri){const uriString=uri.toString(),langiumDoc=this.documentTrie.find(uriString);return langiumDoc&&this.documentBuilder().resetToState(langiumDoc,DocumentState.Changed),langiumDoc}deleteDocument(uri){const uriString=uri.toString(),langiumDoc=this.documentTrie.find(uriString);return langiumDoc&&(langiumDoc.state=DocumentState.Changed,this.documentTrie.delete(uriString)),langiumDoc}deleteDocuments(folder){const uriString=folder.toString(),langiumDocs=this.documentTrie.findAll(uriString);for(const langiumDoc of langiumDocs)langiumDoc.state=DocumentState.Changed;return this.documentTrie.delete(uriString),langiumDocs}},"DefaultLangiumDocuments"),_Da),RefResolving=Symbol("RefResolving"),DefaultLinker=(__name(_Ea=class{constructor(services){this.reflection=services.shared.AstReflection,this.langiumDocuments=()=>services.shared.workspace.LangiumDocuments,this.scopeProvider=services.references.ScopeProvider,this.astNodeLocator=services.workspace.AstNodeLocator,this.profiler=services.shared.profilers.LangiumProfiler,this.languageId=services.LanguageMetaData.languageId}async link(document,cancelToken=cancellation_exports.CancellationToken.None){var _a2;if(null==(_a2=this.profiler)?void 0:_a2.isActive("linking")){const task=this.profiler.createTask("linking",this.languageId);task.start();try{for(const node of streamAst(document.parseResult.value))await interruptAndCheck(cancelToken),streamReferences(node).forEach(ref=>{const name=`${node.$type}:${ref.property}`;task.startSubTask(name);try{this.doLink(ref,document)}finally{task.stopSubTask(name)}})}finally{task.stop()}}else for(const node of streamAst(document.parseResult.value))await interruptAndCheck(cancelToken),streamReferences(node).forEach(ref=>this.doLink(ref,document))}doLink(refInfo,document){const ref=refInfo.reference;if("_ref"in ref&&void 0===ref._ref){ref._ref=RefResolving;try{const description=this.getCandidate(refInfo);if(isLinkingError(description))ref._ref=description;else{ref._nodeDescription=description;const linkedNode=this.loadAstNode(description);ref._ref=linkedNode??this.createLinkingError(refInfo,description)}}catch(err){console.error(`An error occurred while resolving reference to '${ref.$refText}':`,err);const errorMessage=err.message??String(err);ref._ref={info:refInfo,message:`An error occurred while resolving reference to '${ref.$refText}': ${errorMessage}`}}document.references.push(ref)}else if("_items"in ref&&void 0===ref._items){ref._items=RefResolving;try{const descriptions=this.getCandidates(refInfo),items=[];if(isLinkingError(descriptions))ref._linkingError=descriptions;else for(const description of descriptions){const linkedNode=this.loadAstNode(description);linkedNode&&items.push({ref:linkedNode,$nodeDescription:description})}ref._items=items}catch(err){ref._linkingError={info:refInfo,message:`An error occurred while resolving reference to '${ref.$refText}': ${err}`},ref._items=[]}document.references.push(ref)}}unlink(document){for(const ref of document.references)"_ref"in ref?(ref._ref=void 0,delete ref._nodeDescription):"_items"in ref&&(ref._items=void 0,delete ref._linkingError);document.references=[]}getCandidate(refInfo){return this.scopeProvider.getScope(refInfo).getElement(refInfo.reference.$refText)??this.createLinkingError(refInfo)}getCandidates(refInfo){const descriptions=this.scopeProvider.getScope(refInfo).getElements(refInfo.reference.$refText).distinct(desc=>`${desc.documentUri}#${desc.path}`).toArray();return descriptions.length>0?descriptions:this.createLinkingError(refInfo)}buildReference(node,property3,refNode,refText){const linker=this,reference={$refNode:refNode,$refText:refText,_ref:void 0,get ref(){if(isAstNode(this._ref))return this._ref;if(isAstNodeDescription(this._nodeDescription)){const linkedNode=linker.loadAstNode(this._nodeDescription);this._ref=linkedNode??linker.createLinkingError({reference:reference,container:node,property:property3},this._nodeDescription)}else if(void 0===this._ref){this._ref=RefResolving;const document=findRootNode(node).$document,refData=linker.getLinkedNode({reference:reference,container:node,property:property3});if(refData.error&&document&&document.state<DocumentState.ComputedScopes)return this._ref=void 0;this._ref=refData.node??refData.error,this._nodeDescription=refData.descr,null==document||document.references.push(this)}else this._ref===RefResolving&&linker.throwCyclicReferenceError(node,property3,refText);return isAstNode(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return isLinkingError(this._ref)?this._ref:void 0}};return reference}buildMultiReference(node,property3,refNode,refText){const linker=this,reference={$refNode:refNode,$refText:refText,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(void 0===this._items){this._items=RefResolving;const document=findRootNode(node).$document,descriptions=linker.getCandidates({reference:reference,container:node,property:property3}),items=[];if(isLinkingError(descriptions))this._linkingError=descriptions;else for(const description of descriptions){const linkedNode=linker.loadAstNode(description);linkedNode&&items.push({ref:linkedNode,$nodeDescription:description})}this._items=items,null==document||document.references.push(this)}else this._items===RefResolving&&linker.throwCyclicReferenceError(node,property3,refText);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;return this.items.length>0?void 0:this._linkingError=linker.createLinkingError({reference:reference,container:node,property:property3})}};return reference}throwCyclicReferenceError(node,property3,refText){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(node)}/${property3} (symbol '${refText}')`)}getLinkedNode(refInfo){try{const description=this.getCandidate(refInfo);if(isLinkingError(description))return{error:description};const linkedNode=this.loadAstNode(description);return linkedNode?{node:linkedNode,descr:description}:{descr:description,error:this.createLinkingError(refInfo,description)}}catch(err){console.error(`An error occurred while resolving reference to '${refInfo.reference.$refText}':`,err);const errorMessage=err.message??String(err);return{error:{info:refInfo,message:`An error occurred while resolving reference to '${refInfo.reference.$refText}': ${errorMessage}`}}}}loadAstNode(nodeDescription){if(nodeDescription.node)return nodeDescription.node;const doc=this.langiumDocuments().getDocument(nodeDescription.documentUri);return doc?this.astNodeLocator.getAstNode(doc.parseResult.value,nodeDescription.path):void 0}createLinkingError(refInfo,targetDescription){const document=findRootNode(refInfo.container).$document;document&&document.state<DocumentState.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${document.uri}).`);return{info:refInfo,message:`Could not resolve reference to ${this.reflection.getReferenceType(refInfo)} named '${refInfo.reference.$refText}'.`,targetDescription:targetDescription}}},"DefaultLinker"),_Ea);function isNamed(node){return"string"==typeof node.name}__name(isNamed,"isNamed");var DefaultNameProvider=(__name(_Fa=class{getName(node){if(isNamed(node))return node.name}getNameNode(node){return findNodeForProperty(node.$cstNode,"name")}},"DefaultNameProvider"),_Fa),DefaultReferences=(__name(_Ga=class{constructor(services){this.nameProvider=services.references.NameProvider,this.index=services.shared.workspace.IndexManager,this.nodeLocator=services.workspace.AstNodeLocator,this.documents=services.shared.workspace.LangiumDocuments,this.hasMultiReference=streamAst(services.Grammar).some(node=>isCrossReference(node)&&node.isMulti)}findDeclarations(sourceCstNode){if(sourceCstNode){const assignment=findAssignment(sourceCstNode),nodeElem=sourceCstNode.astNode;if(assignment&&nodeElem){const reference=nodeElem[assignment.feature];if(isReference(reference)||isMultiReference(reference))return getReferenceNodes(reference);if(Array.isArray(reference))for(const ref of reference)if((isReference(ref)||isMultiReference(ref))&&ref.$refNode&&ref.$refNode.offset<=sourceCstNode.offset&&ref.$refNode.end>=sourceCstNode.end)return getReferenceNodes(ref)}if(nodeElem){const nameNode=this.nameProvider.getNameNode(nodeElem);if(nameNode&&(nameNode===sourceCstNode||isChildNode(sourceCstNode,nameNode)))return this.getSelfNodes(nodeElem)}}return[]}getSelfNodes(node){if(this.hasMultiReference){const references=this.index.findAllReferences(node,this.nodeLocator.getAstNodePath(node)),headNode=this.getNodeFromReferenceDescription(references.head());if(headNode)for(const ref of streamReferences(headNode))if(isMultiReference(ref.reference)&&ref.reference.items.some(item=>item.ref===node))return ref.reference.items.map(item=>item.ref);return[node]}return[node]}getNodeFromReferenceDescription(ref){if(!ref)return;const doc=this.documents.getDocument(ref.sourceUri);return doc?this.nodeLocator.getAstNode(doc.parseResult.value,ref.sourcePath):void 0}findDeclarationNodes(sourceCstNode){const astNodes=this.findDeclarations(sourceCstNode),cstNodes=[];for(const astNode of astNodes){const cstNode=this.nameProvider.getNameNode(astNode)??astNode.$cstNode;cstNode&&cstNodes.push(cstNode)}return cstNodes}findReferences(targetNode,options){const refs=[];options.includeDeclaration&&refs.push(...this.getSelfReferences(targetNode));let indexReferences=this.index.findAllReferences(targetNode,this.nodeLocator.getAstNodePath(targetNode));return options.documentUri&&(indexReferences=indexReferences.filter(ref=>UriUtils.equals(ref.sourceUri,options.documentUri))),refs.push(...indexReferences),stream(refs)}getSelfReferences(targetNode){const selfNodes=this.getSelfNodes(targetNode),references=[];for(const selfNode of selfNodes){const nameNode=this.nameProvider.getNameNode(selfNode);if(nameNode){const doc=getDocument(selfNode),path=this.nodeLocator.getAstNodePath(selfNode);references.push({sourceUri:doc.uri,sourcePath:path,targetUri:doc.uri,targetPath:path,segment:toDocumentSegment(nameNode),local:!0})}}return references}},"DefaultReferences"),_Ga),MultiMap=(_Ha=class{constructor(elements){if(this.map=new Map,elements)for(const[key,value]of elements)this.add(key,value)}get size(){return Reduction.sum(stream(this.map.values()).map(a=>a.length))}clear(){this.map.clear()}delete(key,value){if(void 0===value)return this.map.delete(key);{const values2=this.map.get(key);if(values2){const index=values2.indexOf(value);if(index>=0)return 1===values2.length?this.map.delete(key):values2.splice(index,1),!0}return!1}}get(key){return this.map.get(key)??[]}getStream(key){const values2=this.map.get(key);return values2?stream(values2):EMPTY_STREAM}has(key,value){if(void 0===value)return this.map.has(key);{const values2=this.map.get(key);return!!values2&&values2.indexOf(value)>=0}}add(key,value){return this.map.has(key)?this.map.get(key).push(value):this.map.set(key,[value]),this}addAll(key,values2){return this.map.has(key)?this.map.get(key).push(...values2):this.map.set(key,Array.from(values2)),this}forEach(callbackfn){this.map.forEach((array,key)=>array.forEach(value=>callbackfn(value,key,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return stream(this.map.entries()).flatMap(([key,array])=>array.map(value=>[key,value]))}keys(){return stream(this.map.keys())}values(){return stream(this.map.values()).flat()}entriesGroupedByKey(){return stream(this.map.entries())}},__name(_Ha,"MultiMap"),_Ha),BiMap=(__name(_Ia=class{get size(){return this.map.size}constructor(elements){if(this.map=new Map,this.inverse=new Map,elements)for(const[key,value]of elements)this.set(key,value)}clear(){this.map.clear(),this.inverse.clear()}set(key,value){return this.map.set(key,value),this.inverse.set(value,key),this}get(key){return this.map.get(key)}getKey(value){return this.inverse.get(value)}delete(key){const value=this.map.get(key);return void 0!==value&&(this.map.delete(key),this.inverse.delete(value),!0)}},"BiMap"),_Ia),DefaultScopeComputation=(__name(_Ja=class{constructor(services){this.nameProvider=services.references.NameProvider,this.descriptions=services.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(document,cancelToken=cancellation_exports.CancellationToken.None){return this.collectExportedSymbolsForNode(document.parseResult.value,document,void 0,cancelToken)}async collectExportedSymbolsForNode(parentNode,document,children=streamContents,cancelToken=cancellation_exports.CancellationToken.None){const exports2=[];this.addExportedSymbol(parentNode,exports2,document);for(const node of children(parentNode))await interruptAndCheck(cancelToken),this.addExportedSymbol(node,exports2,document);return exports2}addExportedSymbol(node,exports2,document){const name=this.nameProvider.getName(node);name&&exports2.push(this.descriptions.createDescription(node,name,document))}async collectLocalSymbols(document,cancelToken=cancellation_exports.CancellationToken.None){const rootNode=document.parseResult.value,symbols=new MultiMap;for(const node of streamAllContents(rootNode))await interruptAndCheck(cancelToken),this.addLocalSymbol(node,document,symbols);return symbols}addLocalSymbol(node,document,symbols){const container=node.$container;if(container){const name=this.nameProvider.getName(node);name&&symbols.add(container,this.descriptions.createDescription(node,name,document))}}},"DefaultScopeComputation"),_Ja),StreamScope=(__name(_Ka=class{constructor(elements,outerScope,options){this.elements=elements,this.outerScope=outerScope,this.caseInsensitive=(null==options?void 0:options.caseInsensitive)??!1,this.concatOuterScope=(null==options?void 0:options.concatOuterScope)??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(name){const lowerCaseName=this.caseInsensitive?name.toLowerCase():name,local=this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===lowerCaseName):this.elements.find(e=>e.name===name);return local||(this.outerScope?this.outerScope.getElement(name):void 0)}getElements(name){const lowerCaseName=this.caseInsensitive?name.toLowerCase():name,local=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===lowerCaseName):this.elements.filter(e=>e.name===name);return(this.concatOuterScope||local.isEmpty())&&this.outerScope?local.concat(this.outerScope.getElements(name)):local}},"StreamScope"),_Ka),MapScope=(__name(_La=class{constructor(elements,outerScope,options){this.elements=new Map,this.caseInsensitive=(null==options?void 0:options.caseInsensitive)??!1,this.concatOuterScope=(null==options?void 0:options.concatOuterScope)??!0;for(const element of elements){const name=this.caseInsensitive?element.name.toLowerCase():element.name;this.elements.set(name,element)}this.outerScope=outerScope}getElement(name){const localName=this.caseInsensitive?name.toLowerCase():name,local=this.elements.get(localName);return local||(this.outerScope?this.outerScope.getElement(name):void 0)}getElements(name){const localName=this.caseInsensitive?name.toLowerCase():name,local=this.elements.get(localName),arr=local?[local]:[];return(this.concatOuterScope||arr.length>0)&&this.outerScope?stream(arr).concat(this.outerScope.getElements(name)):stream(arr)}getAllElements(){let elementStream=stream(this.elements.values());return this.outerScope&&(elementStream=elementStream.concat(this.outerScope.getAllElements())),elementStream}},"MapScope"),_La),MultiMapScope=(__name(_Ma=class{constructor(elements,outerScope,options){this.elements=new MultiMap,this.caseInsensitive=(null==options?void 0:options.caseInsensitive)??!1,this.concatOuterScope=(null==options?void 0:options.concatOuterScope)??!0;for(const element of elements){const name=this.caseInsensitive?element.name.toLowerCase():element.name;this.elements.add(name,element)}this.outerScope=outerScope}getElement(name){const localName=this.caseInsensitive?name.toLowerCase():name,local=this.elements.get(localName)[0];return local||(this.outerScope?this.outerScope.getElement(name):void 0)}getElements(name){const localName=this.caseInsensitive?name.toLowerCase():name,local=this.elements.get(localName);return(this.concatOuterScope||0===local.length)&&this.outerScope?stream(local).concat(this.outerScope.getElements(name)):stream(local)}getAllElements(){let elementStream=stream(this.elements.values());return this.outerScope&&(elementStream=elementStream.concat(this.outerScope.getAllElements())),elementStream}},"MultiMapScope"),_Ma),EMPTY_SCOPE={getElement(){},getElements:()=>EMPTY_STREAM,getAllElements:()=>EMPTY_STREAM},DisposableCache=(__name(_Na=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(disposable){this.toDispose.push(disposable)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(disposable=>disposable.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},"DisposableCache"),_Na),SimpleCache=(__name(_Oa=class extends DisposableCache{constructor(){super(...arguments),this.cache=new Map}has(key){return this.throwIfDisposed(),this.cache.has(key)}set(key,value){this.throwIfDisposed(),this.cache.set(key,value)}get(key,provider){if(this.throwIfDisposed(),this.cache.has(key))return this.cache.get(key);if(provider){const value=provider();return this.cache.set(key,value),value}}delete(key){return this.throwIfDisposed(),this.cache.delete(key)}clear(){this.throwIfDisposed(),this.cache.clear()}},"SimpleCache"),_Oa),ContextCache=(__name(_Pa=class extends DisposableCache{constructor(converter){super(),this.cache=new Map,this.converter=converter??(value=>value)}has(contextKey,key){return this.throwIfDisposed(),this.cacheForContext(contextKey).has(key)}set(contextKey,key,value){this.throwIfDisposed(),this.cacheForContext(contextKey).set(key,value)}get(contextKey,key,provider){this.throwIfDisposed();const contextCache=this.cacheForContext(contextKey);if(contextCache.has(key))return contextCache.get(key);if(provider){const value=provider();return contextCache.set(key,value),value}}delete(contextKey,key){return this.throwIfDisposed(),this.cacheForContext(contextKey).delete(key)}clear(contextKey){if(this.throwIfDisposed(),contextKey){const mapKey=this.converter(contextKey);this.cache.delete(mapKey)}else this.cache.clear()}cacheForContext(contextKey){const mapKey=this.converter(contextKey);let documentCache=this.cache.get(mapKey);return documentCache||(documentCache=new Map,this.cache.set(mapKey,documentCache)),documentCache}},"ContextCache"),_Pa),DocumentCache=(__name(_Qa=class extends ContextCache{constructor(sharedServices,state){super(uri=>uri.toString()),state?(this.toDispose.push(sharedServices.workspace.DocumentBuilder.onDocumentPhase(state,document=>{this.clear(document.uri.toString())})),this.toDispose.push(sharedServices.workspace.DocumentBuilder.onUpdate((_changed,deleted)=>{for(const uri of deleted)this.clear(uri)}))):this.toDispose.push(sharedServices.workspace.DocumentBuilder.onUpdate((changed,deleted)=>{const allUris=changed.concat(deleted);for(const uri of allUris)this.clear(uri)}))}},"DocumentCache"),_Qa),WorkspaceCache=(__name(_Ra=class extends SimpleCache{constructor(sharedServices,state){super(),state?(this.toDispose.push(sharedServices.workspace.DocumentBuilder.onBuildPhase(state,()=>{this.clear()})),this.toDispose.push(sharedServices.workspace.DocumentBuilder.onUpdate((_changed,deleted)=>{deleted.length>0&&this.clear()}))):this.toDispose.push(sharedServices.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},"WorkspaceCache"),_Ra),DefaultScopeProvider=(__name(_Sa=class{constructor(services){this.reflection=services.shared.AstReflection,this.nameProvider=services.references.NameProvider,this.descriptions=services.workspace.AstNodeDescriptionProvider,this.indexManager=services.shared.workspace.IndexManager,this.globalScopeCache=new WorkspaceCache(services.shared)}getScope(context){const scopes=[],referenceType=this.reflection.getReferenceType(context),localSymbols=getDocument(context.container).localSymbols;if(localSymbols){let currentNode=context.container;do{localSymbols.has(currentNode)&&scopes.push(localSymbols.getStream(currentNode).filter(desc=>this.reflection.isSubtype(desc.type,referenceType))),currentNode=currentNode.$container}while(currentNode)}let result=this.getGlobalScope(referenceType,context);for(let i=scopes.length-1;i>=0;i--)result=this.createScope(scopes[i],result);return result}createScope(elements,outerScope,options){return new StreamScope(stream(elements),outerScope,options)}createScopeForNodes(elements,outerScope,options){const s=stream(elements).map(e=>{const name=this.nameProvider.getName(e);if(name)return this.descriptions.createDescription(e,name)}).nonNullable();return new StreamScope(s,outerScope,options)}getGlobalScope(referenceType,_context){return this.globalScopeCache.get(referenceType,()=>new MultiMapScope(this.indexManager.allElements(referenceType)))}},"DefaultScopeProvider"),_Sa);function isAstNodeWithComment(node){return"string"==typeof node.$comment}function isIntermediateReference(obj){return"object"==typeof obj&&!!obj&&("$ref"in obj||"$error"in obj)}__name(isAstNodeWithComment,"isAstNodeWithComment"),__name(isIntermediateReference,"isIntermediateReference");var ValidationCategory,ValidationCategory2,DefaultJsonSerializer=(__name(_Ta=class{constructor(services){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=services.shared.workspace.LangiumDocuments,this.astNodeLocator=services.workspace.AstNodeLocator,this.nameProvider=services.references.NameProvider,this.commentProvider=services.documentation.CommentProvider}serialize(node,options){const serializeOptions=options??{},specificReplacer=null==options?void 0:options.replacer,defaultReplacer=__name((key,value)=>this.replacer(key,value,serializeOptions),"defaultReplacer"),replacer=specificReplacer?(key,value)=>specificReplacer(key,value,defaultReplacer):defaultReplacer;try{return this.currentDocument=getDocument(node),JSON.stringify(node,replacer,null==options?void 0:options.space)}finally{this.currentDocument=void 0}}deserialize(content,options){const deserializeOptions=options??{},root3=JSON.parse(content);return this.linkNode(root3,root3,deserializeOptions),root3}replacer(key,value,{refText:refText,sourceText:sourceText,textRegions:textRegions,comments:comments,uriConverter:uriConverter}){var _a2,_b2,_c2;if(!this.ignoreProperties.has(key)){if(isReference(value)){const refValue=value.ref,$refText=refText?value.$refText:void 0;if(refValue){const targetDocument=getDocument(refValue);let targetUri="";this.currentDocument&&this.currentDocument!==targetDocument&&(targetUri=uriConverter?uriConverter(targetDocument.uri,refValue):targetDocument.uri.toString());return{$ref:`${targetUri}#${this.astNodeLocator.getAstNodePath(refValue)}`,$refText:$refText}}return{$error:(null==(_a2=value.error)?void 0:_a2.message)??"Could not resolve reference",$refText:$refText}}if(isMultiReference(value)){const $refText=refText?value.$refText:void 0,$refs=[];for(const item of value.items){const refValue=item.ref,targetDocument=getDocument(item.ref);let targetUri="";this.currentDocument&&this.currentDocument!==targetDocument&&(targetUri=uriConverter?uriConverter(targetDocument.uri,refValue):targetDocument.uri.toString());const targetPath=this.astNodeLocator.getAstNodePath(refValue);$refs.push(`${targetUri}#${targetPath}`)}return{$refs:$refs,$refText:$refText}}if(isAstNode(value)){let astNode;if(textRegions&&(astNode=this.addAstNodeRegionWithAssignmentsTo({...value}),key&&!value.$document||!(null==astNode?void 0:astNode.$textRegion)||(astNode.$textRegion.documentURI=null==(_b2=this.currentDocument)?void 0:_b2.uri.toString())),sourceText&&!key&&(astNode??(astNode={...value}),astNode.$sourceText=null==(_c2=value.$cstNode)?void 0:_c2.text),comments){astNode??(astNode={...value});const comment=this.commentProvider.getComment(value);comment&&(astNode.$comment=comment.replace(/\r/g,""))}return astNode??value}return value}}addAstNodeRegionWithAssignmentsTo(node){const createDocumentSegment=__name(cstNode=>({offset:cstNode.offset,end:cstNode.end,length:cstNode.length,range:cstNode.range}),"createDocumentSegment");if(node.$cstNode){const assignments=(node.$textRegion=createDocumentSegment(node.$cstNode)).assignments={};return Object.keys(node).filter(key=>!key.startsWith("$")).forEach(key=>{const propertyAssignments=findNodesForProperty(node.$cstNode,key).map(createDocumentSegment);0!==propertyAssignments.length&&(assignments[key]=propertyAssignments)}),node}}linkNode(node,root3,options,container,containerProperty,containerIndex){for(const[propertyName,item]of Object.entries(node))if(Array.isArray(item))for(let index=0;index<item.length;index++){const element=item[index];isIntermediateReference(element)?item[index]=this.reviveReference(node,propertyName,root3,element,options):isAstNode(element)&&this.linkNode(element,root3,options,node,propertyName,index)}else isIntermediateReference(item)?node[propertyName]=this.reviveReference(node,propertyName,root3,item,options):isAstNode(item)&&this.linkNode(item,root3,options,node,propertyName);const mutable=node;mutable.$container=container,mutable.$containerProperty=containerProperty,mutable.$containerIndex=containerIndex}reviveReference(container,property3,root3,reference,options){let ref,refText=reference.$refText,error=reference.$error;if(reference.$ref){const refNode=this.getRefNode(root3,reference.$ref,options.uriConverter);if(isAstNode(refNode))return refText||(refText=this.nameProvider.getName(refNode)),{$refText:refText??"",ref:refNode};error=refNode}else if(reference.$refs){const refs=[];for(const refUri of reference.$refs){const refNode=this.getRefNode(root3,refUri,options.uriConverter);isAstNode(refNode)&&refs.push({ref:refNode})}if(0!==refs.length)return{$refText:refText??"",items:refs};ref={$refText:refText??"",items:refs},error??(error="Could not resolve multi-reference")}return error?(ref??(ref={$refText:refText??"",ref:void 0}),ref.error={info:{container:container,property:property3,reference:ref},message:error},ref):void 0}getRefNode(root3,uri,uriConverter){try{const fragmentIndex=uri.indexOf("#");if(0===fragmentIndex){const node2=this.astNodeLocator.getAstNode(root3,uri.substring(1));return node2||"Could not resolve path: "+uri}if(fragmentIndex<0){const documentUri2=uriConverter?uriConverter(uri):URI2.parse(uri),document2=this.langiumDocuments.getDocument(documentUri2);return document2?document2.parseResult.value:"Could not find document for URI: "+uri}const documentUri=uriConverter?uriConverter(uri.substring(0,fragmentIndex)):URI2.parse(uri.substring(0,fragmentIndex)),document=this.langiumDocuments.getDocument(documentUri);if(!document)return"Could not find document for URI: "+uri;if(fragmentIndex===uri.length-1)return document.parseResult.value;const node=this.astNodeLocator.getAstNode(document.parseResult.value,uri.substring(fragmentIndex+1));return node||"Could not resolve URI: "+uri}catch(err){return String(err)}}},"DefaultJsonSerializer"),_Ta),DefaultServiceRegistry=(__name(_Ua=class{get map(){return this.fileExtensionMap}constructor(services){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=null==services?void 0:services.workspace.TextDocuments}register(language){const data=language.LanguageMetaData;for(const ext of data.fileExtensions)this.fileExtensionMap.has(ext)&&console.warn(`The file extension ${ext} is used by multiple languages. It is now assigned to '${data.languageId}'.`),this.fileExtensionMap.set(ext,language);if(data.fileNames)for(const name of data.fileNames)this.fileNameMap.has(name)&&console.warn(`The file name ${name} is used by multiple languages. It is now assigned to '${data.languageId}'.`),this.fileNameMap.set(name,language);this.languageIdMap.set(data.languageId,language)}getServices(uri){var _a2,_b2;if(0===this.languageIdMap.size)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const languageId=null==(_b2=null==(_a2=this.textDocuments)?void 0:_a2.get(uri))?void 0:_b2.languageId;if(void 0!==languageId){const services2=this.languageIdMap.get(languageId);if(services2)return services2}const ext=UriUtils.extname(uri),name=UriUtils.basename(uri),services=this.fileNameMap.get(name)??this.fileExtensionMap.get(ext);if(!services)throw languageId?new Error(`The service registry contains no services for the extension '${ext}' for language '${languageId}'.`):new Error(`The service registry contains no services for the extension '${ext}'.`);return services}hasServices(uri){try{return this.getServices(uri),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}},"DefaultServiceRegistry"),_Ua);function diagnosticData(code){return{code:code}}__name(diagnosticData,"diagnosticData"),(ValidationCategory2=ValidationCategory||(ValidationCategory={})).defaults=["fast","slow","built-in"],ValidationCategory2.all=ValidationCategory2.defaults;var DocumentValidator,DocumentValidator2,ValidationRegistry=(__name(_Va=class{constructor(services){this.entries=new MultiMap,this.knownCategories=new Set(ValidationCategory.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=services.shared.AstReflection}register(checksRecord,thisObj=this,category="fast"){if("built-in"===category)throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(category);for(const[type,ch]of Object.entries(checksRecord)){const callbacks=ch;if(Array.isArray(callbacks))for(const check of callbacks){const entry={check:this.wrapValidationException(check,thisObj),category:category};this.addEntry(type,entry)}else if("function"==typeof callbacks){const entry={check:this.wrapValidationException(callbacks,thisObj),category:category};this.addEntry(type,entry)}else assertUnreachable()}}wrapValidationException(check,thisObj){return async(node,accept,cancelToken)=>{await this.handleException(()=>check.call(thisObj,node,accept,cancelToken),"An error occurred during validation",accept,node)}}async handleException(functionality,messageContext,accept,node){try{await functionality()}catch(err){if(isOperationCancelled(err))throw err;console.error(`${messageContext}:`,err),err instanceof Error&&err.stack&&console.error(err.stack);accept("error",`${messageContext}: ${err instanceof Error?err.message:String(err)}`,{node:node})}}addEntry(type,entry){if("AstNode"!==type)for(const subtype of this.reflection.getAllSubTypes(type))this.entries.add(subtype,entry);else this.entries.add("AstNode",entry)}getChecks(type,categories){let checks=stream(this.entries.get(type)).concat(this.entries.get("AstNode"));return categories&&(checks=checks.filter(entry=>categories.includes(entry.category))),checks.map(entry=>entry.check)}registerBeforeDocument(checkBefore,thisObj=this){this.entriesBefore.push(this.wrapPreparationException(checkBefore,"An error occurred during set-up of the validation",thisObj))}registerAfterDocument(checkAfter,thisObj=this){this.entriesAfter.push(this.wrapPreparationException(checkAfter,"An error occurred during tear-down of the validation",thisObj))}wrapPreparationException(check,messageContext,thisObj){return async(rootNode,accept,categories,cancelToken)=>{await this.handleException(()=>check.call(thisObj,rootNode,accept,categories,cancelToken),messageContext,accept,rootNode)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(_document){return this.knownCategories}},"ValidationRegistry"),_Va),VALIDATE_EACH_NODE=Object.freeze({validateNode:!0,validateChildren:!0}),DefaultDocumentValidator=(__name(_Wa=class{constructor(services){this.validationRegistry=services.validation.ValidationRegistry,this.metadata=services.LanguageMetaData,this.profiler=services.shared.profilers.LangiumProfiler,this.languageId=services.LanguageMetaData.languageId}async validateDocument(document,options={},cancelToken=cancellation_exports.CancellationToken.None){const parseResult=document.parseResult,diagnostics=[];if(await interruptAndCheck(cancelToken),!options.categories||options.categories.includes("built-in")){if(this.processLexingErrors(parseResult,diagnostics,options),options.stopAfterLexingErrors&&diagnostics.some(d=>{var _a2;return(null==(_a2=d.data)?void 0:_a2.code)===DocumentValidator.LexingError}))return diagnostics;if(this.processParsingErrors(parseResult,diagnostics,options),options.stopAfterParsingErrors&&diagnostics.some(d=>{var _a2;return(null==(_a2=d.data)?void 0:_a2.code)===DocumentValidator.ParsingError}))return diagnostics;if(this.processLinkingErrors(document,diagnostics,options),options.stopAfterLinkingErrors&&diagnostics.some(d=>{var _a2;return(null==(_a2=d.data)?void 0:_a2.code)===DocumentValidator.LinkingError}))return diagnostics}try{diagnostics.push(...await this.validateAst(parseResult.value,options,cancelToken))}catch(err){if(isOperationCancelled(err))throw err;console.error("An error occurred during validation:",err)}return await interruptAndCheck(cancelToken),diagnostics}processLexingErrors(parseResult,diagnostics,_options){var _a2;const lexerDiagnostics=[...parseResult.lexerErrors,...(null==(_a2=parseResult.lexerReport)?void 0:_a2.diagnostics)??[]];for(const lexerDiagnostic of lexerDiagnostics){const severity=lexerDiagnostic.severity??"error",diagnostic={severity:toDiagnosticSeverity(severity),range:{start:{line:lexerDiagnostic.line-1,character:lexerDiagnostic.column-1},end:{line:lexerDiagnostic.line-1,character:lexerDiagnostic.column+lexerDiagnostic.length-1}},message:lexerDiagnostic.message,data:toDiagnosticData(severity),source:this.getSource()};diagnostics.push(diagnostic)}}processParsingErrors(parseResult,diagnostics,_options){for(const parserError of parseResult.parserErrors){let range;if(isNaN(parserError.token.startOffset)){if("previousToken"in parserError){const token=parserError.previousToken;if(isNaN(token.startOffset)){const position={line:0,character:0};range={start:position,end:position}}else{const position={line:token.endLine-1,character:token.endColumn};range={start:position,end:position}}}}else range=tokenToRange(parserError.token);if(range){const diagnostic={severity:toDiagnosticSeverity("error"),range:range,message:parserError.message,data:diagnosticData(DocumentValidator.ParsingError),source:this.getSource()};diagnostics.push(diagnostic)}}}processLinkingErrors(document,diagnostics,_options){var _a2;for(const reference of document.references){const linkingError=reference.error;if(linkingError){const info={node:linkingError.info.container,range:null==(_a2=reference.$refNode)?void 0:_a2.range,property:linkingError.info.property,index:linkingError.info.index,data:{code:DocumentValidator.LinkingError,containerType:linkingError.info.container.$type,property:linkingError.info.property,refText:linkingError.info.reference.$refText}};diagnostics.push(this.toDiagnostic("error",linkingError.message,info))}}}async validateAst(rootNode,options,cancelToken=cancellation_exports.CancellationToken.None){const validationItems=[],acceptor=__name((severity,message,info)=>{validationItems.push(this.toDiagnostic(severity,message,info))},"acceptor");return await this.validateAstBefore(rootNode,options,acceptor,cancelToken),await this.validateAstNodes(rootNode,options,acceptor,cancelToken),await this.validateAstAfter(rootNode,options,acceptor,cancelToken),validationItems}async validateAstBefore(rootNode,options,acceptor,cancelToken=cancellation_exports.CancellationToken.None){const checksBefore=this.validationRegistry.checksBefore;for(const checkBefore of checksBefore)await interruptAndCheck(cancelToken),await checkBefore(rootNode,acceptor,options.categories??[],cancelToken)}async validateAstNodes(rootNode,options,acceptor,cancelToken=cancellation_exports.CancellationToken.None){var _a2;if(null==(_a2=this.profiler)?void 0:_a2.isActive("validating")){const task=this.profiler.createTask("validating",this.languageId);task.start();try{const nodes=streamAst(rootNode).iterator();for(const node of nodes){task.startSubTask(node.$type);const nodeOptions=this.validateSingleNodeOptions(node,options);if(nodeOptions.validateNode)try{const checks=this.validationRegistry.getChecks(node.$type,options.categories);for(const check of checks)await check(node,acceptor,cancelToken)}finally{task.stopSubTask(node.$type)}nodeOptions.validateChildren||nodes.prune()}}finally{task.stop()}}else{const nodes=streamAst(rootNode).iterator();for(const node of nodes){await interruptAndCheck(cancelToken);const nodeOptions=this.validateSingleNodeOptions(node,options);if(nodeOptions.validateNode){const checks=this.validationRegistry.getChecks(node.$type,options.categories);for(const check of checks)await check(node,acceptor,cancelToken)}nodeOptions.validateChildren||nodes.prune()}}}validateSingleNodeOptions(_node,_options){return VALIDATE_EACH_NODE}async validateAstAfter(rootNode,options,acceptor,cancelToken=cancellation_exports.CancellationToken.None){const checksAfter=this.validationRegistry.checksAfter;for(const checkAfter of checksAfter)await interruptAndCheck(cancelToken),await checkAfter(rootNode,acceptor,options.categories??[],cancelToken)}toDiagnostic(severity,message,info){return{message:message,range:getDiagnosticRange(info),severity:toDiagnosticSeverity(severity),code:info.code,codeDescription:info.codeDescription,tags:info.tags,relatedInformation:info.relatedInformation,data:info.data,source:this.getSource()}}getSource(){return this.metadata.languageId}},"DefaultDocumentValidator"),_Wa);function getDiagnosticRange(info){if(info.range)return info.range;let cstNode;return"string"==typeof info.property?cstNode=findNodeForProperty(info.node.$cstNode,info.property,info.index):"string"==typeof info.keyword&&(cstNode=findNodeForKeyword(info.node.$cstNode,info.keyword,info.index)),cstNode??(cstNode=info.node.$cstNode),cstNode?cstNode.range:{start:{line:0,character:0},end:{line:0,character:0}}}function toDiagnosticSeverity(severity){switch(severity){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+severity)}}function toDiagnosticData(severity){switch(severity){case"error":return diagnosticData(DocumentValidator.LexingError);case"warning":return diagnosticData(DocumentValidator.LexingWarning);case"info":return diagnosticData(DocumentValidator.LexingInfo);case"hint":return diagnosticData(DocumentValidator.LexingHint);default:throw new Error("Invalid diagnostic severity: "+severity)}}__name(getDiagnosticRange,"getDiagnosticRange"),__name(toDiagnosticSeverity,"toDiagnosticSeverity"),__name(toDiagnosticData,"toDiagnosticData"),(DocumentValidator2=DocumentValidator||(DocumentValidator={})).LexingError="lexing-error",DocumentValidator2.LexingWarning="lexing-warning",DocumentValidator2.LexingInfo="lexing-info",DocumentValidator2.LexingHint="lexing-hint",DocumentValidator2.ParsingError="parsing-error",DocumentValidator2.LinkingError="linking-error";var DefaultAstNodeDescriptionProvider=(__name(_Xa=class{constructor(services){this.astNodeLocator=services.workspace.AstNodeLocator,this.nameProvider=services.references.NameProvider}createDescription(node,name,document){const doc=document??getDocument(node);name??(name=this.nameProvider.getName(node));const path=this.astNodeLocator.getAstNodePath(node);if(!name)throw new Error(`Node at path ${path} has no name.`);let nameNodeSegment;const nameSegmentGetter=__name(()=>nameNodeSegment??(nameNodeSegment=toDocumentSegment(this.nameProvider.getNameNode(node)??node.$cstNode)),"nameSegmentGetter");return{node:node,name:name,get nameSegment(){return nameSegmentGetter()},selectionSegment:toDocumentSegment(node.$cstNode),type:node.$type,documentUri:doc.uri,path:path}}},"DefaultAstNodeDescriptionProvider"),_Xa),DefaultReferenceDescriptionProvider=(__name(_Ya=class{constructor(services){this.nodeLocator=services.workspace.AstNodeLocator}async createDescriptions(document,cancelToken=cancellation_exports.CancellationToken.None){const descr=[],rootNode=document.parseResult.value;for(const astNode of streamAst(rootNode))await interruptAndCheck(cancelToken),streamReferences(astNode).forEach(refInfo=>{refInfo.reference.error||descr.push(...this.createInfoDescriptions(refInfo))});return descr}createInfoDescriptions(refInfo){const reference=refInfo.reference;if(reference.error||!reference.$refNode)return[];let items=[];isReference(reference)&&reference.$nodeDescription?items=[reference.$nodeDescription]:isMultiReference(reference)&&(items=reference.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));const sourceUri=getDocument(refInfo.container).uri,sourcePath=this.nodeLocator.getAstNodePath(refInfo.container),descriptions=[],segment=toDocumentSegment(reference.$refNode);for(const item of items)descriptions.push({sourceUri:sourceUri,sourcePath:sourcePath,targetUri:item.documentUri,targetPath:item.path,segment:segment,local:UriUtils.equals(item.documentUri,sourceUri)});return descriptions}},"DefaultReferenceDescriptionProvider"),_Ya),DefaultAstNodeLocator=(__name(_Za=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(node){if(node.$container){const containerPath=this.getAstNodePath(node.$container),newSegment=this.getPathSegment(node);return containerPath+this.segmentSeparator+newSegment}return""}getPathSegment({$containerProperty:$containerProperty,$containerIndex:$containerIndex}){if(!$containerProperty)throw new Error("Missing '$containerProperty' in AST node.");return void 0!==$containerIndex?$containerProperty+this.indexSeparator+$containerIndex:$containerProperty}getAstNode(node,path){return path.split(this.segmentSeparator).reduce((previousValue,currentValue)=>{if(!previousValue||0===currentValue.length)return previousValue;const propertyIndex=currentValue.indexOf(this.indexSeparator);if(propertyIndex>0){const property3=currentValue.substring(0,propertyIndex),arrayIndex=parseInt(currentValue.substring(propertyIndex+1)),array=previousValue[property3];return null==array?void 0:array[arrayIndex]}return previousValue[currentValue]},node)}},"DefaultAstNodeLocator"),_Za),event_exports={};__reExport(event_exports,__toESM(require_events()));var Disposable,DefaultConfigurationProvider=(__name(__a=class{constructor(services){this._ready=new Deferred,this.onConfigurationSectionUpdateEmitter=new event_exports.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=services.ServiceRegistry}get ready(){return this._ready.promise}initialize(params){var _a2;this.workspaceConfig=(null==(_a2=params.capabilities.workspace)?void 0:_a2.configuration)??!1}async initialized(params){if(this.workspaceConfig){if(params.register){const languages=this.serviceRegistry.all;params.register({section:languages.map(lang=>this.toSectionName(lang.LanguageMetaData.languageId))})}if(params.fetchConfiguration){const configToUpdate=this.serviceRegistry.all.map(lang=>({section:this.toSectionName(lang.LanguageMetaData.languageId)})),configs=await params.fetchConfiguration(configToUpdate);configToUpdate.forEach((conf,idx)=>{this.updateSectionConfiguration(conf.section,configs[idx])})}}this._ready.resolve()}updateConfiguration(change){"object"==typeof change.settings&&null!==change.settings&&Object.entries(change.settings).forEach(([section,configuration])=>{this.updateSectionConfiguration(section,configuration),this.onConfigurationSectionUpdateEmitter.fire({section:section,configuration:configuration})})}updateSectionConfiguration(section,configuration){this.settings[section]=configuration}async getConfiguration(language,configuration){await this.ready;const sectionName=this.toSectionName(language);if(this.settings[sectionName])return this.settings[sectionName][configuration]}toSectionName(languageId){return`${languageId}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},"DefaultConfigurationProvider"),__a),import_vscode_languageserver_protocol=__toESM(require_main2());!function(Disposable2){function create(callback){return{dispose:__name(async()=>await callback(),"dispose")}}__name(create,"create"),Disposable2.create=create}(Disposable||(Disposable={}));var DefaultDocumentBuilder=(__name(_$a=class{constructor(services){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new MultiMap,this.documentPhaseListeners=new MultiMap,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=DocumentState.Changed,this.langiumDocuments=services.workspace.LangiumDocuments,this.langiumDocumentFactory=services.workspace.LangiumDocumentFactory,this.textDocuments=services.workspace.TextDocuments,this.indexManager=services.workspace.IndexManager,this.fileSystemProvider=services.workspace.FileSystemProvider,this.workspaceManager=()=>services.workspace.WorkspaceManager,this.serviceRegistry=services.ServiceRegistry}async build(documents,options={},cancelToken=cancellation_exports.CancellationToken.None){var _a2;for(const document of documents){const key=document.uri.toString();if(document.state===DocumentState.Validated){if("boolean"==typeof options.validation&&options.validation)this.resetToState(document,DocumentState.IndexedReferences);else if("object"==typeof options.validation){const categories=this.findMissingValidationCategories(document,options);categories.length>0&&(this.buildState.set(key,{completed:!1,options:{validation:{categories:categories}},result:null==(_a2=this.buildState.get(key))?void 0:_a2.result}),document.state=DocumentState.IndexedReferences)}}else this.buildState.delete(key)}this.currentState=DocumentState.Changed,await this.emitUpdate(documents.map(e=>e.uri),[]),await this.buildDocuments(documents,options,cancelToken)}async update(changed,deleted,cancelToken=cancellation_exports.CancellationToken.None){this.currentState=DocumentState.Changed;const deletedUris=[];for(const deletedUri of deleted){const deletedDocs=this.langiumDocuments.deleteDocuments(deletedUri);for(const doc of deletedDocs)deletedUris.push(doc.uri),this.cleanUpDeleted(doc)}const changedUris=(await Promise.all(changed.map(uri=>this.findChangedUris(uri)))).flat();for(const changedUri of changedUris){let changedDocument=this.langiumDocuments.getDocument(changedUri);void 0===changedDocument&&(changedDocument=this.langiumDocumentFactory.fromModel({$type:"INVALID"},changedUri),changedDocument.state=DocumentState.Changed,this.langiumDocuments.addDocument(changedDocument)),this.resetToState(changedDocument,DocumentState.Changed)}const allChangedUris=stream(changedUris).concat(deletedUris).map(uri=>uri.toString()).toSet();this.langiumDocuments.all.filter(doc=>!allChangedUris.has(doc.uri.toString())&&this.shouldRelink(doc,allChangedUris)).forEach(doc=>this.resetToState(doc,DocumentState.ComputedScopes)),await this.emitUpdate(changedUris,deletedUris),await interruptAndCheck(cancelToken);const rebuildDocuments=this.sortDocuments(this.langiumDocuments.all.filter(doc=>{var _a2;return doc.state<DocumentState.Validated||!(null==(_a2=this.buildState.get(doc.uri.toString()))?void 0:_a2.completed)||this.resultsAreIncomplete(doc,this.updateBuildOptions)}).toArray());await this.buildDocuments(rebuildDocuments,this.updateBuildOptions,cancelToken)}resultsAreIncomplete(document,options){return this.findMissingValidationCategories(document,options).length>=1}findMissingValidationCategories(document,options){var _a2,_b2;const state=this.buildState.get(document.uri.toString()),allCategories=this.serviceRegistry.getServices(document.uri).validation.ValidationRegistry.getAllValidationCategories(document),executedCategories=(null==(_a2=null==state?void 0:state.result)?void 0:_a2.validationChecks)?new Set(null==(_b2=null==state?void 0:state.result)?void 0:_b2.validationChecks):(null==state?void 0:state.completed)?allCategories:new Set;return stream(void 0===options||!0===options.validation?allCategories:"object"==typeof options.validation?options.validation.categories??allCategories:[]).filter(requested=>!executedCategories.has(requested)).toArray()}async findChangedUris(changed){var _a2;if(this.langiumDocuments.getDocument(changed)??(null==(_a2=this.textDocuments)?void 0:_a2.get(changed)))return[changed];try{const stat=await this.fileSystemProvider.stat(changed);if(stat.isDirectory){return await this.workspaceManager().searchFolder(changed)}if(this.workspaceManager().shouldIncludeEntry(stat))return[changed]}catch{}return[]}async emitUpdate(changed,deleted){await Promise.all(this.updateListeners.map(listener=>listener(changed,deleted)))}sortDocuments(documents){let left=0,right=documents.length-1;for(;left<right;){for(;left<documents.length&&this.hasTextDocument(documents[left]);)left++;for(;right>=0&&!this.hasTextDocument(documents[right]);)right--;left<right&&([documents[left],documents[right]]=[documents[right],documents[left]])}return documents}hasTextDocument(doc){var _a2;return Boolean(null==(_a2=this.textDocuments)?void 0:_a2.get(doc.uri))}shouldRelink(document,changedUris){return!!document.references.some(ref=>void 0!==ref.error)||this.indexManager.isAffected(document,changedUris)}onUpdate(callback){return this.updateListeners.push(callback),Disposable.create(()=>{const index=this.updateListeners.indexOf(callback);index>=0&&this.updateListeners.splice(index,1)})}resetToState(document,state){switch(state){case DocumentState.Changed:case DocumentState.Parsed:this.indexManager.removeContent(document.uri);case DocumentState.IndexedContent:document.localSymbols=void 0;case DocumentState.ComputedScopes:this.serviceRegistry.getServices(document.uri).references.Linker.unlink(document);case DocumentState.Linked:this.indexManager.removeReferences(document.uri);case DocumentState.IndexedReferences:document.diagnostics=void 0,this.buildState.delete(document.uri.toString());case DocumentState.Validated:}document.state>state&&(document.state=state)}cleanUpDeleted(document){this.buildState.delete(document.uri.toString()),this.indexManager.remove(document.uri),document.state=DocumentState.Changed}async buildDocuments(documents,options,cancelToken){this.prepareBuild(documents,options),await this.runCancelable(documents,DocumentState.Parsed,cancelToken,doc=>this.langiumDocumentFactory.update(doc,cancelToken)),await this.runCancelable(documents,DocumentState.IndexedContent,cancelToken,doc=>this.indexManager.updateContent(doc,cancelToken)),await this.runCancelable(documents,DocumentState.ComputedScopes,cancelToken,async doc=>{const scopeComputation=this.serviceRegistry.getServices(doc.uri).references.ScopeComputation;doc.localSymbols=await scopeComputation.collectLocalSymbols(doc,cancelToken)});const toBeLinked=documents.filter(doc=>this.shouldLink(doc));await this.runCancelable(toBeLinked,DocumentState.Linked,cancelToken,doc=>this.serviceRegistry.getServices(doc.uri).references.Linker.link(doc,cancelToken)),await this.runCancelable(toBeLinked,DocumentState.IndexedReferences,cancelToken,doc=>this.indexManager.updateReferences(doc,cancelToken));const toBeValidated=documents.filter(doc=>!!this.shouldValidate(doc)||(this.markAsCompleted(doc),!1));await this.runCancelable(toBeValidated,DocumentState.Validated,cancelToken,async doc=>{await this.validate(doc,cancelToken),this.markAsCompleted(doc)})}markAsCompleted(document){const state=this.buildState.get(document.uri.toString());state&&(state.completed=!0)}prepareBuild(documents,options){for(const doc of documents){const key=doc.uri.toString(),state=this.buildState.get(key);state&&!state.completed||this.buildState.set(key,{completed:!1,options:options,result:null==state?void 0:state.result})}}async runCancelable(documents,targetState,cancelToken,callback){for(const document of documents)document.state<targetState&&(await interruptAndCheck(cancelToken),await callback(document),document.state=targetState,await this.notifyDocumentPhase(document,targetState,cancelToken));const targetStateDocs=documents.filter(doc=>doc.state===targetState);await this.notifyBuildPhase(targetStateDocs,targetState,cancelToken),this.currentState=targetState}onBuildPhase(targetState,callback){return this.buildPhaseListeners.add(targetState,callback),Disposable.create(()=>{this.buildPhaseListeners.delete(targetState,callback)})}onDocumentPhase(targetState,callback){return this.documentPhaseListeners.add(targetState,callback),Disposable.create(()=>{this.documentPhaseListeners.delete(targetState,callback)})}waitUntil(state,uriOrToken,cancelToken){let uri;return uriOrToken&&"path"in uriOrToken?uri=uriOrToken:cancelToken=uriOrToken,cancelToken??(cancelToken=cancellation_exports.CancellationToken.None),uri?this.awaitDocumentState(state,uri,cancelToken):this.awaitBuilderState(state,cancelToken)}awaitDocumentState(state,uri,cancelToken){const document=this.langiumDocuments.getDocument(uri);return document?document.state>=state?Promise.resolve(uri):cancelToken.isCancellationRequested?Promise.reject(OperationCancelled):this.currentState>=state&&state>document.state?Promise.reject(new import_vscode_languageserver_protocol.ResponseError(import_vscode_languageserver_protocol.LSPErrorCodes.RequestFailed,`Document state of ${uri.toString()} is ${DocumentState[document.state]}, requiring ${DocumentState[state]}, but workspace state is already ${DocumentState[this.currentState]}. Returning undefined.`)):new Promise((resolve,reject2)=>{const buildDisposable=this.onDocumentPhase(state,doc=>{UriUtils.equals(doc.uri,uri)&&(buildDisposable.dispose(),cancelDisposable.dispose(),resolve(doc.uri))}),cancelDisposable=cancelToken.onCancellationRequested(()=>{buildDisposable.dispose(),cancelDisposable.dispose(),reject2(OperationCancelled)})}):Promise.reject(new import_vscode_languageserver_protocol.ResponseError(import_vscode_languageserver_protocol.LSPErrorCodes.ServerCancelled,`No document found for URI: ${uri.toString()}`))}awaitBuilderState(state,cancelToken){return this.currentState>=state?Promise.resolve():cancelToken.isCancellationRequested?Promise.reject(OperationCancelled):new Promise((resolve,reject2)=>{const buildDisposable=this.onBuildPhase(state,()=>{buildDisposable.dispose(),cancelDisposable.dispose(),resolve()}),cancelDisposable=cancelToken.onCancellationRequested(()=>{buildDisposable.dispose(),cancelDisposable.dispose(),reject2(OperationCancelled)})})}async notifyDocumentPhase(document,state,cancelToken){const listenersCopy=this.documentPhaseListeners.get(state).slice();for(const listener of listenersCopy)try{await interruptAndCheck(cancelToken),await listener(document,cancelToken)}catch(err){if(!isOperationCancelled(err))throw err}}async notifyBuildPhase(documents,state,cancelToken){if(0===documents.length)return;const listenersCopy=this.buildPhaseListeners.get(state).slice();for(const listener of listenersCopy)await interruptAndCheck(cancelToken),await listener(documents,cancelToken)}shouldLink(document){return this.getBuildOptions(document).eagerLinking??!0}shouldValidate(document){return Boolean(this.getBuildOptions(document).validation)}async validate(document,cancelToken){const validator=this.serviceRegistry.getServices(document.uri).validation.DocumentValidator,options=this.getBuildOptions(document),validationOptions="object"==typeof options.validation?{...options.validation}:{};validationOptions.categories=this.findMissingValidationCategories(document,options);const diagnostics=await validator.validateDocument(document,validationOptions,cancelToken);document.diagnostics?document.diagnostics.push(...diagnostics):document.diagnostics=diagnostics;const state=this.buildState.get(document.uri.toString());state&&(state.result??(state.result={}),state.result.validationChecks?state.result.validationChecks=stream(state.result.validationChecks).concat(validationOptions.categories).distinct().toArray():state.result.validationChecks=[...validationOptions.categories])}getBuildOptions(document){var _a2;return(null==(_a2=this.buildState.get(document.uri.toString()))?void 0:_a2.options)??{}}},"DefaultDocumentBuilder"),_$a),DefaultIndexManager=(__name(_ab=class{constructor(services){this.symbolIndex=new Map,this.symbolByTypeIndex=new ContextCache,this.referenceIndex=new Map,this.documents=services.workspace.LangiumDocuments,this.serviceRegistry=services.ServiceRegistry,this.astReflection=services.AstReflection}findAllReferences(targetNode,astNodePath){const targetDocUri=getDocument(targetNode).uri,result=[];return this.referenceIndex.forEach(docRefs=>{docRefs.forEach(refDescr=>{UriUtils.equals(refDescr.targetUri,targetDocUri)&&refDescr.targetPath===astNodePath&&result.push(refDescr)})}),stream(result)}allElements(nodeType,uris){let documentUris=stream(this.symbolIndex.keys());return uris&&(documentUris=documentUris.filter(uri=>!uris||uris.has(uri))),documentUris.map(uri=>this.getFileDescriptions(uri,nodeType)).flat()}getFileDescriptions(uri,nodeType){if(!nodeType)return this.symbolIndex.get(uri)??[];return this.symbolByTypeIndex.get(uri,nodeType,()=>(this.symbolIndex.get(uri)??[]).filter(e=>this.astReflection.isSubtype(e.type,nodeType)))}remove(uri){this.removeContent(uri),this.removeReferences(uri)}removeContent(uri){const uriString=uri.toString();this.symbolIndex.delete(uriString),this.symbolByTypeIndex.clear(uriString)}removeReferences(uri){const uriString=uri.toString();this.referenceIndex.delete(uriString)}async updateContent(document,cancelToken=cancellation_exports.CancellationToken.None){const services=this.serviceRegistry.getServices(document.uri),exports2=await services.references.ScopeComputation.collectExportedSymbols(document,cancelToken),uri=document.uri.toString();this.symbolIndex.set(uri,exports2),this.symbolByTypeIndex.clear(uri)}async updateReferences(document,cancelToken=cancellation_exports.CancellationToken.None){const services=this.serviceRegistry.getServices(document.uri),indexData=await services.workspace.ReferenceDescriptionProvider.createDescriptions(document,cancelToken);this.referenceIndex.set(document.uri.toString(),indexData)}isAffected(document,changedUris){const references=this.referenceIndex.get(document.uri.toString());return!!references&&references.some(ref=>!ref.local&&changedUris.has(ref.targetUri.toString()))}},"DefaultIndexManager"),_ab),DefaultWorkspaceManager=(__name(_bb=class{constructor(services){this.initialBuildOptions={},this._ready=new Deferred,this.serviceRegistry=services.ServiceRegistry,this.langiumDocuments=services.workspace.LangiumDocuments,this.documentBuilder=services.workspace.DocumentBuilder,this.fileSystemProvider=services.workspace.FileSystemProvider,this.mutex=services.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(params){this.folders=params.workspaceFolders??void 0}initialized(_params){return this.mutex.write(token=>this.initializeWorkspace(this.folders??[],token))}async initializeWorkspace(folders,cancelToken=cancellation_exports.CancellationToken.None){const documents=await this.performStartup(folders);await interruptAndCheck(cancelToken),await this.documentBuilder.build(documents,this.initialBuildOptions,cancelToken)}async performStartup(folders){const documents=[],collector=__name(document=>{documents.push(document),this.langiumDocuments.hasDocument(document.uri)||this.langiumDocuments.addDocument(document)},"collector");await this.loadAdditionalDocuments(folders,collector);const uris=[];await Promise.all(folders.map(wf=>this.getRootFolder(wf)).map(async entry=>this.traverseFolder(entry,uris)));const uniqueUris=stream(uris).distinct(uri=>uri.toString()).filter(uri=>!this.langiumDocuments.hasDocument(uri));return await this.loadWorkspaceDocuments(uniqueUris,collector),this._ready.resolve(),documents}async loadWorkspaceDocuments(uris,collector){await Promise.all(uris.map(async uri=>{const document=await this.langiumDocuments.getOrCreateDocument(uri);collector(document)}))}loadAdditionalDocuments(_folders,_collector){return Promise.resolve()}getRootFolder(workspaceFolder){return URI2.parse(workspaceFolder.uri)}async traverseFolder(folderPath,uris){try{const content=await this.fileSystemProvider.readDirectory(folderPath);await Promise.all(content.map(async entry=>{this.shouldIncludeEntry(entry)&&(entry.isDirectory?await this.traverseFolder(entry.uri,uris):entry.isFile&&uris.push(entry.uri))}))}catch(e){console.error("Failure to read directory content of "+folderPath.toString(!0),e)}}async searchFolder(uri){const uris=[];return await this.traverseFolder(uri,uris),uris}shouldIncludeEntry(entry){const name=UriUtils.basename(entry.uri);return!name.startsWith(".")&&(entry.isDirectory?"node_modules"!==name&&"out"!==name:!!entry.isFile&&this.serviceRegistry.hasServices(entry.uri))}},"DefaultWorkspaceManager"),_bb),DefaultLexerErrorMessageProvider=(__name(_cb=class{buildUnexpectedCharactersMessage(fullText,startOffset,length,line,column){return defaultLexerErrorProvider.buildUnexpectedCharactersMessage(fullText,startOffset,length,line,column)}buildUnableToPopLexerModeMessage(token){return defaultLexerErrorProvider.buildUnableToPopLexerModeMessage(token)}},"DefaultLexerErrorMessageProvider"),_cb),DEFAULT_TOKENIZE_OPTIONS={mode:"full"},DefaultLexer=(_db=class{constructor(services){this.errorMessageProvider=services.parser.LexerErrorMessageProvider,this.tokenBuilder=services.parser.TokenBuilder;const tokens=this.tokenBuilder.buildTokens(services.Grammar,{caseInsensitive:services.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(tokens);const lexerTokens=isTokenTypeDictionary(tokens)?Object.values(tokens):tokens,production="production"===services.LanguageMetaData.mode;this.chevrotainLexer=new Lexer(lexerTokens,{positionTracking:"full",skipValidations:production,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(text,_options=DEFAULT_TOKENIZE_OPTIONS){var _a2,_b2;const chevrotainResult=this.chevrotainLexer.tokenize(text);return{tokens:chevrotainResult.tokens,errors:chevrotainResult.errors,hidden:chevrotainResult.groups.hidden??[],report:null==(_b2=(_a2=this.tokenBuilder).flushLexingReport)?void 0:_b2.call(_a2,text)}}toTokenTypeDictionary(buildTokens){if(isTokenTypeDictionary(buildTokens))return buildTokens;const tokens=isIMultiModeLexerDefinition(buildTokens)?Object.values(buildTokens.modes).flat():buildTokens,res={};return tokens.forEach(token=>res[token.name]=token),res}},__name(_db,"DefaultLexer"),_db);function isTokenTypeArray(tokenVocabulary){return Array.isArray(tokenVocabulary)&&(0===tokenVocabulary.length||"name"in tokenVocabulary[0])}function isIMultiModeLexerDefinition(tokenVocabulary){return tokenVocabulary&&"modes"in tokenVocabulary&&"defaultMode"in tokenVocabulary}function isTokenTypeDictionary(tokenVocabulary){return!isTokenTypeArray(tokenVocabulary)&&!isIMultiModeLexerDefinition(tokenVocabulary)}function parseJSDoc(node,start,options){let opts,position;"string"==typeof node?(position=start,opts=options):(position=node.range.start,opts=start),position||(position=Position.create(0,0));return parseJSDocComment({index:0,tokens:tokenize({lines:getLines(node),position:position,options:normalizeOptions(opts)}),position:position})}function isJSDoc(node,options){const normalizedOptions=normalizeOptions(options),lines=getLines(node);if(0===lines.length)return!1;const first2=lines[0],last2=lines[lines.length-1],firstRegex=normalizedOptions.start,lastRegex=normalizedOptions.end;return Boolean(null==firstRegex?void 0:firstRegex.exec(first2))&&Boolean(null==lastRegex?void 0:lastRegex.exec(last2))}function getLines(node){let content="";content="string"==typeof node?node:node.text;return content.split(NEWLINE_REGEXP)}__name(isTokenTypeArray,"isTokenTypeArray"),__name(isIMultiModeLexerDefinition,"isIMultiModeLexerDefinition"),__name(isTokenTypeDictionary,"isTokenTypeDictionary"),init_main(),__name(parseJSDoc,"parseJSDoc"),__name(isJSDoc,"isJSDoc"),__name(getLines,"getLines");var tagRegex=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,inlineTagRegex=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function tokenize(context){var _a2,_b2,_c2;const tokens=[];let currentLine=context.position.line,currentCharacter=context.position.character;for(let i=0;i<context.lines.length;i++){const first2=0===i,last2=i===context.lines.length-1;let line=context.lines[i],index=0;if(first2&&context.options.start){const match=null==(_a2=context.options.start)?void 0:_a2.exec(line);match&&(index=match.index+match[0].length)}else{const match=null==(_b2=context.options.line)?void 0:_b2.exec(line);match&&(index=match.index+match[0].length)}if(last2){const match=null==(_c2=context.options.end)?void 0:_c2.exec(line);match&&(line=line.substring(0,match.index))}line=line.substring(0,lastCharacter(line));if(skipWhitespace(line,index)>=line.length){if(tokens.length>0){const position=Position.create(currentLine,currentCharacter);tokens.push({type:"break",content:"",range:Range.create(position,position)})}}else{tagRegex.lastIndex=index;const tagMatch=tagRegex.exec(line);if(tagMatch){const fullMatch=tagMatch[0],value=tagMatch[1],start=Position.create(currentLine,currentCharacter+index),end=Position.create(currentLine,currentCharacter+index+fullMatch.length);tokens.push({type:"tag",content:value,range:Range.create(start,end)}),index+=fullMatch.length,index=skipWhitespace(line,index)}if(index<line.length){const rest=line.substring(index),inlineTagMatches=Array.from(rest.matchAll(inlineTagRegex));tokens.push(...buildInlineTokens(inlineTagMatches,rest,currentLine,currentCharacter+index))}}currentLine++,currentCharacter=0}return tokens.length>0&&"break"===tokens[tokens.length-1].type?tokens.slice(0,-1):tokens}function buildInlineTokens(tags,line,lineIndex,characterIndex){const tokens=[];if(0===tags.length){const start=Position.create(lineIndex,characterIndex),end=Position.create(lineIndex,characterIndex+line.length);tokens.push({type:"text",content:line,range:Range.create(start,end)})}else{let lastIndex=0;for(const match of tags){const matchIndex=match.index,startContent=line.substring(lastIndex,matchIndex);startContent.length>0&&tokens.push({type:"text",content:line.substring(lastIndex,matchIndex),range:Range.create(Position.create(lineIndex,lastIndex+characterIndex),Position.create(lineIndex,matchIndex+characterIndex))});let offset=startContent.length+1;const tagName=match[1];if(tokens.push({type:"inline-tag",content:tagName,range:Range.create(Position.create(lineIndex,lastIndex+offset+characterIndex),Position.create(lineIndex,lastIndex+offset+tagName.length+characterIndex))}),offset+=tagName.length,4===match.length){offset+=match[2].length;const value=match[3];tokens.push({type:"text",content:value,range:Range.create(Position.create(lineIndex,lastIndex+offset+characterIndex),Position.create(lineIndex,lastIndex+offset+value.length+characterIndex))})}else tokens.push({type:"text",content:"",range:Range.create(Position.create(lineIndex,lastIndex+offset+characterIndex),Position.create(lineIndex,lastIndex+offset+characterIndex))});lastIndex=matchIndex+match[0].length}const endContent=line.substring(lastIndex);endContent.length>0&&tokens.push({type:"text",content:endContent,range:Range.create(Position.create(lineIndex,lastIndex+characterIndex),Position.create(lineIndex,lastIndex+characterIndex+endContent.length))})}return tokens}__name(tokenize,"tokenize"),__name(buildInlineTokens,"buildInlineTokens");var nonWhitespaceRegex=/\S/,whitespaceEndRegex=/\s*$/;function skipWhitespace(line,index){const match=line.substring(index).match(nonWhitespaceRegex);return match?index+match.index:line.length}function lastCharacter(line){const match=line.match(whitespaceEndRegex);if(match&&"number"==typeof match.index)return match.index}function parseJSDocComment(context){var _a2,_b2;const startPosition=Position.create(context.position.line,context.position.character);if(0===context.tokens.length)return new JSDocCommentImpl([],Range.create(startPosition,startPosition));const elements=[];for(;context.index<context.tokens.length;){const element=parseJSDocElement(context,elements[elements.length-1]);element&&elements.push(element)}const start=(null==(_a2=elements[0])?void 0:_a2.range.start)??startPosition,end=(null==(_b2=elements[elements.length-1])?void 0:_b2.range.end)??startPosition;return new JSDocCommentImpl(elements,Range.create(start,end))}function parseJSDocElement(context,last2){const next=context.tokens[context.index];return"tag"===next.type?parseJSDocTag(context,!1):"text"===next.type||"inline-tag"===next.type?parseJSDocText(context):(appendEmptyLine(next,last2),void context.index++)}function appendEmptyLine(token,element){if(element){const line=new JSDocLineImpl("",token.range);"inlines"in element?element.inlines.push(line):element.content.inlines.push(line)}}function parseJSDocText(context){let token=context.tokens[context.index];const firstToken=token;let lastToken=token;const lines=[];for(;token&&"break"!==token.type&&"tag"!==token.type;)lines.push(parseJSDocInline(context)),lastToken=token,token=context.tokens[context.index];return new JSDocTextImpl(lines,Range.create(firstToken.range.start,lastToken.range.end))}function parseJSDocInline(context){return"inline-tag"===context.tokens[context.index].type?parseJSDocTag(context,!0):parseJSDocLine(context)}function parseJSDocTag(context,inline){const tagToken=context.tokens[context.index++],name=tagToken.content.substring(1),nextToken=context.tokens[context.index];if("text"===(null==nextToken?void 0:nextToken.type)){if(inline){const docLine=parseJSDocLine(context);return new JSDocTagImpl(name,new JSDocTextImpl([docLine],docLine.range),inline,Range.create(tagToken.range.start,docLine.range.end))}{const textDoc=parseJSDocText(context);return new JSDocTagImpl(name,textDoc,inline,Range.create(tagToken.range.start,textDoc.range.end))}}{const range=tagToken.range;return new JSDocTagImpl(name,new JSDocTextImpl([],range),inline,range)}}function parseJSDocLine(context){const token=context.tokens[context.index++];return new JSDocLineImpl(token.content,token.range)}function normalizeOptions(options){if(!options)return normalizeOptions({start:"/**",end:"*/",line:"*"});const{start:start,end:end,line:line}=options;return{start:normalizeOption(start,!0),end:normalizeOption(end,!1),line:normalizeOption(line,!0)}}function normalizeOption(option2,start){if("string"==typeof option2||"object"==typeof option2){const escaped="string"==typeof option2?escapeRegExp(option2):option2.source;return start?new RegExp(`^\\s*${escaped}`):new RegExp(`\\s*${escaped}\\s*$`)}return option2}__name(skipWhitespace,"skipWhitespace"),__name(lastCharacter,"lastCharacter"),__name(parseJSDocComment,"parseJSDocComment"),__name(parseJSDocElement,"parseJSDocElement"),__name(appendEmptyLine,"appendEmptyLine"),__name(parseJSDocText,"parseJSDocText"),__name(parseJSDocInline,"parseJSDocInline"),__name(parseJSDocTag,"parseJSDocTag"),__name(parseJSDocLine,"parseJSDocLine"),__name(normalizeOptions,"normalizeOptions"),__name(normalizeOption,"normalizeOption");var JSDocCommentImpl=(__name(_eb=class{constructor(elements,range){this.elements=elements,this.range=range}getTag(name){return this.getAllTags().find(e=>e.name===name)}getTags(name){return this.getAllTags().filter(e=>e.name===name)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let value="";for(const element of this.elements)if(0===value.length)value=element.toString();else{const text=element.toString();value+=fillNewlines(value)+text}return value.trim()}toMarkdown(options){let value="";for(const element of this.elements)if(0===value.length)value=element.toMarkdown(options);else{const text=element.toMarkdown(options);value+=fillNewlines(value)+text}return value.trim()}},"JSDocCommentImpl"),_eb),JSDocTagImpl=(__name(_fb=class{constructor(name,content,inline,range){this.name=name,this.content=content,this.inline=inline,this.range=range}toString(){let text=`@${this.name}`;const content=this.content.toString();return 1===this.content.inlines.length?text=`${text} ${content}`:this.content.inlines.length>1&&(text=`${text}\n${content}`),this.inline?`{${text}}`:text}toMarkdown(options){var _a2;return(null==(_a2=null==options?void 0:options.renderTag)?void 0:_a2.call(options,this))??this.toMarkdownDefault(options)}toMarkdownDefault(options){const content=this.content.toMarkdown(options);if(this.inline){const rendered=renderInlineTag(this.name,content,options??{});if("string"==typeof rendered)return rendered}let marker="";"italic"===(null==options?void 0:options.tag)||void 0===(null==options?void 0:options.tag)?marker="*":"bold"===(null==options?void 0:options.tag)?marker="**":"bold-italic"===(null==options?void 0:options.tag)&&(marker="***");let text=`${marker}@${this.name}${marker}`;return 1===this.content.inlines.length?text=`${text} — ${content}`:this.content.inlines.length>1&&(text=`${text}\n${content}`),this.inline?`{${text}}`:text}},"JSDocTagImpl"),_fb);function renderInlineTag(tag,content,options){var _a2;if("linkplain"===tag||"linkcode"===tag||"link"===tag){const index=content.indexOf(" ");let display=content;if(index>0){const displayStart=skipWhitespace(content,index);display=content.substring(displayStart),content=content.substring(0,index)}("linkcode"===tag||"link"===tag&&"code"===options.link)&&(display=`\`${display}\``);return(null==(_a2=options.renderLink)?void 0:_a2.call(options,content,display))??renderLinkDefault(content,display)}}function renderLinkDefault(content,display){try{return URI2.parse(content,!0),`[${display}](${content})`}catch{return content}}__name(renderInlineTag,"renderInlineTag"),__name(renderLinkDefault,"renderLinkDefault");var JSDocTextImpl=(__name(_gb=class{constructor(lines,range){this.inlines=lines,this.range=range}toString(){let text="";for(let i=0;i<this.inlines.length;i++){const inline=this.inlines[i],next=this.inlines[i+1];text+=inline.toString(),next&&next.range.start.line>inline.range.start.line&&(text+="\n")}return text}toMarkdown(options){let text="";for(let i=0;i<this.inlines.length;i++){const inline=this.inlines[i],next=this.inlines[i+1];text+=inline.toMarkdown(options),next&&next.range.start.line>inline.range.start.line&&(text+="\n")}return text}},"JSDocTextImpl"),_gb),JSDocLineImpl=(__name(_hb=class{constructor(text,range){this.text=text,this.range=range}toString(){return this.text}toMarkdown(){return this.text}},"JSDocLineImpl"),_hb);function fillNewlines(text){return text.endsWith("\n")?"\n":"\n\n"}__name(fillNewlines,"fillNewlines");var Module,JSDocDocumentationProvider=(__name(_ib=class{constructor(services){this.indexManager=services.shared.workspace.IndexManager,this.commentProvider=services.documentation.CommentProvider}getDocumentation(node){const comment=this.commentProvider.getComment(node);if(comment&&isJSDoc(comment)){return parseJSDoc(comment).toMarkdown({renderLink:__name((link,display)=>this.documentationLinkRenderer(node,link,display),"renderLink"),renderTag:__name(tag=>this.documentationTagRenderer(node,tag),"renderTag")})}}documentationLinkRenderer(node,name,display){const description=this.findNameInLocalSymbols(node,name)??this.findNameInGlobalScope(node,name);if(description&&description.nameSegment){const line=description.nameSegment.range.start.line+1,character=description.nameSegment.range.start.character+1;return`[${display}](${description.documentUri.with({fragment:`L${line},${character}`}).toString()})`}}documentationTagRenderer(_node,_tag){}findNameInLocalSymbols(node,name){const precomputed=getDocument(node).localSymbols;if(!precomputed)return;let currentNode=node;do{const description=precomputed.getStream(currentNode).find(e=>e.name===name);if(description)return description;currentNode=currentNode.$container}while(currentNode)}findNameInGlobalScope(node,name){return this.indexManager.allElements().find(e=>e.name===name)}},"JSDocDocumentationProvider"),_ib),DefaultCommentProvider=(__name(_jb=class{constructor(services){this.grammarConfig=()=>services.parser.GrammarConfig}getComment(node){var _a2;return isAstNodeWithComment(node)?node.$comment:null==(_a2=findCommentNode(node.$cstNode,this.grammarConfig().multilineCommentRules))?void 0:_a2.text}},"DefaultCommentProvider"),_jb),DefaultAsyncParser=(__name(_kb=class{constructor(services){this.syncParser=services.parser.LangiumParser}parse(text,_cancelToken){return Promise.resolve(this.syncParser.parse(text))}},"DefaultAsyncParser"),_kb),AbstractThreadedAsyncParser=(__name(_lb=class{constructor(services){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=services.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){const worker=this.createWorker();worker.onReady(()=>{if(this.queue.length>0){const deferred=this.queue.shift();deferred&&(worker.lock(),deferred.resolve(worker))}}),this.workerPool.push(worker)}}async parse(text,cancelToken){const worker=await this.acquireParserWorker(cancelToken),deferred=new Deferred;let timeout;const cancellation=cancelToken.onCancellationRequested(()=>{timeout=setTimeout(()=>{this.terminateWorker(worker)},this.terminationDelay)});return worker.parse(text).then(result=>{const hydrated=this.hydrator.hydrate(result);deferred.resolve(hydrated)}).catch(err=>{deferred.reject(err)}).finally(()=>{cancellation.dispose(),clearTimeout(timeout)}),deferred.promise}terminateWorker(worker){worker.terminate();const index=this.workerPool.indexOf(worker);index>=0&&this.workerPool.splice(index,1)}async acquireParserWorker(cancelToken){this.initializeWorkers();for(const worker of this.workerPool)if(worker.ready)return worker.lock(),worker;const deferred=new Deferred;return cancelToken.onCancellationRequested(()=>{const index=this.queue.indexOf(deferred);index>=0&&this.queue.splice(index,1),deferred.reject(OperationCancelled)}),this.queue.push(deferred),deferred.promise}},"AbstractThreadedAsyncParser"),_lb),ParserWorker=(__name(_mb=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(sendMessage,onMessage,onError,terminate){this.onReadyEmitter=new event_exports.Emitter,this.deferred=new Deferred,this._ready=!0,this._parsing=!1,this.sendMessage=sendMessage,this._terminate=terminate,onMessage(result=>{const parseResult=result;this.deferred.resolve(parseResult),this.unlock()}),onError(error=>{this.deferred.reject(error),this.unlock()})}terminate(){this.deferred.reject(OperationCancelled),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(text){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Deferred,this.sendMessage(text),this.deferred.promise}},"ParserWorker"),_mb),DefaultWorkspaceLock=(__name(_nb=class{constructor(){this.previousTokenSource=new cancellation_exports.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(action){this.cancelWrite();const tokenSource=startCancelableOperation();return this.previousTokenSource=tokenSource,this.enqueue(this.writeQueue,action,tokenSource.token)}read(action){return this.enqueue(this.readQueue,action)}enqueue(queue,action,cancellationToken=cancellation_exports.CancellationToken.None){const deferred=new Deferred,entry={action:action,deferred:deferred,cancellationToken:cancellationToken};return queue.push(entry),this.performNextOperation(),deferred.promise}async performNextOperation(){if(!this.done)return;const entries=[];if(this.writeQueue.length>0)entries.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;entries.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(entries.map(async({action:action,deferred:deferred,cancellationToken:cancellationToken})=>{try{const result=await Promise.resolve().then(()=>action(cancellationToken));deferred.resolve(result)}catch(err){isOperationCancelled(err)?deferred.resolve(void 0):deferred.reject(err)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},"DefaultWorkspaceLock"),_nb),DefaultHydrator=(__name(_ob=class{constructor(services){this.grammarElementIdMap=new BiMap,this.tokenTypeIdMap=new BiMap,this.grammar=services.Grammar,this.lexer=services.parser.Lexer,this.linker=services.references.Linker}dehydrate(result){return{lexerErrors:result.lexerErrors,lexerReport:result.lexerReport?this.dehydrateLexerReport(result.lexerReport):void 0,parserErrors:result.parserErrors.map(e=>({...e,message:e.message})),value:this.dehydrateAstNode(result.value,this.createDehyrationContext(result.value))}}dehydrateLexerReport(lexerReport){return lexerReport}createDehyrationContext(node){const astNodes=new Map,cstNodes=new Map;for(const astNode of streamAst(node))astNodes.set(astNode,{});if(node.$cstNode)for(const cstNode of streamCst(node.$cstNode))cstNodes.set(cstNode,{});return{astNodes:astNodes,cstNodes:cstNodes}}dehydrateAstNode(node,context){const obj=context.astNodes.get(node);obj.$type=node.$type,obj.$containerIndex=node.$containerIndex,obj.$containerProperty=node.$containerProperty,void 0!==node.$cstNode&&(obj.$cstNode=this.dehydrateCstNode(node.$cstNode,context));for(const[name,value]of Object.entries(node))if(!name.startsWith("$"))if(Array.isArray(value)){const arr=[];obj[name]=arr;for(const item of value)isAstNode(item)?arr.push(this.dehydrateAstNode(item,context)):isReference(item)?arr.push(this.dehydrateReference(item,context)):arr.push(item)}else isAstNode(value)?obj[name]=this.dehydrateAstNode(value,context):isReference(value)?obj[name]=this.dehydrateReference(value,context):void 0!==value&&(obj[name]=value);return obj}dehydrateReference(reference,context){const obj={};return obj.$refText=reference.$refText,reference.$refNode&&(obj.$refNode=context.cstNodes.get(reference.$refNode)),obj}dehydrateCstNode(node,context){const cstNode=context.cstNodes.get(node);return isRootCstNode(node)?cstNode.fullText=node.fullText:cstNode.grammarSource=this.getGrammarElementId(node.grammarSource),cstNode.hidden=node.hidden,cstNode.astNode=context.astNodes.get(node.astNode),isCompositeCstNode(node)?cstNode.content=node.content.map(child=>this.dehydrateCstNode(child,context)):isLeafCstNode(node)&&(cstNode.tokenType=node.tokenType.name,cstNode.offset=node.offset,cstNode.length=node.length,cstNode.startLine=node.range.start.line,cstNode.startColumn=node.range.start.character,cstNode.endLine=node.range.end.line,cstNode.endColumn=node.range.end.character),cstNode}hydrate(result){const node=result.value,context=this.createHydrationContext(node);return"$cstNode"in node&&this.hydrateCstNode(node.$cstNode,context),{lexerErrors:result.lexerErrors,lexerReport:result.lexerReport,parserErrors:result.parserErrors,value:this.hydrateAstNode(node,context)}}createHydrationContext(node){const astNodes=new Map,cstNodes=new Map;for(const astNode of streamAst(node))astNodes.set(astNode,{});let root3;if(node.$cstNode)for(const cstNode of streamCst(node.$cstNode)){let cst;"fullText"in cstNode?(cst=new RootCstNodeImpl(cstNode.fullText),root3=cst):"content"in cstNode?cst=new CompositeCstNodeImpl:"tokenType"in cstNode&&(cst=this.hydrateCstLeafNode(cstNode)),cst&&(cstNodes.set(cstNode,cst),cst.root=root3)}return{astNodes:astNodes,cstNodes:cstNodes}}hydrateAstNode(node,context){const astNode=context.astNodes.get(node);astNode.$type=node.$type,astNode.$containerIndex=node.$containerIndex,astNode.$containerProperty=node.$containerProperty,node.$cstNode&&(astNode.$cstNode=context.cstNodes.get(node.$cstNode));for(const[name,value]of Object.entries(node))if(!name.startsWith("$"))if(Array.isArray(value)){const arr=[];astNode[name]=arr;for(const item of value)isAstNode(item)?arr.push(this.setParent(this.hydrateAstNode(item,context),astNode)):isReference(item)?arr.push(this.hydrateReference(item,astNode,name,context)):arr.push(item)}else isAstNode(value)?astNode[name]=this.setParent(this.hydrateAstNode(value,context),astNode):isReference(value)?astNode[name]=this.hydrateReference(value,astNode,name,context):void 0!==value&&(astNode[name]=value);return astNode}setParent(node,parent){return node.$container=parent,node}hydrateReference(reference,node,name,context){return this.linker.buildReference(node,name,context.cstNodes.get(reference.$refNode),reference.$refText)}hydrateCstNode(cstNode,context,num=0){const cstNodeObj=context.cstNodes.get(cstNode);if("number"==typeof cstNode.grammarSource&&(cstNodeObj.grammarSource=this.getGrammarElement(cstNode.grammarSource)),cstNodeObj.astNode=context.astNodes.get(cstNode.astNode),isCompositeCstNode(cstNodeObj))for(const child of cstNode.content){const hydrated=this.hydrateCstNode(child,context,num++);cstNodeObj.content.push(hydrated)}return cstNodeObj}hydrateCstLeafNode(cstNode){const tokenType=this.getTokenType(cstNode.tokenType),offset=cstNode.offset,length=cstNode.length,startLine=cstNode.startLine,startColumn=cstNode.startColumn,endLine=cstNode.endLine,endColumn=cstNode.endColumn,hidden=cstNode.hidden;return new LeafCstNodeImpl(offset,length,{start:{line:startLine,character:startColumn},end:{line:endLine,character:endColumn}},tokenType,hidden)}getTokenType(name){return this.lexer.definition[name]}getGrammarElementId(node){if(node)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(node)}getGrammarElement(id){0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap();return this.grammarElementIdMap.getKey(id)}createGrammarElementIdMap(){let id=0;for(const element of streamAst(this.grammar))isAbstractElement(element)&&this.grammarElementIdMap.set(element,id++)}},"DefaultHydrator"),_ob);function createDefaultCoreModule(context){return{documentation:{CommentProvider:__name(services=>new DefaultCommentProvider(services),"CommentProvider"),DocumentationProvider:__name(services=>new JSDocDocumentationProvider(services),"DocumentationProvider")},parser:{AsyncParser:__name(services=>new DefaultAsyncParser(services),"AsyncParser"),GrammarConfig:__name(services=>createGrammarConfig(services),"GrammarConfig"),LangiumParser:__name(services=>createLangiumParser(services),"LangiumParser"),CompletionParser:__name(services=>createCompletionParser(services),"CompletionParser"),ValueConverter:__name(()=>new DefaultValueConverter,"ValueConverter"),TokenBuilder:__name(()=>new DefaultTokenBuilder,"TokenBuilder"),Lexer:__name(services=>new DefaultLexer(services),"Lexer"),ParserErrorMessageProvider:__name(()=>new LangiumParserErrorMessageProvider,"ParserErrorMessageProvider"),LexerErrorMessageProvider:__name(()=>new DefaultLexerErrorMessageProvider,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:__name(()=>new DefaultAstNodeLocator,"AstNodeLocator"),AstNodeDescriptionProvider:__name(services=>new DefaultAstNodeDescriptionProvider(services),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:__name(services=>new DefaultReferenceDescriptionProvider(services),"ReferenceDescriptionProvider")},references:{Linker:__name(services=>new DefaultLinker(services),"Linker"),NameProvider:__name(()=>new DefaultNameProvider,"NameProvider"),ScopeProvider:__name(services=>new DefaultScopeProvider(services),"ScopeProvider"),ScopeComputation:__name(services=>new DefaultScopeComputation(services),"ScopeComputation"),References:__name(services=>new DefaultReferences(services),"References")},serializer:{Hydrator:__name(services=>new DefaultHydrator(services),"Hydrator"),JsonSerializer:__name(services=>new DefaultJsonSerializer(services),"JsonSerializer")},validation:{DocumentValidator:__name(services=>new DefaultDocumentValidator(services),"DocumentValidator"),ValidationRegistry:__name(services=>new ValidationRegistry(services),"ValidationRegistry")},shared:__name(()=>context.shared,"shared")}}function createDefaultSharedCoreModule(context){return{ServiceRegistry:__name(services=>new DefaultServiceRegistry(services),"ServiceRegistry"),workspace:{LangiumDocuments:__name(services=>new DefaultLangiumDocuments(services),"LangiumDocuments"),LangiumDocumentFactory:__name(services=>new DefaultLangiumDocumentFactory(services),"LangiumDocumentFactory"),DocumentBuilder:__name(services=>new DefaultDocumentBuilder(services),"DocumentBuilder"),IndexManager:__name(services=>new DefaultIndexManager(services),"IndexManager"),WorkspaceManager:__name(services=>new DefaultWorkspaceManager(services),"WorkspaceManager"),FileSystemProvider:__name(services=>context.fileSystemProvider(services),"FileSystemProvider"),WorkspaceLock:__name(()=>new DefaultWorkspaceLock,"WorkspaceLock"),ConfigurationProvider:__name(services=>new DefaultConfigurationProvider(services),"ConfigurationProvider")},profilers:{}}}function inject(module1,module2,module3,module4,module5,module6,module7,module8,module9){return _inject([module1,module2,module3,module4,module5,module6,module7,module8,module9].reduce(_merge,{}))}__name(createDefaultCoreModule,"createDefaultCoreModule"),__name(createDefaultSharedCoreModule,"createDefaultSharedCoreModule"),(Module||(Module={})).merge=(m1,m2)=>_merge(_merge({},m1),m2),__name(inject,"inject");var isProxy=Symbol("isProxy");function eagerLoad(item){if(item&&item[isProxy])for(const value of Object.values(item))eagerLoad(value);return item}function _inject(module2,injector){const proxy=new Proxy({},{deleteProperty:__name(()=>!1,"deleteProperty"),set:__name(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:__name((obj,prop)=>prop===isProxy||_resolve(obj,prop,module2,injector||proxy),"get"),getOwnPropertyDescriptor:__name((obj,prop)=>(_resolve(obj,prop,module2,injector||proxy),Object.getOwnPropertyDescriptor(obj,prop)),"getOwnPropertyDescriptor"),has:__name((_,prop)=>prop in module2,"has"),ownKeys:__name(()=>[...Object.getOwnPropertyNames(module2)],"ownKeys")});return proxy}__name(eagerLoad,"eagerLoad"),__name(_inject,"_inject");var __requested__=Symbol();function _resolve(obj,prop,module2,injector){if(prop in obj){if(obj[prop]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+obj[prop]);if(obj[prop]===__requested__)throw new Error('Cycle detected. Please make "'+String(prop)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return obj[prop]}if(prop in module2){const value=module2[prop];obj[prop]=__requested__;try{obj[prop]="function"==typeof value?value(injector):_inject(value,injector)}catch(error){throw obj[prop]=error instanceof Error?error:void 0,error}return obj[prop]}}function _merge(target,source){if(source)for(const[key,sourceValue]of Object.entries(source))if(null!=sourceValue)if("object"==typeof sourceValue){const targetValue=target[key];target[key]=_merge("object"==typeof targetValue&&null!==targetValue?targetValue:{},sourceValue)}else target[key]=sourceValue;return target}__name(_resolve,"_resolve"),__name(_merge,"_merge");var LexingMode,LexingMode2,indentationBuilderDefaultOptions={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(LexingMode2=LexingMode||(LexingMode={})).REGULAR="indentation-sensitive",LexingMode2.IGNORE_INDENTATION="ignore-indentation";var IndentationAwareTokenBuilder=(__name(_pb=class extends DefaultTokenBuilder{constructor(options=indentationBuilderDefaultOptions){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...indentationBuilderDefaultOptions,...options},this.indentTokenType=createToken({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=createToken({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(grammar,options){const tokenTypes=super.buildTokens(grammar,options);if(!isTokenTypeArray(tokenTypes))throw new Error("Invalid tokens built by default builder");const{indentTokenName:indentTokenName,dedentTokenName:dedentTokenName,whitespaceTokenName:whitespaceTokenName,ignoreIndentationDelimiters:ignoreIndentationDelimiters}=this.options;let dedent,indent,ws;const otherTokens=[];for(const tokenType of tokenTypes){for(const[begin,end]of ignoreIndentationDelimiters)tokenType.name===begin?tokenType.PUSH_MODE=LexingMode.IGNORE_INDENTATION:tokenType.name===end&&(tokenType.POP_MODE=!0);tokenType.name===dedentTokenName?dedent=tokenType:tokenType.name===indentTokenName?indent=tokenType:tokenType.name===whitespaceTokenName?ws=tokenType:otherTokens.push(tokenType)}if(!dedent||!indent||!ws)throw new Error("Some indentation/whitespace tokens not found!");if(ignoreIndentationDelimiters.length>0){return{modes:{[LexingMode.REGULAR]:[dedent,indent,...otherTokens,ws],[LexingMode.IGNORE_INDENTATION]:[...otherTokens,ws]},defaultMode:LexingMode.REGULAR}}return[dedent,indent,ws,...otherTokens]}flushLexingReport(text){return{...super.flushLexingReport(text),remainingDedents:this.flushRemainingDedents(text)}}isStartOfLine(text,offset){return 0===offset||"\r\n".includes(text[offset-1])}matchWhitespace(text,offset,tokens,groups){this.whitespaceRegExp.lastIndex=offset;const match=this.whitespaceRegExp.exec(text);return{currIndentLevel:(null==match?void 0:match[0].length)??0,prevIndentLevel:this.indentationStack.at(-1),match:match}}createIndentationTokenInstance(tokenType,text,image,offset){const lineNumber=this.getLineNumber(text,offset);return createTokenInstance(tokenType,image,offset,offset+image.length,lineNumber,lineNumber,1,image.length)}getLineNumber(text,offset){return text.substring(0,offset).split(/\r\n|\r|\n/).length}indentMatcher(text,offset,tokens,groups){if(!this.isStartOfLine(text,offset))return null;const{currIndentLevel:currIndentLevel,prevIndentLevel:prevIndentLevel,match:match}=this.matchWhitespace(text,offset,tokens,groups);return currIndentLevel<=prevIndentLevel?null:(this.indentationStack.push(currIndentLevel),match)}dedentMatcher(text,offset,tokens,groups){var _a2,_b2;if(!this.isStartOfLine(text,offset))return null;const{currIndentLevel:currIndentLevel,prevIndentLevel:prevIndentLevel,match:match}=this.matchWhitespace(text,offset,tokens,groups);if(currIndentLevel>=prevIndentLevel)return null;const matchIndentIndex=this.indentationStack.lastIndexOf(currIndentLevel);if(-1===matchIndentIndex)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${currIndentLevel} at offset: ${offset}. Current indentation stack: ${this.indentationStack}`,offset:offset,length:(null==(_a2=null==match?void 0:match[0])?void 0:_a2.length)??0,line:this.getLineNumber(text,offset),column:1}),null;const numberOfDedents=this.indentationStack.length-matchIndentIndex-1,newlinesBeforeDedent=(null==(_b2=text.substring(0,offset).match(/[\r\n]+$/))?void 0:_b2[0].length)??1;for(let i=0;i<numberOfDedents;i++){const token=this.createIndentationTokenInstance(this.dedentTokenType,text,"",offset-(newlinesBeforeDedent-1));tokens.push(token),this.indentationStack.pop()}return null}buildTerminalToken(terminal){const tokenType=super.buildTerminalToken(terminal),{indentTokenName:indentTokenName,dedentTokenName:dedentTokenName,whitespaceTokenName:whitespaceTokenName}=this.options;return tokenType.name===indentTokenName?this.indentTokenType:tokenType.name===dedentTokenName?this.dedentTokenType:tokenType.name===whitespaceTokenName?createToken({name:whitespaceTokenName,pattern:this.whitespaceRegExp,group:Lexer.SKIPPED}):tokenType}flushRemainingDedents(text){const remainingDedents=[];for(;this.indentationStack.length>1;)remainingDedents.push(this.createIndentationTokenInstance(this.dedentTokenType,text,"",text.length)),this.indentationStack.pop();return this.indentationStack=[0],remainingDedents}},"IndentationAwareTokenBuilder"),_pb),IndentationAwareLexer=(__name(_qb=class extends DefaultLexer{constructor(services){if(super(services),!(services.parser.TokenBuilder instanceof IndentationAwareTokenBuilder))throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder");this.indentationTokenBuilder=services.parser.TokenBuilder}tokenize(text,options=DEFAULT_TOKENIZE_OPTIONS){const result=super.tokenize(text),report=result.report;"full"===(null==options?void 0:options.mode)&&result.tokens.push(...report.remainingDedents),report.remainingDedents=[];const{indentTokenType:indentTokenType,dedentTokenType:dedentTokenType}=this.indentationTokenBuilder,indentTokenIdx=indentTokenType.tokenTypeIdx,dedentTokenIdx=dedentTokenType.tokenTypeIdx,cleanTokens=[],length=result.tokens.length-1;for(let i=0;i<length;i++){const token=result.tokens[i],nextToken=result.tokens[i+1];token.tokenTypeIdx!==indentTokenIdx||nextToken.tokenTypeIdx!==dedentTokenIdx?cleanTokens.push(token):i++}return length>=0&&cleanTokens.push(result.tokens[length]),result.tokens=cleanTokens,result}},"IndentationAwareLexer"),_qb),utils_exports={};__export(utils_exports,{AstUtils:()=>ast_utils_exports,BiMap:()=>BiMap,Cancellation:()=>cancellation_exports,ContextCache:()=>ContextCache,CstUtils:()=>cst_utils_exports,DONE_RESULT:()=>DONE_RESULT,Deferred:()=>Deferred,Disposable:()=>Disposable,DisposableCache:()=>DisposableCache,DocumentCache:()=>DocumentCache,EMPTY_STREAM:()=>EMPTY_STREAM,ErrorWithLocation:()=>ErrorWithLocation,GrammarUtils:()=>grammar_utils_exports,MultiMap:()=>MultiMap,OperationCancelled:()=>OperationCancelled,Reduction:()=>Reduction,RegExpUtils:()=>regexp_utils_exports,SimpleCache:()=>SimpleCache,StreamImpl:()=>StreamImpl,TreeStreamImpl:()=>TreeStreamImpl,URI:()=>URI2,UriTrie:()=>UriTrie,UriUtils:()=>UriUtils,WorkspaceCache:()=>WorkspaceCache,assertCondition:()=>assertCondition,assertUnreachable:()=>assertUnreachable,delayNextTick:()=>delayNextTick,interruptAndCheck:()=>interruptAndCheck,isOperationCancelled:()=>isOperationCancelled,loadGrammarFromJson:()=>loadGrammarFromJson,setInterruptionPeriod:()=>setInterruptionPeriod,startCancelableOperation:()=>startCancelableOperation,stream:()=>stream}),__reExport(utils_exports,event_exports);var EmptyFileSystemProvider=(__name(_rb=class{stat(_uri){throw new Error("No file system is available.")}statSync(_uri){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[]}},"EmptyFileSystemProvider"),_rb),EmptyFileSystem={fileSystemProvider:__name(()=>new EmptyFileSystemProvider,"fileSystemProvider")},minimalGrammarModule={Grammar:__name(()=>{},"Grammar"),LanguageMetaData:__name(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},minimalSharedGrammarModule={AstReflection:__name(()=>new LangiumGrammarAstReflection,"AstReflection")};function createMinimalGrammarServices(){const shared=inject(createDefaultSharedCoreModule(EmptyFileSystem),minimalSharedGrammarModule),grammar=inject(createDefaultCoreModule({shared:shared}),minimalGrammarModule);return shared.ServiceRegistry.register(grammar),grammar}function loadGrammarFromJson(json){const services=createMinimalGrammarServices(),astNode=services.serializer.JsonSerializer.deserialize(json);return services.shared.workspace.LangiumDocumentFactory.fromModel(astNode,URI2.parse(`memory:/${astNode.name??"grammar"}.langium`)),astNode}__name(createMinimalGrammarServices,"createMinimalGrammarServices"),__name(loadGrammarFromJson,"loadGrammarFromJson"),__reExport(lib_exports,utils_exports);var ArchitectureGrammar,CynefinGrammar,EventModeling,GitGraphGrammar,InfoGrammar,PacketGrammar,PieGrammar,RadarGrammar,RailroadAbnfGrammar,RailroadEbnfGrammar,RailroadGrammar,RailroadPegGrammar,TreemapGrammar,TreeViewGrammar,WardleyGrammar,DefaultLangiumProfiler=(_sb=class{constructor(activeCategories){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=activeCategories??new Set(this.allCategories),this.records=new MultiMap}isActive(category){return this.activeCategories.has(category)}start(...categories){categories?categories.forEach(category=>this.activeCategories.add(category)):this.activeCategories=new Set(this.allCategories)}stop(...categories){categories?categories.forEach(category=>this.activeCategories.delete(category)):this.activeCategories.clear()}createTask(category,taskId){if(!this.isActive(category))throw new Error(`Category "${category}" is not active.`);return console.log(`Creating profiling task for '${category}.${taskId}'.`),new ProfilingTask(record=>this.records.add(category,this.dumpRecord(category,record)),taskId)}dumpRecord(category,record){console.info(`Task ${category}.${record.identifier} executed in ${record.duration.toFixed(2)}ms and ended at ${record.date.toISOString()}`);const result=[];for(const key of record.entries.keys()){const values2=record.entries.get(key),duration=values2.reduce((p,c)=>p+c);result.push({name:`${record.identifier}.${key}`,count:values2.length,duration:duration})}const taskInternalDuration=record.duration-result.map(r=>r.duration).reduce((a,b)=>a+b,0);function Round(value){return Math.round(100*value)/100}return result.push({name:record.identifier,count:1,duration:taskInternalDuration}),result.sort((a,b)=>b.duration-a.duration),__name(Round,"Round"),console.table(result.map(e=>({Element:e.name,Count:e.count,"Self %":Round(100*e.duration/record.duration),"Time (ms)":Round(e.duration)}))),record}getRecords(...categories){return 0===categories.length?this.records.values():this.records.entries().filter(e=>categories.some(c=>c===e[0])).flatMap(e=>e[1])}},__name(_sb,"DefaultLangiumProfiler"),_sb),ProfilingTask=(__name(_tb=class{constructor(addRecord,identifier){this.stack=[],this.entries=new MultiMap,this.addRecord=addRecord,this.identifier=identifier}start(){if(void 0!==this.startTime)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(void 0===this.startTime)throw new Error(`Task "${this.identifier}" was not started.`);if(0!==this.stack.length)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(s=>s.id).join(", ")}.`);const record={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(record),this.startTime=void 0,this.entries.clear()}startSubTask(subTaskId){this.stack.push({id:subTaskId,start:performance.now(),content:0})}stopSubTask(subTaskId){const subStack=this.stack.pop();if(!subStack)throw new Error(`Task "${this.identifier}.${subTaskId}" was not started.`);if(subStack.id!==subTaskId)throw new Error(`Sub-Task "${subStack.id}" is not already stopped.`);const duration=performance.now()-subStack.start;void 0!==this.stack.at(-1)&&(this.stack[this.stack.length-1].content+=duration);const selfDuration=duration-subStack.content;this.entries.add(subTaskId,selfDuration)}},"ProfilingTask"),_tb);(ArchitectureGrammar||(ArchitectureGrammar={})).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 ]+)\]/},(CynefinGrammar||(CynefinGrammar={})).Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,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]*/},(EventModeling||(EventModeling={})).Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/},(GitGraphGrammar||(GitGraphGrammar={})).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])?/},(InfoGrammar||(InfoGrammar={})).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]*/},(PacketGrammar||(PacketGrammar={})).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]*/},(PieGrammar||(PieGrammar={})).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]*/},(RadarGrammar||(RadarGrammar={})).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]*/},(RailroadAbnfGrammar||(RailroadAbnfGrammar={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/},(RailroadEbnfGrammar||(RailroadEbnfGrammar={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/},(RailroadGrammar||(RailroadGrammar={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//},(RailroadPegGrammar||(RailroadPegGrammar={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/},(TreemapGrammar||(TreemapGrammar={})).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:/"[^"]*"|'[^']*'/},(TreeViewGrammar||(TreeViewGrammar={})).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]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/},(WardleyGrammar||(WardleyGrammar={})).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]*/},ArchitectureGrammar.Terminals,CynefinGrammar.Terminals,EventModeling.Terminals,GitGraphGrammar.Terminals,InfoGrammar.Terminals,PacketGrammar.Terminals,PieGrammar.Terminals,RadarGrammar.Terminals,RailroadAbnfGrammar.Terminals,RailroadEbnfGrammar.Terminals,RailroadGrammar.Terminals,RailroadPegGrammar.Terminals,TreeViewGrammar.Terminals,TreemapGrammar.Terminals,WardleyGrammar.Terminals;var AbnfAlternation_$type="AbnfAlternation",AbnfAlternation_alternatives="alternatives",AbnfConcatenation_$type="AbnfConcatenation",AbnfConcatenation_elements="elements",AbnfElement_$type="AbnfElement",AbnfElement_primary="primary",AbnfElement_repeat="repeat",AbnfGroup_$type="AbnfGroup",AbnfGroup_element="element",AbnfNumVal_$type="AbnfNumVal",AbnfNumVal_value="value",AbnfOptionalGroup_$type="AbnfOptionalGroup",AbnfOptionalGroup_element="element",AbnfPrimary_$type="AbnfPrimary",AbnfRule_$type="AbnfRule",AbnfRule_definition="definition",AbnfRule_name="name",AbnfRuleName_$type="AbnfRuleName",AbnfRuleName_name="name",AbnfStringLiteral_$type="AbnfStringLiteral",AbnfStringLiteral_value="value",Accelerator_$type="Accelerator",Accelerator_name="name",Accelerator_x="x",Accelerator_y="y",Alignment_$type="Alignment",Alignment_direction="direction",Alignment_members="members",Anchor_$type="Anchor",Anchor_evolution="evolution",Anchor_name="name",Anchor_visibility="visibility",Annotation_$type="Annotation",Annotation_number="number",Annotation_text="text",Annotation_x="x",Annotation_y="y",Annotations_$type="Annotations",Annotations_x="x",Annotations_y="y",Architecture_$type="Architecture",Architecture_accDescr="accDescr",Architecture_accTitle="accTitle",Architecture_alignments="alignments",Architecture_edges="edges",Architecture_groups="groups",Architecture_junctions="junctions",Architecture_services="services",Architecture_title="title";__name(function(item){return reflection2.isInstance(item,Architecture_$type)},"isArchitecture");var Axis_$type="Axis",Axis_label="label",Axis_name="name",Branch_$type="Branch",Branch_name="name",Branch_order="order";__name(function(item){return reflection2.isInstance(item,Branch_$type)},"isBranch");var Checkout_$type="Checkout",Checkout_branch="branch",CherryPicking_$type="CherryPicking",CherryPicking_id="id",CherryPicking_parent="parent",CherryPicking_tags="tags",ClassDefStatement_$type="ClassDefStatement",ClassDefStatement_className="className",ClassDefStatement_styleText="styleText",Commit_$type="Commit",Commit_id="id",Commit_message="message",Commit_tags="tags",Commit_type="type";__name(function(item){return reflection2.isInstance(item,Commit_$type)},"isCommit");var Common_$type="Common",Common_accDescr="accDescr",Common_accTitle="accTitle",Common_title="title",Component_$type="Component",Component_decorator="decorator",Component_evolution="evolution",Component_inertia="inertia",Component_label="label",Component_name="name",Component_visibility="visibility",Curve_$type="Curve",Curve_entries="entries",Curve_label="label",Curve_name="name",Cynefin_$type="Cynefin",Cynefin_accDescr="accDescr",Cynefin_accTitle="accTitle",Cynefin_domains="domains",Cynefin_title="title",Cynefin_transitions="transitions";__name(function(item){return reflection2.isInstance(item,Cynefin_$type)},"isCynefin");var Deaccelerator_$type="Deaccelerator",Deaccelerator_name="name",Deaccelerator_x="x",Deaccelerator_y="y",Decorator_$type="Decorator",Decorator_strategy="strategy",Direction_$type="Direction",Direction_accDescr="accDescr",Direction_accTitle="accTitle",Direction_dir="dir",Direction_statements="statements",Direction_title="title",DomainBlock_$type="DomainBlock",DomainBlock_domain="domain",DomainBlock_items="items";__name(function(item){return reflection2.isInstance(item,DomainBlock_$type)},"isDomainBlock");var DomainItem_$type="DomainItem",DomainItem_label="label";__name(function(item){return reflection2.isInstance(item,DomainItem_$type)},"isDomainItem");var EbnfChoice_$type="EbnfChoice",EbnfChoice_alternatives="alternatives",EbnfExceptionPostfix_$type="EbnfExceptionPostfix",EbnfExceptionPostfix_except="except",EbnfGroup_$type="EbnfGroup",EbnfGroup_element="element",EbnfNonTerminal_$type="EbnfNonTerminal",EbnfNonTerminal_name="name",EbnfOneOrMorePostfix_$type="EbnfOneOrMorePostfix",EbnfOneOrMorePostfix_operator="operator",EbnfOptional_$type="EbnfOptional",EbnfOptional_element="element",EbnfOptionalPostfix_$type="EbnfOptionalPostfix",EbnfOptionalPostfix_operator="operator",EbnfPostfix_$type="EbnfPostfix",EbnfPrimary_$type="EbnfPrimary",EbnfRepetition_$type="EbnfRepetition",EbnfRepetition_element="element",EbnfRule_$type="EbnfRule",EbnfRule_definition="definition",EbnfRule_name="name",EbnfSequence_$type="EbnfSequence",EbnfSequence_elements="elements",EbnfSpecial_$type="EbnfSpecial",EbnfSpecial_text="text",EbnfTerm_$type="EbnfTerm",EbnfTerm_base="base",EbnfTerm_postfixes="postfixes",EbnfTerminal_$type="EbnfTerminal",EbnfTerminal_value="value",EbnfZeroOrMorePostfix_$type="EbnfZeroOrMorePostfix",EbnfZeroOrMorePostfix_operator="operator",Edge_$type="Edge",Edge_lhsDir="lhsDir",Edge_lhsGroup="lhsGroup",Edge_lhsId="lhsId",Edge_lhsInto="lhsInto",Edge_rhsDir="rhsDir",Edge_rhsGroup="rhsGroup",Edge_rhsId="rhsId",Edge_rhsInto="rhsInto",Edge_title="title",EmDataEntity_$type="EmDataEntity",EmDataEntity_dataBlockValue="dataBlockValue",EmDataEntity_dataType="dataType",EmDataEntity_name="name",EmFrame_$type="EmFrame",EmGwt_$type="EmGwt",EmGwt_givenStatements="givenStatements",EmGwt_sourceFrame="sourceFrame",EmGwt_thenStatements="thenStatements",EmGwt_whenStatements="whenStatements",EmGwtStatement_$type="EmGwtStatement",EmGwtStatement_entityIdentifier="entityIdentifier",EmModelEntity_$type="EmModelEntity",EmModelEntity_name="name";__name(function(item){return"rmo"===item||"readmodel"===item||"ui"===item||"cmd"===item||"command"===item||"evt"===item||"event"===item||"pcr"===item||"processor"===item},"isEmModelEntityType");var EmNoteEntity_$type="EmNoteEntity",EmNoteEntity_dataBlockValue="dataBlockValue",EmNoteEntity_dataType="dataType",EmNoteEntity_sourceFrame="sourceFrame",EmResetFrame_$type="EmResetFrame",EmResetFrame_dataInlineValue="dataInlineValue",EmResetFrame_dataReference="dataReference",EmResetFrame_dataType="dataType",EmResetFrame_entityIdentifier="entityIdentifier",EmResetFrame_modelEntityType="modelEntityType",EmResetFrame_name="name",EmResetFrame_sourceFrames="sourceFrames";function isEmResetFrame(item){return reflection2.isInstance(item,EmResetFrame_$type)}__name(isEmResetFrame,"isEmResetFrame");var EmTimeFrame_$type="EmTimeFrame",EmTimeFrame_dataInlineValue="dataInlineValue",EmTimeFrame_dataReference="dataReference",EmTimeFrame_dataType="dataType",EmTimeFrame_entityIdentifier="entityIdentifier",EmTimeFrame_modelEntityType="modelEntityType",EmTimeFrame_name="name",EmTimeFrame_sourceFrames="sourceFrames",Entry_$type="Entry",Entry_axis="axis",Entry_value="value",EventModel_$type="EventModel",EventModel_accDescr="accDescr",EventModel_accTitle="accTitle",EventModel_dataEntities="dataEntities",EventModel_frames="frames",EventModel_gwtEntities="gwtEntities",EventModel_modelEntities="modelEntities",EventModel_noteEntities="noteEntities",EventModel_title="title",Evolution_$type="Evolution",Evolution_stages="stages",EvolutionStage_$type="EvolutionStage",EvolutionStage_boundary="boundary",EvolutionStage_name="name",EvolutionStage_secondName="secondName",Evolve_$type="Evolve",Evolve_component="component",Evolve_target="target",GitGraph_$type="GitGraph",GitGraph_accDescr="accDescr",GitGraph_accTitle="accTitle",GitGraph_statements="statements",GitGraph_title="title";__name(function(item){return reflection2.isInstance(item,GitGraph_$type)},"isGitGraph");var Group2_$type="Group",Group2_icon="icon",Group2_id="id",Group2_in="in",Group2_title="title",Info_$type="Info",Info_accDescr="accDescr",Info_accTitle="accTitle",Info_title="title";__name(function(item){return reflection2.isInstance(item,Info_$type)},"isInfo");var Item_$type="Item",Item_classSelector="classSelector",Item_name="name",Junction_$type="Junction",Junction_id="id",Junction_in="in",Label_$type="Label",Label_negX="negX",Label_negY="negY",Label_offsetX="offsetX",Label_offsetY="offsetY",Leaf_$type="Leaf",Leaf_classSelector="classSelector",Leaf_name="name",Leaf_value="value",Link_$type="Link",Link_arrow="arrow",Link_from="from",Link_fromPort="fromPort",Link_linkLabel="linkLabel",Link_to="to",Link_toPort="toPort",Merge_$type="Merge",Merge_branch="branch",Merge_id="id",Merge_tags="tags",Merge_type="type";__name(function(item){return reflection2.isInstance(item,Merge_$type)},"isMerge");var Note_$type="Note",Note_evolution="evolution",Note_text="text",Note_visibility="visibility",Option2_$type="Option",Option2_name="name",Option2_value="value",Packet_$type="Packet",Packet_accDescr="accDescr",Packet_accTitle="accTitle",Packet_blocks="blocks",Packet_title="title";__name(function(item){return reflection2.isInstance(item,Packet_$type)},"isPacket");var PacketBlock_$type="PacketBlock",PacketBlock_bits="bits",PacketBlock_end="end",PacketBlock_label="label",PacketBlock_start="start";__name(function(item){return reflection2.isInstance(item,PacketBlock_$type)},"isPacketBlock");var PegAny_$type="PegAny",PegAny_dot="dot",PegGroup_$type="PegGroup",PegGroup_element="element",PegIdentifier_$type="PegIdentifier",PegIdentifier_name="name",PegLiteral_$type="PegLiteral",PegLiteral_value="value",PegOrderedChoice_$type="PegOrderedChoice",PegOrderedChoice_alternatives="alternatives",PegPrefix_$type="PegPrefix",PegPrefix_operator="operator",PegPrefix_suffix="suffix",PegPrimary_$type="PegPrimary",PegRule_$type="PegRule",PegRule_definition="definition",PegRule_name="name",PegSequence_$type="PegSequence",PegSequence_elements="elements",PegSuffix_$type="PegSuffix",PegSuffix_operator="operator",PegSuffix_primary="primary",Pie_$type="Pie",Pie_accDescr="accDescr",Pie_accTitle="accTitle",Pie_sections="sections",Pie_showData="showData",Pie_title="title";__name(function(item){return reflection2.isInstance(item,Pie_$type)},"isPie");var PieSection_$type="PieSection",PieSection_label="label",PieSection_value="value";__name(function(item){return reflection2.isInstance(item,PieSection_$type)},"isPieSection");var Pipeline_$type="Pipeline",Pipeline_components="components",Pipeline_parent="parent",PipelineComponent_$type="PipelineComponent",PipelineComponent_evolution="evolution",PipelineComponent_label="label",PipelineComponent_name="name",Radar_$type="Radar",Radar_accDescr="accDescr",Radar_accTitle="accTitle",Radar_axes="axes",Radar_curves="curves",Radar_options="options",Radar_title="title",Railroad_$type="Railroad",Railroad_accDescr="accDescr",Railroad_accTitle="accTitle",Railroad_rules="rules",Railroad_title="title";__name(function(item){return reflection2.isInstance(item,Railroad_$type)},"isRailroad");var RailroadAbnf_$type="RailroadAbnf",RailroadAbnf_accDescr="accDescr",RailroadAbnf_accTitle="accTitle",RailroadAbnf_rules="rules",RailroadAbnf_title="title";__name(function(item){return reflection2.isInstance(item,RailroadAbnf_$type)},"isRailroadAbnf");var RailroadChoiceExpr_$type="RailroadChoiceExpr",RailroadChoiceExpr_alternatives="alternatives",RailroadEbnf_$type="RailroadEbnf",RailroadEbnf_accDescr="accDescr",RailroadEbnf_accTitle="accTitle",RailroadEbnf_rules="rules",RailroadEbnf_title="title";__name(function(item){return reflection2.isInstance(item,RailroadEbnf_$type)},"isRailroadEbnf");var RailroadExpression_$type="RailroadExpression",RailroadNonTerminalExpr_$type="RailroadNonTerminalExpr",RailroadNonTerminalExpr_name="name",RailroadOneOrMoreExpr_$type="RailroadOneOrMoreExpr",RailroadOneOrMoreExpr_element="element",RailroadOptionalExpr_$type="RailroadOptionalExpr",RailroadOptionalExpr_element="element",RailroadPeg_$type="RailroadPeg",RailroadPeg_accDescr="accDescr",RailroadPeg_accTitle="accTitle",RailroadPeg_rules="rules",RailroadPeg_title="title";__name(function(item){return reflection2.isInstance(item,RailroadPeg_$type)},"isRailroadPeg");var RailroadRule_$type="RailroadRule",RailroadRule_definition="definition",RailroadRule_name="name",RailroadSequenceExpr_$type="RailroadSequenceExpr",RailroadSequenceExpr_elements="elements",RailroadSpecialExpr_$type="RailroadSpecialExpr",RailroadSpecialExpr_text="text",RailroadTerminalExpr_$type="RailroadTerminalExpr",RailroadTerminalExpr_value="value",RailroadZeroOrMoreExpr_$type="RailroadZeroOrMoreExpr",RailroadZeroOrMoreExpr_element="element",Section_$type="Section",Section_classSelector="classSelector",Section_name="name",Service_$type="Service",Service_icon="icon",Service_iconText="iconText",Service_id="id",Service_in="in",Service_title="title",Size_$type="Size",Size_height="height",Size_width="width",Statement_$type="Statement",Transition_$type="Transition",Transition_from="from",Transition_label="label",Transition_to="to";__name(function(item){return reflection2.isInstance(item,Transition_$type)},"isTransition");var Treemap_$type="Treemap",Treemap_accDescr="accDescr",Treemap_accTitle="accTitle",Treemap_title="title",Treemap_TreemapRows="TreemapRows";__name(function(item){return reflection2.isInstance(item,Treemap_$type)},"isTreemap");var TreemapRow_$type="TreemapRow",TreemapRow_indent="indent",TreemapRow_item="item",TreeNode_$type="TreeNode",TreeNode_classAnnotation="classAnnotation",TreeNode_descAnnotation="descAnnotation",TreeNode_iconAnnotation="iconAnnotation",TreeNode_indent="indent",TreeNode_name="name",TreeView_$type="TreeView",TreeView_accDescr="accDescr",TreeView_accTitle="accTitle",TreeView_nodes="nodes",TreeView_title="title",Wardley_$type="Wardley",Wardley_accDescr="accDescr",Wardley_accelerators="accelerators",Wardley_accTitle="accTitle",Wardley_anchors="anchors",Wardley_annotation="annotation",Wardley_annotations="annotations",Wardley_components="components",Wardley_deaccelerators="deaccelerators",Wardley_evolution="evolution",Wardley_evolves="evolves",Wardley_links="links",Wardley_notes="notes",Wardley_pipelines="pipelines",Wardley_size="size",Wardley_title="title";__name(function(item){return reflection2.isInstance(item,Wardley_$type)},"isWardley");var loadedArchitectureGrammarGrammar,loadedCynefinGrammarGrammar,loadedEventModelingGrammar,loadedGitGraphGrammarGrammar,loadedInfoGrammarGrammar,loadedPacketGrammarGrammar,loadedPieGrammarGrammar,loadedRadarGrammarGrammar,loadedRailroadAbnfGrammarGrammar,loadedRailroadEbnfGrammarGrammar,loadedRailroadGrammarGrammar,loadedRailroadPegGrammarGrammar,loadedTreemapGrammarGrammar,loadedTreeViewGrammarGrammar,loadedWardleyGrammarGrammar,MermaidAstReflection=(__name(_ub=class extends AbstractAstReflection{constructor(){super(...arguments),this.types={AbnfAlternation:{name:AbnfAlternation_$type,properties:{alternatives:{name:AbnfAlternation_alternatives,defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:AbnfConcatenation_$type,properties:{elements:{name:AbnfConcatenation_elements,defaultValue:[]}},superTypes:[]},AbnfElement:{name:AbnfElement_$type,properties:{primary:{name:AbnfElement_primary},repeat:{name:AbnfElement_repeat}},superTypes:[]},AbnfGroup:{name:AbnfGroup_$type,properties:{element:{name:AbnfGroup_element}},superTypes:[AbnfPrimary_$type]},AbnfNumVal:{name:AbnfNumVal_$type,properties:{value:{name:AbnfNumVal_value}},superTypes:[AbnfPrimary_$type]},AbnfOptionalGroup:{name:AbnfOptionalGroup_$type,properties:{element:{name:AbnfOptionalGroup_element}},superTypes:[AbnfPrimary_$type]},AbnfPrimary:{name:AbnfPrimary_$type,properties:{},superTypes:[]},AbnfRule:{name:AbnfRule_$type,properties:{definition:{name:AbnfRule_definition},name:{name:AbnfRule_name}},superTypes:[]},AbnfRuleName:{name:AbnfRuleName_$type,properties:{name:{name:AbnfRuleName_name}},superTypes:[AbnfPrimary_$type]},AbnfStringLiteral:{name:AbnfStringLiteral_$type,properties:{value:{name:AbnfStringLiteral_value}},superTypes:[AbnfPrimary_$type]},Accelerator:{name:Accelerator_$type,properties:{name:{name:Accelerator_name},x:{name:Accelerator_x},y:{name:Accelerator_y}},superTypes:[]},Alignment:{name:Alignment_$type,properties:{direction:{name:Alignment_direction},members:{name:Alignment_members,defaultValue:[]}},superTypes:[]},Anchor:{name:Anchor_$type,properties:{evolution:{name:Anchor_evolution},name:{name:Anchor_name},visibility:{name:Anchor_visibility}},superTypes:[]},Annotation:{name:Annotation_$type,properties:{number:{name:Annotation_number},text:{name:Annotation_text},x:{name:Annotation_x},y:{name:Annotation_y}},superTypes:[]},Annotations:{name:Annotations_$type,properties:{x:{name:Annotations_x},y:{name:Annotations_y}},superTypes:[]},Architecture:{name:Architecture_$type,properties:{accDescr:{name:Architecture_accDescr},accTitle:{name:Architecture_accTitle},alignments:{name:Architecture_alignments,defaultValue:[]},edges:{name:Architecture_edges,defaultValue:[]},groups:{name:Architecture_groups,defaultValue:[]},junctions:{name:Architecture_junctions,defaultValue:[]},services:{name:Architecture_services,defaultValue:[]},title:{name:Architecture_title}},superTypes:[]},Axis:{name:Axis_$type,properties:{label:{name:Axis_label},name:{name:Axis_name}},superTypes:[]},Branch:{name:Branch_$type,properties:{name:{name:Branch_name},order:{name:Branch_order}},superTypes:[Statement_$type]},Checkout:{name:Checkout_$type,properties:{branch:{name:Checkout_branch}},superTypes:[Statement_$type]},CherryPicking:{name:CherryPicking_$type,properties:{id:{name:CherryPicking_id},parent:{name:CherryPicking_parent},tags:{name:CherryPicking_tags,defaultValue:[]}},superTypes:[Statement_$type]},ClassDefStatement:{name:ClassDefStatement_$type,properties:{className:{name:ClassDefStatement_className},styleText:{name:ClassDefStatement_styleText}},superTypes:[]},Commit:{name:Commit_$type,properties:{id:{name:Commit_id},message:{name:Commit_message},tags:{name:Commit_tags,defaultValue:[]},type:{name:Commit_type}},superTypes:[Statement_$type]},Common:{name:Common_$type,properties:{accDescr:{name:Common_accDescr},accTitle:{name:Common_accTitle},title:{name:Common_title}},superTypes:[]},Component:{name:Component_$type,properties:{decorator:{name:Component_decorator},evolution:{name:Component_evolution},inertia:{name:Component_inertia,defaultValue:!1},label:{name:Component_label},name:{name:Component_name},visibility:{name:Component_visibility}},superTypes:[]},Curve:{name:Curve_$type,properties:{entries:{name:Curve_entries,defaultValue:[]},label:{name:Curve_label},name:{name:Curve_name}},superTypes:[]},Cynefin:{name:Cynefin_$type,properties:{accDescr:{name:Cynefin_accDescr},accTitle:{name:Cynefin_accTitle},domains:{name:Cynefin_domains,defaultValue:[]},title:{name:Cynefin_title},transitions:{name:Cynefin_transitions,defaultValue:[]}},superTypes:[]},Deaccelerator:{name:Deaccelerator_$type,properties:{name:{name:Deaccelerator_name},x:{name:Deaccelerator_x},y:{name:Deaccelerator_y}},superTypes:[]},Decorator:{name:Decorator_$type,properties:{strategy:{name:Decorator_strategy}},superTypes:[]},Direction:{name:Direction_$type,properties:{accDescr:{name:Direction_accDescr},accTitle:{name:Direction_accTitle},dir:{name:Direction_dir},statements:{name:Direction_statements,defaultValue:[]},title:{name:Direction_title}},superTypes:[GitGraph_$type]},DomainBlock:{name:DomainBlock_$type,properties:{domain:{name:DomainBlock_domain},items:{name:DomainBlock_items,defaultValue:[]}},superTypes:[]},DomainItem:{name:DomainItem_$type,properties:{label:{name:DomainItem_label}},superTypes:[]},EbnfChoice:{name:EbnfChoice_$type,properties:{alternatives:{name:EbnfChoice_alternatives,defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:EbnfExceptionPostfix_$type,properties:{except:{name:EbnfExceptionPostfix_except}},superTypes:[EbnfPostfix_$type]},EbnfGroup:{name:EbnfGroup_$type,properties:{element:{name:EbnfGroup_element}},superTypes:[EbnfPrimary_$type]},EbnfNonTerminal:{name:EbnfNonTerminal_$type,properties:{name:{name:EbnfNonTerminal_name}},superTypes:[EbnfPrimary_$type]},EbnfOneOrMorePostfix:{name:EbnfOneOrMorePostfix_$type,properties:{operator:{name:EbnfOneOrMorePostfix_operator}},superTypes:[EbnfPostfix_$type]},EbnfOptional:{name:EbnfOptional_$type,properties:{element:{name:EbnfOptional_element}},superTypes:[EbnfPrimary_$type]},EbnfOptionalPostfix:{name:EbnfOptionalPostfix_$type,properties:{operator:{name:EbnfOptionalPostfix_operator}},superTypes:[EbnfPostfix_$type]},EbnfPostfix:{name:EbnfPostfix_$type,properties:{},superTypes:[]},EbnfPrimary:{name:EbnfPrimary_$type,properties:{},superTypes:[]},EbnfRepetition:{name:EbnfRepetition_$type,properties:{element:{name:EbnfRepetition_element}},superTypes:[EbnfPrimary_$type]},EbnfRule:{name:EbnfRule_$type,properties:{definition:{name:EbnfRule_definition},name:{name:EbnfRule_name}},superTypes:[]},EbnfSequence:{name:EbnfSequence_$type,properties:{elements:{name:EbnfSequence_elements,defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:EbnfSpecial_$type,properties:{text:{name:EbnfSpecial_text}},superTypes:[EbnfPrimary_$type]},EbnfTerm:{name:EbnfTerm_$type,properties:{base:{name:EbnfTerm_base},postfixes:{name:EbnfTerm_postfixes,defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:EbnfTerminal_$type,properties:{value:{name:EbnfTerminal_value}},superTypes:[EbnfPrimary_$type]},EbnfZeroOrMorePostfix:{name:EbnfZeroOrMorePostfix_$type,properties:{operator:{name:EbnfZeroOrMorePostfix_operator}},superTypes:[EbnfPostfix_$type]},Edge:{name:Edge_$type,properties:{lhsDir:{name:Edge_lhsDir},lhsGroup:{name:Edge_lhsGroup,defaultValue:!1},lhsId:{name:Edge_lhsId},lhsInto:{name:Edge_lhsInto,defaultValue:!1},rhsDir:{name:Edge_rhsDir},rhsGroup:{name:Edge_rhsGroup,defaultValue:!1},rhsId:{name:Edge_rhsId},rhsInto:{name:Edge_rhsInto,defaultValue:!1},title:{name:Edge_title}},superTypes:[]},EmDataEntity:{name:EmDataEntity_$type,properties:{dataBlockValue:{name:EmDataEntity_dataBlockValue},dataType:{name:EmDataEntity_dataType},name:{name:EmDataEntity_name}},superTypes:[]},EmFrame:{name:EmFrame_$type,properties:{},superTypes:[]},EmGwt:{name:EmGwt_$type,properties:{givenStatements:{name:EmGwt_givenStatements,defaultValue:[]},sourceFrame:{name:EmGwt_sourceFrame,referenceType:EmFrame_$type},thenStatements:{name:EmGwt_thenStatements,defaultValue:[]},whenStatements:{name:EmGwt_whenStatements,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:EmGwtStatement_$type,properties:{entityIdentifier:{name:EmGwtStatement_entityIdentifier,referenceType:EmModelEntity_$type}},superTypes:[]},EmModelEntity:{name:EmModelEntity_$type,properties:{name:{name:EmModelEntity_name}},superTypes:[]},EmNoteEntity:{name:EmNoteEntity_$type,properties:{dataBlockValue:{name:EmNoteEntity_dataBlockValue},dataType:{name:EmNoteEntity_dataType},sourceFrame:{name:EmNoteEntity_sourceFrame,referenceType:EmFrame_$type}},superTypes:[]},EmResetFrame:{name:EmResetFrame_$type,properties:{dataInlineValue:{name:EmResetFrame_dataInlineValue},dataReference:{name:EmResetFrame_dataReference,referenceType:EmDataEntity_$type},dataType:{name:EmResetFrame_dataType},entityIdentifier:{name:EmResetFrame_entityIdentifier},modelEntityType:{name:EmResetFrame_modelEntityType},name:{name:EmResetFrame_name},sourceFrames:{name:EmResetFrame_sourceFrames,defaultValue:[],referenceType:EmFrame_$type}},superTypes:[EmFrame_$type]},EmTimeFrame:{name:EmTimeFrame_$type,properties:{dataInlineValue:{name:EmTimeFrame_dataInlineValue},dataReference:{name:EmTimeFrame_dataReference,referenceType:EmDataEntity_$type},dataType:{name:EmTimeFrame_dataType},entityIdentifier:{name:EmTimeFrame_entityIdentifier},modelEntityType:{name:EmTimeFrame_modelEntityType},name:{name:EmTimeFrame_name},sourceFrames:{name:EmTimeFrame_sourceFrames,defaultValue:[],referenceType:EmFrame_$type}},superTypes:[EmFrame_$type]},Entry:{name:Entry_$type,properties:{axis:{name:Entry_axis,referenceType:Axis_$type},value:{name:Entry_value}},superTypes:[]},EventModel:{name:EventModel_$type,properties:{accDescr:{name:EventModel_accDescr},accTitle:{name:EventModel_accTitle},dataEntities:{name:EventModel_dataEntities,defaultValue:[]},frames:{name:EventModel_frames,defaultValue:[]},gwtEntities:{name:EventModel_gwtEntities,defaultValue:[]},modelEntities:{name:EventModel_modelEntities,defaultValue:[]},noteEntities:{name:EventModel_noteEntities,defaultValue:[]},title:{name:EventModel_title}},superTypes:[]},Evolution:{name:Evolution_$type,properties:{stages:{name:Evolution_stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:EvolutionStage_$type,properties:{boundary:{name:EvolutionStage_boundary},name:{name:EvolutionStage_name},secondName:{name:EvolutionStage_secondName}},superTypes:[]},Evolve:{name:Evolve_$type,properties:{component:{name:Evolve_component},target:{name:Evolve_target}},superTypes:[]},GitGraph:{name:GitGraph_$type,properties:{accDescr:{name:GitGraph_accDescr},accTitle:{name:GitGraph_accTitle},statements:{name:GitGraph_statements,defaultValue:[]},title:{name:GitGraph_title}},superTypes:[]},Group:{name:Group2_$type,properties:{icon:{name:Group2_icon},id:{name:Group2_id},in:{name:Group2_in},title:{name:Group2_title}},superTypes:[]},Info:{name:Info_$type,properties:{accDescr:{name:Info_accDescr},accTitle:{name:Info_accTitle},title:{name:Info_title}},superTypes:[]},Item:{name:Item_$type,properties:{classSelector:{name:Item_classSelector},name:{name:Item_name}},superTypes:[]},Junction:{name:Junction_$type,properties:{id:{name:Junction_id},in:{name:Junction_in}},superTypes:[]},Label:{name:Label_$type,properties:{negX:{name:Label_negX,defaultValue:!1},negY:{name:Label_negY,defaultValue:!1},offsetX:{name:Label_offsetX},offsetY:{name:Label_offsetY}},superTypes:[]},Leaf:{name:Leaf_$type,properties:{classSelector:{name:Leaf_classSelector},name:{name:Leaf_name},value:{name:Leaf_value}},superTypes:[Item_$type]},Link:{name:Link_$type,properties:{arrow:{name:Link_arrow},from:{name:Link_from},fromPort:{name:Link_fromPort},linkLabel:{name:Link_linkLabel},to:{name:Link_to},toPort:{name:Link_toPort}},superTypes:[]},Merge:{name:Merge_$type,properties:{branch:{name:Merge_branch},id:{name:Merge_id},tags:{name:Merge_tags,defaultValue:[]},type:{name:Merge_type}},superTypes:[Statement_$type]},Note:{name:Note_$type,properties:{evolution:{name:Note_evolution},text:{name:Note_text},visibility:{name:Note_visibility}},superTypes:[]},Option:{name:Option2_$type,properties:{name:{name:Option2_name},value:{name:Option2_value,defaultValue:!1}},superTypes:[]},Packet:{name:Packet_$type,properties:{accDescr:{name:Packet_accDescr},accTitle:{name:Packet_accTitle},blocks:{name:Packet_blocks,defaultValue:[]},title:{name:Packet_title}},superTypes:[]},PacketBlock:{name:PacketBlock_$type,properties:{bits:{name:PacketBlock_bits},end:{name:PacketBlock_end},label:{name:PacketBlock_label},start:{name:PacketBlock_start}},superTypes:[]},PegAny:{name:PegAny_$type,properties:{dot:{name:PegAny_dot}},superTypes:[PegPrimary_$type]},PegGroup:{name:PegGroup_$type,properties:{element:{name:PegGroup_element}},superTypes:[PegPrimary_$type]},PegIdentifier:{name:PegIdentifier_$type,properties:{name:{name:PegIdentifier_name}},superTypes:[PegPrimary_$type]},PegLiteral:{name:PegLiteral_$type,properties:{value:{name:PegLiteral_value}},superTypes:[PegPrimary_$type]},PegOrderedChoice:{name:PegOrderedChoice_$type,properties:{alternatives:{name:PegOrderedChoice_alternatives,defaultValue:[]}},superTypes:[]},PegPrefix:{name:PegPrefix_$type,properties:{operator:{name:PegPrefix_operator},suffix:{name:PegPrefix_suffix}},superTypes:[]},PegPrimary:{name:PegPrimary_$type,properties:{},superTypes:[]},PegRule:{name:PegRule_$type,properties:{definition:{name:PegRule_definition},name:{name:PegRule_name}},superTypes:[]},PegSequence:{name:PegSequence_$type,properties:{elements:{name:PegSequence_elements,defaultValue:[]}},superTypes:[]},PegSuffix:{name:PegSuffix_$type,properties:{operator:{name:PegSuffix_operator},primary:{name:PegSuffix_primary}},superTypes:[]},Pie:{name:Pie_$type,properties:{accDescr:{name:Pie_accDescr},accTitle:{name:Pie_accTitle},sections:{name:Pie_sections,defaultValue:[]},showData:{name:Pie_showData,defaultValue:!1},title:{name:Pie_title}},superTypes:[]},PieSection:{name:PieSection_$type,properties:{label:{name:PieSection_label},value:{name:PieSection_value}},superTypes:[]},Pipeline:{name:Pipeline_$type,properties:{components:{name:Pipeline_components,defaultValue:[]},parent:{name:Pipeline_parent}},superTypes:[]},PipelineComponent:{name:PipelineComponent_$type,properties:{evolution:{name:PipelineComponent_evolution},label:{name:PipelineComponent_label},name:{name:PipelineComponent_name}},superTypes:[]},Radar:{name:Radar_$type,properties:{accDescr:{name:Radar_accDescr},accTitle:{name:Radar_accTitle},axes:{name:Radar_axes,defaultValue:[]},curves:{name:Radar_curves,defaultValue:[]},options:{name:Radar_options,defaultValue:[]},title:{name:Radar_title}},superTypes:[]},Railroad:{name:Railroad_$type,properties:{accDescr:{name:Railroad_accDescr},accTitle:{name:Railroad_accTitle},rules:{name:Railroad_rules,defaultValue:[]},title:{name:Railroad_title}},superTypes:[]},RailroadAbnf:{name:RailroadAbnf_$type,properties:{accDescr:{name:RailroadAbnf_accDescr},accTitle:{name:RailroadAbnf_accTitle},rules:{name:RailroadAbnf_rules,defaultValue:[]},title:{name:RailroadAbnf_title}},superTypes:[]},RailroadChoiceExpr:{name:RailroadChoiceExpr_$type,properties:{alternatives:{name:RailroadChoiceExpr_alternatives,defaultValue:[]}},superTypes:[RailroadExpression_$type]},RailroadEbnf:{name:RailroadEbnf_$type,properties:{accDescr:{name:RailroadEbnf_accDescr},accTitle:{name:RailroadEbnf_accTitle},rules:{name:RailroadEbnf_rules,defaultValue:[]},title:{name:RailroadEbnf_title}},superTypes:[]},RailroadExpression:{name:RailroadExpression_$type,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:RailroadNonTerminalExpr_$type,properties:{name:{name:RailroadNonTerminalExpr_name}},superTypes:[RailroadExpression_$type]},RailroadOneOrMoreExpr:{name:RailroadOneOrMoreExpr_$type,properties:{element:{name:RailroadOneOrMoreExpr_element}},superTypes:[RailroadExpression_$type]},RailroadOptionalExpr:{name:RailroadOptionalExpr_$type,properties:{element:{name:RailroadOptionalExpr_element}},superTypes:[RailroadExpression_$type]},RailroadPeg:{name:RailroadPeg_$type,properties:{accDescr:{name:RailroadPeg_accDescr},accTitle:{name:RailroadPeg_accTitle},rules:{name:RailroadPeg_rules,defaultValue:[]},title:{name:RailroadPeg_title}},superTypes:[]},RailroadRule:{name:RailroadRule_$type,properties:{definition:{name:RailroadRule_definition},name:{name:RailroadRule_name}},superTypes:[]},RailroadSequenceExpr:{name:RailroadSequenceExpr_$type,properties:{elements:{name:RailroadSequenceExpr_elements,defaultValue:[]}},superTypes:[RailroadExpression_$type]},RailroadSpecialExpr:{name:RailroadSpecialExpr_$type,properties:{text:{name:RailroadSpecialExpr_text}},superTypes:[RailroadExpression_$type]},RailroadTerminalExpr:{name:RailroadTerminalExpr_$type,properties:{value:{name:RailroadTerminalExpr_value}},superTypes:[RailroadExpression_$type]},RailroadZeroOrMoreExpr:{name:RailroadZeroOrMoreExpr_$type,properties:{element:{name:RailroadZeroOrMoreExpr_element}},superTypes:[RailroadExpression_$type]},Section:{name:Section_$type,properties:{classSelector:{name:Section_classSelector},name:{name:Section_name}},superTypes:[Item_$type]},Service:{name:Service_$type,properties:{icon:{name:Service_icon},iconText:{name:Service_iconText},id:{name:Service_id},in:{name:Service_in},title:{name:Service_title}},superTypes:[]},Size:{name:Size_$type,properties:{height:{name:Size_height},width:{name:Size_width}},superTypes:[]},Statement:{name:Statement_$type,properties:{},superTypes:[]},Transition:{name:Transition_$type,properties:{from:{name:Transition_from},label:{name:Transition_label},to:{name:Transition_to}},superTypes:[]},TreeNode:{name:TreeNode_$type,properties:{classAnnotation:{name:TreeNode_classAnnotation},descAnnotation:{name:TreeNode_descAnnotation},iconAnnotation:{name:TreeNode_iconAnnotation},indent:{name:TreeNode_indent},name:{name:TreeNode_name}},superTypes:[]},TreeView:{name:TreeView_$type,properties:{accDescr:{name:TreeView_accDescr},accTitle:{name:TreeView_accTitle},nodes:{name:TreeView_nodes,defaultValue:[]},title:{name:TreeView_title}},superTypes:[]},Treemap:{name:Treemap_$type,properties:{accDescr:{name:Treemap_accDescr},accTitle:{name:Treemap_accTitle},title:{name:Treemap_title},TreemapRows:{name:Treemap_TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:TreemapRow_$type,properties:{indent:{name:TreemapRow_indent},item:{name:TreemapRow_item}},superTypes:[]},Wardley:{name:Wardley_$type,properties:{accDescr:{name:Wardley_accDescr},accelerators:{name:Wardley_accelerators,defaultValue:[]},accTitle:{name:Wardley_accTitle},anchors:{name:Wardley_anchors,defaultValue:[]},annotation:{name:Wardley_annotation,defaultValue:[]},annotations:{name:Wardley_annotations,defaultValue:[]},components:{name:Wardley_components,defaultValue:[]},deaccelerators:{name:Wardley_deaccelerators,defaultValue:[]},evolution:{name:Wardley_evolution},evolves:{name:Wardley_evolves,defaultValue:[]},links:{name:Wardley_links,defaultValue:[]},notes:{name:Wardley_notes,defaultValue:[]},pipelines:{name:Wardley_pipelines,defaultValue:[]},size:{name:Wardley_size},title:{name:Wardley_title}},superTypes:[]}}}},"MermaidAstReflection"),_ub),reflection2=new MermaidAstReflection,ArchitectureGrammarGrammar=__name(()=>loadedArchitectureGrammarGrammar??(loadedArchitectureGrammarGrammar=loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"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":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"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@10"},"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@10"},"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@12"},"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@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"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@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@24"},"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@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"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"),CynefinGrammarGrammar=__name(()=>loadedCynefinGrammarGrammar??(loadedCynefinGrammarGrammar=loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"--\x3e"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"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":[]}')),"CynefinGrammarGrammar"),EventModelingGrammar=__name(()=>loadedEventModelingGrammar??(loadedEventModelingGrammar=loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),GitGraphGrammarGrammar=__name(()=>loadedGitGraphGrammarGrammar??(loadedGitGraphGrammarGrammar=loadGrammarFromJson('{"$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"),InfoGrammarGrammar=__name(()=>loadedInfoGrammarGrammar??(loadedInfoGrammarGrammar=loadGrammarFromJson('{"$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"),PacketGrammarGrammar=__name(()=>loadedPacketGrammarGrammar??(loadedPacketGrammarGrammar=loadGrammarFromJson('{"$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"),PieGrammarGrammar=__name(()=>loadedPieGrammarGrammar??(loadedPieGrammarGrammar=loadGrammarFromJson('{"$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"),RadarGrammarGrammar=__name(()=>loadedRadarGrammarGrammar??(loadedRadarGrammarGrammar=loadGrammarFromJson('{"$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"),RailroadAbnfGrammarGrammar=__name(()=>loadedRailroadAbnfGrammarGrammar??(loadedRailroadAbnfGrammarGrammar=loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","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":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$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"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadAbnfGrammarGrammar"),RailroadEbnfGrammarGrammar=__name(()=>loadedRailroadEbnfGrammarGrammar??(loadedRailroadEbnfGrammarGrammar=loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","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":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$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"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadEbnfGrammarGrammar"),RailroadGrammarGrammar=__name(()=>loadedRailroadGrammarGrammar??(loadedRailroadGrammarGrammar=loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","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":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$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"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadGrammarGrammar"),RailroadPegGrammarGrammar=__name(()=>loadedRailroadPegGrammarGrammar??(loadedRailroadPegGrammarGrammar=loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","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":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$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"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadPegGrammarGrammar"),TreemapGrammarGrammar=__name(()=>loadedTreemapGrammarGrammar??(loadedTreemapGrammarGrammar=loadGrammarFromJson('{"$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"),TreeViewGrammarGrammar=__name(()=>loadedTreeViewGrammarGrammar??(loadedTreeViewGrammarGrammar=loadGrammarFromJson('{"$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@14"},"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":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","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":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"\'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"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 *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}')),"TreeViewGrammarGrammar"),WardleyGrammarGrammar=__name(()=>loadedWardleyGrammarGrammar??(loadedWardleyGrammarGrammar=loadGrammarFromJson('{"$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":"--\x3e"},"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"),ArchitectureGrammarLanguageMetaData={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CynefinGrammarLanguageMetaData={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EventModelingLanguageMetaData={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},GitGraphGrammarLanguageMetaData={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},InfoGrammarLanguageMetaData={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},PacketGrammarLanguageMetaData={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},PieGrammarLanguageMetaData={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RadarGrammarLanguageMetaData={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RailroadAbnfGrammarLanguageMetaData={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RailroadEbnfGrammarLanguageMetaData={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RailroadGrammarLanguageMetaData={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RailroadPegGrammarLanguageMetaData={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},TreemapGrammarLanguageMetaData={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},TreeViewGrammarLanguageMetaData={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},WardleyGrammarLanguageMetaData={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MermaidGeneratedSharedModule={AstReflection:__name(()=>new MermaidAstReflection,"AstReflection")},ArchitectureGrammarGeneratedModule={Grammar:__name(()=>ArchitectureGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>ArchitectureGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},CynefinGrammarGeneratedModule={Grammar:__name(()=>CynefinGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>CynefinGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},EventModelingGeneratedModule={Grammar:__name(()=>EventModelingGrammar(),"Grammar"),LanguageMetaData:__name(()=>EventModelingLanguageMetaData,"LanguageMetaData"),parser:{}},GitGraphGrammarGeneratedModule={Grammar:__name(()=>GitGraphGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>GitGraphGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},InfoGrammarGeneratedModule={Grammar:__name(()=>InfoGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>InfoGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},PacketGrammarGeneratedModule={Grammar:__name(()=>PacketGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>PacketGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},PieGrammarGeneratedModule={Grammar:__name(()=>PieGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>PieGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},RadarGrammarGeneratedModule={Grammar:__name(()=>RadarGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>RadarGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},RailroadAbnfGrammarGeneratedModule={Grammar:__name(()=>RailroadAbnfGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>RailroadAbnfGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},RailroadEbnfGrammarGeneratedModule={Grammar:__name(()=>RailroadEbnfGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>RailroadEbnfGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},RailroadGrammarGeneratedModule={Grammar:__name(()=>RailroadGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>RailroadGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},RailroadPegGrammarGeneratedModule={Grammar:__name(()=>RailroadPegGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>RailroadPegGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},TreemapGrammarGeneratedModule={Grammar:__name(()=>TreemapGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>TreemapGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},TreeViewGrammarGeneratedModule={Grammar:__name(()=>TreeViewGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>TreeViewGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},WardleyGrammarGeneratedModule={Grammar:__name(()=>WardleyGrammarGrammar(),"Grammar"),LanguageMetaData:__name(()=>WardleyGrammarLanguageMetaData,"LanguageMetaData"),parser:{}},rulesRegexes={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},AbstractMermaidValueConverter=(__name(_vb=class extends DefaultValueConverter{runConverter(rule,input,cstNode){let value=this.runCommonConverter(rule,input,cstNode);return void 0===value&&(value=this.runCustomConverter(rule,input,cstNode)),void 0===value?super.runConverter(rule,input,cstNode):value}runCommonConverter(rule,input,_cstNode){const regex=rulesRegexes[rule.name];if(void 0===regex)return;const match=regex.exec(input);return null!==match?void 0!==match[1]?match[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==match[2]?match[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0:void 0}},"AbstractMermaidValueConverter"),_vb),CommonValueConverter=(__name(_wb=class extends AbstractMermaidValueConverter{runCustomConverter(_rule,_input,_cstNode){}},"CommonValueConverter"),_wb),AbstractMermaidTokenBuilder=(__name(_xb=class extends DefaultTokenBuilder{constructor(keywords){super(),this.keywords=new Set(keywords)}buildKeywordTokens(rules,terminalTokens,options){const tokenTypes=super.buildKeywordTokens(rules,terminalTokens,options);return tokenTypes.forEach(tokenType=>{this.keywords.has(tokenType.name)&&void 0!==tokenType.PATTERN&&(tokenType.PATTERN=new RegExp(tokenType.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),tokenTypes}},"AbstractMermaidTokenBuilder"),_xb);__name(class extends AbstractMermaidTokenBuilder{},"CommonTokenBuilder");
2
+ /*! Bundled license information:
3
+
4
+ lodash-es/lodash.js:
5
+ (**
6
+ * @license
7
+ * Lodash (Custom Build) <https://lodash.com/>
8
+ * Build: `lodash modularize exports="es" -o ./`
9
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
10
+ * Released under MIT license <https://lodash.com/license>
11
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
13
+ *)
14
+ */
15
+ var RadarTokenBuilder=(__name(_zb=class extends AbstractMermaidTokenBuilder{constructor(){super(["radar-beta"])}},"RadarTokenBuilder"),_zb),RadarModule={parser:{TokenBuilder:__name(()=>new RadarTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new CommonValueConverter,"ValueConverter")}};function createRadarServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Radar2=inject(createDefaultCoreModule({shared:shared}),RadarGrammarGeneratedModule,RadarModule);return shared.ServiceRegistry.register(Radar2),{shared:shared,Radar:Radar2}}__name(createRadarServices,"createRadarServices");var RailroadTokenBuilder=(__name(_Ab=class extends AbstractMermaidTokenBuilder{constructor(){super(["railroad-beta"])}},"RailroadTokenBuilder"),_Ab),decodeEscapedString$2=__name(input=>{const content=input.slice(1,-1);let value="";for(let index=0;index<content.length;index++){const character=content[index];if("\\"===character&&index+1<content.length){index++;const escaped=content[index];switch(escaped){case"n":value+="\n";break;case"r":value+="\r";break;case"t":value+="\t";break;default:value+=escaped}continue}value+=character}return value},"decodeEscapedString"),RailroadValueConverter=(__name(_Bb=class extends AbstractMermaidValueConverter{runConverter(rule,input,cstNode){const value=super.runConverter(rule,input,cstNode);if("TITLE"===rule.name&&"string"==typeof value){const trimmedValue=value.trim();if(trimmedValue.startsWith('"')&&trimmedValue.endsWith('"')||trimmedValue.startsWith("'")&&trimmedValue.endsWith("'"))return decodeEscapedString$2(trimmedValue)}return value}runCustomConverter(rule,input,_cstNode){if("RR_STRING"===rule.name)return decodeEscapedString$2(input)}},"RailroadValueConverter"),_Bb),RailroadModule={parser:{TokenBuilder:__name(()=>new RailroadTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new RailroadValueConverter,"ValueConverter")}};function createRailroadServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Railroad2=inject(createDefaultCoreModule({shared:shared}),RailroadGrammarGeneratedModule,RailroadModule);return shared.ServiceRegistry.register(Railroad2),{shared:shared,Railroad:Railroad2}}__name(createRailroadServices,"createRailroadServices");var RailroadEbnfTokenBuilder=(__name(_Cb=class extends AbstractMermaidTokenBuilder{constructor(){super(["railroad-ebnf-beta"])}},"RailroadEbnfTokenBuilder"),_Cb),decodeEscapedString$1=__name(input=>{const content=input.slice(1,-1);let value="";for(let index=0;index<content.length;index++){const character=content[index];if("\\"===character&&index+1<content.length){index++;const escaped=content[index];switch(escaped){case"n":value+="\n";break;case"r":value+="\r";break;case"t":value+="\t";break;default:value+=escaped}continue}value+=character}return value},"decodeEscapedString"),RailroadEbnfValueConverter=(__name(_Db=class extends AbstractMermaidValueConverter{runConverter(rule,input,cstNode){const value=super.runConverter(rule,input,cstNode);if("TITLE"===rule.name&&"string"==typeof value){const trimmedValue=value.trim();if(trimmedValue.startsWith('"')&&trimmedValue.endsWith('"')||trimmedValue.startsWith("'")&&trimmedValue.endsWith("'"))return decodeEscapedString$1(trimmedValue)}return value}runCustomConverter(rule,input,_cstNode){return"EBNF_STRING"===rule.name?decodeEscapedString$1(input):"EBNF_SPECIAL_SEQUENCE"===rule.name?input.slice(1,-1).trim():void 0}},"RailroadEbnfValueConverter"),_Db),RailroadEbnfModule={parser:{TokenBuilder:__name(()=>new RailroadEbnfTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new RailroadEbnfValueConverter,"ValueConverter")}};function createRailroadEbnfServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),RailroadEbnf2=inject(createDefaultCoreModule({shared:shared}),RailroadEbnfGrammarGeneratedModule,RailroadEbnfModule);return shared.ServiceRegistry.register(RailroadEbnf2),{shared:shared,RailroadEbnf:RailroadEbnf2}}__name(createRailroadEbnfServices,"createRailroadEbnfServices");var RailroadAbnfTokenBuilder=(__name(_Eb=class extends AbstractMermaidTokenBuilder{constructor(){super(["railroad-abnf-beta"])}},"RailroadAbnfTokenBuilder"),_Eb),RailroadAbnfValueConverter=(__name(_Fb=class extends AbstractMermaidValueConverter{runConverter(rule,input,cstNode){const value=super.runConverter(rule,input,cstNode);if("TITLE"===rule.name&&"string"==typeof value){const trimmedValue=value.trim();if(trimmedValue.startsWith('"')&&trimmedValue.endsWith('"')||trimmedValue.startsWith("'")&&trimmedValue.endsWith("'"))return trimmedValue.slice(1,-1)}return value}runCustomConverter(rule,input,_cstNode){if("ABNF_STRING"===rule.name)return input.slice(1,-1)}},"RailroadAbnfValueConverter"),_Fb),RailroadAbnfModule={parser:{TokenBuilder:__name(()=>new RailroadAbnfTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new RailroadAbnfValueConverter,"ValueConverter")}};function createRailroadAbnfServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),RailroadAbnf2=inject(createDefaultCoreModule({shared:shared}),RailroadAbnfGrammarGeneratedModule,RailroadAbnfModule);return shared.ServiceRegistry.register(RailroadAbnf2),{shared:shared,RailroadAbnf:RailroadAbnf2}}__name(createRailroadAbnfServices,"createRailroadAbnfServices");var RailroadPegTokenBuilder=(__name(_Gb=class extends AbstractMermaidTokenBuilder{constructor(){super(["railroad-peg-beta"])}},"RailroadPegTokenBuilder"),_Gb),decodeEscapedString=__name(input=>{const content=input.slice(1,-1);let value="";for(let index=0;index<content.length;index++){const character=content[index];if("\\"===character&&index+1<content.length){index++;const escaped=content[index];switch(escaped){case"n":value+="\n";break;case"r":value+="\r";break;case"t":value+="\t";break;default:value+=escaped}continue}value+=character}return value},"decodeEscapedString"),RailroadPegValueConverter=(__name(_Hb=class extends AbstractMermaidValueConverter{runConverter(rule,input,cstNode){const value=super.runConverter(rule,input,cstNode);if("TITLE"===rule.name&&"string"==typeof value){const trimmedValue=value.trim();if(trimmedValue.startsWith('"')&&trimmedValue.endsWith('"')||trimmedValue.startsWith("'")&&trimmedValue.endsWith("'"))return decodeEscapedString(trimmedValue)}return value}runCustomConverter(rule,input,_cstNode){if("PEG_STRING"===rule.name)return decodeEscapedString(input)}},"RailroadPegValueConverter"),_Hb),RailroadPegModule={parser:{TokenBuilder:__name(()=>new RailroadPegTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new RailroadPegValueConverter,"ValueConverter")}};function createRailroadPegServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),RailroadPeg2=inject(createDefaultCoreModule({shared:shared}),RailroadPegGrammarGeneratedModule,RailroadPegModule);return shared.ServiceRegistry.register(RailroadPeg2),{shared:shared,RailroadPeg:RailroadPeg2}}__name(createRailroadPegServices,"createRailroadPegServices");var TreemapTokenBuilder=(__name(_Ib=class extends AbstractMermaidTokenBuilder{constructor(){super(["treemap"])}},"TreemapTokenBuilder"),_Ib),classDefRegex=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,TreemapValueConverter=(__name(_Jb=class extends AbstractMermaidValueConverter{runCustomConverter(rule,input,_cstNode){if("NUMBER2"===rule.name)return parseFloat(input.replace(/,/g,""));if("SEPARATOR"===rule.name)return input.substring(1,input.length-1);if("STRING2"===rule.name)return input.substring(1,input.length-1);if("INDENTATION"===rule.name)return input.length;if("ClassDef"===rule.name){if("string"!=typeof input)return input;const match=classDefRegex.exec(input);if(match)return{$type:"ClassDefStatement",className:match[1],styleText:match[2]||void 0}}}},"TreemapValueConverter"),_Jb);function registerValidationChecks$1(services){const validator=services.validation.TreemapValidator,registry=services.validation.ValidationRegistry;if(registry){const checks={Treemap:validator.checkSingleRoot.bind(validator)};registry.register(checks,validator)}}__name(registerValidationChecks$1,"registerValidationChecks");var TreemapValidator=(__name(_Kb=class{checkSingleRoot(doc,accept){let rootNodeIndentation;for(const row of doc.TreemapRows)row.item&&(void 0===rootNodeIndentation&&void 0===row.indent?rootNodeIndentation=0:(void 0===row.indent||void 0!==rootNodeIndentation&&rootNodeIndentation>=parseInt(row.indent,10))&&accept("error","Multiple root nodes are not allowed in a treemap.",{node:row,property:"item"}))}},"TreemapValidator"),_Kb),TreemapModule={parser:{TokenBuilder:__name(()=>new TreemapTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new TreemapValueConverter,"ValueConverter")},validation:{TreemapValidator:__name(()=>new TreemapValidator,"TreemapValidator")}};function createTreemapServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Treemap2=inject(createDefaultCoreModule({shared:shared}),TreemapGrammarGeneratedModule,TreemapModule);return shared.ServiceRegistry.register(Treemap2),registerValidationChecks$1(Treemap2),{shared:shared,Treemap:Treemap2}}__name(createTreemapServices,"createTreemapServices");var WardleyValueConverter=(__name(_Lb=class extends AbstractMermaidValueConverter{runCustomConverter(rule,input,_cstNode){if("LINK_LABEL"===rule.name.toUpperCase())return input.substring(1).trim()}},"WardleyValueConverter"),_Lb),WardleyModule={parser:{ValueConverter:__name(()=>new WardleyValueConverter,"ValueConverter")}};function createWardleyServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Wardley2=inject(createDefaultCoreModule({shared:shared}),WardleyGrammarGeneratedModule,WardleyModule);return shared.ServiceRegistry.register(Wardley2),{shared:shared,Wardley:Wardley2}}__name(createWardleyServices,"createWardleyServices");var CynefinTokenBuilder=(__name(_Mb=class extends AbstractMermaidTokenBuilder{constructor(){super(["cynefin-beta"])}},"CynefinTokenBuilder"),_Mb),CynefinModule={parser:{TokenBuilder:__name(()=>new CynefinTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new CommonValueConverter,"ValueConverter")}};function createCynefinServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Cynefin2=inject(createDefaultCoreModule({shared:shared}),CynefinGrammarGeneratedModule,CynefinModule);return shared.ServiceRegistry.register(Cynefin2),{shared:shared,Cynefin:Cynefin2}}__name(createCynefinServices,"createCynefinServices");var GitGraphTokenBuilder=(__name(_Nb=class extends AbstractMermaidTokenBuilder{constructor(){super(["gitGraph"])}},"GitGraphTokenBuilder"),_Nb),GitGraphModule={parser:{TokenBuilder:__name(()=>new GitGraphTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new CommonValueConverter,"ValueConverter")}};function createGitGraphServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),GitGraph2=inject(createDefaultCoreModule({shared:shared}),GitGraphGrammarGeneratedModule,GitGraphModule);return shared.ServiceRegistry.register(GitGraph2),{shared:shared,GitGraph:GitGraph2}}__name(createGitGraphServices,"createGitGraphServices");var InfoTokenBuilder=(__name(_Ob=class extends AbstractMermaidTokenBuilder{constructor(){super(["info","showInfo"])}},"InfoTokenBuilder"),_Ob),InfoModule={parser:{TokenBuilder:__name(()=>new InfoTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new CommonValueConverter,"ValueConverter")}};function createInfoServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Info2=inject(createDefaultCoreModule({shared:shared}),InfoGrammarGeneratedModule,InfoModule);return shared.ServiceRegistry.register(Info2),{shared:shared,Info:Info2}}__name(createInfoServices,"createInfoServices");var PacketTokenBuilder=(__name(_Pb=class extends AbstractMermaidTokenBuilder{constructor(){super(["packet"])}},"PacketTokenBuilder"),_Pb),PacketModule={parser:{TokenBuilder:__name(()=>new PacketTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new CommonValueConverter,"ValueConverter")}};function createPacketServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Packet2=inject(createDefaultCoreModule({shared:shared}),PacketGrammarGeneratedModule,PacketModule);return shared.ServiceRegistry.register(Packet2),{shared:shared,Packet:Packet2}}__name(createPacketServices,"createPacketServices");var PieTokenBuilder=(__name(_Qb=class extends AbstractMermaidTokenBuilder{constructor(){super(["pie","showData"])}},"PieTokenBuilder"),_Qb),PieValueConverter=(__name(_Rb=class extends AbstractMermaidValueConverter{runCustomConverter(rule,input,_cstNode){if("PIE_SECTION_LABEL"===rule.name)return input.replace(/"/g,"").trim()}},"PieValueConverter"),_Rb),PieModule={parser:{TokenBuilder:__name(()=>new PieTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new PieValueConverter,"ValueConverter")}};function createPieServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Pie2=inject(createDefaultCoreModule({shared:shared}),PieGrammarGeneratedModule,PieModule);return shared.ServiceRegistry.register(Pie2),{shared:shared,Pie:Pie2}}__name(createPieServices,"createPieServices");var TreeViewValueConverter=(__name(_Sb=class extends AbstractMermaidValueConverter{runCustomConverter(rule,input,_cstNode){if("INDENTATION"===rule.name)return(null==input?void 0:input.length)||0;if("QUOTED_NAME"===rule.name)return input.substring(1,input.length-1);if("BARE_NAME"===rule.name)return input.replace(/[\t ]+$/,"");if("CLASS_ANNOTATION"===rule.name){return input.trim().substring(3).trim()}if("ICON_ANNOTATION"===rule.name){const trimmed=input.trim();return trimmed.substring(5,trimmed.length-1)}if("DESC_ANNOTATION"===rule.name){return input.trim().substring(2).trim()}}},"TreeViewValueConverter"),_Sb),TreeViewTokenBuilder=(__name(_Tb=class extends AbstractMermaidTokenBuilder{constructor(){super(["treeView-beta"])}},"TreeViewTokenBuilder"),_Tb),TreeViewModule={parser:{TokenBuilder:__name(()=>new TreeViewTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new TreeViewValueConverter,"ValueConverter")}};function createTreeViewServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),TreeView2=inject(createDefaultCoreModule({shared:shared}),TreeViewGrammarGeneratedModule,TreeViewModule);return shared.ServiceRegistry.register(TreeView2),{shared:shared,TreeView:TreeView2}}__name(createTreeViewServices,"createTreeViewServices");var ArchitectureTokenBuilder=(__name(_Ub=class extends AbstractMermaidTokenBuilder{constructor(){super(["architecture"])}},"ArchitectureTokenBuilder"),_Ub),ArchitectureValueConverter=(__name(_Vb=class extends AbstractMermaidValueConverter{runCustomConverter(rule,input,_cstNode){if("ARCH_ICON"===rule.name)return input.replace(/[()]/g,"").trim();if("ARCH_TEXT_ICON"===rule.name)return input.replace(/["()]/g,"");if("ARCH_TITLE"===rule.name){let result=input.replace(/^\[|]$/g,"").trim();return(result.startsWith('"')&&result.endsWith('"')||result.startsWith("'")&&result.endsWith("'"))&&(result=result.slice(1,-1),result=result.replace(/\\"/g,'"').replace(/\\'/g,"'")),result.trim()}}},"ArchitectureValueConverter"),_Vb),ArchitectureModule={parser:{TokenBuilder:__name(()=>new ArchitectureTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new ArchitectureValueConverter,"ValueConverter")}};function createArchitectureServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),Architecture2=inject(createDefaultCoreModule({shared:shared}),ArchitectureGrammarGeneratedModule,ArchitectureModule);return shared.ServiceRegistry.register(Architecture2),{shared:shared,Architecture:Architecture2}}__name(createArchitectureServices,"createArchitectureServices");var EventModelingTokenBuilder=(__name(_Wb=class extends AbstractMermaidTokenBuilder{constructor(){super(["eventmodeling"])}},"EventModelingTokenBuilder"),_Wb),COMMAND_TYPES=new Set(["cmd","command"]),EVENT_TYPES=new Set(["evt","event"]),READMODEL_TYPES=new Set(["rmo","readmodel"]),PROCESSOR_TYPES=new Set(["pcr","processor"]),UI_TYPES=new Set(["ui"]);function registerValidationChecks(services){const validator=services.validation.EventModelingValidator,registry=services.validation.ValidationRegistry;if(registry){const checks={EmTimeFrame:validator.checkSourceFrameTypes.bind(validator),EmResetFrame:validator.checkSourceFrameTypes.bind(validator)};registry.register(checks,validator)}}__name(registerValidationChecks,"registerValidationChecks");var EventModelingValidator=(__name(_Xb=class{checkSourceFrameTypes(frame,accept){0!==frame.sourceFrames.length&&(COMMAND_TYPES.has(frame.modelEntityType)?this.validateSources(frame,new Set([...UI_TYPES,...PROCESSOR_TYPES]),"command","ui or processor",accept):EVENT_TYPES.has(frame.modelEntityType)?this.validateSources(frame,COMMAND_TYPES,"event","command",accept):READMODEL_TYPES.has(frame.modelEntityType)?this.validateSources(frame,EVENT_TYPES,"read model","event",accept):PROCESSOR_TYPES.has(frame.modelEntityType)?this.validateSources(frame,READMODEL_TYPES,"processor","read model",accept):UI_TYPES.has(frame.modelEntityType)&&this.validateSources(frame,READMODEL_TYPES,"ui","read model",accept))}validateSources(frame,allowedSourceTypes,targetLabel,expectedSourceLabel,accept){for(const sourceRef of frame.sourceFrames){const source=sourceRef.ref;void 0===source||allowedSourceTypes.has(source.modelEntityType)||accept("error",`A ${targetLabel} can only receive input from a ${expectedSourceLabel}, not from '${source.modelEntityType}'.`,{node:frame,property:"sourceFrames"})}}},"EventModelingValidator"),_Xb),EventModelingModule={parser:{TokenBuilder:__name(()=>new EventModelingTokenBuilder,"TokenBuilder"),ValueConverter:__name(()=>new CommonValueConverter,"ValueConverter")},validation:{EventModelingValidator:__name(()=>new EventModelingValidator,"EventModelingValidator")}};function createEventModelingServices(context=EmptyFileSystem){const shared=inject(createDefaultSharedCoreModule(context),MermaidGeneratedSharedModule),EventModel2=inject(createDefaultCoreModule({shared:shared}),EventModelingGeneratedModule,EventModelingModule);return shared.ServiceRegistry.register(EventModel2),registerValidationChecks(EventModel2),{shared:shared,EventModel:EventModel2}}__name(createEventModelingServices,"createEventModelingServices");var parsers={},initializers={info:__name(async()=>{const{createInfoServices:createInfoServices2}=await __vitePreload(async()=>{const{createInfoServices:createInfoServices22}=await Promise.resolve().then(()=>infoDKCQHKI2);return{createInfoServices:createInfoServices22}},void 0,import.meta.url),parser=createInfoServices2().Info.parser.LangiumParser;parsers.info=parser},"info"),packet:__name(async()=>{const{createPacketServices:createPacketServices2}=await __vitePreload(async()=>{const{createPacketServices:createPacketServices22}=await Promise.resolve().then(()=>packet7NZHBO7P);return{createPacketServices:createPacketServices22}},void 0,import.meta.url),parser=createPacketServices2().Packet.parser.LangiumParser;parsers.packet=parser},"packet"),pie:__name(async()=>{const{createPieServices:createPieServices2}=await __vitePreload(async()=>{const{createPieServices:createPieServices22}=await Promise.resolve().then(()=>pieRZYD4A2V);return{createPieServices:createPieServices22}},void 0,import.meta.url),parser=createPieServices2().Pie.parser.LangiumParser;parsers.pie=parser},"pie"),treeView:__name(async()=>{const{createTreeViewServices:createTreeViewServices2}=await __vitePreload(async()=>{const{createTreeViewServices:createTreeViewServices22}=await Promise.resolve().then(()=>treeViewQDETBFTQ);return{createTreeViewServices:createTreeViewServices22}},void 0,import.meta.url),parser=createTreeViewServices2().TreeView.parser.LangiumParser;parsers.treeView=parser},"treeView"),architecture:__name(async()=>{const{createArchitectureServices:createArchitectureServices2}=await __vitePreload(async()=>{const{createArchitectureServices:createArchitectureServices22}=await Promise.resolve().then(()=>architectureTIHT7OUA);return{createArchitectureServices:createArchitectureServices22}},void 0,import.meta.url),parser=createArchitectureServices2().Architecture.parser.LangiumParser;parsers.architecture=parser},"architecture"),gitGraph:__name(async()=>{const{createGitGraphServices:createGitGraphServices2}=await __vitePreload(async()=>{const{createGitGraphServices:createGitGraphServices22}=await Promise.resolve().then(()=>gitGraphTEB2WS4Q);return{createGitGraphServices:createGitGraphServices22}},void 0,import.meta.url),parser=createGitGraphServices2().GitGraph.parser.LangiumParser;parsers.gitGraph=parser},"gitGraph"),eventmodeling:__name(async()=>{const{createEventModelingServices:createEventModelingServices2}=await __vitePreload(async()=>{const{createEventModelingServices:createEventModelingServices22}=await Promise.resolve().then(()=>eventmodeling45OFAUF4);return{createEventModelingServices:createEventModelingServices22}},void 0,import.meta.url),parser=createEventModelingServices2().EventModel.parser.LangiumParser;parsers.eventmodeling=parser},"eventmodeling"),radar:__name(async()=>{const{createRadarServices:createRadarServices2}=await __vitePreload(async()=>{const{createRadarServices:createRadarServices22}=await Promise.resolve().then(()=>radarI7S5WNFK);return{createRadarServices:createRadarServices22}},void 0,import.meta.url),parser=createRadarServices2().Radar.parser.LangiumParser;parsers.radar=parser},"radar"),railroad:__name(async()=>{const{createRailroadServices:createRailroadServices2}=await __vitePreload(async()=>{const{createRailroadServices:createRailroadServices22}=await Promise.resolve().then(()=>railroad3IZDKUUU);return{createRailroadServices:createRailroadServices22}},void 0,import.meta.url),parser=createRailroadServices2().Railroad.parser.LangiumParser;parsers.railroad=parser},"railroad"),railroadEbnf:__name(async()=>{const{createRailroadEbnfServices:createRailroadEbnfServices2}=await __vitePreload(async()=>{const{createRailroadEbnfServices:createRailroadEbnfServices22}=await Promise.resolve().then(()=>railroadEbnfEBAXGLYW);return{createRailroadEbnfServices:createRailroadEbnfServices22}},void 0,import.meta.url),parser=createRailroadEbnfServices2().RailroadEbnf.parser.LangiumParser;parsers.railroadEbnf=parser},"railroadEbnf"),railroadAbnf:__name(async()=>{const{createRailroadAbnfServices:createRailroadAbnfServices2}=await __vitePreload(async()=>{const{createRailroadAbnfServices:createRailroadAbnfServices22}=await Promise.resolve().then(()=>railroadAbnfAHOZXSZD);return{createRailroadAbnfServices:createRailroadAbnfServices22}},void 0,import.meta.url),parser=createRailroadAbnfServices2().RailroadAbnf.parser.LangiumParser;parsers.railroadAbnf=parser},"railroadAbnf"),railroadPeg:__name(async()=>{const{createRailroadPegServices:createRailroadPegServices2}=await __vitePreload(async()=>{const{createRailroadPegServices:createRailroadPegServices22}=await Promise.resolve().then(()=>railroadPegLSFZ7HO6);return{createRailroadPegServices:createRailroadPegServices22}},void 0,import.meta.url),parser=createRailroadPegServices2().RailroadPeg.parser.LangiumParser;parsers.railroadPeg=parser},"railroadPeg"),treemap:__name(async()=>{const{createTreemapServices:createTreemapServices2}=await __vitePreload(async()=>{const{createTreemapServices:createTreemapServices22}=await Promise.resolve().then(()=>treemap6X3UGDF4);return{createTreemapServices:createTreemapServices22}},void 0,import.meta.url),parser=createTreemapServices2().Treemap.parser.LangiumParser;parsers.treemap=parser},"treemap"),wardley:__name(async()=>{const{createWardleyServices:createWardleyServices2}=await __vitePreload(async()=>{const{createWardleyServices:createWardleyServices22}=await Promise.resolve().then(()=>wardleyOPB4EBWU);return{createWardleyServices:createWardleyServices22}},void 0,import.meta.url),parser=createWardleyServices2().Wardley.parser.LangiumParser;parsers.wardley=parser},"wardley"),cynefin:__name(async()=>{const{createCynefinServices:createCynefinServices2}=await __vitePreload(async()=>{const{createCynefinServices:createCynefinServices22}=await Promise.resolve().then(()=>cynefinVYW2F7L2);return{createCynefinServices:createCynefinServices22}},void 0,import.meta.url),parser=createCynefinServices2().Cynefin.parser.LangiumParser;parsers.cynefin=parser},"cynefin")};async function parse(diagramType,text){const initializer=initializers[diagramType];if(!initializer)throw new Error(`Unknown diagram type: ${diagramType}`);parsers[diagramType]||await initializer();const result=parsers[diagramType].parse(text);if(result.lexerErrors.length>0||result.parserErrors.length>0)throw new MermaidParseError(result);return result.value}__name(parse,"parse");var MermaidParseError=(_Yb=class extends Error{constructor(result){super(`Parsing failed: ${result.lexerErrors.map(err=>`Lexer error on line ${void 0===err.line||isNaN(err.line)?"?":err.line}, column ${void 0===err.column||isNaN(err.column)?"?":err.column}: ${err.message}`).join("\n")} ${result.parserErrors.map(err=>`Parse error on line ${void 0===err.token.startLine||isNaN(err.token.startLine)?"?":err.token.startLine}, column ${void 0===err.token.startColumn||isNaN(err.token.startColumn)?"?":err.token.startColumn}: ${err.message}`).join("\n")}`),this.result=result}},__name(_Yb,"MermaidParseError"),_Yb);const infoDKCQHKI2=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:InfoModule,createInfoServices:createInfoServices},Symbol.toStringTag,{value:"Module"})),packet7NZHBO7P=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:PacketModule,createPacketServices:createPacketServices},Symbol.toStringTag,{value:"Module"})),pieRZYD4A2V=Object.freeze(Object.defineProperty({__proto__:null,PieModule:PieModule,createPieServices:createPieServices},Symbol.toStringTag,{value:"Module"})),treeViewQDETBFTQ=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:TreeViewModule,createTreeViewServices:createTreeViewServices},Symbol.toStringTag,{value:"Module"})),architectureTIHT7OUA=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:ArchitectureModule,createArchitectureServices:createArchitectureServices},Symbol.toStringTag,{value:"Module"})),gitGraphTEB2WS4Q=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:GitGraphModule,createGitGraphServices:createGitGraphServices},Symbol.toStringTag,{value:"Module"})),eventmodeling45OFAUF4=Object.freeze(Object.defineProperty({__proto__:null,EventModelingModule:EventModelingModule,createEventModelingServices:createEventModelingServices},Symbol.toStringTag,{value:"Module"})),radarI7S5WNFK=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:RadarModule,createRadarServices:createRadarServices},Symbol.toStringTag,{value:"Module"})),railroad3IZDKUUU=Object.freeze(Object.defineProperty({__proto__:null,RailroadModule:RailroadModule,createRailroadServices:createRailroadServices},Symbol.toStringTag,{value:"Module"})),railroadEbnfEBAXGLYW=Object.freeze(Object.defineProperty({__proto__:null,RailroadEbnfModule:RailroadEbnfModule,createRailroadEbnfServices:createRailroadEbnfServices},Symbol.toStringTag,{value:"Module"})),railroadAbnfAHOZXSZD=Object.freeze(Object.defineProperty({__proto__:null,RailroadAbnfModule:RailroadAbnfModule,createRailroadAbnfServices:createRailroadAbnfServices},Symbol.toStringTag,{value:"Module"})),railroadPegLSFZ7HO6=Object.freeze(Object.defineProperty({__proto__:null,RailroadPegModule:RailroadPegModule,createRailroadPegServices:createRailroadPegServices},Symbol.toStringTag,{value:"Module"})),treemap6X3UGDF4=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:TreemapModule,createTreemapServices:createTreemapServices},Symbol.toStringTag,{value:"Module"})),wardleyOPB4EBWU=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:WardleyModule,createWardleyServices:createWardleyServices},Symbol.toStringTag,{value:"Module"})),cynefinVYW2F7L2=Object.freeze(Object.defineProperty({__proto__:null,CynefinModule:CynefinModule,createCynefinServices:createCynefinServices},Symbol.toStringTag,{value:"Module"}));export{MermaidParseError as M,createRailroadEbnfServices as a,createRailroadAbnfServices as b,createRailroadServices as c,createRailroadPegServices as d,isEmResetFrame as i,parse as p};