sparkdesign 0.4.6 → 0.4.7

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 (252) hide show
  1. package/AI_README.md +60 -0
  2. package/README.md +1 -1
  3. package/cli/dist/commands/add.js +1 -1
  4. package/cli/dist/commands/init.js +1 -1
  5. package/cli/registry/AGENTS.md +9 -2
  6. package/cli/registry/agent-manifest.json +794 -0
  7. package/cli/registry/basic/alert.tsx +76 -0
  8. package/cli/registry/basic/aspect-ratio.tsx +8 -0
  9. package/cli/registry/basic/breadcrumb.tsx +117 -0
  10. package/cli/registry/basic/button-group.tsx +79 -0
  11. package/cli/registry/basic/button.tsx +1 -1
  12. package/cli/registry/basic/calendar.tsx +221 -0
  13. package/cli/registry/basic/card.tsx +103 -0
  14. package/cli/registry/basic/carousel.tsx +241 -0
  15. package/cli/registry/basic/chart.tsx +372 -0
  16. package/cli/registry/basic/checkbox.tsx +42 -0
  17. package/cli/registry/basic/collapsible-card.tsx +2 -2
  18. package/cli/registry/basic/combobox.tsx +75 -0
  19. package/cli/registry/basic/command.tsx +184 -0
  20. package/cli/registry/basic/context-menu.tsx +239 -0
  21. package/cli/registry/basic/data-table.tsx +73 -0
  22. package/cli/registry/basic/date-picker.tsx +13 -0
  23. package/cli/registry/basic/dialog.tsx +169 -0
  24. package/cli/registry/basic/direction.tsx +25 -0
  25. package/cli/registry/basic/drawer.tsx +164 -0
  26. package/cli/registry/basic/dropdown-menu.tsx +0 -4
  27. package/cli/registry/basic/empty.tsx +104 -0
  28. package/cli/registry/basic/field.tsx +248 -0
  29. package/cli/registry/basic/hover-card.tsx +58 -0
  30. package/cli/registry/basic/input-group.tsx +168 -0
  31. package/cli/registry/basic/input-otp.tsx +75 -0
  32. package/cli/registry/basic/input.tsx +27 -0
  33. package/cli/registry/basic/item.tsx +204 -0
  34. package/cli/registry/basic/label.tsx +24 -0
  35. package/cli/registry/basic/menubar.tsx +274 -0
  36. package/cli/registry/basic/native-select.tsx +62 -0
  37. package/cli/registry/basic/navigation-menu.tsx +168 -0
  38. package/cli/registry/basic/popover.tsx +59 -0
  39. package/cli/registry/basic/scroll-area.tsx +58 -0
  40. package/cli/registry/basic/select.tsx +2 -1
  41. package/cli/registry/basic/separator.tsx +26 -0
  42. package/cli/registry/basic/sheet.tsx +18 -0
  43. package/cli/registry/basic/textarea.tsx +25 -0
  44. package/cli/registry/basic/toggle.tsx +1 -1
  45. package/cli/registry/basic/typography.tsx +1 -1
  46. package/cli/registry/chat/chat-input/chat-input-textarea.tsx +1 -1
  47. package/cli/registry/chat/chat-input/compound.tsx +4 -3
  48. package/cli/registry/chat/chat-input/context.tsx +4 -1
  49. package/cli/registry/chat/code-block-part.tsx +1 -1
  50. package/cli/registry/chat/conversation-anchor-nav.tsx +349 -0
  51. package/cli/registry/chat/file-attachment.tsx +2 -1
  52. package/cli/registry/chat/file-review-part.tsx +21 -21
  53. package/cli/registry/chat/markdown.tsx +2 -2
  54. package/cli/registry/chat/queue-indicator.tsx +1 -0
  55. package/cli/registry/chat/streaming-markdown-block.tsx +12 -8
  56. package/cli/registry/chat/tool-invocation-card.tsx +4 -1
  57. package/cli/registry/lib/file-icon-maps.ts +22 -22
  58. package/cli/registry/meta.json +518 -0
  59. package/cli/registry/tokens/ontology.json +404 -0
  60. package/cli/registry/tokens/scale/presets/compact.css +16 -5
  61. package/cli/registry/tokens/scale/presets/dense.css +13 -2
  62. package/cli/registry/tokens/scale/presets/sharp.css +18 -6
  63. package/cli/registry/tokens/scale/presets/soft.css +23 -1
  64. package/dist/registry/basic/alert.d.ts +24 -0
  65. package/dist/registry/basic/aspect-ratio.d.ts +16 -0
  66. package/dist/registry/basic/breadcrumb.d.ts +24 -0
  67. package/dist/registry/basic/button-group.d.ts +26 -0
  68. package/dist/registry/basic/button.d.ts +1 -1
  69. package/dist/registry/basic/calendar.d.ts +22 -0
  70. package/dist/registry/basic/card.d.ts +27 -0
  71. package/dist/registry/basic/carousel.d.ts +19 -0
  72. package/dist/registry/basic/chart.d.ts +55 -0
  73. package/dist/registry/basic/checkbox.d.ts +21 -0
  74. package/dist/registry/basic/combobox.d.ts +26 -0
  75. package/dist/registry/basic/command.d.ts +18 -0
  76. package/dist/registry/basic/context-menu.d.ts +44 -0
  77. package/dist/registry/basic/data-table.d.ts +26 -0
  78. package/dist/registry/basic/date-picker.d.ts +18 -0
  79. package/dist/registry/basic/dialog.d.ts +39 -0
  80. package/dist/registry/basic/direction.d.ts +19 -0
  81. package/dist/registry/basic/drawer.d.ts +37 -0
  82. package/dist/registry/basic/empty.d.ts +22 -0
  83. package/dist/registry/basic/field.d.ts +24 -0
  84. package/dist/registry/basic/hover-card.d.ts +22 -0
  85. package/dist/registry/basic/input-group.d.ts +27 -0
  86. package/dist/registry/basic/input-otp.d.ts +22 -0
  87. package/dist/registry/basic/input.d.ts +15 -0
  88. package/dist/registry/basic/item.d.ts +34 -0
  89. package/dist/registry/basic/label.d.ts +16 -0
  90. package/dist/registry/basic/menubar.d.ts +37 -0
  91. package/dist/registry/basic/native-select.d.ts +18 -0
  92. package/dist/registry/basic/navigation-menu.d.ts +25 -0
  93. package/dist/registry/basic/popover.d.ts +23 -0
  94. package/dist/registry/basic/scroll-area.d.ts +5 -0
  95. package/dist/registry/basic/separator.d.ts +16 -0
  96. package/dist/registry/basic/sheet.d.ts +13 -0
  97. package/dist/registry/basic/textarea.d.ts +15 -0
  98. package/dist/registry/basic/toggle.d.ts +1 -1
  99. package/dist/registry/chat/chat-input/context.d.ts +3 -1
  100. package/dist/registry/chat/conversation-anchor-nav.d.ts +72 -0
  101. package/dist/registry/chat/tool-invocation-card.d.ts +2 -0
  102. package/dist/scale/presets/compact.css +16 -5
  103. package/dist/scale/presets/dense.css +13 -2
  104. package/dist/scale/presets/sharp.css +18 -6
  105. package/dist/scale/presets/soft.css +23 -1
  106. package/dist/spark-design.cjs.js +40 -36
  107. package/dist/spark-design.es.js +8647 -8657
  108. package/dist/sparkdesign.css +1 -1
  109. package/dist/src/components/basic/Alert/index.d.ts +13 -0
  110. package/dist/src/components/basic/AspectRatio/index.d.ts +13 -0
  111. package/dist/src/components/basic/Breadcrumb/index.d.ts +12 -0
  112. package/dist/src/components/basic/ButtonGroup/index.d.ts +13 -0
  113. package/dist/src/components/basic/Calendar/index.d.ts +13 -0
  114. package/dist/src/components/basic/Card/index.d.ts +13 -0
  115. package/dist/src/components/basic/Carousel/index.d.ts +12 -0
  116. package/dist/src/components/basic/Chart/index.d.ts +13 -0
  117. package/dist/src/components/basic/Checkbox/index.d.ts +13 -0
  118. package/dist/src/components/basic/Combobox/index.d.ts +13 -0
  119. package/dist/src/components/basic/Command/index.d.ts +12 -0
  120. package/dist/src/components/basic/ContextMenu/index.d.ts +19 -0
  121. package/dist/src/components/basic/DataTable/index.d.ts +13 -0
  122. package/dist/src/components/basic/DatePicker/index.d.ts +13 -0
  123. package/dist/src/components/basic/Dialog/index.d.ts +16 -0
  124. package/dist/src/components/basic/Direction/index.d.ts +13 -0
  125. package/dist/src/components/basic/Drawer/index.d.ts +16 -0
  126. package/dist/src/components/basic/Empty/index.d.ts +12 -0
  127. package/dist/src/components/basic/Field/index.d.ts +12 -0
  128. package/dist/src/components/basic/HoverCard/index.d.ts +16 -0
  129. package/dist/src/components/basic/Input/index.d.ts +13 -0
  130. package/dist/src/components/basic/InputGroup/index.d.ts +12 -0
  131. package/dist/src/components/basic/InputOTP/index.d.ts +12 -0
  132. package/dist/src/components/basic/Item/index.d.ts +12 -0
  133. package/dist/src/components/basic/Label/index.d.ts +13 -0
  134. package/dist/src/components/basic/Menubar/index.d.ts +12 -0
  135. package/dist/src/components/basic/NativeSelect/index.d.ts +12 -0
  136. package/dist/src/components/basic/NavigationMenu/index.d.ts +12 -0
  137. package/dist/src/components/basic/Popover/index.d.ts +16 -0
  138. package/dist/src/components/basic/ScrollArea/index.d.ts +12 -0
  139. package/dist/src/components/basic/Separator/index.d.ts +13 -0
  140. package/dist/src/components/basic/Sheet/index.d.ts +13 -0
  141. package/dist/src/components/basic/Textarea/index.d.ts +13 -0
  142. package/dist/src/components/chat/ConversationAnchorNav/index.d.ts +13 -0
  143. package/dist/src/components/chat/StreamingMarkdownBlock/index.d.ts +13 -0
  144. package/dist/src/components/index.d.ts +57 -0
  145. package/dist/tokens/AGENTS.md +1 -0
  146. package/dist/tokens/scale/presets/compact.css +16 -5
  147. package/dist/tokens/scale/presets/dense.css +13 -2
  148. package/dist/tokens/scale/presets/sharp.css +18 -6
  149. package/dist/tokens/scale/presets/soft.css +23 -1
  150. package/docs/agent/component-selection.md +60 -0
  151. package/docs/agent/token-ontology.md +37 -0
  152. package/package.json +31 -5
  153. package/registry/agent-manifest.json +794 -0
  154. package/registry/tokens/ontology.json +404 -0
  155. package/dist/_basePickBy-DnQN8w3y.js +0 -151
  156. package/dist/_basePickBy-a-kPMlkg.cjs +0 -1
  157. package/dist/_baseUniq-B-N2NQ50.js +0 -614
  158. package/dist/_baseUniq-Cc_zbSif.cjs +0 -1
  159. package/dist/arc-BQBhijZ6.js +0 -83
  160. package/dist/arc-mWQt0Yph.cjs +0 -1
  161. package/dist/architectureDiagram-VXUJARFQ-BMZEucno.cjs +0 -36
  162. package/dist/architectureDiagram-VXUJARFQ-DTdjD3Bp.js +0 -4661
  163. package/dist/blockDiagram-VD42YOAC-CzHn0yob.js +0 -2256
  164. package/dist/blockDiagram-VD42YOAC-DDxdHAlz.cjs +0 -122
  165. package/dist/c4Diagram-YG6GDRKO-4Gz0I4gj.cjs +0 -10
  166. package/dist/c4Diagram-YG6GDRKO-BIy--yVN.js +0 -1580
  167. package/dist/channel-BQn0o8bs.js +0 -5
  168. package/dist/channel-DaN7XniJ.cjs +0 -1
  169. package/dist/chunk-4BX2VUAB-BlQFTQqz.cjs +0 -1
  170. package/dist/chunk-4BX2VUAB-Czitj3Kc.js +0 -8
  171. package/dist/chunk-55IACEB6-DXacNZbO.js +0 -8
  172. package/dist/chunk-55IACEB6-DnDxpye9.cjs +0 -1
  173. package/dist/chunk-B4BG7PRW-CBdN0q_V.js +0 -1375
  174. package/dist/chunk-B4BG7PRW-DbGvUkGO.cjs +0 -165
  175. package/dist/chunk-DI55MBZ5-D1YJMs6x.cjs +0 -220
  176. package/dist/chunk-DI55MBZ5-NCQTvayw.js +0 -1370
  177. package/dist/chunk-FMBD7UC4-CsGMbrtr.js +0 -19
  178. package/dist/chunk-FMBD7UC4-Di7cUUh5.cjs +0 -15
  179. package/dist/chunk-QN33PNHL-0j5LC8Lm.cjs +0 -1
  180. package/dist/chunk-QN33PNHL-3GERZBRm.js +0 -19
  181. package/dist/chunk-QZHKN3VN-AVEY9ImQ.js +0 -15
  182. package/dist/chunk-QZHKN3VN-s8Z0a8mc.cjs +0 -1
  183. package/dist/chunk-TZMSLE5B-CAf87HPt.cjs +0 -1
  184. package/dist/chunk-TZMSLE5B-sbiflal0.js +0 -64
  185. package/dist/classDiagram-2ON5EDUG-Ct9JLIN2.cjs +0 -1
  186. package/dist/classDiagram-2ON5EDUG-Dzfrft3a.js +0 -16
  187. package/dist/classDiagram-v2-WZHVMYZB-Ct9JLIN2.cjs +0 -1
  188. package/dist/classDiagram-v2-WZHVMYZB-Dzfrft3a.js +0 -16
  189. package/dist/clone-Cde_NQ8V.js +0 -8
  190. package/dist/clone-DCNjWuM2.cjs +0 -1
  191. package/dist/cose-bilkent-S5V4N54A-0uLijMro.cjs +0 -1
  192. package/dist/cose-bilkent-S5V4N54A-Bb08N431.js +0 -2608
  193. package/dist/cytoscape.esm-CNUX3VTg.cjs +0 -321
  194. package/dist/cytoscape.esm-Cvf3sx9F.js +0 -18704
  195. package/dist/dagre-6UL2VRFP-CY_Wz5Zd.js +0 -444
  196. package/dist/dagre-6UL2VRFP-Dxe7_qZc.cjs +0 -4
  197. package/dist/defaultLocale-BgPVtth8.js +0 -171
  198. package/dist/defaultLocale-C4wbwF1n.cjs +0 -1
  199. package/dist/diagram-PSM6KHXK-D2bdb7MT.js +0 -531
  200. package/dist/diagram-PSM6KHXK-YF69SUjY.cjs +0 -24
  201. package/dist/diagram-QEK2KX5R-BpUSoh0-.js +0 -217
  202. package/dist/diagram-QEK2KX5R-DZPGteon.cjs +0 -43
  203. package/dist/diagram-S2PKOQOG-ht-zdvFG.cjs +0 -24
  204. package/dist/diagram-S2PKOQOG-zFeLJ50Z.js +0 -142
  205. package/dist/erDiagram-Q2GNP2WA-B38iJ6ts.js +0 -841
  206. package/dist/erDiagram-Q2GNP2WA-RgS80DDU.cjs +0 -60
  207. package/dist/flowDiagram-NV44I4VS-BHilOs2p.cjs +0 -162
  208. package/dist/flowDiagram-NV44I4VS-BrBJcoce.js +0 -1620
  209. package/dist/ganttDiagram-JELNMOA3-pZiJeFio.cjs +0 -267
  210. package/dist/ganttDiagram-JELNMOA3-tw6FhkWJ.js +0 -2670
  211. package/dist/gitGraphDiagram-V2S2FVAM-BWn5uIK5.js +0 -699
  212. package/dist/gitGraphDiagram-V2S2FVAM-DKKeG-9R.cjs +0 -65
  213. package/dist/graph-DIbblrZP.cjs +0 -1
  214. package/dist/graph-DPcK91G3.js +0 -247
  215. package/dist/infoDiagram-HS3SLOUP-B8gwwhct.cjs +0 -2
  216. package/dist/infoDiagram-HS3SLOUP-D47PNcP_.js +0 -24
  217. package/dist/init-CHZsXQcr.cjs +0 -1
  218. package/dist/init-DjUOC4st.js +0 -16
  219. package/dist/journeyDiagram-XKPGCS4Q-BG3cfhyU.js +0 -834
  220. package/dist/journeyDiagram-XKPGCS4Q-D8DVLJof.cjs +0 -139
  221. package/dist/kanban-definition-3W4ZIXB7-4OCnEouP.cjs +0 -89
  222. package/dist/kanban-definition-3W4ZIXB7-CWi_ssF9.js +0 -719
  223. package/dist/layout-Byuh8f-J.cjs +0 -1
  224. package/dist/layout-CdLdvj1j.js +0 -1335
  225. package/dist/linear-C2Q_PI9B.js +0 -259
  226. package/dist/linear-C69aPBW1.cjs +0 -1
  227. package/dist/mermaid.core-DBwAx_jp.cjs +0 -249
  228. package/dist/mermaid.core-gFR0XUlD.js +0 -15300
  229. package/dist/mindmap-definition-VGOIOE7T-8P7obVV4.cjs +0 -68
  230. package/dist/mindmap-definition-VGOIOE7T-DnOa7WJ9.js +0 -784
  231. package/dist/ordinal-B6-f3MAq.js +0 -61
  232. package/dist/ordinal-CagbB1m8.cjs +0 -1
  233. package/dist/pieDiagram-ADFJNKIX-5NAlvhMo.js +0 -161
  234. package/dist/pieDiagram-ADFJNKIX-CQBG4yR9.cjs +0 -30
  235. package/dist/quadrantDiagram-AYHSOK5B-Oe4y7RZ0.cjs +0 -7
  236. package/dist/quadrantDiagram-AYHSOK5B-rh2DPEP1.js +0 -1022
  237. package/dist/requirementDiagram-UZGBJVZJ-DcWaCuXr.js +0 -850
  238. package/dist/requirementDiagram-UZGBJVZJ-gfdlrFiq.cjs +0 -64
  239. package/dist/sankeyDiagram-TZEHDZUN-CQIKFwD0.js +0 -810
  240. package/dist/sankeyDiagram-TZEHDZUN-DvPtzQvC.cjs +0 -10
  241. package/dist/sequenceDiagram-WL72ISMW-BNrsMagL.cjs +0 -145
  242. package/dist/sequenceDiagram-WL72ISMW-iCX3ckKx.js +0 -2511
  243. package/dist/stateDiagram-FKZM4ZOC-DBvJ_eeL.cjs +0 -1
  244. package/dist/stateDiagram-FKZM4ZOC-ZVsJlaHJ.js +0 -263
  245. package/dist/stateDiagram-v2-4FDKWEC3-CB_nTHcE.js +0 -16
  246. package/dist/stateDiagram-v2-4FDKWEC3-Xkx17v6T.cjs +0 -1
  247. package/dist/timeline-definition-IT6M3QCI-BmGkYQiz.cjs +0 -61
  248. package/dist/timeline-definition-IT6M3QCI-Ck8zTt6w.js +0 -795
  249. package/dist/treemap-GDKQZRPO-B9sfERx8.js +0 -17922
  250. package/dist/treemap-GDKQZRPO-BVfJRs0Z.cjs +0 -160
  251. package/dist/xychartDiagram-PRI3JC2R-By_S8NzN.js +0 -1340
  252. package/dist/xychartDiagram-PRI3JC2R-CNfDrGxM.cjs +0 -7
@@ -1,160 +0,0 @@
1
- "use strict";const F=require("./mermaid.core-DBwAx_jp.cjs"),E=require("./_baseUniq-Cc_zbSif.cjs"),A=require("./_basePickBy-a-kPMlkg.cjs"),qe=require("./clone-DCNjWuM2.cjs");var fh=Object.prototype,hh=fh.hasOwnProperty,ct=F.createAssigner(function(t,e){if(F.isPrototype(e)||F.isArrayLike(e)){F.copyObject(e,E.keys(e),t);return}for(var n in e)hh.call(e,n)&&F.assignValue(t,n,e[n])});function ud(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function ji(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}function ph(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function mh(t,e,n,r){return E.baseEach(t,function(i,s,a){e(r,i,n(i),a)}),r}function gh(t,e){return function(n,r){var i=F.isArray(n)?ph:mh,s=e?e():{};return i(n,t,E.baseIteratee(r),s)}}var yh=200;function Th(t,e,n,r){var i=-1,s=E.arrayIncludes,a=!0,o=t.length,c=[],l=e.length;if(!o)return c;e.length>=yh&&(s=E.cacheHas,a=!1,e=new E.SetCache(e));e:for(;++i<o;){var u=t[i],f=u;if(u=u!==0?u:0,a&&f===f){for(var m=l;m--;)if(e[m]===f)continue e;c.push(u)}else s(e,f,r)||c.push(u)}return c}var ma=F.baseRest(function(t,e){return F.isArrayLikeObject(t)?Th(t,E.baseFlatten(e,1,F.isArrayLikeObject,!0)):[]});function Me(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:A.toInteger(e),ud(t,e<0?0:e,r)):[]}function _i(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:A.toInteger(e),e=r-e,ud(t,0,e<0?0:e)):[]}function Rh(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function vh(t,e){var n=!0;return E.baseEach(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function yt(t,e,n){var r=F.isArray(t)?Rh:vh;return r(t,E.baseIteratee(e))}function Rt(t){return t&&t.length?t[0]:void 0}function ot(t,e){return E.baseFlatten(A.map(t,e))}var Eh=Object.prototype,Ah=Eh.hasOwnProperty,Sh=gh(function(t,e,n){Ah.call(t,n)?t[n].push(e):F.baseAssignValue(t,n,[e])}),kh="[object String]";function Ze(t){return typeof t=="string"||!F.isArray(t)&&F.isObjectLike(t)&&F.baseGetTag(t)==kh}var Ch=Math.max;function Xe(t,e,n,r){t=F.isArrayLike(t)?t:E.values(t),n=n?A.toInteger(n):0;var i=t.length;return n<0&&(n=Ch(i+n,0)),Ze(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&E.baseIndexOf(t,e,n)>-1}function dl(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return E.baseIndexOf(t,e,i)}var Nh="[object RegExp]";function bh(t){return F.isObjectLike(t)&&F.baseGetTag(t)==Nh}var fl=F.nodeUtil&&F.nodeUtil.isRegExp,Ht=fl?F.baseUnary(fl):bh,wh="Expected a function";function _h(t){if(typeof t!="function")throw new TypeError(wh);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function vt(t,e){if(t==null)return{};var n=E.arrayMap(E.getAllKeysIn(t),function(r){return[r]});return e=E.baseIteratee(e),A.basePickBy(t,n,function(r,i){return e(r,i[0])})}function ga(t,e){var n=F.isArray(t)?E.arrayFilter:E.baseFilter;return n(t,_h(E.baseIteratee(e)))}function Ih(t,e){var n;return E.baseEach(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function dd(t,e,n){var r=F.isArray(t)?E.arraySome:Ih;return r(t,E.baseIteratee(e))}function qc(t){return t&&t.length?E.baseUniq(t):[]}function Ph(t,e){return t&&t.length?E.baseUniq(t,E.baseIteratee(e)):[]}function je(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function gt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function tn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function $h(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Qr(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class fd{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=n.properties[e.property]?.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return je(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Ii(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function hd(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function pd(t){return Ii(t)&&typeof t.fullText=="string"}class Fe{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Fe(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return st})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=Lh(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new Fe(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?st:{done:!1,value:e(i)}})}filter(e){return new Fe(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return st})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new Fe(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(Vs(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return st})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Fe(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(Vs(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return st})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Fe(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new Fe(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?st:this.nextFn(n.state)))}distinct(e){return new Fe(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return st})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function Lh(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Vs(t){return!!t&&typeof t[Symbol.iterator]=="function"}const md=new Fe(()=>{},()=>st),st=Object.freeze({done:!0,value:void 0});function pe(...t){if(t.length===1){const e=t[0];if(e instanceof Fe)return e;if(Vs(e))return new Fe(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Fe(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:st)}return t.length>1?new Fe(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];Vs(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return st}):md}class jc extends Fe{constructor(e,n,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return st})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var ro;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(ro||(ro={}));function io(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{je(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&io(i,e))}):je(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&io(r,e)))}function ya(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Wt(t){const n=Ps(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Ps(t){for(;t.$container;)t=t.$container;return t}function hl(t){return gt(t)?t.ref?[t.ref]:[]:tn(t)?t.items.map(e=>e.ref):[]}function zc(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e?.range;return new Fe(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(je(s)){if(r.keyIndex++,pl(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(je(o)&&pl(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return st})}function zi(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new jc(t,n=>zc(n,e))}function Vt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new jc(t,n=>zc(n,e),{includeRoot:!0})}function pl(t,e){if(!e)return!0;const n=t.$cstNode?.range;return n?np(n,e):!1}function Ks(t){return new Fe(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(gt(r)||tn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(gt(s)||tn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return st})}function Oh(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=gd(i.defaultValue))}function gd(t){return Array.isArray(t)?[...t.map(gd)]:t}const it={$type:"AbstractElement",cardinality:"cardinality"};function xh(t){return ee.isInstance(t,it.$type)}const $s={$type:"AbstractParserRule"};function Bi(t){return ee.isInstance(t,$s.$type)}const gs={$type:"AbstractRule"},pt={$type:"AbstractType"},Cn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Ta(t){return ee.isInstance(t,Cn.$type)}const Ls={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function yd(t){return ee.isInstance(t,Ls.$type)}const ml={$type:"ArrayLiteral",elements:"elements"},gl={$type:"ArrayType",elementType:"elementType"},Nn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Ln(t){return ee.isInstance(t,Nn.$type)}const so={$type:"BooleanLiteral",true:"true"};function Dh(t){return ee.isInstance(t,so.$type)}const bn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Mh(t){return ee.isInstance(t,bn.$type)}const Wn={$type:"Condition"},Os={$type:"Conjunction",left:"left",right:"right"};function Fh(t){return ee.isInstance(t,Os.$type)}const wn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Ra(t){return ee.isInstance(t,wn.$type)}const xs={$type:"Disjunction",left:"left",right:"right"};function Gh(t){return ee.isInstance(t,xs.$type)}const ao={$type:"EndOfFile",cardinality:"cardinality"};function Uh(t){return ee.isInstance(t,ao.$type)}const hn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},yl={$type:"GrammarImport",path:"path"},Jn={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Bc(t){return ee.isInstance(t,Jn.$type)}const oo={$type:"InferredType",name:"name"};function Td(t){return ee.isInstance(t,oo.$type)}const Gt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Hs(t){return ee.isInstance(t,Gt.$type)}const La={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},Tl={$type:"InfixRuleOperators",precedences:"precedences"},Ri={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function qh(t){return ee.isInstance(t,Ri.$type)}const vi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function On(t){return ee.isInstance(t,vi.$type)}const ys={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},Qn={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function jh(t){return ee.isInstance(t,Qn.$type)}const co={$type:"Negation",value:"value"};function zh(t){return ee.isInstance(t,co.$type)}const Rl={$type:"NumberLiteral",value:"value"},Ts={$type:"Parameter",name:"name"},lo={$type:"ParameterReference",parameter:"parameter"};function Bh(t){return ee.isInstance(t,lo.$type)}const kt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Xt(t){return ee.isInstance(t,kt.$type)}const Oa={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},Zn={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Wh(t){return ee.isInstance(t,Zn.$type)}const uo={$type:"ReturnType",name:"name"};function Vh(t){return ee.isInstance(t,uo.$type)}const er={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function xn(t){return ee.isInstance(t,er.$type)}const Ei={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Kh(t){return ee.isInstance(t,Ei.$type)}const vl={$type:"StringLiteral",value:"value"},tr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Hh(t){return ee.isInstance(t,tr.$type)}const dt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},nr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Yh(t){return ee.isInstance(t,nr.$type)}const en={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Jt(t){return ee.isInstance(t,en.$type)}const rr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Xh(t){return ee.isInstance(t,rr.$type)}const Ds={$type:"Type",name:"name",type:"type"};function Jh(t){return ee.isInstance(t,Ds.$type)}const Zr={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},ei={$type:"TypeDefinition"},El={$type:"UnionType",types:"types"},Ms={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Rd(t){return ee.isInstance(t,Ms.$type)}const ir={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Qh(t){return ee.isInstance(t,ir.$type)}const ti={$type:"ValueLiteral"},Ai={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Zh(t){return ee.isInstance(t,Ai.$type)}class vd extends fd{constructor(){super(...arguments),this.types={AbstractElement:{name:it.$type,properties:{cardinality:{name:it.cardinality}},superTypes:[]},AbstractParserRule:{name:$s.$type,properties:{},superTypes:[gs.$type,pt.$type]},AbstractRule:{name:gs.$type,properties:{},superTypes:[]},AbstractType:{name:pt.$type,properties:{},superTypes:[]},Action:{name:Cn.$type,properties:{cardinality:{name:Cn.cardinality},feature:{name:Cn.feature},inferredType:{name:Cn.inferredType},operator:{name:Cn.operator},type:{name:Cn.type,referenceType:pt.$type}},superTypes:[it.$type]},Alternatives:{name:Ls.$type,properties:{cardinality:{name:Ls.cardinality},elements:{name:Ls.elements,defaultValue:[]}},superTypes:[it.$type]},ArrayLiteral:{name:ml.$type,properties:{elements:{name:ml.elements,defaultValue:[]}},superTypes:[ti.$type]},ArrayType:{name:gl.$type,properties:{elementType:{name:gl.elementType}},superTypes:[ei.$type]},Assignment:{name:Nn.$type,properties:{cardinality:{name:Nn.cardinality},feature:{name:Nn.feature},operator:{name:Nn.operator},predicate:{name:Nn.predicate},terminal:{name:Nn.terminal}},superTypes:[it.$type]},BooleanLiteral:{name:so.$type,properties:{true:{name:so.true,defaultValue:!1}},superTypes:[Wn.$type,ti.$type]},CharacterRange:{name:bn.$type,properties:{cardinality:{name:bn.cardinality},left:{name:bn.left},lookahead:{name:bn.lookahead},parenthesized:{name:bn.parenthesized,defaultValue:!1},right:{name:bn.right}},superTypes:[dt.$type]},Condition:{name:Wn.$type,properties:{},superTypes:[]},Conjunction:{name:Os.$type,properties:{left:{name:Os.left},right:{name:Os.right}},superTypes:[Wn.$type]},CrossReference:{name:wn.$type,properties:{cardinality:{name:wn.cardinality},deprecatedSyntax:{name:wn.deprecatedSyntax,defaultValue:!1},isMulti:{name:wn.isMulti,defaultValue:!1},terminal:{name:wn.terminal},type:{name:wn.type,referenceType:pt.$type}},superTypes:[it.$type]},Disjunction:{name:xs.$type,properties:{left:{name:xs.left},right:{name:xs.right}},superTypes:[Wn.$type]},EndOfFile:{name:ao.$type,properties:{cardinality:{name:ao.cardinality}},superTypes:[it.$type]},Grammar:{name:hn.$type,properties:{imports:{name:hn.imports,defaultValue:[]},interfaces:{name:hn.interfaces,defaultValue:[]},isDeclared:{name:hn.isDeclared,defaultValue:!1},name:{name:hn.name},rules:{name:hn.rules,defaultValue:[]},types:{name:hn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:yl.$type,properties:{path:{name:yl.path}},superTypes:[]},Group:{name:Jn.$type,properties:{cardinality:{name:Jn.cardinality},elements:{name:Jn.elements,defaultValue:[]},guardCondition:{name:Jn.guardCondition},predicate:{name:Jn.predicate}},superTypes:[it.$type]},InferredType:{name:oo.$type,properties:{name:{name:oo.name}},superTypes:[pt.$type]},InfixRule:{name:Gt.$type,properties:{call:{name:Gt.call},dataType:{name:Gt.dataType},inferredType:{name:Gt.inferredType},name:{name:Gt.name},operators:{name:Gt.operators},parameters:{name:Gt.parameters,defaultValue:[]},returnType:{name:Gt.returnType,referenceType:pt.$type}},superTypes:[$s.$type]},InfixRuleOperatorList:{name:La.$type,properties:{associativity:{name:La.associativity},operators:{name:La.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Tl.$type,properties:{precedences:{name:Tl.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Ri.$type,properties:{attributes:{name:Ri.attributes,defaultValue:[]},name:{name:Ri.name},superTypes:{name:Ri.superTypes,defaultValue:[],referenceType:pt.$type}},superTypes:[pt.$type]},Keyword:{name:vi.$type,properties:{cardinality:{name:vi.cardinality},predicate:{name:vi.predicate},value:{name:vi.value}},superTypes:[it.$type]},NamedArgument:{name:ys.$type,properties:{calledByName:{name:ys.calledByName,defaultValue:!1},parameter:{name:ys.parameter,referenceType:Ts.$type},value:{name:ys.value}},superTypes:[]},NegatedToken:{name:Qn.$type,properties:{cardinality:{name:Qn.cardinality},lookahead:{name:Qn.lookahead},parenthesized:{name:Qn.parenthesized,defaultValue:!1},terminal:{name:Qn.terminal}},superTypes:[dt.$type]},Negation:{name:co.$type,properties:{value:{name:co.value}},superTypes:[Wn.$type]},NumberLiteral:{name:Rl.$type,properties:{value:{name:Rl.value}},superTypes:[ti.$type]},Parameter:{name:Ts.$type,properties:{name:{name:Ts.name}},superTypes:[]},ParameterReference:{name:lo.$type,properties:{parameter:{name:lo.parameter,referenceType:Ts.$type}},superTypes:[Wn.$type]},ParserRule:{name:kt.$type,properties:{dataType:{name:kt.dataType},definition:{name:kt.definition},entry:{name:kt.entry,defaultValue:!1},fragment:{name:kt.fragment,defaultValue:!1},inferredType:{name:kt.inferredType},name:{name:kt.name},parameters:{name:kt.parameters,defaultValue:[]},returnType:{name:kt.returnType,referenceType:pt.$type}},superTypes:[$s.$type]},ReferenceType:{name:Oa.$type,properties:{isMulti:{name:Oa.isMulti,defaultValue:!1},referenceType:{name:Oa.referenceType}},superTypes:[ei.$type]},RegexToken:{name:Zn.$type,properties:{cardinality:{name:Zn.cardinality},lookahead:{name:Zn.lookahead},parenthesized:{name:Zn.parenthesized,defaultValue:!1},regex:{name:Zn.regex}},superTypes:[dt.$type]},ReturnType:{name:uo.$type,properties:{name:{name:uo.name}},superTypes:[]},RuleCall:{name:er.$type,properties:{arguments:{name:er.arguments,defaultValue:[]},cardinality:{name:er.cardinality},predicate:{name:er.predicate},rule:{name:er.rule,referenceType:gs.$type}},superTypes:[it.$type]},SimpleType:{name:Ei.$type,properties:{primitiveType:{name:Ei.primitiveType},stringType:{name:Ei.stringType},typeRef:{name:Ei.typeRef,referenceType:pt.$type}},superTypes:[ei.$type]},StringLiteral:{name:vl.$type,properties:{value:{name:vl.value}},superTypes:[ti.$type]},TerminalAlternatives:{name:tr.$type,properties:{cardinality:{name:tr.cardinality},elements:{name:tr.elements,defaultValue:[]},lookahead:{name:tr.lookahead},parenthesized:{name:tr.parenthesized,defaultValue:!1}},superTypes:[dt.$type]},TerminalElement:{name:dt.$type,properties:{cardinality:{name:dt.cardinality},lookahead:{name:dt.lookahead},parenthesized:{name:dt.parenthesized,defaultValue:!1}},superTypes:[it.$type]},TerminalGroup:{name:nr.$type,properties:{cardinality:{name:nr.cardinality},elements:{name:nr.elements,defaultValue:[]},lookahead:{name:nr.lookahead},parenthesized:{name:nr.parenthesized,defaultValue:!1}},superTypes:[dt.$type]},TerminalRule:{name:en.$type,properties:{definition:{name:en.definition},fragment:{name:en.fragment,defaultValue:!1},hidden:{name:en.hidden,defaultValue:!1},name:{name:en.name},type:{name:en.type}},superTypes:[gs.$type]},TerminalRuleCall:{name:rr.$type,properties:{cardinality:{name:rr.cardinality},lookahead:{name:rr.lookahead},parenthesized:{name:rr.parenthesized,defaultValue:!1},rule:{name:rr.rule,referenceType:en.$type}},superTypes:[dt.$type]},Type:{name:Ds.$type,properties:{name:{name:Ds.name},type:{name:Ds.type}},superTypes:[pt.$type]},TypeAttribute:{name:Zr.$type,properties:{defaultValue:{name:Zr.defaultValue},isOptional:{name:Zr.isOptional,defaultValue:!1},name:{name:Zr.name},type:{name:Zr.type}},superTypes:[]},TypeDefinition:{name:ei.$type,properties:{},superTypes:[]},UnionType:{name:El.$type,properties:{types:{name:El.types,defaultValue:[]}},superTypes:[ei.$type]},UnorderedGroup:{name:Ms.$type,properties:{cardinality:{name:Ms.cardinality},elements:{name:Ms.elements,defaultValue:[]}},superTypes:[it.$type]},UntilToken:{name:ir.$type,properties:{cardinality:{name:ir.cardinality},lookahead:{name:ir.lookahead},parenthesized:{name:ir.parenthesized,defaultValue:!1},terminal:{name:ir.terminal}},superTypes:[dt.$type]},ValueLiteral:{name:ti.$type,properties:{},superTypes:[]},Wildcard:{name:Ai.$type,properties:{cardinality:{name:Ai.cardinality},lookahead:{name:Ai.lookahead},parenthesized:{name:Ai.parenthesized,defaultValue:!1}},superTypes:[dt.$type]}}}}const ee=new vd;function fo(t){return new jc(t,e=>Ii(e)?e.content:[],{includeRoot:!0})}function ep(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function ho(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Ys(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var zt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(zt||(zt={}));function tp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return zt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return zt.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?zt.Inside:n?zt.OverlapBack:r?zt.OverlapFront:zt.Outside}function np(t,e){return tp(t,e)>zt.After}const rp=/^[\w\p{L}]$/u;function ip(t,e){if(t){const n=sp(t,!0);if(n&&Al(n,e))return n;if(pd(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(Al(s,e))return s}}}}function Al(t,e){return hd(t)&&e.includes(t.tokenType.name)}function sp(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class Ed extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function Wi(t,e="Error: Got unexpected value."){throw new Error(e)}function z(t){return t.charCodeAt(0)}function xa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function ni(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function Vn(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function ap(){throw Error("Internal Error - Should never get here!")}function Sl(t){return t.type==="Character"}const Xs=[];for(let t=z("0");t<=z("9");t++)Xs.push(t);const Js=[z("_")].concat(Xs);for(let t=z("a");t<=z("z");t++)Js.push(t);for(let t=z("A");t<=z("Z");t++)Js.push(t);const kl=[z(" "),z("\f"),z(`
2
- `),z("\r"),z(" "),z("\v"),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z(" "),z("\u2028"),z("\u2029"),z(" "),z(" "),z(" "),z("\uFEFF")],op=/[0-9a-fA-F]/,Rs=/[0-9]/,cp=/[1-9]/;class Ad{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const n=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":ni(r,"global");break;case"i":ni(r,"ignoreCase");break;case"m":ni(r,"multiLine");break;case"u":ni(r,"unicode");break;case"y":ni(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":n="Lookbehind";break;case"!":n="NegativeLookbehind"}break}}Vn(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return ap()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;Vn(n);break}if(!(e===!0&&n===void 0)&&Vn(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Vn(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[z(`
3
- `),z("\r"),z("\u2028"),z("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=Xs;break;case"D":e=Xs,n=!0;break;case"s":e=kl;break;case"S":e=kl,n=!0;break;case"w":e=Js;break;case"W":e=Js,n=!0;break}if(Vn(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=z("\f");break;case"n":e=z(`
4
- `);break;case"r":e=z("\r");break;case"t":e=z(" ");break;case"v":e=z("\v");break}if(Vn(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:z("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:z(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
5
- `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:z(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,Sl(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,Sl(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else xa(r.value,e),e.push(z("-")),xa(i.value,e)}else xa(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
6
- `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:z("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(cp.test(e)===!1)throw Error("Expecting a positive integer");for(;Rs.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Rs.test(e)===!1)throw Error("Expecting an integer");for(;Rs.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
7
- `:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:z(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Rs.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
8
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
9
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(op.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class va{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const lp=/\r?\n/gm,up=new Ad;class dp extends va{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const n=String.fromCharCode(e.value);if(!this.multiline&&n===`
10
- `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=Ea(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
11
- `.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const Da=new dp;function fp(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Da.reset(t),Da.visit(up.pattern(t)),Da.multiline}catch{return!1}}const hp=`\f
12
- \r \v              \u2028\u2029   \uFEFF`.split("");function Sd(t){const e=typeof t=="string"?new RegExp(t):t;return hp.some(n=>e.test(n))}function Ea(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pp(t,e){const n=mp(t),r=e.match(n);return!!r&&r[0].length>0}function mp(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(l){s+=n.substr(r,l),r+=l}function c(l){s+="(?:"+n.substr(r,l)+"|$)",r+=l}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?n[r+2]==="{"?c(n.indexOf("}",r)-r+1):c(6):c(2);break;case"p":case"P":e.unicode?c(n.indexOf("}",r)-r+1):c(2);break;case"k":c(n.indexOf(">",r)-r+1);break;default:c(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],c(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[0].length):c(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=n.substr(a,r-a);break;case"<":switch(n[r+3]){case"=":case"!":a=r,r+=4,i(),s+=n.substr(a,r-a);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:c(1);break}return s}return new RegExp(i(),t.flags)}function gp(t){return t.rules.find(e=>Xt(e)&&e.entry)}function yp(t){return t.rules.filter(e=>Jt(e)&&e.hidden)}function kd(t,e){const n=new Set,r=gp(t);if(!r)return new Set(t.rules);const i=[r].concat(yp(t));for(const a of i)Cd(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||Jt(a)&&a.hidden)&&s.add(a);return s}function Cd(t,e,n){e.add(t.name),zi(t).forEach(r=>{if(xn(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Cd(i,e,n)}})}function Tp(t){if(t.terminal)return t.terminal;if(t.type.ref)return bd(t.type.ref)?.terminal}function Rp(t){return t.hidden&&!Sd(Vc(t))}function vp(t,e){return!t||!e?[]:Wc(t,e,t.astNode,!0)}function Nd(t,e,n){if(!t||!e)return;const r=Wc(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function Wc(t,e,n,r){if(!r){const i=ya(t.grammarSource,Ln);if(i&&i.feature===e)return[t]}return Ii(t)&&t.astNode===n?t.content.flatMap(i=>Wc(i,e,n,!1)):[]}function Ep(t,e,n){if(!t)return;const r=Ap(t,e,t?.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function Ap(t,e,n){if(t.astNode!==n)return[];if(On(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=fo(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?On(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Sp(t){const e=t.astNode;for(;e===t.container?.astNode;){const n=ya(t.grammarSource,Ln);if(n)return n;t=t.container}}function bd(t){let e=t;return Td(e)&&(Ta(e.$container)?e=e.$container.$container:Bi(e.$container)?e=e.$container:Wi(e.$container)),wd(t,e,new Map)}function wd(t,e,n){function r(i,s){let a;return ya(i,Ln)||(a=wd(s,s,n)),n.set(t,a),a}if(n.has(t))return n.get(t);n.set(t,void 0);for(const i of zi(e)){if(Ln(i)&&i.feature.toLowerCase()==="name")return n.set(t,i),i;if(xn(i)&&Xt(i.rule.ref))return r(i,i.rule.ref);if(Kh(i)&&i.typeRef?.ref)return r(i,i.typeRef.ref)}}function _d(t){return Id(t,new Set)}function Id(t,e){if(e.has(t))return!0;e.add(t);for(const n of zi(t))if(xn(n)){if(!n.rule.ref||Xt(n.rule.ref)&&!Id(n.rule.ref,e)||Hs(n.rule.ref))return!1}else{if(Ln(n))return!1;if(Ta(n))return!1}return!!t.definition}function Pd(t){if(!Jt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function Pi(t){if(Bi(t))return Xt(t)&&_d(t)?t.name:Pd(t)??t.name;if(qh(t)||Jh(t)||Vh(t))return t.name;if(Ta(t)){const e=kp(t);if(e)return e}else if(Td(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function kp(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Pi(t.type.ref)}function Cp(t){return Jt(t)?t.type?.name??"string":Pd(t)??t.name}function Vc(t){const e={s:!1,i:!1,u:!1},n=xr(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Kc=/[\s\S]/.source;function xr(t,e){if(Hh(t))return Np(t);if(Yh(t))return bp(t);if(Mh(t))return Ip(t);if(Xh(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return Kt(xr(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(jh(t))return _p(t);if(Qh(t))return wp(t);if(Wh(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Kt(r,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Zh(t))return Kt(Kc,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function Np(t){return Kt(t.elements.map(e=>xr(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function bp(t){return Kt(t.elements.map(e=>xr(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function wp(t){return Kt(`${Kc}*?${xr(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function _p(t){return Kt(`(?!${xr(t.terminal)})${Kc}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function Ip(t){return t.right?Kt(`[${Ma(t.left)}-${Ma(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Kt(Ma(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ma(t){return Ea(t.value)}function Kt(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function Pp(t){const e=[],n=t.Grammar;for(const r of n.rules)Jt(r)&&Rp(r)&&fp(Vc(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:rp}}function po(t){console&&console.error&&console.error(`Error: ${t}`)}function $d(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Ld(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function Od(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function $p(t){return Lp(t)?t.LABEL:t.name}function Lp(t){return Ze(t.LABEL)&&t.LABEL!==""}class wt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),E.forEach(this.definition,n=>{n.accept(e)})}}class He extends wt{constructor(e){super([]),this.idx=1,ct(this,vt(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Dr extends wt{constructor(e){super(e.definition),this.orgText="",ct(this,vt(e,n=>n!==void 0))}}class et extends wt{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ct(this,vt(e,n=>n!==void 0))}}let Ue=class extends wt{constructor(e){super(e.definition),this.idx=1,ct(this,vt(e,n=>n!==void 0))}};class lt extends wt{constructor(e){super(e.definition),this.idx=1,ct(this,vt(e,n=>n!==void 0))}}class ut extends wt{constructor(e){super(e.definition),this.idx=1,ct(this,vt(e,n=>n!==void 0))}}class Re extends wt{constructor(e){super(e.definition),this.idx=1,ct(this,vt(e,n=>n!==void 0))}}class tt extends wt{constructor(e){super(e.definition),this.idx=1,ct(this,vt(e,n=>n!==void 0))}}class nt extends wt{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,ct(this,vt(e,n=>n!==void 0))}}class le{constructor(e){this.idx=1,ct(this,vt(e,n=>n!==void 0))}accept(e){e.visit(this)}}function Op(t){return A.map(t,Fs)}function Fs(t){function e(n){return A.map(n,Fs)}if(t instanceof He){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return Ze(t.label)&&(n.label=t.label),n}else{if(t instanceof et)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ue)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof lt)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof ut)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Fs(new le({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof tt)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Fs(new le({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Re)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof nt)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof le){const n={type:"Terminal",name:t.terminalType.name,label:$p(t.terminalType),idx:t.idx};Ze(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=Ht(r)?r.source:r),n}else{if(t instanceof Dr)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Mr{visit(e){const n=e;switch(n.constructor){case He:return this.visitNonTerminal(n);case et:return this.visitAlternative(n);case Ue:return this.visitOption(n);case lt:return this.visitRepetitionMandatory(n);case ut:return this.visitRepetitionMandatoryWithSeparator(n);case tt:return this.visitRepetitionWithSeparator(n);case Re:return this.visitRepetition(n);case nt:return this.visitAlternation(n);case le:return this.visitTerminal(n);case Dr:return this.visitRule(n);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function xp(t){return t instanceof et||t instanceof Ue||t instanceof Re||t instanceof lt||t instanceof ut||t instanceof tt||t instanceof le||t instanceof Dr}function Qs(t,e=[]){return t instanceof Ue||t instanceof Re||t instanceof tt?!0:t instanceof nt?dd(t.definition,r=>Qs(r,e)):t instanceof He&&Xe(e,t)?!1:t instanceof wt?(t instanceof He&&e.push(t),yt(t.definition,r=>Qs(r,e))):!1}function Dp(t){return t instanceof nt}function Ct(t){if(t instanceof He)return"SUBRULE";if(t instanceof Ue)return"OPTION";if(t instanceof nt)return"OR";if(t instanceof lt)return"AT_LEAST_ONE";if(t instanceof ut)return"AT_LEAST_ONE_SEP";if(t instanceof tt)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof le)return"CONSUME";throw Error("non exhaustive match")}class Aa{walk(e,n=[]){E.forEach(e.definition,(r,i)=>{const s=Me(e.definition,i+1);if(r instanceof He)this.walkProdRef(r,s,n);else if(r instanceof le)this.walkTerminal(r,s,n);else if(r instanceof et)this.walkFlat(r,s,n);else if(r instanceof Ue)this.walkOption(r,s,n);else if(r instanceof lt)this.walkAtLeastOne(r,s,n);else if(r instanceof ut)this.walkAtLeastOneSep(r,s,n);else if(r instanceof tt)this.walkManySep(r,s,n);else if(r instanceof Re)this.walkMany(r,s,n);else if(r instanceof nt)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new Ue({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=Cl(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new Ue({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=Cl(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);E.forEach(e.definition,s=>{const a=new et({definition:[s]});this.walk(a,i)})}}function Cl(t,e,n){return[new Ue({definition:[new le({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function Vi(t){if(t instanceof He)return Vi(t.referencedRule);if(t instanceof le)return Gp(t);if(xp(t))return Mp(t);if(Dp(t))return Fp(t);throw Error("non exhaustive match")}function Mp(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=Qs(s),e=e.concat(Vi(s)),r=r+1,i=n.length>r;return qc(e)}function Fp(t){const e=A.map(t.definition,n=>Vi(n));return qc(A.flatten(e))}function Gp(t){return[t.terminalType]}const xd="_~IN~_";class Up extends Aa{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=jp(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new et({definition:s}),o=Vi(a);this.follows[i]=o}}function qp(t){const e={};return E.forEach(t,n=>{const r=new Up(n).startWalking();ct(e,r)}),e}function jp(t,e){return t.name+e+xd}let Gs={};const zp=new Ad;function Sa(t){const e=t.toString();if(Gs.hasOwnProperty(e))return Gs[e];{const n=zp.pattern(e);return Gs[e]=n,n}}function Bp(){Gs={}}const Dd="Complement Sets are not supported for first char optimization",Zs=`Unable to use "first char" lexer optimizations:
13
- `;function Wp(t,e=!1){try{const n=Sa(t);return mo(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===Dd)e&&$d(`${Zs} Unable to optimize: < ${t.toString()} >
14
- Complement Sets cannot be automatically optimized.
15
- This will disable the lexer's first char optimizations.
16
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
17
- This will disable the lexer's first char optimizations.
18
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),po(`${Zs}
19
- Failed parsing: < ${t.toString()} >
20
- Using the @chevrotain/regexp-to-ast library
21
- Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function mo(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)mo(t.value[i],e,n);break;case"Alternative":const r=t.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":vs(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(Dd);E.forEach(a.value,c=>{if(typeof c=="number")vs(c,e,n);else{const l=c;if(n===!0)for(let u=l.from;u<=l.to;u++)vs(u,e,n);else{for(let u=l.from;u<=l.to&&u<ki;u++)vs(u,e,n);if(l.to>=ki){const u=l.from>=ki?l.from:ki,f=l.to,m=nn(u),p=nn(f);for(let k=m;k<=p;k++)e[k]=k}}}});break;case"Group":mo(a.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&go(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return E.values(e)}function vs(t,e,n){const r=nn(t);e[r]=r,n===!0&&Vp(t,e)}function Vp(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=nn(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=nn(i.charCodeAt(0));e[s]=s}}}function Nl(t,e){return A.find(t.value,n=>{if(typeof n=="number")return Xe(e,n);{const r=n;return A.find(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function go(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?F.isArray(t.value)?yt(t.value,go):go(t.value):!1}class Kp extends va{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){Xe(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Nl(e,this.targetCharCodes)===void 0&&(this.found=!0):Nl(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function Hc(t,e){if(e instanceof RegExp){const n=Sa(e),r=new Kp(t);return r.visit(n),r.found}else return A.find(e,n=>Xe(t,n.charCodeAt(0)))!==void 0}const Dn="PATTERN",Si="defaultMode",Es="modes";let Md=typeof new RegExp("(?:)").sticky=="boolean";function Hp(t,e){e=A.defaults(e,{useSticky:Md,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
- `],tracer:(w,N)=>N()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{Tm()});let r;n("Reject Lexer.NA",()=>{r=ga(t,w=>w[Dn]===Qe.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=A.map(r,w=>{const N=w[Dn];if(Ht(N)){const x=N.source;return x.length===1&&x!=="^"&&x!=="$"&&x!=="."&&!N.ignoreCase?x:x.length===2&&x[0]==="\\"&&!Xe(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],x[1])?x[1]:e.useSticky?wl(N):bl(N)}else{if(F.isFunction(N))return i=!0,{exec:N};if(typeof N=="object")return i=!0,N;if(typeof N=="string"){if(N.length===1)return N;{const x=N.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),H=new RegExp(x);return e.useSticky?wl(H):bl(H)}}else throw Error("non exhaustive match")}})});let a,o,c,l,u;n("misc mapping",()=>{a=A.map(r,w=>w.tokenTypeIdx),o=A.map(r,w=>{const N=w.GROUP;if(N!==Qe.SKIPPED){if(Ze(N))return N;if(E.isUndefined(N))return!1;throw Error("non exhaustive match")}}),c=A.map(r,w=>{const N=w.LONGER_ALT;if(N)return F.isArray(N)?A.map(N,H=>dl(r,H)):[dl(r,N)]}),l=A.map(r,w=>w.PUSH_MODE),u=A.map(r,w=>A.has(w,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const w=Ud(e.lineTerminatorCharacters);f=A.map(r,N=>!1),e.positionTracking!=="onlyOffset"&&(f=A.map(r,N=>A.has(N,"LINE_BREAKS")?!!N.LINE_BREAKS:Gd(N,w)===!1&&Hc(w,N.PATTERN)))});let m,p,k,I;n("Misc Mapping #2",()=>{m=A.map(r,Fd),p=A.map(s,mm),k=E.reduce(r,(w,N)=>{const x=N.GROUP;return Ze(x)&&x!==Qe.SKIPPED&&(w[x]=[]),w},{}),I=A.map(s,(w,N)=>({pattern:s[N],longerAlt:c[N],canLineTerminator:f[N],isCustom:m[N],short:p[N],group:o[N],push:l[N],pop:u[N],tokenTypeIdx:a[N],tokenType:r[N]}))});let $=!0,b=[];return e.safeMode||n("First Char Optimization",()=>{b=E.reduce(r,(w,N,x)=>{if(typeof N.PATTERN=="string"){const H=N.PATTERN.charCodeAt(0),K=nn(H);Fa(w,K,I[x])}else if(F.isArray(N.START_CHARS_HINT)){let H;E.forEach(N.START_CHARS_HINT,K=>{const Q=typeof K=="string"?K.charCodeAt(0):K,ae=nn(Q);H!==ae&&(H=ae,Fa(w,ae,I[x]))})}else if(Ht(N.PATTERN))if(N.PATTERN.unicode)$=!1,e.ensureOptimizations&&po(`${Zs} Unable to analyze < ${N.PATTERN.toString()} > pattern.
23
- The regexp unicode flag is not currently supported by the regexp-to-ast library.
24
- This will disable the lexer's first char optimizations.
25
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const H=Wp(N.PATTERN,e.ensureOptimizations);F.isEmpty(H)&&($=!1),E.forEach(H,K=>{Fa(w,K,I[x])})}else e.ensureOptimizations&&po(`${Zs} TokenType: <${N.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
26
- This will disable the lexer's first char optimizations.
27
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),$=!1;return w},[])}),{emptyGroups:k,patternIdxToConfig:I,charCodeToPatternIdxToConfig:b,hasCustom:i,canBeOptimized:$}}function Yp(t,e){let n=[];const r=Jp(t);n=n.concat(r.errors);const i=Qp(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Xp(s)),n=n.concat(am(s)),n=n.concat(om(s,e)),n=n.concat(cm(s)),n}function Xp(t){let e=[];const n=E.filter(t,r=>Ht(r[Dn]));return e=e.concat(em(n)),e=e.concat(rm(n)),e=e.concat(im(n)),e=e.concat(sm(n)),e=e.concat(tm(n)),e}function Jp(t){const e=E.filter(t,i=>!A.has(i,Dn)),n=A.map(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:ve.MISSING_PATTERN,tokenTypes:[i]})),r=ma(t,e);return{errors:n,valid:r}}function Qp(t){const e=E.filter(t,i=>{const s=i[Dn];return!Ht(s)&&!F.isFunction(s)&&!A.has(s,"exec")&&!Ze(s)}),n=A.map(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ve.INVALID_PATTERN,tokenTypes:[i]})),r=ma(t,e);return{errors:n,valid:r}}const Zp=/[^\\][$]/;function em(t){class e extends va{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=E.filter(t,i=>{const s=i.PATTERN;try{const a=Sa(s),o=new e;return o.visit(a),o.found}catch{return Zp.test(s.source)}});return A.map(n,i=>({message:`Unexpected RegExp Anchor Error:
28
- Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
29
- See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ve.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function tm(t){const e=E.filter(t,r=>r.PATTERN.test(""));return A.map(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:ve.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const nm=/[^\\[][\^]|^\^/;function rm(t){class e extends va{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=E.filter(t,i=>{const s=i.PATTERN;try{const a=Sa(s),o=new e;return o.visit(a),o.found}catch{return nm.test(s.source)}});return A.map(n,i=>({message:`Unexpected RegExp Anchor Error:
30
- Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
31
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ve.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function im(t){const e=E.filter(t,r=>{const i=r[Dn];return i instanceof RegExp&&(i.multiline||i.global)});return A.map(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ve.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function sm(t){const e=[];let n=A.map(t,s=>E.reduce(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!Xe(e,o)&&o.PATTERN!==Qe.NA&&(e.push(o),a.push(o)),a),[]));n=ji(n);const r=E.filter(n,s=>s.length>1);return A.map(r,s=>{const a=A.map(s,c=>c.name);return{message:`The same RegExp pattern ->${Rt(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:ve.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function am(t){const e=E.filter(t,r=>{if(!A.has(r,"GROUP"))return!1;const i=r.GROUP;return i!==Qe.SKIPPED&&i!==Qe.NA&&!Ze(i)});return A.map(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ve.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function om(t,e){const n=E.filter(t,i=>i.PUSH_MODE!==void 0&&!Xe(e,i.PUSH_MODE));return A.map(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:ve.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function cm(t){const e=[],n=E.reduce(t,(r,i,s)=>{const a=i.PATTERN;return a===Qe.NA||(Ze(a)?r.push({str:a,idx:s,tokenType:i}):Ht(a)&&um(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return E.forEach(t,(r,i)=>{E.forEach(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&lm(s,r.PATTERN)){const c=`Token: ->${o.name}<- can never be matched.
32
- Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
33
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ve.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function lm(t,e){if(Ht(e)){if(dm(e))return!1;const n=e.exec(t);return n!==null&&n.index===0}else{if(F.isFunction(e))return e(t,0,[],{});if(A.has(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function um(t){const e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return A.find(e,n=>t.source.indexOf(n)!==-1)===void 0}function dm(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function bl(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function wl(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function fm(t,e,n){const r=[];return A.has(t,Si)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Si+`> property in its definition
34
- `,type:ve.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),A.has(t,Es)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Es+`> property in its definition
35
- `,type:ve.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),A.has(t,Es)&&A.has(t,Si)&&!A.has(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Si}: <${t.defaultMode}>which does not exist
36
- `,type:ve.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),A.has(t,Es)&&E.forEach(t.modes,(i,s)=>{E.forEach(i,(a,o)=>{if(E.isUndefined(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
37
- `,type:ve.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(A.has(a,"LONGER_ALT")){const c=F.isArray(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];E.forEach(c,l=>{!E.isUndefined(l)&&!Xe(i,l)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${a.name}> outside of mode <${s}>
38
- `,type:ve.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function hm(t,e,n){const r=[];let i=!1;const s=ji(A.flatten(E.values(t.modes))),a=ga(s,c=>c[Dn]===Qe.NA),o=Ud(n);return e&&E.forEach(a,c=>{const l=Gd(c,o);if(l!==!1){const f={message:ym(c,l),type:l.issue,tokenType:c};r.push(f)}else A.has(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Hc(o,c.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
39
- This Lexer has been defined to track line and column information,
40
- But none of the Token Types can be identified as matching a line terminator.
41
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
42
- for details.`,type:ve.NO_LINE_BREAKS_FLAGS}),r}function pm(t){const e={},n=E.keys(t);return E.forEach(n,r=>{const i=t[r];if(F.isArray(i))e[r]=[];else throw Error("non exhaustive match")}),e}function Fd(t){const e=t.PATTERN;if(Ht(e))return!1;if(F.isFunction(e))return!0;if(A.has(e,"exec"))return!0;if(Ze(e))return!1;throw Error("non exhaustive match")}function mm(t){return Ze(t)&&t.length===1?t.charCodeAt(0):!1}const gm={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function Gd(t,e){if(A.has(t,"LINE_BREAKS"))return!1;if(Ht(t.PATTERN)){try{Hc(e,t.PATTERN)}catch(n){return{issue:ve.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(Ze(t.PATTERN))return!1;if(Fd(t))return{issue:ve.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function ym(t,e){if(e.issue===ve.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
43
- The problem is in the <${t.name}> Token Type
44
- Root cause: ${e.errMsg}.
45
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===ve.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
46
- The problem is in the <${t.name}> Token Type
47
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Ud(t){return A.map(t,n=>Ze(n)?n.charCodeAt(0):n)}function Fa(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const ki=256;let Us=[];function nn(t){return t<ki?t:Us[t]}function Tm(){if(F.isEmpty(Us)){Us=new Array(65536);for(let t=0;t<65536;t++)Us[t]=t>255?255+~~(t/255):t}}function Ki(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function ea(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let _l=1;const qd={};function Hi(t){const e=Rm(t);vm(e),Am(e),Em(e),E.forEach(e,n=>{n.isParent=n.categoryMatches.length>0})}function Rm(t){let e=qe.clone(t),n=t,r=!0;for(;r;){n=ji(A.flatten(A.map(n,s=>s.CATEGORIES)));const i=ma(n,e);e=e.concat(i),F.isEmpty(i)?r=!1:n=i}return e}function vm(t){E.forEach(t,e=>{zd(e)||(qd[_l]=e,e.tokenTypeIdx=_l++),Il(e)&&!F.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Il(e)||(e.CATEGORIES=[]),Sm(e)||(e.categoryMatches=[]),km(e)||(e.categoryMatchesMap={})})}function Em(t){E.forEach(t,e=>{e.categoryMatches=[],E.forEach(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(qd[r].tokenTypeIdx)})})}function Am(t){E.forEach(t,e=>{jd([],e)})}function jd(t,e){E.forEach(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),E.forEach(e.CATEGORIES,n=>{const r=t.concat(e);Xe(r,n)||jd(r,n)})}function zd(t){return A.has(t,"tokenTypeIdx")}function Il(t){return A.has(t,"CATEGORIES")}function Sm(t){return A.has(t,"categoryMatches")}function km(t){return A.has(t,"categoryMatchesMap")}function Cm(t){return A.has(t,"tokenTypeIdx")}const yo={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i,s){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var ve;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(ve||(ve={}));const Ci={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
- `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:yo,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Ci);class Qe{constructor(e,n=Ci){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:c}=Ld(s),l=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,c}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
49
- a boolean 2nd argument is no longer supported`);this.config=ct({},Ci,n);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Ci.lineTerminatorsPattern)this.config.lineTerminatorsPattern=gm;else if(this.config.lineTerminatorCharacters===Ci.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
50
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.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),F.isArray(e)?i={modes:{defaultMode:qe.clone(e)},defaultMode:Si}:(s=!1,i=qe.clone(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(fm(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(hm(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},E.forEach(i.modes,(o,c)=>{i.modes[c]=ga(o,l=>E.isUndefined(l))});const a=E.keys(i.modes);if(E.forEach(i.modes,(o,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Yp(o,a))}),F.isEmpty(this.lexerDefinitionErrors)){Hi(o);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=Hp(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=l.charCodeToPatternIdxToConfig,this.emptyGroups=ct({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,!F.isEmpty(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const c=A.map(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
51
- `);throw new Error(`Errors detected in definition of Lexer:
52
- `+c)}E.forEach(this.lexerDefinitionWarning,o=>{$d(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(Md?(this.chopInput=F.identity,this.match=this.matchWithTest):(this.updateLastIndex=E.noop,this.match=this.matchWithExec),s&&(this.handleModes=E.noop),this.trackStartLines===!1&&(this.computeNewColumn=F.identity),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=E.noop),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=E.reduce(this.canModeBeOptimized,(c,l,u)=>(l===!1&&c.push(u),c),[]);if(n.ensureOptimizations&&!F.isEmpty(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
53
- Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
54
- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Bp()}),this.TRACE_INIT("toFastProperties",()=>{Od(this)})})}tokenize(e,n=this.defaultMode){if(!F.isEmpty(this.lexerDefinitionErrors)){const i=A.map(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
55
- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
56
- `+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,c,l,u,f,m,p,k,I,$,b;const w=e,N=w.length;let x=0,H=0;const K=this.hasCustom?0:Math.floor(e.length/10),Q=new Array(K),ae=[];let ue=this.trackStartLines?1:void 0,Ee=this.trackStartLines?1:void 0;const P=pm(this.emptyGroups),T=this.trackStartLines,g=this.config.lineTerminatorsPattern;let C=0,y=[],R=[];const S=[],D=[];Object.freeze(D);let G;function M(){return y}function j(ne){const _e=nn(ne),Le=R[_e];return Le===void 0?D:Le}const B=ne=>{if(S.length===1&&ne.tokenType.PUSH_MODE===void 0){const _e=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ne);ae.push({offset:ne.startOffset,line:ne.startLine,column:ne.startColumn,length:ne.image.length,message:_e})}else{S.pop();const _e=A.last(S);y=this.patternIdxToConfig[_e],R=this.charCodeToPatternIdxToConfig[_e],C=y.length;const Le=this.canModeBeOptimized[_e]&&this.config.safeMode===!1;R&&Le?G=j:G=M}};function ie(ne){S.push(ne),R=this.charCodeToPatternIdxToConfig[ne],y=this.patternIdxToConfig[ne],C=y.length,C=y.length;const _e=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;R&&_e?G=j:G=M}ie.call(this,n);let V;const we=this.config.recoveryEnabled;for(;x<N;){c=null;const ne=w.charCodeAt(x),_e=G(ne),Le=_e.length;for(r=0;r<Le;r++){V=_e[r];const de=V.pattern;l=null;const Oe=V.short;if(Oe!==!1?ne===Oe&&(c=de):V.isCustom===!0?(b=de.exec(w,x,Q,P),b!==null?(c=b[0],b.payload!==void 0&&(l=b.payload)):c=null):(this.updateLastIndex(de,x),c=this.match(de,e,x)),c!==null){if(o=V.longerAlt,o!==void 0){const Ae=o.length;for(s=0;s<Ae;s++){const Y=y[o[s]],Pe=Y.pattern;if(u=null,Y.isCustom===!0?(b=Pe.exec(w,x,Q,P),b!==null?(a=b[0],b.payload!==void 0&&(u=b.payload)):a=null):(this.updateLastIndex(Pe,x),a=this.match(Pe,e,x)),a&&a.length>c.length){c=a,l=u,V=Y;break}}}break}}if(c!==null){if(f=c.length,m=V.group,m!==void 0&&(p=V.tokenTypeIdx,k=this.createTokenInstance(c,x,p,V.tokenType,ue,Ee,f),this.handlePayload(k,l),m===!1?H=this.addToken(Q,H,k):P[m].push(k)),e=this.chopInput(e,f),x=x+f,Ee=this.computeNewColumn(Ee,f),T===!0&&V.canLineTerminator===!0){let de=0,Oe,Ae;g.lastIndex=0;do Oe=g.test(c),Oe===!0&&(Ae=g.lastIndex-1,de++);while(Oe===!0);de!==0&&(ue=ue+de,Ee=f-Ae,this.updateTokenEndLineColumnLocation(k,m,Ae,de,ue,Ee,f))}this.handleModes(V,B,ie,k)}else{const de=x,Oe=ue,Ae=Ee;let Y=we===!1;for(;Y===!1&&x<N;)for(e=this.chopInput(e,1),x++,i=0;i<C;i++){const Pe=y[i],oe=Pe.pattern,Je=Pe.short;if(Je!==!1?w.charCodeAt(x)===Je&&(Y=!0):Pe.isCustom===!0?Y=oe.exec(w,x,Q,P)!==null:(this.updateLastIndex(oe,x),Y=oe.exec(e)!==null),Y===!0)break}if(I=x-de,Ee=this.computeNewColumn(Ee,I),$=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(w,de,I,Oe,Ae,A.last(S)),ae.push({offset:de,line:Oe,column:Ae,length:I,message:$}),we===!1)break}}return this.hasCustom||(Q.length=H),{tokens:Q,groups:P,errors:ae}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let c,l;n!==void 0&&(c=r===o-1,l=c?-1:0,i===1&&c===!0||(e.endLine=s+l,e.endColumn=a-1+-l))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,a){return{image:e,startOffset:n,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:n+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}Qe.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.";Qe.NA=/NOT_APPLICABLE/;function fr(t){return Bd(t)?t.LABEL:t.name}function Bd(t){return Ze(t.LABEL)&&t.LABEL!==""}const Nm="parent",Pl="categories",$l="label",Ll="group",Ol="push_mode",xl="pop_mode",Dl="longer_alt",Ml="line_breaks",Fl="start_chars_hint";function Wd(t){return bm(t)}function bm(t){const e=t.pattern,n={};if(n.name=t.name,E.isUndefined(e)||(n.PATTERN=e),A.has(t,Nm))throw`The parent property is no longer supported.
57
- See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return A.has(t,Pl)&&(n.CATEGORIES=t[Pl]),Hi([n]),A.has(t,$l)&&(n.LABEL=t[$l]),A.has(t,Ll)&&(n.GROUP=t[Ll]),A.has(t,xl)&&(n.POP_MODE=t[xl]),A.has(t,Ol)&&(n.PUSH_MODE=t[Ol]),A.has(t,Dl)&&(n.LONGER_ALT=t[Dl]),A.has(t,Ml)&&(n.LINE_BREAKS=t[Ml]),A.has(t,Fl)&&(n.START_CHARS_HINT=t[Fl]),n}const rn=Wd({name:"EOF",pattern:Qe.NA});Hi([rn]);function Yc(t,e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Vd(t,e){return Ki(t,e)}const ur={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${Bd(t)?`--> ${fr(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
58
- but found: '`+Rt(e).image+"'";if(r)return s+r+o;{const c=E.reduce(t,(m,p)=>m.concat(p),[]),l=A.map(c,m=>`[${A.map(m,p=>fr(p)).join(", ")}]`),f=`one of these possible Token sequences:
59
- ${A.map(l,(m,p)=>` ${p+1}. ${m}`).join(`
60
- `)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
61
- but found: '`+Rt(e).image+"'";if(n)return i+n+a;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
62
- <${A.map(t,l=>`[${A.map(l,u=>fr(u)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(ur);const wm={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
- inside top level rule: ->`+t.name+"<-"}},Pn={buildDuplicateFoundError(t,e){function n(u){return u instanceof le?u.terminalType.name:u instanceof He?u.nonTerminalName:""}const r=t.name,i=Rt(e),s=i.idx,a=Ct(i),o=n(i),c=s>0;let l=`->${a}${c?s:""}<- ${o?`with argument: ->${o}<-`:""}
64
- appears more than once (${e.length} times) in the top level rule: ->${r}<-.
65
- For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
66
- `;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
67
- `),l},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
68
- The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
69
- To resolve this make sure each Terminal and Non-Terminal names are unique
70
- This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
71
- and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=A.map(t.prefixPath,i=>fr(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
72
- in <OR${n}> inside <${t.topLevelRule.name}> Rule,
73
- <${e}> may appears as a prefix path in all these alternatives.
74
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
75
- For Further details.`},buildAlternationAmbiguityError(t){const e=A.map(t.prefixPath,i=>fr(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,
76
- <${e}> may appears as a prefix path in all these alternatives.
77
- `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
78
- For Further details.`,r},buildEmptyRepetitionError(t){let e=Ct(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
79
- This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
80
- Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
81
- <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
82
- has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=A.map(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
83
- rule: <${e}> can be invoked from itself (directly or indirectly)
84
- without consuming any Tokens. The grammar path that causes this is:
85
- ${r}
86
- To fix this refactor your grammar to remove the left recursion.
87
- see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Dr?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function _m(t,e){const n=new Im(t,e);return n.resolveRefs(),n.errors}class Im extends Mr{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){E.forEach(E.values(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:Ye.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class Pm extends Aa{constructor(e,n){super(),this.topProd=e,this.path=n,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=qe.clone(this.path.ruleStack).reverse(),this.occurrenceStack=qe.clone(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){F.isEmpty(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class $m extends Pm{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new et({definition:i});this.possibleTokTypes=Vi(s),this.found=!0}}}class ka extends Aa{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class Lm extends ka{walkMany(e,n,r){if(e.idx===this.occurrence){const i=Rt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof le&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class Gl extends ka{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=Rt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof le&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class Om extends ka{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=Rt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof le&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class Ul extends ka{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=Rt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof le&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function To(t,e,n=[]){n=qe.clone(n);let r=[],i=0;function s(o){return o.concat(Me(t,i+1))}function a(o){const c=To(s(o),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof et)return a(o.definition);if(o instanceof He)return a(o.definition);if(o instanceof Ue)r=a(o.definition);else if(o instanceof lt){const c=o.definition.concat([new Re({definition:o.definition})]);return a(c)}else if(o instanceof ut){const c=[new et({definition:o.definition}),new Re({definition:[new le({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof tt){const c=o.definition.concat([new Re({definition:[new le({terminalType:o.separator})].concat(o.definition)})]);r=a(c)}else if(o instanceof Re){const c=o.definition.concat([new Re({definition:o.definition})]);r=a(c)}else{if(o instanceof nt)return E.forEach(o.definition,c=>{F.isEmpty(c.definition)===!1&&(r=a(c.definition))}),r;if(o instanceof le)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:Me(t,i)}),r}function Kd(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const c=e.length,l=c-r-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!F.isEmpty(f);){const m=f.pop();if(m===a){o&&A.last(f).idx<=l&&f.pop();continue}const p=m.def,k=m.idx,I=m.ruleStack,$=m.occurrenceStack;if(F.isEmpty(p))continue;const b=p[0];if(b===i){const w={idx:k,def:Me(p),ruleStack:_i(I),occurrenceStack:_i($)};f.push(w)}else if(b instanceof le)if(k<c-1){const w=k+1,N=e[w];if(n(N,b.terminalType)){const x={idx:w,def:Me(p),ruleStack:I,occurrenceStack:$};f.push(x)}}else if(k===c-1)u.push({nextTokenType:b.terminalType,nextTokenOccurrence:b.idx,ruleStack:I,occurrenceStack:$}),o=!0;else throw Error("non exhaustive match");else if(b instanceof He){const w=qe.clone(I);w.push(b.nonTerminalName);const N=qe.clone($);N.push(b.idx);const x={idx:k,def:b.definition.concat(s,Me(p)),ruleStack:w,occurrenceStack:N};f.push(x)}else if(b instanceof Ue){const w={idx:k,def:Me(p),ruleStack:I,occurrenceStack:$};f.push(w),f.push(a);const N={idx:k,def:b.definition.concat(Me(p)),ruleStack:I,occurrenceStack:$};f.push(N)}else if(b instanceof lt){const w=new Re({definition:b.definition,idx:b.idx}),N=b.definition.concat([w],Me(p)),x={idx:k,def:N,ruleStack:I,occurrenceStack:$};f.push(x)}else if(b instanceof ut){const w=new le({terminalType:b.separator}),N=new Re({definition:[w].concat(b.definition),idx:b.idx}),x=b.definition.concat([N],Me(p)),H={idx:k,def:x,ruleStack:I,occurrenceStack:$};f.push(H)}else if(b instanceof tt){const w={idx:k,def:Me(p),ruleStack:I,occurrenceStack:$};f.push(w),f.push(a);const N=new le({terminalType:b.separator}),x=new Re({definition:[N].concat(b.definition),idx:b.idx}),H=b.definition.concat([x],Me(p)),K={idx:k,def:H,ruleStack:I,occurrenceStack:$};f.push(K)}else if(b instanceof Re){const w={idx:k,def:Me(p),ruleStack:I,occurrenceStack:$};f.push(w),f.push(a);const N=new Re({definition:b.definition,idx:b.idx}),x=b.definition.concat([N],Me(p)),H={idx:k,def:x,ruleStack:I,occurrenceStack:$};f.push(H)}else if(b instanceof nt)for(let w=b.definition.length-1;w>=0;w--){const N=b.definition[w],x={idx:k,def:N.definition.concat(Me(p)),ruleStack:I,occurrenceStack:$};f.push(x),f.push(a)}else if(b instanceof et)f.push({idx:k,def:b.definition.concat(Me(p)),ruleStack:I,occurrenceStack:$});else if(b instanceof Dr)f.push(xm(b,k,I,$));else throw Error("non exhaustive match")}return u}function xm(t,e,n,r){const i=qe.clone(n);i.push(t.name);const s=qe.clone(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var me;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(me||(me={}));function Xc(t){if(t instanceof Ue||t==="Option")return me.OPTION;if(t instanceof Re||t==="Repetition")return me.REPETITION;if(t instanceof lt||t==="RepetitionMandatory")return me.REPETITION_MANDATORY;if(t instanceof ut||t==="RepetitionMandatoryWithSeparator")return me.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof tt||t==="RepetitionWithSeparator")return me.REPETITION_WITH_SEPARATOR;if(t instanceof nt||t==="Alternation")return me.ALTERNATION;throw Error("non exhaustive match")}function ql(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=Xc(r);return s===me.ALTERNATION?Ca(e,n,i):Na(e,n,s,i)}function Dm(t,e,n,r,i,s){const a=Ca(t,e,n),o=Xd(a)?ea:Ki;return s(a,r,o,i)}function Mm(t,e,n,r,i,s){const a=Na(t,e,i,n),o=Xd(a)?ea:Ki;return s(a[0],o,r)}function Fm(t,e,n,r){const i=t.length,s=yt(t,a=>yt(a,o=>o.length===1));if(e)return function(a){const o=A.map(a,c=>c.GATE);for(let c=0;c<i;c++){const l=t[c],u=l.length,f=o[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let m=0;m<u;m++){const p=l[m],k=p.length;for(let I=0;I<k;I++){const $=this.LA(I+1);if(n($,p[I])===!1)continue e}return c}}};if(s&&!r){const a=A.map(t,c=>A.flatten(c)),o=E.reduce(a,(c,l,u)=>(E.forEach(l,f=>{A.has(c,f.tokenTypeIdx)||(c[f.tokenTypeIdx]=u),E.forEach(f.categoryMatches,m=>{A.has(c,m)||(c[m]=u)})}),c),{});return function(){const c=this.LA(1);return o[c.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],c=o.length;e:for(let l=0;l<c;l++){const u=o[l],f=u.length;for(let m=0;m<f;m++){const p=this.LA(m+1);if(n(p,u[m])===!1)continue e}return a}}}}function Gm(t,e,n){const r=yt(t,s=>s.length===1),i=t.length;if(r&&!n){const s=A.flatten(t);if(s.length===1&&F.isEmpty(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=E.reduce(s,(o,c,l)=>(o[c.tokenTypeIdx]=!0,E.forEach(c.categoryMatches,u=>{o[u]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=t[s],o=a.length;for(let c=0;c<o;c++){const l=this.LA(c+1);if(e(l,a[c])===!1)continue e}return!0}return!1}}class Um extends Aa{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,me.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,me.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,me.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,me.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,me.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class Hd extends Mr{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,me.OPTION)}visitRepetition(e){this.checkIsTarget(e,me.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,me.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,me.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,me.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,me.ALTERNATION)}}function jl(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function Ga(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+r.tokenTypeIdx);for(let o=0;o<r.categoryMatches.length;o++){const c="_"+r.categoryMatches[o];i.push(a+c)}}e=i}return e}function qm(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function Yd(t,e){const n=A.map(t,a=>To([a],1)),r=jl(n.length),i=A.map(n,a=>{const o={};return E.forEach(a,c=>{const l=Ga(c.partialPath);E.forEach(l,u=>{o[u]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=jl(o.length);for(let c=0;c<o.length;c++){const l=o[c];for(let u=0;u<l.length;u++){const f=l[u].partialPath,m=l[u].suffixDef,p=Ga(f);if(qm(i,p,c)||F.isEmpty(m)||f.length===e){const I=r[c];if(Ro(I,f)===!1){I.push(f);for(let $=0;$<p.length;$++){const b=p[$];i[c][b]=!0}}}else{const I=To(m,a+1,f);s[c]=s[c].concat(I),E.forEach(I,$=>{const b=Ga($.partialPath);E.forEach(b,w=>{i[c][w]=!0})})}}}}return r}function Ca(t,e,n,r){const i=new Hd(t,me.ALTERNATION,r);return e.accept(i),Yd(i.result,n)}function Na(t,e,n,r){const i=new Hd(t,n);e.accept(i);const s=i.result,o=new Um(e,t,n).startWalking(),c=new et({definition:s}),l=new et({definition:o});return Yd([c,l],r)}function Ro(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],a=r[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function jm(t,e){return t.length<e.length&&yt(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function Xd(t){return yt(t,e=>yt(e,n=>yt(n,r=>F.isEmpty(r.categoryMatches))))}function zm(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return A.map(e,n=>Object.assign({type:Ye.CUSTOM_LOOKAHEAD_VALIDATION},n))}function Bm(t,e,n,r){const i=ot(t,c=>Wm(c,n)),s=rg(t,e,n),a=ot(t,c=>Zm(c,n)),o=ot(t,c=>Hm(c,t,r,n));return i.concat(s,a,o)}function Wm(t,e){const n=new Km;t.accept(n);const r=n.allProductions,i=Sh(r,Vm),s=vt(i,o=>o.length>1);return A.map(E.values(s),o=>{const c=Rt(o),l=e.buildDuplicateFoundError(t,o),u=Ct(c),f={message:l,type:Ye.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},m=Jd(c);return m&&(f.parameter=m),f})}function Vm(t){return`${Ct(t)}_#_${t.idx}_#_${Jd(t)}`}function Jd(t){return t instanceof le?t.terminalType.name:t instanceof He?t.nonTerminalName:""}class Km extends Mr{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Hm(t,e,n,r){const i=[];if(E.reduce(e,(a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:Ye.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Ym(t,e,n){const r=[];let i;return Xe(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:Ye.INVALID_RULE_OVERRIDE,ruleName:t})),r}function Qd(t,e,n,r=[]){const i=[],s=qs(e.definition);if(F.isEmpty(s))return[];{const a=t.name;Xe(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:Ye.LEFT_RECURSION,ruleName:a});const c=ma(s,r.concat([t])),l=ot(c,u=>{const f=qe.clone(r);return f.push(u),Qd(t,u,n,f)});return i.concat(l)}}function qs(t){let e=[];if(F.isEmpty(t))return e;const n=Rt(t);if(n instanceof He)e.push(n.referencedRule);else if(n instanceof et||n instanceof Ue||n instanceof lt||n instanceof ut||n instanceof tt||n instanceof Re)e=e.concat(qs(n.definition));else if(n instanceof nt)e=A.flatten(A.map(n.definition,s=>qs(s.definition)));else if(!(n instanceof le))throw Error("non exhaustive match");const r=Qs(n),i=t.length>1;if(r&&i){const s=Me(t);return e.concat(qs(s))}else return e}class Jc extends Mr{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Xm(t,e){const n=new Jc;t.accept(n);const r=n.alternations;return ot(r,s=>{const a=_i(s.definition);return ot(a,(o,c)=>{const l=Kd([o],[],Ki,1);return F.isEmpty(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:Ye.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function Jm(t,e,n){const r=new Jc;t.accept(r);let i=r.alternations;return i=ga(i,a=>a.ignoreAmbiguities===!0),ot(i,a=>{const o=a.idx,c=a.maxLookahead||e,l=Ca(o,t,c,a),u=tg(l,a,t,n),f=ng(l,a,t,n);return u.concat(f)})}class Qm extends Mr{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function Zm(t,e){const n=new Jc;t.accept(n);const r=n.alternations;return ot(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:Ye.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function eg(t,e,n){const r=[];return E.forEach(t,i=>{const s=new Qm;i.accept(s);const a=s.allProductions;E.forEach(a,o=>{const c=Xc(o),l=o.maxLookahead||e,u=o.idx,m=Na(u,i,c,l)[0];if(F.isEmpty(A.flatten(m))){const p=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:p,type:Ye.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function tg(t,e,n,r){const i=[],s=E.reduce(t,(o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||E.forEach(c,u=>{const f=[l];E.forEach(t,(m,p)=>{l!==p&&Ro(m,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!Ro(i,u)&&(i.push(u),o.push({alts:f,path:u}))}),o),[]);return A.map(s,o=>{const c=A.map(o.alts,u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:c,prefixPath:o.path}),type:Ye.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function ng(t,e,n,r){const i=E.reduce(t,(a,o,c)=>{const l=A.map(o,u=>({idx:c,path:u}));return a.concat(l)},[]);return ji(ot(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const c=a.idx,l=a.path,u=E.filter(i,m=>e.definition[m.idx].ignoreAmbiguities!==!0&&m.idx<c&&jm(m.path,l));return A.map(u,m=>{const p=[m.idx+1,c+1],k=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:p,prefixPath:m.path}),type:Ye.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:k,alternatives:p}})}))}function rg(t,e,n){const r=[],i=A.map(e,s=>s.name);return E.forEach(t,s=>{const a=s.name;if(Xe(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:Ye.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function ig(t){const e=A.defaults(t,{errMsgProvider:wm}),n={};return E.forEach(t.rules,r=>{n[r.name]=r}),_m(n,e.errMsgProvider)}function sg(t){return t=A.defaults(t,{errMsgProvider:Pn}),Bm(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const Zd="MismatchedTokenException",ef="NoViableAltException",tf="EarlyExitException",nf="NotAllInputParsedException",rf=[Zd,ef,tf,nf];Object.freeze(rf);function ta(t){return Xe(rf,t.name)}class ba extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class sf extends ba{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Zd}}class ag extends ba{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=ef}}class og extends ba{constructor(e,n){super(e,n),this.name=nf}}class cg extends ba{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=tf}}const Ua={},af="InRuleRecoveryException";class lg extends Error{constructor(e){super(e),this.name=af}}class ug{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=A.has(e,"recoveryEnabled")?e.recoveryEnabled:Yt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=dg)}getTokenToInsert(e){const n=Yc(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let c=!1;const l=this.LA(1);let u=this.LA(1);const f=()=>{const m=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:m,ruleName:this.getCurrRuleFullName()}),k=new sf(p,l,this.LA(0));k.resyncedTokens=_i(o),this.SAVE_ERROR(k)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(u,s)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new lg("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||F.isEmpty(n))return!1;const r=this.LA(1);return A.find(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return Xe(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=A.find(e,s=>Vd(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Ua;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return A.map(e,(r,i)=>i===0?Ua:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=A.map(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return A.flatten(e)}getFollowSetFromFollowKey(e){if(e===Ua)return[rn];const n=e.ruleName+e.idxInCallingRule+xd+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,rn)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return _i(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=qe.clone(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return A.map(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function dg(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(c===void 0){const m=this.getCurrRuleFullName(),p=this.getGAstProductions()[m];c=new s(p,i).startWalking(),this.firstAfterRepMap[o]=c}let l=c.token,u=c.occurrence;const f=c.isEndOfRule;this.RULE_STACK.length===1&&f&&l===void 0&&(l=rn,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(t,e,n,l)}const fg=4,an=8,of=1<<an,cf=2<<an,vo=3<<an,Eo=4<<an,Ao=5<<an,js=6<<an;function qa(t,e,n){return n|e|t}class Qc{constructor(e){var n;this.maxLookahead=(n=e?.maxLookahead)!==null&&n!==void 0?n:Yt.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(F.isEmpty(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return ot(e,n=>Qd(n,n,Pn))}validateEmptyOrAlternatives(e){return ot(e,n=>Xm(n,Pn))}validateAmbiguousAlternationAlternatives(e,n){return ot(e,r=>Jm(r,n,Pn))}validateSomeNonEmptyLookaheadPath(e,n){return eg(e,n,Pn)}buildLookaheadForAlternation(e){return Dm(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Fm)}buildLookaheadForOptional(e){return Mm(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Xc(e.prodType),Gm)}}class hg{initLooksAhead(e){this.dynamicTokensEnabled=A.has(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Yt.dynamicTokensEnabled,this.maxLookahead=A.has(e,"maxLookahead")?e.maxLookahead:Yt.maxLookahead,this.lookaheadStrategy=A.has(e,"lookaheadStrategy")?e.lookaheadStrategy:new Qc({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){E.forEach(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=mg(n);E.forEach(r,l=>{const u=l.idx===0?"":l.idx;this.TRACE_INIT(`${Ct(l)}${u}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:n,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),m=qa(this.fullRuleNameToShort[n.name],of,l.idx);this.setLaFuncCache(m,f)})}),E.forEach(i,l=>{this.computeLookaheadFunc(n,l.idx,vo,"Repetition",l.maxLookahead,Ct(l))}),E.forEach(s,l=>{this.computeLookaheadFunc(n,l.idx,cf,"Option",l.maxLookahead,Ct(l))}),E.forEach(a,l=>{this.computeLookaheadFunc(n,l.idx,Eo,"RepetitionMandatory",l.maxLookahead,Ct(l))}),E.forEach(o,l=>{this.computeLookaheadFunc(n,l.idx,js,"RepetitionMandatoryWithSeparator",l.maxLookahead,Ct(l))}),E.forEach(c,l=>{this.computeLookaheadFunc(n,l.idx,Ao,"RepetitionWithSeparator",l.maxLookahead,Ct(l))})})})}computeLookaheadFunc(e,n,r,i,s,a){this.TRACE_INIT(`${a}${n===0?"":n}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=qa(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return qa(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class pg extends Mr{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const As=new pg;function mg(t){As.reset(),t.accept(As);const e=As.dslMethods;return As.reset(),e}function zl(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Bl(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function gg(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function yg(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const Tg="name";function lf(t,e){Object.defineProperty(t,Tg,{enumerable:!1,configurable:!0,writable:!1,value:e})}function Rg(t,e){const n=E.keys(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let c=0;c<o;c++){const l=a[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function vg(t,e){const n=function(){};lf(n,t+"BaseSemantics");const r={visit:function(i,s){if(F.isArray(i)&&(i=i[0]),!E.isUndefined(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=Ag(this,e);if(!F.isEmpty(i)){const s=A.map(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
88
- ${s.join(`
89
-
90
- `).replace(/\n/g,`
91
- `)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function Eg(t,e,n){const r=function(){};lf(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return E.forEach(e,s=>{i[s]=Rg}),r.prototype=i,r.prototype.constructor=r,r}var So;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(So||(So={}));function Ag(t,e){return Sg(t,e)}function Sg(t,e){const n=E.filter(e,i=>F.isFunction(t[i])===!1),r=A.map(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:So.MISSING_METHOD,methodName:i}));return ji(r)}class kg{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=A.has(e,"nodeLocationTracking")?e.nodeLocationTracking:Yt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=E.noop,this.cstFinallyStateUpdate=E.noop,this.cstPostTerminal=E.noop,this.cstPostNonTerminal=E.noop,this.cstPostRule=E.noop;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Bl,this.setNodeLocationFromNode=Bl,this.cstPostRule=E.noop,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=E.noop,this.setNodeLocationFromNode=E.noop,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=zl,this.setNodeLocationFromNode=zl,this.cstPostRule=E.noop,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=E.noop,this.setNodeLocationFromNode=E.noop,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=E.noop,this.setNodeLocationFromNode=E.noop,this.cstPostRule=E.noop,this.setInitialNodeLocation=E.noop;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];gg(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];yg(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(E.isUndefined(this.baseCstVisitorConstructor)){const e=vg(this.className,E.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(E.isUndefined(this.baseCstVisitorWithDefaultsConstructor)){const e=Eg(this.className,E.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class Cg{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):ra}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?ra:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class Ng{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,n,r=ia){if(Xe(this.definedRulesNames,e)){const a={message:Pn.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Ye.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=ia){const i=Ym(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(ta(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Op(E.values(this.gastProductionsCache))}}class bg{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ea,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},A.has(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
92
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
93
- For Further details.`);if(F.isArray(e)){if(F.isEmpty(e))throw Error(`A Token Vocabulary cannot be empty.
94
- Note that the first argument for the parser constructor
95
- is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
96
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
97
- For Further details.`)}if(F.isArray(e))this.tokensMap=E.reduce(e,(s,a)=>(s[a.name]=a,s),{});else if(A.has(e,"modes")&&yt(A.flatten(E.values(e.modes)),Cm)){const s=A.flatten(E.values(e.modes)),a=qc(s);this.tokensMap=E.reduce(a,(o,c)=>(o[c.name]=c,o),{})}else if(F.isObject(e))this.tokensMap=qe.clone(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=rn;const r=A.has(e,"modes")?A.flatten(E.values(e.modes)):E.values(e),i=yt(r,s=>F.isEmpty(s.categoryMatches));this.tokenMatcher=i?ea:Ki,Hi(E.values(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
98
- Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=A.has(r,"resyncEnabled")?r.resyncEnabled:ia.resyncEnabled,s=A.has(r,"recoveryValueFunc")?r.recoveryValueFunc:ia.recoveryValueFunc,a=this.ruleShortNameIdx<<fg+an;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...u){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,u);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...u){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,u)}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(ta(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return r(e);else{if(this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,a.partialCstResult=c}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(cf,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(Eo,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=n;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,me.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,Eo,e,Om)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(js,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Ul],o,js,e,Ul)}else throw this.raiseEarlyExitException(e,me.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(vo,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const c=i;i=()=>o.call(this)&&c.call(this)}}else s=n;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,vo,e,Lm,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ao,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Gl],o,Ao,e,Gl)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,js,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(of,n),i=F.isArray(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new og(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw ta(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new sf(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===af?r:s}}else throw r}saveRecogState(){const e=this.errors,n=qe.clone(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),rn)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class wg{initErrorHandler(e){this._errors=[],this.errorMessageProvider=A.has(e,"errorMessageProvider")?e.errorMessageProvider:Yt.errorMessageProvider}SAVE_ERROR(e){if(ta(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:qe.clone(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return qe.clone(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=Na(e,s,n,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));const l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:c,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new cg(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=Ca(e,i,this.maxLookahead),a=[];for(let l=1;l<=this.maxLookahead;l++)a.push(this.LA(l));const o=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ag(c,this.LA(1),o))}}class _g{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(E.isUndefined(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Kd([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=Rt(e.ruleStack),i=this.getGAstProductions()[n];return new $m(i,e).startWalking()}}const wa={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(wa);const Wl=!0,Vl=Math.pow(2,an)-1,uf=Wd({name:"RECORDING_PHASE_TOKEN",pattern:Qe.NA});Hi([uf]);const df=Yc(uf,`This IToken indicates the Parser is in Recording Phase
99
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(df);const Ig={name:`This CSTNode indicates the Parser is in Recording Phase
100
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class Pg{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let n=0;n<10;n++){const r=n>0?n:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,n){return()=>!0}LA_RECORD(e){return ra}topLevelRuleRecord(e,n){try{const r=new Dr({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
101
- This error was thrown during the "grammar recording phase" For more info see:
102
- https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return ri.call(this,Ue,e,n)}atLeastOneInternalRecord(e,n){ri.call(this,lt,n,e)}atLeastOneSepFirstInternalRecord(e,n){ri.call(this,ut,n,e,Wl)}manyInternalRecord(e,n){ri.call(this,Re,n,e)}manySepFirstInternalRecord(e,n){ri.call(this,tt,n,e,Wl)}orInternalRecord(e,n){return $g.call(this,e,n)}subruleInternalRecord(e,n,r){if(na(n),!e||A.has(e,"ruleName")===!1){const o=new Error(`<SUBRULE${Kl(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
103
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=A.last(this.recordingProdStack),s=e.ruleName,a=new He({idx:n,nonTerminalName:s,label:r?.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?Ig:wa}consumeInternalRecord(e,n,r){if(na(n),!zd(e)){const a=new Error(`<CONSUME${Kl(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
104
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=A.last(this.recordingProdStack),s=new le({idx:n,terminalType:e,label:r?.LABEL});return i.definition.push(s),df}}function ri(t,e,n,r=!1){na(n);const i=A.last(this.recordingProdStack),s=F.isFunction(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),A.has(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),wa}function $g(t,e){na(e);const n=A.last(this.recordingProdStack),r=F.isArray(t)===!1,i=r===!1?t:t.DEF,s=new nt({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});A.has(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=dd(i,o=>F.isFunction(o.GATE));return s.hasPredicates=a,n.definition.push(s),E.forEach(i,o=>{const c=new et({definition:[]});s.definition.push(c),A.has(o,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:A.has(o,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),o.ALT.call(this),this.recordingProdStack.pop()}),wa}function Kl(t){return t===0?"":`${t}`}function na(t){if(t<0||t>Vl){const e=new Error(`Invalid DSL Method idx value: <${t}>
105
- Idx value must be a none negative value smaller than ${Vl+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Lg{initPerformanceTracer(e){if(A.has(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=Yt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=Ld(n),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function Og(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const ra=Yc(rn,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(ra);const Yt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:ur,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),ia=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var Ye;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Ye||(Ye={}));function Hl(t=void 0){return function(){return t}}class Yi{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const n=this.className;this.TRACE_INIT("toFastProps",()=>{Od(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),E.forEach(this.definedRulesNames,i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=ig({rules:E.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(F.isEmpty(r)&&this.skipValidations===!1){const i=sg({rules:E.values(this.gastProductionsCache),tokenTypes:E.values(this.tokensMap),errMsgProvider:Pn,grammarName:n}),s=zm({lookaheadStrategy:this.lookaheadStrategy,rules:E.values(this.gastProductionsCache),tokenTypes:E.values(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),F.isEmpty(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=qp(E.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:E.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(E.values(this.gastProductionsCache))})),!Yi.DEFER_DEFINITION_ERRORS_HANDLING&&!F.isEmpty(this.definitionErrors))throw e=A.map(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
106
- ${e.join(`
107
- -------------------------------
108
- `)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),A.has(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
109
- Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
110
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
111
- For further details.`);this.skipValidations=A.has(n,"skipValidations")?n.skipValidations:Yt.skipValidations}}Yi.DEFER_DEFINITION_ERRORS_HANDLING=!1;Og(Yi,[ug,hg,kg,Cg,bg,Ng,wg,_g,Pg,Lg]);class xg extends Yi{constructor(e,n=Yt){const r=qe.clone(n);r.outputCst=!1,super(e,r)}}function Ir(t,e,n){return`${t.name}_${e}_${n}`}const sn=1,Dg=2,ff=4,hf=5,Xi=7,Mg=8,Fg=9,Gg=10,Ug=11,pf=12;class Zc{constructor(e){this.target=e}isEpsilon(){return!1}}class el extends Zc{constructor(e,n){super(e),this.tokenType=n}}class mf extends Zc{constructor(e){super(e)}isEpsilon(){return!0}}class tl extends Zc{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function qg(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};jg(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Gn(e,i,i);s!==void 0&&Zg(e,i,s)}return e}function jg(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=$e(t,i,void 0,{type:Dg}),a=$e(t,i,void 0,{type:Xi});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function gf(t,e,n){return n instanceof le?nl(t,e,n.terminalType,n):n instanceof He?Qg(t,e,n):n instanceof nt?Kg(t,e,n):n instanceof Ue?Hg(t,e,n):n instanceof Re?zg(t,e,n):n instanceof tt?Bg(t,e,n):n instanceof lt?Wg(t,e,n):n instanceof ut?Vg(t,e,n):Gn(t,e,n)}function zg(t,e,n){const r=$e(t,e,n,{type:hf});on(t,r);const i=Fr(t,e,r,n,Gn(t,e,n));return Tf(t,e,n,i)}function Bg(t,e,n){const r=$e(t,e,n,{type:hf});on(t,r);const i=Fr(t,e,r,n,Gn(t,e,n)),s=nl(t,e,n.separator,n);return Tf(t,e,n,i,s)}function Wg(t,e,n){const r=$e(t,e,n,{type:ff});on(t,r);const i=Fr(t,e,r,n,Gn(t,e,n));return yf(t,e,n,i)}function Vg(t,e,n){const r=$e(t,e,n,{type:ff});on(t,r);const i=Fr(t,e,r,n,Gn(t,e,n)),s=nl(t,e,n.separator,n);return yf(t,e,n,i,s)}function Kg(t,e,n){const r=$e(t,e,n,{type:sn});on(t,r);const i=A.map(n.definition,a=>gf(t,e,a));return Fr(t,e,r,n,...i)}function Hg(t,e,n){const r=$e(t,e,n,{type:sn});on(t,r);const i=Fr(t,e,r,n,Gn(t,e,n));return Yg(t,e,n,i)}function Gn(t,e,n){const r=E.filter(A.map(n.definition,i=>gf(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Jg(t,r)}function yf(t,e,n,r,i){const s=r.left,a=r.right,o=$e(t,e,n,{type:Ug});on(t,o);const c=$e(t,e,n,{type:pf});return s.loopback=o,c.loopback=o,t.decisionMap[Ir(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,be(a,o),i===void 0?(be(o,s),be(o,c)):(be(o,c),be(o,i.left),be(i.right,s)),{left:s,right:c}}function Tf(t,e,n,r,i){const s=r.left,a=r.right,o=$e(t,e,n,{type:Gg});on(t,o);const c=$e(t,e,n,{type:pf}),l=$e(t,e,n,{type:Fg});return o.loopback=l,c.loopback=l,be(o,s),be(o,c),be(a,l),i!==void 0?(be(l,c),be(l,i.left),be(i.right,s)):be(l,o),t.decisionMap[Ir(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:c}}function Yg(t,e,n,r){const i=r.left,s=r.right;return be(i,s),t.decisionMap[Ir(e,"Option",n.idx)]=i,r}function on(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Fr(t,e,n,r,...i){const s=$e(t,e,r,{type:Mg,start:n});n.end=s;for(const o of i)o!==void 0?(be(n,o.left),be(o.right,s)):be(n,s);const a={left:n,right:s};return t.decisionMap[Ir(e,Xg(r),r.idx)]=n,a}function Xg(t){if(t instanceof nt)return"Alternation";if(t instanceof Ue)return"Option";if(t instanceof Re)return"Repetition";if(t instanceof tt)return"RepetitionWithSeparator";if(t instanceof lt)return"RepetitionMandatory";if(t instanceof ut)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Jg(t,e){const n=e.length;for(let s=0;s<n-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const c=o instanceof tl,l=o,u=e[s+1].left;a.left.type===sn&&a.right.type===sn&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=u:o.target=u,ey(t,a.right)):be(a.right,u)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function nl(t,e,n,r){const i=$e(t,e,r,{type:sn}),s=$e(t,e,r,{type:sn});return rl(i,new el(s,n)),{left:i,right:s}}function Qg(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=$e(t,e,n,{type:sn}),a=$e(t,e,n,{type:sn}),o=new tl(i,r,a);return rl(s,o),{left:s,right:a}}function Zg(t,e,n){const r=t.ruleToStartState.get(e);be(r,n.left);const i=t.ruleToStopState.get(e);return be(n.right,i),{left:r,right:i}}function be(t,e){const n=new mf(e);rl(t,n)}function $e(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function rl(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function ey(t,e){t.states.splice(t.states.indexOf(e),1)}const sa={};class ko{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=Rf(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return A.map(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function Rf(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function ty(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class vf{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const Yl=new vf;class ny extends Qc{constructor(e){var n;super(),this.logging=(n=e?.logging)!==null&&n!==void 0?n:(r=>console.log(r))}initialize(e){this.atn=qg(e.rules),this.dfas=ry(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Ir(r,"Alternation",n),u=this.atn.decisionMap[c].decision,f=A.map(ql({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),m=>A.map(m,p=>p[0]));if(Xl(f,!1)&&!s){const m=E.reduce(f,(p,k,I)=>(E.forEach(k,$=>{$&&(p[$.tokenTypeIdx]=I,E.forEach($.categoryMatches,b=>{p[b]=I}))}),p),{});return i?function(p){var k;const I=this.LA(1),$=m[I.tokenTypeIdx];if(p!==void 0&&$!==void 0){const b=(k=p[$])===null||k===void 0?void 0:k.GATE;if(b!==void 0&&b.call(this)===!1)return}return $}:function(){const p=this.LA(1);return m[p.tokenTypeIdx]}}else return i?function(m){const p=new vf,k=m===void 0?0:m.length;for(let $=0;$<k;$++){const b=m?.[$].GATE;p.set($,b===void 0||b.call(this))}const I=ja.call(this,a,u,p,o);return typeof I=="number"?I:void 0}:function(){const m=ja.call(this,a,u,Yl,o);return typeof m=="number"?m:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Ir(r,i,n),u=this.atn.decisionMap[c].decision,f=A.map(ql({maxLookahead:1,occurrence:n,prodType:i,rule:r}),m=>A.map(m,p=>p[0]));if(Xl(f)&&f[0][0]&&!s){const m=f[0],p=A.flatten(m);if(p.length===1&&F.isEmpty(p[0].categoryMatches)){const I=p[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===I}}else{const k=E.reduce(p,(I,$)=>($!==void 0&&(I[$.tokenTypeIdx]=!0,E.forEach($.categoryMatches,b=>{I[b]=!0})),I),{});return function(){const I=this.LA(1);return k[I.tokenTypeIdx]===!0}}}return function(){const m=ja.call(this,a,u,Yl,o);return typeof m=="object"?!1:m===0}}}function Xl(t,e=!0){const n=new Set;for(const r of t){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(n.has(o)){if(!i.has(o))return!1}else n.add(o),i.add(o)}}return!0}function ry(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=ty(t.decisionStates[r],r);return n}function ja(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=py(i.atnStartState);s=Af(i,Ef(o)),i.start=s}return iy.apply(this,[i,s,n,r])}function iy(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let c=uy(i,o);if(c===void 0&&(c=sy.apply(this,[t,i,o,s,n,r])),c===sa)return ly(a,i,o);if(c.isAcceptState===!0)return c.prediction;i=c,a.push(o),o=this.LA(s++)}}function sy(t,e,n,r,i,s){const a=dy(e.configs,n,i);if(a.size===0)return Jl(t,e,n,sa),sa;let o=Ef(a);const c=hy(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(Ty(a)){const l=A.min(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,ay.apply(this,[t,r,a.alts,s])}return o=Jl(t,e,n,o),o}function ay(t,e,n,r){const i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,c=oy({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(c)}function oy(t){const e=A.map(t.prefixPath,i=>fr(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${cy(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
112
- <${e}> may appears as a prefix path in all these alternatives.
113
- `;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
114
- For Further details.`,r}function cy(t){if(t instanceof He)return"SUBRULE";if(t instanceof Ue)return"OPTION";if(t instanceof nt)return"OR";if(t instanceof lt)return"AT_LEAST_ONE";if(t instanceof ut)return"AT_LEAST_ONE_SEP";if(t instanceof tt)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof le)return"CONSUME";throw Error("non exhaustive match")}function ly(t,e,n){const r=ot(e.configs.elements,s=>s.state.transitions),i=Ph(r.filter(s=>s instanceof el).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function uy(t,e){return t.edges[e.tokenTypeIdx]}function dy(t,e,n){const r=new ko,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===Xi){i.push(a);continue}const o=a.state.transitions.length;for(let c=0;c<o;c++){const l=a.state.transitions[c],u=fy(l,e);u!==void 0&&r.add({state:u,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new ko;for(const a of r.elements)aa(a,s)}if(i.length>0&&!gy(s))for(const a of i)s.add(a);return s}function fy(t,e){if(t instanceof el&&Vd(e,t.tokenType))return t.target}function hy(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function Ef(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Jl(t,e,n,r){return r=Af(t,r),e.edges[n.tokenTypeIdx]=r,r}function Af(t,e){if(e===sa)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function py(t){const e=new ko,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};aa(s,e)}return e}function aa(t,e){const n=t.state;if(n.type===Xi){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};aa(a,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],a=my(t,s);a!==void 0&&aa(a,e)}}function my(t,e){if(e instanceof mf)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof tl){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function gy(t){for(const e of t.elements)if(e.state.type===Xi)return!0;return!1}function yy(t){for(const e of t.elements)if(e.state.type!==Xi)return!1;return!0}function Ty(t){if(yy(t))return!0;const e=Ry(t.elements);return vy(e)&&!Ey(e)}function Ry(t){const e=new Map;for(const n of t){const r=Rf(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function vy(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function Ey(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Co;(function(t){function e(n){return typeof n=="string"}t.is=e})(Co||(Co={}));var oa;(function(t){function e(n){return typeof n=="string"}t.is=e})(oa||(oa={}));var No;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(No||(No={}));var $i;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})($i||($i={}));var te;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=$i.MAX_VALUE),i===Number.MAX_VALUE&&(i=$i.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&v.uinteger(i.line)&&v.uinteger(i.character)}t.is=n})(te||(te={}));var J;(function(t){function e(r,i,s,a){if(v.uinteger(r)&&v.uinteger(i)&&v.uinteger(s)&&v.uinteger(a))return{start:te.create(r,i),end:te.create(s,a)};if(te.is(r)&&te.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&te.is(i.start)&&te.is(i.end)}t.is=n})(J||(J={}));var Li;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&J.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=n})(Li||(Li={}));var bo;(function(t){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&J.is(i.targetRange)&&v.string(i.targetUri)&&J.is(i.targetSelectionRange)&&(J.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=n})(bo||(bo={}));var ca;(function(t){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.numberRange(i.red,0,1)&&v.numberRange(i.green,0,1)&&v.numberRange(i.blue,0,1)&&v.numberRange(i.alpha,0,1)}t.is=n})(ca||(ca={}));var wo;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&J.is(i.range)&&ca.is(i.color)}t.is=n})(wo||(wo={}));var _o;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.undefined(i.textEdit)||bt.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,bt.is))}t.is=n})(_o||(_o={}));var Io;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Io||(Io={}));var Po;(function(t){function e(r,i,s,a,o,c){const l={startLine:r,endLine:i};return v.defined(s)&&(l.startCharacter=s),v.defined(a)&&(l.endCharacter=a),v.defined(o)&&(l.kind=o),v.defined(c)&&(l.collapsedText=c),l}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.uinteger(i.startLine)&&v.uinteger(i.startLine)&&(v.undefined(i.startCharacter)||v.uinteger(i.startCharacter))&&(v.undefined(i.endCharacter)||v.uinteger(i.endCharacter))&&(v.undefined(i.kind)||v.string(i.kind))}t.is=n})(Po||(Po={}));var la;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Li.is(i.location)&&v.string(i.message)}t.is=n})(la||(la={}));var $o;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})($o||($o={}));var Lo;(function(t){t.Unnecessary=1,t.Deprecated=2})(Lo||(Lo={}));var Oo;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&v.string(r.href)}t.is=e})(Oo||(Oo={}));var Oi;(function(t){function e(r,i,s,a,o,c){let l={range:r,message:i};return v.defined(s)&&(l.severity=s),v.defined(a)&&(l.code=a),v.defined(o)&&(l.source=o),v.defined(c)&&(l.relatedInformation=c),l}t.create=e;function n(r){var i;let s=r;return v.defined(s)&&J.is(s.range)&&v.string(s.message)&&(v.number(s.severity)||v.undefined(s.severity))&&(v.integer(s.code)||v.string(s.code)||v.undefined(s.code))&&(v.undefined(s.codeDescription)||v.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(v.string(s.source)||v.undefined(s.source))&&(v.undefined(s.relatedInformation)||v.typedArray(s.relatedInformation,la.is))}t.is=n})(Oi||(Oi={}));var Mn;(function(t){function e(r,i,...s){let a={title:r,command:i};return v.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.title)&&v.string(i.command)}t.is=n})(Mn||(Mn={}));var bt;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return v.objectLiteral(a)&&v.string(a.newText)&&J.is(a.range)}t.is=i})(bt||(bt={}));var $n;(function(t){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(v.string(i.description)||i.description===void 0)}t.is=n})($n||($n={}));var Ge;(function(t){function e(n){const r=n;return v.string(r)}t.is=e})(Ge||(Ge={}));var Bt;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function n(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=n;function r(s,a){return{range:s,newText:"",annotationId:a}}t.del=r;function i(s){const a=s;return bt.is(a)&&($n.is(a.annotationId)||Ge.is(a.annotationId))}t.is=i})(Bt||(Bt={}));var xi;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Di.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(xi||(xi={}));var Pr;(function(t){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&v.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ge.is(i.annotationId))}t.is=n})(Pr||(Pr={}));var $r;(function(t){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&v.string(i.oldUri)&&v.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Ge.is(i.annotationId))}t.is=n})($r||($r={}));var Lr;(function(t){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&v.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||v.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||v.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Ge.is(i.annotationId))}t.is=n})(Lr||(Lr={}));var ua;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>v.string(i.kind)?Pr.is(i)||$r.is(i)||Lr.is(i):xi.is(i)))}t.is=e})(ua||(ua={}));class Ss{constructor(e,n){this.edits=e,this.changeAnnotations=n}insert(e,n,r){let i,s;if(r===void 0?i=bt.insert(e,n):Ge.is(r)?(s=r,i=Bt.insert(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Bt.insert(e,n,s)),this.edits.push(i),s!==void 0)return s}replace(e,n,r){let i,s;if(r===void 0?i=bt.replace(e,n):Ge.is(r)?(s=r,i=Bt.replace(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Bt.replace(e,n,s)),this.edits.push(i),s!==void 0)return s}delete(e,n){let r,i;if(n===void 0?r=bt.del(e):Ge.is(n)?(i=n,r=Bt.del(e,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=Bt.del(e,i)),this.edits.push(r),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class Ql{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,n){let r;if(Ge.is(e)?r=e:(r=this.nextId(),n=e),this._annotations[r]!==void 0)throw new Error(`Id ${r} is already in use.`);if(n===void 0)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=n,this._size++,r}nextId(){return this._counter++,this._counter.toString()}}class Ay{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Ql(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(n=>{if(xi.is(n)){const r=new Ss(n.edits,this._changeAnnotations);this._textEditChanges[n.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(n=>{const r=new Ss(e.changes[n]);this._textEditChanges[n]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Di.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const n={uri:e.uri,version:e.version};let r=this._textEditChanges[n.uri];if(!r){const i=[],s={textDocument:n,edits:i};this._workspaceEdit.documentChanges.push(s),r=new Ss(i,this._changeAnnotations),this._textEditChanges[n.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let n=this._textEditChanges[e];if(!n){let r=[];this._workspaceEdit.changes[e]=r,n=new Ss(r),this._textEditChanges[e]=n}return n}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Ql,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;$n.is(n)||Ge.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Pr.create(e,r):(a=Ge.is(i)?i:this._changeAnnotations.manage(i),s=Pr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}renameFile(e,n,r,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let s;$n.is(r)||Ge.is(r)?s=r:i=r;let a,o;if(s===void 0?a=$r.create(e,n,i):(o=Ge.is(s)?s:this._changeAnnotations.manage(s),a=$r.create(e,n,i,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}deleteFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;$n.is(n)||Ge.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Lr.create(e,r):(a=Ge.is(i)?i:this._changeAnnotations.manage(i),s=Lr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}}var xo;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)}t.is=n})(xo||(xo={}));var Do;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.integer(i.version)}t.is=n})(Do||(Do={}));var Di;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&(i.version===null||v.integer(i.version))}t.is=n})(Di||(Di={}));var Mo;(function(t){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.string(i.languageId)&&v.integer(i.version)&&v.string(i.text)}t.is=n})(Mo||(Mo={}));var da;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(da||(da={}));var Or;(function(t){function e(n){const r=n;return v.objectLiteral(n)&&da.is(r.kind)&&v.string(r.value)}t.is=e})(Or||(Or={}));var Fo;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Fo||(Fo={}));var Go;(function(t){t.PlainText=1,t.Snippet=2})(Go||(Go={}));var Uo;(function(t){t.Deprecated=1})(Uo||(Uo={}));var qo;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&v.string(i.newText)&&J.is(i.insert)&&J.is(i.replace)}t.is=n})(qo||(qo={}));var jo;(function(t){t.asIs=1,t.adjustIndentation=2})(jo||(jo={}));var zo;(function(t){function e(n){const r=n;return r&&(v.string(r.detail)||r.detail===void 0)&&(v.string(r.description)||r.description===void 0)}t.is=e})(zo||(zo={}));var Bo;(function(t){function e(n){return{label:n}}t.create=e})(Bo||(Bo={}));var Wo;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(Wo||(Wo={}));var Mi;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return v.string(i)||v.objectLiteral(i)&&v.string(i.language)&&v.string(i.value)}t.is=n})(Mi||(Mi={}));var Vo;(function(t){function e(n){let r=n;return!!r&&v.objectLiteral(r)&&(Or.is(r.contents)||Mi.is(r.contents)||v.typedArray(r.contents,Mi.is))&&(n.range===void 0||J.is(n.range))}t.is=e})(Vo||(Vo={}));var Ko;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(Ko||(Ko={}));var Ho;(function(t){function e(n,r,...i){let s={label:n};return v.defined(r)&&(s.documentation=r),v.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(Ho||(Ho={}));var Yo;(function(t){t.Text=1,t.Read=2,t.Write=3})(Yo||(Yo={}));var Xo;(function(t){function e(n,r){let i={range:n};return v.number(r)&&(i.kind=r),i}t.create=e})(Xo||(Xo={}));var Jo;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Jo||(Jo={}));var Qo;(function(t){t.Deprecated=1})(Qo||(Qo={}));var Zo;(function(t){function e(n,r,i,s,a){let o={name:n,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(Zo||(Zo={}));var ec;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(ec||(ec={}));var tc;(function(t){function e(r,i,s,a,o,c){let l={name:r,detail:i,kind:s,range:a,selectionRange:o};return c!==void 0&&(l.children=c),l}t.create=e;function n(r){let i=r;return i&&v.string(i.name)&&v.number(i.kind)&&J.is(i.range)&&J.is(i.selectionRange)&&(i.detail===void 0||v.string(i.detail))&&(i.deprecated===void 0||v.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(tc||(tc={}));var nc;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(nc||(nc={}));var Fi;(function(t){t.Invoked=1,t.Automatic=2})(Fi||(Fi={}));var rc;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.typedArray(i.diagnostics,Oi.is)&&(i.only===void 0||v.typedArray(i.only,v.string))&&(i.triggerKind===void 0||i.triggerKind===Fi.Invoked||i.triggerKind===Fi.Automatic)}t.is=n})(rc||(rc={}));var ic;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Mn.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function n(r){let i=r;return i&&v.string(i.title)&&(i.diagnostics===void 0||v.typedArray(i.diagnostics,Oi.is))&&(i.kind===void 0||v.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Mn.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||ua.is(i.edit))}t.is=n})(ic||(ic={}));var sc;(function(t){function e(r,i){let s={range:r};return v.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return v.defined(i)&&J.is(i.range)&&(v.undefined(i.command)||Mn.is(i.command))}t.is=n})(sc||(sc={}));var ac;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.uinteger(i.tabSize)&&v.boolean(i.insertSpaces)}t.is=n})(ac||(ac={}));var oc;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return v.defined(i)&&J.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=n})(oc||(oc={}));var cc;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&J.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(cc||(cc={}));var lc;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(lc||(lc={}));var uc;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(uc||(uc={}));var dc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(dc||(dc={}));var fc;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&J.is(i.range)&&v.string(i.text)}t.is=n})(fc||(fc={}));var hc;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&J.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=n})(hc||(hc={}));var pc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&J.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=n})(pc||(pc={}));var mc;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return v.defined(i)&&J.is(r.stoppedLocation)}t.is=n})(mc||(mc={}));var fa;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(fa||(fa={}));var ha;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&(i.tooltip===void 0||v.string(i.tooltip)||Or.is(i.tooltip))&&(i.location===void 0||Li.is(i.location))&&(i.command===void 0||Mn.is(i.command))}t.is=n})(ha||(ha={}));var gc;(function(t){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&te.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,ha.is))&&(i.kind===void 0||fa.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,bt.is)&&(i.tooltip===void 0||v.string(i.tooltip)||Or.is(i.tooltip))&&(i.paddingLeft===void 0||v.boolean(i.paddingLeft))&&(i.paddingRight===void 0||v.boolean(i.paddingRight))}t.is=n})(gc||(gc={}));var yc;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(yc||(yc={}));var Tc;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(Tc||(Tc={}));var Rc;(function(t){function e(n){return{items:n}}t.create=e})(Rc||(Rc={}));var vc;(function(t){t.Invoked=0,t.Automatic=1})(vc||(vc={}));var Ec;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(Ec||(Ec={}));var Ac;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(Ac||(Ac={}));var Sc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&oa.is(r.uri)&&v.string(r.name)}t.is=e})(Sc||(Sc={}));const Sy=[`
115
- `,`\r
116
- `,"\r"];var kc;(function(t){function e(s,a,o,c){return new ky(s,a,o,c)}t.create=e;function n(s){let a=s;return!!(v.defined(a)&&v.string(a.uri)&&(v.undefined(a.languageId)||v.string(a.languageId))&&v.uinteger(a.lineCount)&&v.func(a.getText)&&v.func(a.positionAt)&&v.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),c=i(a,(u,f)=>{let m=u.range.start.line-f.range.start.line;return m===0?u.range.start.character-f.range.start.character:m}),l=o.length;for(let u=c.length-1;u>=0;u--){let f=c[u],m=s.offsetAt(f.range.start),p=s.offsetAt(f.range.end);if(p<=l)o=o.substring(0,m)+f.newText+o.substring(p,o.length);else throw new Error("Overlapping edit");l=m}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,c=s.slice(0,o),l=s.slice(o);i(c,a),i(l,a);let u=0,f=0,m=0;for(;u<c.length&&f<l.length;)a(c[u],l[f])<=0?s[m++]=c[u++]:s[m++]=l[f++];for(;u<c.length;)s[m++]=c[u++];for(;f<l.length;)s[m++]=l[f++];return s}})(kc||(kc={}));let ky=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
117
- `,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
118
- `&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return te.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return te.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var v;(function(t){const e=Object.prototype.toString;function n(p){return typeof p<"u"}t.defined=n;function r(p){return typeof p>"u"}t.undefined=r;function i(p){return p===!0||p===!1}t.boolean=i;function s(p){return e.call(p)==="[object String]"}t.string=s;function a(p){return e.call(p)==="[object Number]"}t.number=a;function o(p,k,I){return e.call(p)==="[object Number]"&&k<=p&&p<=I}t.numberRange=o;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function m(p,k){return Array.isArray(p)&&p.every(k)}t.typedArray=m})(v||(v={}));const Cy=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Bt},get ChangeAnnotation(){return $n},get ChangeAnnotationIdentifier(){return Ge},get CodeAction(){return ic},get CodeActionContext(){return rc},get CodeActionKind(){return nc},get CodeActionTriggerKind(){return Fi},get CodeDescription(){return Oo},get CodeLens(){return sc},get Color(){return ca},get ColorInformation(){return wo},get ColorPresentation(){return _o},get Command(){return Mn},get CompletionItem(){return Bo},get CompletionItemKind(){return Fo},get CompletionItemLabelDetails(){return zo},get CompletionItemTag(){return Uo},get CompletionList(){return Wo},get CreateFile(){return Pr},get DeleteFile(){return Lr},get Diagnostic(){return Oi},get DiagnosticRelatedInformation(){return la},get DiagnosticSeverity(){return $o},get DiagnosticTag(){return Lo},get DocumentHighlight(){return Xo},get DocumentHighlightKind(){return Yo},get DocumentLink(){return oc},get DocumentSymbol(){return tc},get DocumentUri(){return Co},EOL:Sy,get FoldingRange(){return Po},get FoldingRangeKind(){return Io},get FormattingOptions(){return ac},get Hover(){return Vo},get InlayHint(){return gc},get InlayHintKind(){return fa},get InlayHintLabelPart(){return ha},get InlineCompletionContext(){return Ac},get InlineCompletionItem(){return Tc},get InlineCompletionList(){return Rc},get InlineCompletionTriggerKind(){return vc},get InlineValueContext(){return mc},get InlineValueEvaluatableExpression(){return pc},get InlineValueText(){return fc},get InlineValueVariableLookup(){return hc},get InsertReplaceEdit(){return qo},get InsertTextFormat(){return Go},get InsertTextMode(){return jo},get Location(){return Li},get LocationLink(){return bo},get MarkedString(){return Mi},get MarkupContent(){return Or},get MarkupKind(){return da},get OptionalVersionedTextDocumentIdentifier(){return Di},get ParameterInformation(){return Ko},get Position(){return te},get Range(){return J},get RenameFile(){return $r},get SelectedCompletionInfo(){return Ec},get SelectionRange(){return cc},get SemanticTokenModifiers(){return uc},get SemanticTokenTypes(){return lc},get SemanticTokens(){return dc},get SignatureInformation(){return Ho},get StringValue(){return yc},get SymbolInformation(){return Zo},get SymbolKind(){return Jo},get SymbolTag(){return Qo},get TextDocument(){return kc},get TextDocumentEdit(){return xi},get TextDocumentIdentifier(){return xo},get TextDocumentItem(){return Mo},get TextEdit(){return bt},get URI(){return oa},get VersionedTextDocumentIdentifier(){return Do},WorkspaceChange:Ay,get WorkspaceEdit(){return ua},get WorkspaceFolder(){return Sc},get WorkspaceSymbol(){return ec},get integer(){return No},get uinteger(){return $i}},Symbol.toStringTag,{value:"Module"}));class Ny{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new kf(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new il;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Cc(e.startOffset,e.image.length,ho(e),e.tokenType,!n);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}addHiddenNodes(e){const n=[];for(const s of e){const a=new Cc(s.startOffset,s.image.length,ho(s),s.tokenType,!0);a.root=this.rootNode,n.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...n);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...n),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...n)}construct(e){const n=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}}class Sf{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Cc extends Sf{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class il extends Sf{constructor(){super(...arguments),this.content=new sl(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:te.create(0,0),end:te.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class sl extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,sl.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class kf extends il{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Nc=Symbol("Datatype");function za(t){return t.$type===Nc}const Zl="​",Cf=t=>t.endsWith(Zl)?t:t+Zl;class Nf{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Py(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new wf(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class by extends Nf{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Ny,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e);let i;Hs(e)&&(i=e.name,this.registerPrecedenceMap(e));const s=this.wrapper.DEFINE_RULE(Cf(e.name),this.startImplementation(r,i,n).bind(this));return this.allRules.set(e.name,s),Xt(e)&&e.entry&&(this.mainRule=s),s}registerPrecedenceMap(e){const n=e.name,r=new Map;for(let i=0;i<e.operators.precedences.length;i++){const s=e.operators.precedences[i];for(const a of s.operators)r.set(a.value,{precedence:i,rightAssoc:s.associativity==="right"})}this.operatorPrecedence.set(n,r)}computeRuleType(e){return Hs(e)?Pi(e):e.fragment?void 0:_d(e)?Nc:Pi(e)}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=this.doParse(i);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,io(s,{deep:!0}),{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let n=this.wrapper.rule(e);if(this.stack.length>0&&(n=this.construct()),n===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return n}startImplementation(e,n,r){return i=>{const s=!this.isRecording()&&e!==void 0;if(s){const a={$type:e};this.stack.push(a),e===Nc?a.value="":n!==void 0&&(a.$infixName=n)}return r(i),s?this.construct():void 0}}extractHiddenTokens(e){const n=this.lexerResult.hidden;if(!n.length)return[];const r=e.startOffset;for(let i=0;i<n.length;i++)if(n[i].startOffset>r)return n.splice(0,i);return n.splice(0,n.length)}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,crossRef:c}=this.getAssignment(r),l=this.current;if(o){const u=On(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,c)}else if(za(l)){let u=i.image;On(r)||(u=this.converter.convert(u,a).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,n,s)}finally{this.isRecording()||(o===void 0&&!r&&(o=this.construct()),o!==void 0&&a&&a.length>0&&this.performSubruleAssignment(o,i,a))}}performSubruleAssignment(e,n,r){const{assignment:i,crossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(za(a))a.value+=e.toString();else if(typeof e=="object"&&e){const c=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(c)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):za(e)?this.converter.convert(e.value,e.$cstNode):(Oh(this.astReflection,e),e)}constructInfix(e,n){const r=e.parts;if(!Array.isArray(r)||r.length===0)return;const i=e.operators;if(!Array.isArray(i)||r.length<2)return r[0];let s=0,a=-1;for(let I=0;I<i.length;I++){const $=i[I],b=n.get($)??{precedence:1/0,rightAssoc:!1};b.precedence>a?(a=b.precedence,s=I):b.precedence===a&&(b.rightAssoc||(s=I))}const o=i.slice(0,s),c=i.slice(s+1),l=r.slice(0,s+1),u=r.slice(s+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:o},m={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,n),k=this.constructInfix(m,n);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[s],right:k}}getAssignment(e){if(!this.assignmentMap.has(e)){const n=ya(e,Ln);this.assignmentMap.set(e,{assignment:n,crossRef:n&&Ra(n.terminal)?n.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s==="single"&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):s==="multi"&&typeof r=="string"?o=this.linker.buildMultiReference(a,n,i,r):o=r,e){case"=":{a[n]=o;break}case"?=":{a[n]=!0;break}case"+=":Array.isArray(a[n])||(a[n]=[]),a[n].push(o)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class wy{buildMismatchTokenMessage(e){return ur.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return ur.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return ur.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return ur.buildEarlyExitMessage(e)}}class bf extends wy{buildMismatchTokenMessage({expected:e,actual:n}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class _y extends Nf{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,n){const r=this.wrapper.DEFINE_RULE(Cf(e.name),this.startImplementation(n).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return n=>{const r=this.keepStackSize();try{e(n)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,n,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const Iy={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new bf};class wf extends xg{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,{...Iy,lookaheadStrategy:r?new Qc({maxLookahead:n.maxLookahead}):new ny({logging:n.skipValidations?()=>{}:void 0}),...n})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n,r){return this.RULE(e,n,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n,void 0)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}rule(e){return e.call(this,{})}}class Py extends wf{constructor(e,n,r){super(e,n),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,n,r){this.task.startSubTask(this.ruleName(n));try{return super.subrule(e,n,r)}finally{this.task.stopSubTask(this.ruleName(n))}}}function _f(t,e,n){return $y({parser:e,tokens:n,ruleNames:new Map},t),e}function $y(t,e){const n=kd(e,!1),r=pe(e.rules).filter(Xt).filter(s=>n.has(s));for(const s of r){const a={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(s,Fn(a,s.definition))}const i=pe(e.rules).filter(Hs).filter(s=>n.has(s));for(const s of i)t.parser.rule(s,Ly(t,s))}function Ly(t,e){const n=e.call.rule.ref;if(!n)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Jt(n))throw new Error("Cannot use terminal rule in infix expression");const r=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},s={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},a={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(s,a);const c={$container:a,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:r}},l={...s,$container:a};a.elements.push(c,l);const f=r.map(p=>t.tokens[p.value]).map((p,k)=>({ALT:()=>t.parser.consume(k,p,c)}));let m;return p=>{m??(m=al(t,n)),t.parser.subrule(0,m,!1,s,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,m,!1,l,p)}})}}function Fn(t,e,n=!1){let r;if(On(e))r=Uy(t,e);else if(Ta(e))r=Oy(t,e);else if(Ln(e))r=Fn(t,e.terminal);else if(Ra(e))r=If(t,e);else if(xn(e))r=xy(t,e);else if(yd(e))r=My(t,e);else if(Rd(e))r=Fy(t,e);else if(Bc(e))r=Gy(t,e);else if(Uh(e)){const i=t.consume++;r=()=>t.parser.consume(i,rn,e)}else throw new Ed(e.$cstNode,`Unexpected element type: ${e.$type}`);return Pf(t,n?void 0:pa(e),r,e.cardinality)}function Oy(t,e){const n=Pi(e);return()=>t.parser.action(n,e)}function xy(t,e){const n=e.rule.ref;if(Bi(n)){const r=t.subrule++,i=Xt(n)&&n.fragment,s=e.arguments.length>0?Dy(n,e.arguments):()=>({});let a;return o=>{a??(a=al(t,n)),t.parser.subrule(r,a,i,e,s(o))}}else if(Jt(n)){const r=t.consume++,i=bc(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)Wi();else throw new Ed(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function Dy(t,e){if(e.some(r=>r.calledByName)){const r=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:Nt(i.value)}));return i=>{const s={};for(const{parameterName:a,predicate:o}of r)a&&(s[a]=o(i));return s}}else{const r=e.map(i=>Nt(i.value));return i=>{const s={};for(let a=0;a<r.length;a++)if(a<t.parameters.length){const o=t.parameters[a].name,c=r[a];s[o]=c(i)}return s}}}function Nt(t){if(Gh(t)){const e=Nt(t.left),n=Nt(t.right);return r=>e(r)||n(r)}else if(Fh(t)){const e=Nt(t.left),n=Nt(t.right);return r=>e(r)&&n(r)}else if(zh(t)){const e=Nt(t.value);return n=>!e(n)}else if(Bh(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(Dh(t)){const e=!!t.true;return()=>e}Wi()}function My(t,e){if(e.elements.length===1)return Fn(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Fn(t,i,!0)},a=pa(i);a&&(s.GATE=Nt(a)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function Fy(t,e){if(e.elements.length===1)return Fn(t,e.elements[0]);const n=[];for(const o of e.elements){const c={ALT:Fn(t,o,!0)},l=pa(o);l&&(c.GATE=Nt(l)),n.push(c)}const r=t.or++,i=(o,c)=>{const l=c.getRuleStack().join("-");return`uGroup_${o}_${l}`},s=o=>t.parser.alternatives(r,n.map((c,l)=>{const u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(o),!f.isRecording()){const p=i(r,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);const k=f.unorderedGroups.get(p);typeof k?.[l]>"u"&&(k[l]=!0)}};const m=c.GATE;return m?u.GATE=()=>m(o):u.GATE=()=>!f.unorderedGroups.get(i(r,f))?.[l],u})),a=Pf(t,pa(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function Gy(t,e){const n=e.elements.map(r=>Fn(t,r));return r=>n.forEach(i=>i(r))}function pa(t){if(Bc(t))return t.guardCondition}function If(t,e,n=e.terminal){if(n)if(xn(n)&&Xt(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;let s;return a=>{s??(s=al(t,r)),t.parser.subrule(i,s,!1,e,a)}}else if(xn(n)&&Jt(n.rule.ref)){const r=t.consume++,i=bc(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(On(n)){const r=t.consume++,i=bc(t,n.value);return()=>t.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const i=bd(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Pi(e.type.ref));return If(t,e,i)}}function Uy(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function Pf(t,e,n,r){const i=e&&Nt(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:Hl(),GATE:()=>!i(a)}])}else return n;if(r==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(o)}),GATE:()=>i(o)},{ALT:Hl(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>n(a)})}else if(r==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else Wi()}function al(t,e){const n=qy(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function qy(t,e){if(Bi(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Xt(r);)(Bc(r)||yd(r)||Rd(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function bc(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function jy(t){const e=t.Grammar,n=t.parser.Lexer,r=new _y(t);return _f(e,r,n.definition),r.finalize(),r}function zy(t){const e=By(t);return e.finalize(),e}function By(t){const e=t.Grammar,n=t.parser.Lexer,r=new by(t);return _f(e,r,n.definition)}class $f{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=pe(kd(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return s.push(...i),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Jt).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Vc(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Sd(n)?Qe.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(Bi).flatMap(i=>zi(i).filter(On)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!r?.caseInsensitive))}buildKeywordToken(e,n,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,n)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,n){return n?new RegExp(Ea(e.value),"i"):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i?.PATTERN;return s?.source&&pp("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Lf{convert(e,n){let r=n.grammarSource;if(Ra(r)&&(r=Tp(r)),xn(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,n)}return e}runConverter(e,n,r){switch(e.name.toUpperCase()){case"INT":return qt.convertInt(n);case"STRING":return qt.convertString(n);case"ID":return qt.convertID(n)}switch(Cp(e)?.toLowerCase()){case"number":return qt.convertNumber(n);case"boolean":return qt.convertBoolean(n);case"bigint":return qt.convertBigint(n);case"date":return qt.convertDate(n);default:return n}}}var qt;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){const m=l.charAt(f);if(m==="\\"){const p=l.charAt(++f);u+=n(p)}else u+=m}return u}t.convertString=e;function n(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
119
- `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function r(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=r;function i(l){return parseInt(l)}t.convertInt=i;function s(l){return BigInt(l)}t.convertBigint=s;function a(l){return new Date(l)}t.convertDate=a;function o(l){return Number(l)}t.convertNumber=o;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(qt||(qt={}));var pn={},ks={},eu;function Un(){if(eu)return ks;eu=1,Object.defineProperty(ks,"__esModule",{value:!0});let t;function e(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}return(function(n){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");t=i}n.install=r})(e||(e={})),ks.default=e,ks}var xe={},tu;function Ji(){if(tu)return xe;tu=1,Object.defineProperty(xe,"__esModule",{value:!0}),xe.stringArray=xe.array=xe.func=xe.error=xe.number=xe.string=xe.boolean=void 0;function t(o){return o===!0||o===!1}xe.boolean=t;function e(o){return typeof o=="string"||o instanceof String}xe.string=e;function n(o){return typeof o=="number"||o instanceof Number}xe.number=n;function r(o){return o instanceof Error}xe.error=r;function i(o){return typeof o=="function"}xe.func=i;function s(o){return Array.isArray(o)}xe.array=s;function a(o){return s(o)&&o.every(c=>e(c))}return xe.stringArray=a,xe}var mn={},nu;function Gr(){if(nu)return mn;nu=1,Object.defineProperty(mn,"__esModule",{value:!0}),mn.Emitter=mn.Event=void 0;const t=Un();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(mn.Event=e={}));class n{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let c=0,l=this._callbacks.length;c<l;c++)if(this._callbacks[c]===s)if(this._contexts[c]===a){this._callbacks.splice(c,1),this._contexts.splice(c,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),c=this._contexts.slice(0);for(let l=0,u=o.length;l<u;l++)try{a.push(o[l].apply(c[l],s))}catch(f){(0,t.default)().console.error(f)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const c={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),c.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(c),c}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return mn.Emitter=r,r._noop=function(){},mn}var ru;function _a(){if(ru)return pn;ru=1,Object.defineProperty(pn,"__esModule",{value:!0}),pn.CancellationTokenSource=pn.CancellationToken=void 0;const t=Un(),e=Ji(),n=Gr();var r;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function c(l){const u=l;return u&&(u===o.None||u===o.Cancelled||e.boolean(u.isCancellationRequested)&&!!u.onCancellationRequested)}o.is=c})(r||(pn.CancellationToken=r={}));const i=Object.freeze(function(o,c){const l=(0,t.default)().timer.setTimeout(o.bind(c),0);return{dispose(){l.dispose()}}});class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class a{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return pn.CancellationTokenSource=a,pn}var ge=_a();function Wy(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let zs=0,Vy=10;function Ky(){return zs=performance.now(),new ge.CancellationTokenSource}const dr=Symbol("OperationCancelled");function Ia(t){return t===dr}async function Ke(t){if(t===ge.CancellationToken.None)return;const e=performance.now();if(e-zs>=Vy&&(zs=e,await Wy(),zs=performance.now()),t.isCancellationRequested)throw dr}class ol{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class Gi{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(const r of e)if(Gi.isIncremental(r)){const i=xf(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),c=Math.max(i.end.line,0);let l=this._lineOffsets;const u=iu(r.text,!1,s);if(c-o===u.length)for(let m=0,p=u.length;m<p;m++)l[m+o+1]=u[m];else u.length<1e4?l.splice(o+1,c-o,...u):this._lineOffsets=l=l.slice(0,o+1).concat(u,l.slice(c+1));const f=r.text.length-(a-s);if(f!==0)for(let m=o+1+u.length,p=l.length;m<p;m++)l[m]=l[m]+f}else if(Gi.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=iu(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const n=this.getLineOffsets();let r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,n[s]),{line:s,character:e-n[s]}}offsetAt(e){const n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;const r=n[e.line];if(e.character<=0)return r;const i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&Of(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var wc;(function(t){function e(i,s,a,o){return new Gi(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof Gi)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){const a=i.getText(),o=_c(s.map(Hy),(u,f)=>{const m=u.range.start.line-f.range.start.line;return m===0?u.range.start.character-f.range.start.character:m});let c=0;const l=[];for(const u of o){const f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(a.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(a.substr(c)),l.join("")}t.applyEdits=r})(wc||(wc={}));function _c(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);_c(r,e),_c(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function iu(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);Of(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function Of(t){return t===13||t===10}function xf(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function Hy(t){const e=xf(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Df;(()=>{var t={975:P=>{function T(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function g(y,R){for(var S,D="",G=0,M=-1,j=0,B=0;B<=y.length;++B){if(B<y.length)S=y.charCodeAt(B);else{if(S===47)break;S=47}if(S===47){if(!(M===B-1||j===1))if(M!==B-1&&j===2){if(D.length<2||G!==2||D.charCodeAt(D.length-1)!==46||D.charCodeAt(D.length-2)!==46){if(D.length>2){var ie=D.lastIndexOf("/");if(ie!==D.length-1){ie===-1?(D="",G=0):G=(D=D.slice(0,ie)).length-1-D.lastIndexOf("/"),M=B,j=0;continue}}else if(D.length===2||D.length===1){D="",G=0,M=B,j=0;continue}}R&&(D.length>0?D+="/..":D="..",G=2)}else D.length>0?D+="/"+y.slice(M+1,B):D=y.slice(M+1,B),G=B-M-1;M=B,j=0}else S===46&&j!==-1?++j:j=-1}return D}var C={resolve:function(){for(var y,R="",S=!1,D=arguments.length-1;D>=-1&&!S;D--){var G;D>=0?G=arguments[D]:(y===void 0&&(y=process.cwd()),G=y),T(G),G.length!==0&&(R=G+"/"+R,S=G.charCodeAt(0)===47)}return R=g(R,!S),S?R.length>0?"/"+R:"/":R.length>0?R:"."},normalize:function(y){if(T(y),y.length===0)return".";var R=y.charCodeAt(0)===47,S=y.charCodeAt(y.length-1)===47;return(y=g(y,!R)).length!==0||R||(y="."),y.length>0&&S&&(y+="/"),R?"/"+y:y},isAbsolute:function(y){return T(y),y.length>0&&y.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var y,R=0;R<arguments.length;++R){var S=arguments[R];T(S),S.length>0&&(y===void 0?y=S:y+="/"+S)}return y===void 0?".":C.normalize(y)},relative:function(y,R){if(T(y),T(R),y===R||(y=C.resolve(y))===(R=C.resolve(R)))return"";for(var S=1;S<y.length&&y.charCodeAt(S)===47;++S);for(var D=y.length,G=D-S,M=1;M<R.length&&R.charCodeAt(M)===47;++M);for(var j=R.length-M,B=G<j?G:j,ie=-1,V=0;V<=B;++V){if(V===B){if(j>B){if(R.charCodeAt(M+V)===47)return R.slice(M+V+1);if(V===0)return R.slice(M+V)}else G>B&&(y.charCodeAt(S+V)===47?ie=V:V===0&&(ie=0));break}var we=y.charCodeAt(S+V);if(we!==R.charCodeAt(M+V))break;we===47&&(ie=V)}var ne="";for(V=S+ie+1;V<=D;++V)V!==D&&y.charCodeAt(V)!==47||(ne.length===0?ne+="..":ne+="/..");return ne.length>0?ne+R.slice(M+ie):(M+=ie,R.charCodeAt(M)===47&&++M,R.slice(M))},_makeLong:function(y){return y},dirname:function(y){if(T(y),y.length===0)return".";for(var R=y.charCodeAt(0),S=R===47,D=-1,G=!0,M=y.length-1;M>=1;--M)if((R=y.charCodeAt(M))===47){if(!G){D=M;break}}else G=!1;return D===-1?S?"/":".":S&&D===1?"//":y.slice(0,D)},basename:function(y,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');T(y);var S,D=0,G=-1,M=!0;if(R!==void 0&&R.length>0&&R.length<=y.length){if(R.length===y.length&&R===y)return"";var j=R.length-1,B=-1;for(S=y.length-1;S>=0;--S){var ie=y.charCodeAt(S);if(ie===47){if(!M){D=S+1;break}}else B===-1&&(M=!1,B=S+1),j>=0&&(ie===R.charCodeAt(j)?--j==-1&&(G=S):(j=-1,G=B))}return D===G?G=B:G===-1&&(G=y.length),y.slice(D,G)}for(S=y.length-1;S>=0;--S)if(y.charCodeAt(S)===47){if(!M){D=S+1;break}}else G===-1&&(M=!1,G=S+1);return G===-1?"":y.slice(D,G)},extname:function(y){T(y);for(var R=-1,S=0,D=-1,G=!0,M=0,j=y.length-1;j>=0;--j){var B=y.charCodeAt(j);if(B!==47)D===-1&&(G=!1,D=j+1),B===46?R===-1?R=j:M!==1&&(M=1):R!==-1&&(M=-1);else if(!G){S=j+1;break}}return R===-1||D===-1||M===0||M===1&&R===D-1&&R===S+1?"":y.slice(R,D)},format:function(y){if(y===null||typeof y!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof y);return(function(R,S){var D=S.dir||S.root,G=S.base||(S.name||"")+(S.ext||"");return D?D===S.root?D+G:D+"/"+G:G})(0,y)},parse:function(y){T(y);var R={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return R;var S,D=y.charCodeAt(0),G=D===47;G?(R.root="/",S=1):S=0;for(var M=-1,j=0,B=-1,ie=!0,V=y.length-1,we=0;V>=S;--V)if((D=y.charCodeAt(V))!==47)B===-1&&(ie=!1,B=V+1),D===46?M===-1?M=V:we!==1&&(we=1):M!==-1&&(we=-1);else if(!ie){j=V+1;break}return M===-1||B===-1||we===0||we===1&&M===B-1&&M===j+1?B!==-1&&(R.base=R.name=j===0&&G?y.slice(1,B):y.slice(j,B)):(j===0&&G?(R.name=y.slice(1,M),R.base=y.slice(1,B)):(R.name=y.slice(j,M),R.base=y.slice(j,B)),R.ext=y.slice(M,B)),j>0?R.dir=y.slice(0,j-1):G&&(R.dir="/"),R},sep:"/",delimiter:":",win32:null,posix:null};C.posix=C,P.exports=C}},e={};function n(P){var T=e[P];if(T!==void 0)return T.exports;var g=e[P]={exports:{}};return t[P](g,g.exports,n),g.exports}n.d=(P,T)=>{for(var g in T)n.o(T,g)&&!n.o(P,g)&&Object.defineProperty(P,g,{enumerable:!0,get:T[g]})},n.o=(P,T)=>Object.prototype.hasOwnProperty.call(P,T),n.r=P=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(P,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>m,Utils:()=>Ee}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function c(P,T){if(!P.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${P.authority}", path: "${P.path}", query: "${P.query}", fragment: "${P.fragment}"}`);if(P.scheme&&!s.test(P.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(P.path){if(P.authority){if(!a.test(P.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(P.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class m{static isUri(T){return T instanceof m||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,g,C,y,R,S=!1){typeof T=="object"?(this.scheme=T.scheme||l,this.authority=T.authority||l,this.path=T.path||l,this.query=T.query||l,this.fragment=T.fragment||l):(this.scheme=(function(D,G){return D||G?D:"file"})(T,S),this.authority=g||l,this.path=(function(D,G){switch(D){case"https":case"http":case"file":G?G[0]!==u&&(G=u+G):G=u}return G})(this.scheme,C||l),this.query=y||l,this.fragment=R||l,c(this,S))}get fsPath(){return w(this)}with(T){if(!T)return this;let{scheme:g,authority:C,path:y,query:R,fragment:S}=T;return g===void 0?g=this.scheme:g===null&&(g=l),C===void 0?C=this.authority:C===null&&(C=l),y===void 0?y=this.path:y===null&&(y=l),R===void 0?R=this.query:R===null&&(R=l),S===void 0?S=this.fragment:S===null&&(S=l),g===this.scheme&&C===this.authority&&y===this.path&&R===this.query&&S===this.fragment?this:new k(g,C,y,R,S)}static parse(T,g=!1){const C=f.exec(T);return C?new k(C[2]||l,K(C[4]||l),K(C[5]||l),K(C[7]||l),K(C[9]||l),g):new k(l,l,l,l,l)}static file(T){let g=l;if(i&&(T=T.replace(/\\/g,u)),T[0]===u&&T[1]===u){const C=T.indexOf(u,2);C===-1?(g=T.substring(2),T=u):(g=T.substring(2,C),T=T.substring(C)||u)}return new k("file",g,T,l,l)}static from(T){const g=new k(T.scheme,T.authority,T.path,T.query,T.fragment);return c(g,!0),g}toString(T=!1){return N(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof m)return T;{const g=new k(T);return g._formatted=T.external,g._fsPath=T._sep===p?T.fsPath:null,g}}return T}}const p=i?1:void 0;class k extends m{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=w(this)),this._fsPath}toString(T=!1){return T?N(this,!0):(this._formatted||(this._formatted=N(this,!1)),this._formatted)}toJSON(){const T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=p),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}const I={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 $(P,T,g){let C,y=-1;for(let R=0;R<P.length;R++){const S=P.charCodeAt(R);if(S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||T&&S===47||g&&S===91||g&&S===93||g&&S===58)y!==-1&&(C+=encodeURIComponent(P.substring(y,R)),y=-1),C!==void 0&&(C+=P.charAt(R));else{C===void 0&&(C=P.substr(0,R));const D=I[S];D!==void 0?(y!==-1&&(C+=encodeURIComponent(P.substring(y,R)),y=-1),C+=D):y===-1&&(y=R)}}return y!==-1&&(C+=encodeURIComponent(P.substring(y))),C!==void 0?C:P}function b(P){let T;for(let g=0;g<P.length;g++){const C=P.charCodeAt(g);C===35||C===63?(T===void 0&&(T=P.substr(0,g)),T+=I[C]):T!==void 0&&(T+=P[g])}return T!==void 0?T:P}function w(P,T){let g;return g=P.authority&&P.path.length>1&&P.scheme==="file"?`//${P.authority}${P.path}`:P.path.charCodeAt(0)===47&&(P.path.charCodeAt(1)>=65&&P.path.charCodeAt(1)<=90||P.path.charCodeAt(1)>=97&&P.path.charCodeAt(1)<=122)&&P.path.charCodeAt(2)===58?P.path[1].toLowerCase()+P.path.substr(2):P.path,i&&(g=g.replace(/\//g,"\\")),g}function N(P,T){const g=T?b:$;let C="",{scheme:y,authority:R,path:S,query:D,fragment:G}=P;if(y&&(C+=y,C+=":"),(R||y==="file")&&(C+=u,C+=u),R){let M=R.indexOf("@");if(M!==-1){const j=R.substr(0,M);R=R.substr(M+1),M=j.lastIndexOf(":"),M===-1?C+=g(j,!1,!1):(C+=g(j.substr(0,M),!1,!1),C+=":",C+=g(j.substr(M+1),!1,!0)),C+="@"}R=R.toLowerCase(),M=R.lastIndexOf(":"),M===-1?C+=g(R,!1,!0):(C+=g(R.substr(0,M),!1,!0),C+=R.substr(M))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){const M=S.charCodeAt(1);M>=65&&M<=90&&(S=`/${String.fromCharCode(M+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){const M=S.charCodeAt(0);M>=65&&M<=90&&(S=`${String.fromCharCode(M+32)}:${S.substr(2)}`)}C+=g(S,!0,!1)}return D&&(C+="?",C+=g(D,!1,!1)),G&&(C+="#",C+=T?G:$(G,!1,!1)),C}function x(P){try{return decodeURIComponent(P)}catch{return P.length>3?P.substr(0,3)+x(P.substr(3)):P}}const H=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function K(P){return P.match(H)?P.replace(H,(T=>x(T))):P}var Q=n(975);const ae=Q.posix||Q,ue="/";var Ee;(function(P){P.joinPath=function(T,...g){return T.with({path:ae.join(T.path,...g)})},P.resolvePath=function(T,...g){let C=T.path,y=!1;C[0]!==ue&&(C=ue+C,y=!0);let R=ae.resolve(C,...g);return y&&R[0]===ue&&!T.authority&&(R=R.substring(1)),T.with({path:R})},P.dirname=function(T){if(T.path.length===0||T.path===ue)return T;let g=ae.dirname(T.path);return g.length===1&&g.charCodeAt(0)===46&&(g=""),T.with({path:g})},P.basename=function(T){return ae.basename(T.path)},P.extname=function(T){return ae.extname(T.path)}})(Ee||(Ee={})),Df=r})();const{URI:Tt,Utils:ii}=Df;var at;(function(t){t.basename=ii.basename,t.dirname=ii.dirname,t.extname=ii.extname,t.joinPath=ii.joinPath,t.resolvePath=ii.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function n(a,o){return a?.toString()===o?.toString()}t.equals=n;function r(a,o){const c=typeof a=="string"?Tt.parse(a).path:a.path,l=typeof o=="string"?Tt.parse(o).path:o.path,u=c.split("/").filter(I=>I.length>0),f=l.split("/").filter(I=>I.length>0);if(e){const I=/^[A-Z]:$/;if(u[0]&&I.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&I.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let m=0;for(;m<u.length&&u[m]===f[m];m++);const p="../".repeat(u.length-m),k=f.slice(m).join("/");return p+k}t.relative=r;function i(a){return Tt.parse(a.toString()).toString()}t.normalize=i;function s(a,o){let c=typeof a=="string"?a:a.path,l=typeof o=="string"?o:o.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=s})(at||(at={}));class Yy{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return at.normalize(e)}clear(){this.root.children.clear()}insert(e,n){const r=this.getNode(this.normalizeUri(e),!0);r.element=n}delete(e){const n=this.getNode(this.normalizeUri(e),!1);n?.parent&&n.parent.children.delete(n.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);if(r)return{name:r.name,uri:at.joinPath(Tt.parse(n),r.name).toString(),element:r.element}}findChildren(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);return r?Array.from(r.children.values()).map(i=>({name:i.name,uri:at.joinPath(Tt.parse(n),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const n=this.getNode(at.normalize(e),!1);return n?this.collectValues(n):[]}getNode(e,n){const r=e.split("/");e.charAt(e.length-1)==="/"&&r.pop();let i=this.root;for(const s of r){let a=i.children.get(s);if(!a)if(n)a={name:s,children:new Map,parent:i},i.children.set(s,a);else return;i=a}return i}collectValues(e){const n=[];e.element&&n.push(e.element);for(const r of e.children.values())n.push(...this.collectValues(r));return n}}var X;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(X||(X={}));class Xy{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=ge.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Tt.parse(e.uri),ge.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return ge.CancellationToken.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:X.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:X.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){const r=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),s=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const a=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:a})}return r!==s&&(e.parseResult=await this.parseAsync(e.uri,s,n),e.parseResult.value.$document=e),e.state=X.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=wc.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class Jy{constructor(e){this.documentTrie=new Yy,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return pe(this.documentTrie.all())}addDocument(e){const n=e.uri.toString();if(this.documentTrie.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentTrie.insert(n,e)}getDocument(e){const n=e.toString();return this.documentTrie.find(n)}getDocuments(e){const n=e.toString();return this.documentTrie.findAll(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&this.documentBuilder().resetToState(r,X.Changed),r}deleteDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&(r.state=X.Changed,this.documentTrie.delete(n)),r}deleteDocuments(e){const n=e.toString(),r=this.documentTrie.findAll(n);for(const i of r)i.state=X.Changed;return this.documentTrie.delete(n),r}}const Kn=Symbol("RefResolving");class Qy{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,n=ge.CancellationToken.None){if(this.profiler?.isActive("linking")){const r=this.profiler.createTask("linking",this.languageId);r.start();try{for(const i of Vt(e.parseResult.value))await Ke(n),Ks(i).forEach(s=>{const a=`${i.$type}:${s.property}`;r.startSubTask(a);try{this.doLink(s,e)}finally{r.stopSubTask(a)}})}finally{r.stop()}}else for(const r of Vt(e.parseResult.value))await Ke(n),Ks(r).forEach(i=>this.doLink(i,e))}doLink(e,n){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=Kn;try{const i=this.getCandidate(e);if(Qr(i))r._ref=i;else{r._nodeDescription=i;const s=this.loadAstNode(i);r._ref=s??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${r.$refText}':`,i);const s=i.message??String(i);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${s}`}}n.references.push(r)}else if("_items"in r&&r._items===void 0){r._items=Kn;try{const i=this.getCandidates(e),s=[];if(Qr(i))r._linkingError=i;else for(const a of i){const o=this.loadAstNode(a);o&&s.push({ref:o,$nodeDescription:a})}r._items=s}catch(i){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${i}`},r._items=[]}n.references.push(r)}}unlink(e){for(const n of e.references)"_ref"in n?(n._ref=void 0,delete n._nodeDescription):"_items"in n&&(n._items=void 0,delete n._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_ref:void 0,get ref(){if(je(this._ref))return this._ref;if($h(this._nodeDescription)){const o=s.loadAstNode(this._nodeDescription);this._ref=o??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Kn;const o=Ps(e).$document,c=s.getLinkedNode({reference:a,container:e,property:n});if(c.error&&o&&o.state<X.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,o?.references.push(this)}else this._ref===Kn&&s.throwCyclicReferenceError(e,n,i);return je(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Qr(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Kn;const o=Ps(e).$document,c=s.getCandidates({reference:a,container:e,property:n}),l=[];if(Qr(c))this._linkingError=c;else for(const u of c){const f=s.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,o?.references.push(this)}else this._items===Kn&&s.throwCyclicReferenceError(e,n,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=s.createLinkingError({reference:a,container:e,property:n})}};return a}throwCyclicReferenceError(e,n,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${r}')`)}getLinkedNode(e){try{const n=this.getCandidate(e);if(Qr(n))return{error:n};const r=this.loadAstNode(n);return r?{node:r,descr:n}:{descr:n,error:this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,n);const r=n.message??String(n);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Ps(e.container).$document;r&&r.state<X.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n}}}function Zy(t){return typeof t.name=="string"}class eT{getName(e){if(Zy(e))return e.name}getNameNode(e){return Nd(e.$cstNode,"name")}}class tT{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Vt(e.Grammar).some(n=>Ra(n)&&n.isMulti)}findDeclarations(e){if(e){const n=Sp(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(gt(i)||tn(i))return hl(i);if(Array.isArray(i)){for(const s of i)if((gt(s)||tn(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return hl(s)}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||ep(e,i)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(n.head());if(r){for(const i of Ks(r))if(tn(i.reference)&&i.reference.items.some(s=>s.ref===e))return i.reference.items.map(s=>s.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const n=this.documents.getDocument(e.sourceUri);if(n)return this.nodeLocator.getAstNode(n.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const n=this.findDeclarations(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i)??i.$cstNode;s&&r.push(s)}return r}findReferences(e,n){const r=[];n.includeDeclaration&&r.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>at.equals(s.sourceUri,n.documentUri))),r.push(...i),pe(r)}getSelfReferences(e){const n=this.getSelfNodes(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i);if(s){const a=Wt(i),o=this.nodeLocator.getAstNodePath(i);r.push({sourceUri:a.uri,sourcePath:o,targetUri:a.uri,targetPath:o,segment:Ys(s),local:!0})}}return r}}class Ui{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return ro.sum(pe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const n=this.map.get(e);return n?pe(n):md}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return pe(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return pe(this.map.keys())}values(){return pe(this.map.values()).flat()}entriesGroupedByKey(){return pe(this.map.entries())}}class su{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class nT{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,n=ge.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,n)}async collectExportedSymbolsForNode(e,n,r=zc,i=ge.CancellationToken.None){const s=[];this.addExportedSymbol(e,s,n);for(const a of r(e))await Ke(i),this.addExportedSymbol(a,s,n);return s}addExportedSymbol(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async collectLocalSymbols(e,n=ge.CancellationToken.None){const r=e.parseResult.value,i=new Ui;for(const s of zi(r))await Ke(n),this.addLocalSymbol(s,e,i);return i}addLocalSymbol(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class au{constructor(e,n,r){this.elements=e,this.outerScope=n,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===n):this.elements.find(i=>i.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===n):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}}class rT{constructor(e,n,r){this.elements=new Ui,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(const i of e){const s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(s,i)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n)[0];if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);return(this.concatOuterScope||r.length===0)&&this.outerScope?pe(r).concat(this.outerScope.getElements(e)):pe(r)}getAllElements(){let e=pe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Mf{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class iT extends Mf{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class sT extends Mf{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class aT extends iT{constructor(e,n){super(),n?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(n,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class oT{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new aT(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=Wt(e.container).localSymbols;if(i){let a=e.container;do i.has(a)&&n.push(i.getStream(a).filter(o=>this.reflection.isSubtype(o.type,r))),a=a.$container;while(a)}let s=this.getGlobalScope(r,e);for(let a=n.length-1;a>=0;a--)s=this.createScope(n[a],s);return s}createScope(e,n,r){return new au(pe(e),n,r)}createScopeForNodes(e,n,r){const i=pe(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new au(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new rT(this.indexManager.allElements(e)))}}function cT(t){return typeof t.$comment=="string"}function ou(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class lT{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,n){const r=n??{},i=n?.replacer,s=(o,c)=>this.replacer(o,c,r),a=i?(o,c)=>i(o,c,s):s;try{return this.currentDocument=Wt(e),JSON.stringify(e,a,n?.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){if(!this.ignoreProperties.has(e))if(gt(n)){const c=n.ref,l=r?n.$refText:void 0;if(c){const u=Wt(c);let f="";this.currentDocument&&this.currentDocument!==u&&(o?f=o(u.uri,c):f=u.uri.toString());const m=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${m}`,$refText:l}}else return{$error:n.error?.message??"Could not resolve reference",$refText:l}}else if(tn(n)){const c=r?n.$refText:void 0,l=[];for(const u of n.items){const f=u.ref,m=Wt(u.ref);let p="";this.currentDocument&&this.currentDocument!==m&&(o?p=o(m.uri,f):p=m.uri.toString());const k=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${k}`)}return{$refs:l,$refText:c}}else if(je(n)){let c;if(s&&(c=this.addAstNodeRegionWithAssignmentsTo({...n}),(!e||n.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...n}),c.$sourceText=n.$cstNode?.text),a){c??(c={...n});const l=this.commentProvider.getComment(n);l&&(c.$comment=l.replace(/\r/g,""))}return c??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=vp(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){const f=l[u];ou(f)?l[u]=this.reviveReference(e,c,n,f,r):je(f)&&this.linkNode(f,n,r,e,c,u)}else ou(l)?e[c]=this.reviveReference(e,c,n,l,r):je(l)&&this.linkNode(l,n,r,e,c);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,n,r,i,s){let a=i.$refText,o=i.$error,c;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(je(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}else if(i.$refs){const l=[];for(const u of i.$refs){const f=this.getRefNode(r,u,s.uriConverter);je(f)&&l.push({ref:f})}if(l.length===0)c={$refText:a??"",items:l},o??(o="Could not resolve multi-reference");else return{$refText:a??"",items:l}}if(o)return c??(c={$refText:a??"",ref:void 0}),c.error={info:{container:e,property:n,reference:c},message:o},c}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const c=this.astNodeLocator.getAstNode(e,n.substring(1));return c||"Could not resolve path: "+n}if(i<0){const c=r?r(n):Tt.parse(n),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):Tt.parse(n.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+n;if(i===n.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,n.substring(i+1));return o||"Could not resolve URI: "+n}catch(i){return String(i)}}}class uT{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);if(n.fileNames)for(const r of n.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(n.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const n=this.textDocuments?.get(e)?.languageId;if(n!==void 0){const a=this.languageIdMap.get(n);if(a)return a}const r=at.extname(e),i=at.basename(e),s=this.fileNameMap.get(i)??this.fileExtensionMap.get(r);if(!s)throw n?new Error(`The service registry contains no services for the extension '${r}' for language '${n}'.`):new Error(`The service registry contains no services for the extension '${r}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Ni(t){return{code:t}}var Ic;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(Ic||(Ic={}));class dT{constructor(e){this.entries=new Ui,this.knownCategories=new Set(Ic.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(r);for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const c={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,c)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else Wi()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if(Ia(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{node:i})}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=pe(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,n=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",n))}registerAfterDocument(e,n=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",n))}wrapPreparationException(e,n,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const fT=Object.freeze({validateNode:!0,validateChildren:!0});class hT{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,n={},r=ge.CancellationToken.None){const i=e.parseResult,s=[];if(await Ke(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>a.data?.code===mt.LexingError)||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>a.data?.code===mt.ParsingError))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>a.data?.code===mt.LinkingError))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(Ia(a))throw a;console.error("An error occurred during validation:",a)}return await Ke(r),s}processLexingErrors(e,n,r){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const s of i){const a=s.severity??"error",o={severity:Ba(a),range:{start:{line:s.line-1,character:s.column-1},end:{line:s.line-1,character:s.column+s.length-1}},message:s.message,data:mT(a),source:this.getSource()};n.push(o)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=ho(i.token);if(s){const a={severity:Ba("error"),range:s,message:i.message,data:Ni(mt.ParsingError),source:this.getSource()};n.push(a)}}}processLinkingErrors(e,n,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.info.container,range:i.$refNode?.range,property:s.info.property,index:s.info.index,data:{code:mt.LinkingError,containerType:s.info.container.$type,property:s.info.property,refText:s.info.reference.$refText}};n.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,n,r=ge.CancellationToken.None){const i=[],s=(a,o,c)=>{i.push(this.toDiagnostic(a,o,c))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=ge.CancellationToken.None){const s=this.validationRegistry.checksBefore;for(const a of s)await Ke(i),await a(e,r,n.categories??[],i)}async validateAstNodes(e,n,r,i=ge.CancellationToken.None){if(this.profiler?.isActive("validating")){const s=this.profiler.createTask("validating",this.languageId);s.start();try{const a=Vt(e).iterator();for(const o of a){s.startSubTask(o.$type);const c=this.validateSingleNodeOptions(o,n);if(c.validateNode)try{const l=this.validationRegistry.getChecks(o.$type,n.categories);for(const u of l)await u(o,r,i)}finally{s.stopSubTask(o.$type)}c.validateChildren||a.prune()}}finally{s.stop()}}else{const s=Vt(e).iterator();for(const a of s){await Ke(i);const o=this.validateSingleNodeOptions(a,n);if(o.validateNode){const c=this.validationRegistry.getChecks(a.$type,n.categories);for(const l of c)await l(a,r,i)}o.validateChildren||s.prune()}}}validateSingleNodeOptions(e,n){return fT}async validateAstAfter(e,n,r,i=ge.CancellationToken.None){const s=this.validationRegistry.checksAfter;for(const a of s)await Ke(i),await a(e,r,n.categories??[],i)}toDiagnostic(e,n,r){return{message:n,range:pT(r),severity:Ba(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function pT(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Nd(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Ep(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Ba(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function mT(t){switch(t){case"error":return Ni(mt.LexingError);case"warning":return Ni(mt.LexingWarning);case"info":return Ni(mt.LexingInfo);case"hint":return Ni(mt.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var mt;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(mt||(mt={}));class gT{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??Wt(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>a??(a=Ys(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:n,get nameSegment(){return o()},selectionSegment:Ys(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class yT{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=ge.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of Vt(i))await Ke(n),Ks(s).forEach(a=>{a.reference.error||r.push(...this.createInfoDescriptions(a))});return r}createInfoDescriptions(e){const n=e.reference;if(n.error||!n.$refNode)return[];let r=[];gt(n)&&n.$nodeDescription?r=[n.$nodeDescription]:tn(n)&&(r=n.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));const i=Wt(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),a=[],o=Ys(n.$refNode);for(const c of r)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:at.equals(c.documentUri,i)});return a}}class TT{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),c=parseInt(s.substring(a+1));return i[o]?.[c]}return i[s]},e)}}var RT=Gr();class vT{constructor(e){this._ready=new ol,this.onConfigurationSectionUpdateEmitter=new RT.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([n,r])=>{this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var gn={},yn={},Cs={},Wa={},q={},cu;function Ff(){if(cu)return q;cu=1,Object.defineProperty(q,"__esModule",{value:!0}),q.Message=q.NotificationType9=q.NotificationType8=q.NotificationType7=q.NotificationType6=q.NotificationType5=q.NotificationType4=q.NotificationType3=q.NotificationType2=q.NotificationType1=q.NotificationType0=q.NotificationType=q.RequestType9=q.RequestType8=q.RequestType7=q.RequestType6=q.RequestType5=q.RequestType4=q.RequestType3=q.RequestType2=q.RequestType1=q.RequestType=q.RequestType0=q.AbstractMessageSignature=q.ParameterStructures=q.ResponseError=q.ErrorCodes=void 0;const t=Ji();var e;(function(T){T.ParseError=-32700,T.InvalidRequest=-32600,T.MethodNotFound=-32601,T.InvalidParams=-32602,T.InternalError=-32603,T.jsonrpcReservedErrorRangeStart=-32099,T.serverErrorStart=-32099,T.MessageWriteError=-32099,T.MessageReadError=-32098,T.PendingResponseRejected=-32097,T.ConnectionInactive=-32096,T.ServerNotInitialized=-32002,T.UnknownErrorCode=-32001,T.jsonrpcReservedErrorRangeEnd=-32e3,T.serverErrorEnd=-32e3})(e||(q.ErrorCodes=e={}));class n extends Error{constructor(g,C,y){super(C),this.code=t.number(g)?g:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,n.prototype)}toJson(){const g={code:this.code,message:this.message};return this.data!==void 0&&(g.data=this.data),g}}q.ResponseError=n;class r{constructor(g){this.kind=g}static is(g){return g===r.auto||g===r.byName||g===r.byPosition}toString(){return this.kind}}q.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(g,C){this.method=g,this.numberOfParams=C}get parameterStructures(){return r.auto}}q.AbstractMessageSignature=i;class s extends i{constructor(g){super(g,0)}}q.RequestType0=s;class a extends i{constructor(g,C=r.auto){super(g,1),this._parameterStructures=C}get parameterStructures(){return this._parameterStructures}}q.RequestType=a;class o extends i{constructor(g,C=r.auto){super(g,1),this._parameterStructures=C}get parameterStructures(){return this._parameterStructures}}q.RequestType1=o;class c extends i{constructor(g){super(g,2)}}q.RequestType2=c;class l extends i{constructor(g){super(g,3)}}q.RequestType3=l;class u extends i{constructor(g){super(g,4)}}q.RequestType4=u;class f extends i{constructor(g){super(g,5)}}q.RequestType5=f;class m extends i{constructor(g){super(g,6)}}q.RequestType6=m;class p extends i{constructor(g){super(g,7)}}q.RequestType7=p;class k extends i{constructor(g){super(g,8)}}q.RequestType8=k;class I extends i{constructor(g){super(g,9)}}q.RequestType9=I;class $ extends i{constructor(g,C=r.auto){super(g,1),this._parameterStructures=C}get parameterStructures(){return this._parameterStructures}}q.NotificationType=$;class b extends i{constructor(g){super(g,0)}}q.NotificationType0=b;class w extends i{constructor(g,C=r.auto){super(g,1),this._parameterStructures=C}get parameterStructures(){return this._parameterStructures}}q.NotificationType1=w;class N extends i{constructor(g){super(g,2)}}q.NotificationType2=N;class x extends i{constructor(g){super(g,3)}}q.NotificationType3=x;class H extends i{constructor(g){super(g,4)}}q.NotificationType4=H;class K extends i{constructor(g){super(g,5)}}q.NotificationType5=K;class Q extends i{constructor(g){super(g,6)}}q.NotificationType6=Q;class ae extends i{constructor(g){super(g,7)}}q.NotificationType7=ae;class ue extends i{constructor(g){super(g,8)}}q.NotificationType8=ue;class Ee extends i{constructor(g){super(g,9)}}q.NotificationType9=Ee;var P;return(function(T){function g(R){const S=R;return S&&t.string(S.method)&&(t.string(S.id)||t.number(S.id))}T.isRequest=g;function C(R){const S=R;return S&&t.string(S.method)&&R.id===void 0}T.isNotification=C;function y(R){const S=R;return S&&(S.result!==void 0||!!S.error)&&(t.string(S.id)||t.number(S.id)||S.id===null)}T.isResponse=y})(P||(q.Message=P={})),q}var Pt={},lu;function Gf(){if(lu)return Pt;lu=1;var t;Object.defineProperty(Pt,"__esModule",{value:!0}),Pt.LRUCache=Pt.LinkedMap=Pt.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Pt.Touch=e={}));class n{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(s){return this._map.has(s)}get(s,a=e.None){const o=this._map.get(s);if(o)return a!==e.None&&this.touch(o,a),o.value}set(s,a,o=e.None){let c=this._map.get(s);if(c)c.value=a,o!==e.None&&this.touch(c,o);else{switch(c={key:s,value:a,next:void 0,previous:void 0},o){case e.None:this.addItemLast(c);break;case e.First:this.addItemFirst(c);break;case e.Last:this.addItemLast(c);break;default:this.addItemLast(c);break}this._map.set(s,c),this._size++}return this}delete(s){return!!this.remove(s)}remove(s){const a=this._map.get(s);if(a)return this._map.delete(s),this.removeItem(a),this._size--,a.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const s=this._head;return this._map.delete(s.key),this.removeItem(s),this._size--,s.value}forEach(s,a){const o=this._state;let c=this._head;for(;c;){if(a?s.bind(a)(c.value,c.key,this):s(c.value,c.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.key,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}values(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.value,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}entries(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:[a.key,a.value],done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let a=this._head,o=this.size;for(;a&&o>s;)this._map.delete(a.key),a=a.next,o--;this._head=a,this._size=o,a&&(a.previous=void 0),this._state++}addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this._head)s.next=this._head,this._head.previous=s;else throw new Error("Invalid list");this._head=s,this._state++}addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._tail)s.previous=this._tail,this._tail.next=s;else throw new Error("Invalid list");this._tail=s,this._state++}removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this._tail=void 0;else if(s===this._head){if(!s.next)throw new Error("Invalid list");s.next.previous=void 0,this._head=s.next}else if(s===this._tail){if(!s.previous)throw new Error("Invalid list");s.previous.next=void 0,this._tail=s.previous}else{const a=s.next,o=s.previous;if(!a||!o)throw new Error("Invalid list");a.previous=o,o.next=a}s.next=void 0,s.previous=void 0,this._state++}touch(s,a){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(a!==e.First&&a!==e.Last)){if(a===e.First){if(s===this._head)return;const o=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(o.previous=c,c.next=o),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(a===e.Last){if(s===this._tail)return;const o=s.next,c=s.previous;s===this._head?(o.previous=void 0,this._head=o):(o.previous=c,c.next=o),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){const s=[];return this.forEach((a,o)=>{s.push([o,a])}),s}fromJSON(s){this.clear();for(const[a,o]of s)this.set(a,o)}}Pt.LinkedMap=n;class r extends n{constructor(s,a=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,a),1)}get limit(){return this._limit}set limit(s){this._limit=s,this.checkTrim()}get ratio(){return this._ratio}set ratio(s){this._ratio=Math.min(Math.max(0,s),1),this.checkTrim()}get(s,a=e.AsNew){return super.get(s,a)}peek(s){return super.get(s,e.None)}set(s,a){return super.set(s,a,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Pt.LRUCache=r,Pt}var si={},uu;function ET(){if(uu)return si;uu=1,Object.defineProperty(si,"__esModule",{value:!0}),si.Disposable=void 0;var t;return(function(e){function n(r){return{dispose:r}}e.create=n})(t||(si.Disposable=t={})),si}var Tn={},du;function AT(){if(du)return Tn;du=1,Object.defineProperty(Tn,"__esModule",{value:!0}),Tn.SharedArrayReceiverStrategy=Tn.SharedArraySenderStrategy=void 0;const t=_a();var e;(function(a){a.Continue=0,a.Cancelled=1})(e||(e={}));class n{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const c=new SharedArrayBuffer(4),l=new Int32Array(c,0,1);l[0]=e.Continue,this.buffers.set(o.id,c),o.$cancellationData=c}async sendCancellation(o,c){const l=this.buffers.get(c);if(l===void 0)return;const u=new Int32Array(l,0,1);Atomics.store(u,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}Tn.SharedArraySenderStrategy=n;class r{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new r(o)}cancel(){}dispose(){}}class s{constructor(){this.kind="request"}createCancellationTokenSource(o){const c=o.$cancellationData;return c===void 0?new t.CancellationTokenSource:new i(c)}}return Tn.SharedArrayReceiverStrategy=s,Tn}var $t={},ai={},fu;function Uf(){if(fu)return ai;fu=1,Object.defineProperty(ai,"__esModule",{value:!0}),ai.Semaphore=void 0;const t=Un();class e{constructor(r=1){if(r<=0)throw new Error("Capacity must be greater than 0");this._capacity=r,this._active=0,this._waiting=[]}lock(r){return new Promise((i,s)=>{this._waiting.push({thunk:r,resolve:i,reject:s}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const r=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=r.thunk();i instanceof Promise?i.then(s=>{this._active--,r.resolve(s),this.runNext()},s=>{this._active--,r.reject(s),this.runNext()}):(this._active--,r.resolve(i),this.runNext())}catch(i){this._active--,r.reject(i),this.runNext()}}}return ai.Semaphore=e,ai}var hu;function ST(){if(hu)return $t;hu=1,Object.defineProperty($t,"__esModule",{value:!0}),$t.ReadableStreamMessageReader=$t.AbstractMessageReader=$t.MessageReader=void 0;const t=Un(),e=Ji(),n=Gr(),r=Uf();var i;(function(c){function l(u){let f=u;return f&&e.func(f.listen)&&e.func(f.dispose)&&e.func(f.onError)&&e.func(f.onClose)&&e.func(f.onPartialMessage)}c.is=l})(i||($t.MessageReader=i={}));class s{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(l){this.errorEmitter.fire(this.asError(l))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(l){this.partialMessageEmitter.fire(l)}asError(l){return l instanceof Error?l:new Error(`Reader received error. Reason: ${e.string(l.message)?l.message:"unknown"}`)}}$t.AbstractMessageReader=s;var a;(function(c){function l(u){let f,m;const p=new Map;let k;const I=new Map;if(u===void 0||typeof u=="string")f=u??"utf-8";else{if(f=u.charset??"utf-8",u.contentDecoder!==void 0&&(m=u.contentDecoder,p.set(m.name,m)),u.contentDecoders!==void 0)for(const $ of u.contentDecoders)p.set($.name,$);if(u.contentTypeDecoder!==void 0&&(k=u.contentTypeDecoder,I.set(k.name,k)),u.contentTypeDecoders!==void 0)for(const $ of u.contentTypeDecoders)I.set($.name,$)}return k===void 0&&(k=(0,t.default)().applicationJson.decoder,I.set(k.name,k)),{charset:f,contentDecoder:m,contentDecoders:p,contentTypeDecoder:k,contentTypeDecoders:I}}c.fromOptions=l})(a||(a={}));class o extends s{constructor(l,u){super(),this.readable=l,this.options=a.fromOptions(u),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new r.Semaphore(1)}set partialMessageTimeout(l){this._partialMessageTimeout=l}get partialMessageTimeout(){return this._partialMessageTimeout}listen(l){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=l;const u=this.readable.onData(f=>{this.onData(f)});return this.readable.onError(f=>this.fireError(f)),this.readable.onClose(()=>this.fireClose()),u}onData(l){try{for(this.buffer.append(l);;){if(this.nextMessageLength===-1){const f=this.buffer.tryReadHeaders(!0);if(!f)return;const m=f.get("content-length");if(!m){this.fireError(new Error(`Header must provide a Content-Length property.
120
- ${JSON.stringify(Object.fromEntries(f))}`));return}const p=parseInt(m);if(isNaN(p)){this.fireError(new Error(`Content-Length value must be a number. Got ${m}`));return}this.nextMessageLength=p}const u=this.buffer.tryReadBody(this.nextMessageLength);if(u===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const f=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(u):u,m=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(m)}).catch(f=>{this.fireError(f)})}}catch(u){this.fireError(u)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((l,u)=>{this.partialMessageTimer=void 0,l===this.messageToken&&(this.firePartialMessage({messageToken:l,waitingTime:u}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return $t.ReadableStreamMessageReader=o,$t}var Lt={},pu;function kT(){if(pu)return Lt;pu=1,Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.WriteableStreamMessageWriter=Lt.AbstractMessageWriter=Lt.MessageWriter=void 0;const t=Un(),e=Ji(),n=Uf(),r=Gr(),i="Content-Length: ",s=`\r
121
- `;var a;(function(u){function f(m){let p=m;return p&&e.func(p.dispose)&&e.func(p.onClose)&&e.func(p.onError)&&e.func(p.write)}u.is=f})(a||(Lt.MessageWriter=a={}));class o{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f,m,p){this.errorEmitter.fire([this.asError(f),m,p])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(f){return f instanceof Error?f:new Error(`Writer received error. Reason: ${e.string(f.message)?f.message:"unknown"}`)}}Lt.AbstractMessageWriter=o;var c;(function(u){function f(m){return m===void 0||typeof m=="string"?{charset:m??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:m.charset??"utf-8",contentEncoder:m.contentEncoder,contentTypeEncoder:m.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=f})(c||(c={}));class l extends o{constructor(f,m){super(),this.writable=f,this.options=c.fromOptions(m),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(p=>this.fireError(p)),this.writable.onClose(()=>this.fireClose())}async write(f){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(f,this.options).then(p=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(p):p).then(p=>{const k=[];return k.push(i,p.byteLength.toString(),s),k.push(s),this.doWrite(f,k,p)},p=>{throw this.fireError(p),p}))}async doWrite(f,m,p){try{return await this.writable.write(m.join(""),"ascii"),this.writable.write(p)}catch(k){return this.handleError(k,f),Promise.reject(k)}}handleError(f,m){this.errorCount++,this.fireError(f,m,this.errorCount)}end(){this.writable.end()}}return Lt.WriteableStreamMessageWriter=l,Lt}var oi={},mu;function CT(){if(mu)return oi;mu=1,Object.defineProperty(oi,"__esModule",{value:!0}),oi.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
122
- `;class r{constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){const a=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(a),this._totalLength+=a.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let a=0,o=0,c=0,l=0;e:for(;o<this._chunks.length;){const p=this._chunks[o];for(c=0;c<p.length;){switch(p[c]){case t:switch(a){case 0:a=1;break;case 2:a=3;break;default:a=0}break;case e:switch(a){case 1:a=2;break;case 3:a=4,c++;break e;default:a=0}break;default:a=0}c++}l+=p.byteLength,o++}if(a!==4)return;const u=this._read(l+c),f=new Map,m=this.toString(u,"ascii").split(n);if(m.length<2)return f;for(let p=0;p<m.length-2;p++){const k=m[p],I=k.indexOf(":");if(I===-1)throw new Error(`Message header must separate key and value using ':'
123
- ${k}`);const $=k.substr(0,I),b=k.substr(I+1).trim();f.set(s?$.toLowerCase():$,b)}return f}tryReadBody(s){if(!(this._totalLength<s))return this._read(s)}get numberOfBytes(){return this._totalLength}_read(s){if(s===0)return this.emptyBuffer();if(s>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){const l=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(l)}if(this._chunks[0].byteLength>s){const l=this._chunks[0],u=this.asNative(l,s);return this._chunks[0]=l.slice(s),this._totalLength-=s,u}const a=this.allocNative(s);let o=0,c=0;for(;s>0;){const l=this._chunks[c];if(l.byteLength>s){const u=l.slice(0,s);a.set(u,o),o+=s,this._chunks[c]=l.slice(s),this._totalLength-=s,s-=s}else a.set(l,o),o+=l.byteLength,this._chunks.shift(),this._totalLength-=l.byteLength,s-=l.byteLength}return a}}return oi.AbstractMessageBuffer=r,oi}var Va={},gu;function NT(){return gu||(gu=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=Un(),n=Ji(),r=Ff(),i=Gf(),s=Gr(),a=_a();var o;(function(g){g.type=new r.NotificationType("$/cancelRequest")})(o||(o={}));var c;(function(g){function C(y){return typeof y=="string"||typeof y=="number"}g.is=C})(c||(t.ProgressToken=c={}));var l;(function(g){g.type=new r.NotificationType("$/progress")})(l||(l={}));class u{constructor(){}}t.ProgressType=u;var f;(function(g){function C(y){return n.func(y)}g.is=C})(f||(f={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var m;(function(g){g[g.Off=0]="Off",g[g.Messages=1]="Messages",g[g.Compact=2]="Compact",g[g.Verbose=3]="Verbose"})(m||(t.Trace=m={}));var p;(function(g){g.Off="off",g.Messages="messages",g.Compact="compact",g.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(g){function C(R){if(!n.string(R))return g.Off;switch(R=R.toLowerCase(),R){case"off":return g.Off;case"messages":return g.Messages;case"compact":return g.Compact;case"verbose":return g.Verbose;default:return g.Off}}g.fromString=C;function y(R){switch(R){case g.Off:return"off";case g.Messages:return"messages";case g.Compact:return"compact";case g.Verbose:return"verbose";default:return"off"}}g.toString=y})(m||(t.Trace=m={}));var k;(function(g){g.Text="text",g.JSON="json"})(k||(t.TraceFormat=k={})),(function(g){function C(y){return n.string(y)?(y=y.toLowerCase(),y==="json"?g.JSON:g.Text):g.Text}g.fromString=C})(k||(t.TraceFormat=k={}));var I;(function(g){g.type=new r.NotificationType("$/setTrace")})(I||(t.SetTraceNotification=I={}));var $;(function(g){g.type=new r.NotificationType("$/logTrace")})($||(t.LogTraceNotification=$={}));var b;(function(g){g[g.Closed=1]="Closed",g[g.Disposed=2]="Disposed",g[g.AlreadyListening=3]="AlreadyListening"})(b||(t.ConnectionErrors=b={}));class w extends Error{constructor(C,y){super(y),this.code=C,Object.setPrototypeOf(this,w.prototype)}}t.ConnectionError=w;var N;(function(g){function C(y){const R=y;return R&&n.func(R.cancelUndispatched)}g.is=C})(N||(t.ConnectionStrategy=N={}));var x;(function(g){function C(y){const R=y;return R&&(R.kind===void 0||R.kind==="id")&&n.func(R.createCancellationTokenSource)&&(R.dispose===void 0||n.func(R.dispose))}g.is=C})(x||(t.IdCancellationReceiverStrategy=x={}));var H;(function(g){function C(y){const R=y;return R&&R.kind==="request"&&n.func(R.createCancellationTokenSource)&&(R.dispose===void 0||n.func(R.dispose))}g.is=C})(H||(t.RequestCancellationReceiverStrategy=H={}));var K;(function(g){g.Message=Object.freeze({createCancellationTokenSource(y){return new a.CancellationTokenSource}});function C(y){return x.is(y)||H.is(y)}g.is=C})(K||(t.CancellationReceiverStrategy=K={}));var Q;(function(g){g.Message=Object.freeze({sendCancellation(y,R){return y.sendNotification(o.type,{id:R})},cleanup(y){}});function C(y){const R=y;return R&&n.func(R.sendCancellation)&&n.func(R.cleanup)}g.is=C})(Q||(t.CancellationSenderStrategy=Q={}));var ae;(function(g){g.Message=Object.freeze({receiver:K.Message,sender:Q.Message});function C(y){const R=y;return R&&K.is(R.receiver)&&Q.is(R.sender)}g.is=C})(ae||(t.CancellationStrategy=ae={}));var ue;(function(g){function C(y){const R=y;return R&&n.func(R.handleMessage)}g.is=C})(ue||(t.MessageStrategy=ue={}));var Ee;(function(g){function C(y){const R=y;return R&&(ae.is(R.cancellationStrategy)||N.is(R.connectionStrategy)||ue.is(R.messageStrategy))}g.is=C})(Ee||(t.ConnectionOptions=Ee={}));var P;(function(g){g[g.New=1]="New",g[g.Listening=2]="Listening",g[g.Closed=3]="Closed",g[g.Disposed=4]="Disposed"})(P||(P={}));function T(g,C,y,R){const S=y!==void 0?y:t.NullLogger;let D=0,G=0,M=0;const j="2.0";let B;const ie=new Map;let V;const we=new Map,ne=new Map;let _e,Le=new i.LinkedMap,de=new Map,Oe=new Set,Ae=new Map,Y=m.Off,Pe=k.Text,oe,Je=P.New;const zn=new s.Emitter,qr=new s.Emitter,jr=new s.Emitter,zr=new s.Emitter,Br=new s.Emitter,ft=R&&R.cancellationStrategy?R.cancellationStrategy:ae.Message;function Wr(h){if(h===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+h.toString()}function Qi(h){return h===null?"res-unknown-"+(++M).toString():"res-"+h.toString()}function Zi(){return"not-"+(++G).toString()}function es(h,_){r.Message.isRequest(_)?h.set(Wr(_.id),_):r.Message.isResponse(_)?h.set(Qi(_.id),_):h.set(Zi(),_)}function ts(h){}function Vr(){return Je===P.Listening}function Kr(){return Je===P.Closed}function _t(){return Je===P.Disposed}function Hr(){(Je===P.New||Je===P.Listening)&&(Je=P.Closed,qr.fire(void 0))}function ns(h){zn.fire([h,void 0,void 0])}function rs(h){zn.fire(h)}g.onClose(Hr),g.onError(ns),C.onClose(Hr),C.onError(rs);function Yr(){_e||Le.size===0||(_e=(0,e.default)().timer.setImmediate(()=>{_e=void 0,is()}))}function Xr(h){r.Message.isRequest(h)?as(h):r.Message.isNotification(h)?cs(h):r.Message.isResponse(h)?os(h):ls(h)}function is(){if(Le.size===0)return;const h=Le.shift();try{const _=R?.messageStrategy;ue.is(_)?_.handleMessage(h,Xr):Xr(h)}finally{Yr()}}const ss=h=>{try{if(r.Message.isNotification(h)&&h.method===o.type.method){const _=h.params.id,O=Wr(_),U=Le.get(O);if(r.Message.isRequest(U)){const se=R?.connectionStrategy,Te=se&&se.cancelUndispatched?se.cancelUndispatched(U,ts):void 0;if(Te&&(Te.error!==void 0||Te.result!==void 0)){Le.delete(O),Ae.delete(_),Te.id=U.id,fn(Te,h.method,Date.now()),C.write(Te).catch(()=>S.error("Sending response for canceled message failed."));return}}const ce=Ae.get(_);if(ce!==void 0){ce.cancel(),Bn(h);return}else Oe.add(_)}es(Le,h)}finally{Yr()}};function as(h){if(_t())return;function _(Z,fe,re){const Ie={jsonrpc:j,id:h.id};Z instanceof r.ResponseError?Ie.error=Z.toJson():Ie.result=Z===void 0?null:Z,fn(Ie,fe,re),C.write(Ie).catch(()=>S.error("Sending response failed."))}function O(Z,fe,re){const Ie={jsonrpc:j,id:h.id,error:Z.toJson()};fn(Ie,fe,re),C.write(Ie).catch(()=>S.error("Sending response failed."))}function U(Z,fe,re){Z===void 0&&(Z=null);const Ie={jsonrpc:j,id:h.id,result:Z};fn(Ie,fe,re),C.write(Ie).catch(()=>S.error("Sending response failed."))}fs(h);const ce=ie.get(h.method);let se,Te;ce&&(se=ce.type,Te=ce.handler);const Ce=Date.now();if(Te||B){const Z=h.id??String(Date.now()),fe=x.is(ft.receiver)?ft.receiver.createCancellationTokenSource(Z):ft.receiver.createCancellationTokenSource(h);h.id!==null&&Oe.has(h.id)&&fe.cancel(),h.id!==null&&Ae.set(Z,fe);try{let re;if(Te)if(h.params===void 0){if(se!==void 0&&se.numberOfParams!==0){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines ${se.numberOfParams} params but received none.`),h.method,Ce);return}re=Te(fe.token)}else if(Array.isArray(h.params)){if(se!==void 0&&se.parameterStructures===r.ParameterStructures.byName){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by name but received parameters by position`),h.method,Ce);return}re=Te(...h.params,fe.token)}else{if(se!==void 0&&se.parameterStructures===r.ParameterStructures.byPosition){O(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by position but received parameters by name`),h.method,Ce);return}re=Te(h.params,fe.token)}else B&&(re=B(h.method,h.params,fe.token));const Ie=re;re?Ie.then?Ie.then(Be=>{Ae.delete(Z),_(Be,h.method,Ce)},Be=>{Ae.delete(Z),Be instanceof r.ResponseError?O(Be,h.method,Ce):Be&&n.string(Be.message)?O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${Be.message}`),h.method,Ce):O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,Ce)}):(Ae.delete(Z),_(re,h.method,Ce)):(Ae.delete(Z),U(re,h.method,Ce))}catch(re){Ae.delete(Z),re instanceof r.ResponseError?_(re,h.method,Ce):re&&n.string(re.message)?O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${re.message}`),h.method,Ce):O(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,Ce)}}else O(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${h.method}`),h.method,Ce)}function os(h){if(!_t())if(h.id===null)h.error?S.error(`Received response message without id: Error is:
124
- ${JSON.stringify(h.error,void 0,4)}`):S.error("Received response message without id. No further error information provided.");else{const _=h.id,O=de.get(_);if(hs(h,O),O!==void 0){de.delete(_);try{if(h.error){const U=h.error;O.reject(new r.ResponseError(U.code,U.message,U.data))}else if(h.result!==void 0)O.resolve(h.result);else throw new Error("Should never happen.")}catch(U){U.message?S.error(`Response handler '${O.method}' failed with message: ${U.message}`):S.error(`Response handler '${O.method}' failed unexpectedly.`)}}}}function cs(h){if(_t())return;let _,O;if(h.method===o.type.method){const U=h.params.id;Oe.delete(U),Bn(h);return}else{const U=we.get(h.method);U&&(O=U.handler,_=U.type)}if(O||V)try{if(Bn(h),O)if(h.params===void 0)_!==void 0&&_.numberOfParams!==0&&_.parameterStructures!==r.ParameterStructures.byName&&S.error(`Notification ${h.method} defines ${_.numberOfParams} params but received none.`),O();else if(Array.isArray(h.params)){const U=h.params;h.method===l.type.method&&U.length===2&&c.is(U[0])?O({token:U[0],value:U[1]}):(_!==void 0&&(_.parameterStructures===r.ParameterStructures.byName&&S.error(`Notification ${h.method} defines parameters by name but received parameters by position`),_.numberOfParams!==h.params.length&&S.error(`Notification ${h.method} defines ${_.numberOfParams} params but received ${U.length} arguments`)),O(...U))}else _!==void 0&&_.parameterStructures===r.ParameterStructures.byPosition&&S.error(`Notification ${h.method} defines parameters by position but received parameters by name`),O(h.params);else V&&V(h.method,h.params)}catch(U){U.message?S.error(`Notification handler '${h.method}' failed with message: ${U.message}`):S.error(`Notification handler '${h.method}' failed unexpectedly.`)}else jr.fire(h)}function ls(h){if(!h){S.error("Received empty message.");return}S.error(`Received message which is neither a response nor a notification message:
125
- ${JSON.stringify(h,null,4)}`);const _=h;if(n.string(_.id)||n.number(_.id)){const O=_.id,U=de.get(O);U&&U.reject(new Error("The received response has neither a result nor an error property."))}}function ht(h){if(h!=null)switch(Y){case m.Verbose:return JSON.stringify(h,null,4);case m.Compact:return JSON.stringify(h);default:return}}function us(h){if(!(Y===m.Off||!oe))if(Pe===k.Text){let _;(Y===m.Verbose||Y===m.Compact)&&h.params&&(_=`Params: ${ht(h.params)}
126
-
127
- `),oe.log(`Sending request '${h.method} - (${h.id})'.`,_)}else It("send-request",h)}function ds(h){if(!(Y===m.Off||!oe))if(Pe===k.Text){let _;(Y===m.Verbose||Y===m.Compact)&&(h.params?_=`Params: ${ht(h.params)}
128
-
129
- `:_=`No parameters provided.
130
-
131
- `),oe.log(`Sending notification '${h.method}'.`,_)}else It("send-notification",h)}function fn(h,_,O){if(!(Y===m.Off||!oe))if(Pe===k.Text){let U;(Y===m.Verbose||Y===m.Compact)&&(h.error&&h.error.data?U=`Error data: ${ht(h.error.data)}
132
-
133
- `:h.result?U=`Result: ${ht(h.result)}
134
-
135
- `:h.error===void 0&&(U=`No result returned.
136
-
137
- `)),oe.log(`Sending response '${_} - (${h.id})'. Processing request took ${Date.now()-O}ms`,U)}else It("send-response",h)}function fs(h){if(!(Y===m.Off||!oe))if(Pe===k.Text){let _;(Y===m.Verbose||Y===m.Compact)&&h.params&&(_=`Params: ${ht(h.params)}
138
-
139
- `),oe.log(`Received request '${h.method} - (${h.id})'.`,_)}else It("receive-request",h)}function Bn(h){if(!(Y===m.Off||!oe||h.method===$.type.method))if(Pe===k.Text){let _;(Y===m.Verbose||Y===m.Compact)&&(h.params?_=`Params: ${ht(h.params)}
140
-
141
- `:_=`No parameters provided.
142
-
143
- `),oe.log(`Received notification '${h.method}'.`,_)}else It("receive-notification",h)}function hs(h,_){if(!(Y===m.Off||!oe))if(Pe===k.Text){let O;if((Y===m.Verbose||Y===m.Compact)&&(h.error&&h.error.data?O=`Error data: ${ht(h.error.data)}
144
-
145
- `:h.result?O=`Result: ${ht(h.result)}
146
-
147
- `:h.error===void 0&&(O=`No result returned.
148
-
149
- `)),_){const U=h.error?` Request failed: ${h.error.message} (${h.error.code}).`:"";oe.log(`Received response '${_.method} - (${h.id})' in ${Date.now()-_.timerStart}ms.${U}`,O)}else oe.log(`Received response ${h.id} without active response promise.`,O)}else It("receive-response",h)}function It(h,_){if(!oe||Y===m.Off)return;const O={isLSPMessage:!0,type:h,message:_,timestamp:Date.now()};oe.log(O)}function Qt(){if(Kr())throw new w(b.Closed,"Connection is closed.");if(_t())throw new w(b.Disposed,"Connection is disposed.")}function ps(){if(Vr())throw new w(b.AlreadyListening,"Connection is already listening")}function ms(){if(!Vr())throw new Error("Call listen() first.")}function Zt(h){return h===void 0?null:h}function Jr(h){if(h!==null)return h}function d(h){return h!=null&&!Array.isArray(h)&&typeof h=="object"}function Se(h,_){switch(h){case r.ParameterStructures.auto:return d(_)?Jr(_):[Zt(_)];case r.ParameterStructures.byName:if(!d(_))throw new Error("Received parameters by name but param is not an object literal.");return Jr(_);case r.ParameterStructures.byPosition:return[Zt(_)];default:throw new Error(`Unknown parameter structure ${h.toString()}`)}}function ke(h,_){let O;const U=h.numberOfParams;switch(U){case 0:O=void 0;break;case 1:O=Se(h.parameterStructures,_[0]);break;default:O=[];for(let ce=0;ce<_.length&&ce<U;ce++)O.push(Zt(_[ce]));if(_.length<U)for(let ce=_.length;ce<U;ce++)O.push(null);break}return O}const W={sendNotification:(h,..._)=>{Qt();let O,U;if(n.string(h)){O=h;const se=_[0];let Te=0,Ce=r.ParameterStructures.auto;r.ParameterStructures.is(se)&&(Te=1,Ce=se);let Z=_.length;const fe=Z-Te;switch(fe){case 0:U=void 0;break;case 1:U=Se(Ce,_[Te]);break;default:if(Ce===r.ParameterStructures.byName)throw new Error(`Received ${fe} parameters for 'by Name' notification parameter structure.`);U=_.slice(Te,Z).map(re=>Zt(re));break}}else{const se=_;O=h.method,U=ke(h,se)}const ce={jsonrpc:j,method:O,params:U};return ds(ce),C.write(ce).catch(se=>{throw S.error("Sending notification failed."),se})},onNotification:(h,_)=>{Qt();let O;return n.func(h)?V=h:_&&(n.string(h)?(O=h,we.set(h,{type:void 0,handler:_})):(O=h.method,we.set(h.method,{type:h,handler:_}))),{dispose:()=>{O!==void 0?we.delete(O):V=void 0}}},onProgress:(h,_,O)=>{if(ne.has(_))throw new Error(`Progress handler for token ${_} already registered`);return ne.set(_,O),{dispose:()=>{ne.delete(_)}}},sendProgress:(h,_,O)=>W.sendNotification(l.type,{token:_,value:O}),onUnhandledProgress:zr.event,sendRequest:(h,..._)=>{Qt(),ms();let O,U,ce;if(n.string(h)){O=h;const Z=_[0],fe=_[_.length-1];let re=0,Ie=r.ParameterStructures.auto;r.ParameterStructures.is(Z)&&(re=1,Ie=Z);let Be=_.length;a.CancellationToken.is(fe)&&(Be=Be-1,ce=fe);const At=Be-re;switch(At){case 0:U=void 0;break;case 1:U=Se(Ie,_[re]);break;default:if(Ie===r.ParameterStructures.byName)throw new Error(`Received ${At} parameters for 'by Name' request parameter structure.`);U=_.slice(re,Be).map(dh=>Zt(dh));break}}else{const Z=_;O=h.method,U=ke(h,Z);const fe=h.numberOfParams;ce=a.CancellationToken.is(Z[fe])?Z[fe]:void 0}const se=D++;let Te;ce&&(Te=ce.onCancellationRequested(()=>{const Z=ft.sender.sendCancellation(W,se);return Z===void 0?(S.log(`Received no promise from cancellation strategy when cancelling id ${se}`),Promise.resolve()):Z.catch(()=>{S.log(`Sending cancellation messages for id ${se} failed`)})}));const Ce={jsonrpc:j,id:se,method:O,params:U};return us(Ce),typeof ft.sender.enableCancellation=="function"&&ft.sender.enableCancellation(Ce),new Promise(async(Z,fe)=>{const re=At=>{Z(At),ft.sender.cleanup(se),Te?.dispose()},Ie=At=>{fe(At),ft.sender.cleanup(se),Te?.dispose()},Be={method:O,timerStart:Date.now(),resolve:re,reject:Ie};try{await C.write(Ce),de.set(se,Be)}catch(At){throw S.error("Sending request failed."),Be.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,At.message?At.message:"Unknown reason")),At}})},onRequest:(h,_)=>{Qt();let O=null;return f.is(h)?(O=void 0,B=h):n.string(h)?(O=null,_!==void 0&&(O=h,ie.set(h,{handler:_,type:void 0}))):_!==void 0&&(O=h.method,ie.set(h.method,{type:h,handler:_})),{dispose:()=>{O!==null&&(O!==void 0?ie.delete(O):B=void 0)}}},hasPendingResponse:()=>de.size>0,trace:async(h,_,O)=>{let U=!1,ce=k.Text;O!==void 0&&(n.boolean(O)?U=O:(U=O.sendNotification||!1,ce=O.traceFormat||k.Text)),Y=h,Pe=ce,Y===m.Off?oe=void 0:oe=_,U&&!Kr()&&!_t()&&await W.sendNotification(I.type,{value:m.toString(h)})},onError:zn.event,onClose:qr.event,onUnhandledNotification:jr.event,onDispose:Br.event,end:()=>{C.end()},dispose:()=>{if(_t())return;Je=P.Disposed,Br.fire(void 0);const h=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const _ of de.values())_.reject(h);de=new Map,Ae=new Map,Oe=new Set,Le=new i.LinkedMap,n.func(C.dispose)&&C.dispose(),n.func(g.dispose)&&g.dispose()},listen:()=>{Qt(),ps(),Je=P.Listening,g.listen(ss)},inspect:()=>{(0,e.default)().console.log("inspect")}};return W.onNotification($.type,h=>{if(Y===m.Off||!oe)return;const _=Y===m.Verbose||Y===m.Compact;oe.log(h.message,_?h.verbose:void 0)}),W.onNotification(l.type,h=>{const _=ne.get(h.token);_?_(h.value):zr.fire(h)}),W}t.createMessageConnection=T})(Va)),Va}var yu;function Pc(){return yu||(yu=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Ff();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const n=Gf();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return n.Touch}});const r=ET();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Gr();Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=_a();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=AT();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return a.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return a.SharedArrayReceiverStrategy}});const o=ST();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const c=kT();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const l=CT();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});const u=NT();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return u.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return u.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return u.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return u.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return u.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return u.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return u.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return u.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return u.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return u.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return u.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return u.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return u.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return u.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return u.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return u.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return u.MessageStrategy}});const f=Un();t.RAL=f.default})(Wa)),Wa}var Tu;function bT(){if(Tu)return Cs;Tu=1,Object.defineProperty(Cs,"__esModule",{value:!0});const t=Pc();class e extends t.AbstractMessageBuffer{constructor(c="utf-8"){super(c),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(c,l){return new TextEncoder().encode(c)}toString(c,l){return l==="ascii"?this.asciiDecoder.decode(c):new TextDecoder(l).decode(c)}asNative(c,l){return l===void 0?c:c.slice(0,l)}allocNative(c){return new Uint8Array(c)}}e.emptyBuffer=new Uint8Array(0);class n{constructor(c){this.socket=c,this._onData=new t.Emitter,this._messageListener=l=>{l.data.arrayBuffer().then(f=>{this._onData.fire(new Uint8Array(f))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}onData(c){return this._onData.event(c)}}class r{constructor(c){this.socket=c}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}write(c,l){if(typeof c=="string"){if(l!==void 0&&l!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${l}`);this.socket.send(c)}else this.socket.send(c);return Promise.resolve()}end(){this.socket.close()}}const i=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:o=>new e(o)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(o,c)=>{if(c.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${c.charset}`);return Promise.resolve(i.encode(JSON.stringify(o,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(o,c)=>{if(!(o instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(c.charset).decode(o)))}})}),stream:Object.freeze({asReadableStream:o=>new n(o),asWritableStream:o=>new r(o)}),console,timer:Object.freeze({setTimeout(o,c,...l){const u=setTimeout(o,c,...l);return{dispose:()=>clearTimeout(u)}},setImmediate(o,...c){const l=setTimeout(o,0,...c);return{dispose:()=>clearTimeout(l)}},setInterval(o,c,...l){const u=setInterval(o,c,...l);return{dispose:()=>clearInterval(u)}}})});function a(){return s}return(function(o){function c(){t.RAL.install(s)}o.install=c})(a||(a={})),Cs.default=a,Cs}var Ru;function Ur(){return Ru||(Ru=1,(function(t){var e=yn&&yn.__createBinding||(Object.create?(function(c,l,u,f){f===void 0&&(f=u);var m=Object.getOwnPropertyDescriptor(l,u);(!m||("get"in m?!l.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return l[u]}}),Object.defineProperty(c,f,m)}):(function(c,l,u,f){f===void 0&&(f=u),c[f]=l[u]})),n=yn&&yn.__exportStar||function(c,l){for(var u in c)u!=="default"&&!Object.prototype.hasOwnProperty.call(l,u)&&e(l,c,u)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,bT().default.install();const i=Pc();n(Pc(),t);class s extends i.AbstractMessageReader{constructor(l){super(),this._onData=new i.Emitter,this._messageListener=u=>{this._onData.fire(u.data)},l.addEventListener("error",u=>this.fireError(u)),l.onmessage=this._messageListener}listen(l){return this._onData.event(l)}}t.BrowserMessageReader=s;class a extends i.AbstractMessageWriter{constructor(l){super(),this.port=l,this.errorCount=0,l.addEventListener("error",u=>this.fireError(u))}write(l){try{return this.port.postMessage(l),Promise.resolve()}catch(u){return this.handleError(u,l),Promise.reject(u)}}handleError(l,u){this.errorCount++,this.fireError(l,u,this.errorCount)}end(){}}t.BrowserMessageWriter=a;function o(c,l,u,f){return u===void 0&&(u=i.NullLogger),i.ConnectionStrategy.is(f)&&(f={connectionStrategy:f}),(0,i.createMessageConnection)(c,l,u,f)}t.createMessageConnection=o})(yn)),yn}var Ka,vu;function Eu(){return vu||(vu=1,Ka=Ur()),Ka}var Rn={};const cl=F.getAugmentedNamespace(Cy);var We={},Au;function ye(){if(Au)return We;Au=1,Object.defineProperty(We,"__esModule",{value:!0}),We.ProtocolNotificationType=We.ProtocolNotificationType0=We.ProtocolRequestType=We.ProtocolRequestType0=We.RegistrationType=We.MessageDirection=void 0;const t=Ur();var e;(function(o){o.clientToServer="clientToServer",o.serverToClient="serverToClient",o.both="both"})(e||(We.MessageDirection=e={}));class n{constructor(c){this.method=c}}We.RegistrationType=n;class r extends t.RequestType0{constructor(c){super(c)}}We.ProtocolRequestType0=r;class i extends t.RequestType{constructor(c){super(c,t.ParameterStructures.byName)}}We.ProtocolRequestType=i;class s extends t.NotificationType0{constructor(c){super(c)}}We.ProtocolNotificationType0=s;class a extends t.NotificationType{constructor(c){super(c,t.ParameterStructures.byName)}}return We.ProtocolNotificationType=a,We}var Ha={},Ne={},Su;function ll(){if(Su)return Ne;Su=1,Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.objectLiteral=Ne.typedArray=Ne.stringArray=Ne.array=Ne.func=Ne.error=Ne.number=Ne.string=Ne.boolean=void 0;function t(l){return l===!0||l===!1}Ne.boolean=t;function e(l){return typeof l=="string"||l instanceof String}Ne.string=e;function n(l){return typeof l=="number"||l instanceof Number}Ne.number=n;function r(l){return l instanceof Error}Ne.error=r;function i(l){return typeof l=="function"}Ne.func=i;function s(l){return Array.isArray(l)}Ne.array=s;function a(l){return s(l)&&l.every(u=>e(u))}Ne.stringArray=a;function o(l,u){return Array.isArray(l)&&l.every(u)}Ne.typedArray=o;function c(l){return l!==null&&typeof l=="object"}return Ne.objectLiteral=c,Ne}var ci={},ku;function wT(){if(ku)return ci;ku=1,Object.defineProperty(ci,"__esModule",{value:!0}),ci.ImplementationRequest=void 0;const t=ye();var e;return(function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(ci.ImplementationRequest=e={})),ci}var li={},Cu;function _T(){if(Cu)return li;Cu=1,Object.defineProperty(li,"__esModule",{value:!0}),li.TypeDefinitionRequest=void 0;const t=ye();var e;return(function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(li.TypeDefinitionRequest=e={})),li}var vn={},Nu;function IT(){if(Nu)return vn;Nu=1,Object.defineProperty(vn,"__esModule",{value:!0}),vn.DidChangeWorkspaceFoldersNotification=vn.WorkspaceFoldersRequest=void 0;const t=ye();var e;(function(r){r.method="workspace/workspaceFolders",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(e||(vn.WorkspaceFoldersRequest=e={}));var n;return(function(r){r.method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)})(n||(vn.DidChangeWorkspaceFoldersNotification=n={})),vn}var ui={},bu;function PT(){if(bu)return ui;bu=1,Object.defineProperty(ui,"__esModule",{value:!0}),ui.ConfigurationRequest=void 0;const t=ye();var e;return(function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(ui.ConfigurationRequest=e={})),ui}var En={},wu;function $T(){if(wu)return En;wu=1,Object.defineProperty(En,"__esModule",{value:!0}),En.ColorPresentationRequest=En.DocumentColorRequest=void 0;const t=ye();var e;(function(r){r.method="textDocument/documentColor",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(En.DocumentColorRequest=e={}));var n;return(function(r){r.method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(n||(En.ColorPresentationRequest=n={})),En}var An={},_u;function LT(){if(_u)return An;_u=1,Object.defineProperty(An,"__esModule",{value:!0}),An.FoldingRangeRefreshRequest=An.FoldingRangeRequest=void 0;const t=ye();var e;(function(r){r.method="textDocument/foldingRange",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(An.FoldingRangeRequest=e={}));var n;return(function(r){r.method="workspace/foldingRange/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(n||(An.FoldingRangeRefreshRequest=n={})),An}var di={},Iu;function OT(){if(Iu)return di;Iu=1,Object.defineProperty(di,"__esModule",{value:!0}),di.DeclarationRequest=void 0;const t=ye();var e;return(function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(di.DeclarationRequest=e={})),di}var fi={},Pu;function xT(){if(Pu)return fi;Pu=1,Object.defineProperty(fi,"__esModule",{value:!0}),fi.SelectionRangeRequest=void 0;const t=ye();var e;return(function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(fi.SelectionRangeRequest=e={})),fi}var Ot={},$u;function DT(){if($u)return Ot;$u=1,Object.defineProperty(Ot,"__esModule",{value:!0}),Ot.WorkDoneProgressCancelNotification=Ot.WorkDoneProgressCreateRequest=Ot.WorkDoneProgress=void 0;const t=Ur(),e=ye();var n;(function(s){s.type=new t.ProgressType;function a(o){return o===s.type}s.is=a})(n||(Ot.WorkDoneProgress=n={}));var r;(function(s){s.method="window/workDoneProgress/create",s.messageDirection=e.MessageDirection.serverToClient,s.type=new e.ProtocolRequestType(s.method)})(r||(Ot.WorkDoneProgressCreateRequest=r={}));var i;return(function(s){s.method="window/workDoneProgress/cancel",s.messageDirection=e.MessageDirection.clientToServer,s.type=new e.ProtocolNotificationType(s.method)})(i||(Ot.WorkDoneProgressCancelNotification=i={})),Ot}var xt={},Lu;function MT(){if(Lu)return xt;Lu=1,Object.defineProperty(xt,"__esModule",{value:!0}),xt.CallHierarchyOutgoingCallsRequest=xt.CallHierarchyIncomingCallsRequest=xt.CallHierarchyPrepareRequest=void 0;const t=ye();var e;(function(i){i.method="textDocument/prepareCallHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(xt.CallHierarchyPrepareRequest=e={}));var n;(function(i){i.method="callHierarchy/incomingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(xt.CallHierarchyIncomingCallsRequest=n={}));var r;return(function(i){i.method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(xt.CallHierarchyOutgoingCallsRequest=r={})),xt}var Ve={},Ou;function FT(){if(Ou)return Ve;Ou=1,Object.defineProperty(Ve,"__esModule",{value:!0}),Ve.SemanticTokensRefreshRequest=Ve.SemanticTokensRangeRequest=Ve.SemanticTokensDeltaRequest=Ve.SemanticTokensRequest=Ve.SemanticTokensRegistrationType=Ve.TokenFormat=void 0;const t=ye();var e;(function(o){o.Relative="relative"})(e||(Ve.TokenFormat=e={}));var n;(function(o){o.method="textDocument/semanticTokens",o.type=new t.RegistrationType(o.method)})(n||(Ve.SemanticTokensRegistrationType=n={}));var r;(function(o){o.method="textDocument/semanticTokens/full",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(r||(Ve.SemanticTokensRequest=r={}));var i;(function(o){o.method="textDocument/semanticTokens/full/delta",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(i||(Ve.SemanticTokensDeltaRequest=i={}));var s;(function(o){o.method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method})(s||(Ve.SemanticTokensRangeRequest=s={}));var a;return(function(o){o.method="workspace/semanticTokens/refresh",o.messageDirection=t.MessageDirection.serverToClient,o.type=new t.ProtocolRequestType0(o.method)})(a||(Ve.SemanticTokensRefreshRequest=a={})),Ve}var hi={},xu;function GT(){if(xu)return hi;xu=1,Object.defineProperty(hi,"__esModule",{value:!0}),hi.ShowDocumentRequest=void 0;const t=ye();var e;return(function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(e||(hi.ShowDocumentRequest=e={})),hi}var pi={},Du;function UT(){if(Du)return pi;Du=1,Object.defineProperty(pi,"__esModule",{value:!0}),pi.LinkedEditingRangeRequest=void 0;const t=ye();var e;return(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(pi.LinkedEditingRangeRequest=e={})),pi}var De={},Mu;function qT(){if(Mu)return De;Mu=1,Object.defineProperty(De,"__esModule",{value:!0}),De.WillDeleteFilesRequest=De.DidDeleteFilesNotification=De.DidRenameFilesNotification=De.WillRenameFilesRequest=De.DidCreateFilesNotification=De.WillCreateFilesRequest=De.FileOperationPatternKind=void 0;const t=ye();var e;(function(c){c.file="file",c.folder="folder"})(e||(De.FileOperationPatternKind=e={}));var n;(function(c){c.method="workspace/willCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(n||(De.WillCreateFilesRequest=n={}));var r;(function(c){c.method="workspace/didCreateFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(r||(De.DidCreateFilesNotification=r={}));var i;(function(c){c.method="workspace/willRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(i||(De.WillRenameFilesRequest=i={}));var s;(function(c){c.method="workspace/didRenameFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(s||(De.DidRenameFilesNotification=s={}));var a;(function(c){c.method="workspace/didDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolNotificationType(c.method)})(a||(De.DidDeleteFilesNotification=a={}));var o;return(function(c){c.method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)})(o||(De.WillDeleteFilesRequest=o={})),De}var Dt={},Fu;function jT(){if(Fu)return Dt;Fu=1,Object.defineProperty(Dt,"__esModule",{value:!0}),Dt.MonikerRequest=Dt.MonikerKind=Dt.UniquenessLevel=void 0;const t=ye();var e;(function(i){i.document="document",i.project="project",i.group="group",i.scheme="scheme",i.global="global"})(e||(Dt.UniquenessLevel=e={}));var n;(function(i){i.$import="import",i.$export="export",i.local="local"})(n||(Dt.MonikerKind=n={}));var r;return(function(i){i.method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Dt.MonikerRequest=r={})),Dt}var Mt={},Gu;function zT(){if(Gu)return Mt;Gu=1,Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.TypeHierarchySubtypesRequest=Mt.TypeHierarchySupertypesRequest=Mt.TypeHierarchyPrepareRequest=void 0;const t=ye();var e;(function(i){i.method="textDocument/prepareTypeHierarchy",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Mt.TypeHierarchyPrepareRequest=e={}));var n;(function(i){i.method="typeHierarchy/supertypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Mt.TypeHierarchySupertypesRequest=n={}));var r;return(function(i){i.method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(r||(Mt.TypeHierarchySubtypesRequest=r={})),Mt}var Sn={},Uu;function BT(){if(Uu)return Sn;Uu=1,Object.defineProperty(Sn,"__esModule",{value:!0}),Sn.InlineValueRefreshRequest=Sn.InlineValueRequest=void 0;const t=ye();var e;(function(r){r.method="textDocument/inlineValue",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)})(e||(Sn.InlineValueRequest=e={}));var n;return(function(r){r.method="workspace/inlineValue/refresh",r.messageDirection=t.MessageDirection.serverToClient,r.type=new t.ProtocolRequestType0(r.method)})(n||(Sn.InlineValueRefreshRequest=n={})),Sn}var Ft={},qu;function WT(){if(qu)return Ft;qu=1,Object.defineProperty(Ft,"__esModule",{value:!0}),Ft.InlayHintRefreshRequest=Ft.InlayHintResolveRequest=Ft.InlayHintRequest=void 0;const t=ye();var e;(function(i){i.method="textDocument/inlayHint",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(e||(Ft.InlayHintRequest=e={}));var n;(function(i){i.method="inlayHint/resolve",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)})(n||(Ft.InlayHintResolveRequest=n={}));var r;return(function(i){i.method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.serverToClient,i.type=new t.ProtocolRequestType0(i.method)})(r||(Ft.InlayHintRefreshRequest=r={})),Ft}var rt={},ju;function VT(){if(ju)return rt;ju=1,Object.defineProperty(rt,"__esModule",{value:!0}),rt.DiagnosticRefreshRequest=rt.WorkspaceDiagnosticRequest=rt.DocumentDiagnosticRequest=rt.DocumentDiagnosticReportKind=rt.DiagnosticServerCancellationData=void 0;const t=Ur(),e=ll(),n=ye();var r;(function(c){function l(u){const f=u;return f&&e.boolean(f.retriggerRequest)}c.is=l})(r||(rt.DiagnosticServerCancellationData=r={}));var i;(function(c){c.Full="full",c.Unchanged="unchanged"})(i||(rt.DocumentDiagnosticReportKind=i={}));var s;(function(c){c.method="textDocument/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(s||(rt.DocumentDiagnosticRequest=s={}));var a;(function(c){c.method="workspace/diagnostic",c.messageDirection=n.MessageDirection.clientToServer,c.type=new n.ProtocolRequestType(c.method),c.partialResult=new t.ProgressType})(a||(rt.WorkspaceDiagnosticRequest=a={}));var o;return(function(c){c.method="workspace/diagnostic/refresh",c.messageDirection=n.MessageDirection.serverToClient,c.type=new n.ProtocolRequestType0(c.method)})(o||(rt.DiagnosticRefreshRequest=o={})),rt}var he={},zu;function KT(){if(zu)return he;zu=1,Object.defineProperty(he,"__esModule",{value:!0}),he.DidCloseNotebookDocumentNotification=he.DidSaveNotebookDocumentNotification=he.DidChangeNotebookDocumentNotification=he.NotebookCellArrayChange=he.DidOpenNotebookDocumentNotification=he.NotebookDocumentSyncRegistrationType=he.NotebookDocument=he.NotebookCell=he.ExecutionSummary=he.NotebookCellKind=void 0;const t=cl,e=ll(),n=ye();var r;(function(p){p.Markup=1,p.Code=2;function k(I){return I===1||I===2}p.is=k})(r||(he.NotebookCellKind=r={}));var i;(function(p){function k(b,w){const N={executionOrder:b};return(w===!0||w===!1)&&(N.success=w),N}p.create=k;function I(b){const w=b;return e.objectLiteral(w)&&t.uinteger.is(w.executionOrder)&&(w.success===void 0||e.boolean(w.success))}p.is=I;function $(b,w){return b===w?!0:b==null||w===null||w===void 0?!1:b.executionOrder===w.executionOrder&&b.success===w.success}p.equals=$})(i||(he.ExecutionSummary=i={}));var s;(function(p){function k(w,N){return{kind:w,document:N}}p.create=k;function I(w){const N=w;return e.objectLiteral(N)&&r.is(N.kind)&&t.DocumentUri.is(N.document)&&(N.metadata===void 0||e.objectLiteral(N.metadata))}p.is=I;function $(w,N){const x=new Set;return w.document!==N.document&&x.add("document"),w.kind!==N.kind&&x.add("kind"),w.executionSummary!==N.executionSummary&&x.add("executionSummary"),(w.metadata!==void 0||N.metadata!==void 0)&&!b(w.metadata,N.metadata)&&x.add("metadata"),(w.executionSummary!==void 0||N.executionSummary!==void 0)&&!i.equals(w.executionSummary,N.executionSummary)&&x.add("executionSummary"),x}p.diff=$;function b(w,N){if(w===N)return!0;if(w==null||N===null||N===void 0||typeof w!=typeof N||typeof w!="object")return!1;const x=Array.isArray(w),H=Array.isArray(N);if(x!==H)return!1;if(x&&H){if(w.length!==N.length)return!1;for(let K=0;K<w.length;K++)if(!b(w[K],N[K]))return!1}if(e.objectLiteral(w)&&e.objectLiteral(N)){const K=Object.keys(w),Q=Object.keys(N);if(K.length!==Q.length||(K.sort(),Q.sort(),!b(K,Q)))return!1;for(let ae=0;ae<K.length;ae++){const ue=K[ae];if(!b(w[ue],N[ue]))return!1}}return!0}})(s||(he.NotebookCell=s={}));var a;(function(p){function k($,b,w,N){return{uri:$,notebookType:b,version:w,cells:N}}p.create=k;function I($){const b=$;return e.objectLiteral(b)&&e.string(b.uri)&&t.integer.is(b.version)&&e.typedArray(b.cells,s.is)}p.is=I})(a||(he.NotebookDocument=a={}));var o;(function(p){p.method="notebookDocument/sync",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.RegistrationType(p.method)})(o||(he.NotebookDocumentSyncRegistrationType=o={}));var c;(function(p){p.method="notebookDocument/didOpen",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.ProtocolNotificationType(p.method),p.registrationMethod=o.method})(c||(he.DidOpenNotebookDocumentNotification=c={}));var l;(function(p){function k($){const b=$;return e.objectLiteral(b)&&t.uinteger.is(b.start)&&t.uinteger.is(b.deleteCount)&&(b.cells===void 0||e.typedArray(b.cells,s.is))}p.is=k;function I($,b,w){const N={start:$,deleteCount:b};return w!==void 0&&(N.cells=w),N}p.create=I})(l||(he.NotebookCellArrayChange=l={}));var u;(function(p){p.method="notebookDocument/didChange",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.ProtocolNotificationType(p.method),p.registrationMethod=o.method})(u||(he.DidChangeNotebookDocumentNotification=u={}));var f;(function(p){p.method="notebookDocument/didSave",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.ProtocolNotificationType(p.method),p.registrationMethod=o.method})(f||(he.DidSaveNotebookDocumentNotification=f={}));var m;return(function(p){p.method="notebookDocument/didClose",p.messageDirection=n.MessageDirection.clientToServer,p.type=new n.ProtocolNotificationType(p.method),p.registrationMethod=o.method})(m||(he.DidCloseNotebookDocumentNotification=m={})),he}var mi={},Bu;function HT(){if(Bu)return mi;Bu=1,Object.defineProperty(mi,"__esModule",{value:!0}),mi.InlineCompletionRequest=void 0;const t=ye();var e;return(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(e||(mi.InlineCompletionRequest=e={})),mi}var Wu;function YT(){return Wu||(Wu=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;const e=ye(),n=cl,r=ll(),i=wT();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=_T();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=IT();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const o=PT();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return o.ConfigurationRequest}});const c=$T();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const l=LT();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return l.FoldingRangeRefreshRequest}});const u=OT();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const f=xT();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return f.SelectionRangeRequest}});const m=DT();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return m.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return m.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return m.WorkDoneProgressCancelNotification}});const p=MT();Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return p.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return p.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return p.CallHierarchyPrepareRequest}});const k=FT();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return k.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return k.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return k.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return k.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return k.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return k.SemanticTokensRegistrationType}});const I=GT();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return I.ShowDocumentRequest}});const $=UT();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return $.LinkedEditingRangeRequest}});const b=qT();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return b.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return b.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return b.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return b.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return b.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return b.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return b.WillDeleteFilesRequest}});const w=jT();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return w.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return w.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return w.MonikerRequest}});const N=zT();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return N.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return N.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return N.TypeHierarchySupertypesRequest}});const x=BT();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return x.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return x.InlineValueRefreshRequest}});const H=WT();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return H.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return H.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return H.InlayHintRefreshRequest}});const K=VT();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return K.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return K.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return K.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return K.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return K.DiagnosticRefreshRequest}});const Q=KT();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return Q.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return Q.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return Q.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return Q.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Q.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Q.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Q.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Q.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Q.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Q.DidCloseNotebookDocumentNotification}});const ae=HT();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return ae.InlineCompletionRequest}});var ue;(function(d){function Se(ke){const W=ke;return r.string(W)||r.string(W.language)||r.string(W.scheme)||r.string(W.pattern)}d.is=Se})(ue||(t.TextDocumentFilter=ue={}));var Ee;(function(d){function Se(ke){const W=ke;return r.objectLiteral(W)&&(r.string(W.notebookType)||r.string(W.scheme)||r.string(W.pattern))}d.is=Se})(Ee||(t.NotebookDocumentFilter=Ee={}));var P;(function(d){function Se(ke){const W=ke;return r.objectLiteral(W)&&(r.string(W.notebook)||Ee.is(W.notebook))&&(W.language===void 0||r.string(W.language))}d.is=Se})(P||(t.NotebookCellTextDocumentFilter=P={}));var T;(function(d){function Se(ke){if(!Array.isArray(ke))return!1;for(let W of ke)if(!r.string(W)&&!ue.is(W)&&!P.is(W))return!1;return!0}d.is=Se})(T||(t.DocumentSelector=T={}));var g;(function(d){d.method="client/registerCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(g||(t.RegistrationRequest=g={}));var C;(function(d){d.method="client/unregisterCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(C||(t.UnregistrationRequest=C={}));var y;(function(d){d.Create="create",d.Rename="rename",d.Delete="delete"})(y||(t.ResourceOperationKind=y={}));var R;(function(d){d.Abort="abort",d.Transactional="transactional",d.TextOnlyTransactional="textOnlyTransactional",d.Undo="undo"})(R||(t.FailureHandlingKind=R={}));var S;(function(d){d.UTF8="utf-8",d.UTF16="utf-16",d.UTF32="utf-32"})(S||(t.PositionEncodingKind=S={}));var D;(function(d){function Se(ke){const W=ke;return W&&r.string(W.id)&&W.id.length>0}d.hasId=Se})(D||(t.StaticRegistrationOptions=D={}));var G;(function(d){function Se(ke){const W=ke;return W&&(W.documentSelector===null||T.is(W.documentSelector))}d.is=Se})(G||(t.TextDocumentRegistrationOptions=G={}));var M;(function(d){function Se(W){const h=W;return r.objectLiteral(h)&&(h.workDoneProgress===void 0||r.boolean(h.workDoneProgress))}d.is=Se;function ke(W){const h=W;return h&&r.boolean(h.workDoneProgress)}d.hasWorkDoneProgress=ke})(M||(t.WorkDoneProgressOptions=M={}));var j;(function(d){d.method="initialize",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(j||(t.InitializeRequest=j={}));var B;(function(d){d.unknownProtocolVersion=1})(B||(t.InitializeErrorCodes=B={}));var ie;(function(d){d.method="initialized",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ie||(t.InitializedNotification=ie={}));var V;(function(d){d.method="shutdown",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType0(d.method)})(V||(t.ShutdownRequest=V={}));var we;(function(d){d.method="exit",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType0(d.method)})(we||(t.ExitNotification=we={}));var ne;(function(d){d.method="workspace/didChangeConfiguration",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ne||(t.DidChangeConfigurationNotification=ne={}));var _e;(function(d){d.Error=1,d.Warning=2,d.Info=3,d.Log=4,d.Debug=5})(_e||(t.MessageType=_e={}));var Le;(function(d){d.method="window/showMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Le||(t.ShowMessageNotification=Le={}));var de;(function(d){d.method="window/showMessageRequest",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(de||(t.ShowMessageRequest=de={}));var Oe;(function(d){d.method="window/logMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Oe||(t.LogMessageNotification=Oe={}));var Ae;(function(d){d.method="telemetry/event",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Ae||(t.TelemetryEventNotification=Ae={}));var Y;(function(d){d.None=0,d.Full=1,d.Incremental=2})(Y||(t.TextDocumentSyncKind=Y={}));var Pe;(function(d){d.method="textDocument/didOpen",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Pe||(t.DidOpenTextDocumentNotification=Pe={}));var oe;(function(d){function Se(W){let h=W;return h!=null&&typeof h.text=="string"&&h.range!==void 0&&(h.rangeLength===void 0||typeof h.rangeLength=="number")}d.isIncremental=Se;function ke(W){let h=W;return h!=null&&typeof h.text=="string"&&h.range===void 0&&h.rangeLength===void 0}d.isFull=ke})(oe||(t.TextDocumentContentChangeEvent=oe={}));var Je;(function(d){d.method="textDocument/didChange",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Je||(t.DidChangeTextDocumentNotification=Je={}));var zn;(function(d){d.method="textDocument/didClose",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(zn||(t.DidCloseTextDocumentNotification=zn={}));var qr;(function(d){d.method="textDocument/didSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(qr||(t.DidSaveTextDocumentNotification=qr={}));var jr;(function(d){d.Manual=1,d.AfterDelay=2,d.FocusOut=3})(jr||(t.TextDocumentSaveReason=jr={}));var zr;(function(d){d.method="textDocument/willSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(zr||(t.WillSaveTextDocumentNotification=zr={}));var Br;(function(d){d.method="textDocument/willSaveWaitUntil",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Br||(t.WillSaveTextDocumentWaitUntilRequest=Br={}));var ft;(function(d){d.method="workspace/didChangeWatchedFiles",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(ft||(t.DidChangeWatchedFilesNotification=ft={}));var Wr;(function(d){d.Created=1,d.Changed=2,d.Deleted=3})(Wr||(t.FileChangeType=Wr={}));var Qi;(function(d){function Se(ke){const W=ke;return r.objectLiteral(W)&&(n.URI.is(W.baseUri)||n.WorkspaceFolder.is(W.baseUri))&&r.string(W.pattern)}d.is=Se})(Qi||(t.RelativePattern=Qi={}));var Zi;(function(d){d.Create=1,d.Change=2,d.Delete=4})(Zi||(t.WatchKind=Zi={}));var es;(function(d){d.method="textDocument/publishDiagnostics",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(es||(t.PublishDiagnosticsNotification=es={}));var ts;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.TriggerForIncompleteCompletions=3})(ts||(t.CompletionTriggerKind=ts={}));var Vr;(function(d){d.method="textDocument/completion",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Vr||(t.CompletionRequest=Vr={}));var Kr;(function(d){d.method="completionItem/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Kr||(t.CompletionResolveRequest=Kr={}));var _t;(function(d){d.method="textDocument/hover",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(_t||(t.HoverRequest=_t={}));var Hr;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.ContentChange=3})(Hr||(t.SignatureHelpTriggerKind=Hr={}));var ns;(function(d){d.method="textDocument/signatureHelp",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ns||(t.SignatureHelpRequest=ns={}));var rs;(function(d){d.method="textDocument/definition",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(rs||(t.DefinitionRequest=rs={}));var Yr;(function(d){d.method="textDocument/references",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Yr||(t.ReferencesRequest=Yr={}));var Xr;(function(d){d.method="textDocument/documentHighlight",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Xr||(t.DocumentHighlightRequest=Xr={}));var is;(function(d){d.method="textDocument/documentSymbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(is||(t.DocumentSymbolRequest=is={}));var ss;(function(d){d.method="textDocument/codeAction",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ss||(t.CodeActionRequest=ss={}));var as;(function(d){d.method="codeAction/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(as||(t.CodeActionResolveRequest=as={}));var os;(function(d){d.method="workspace/symbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(os||(t.WorkspaceSymbolRequest=os={}));var cs;(function(d){d.method="workspaceSymbol/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(cs||(t.WorkspaceSymbolResolveRequest=cs={}));var ls;(function(d){d.method="textDocument/codeLens",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ls||(t.CodeLensRequest=ls={}));var ht;(function(d){d.method="codeLens/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ht||(t.CodeLensResolveRequest=ht={}));var us;(function(d){d.method="workspace/codeLens/refresh",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType0(d.method)})(us||(t.CodeLensRefreshRequest=us={}));var ds;(function(d){d.method="textDocument/documentLink",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ds||(t.DocumentLinkRequest=ds={}));var fn;(function(d){d.method="documentLink/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(fn||(t.DocumentLinkResolveRequest=fn={}));var fs;(function(d){d.method="textDocument/formatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(fs||(t.DocumentFormattingRequest=fs={}));var Bn;(function(d){d.method="textDocument/rangeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Bn||(t.DocumentRangeFormattingRequest=Bn={}));var hs;(function(d){d.method="textDocument/rangesFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(hs||(t.DocumentRangesFormattingRequest=hs={}));var It;(function(d){d.method="textDocument/onTypeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(It||(t.DocumentOnTypeFormattingRequest=It={}));var Qt;(function(d){d.Identifier=1})(Qt||(t.PrepareSupportDefaultBehavior=Qt={}));var ps;(function(d){d.method="textDocument/rename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ps||(t.RenameRequest=ps={}));var ms;(function(d){d.method="textDocument/prepareRename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ms||(t.PrepareRenameRequest=ms={}));var Zt;(function(d){d.method="workspace/executeCommand",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Zt||(t.ExecuteCommandRequest=Zt={}));var Jr;(function(d){d.method="workspace/applyEdit",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType("workspace/applyEdit")})(Jr||(t.ApplyWorkspaceEditRequest=Jr={}))})(Ha)),Ha}var gi={},Vu;function XT(){if(Vu)return gi;Vu=1,Object.defineProperty(gi,"__esModule",{value:!0}),gi.createProtocolConnection=void 0;const t=Ur();function e(n,r,i,s){return t.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,t.createMessageConnection)(n,r,i,s)}return gi.createProtocolConnection=e,gi}var Ku;function JT(){return Ku||(Ku=1,(function(t){var e=Rn&&Rn.__createBinding||(Object.create?(function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}):(function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]})),n=Rn&&Rn.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,n(Ur(),t),n(cl,t),n(ye(),t),n(YT(),t);var r=XT();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return r.createProtocolConnection}});var i;(function(s){s.lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(Rn)),Rn}var Hu;function QT(){return Hu||(Hu=1,(function(t){var e=gn&&gn.__createBinding||(Object.create?(function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}):(function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]})),n=gn&&gn.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=Eu();n(Eu(),t),n(JT(),t);function i(s,a,o,c){return(0,r.createMessageConnection)(s,a,o,c)}t.createProtocolConnection=i})(gn)),gn}var Ns=QT(),wi;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(wi||(wi={}));class ZT{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ui,this.documentPhaseListeners=new Ui,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=X.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=ge.CancellationToken.None){for(const i of e){const s=i.uri.toString();if(i.state===X.Validated){if(typeof n.validation=="boolean"&&n.validation)this.resetToState(i,X.IndexedReferences);else if(typeof n.validation=="object"){const a=this.findMissingValidationCategories(i,n);a.length>0&&(this.buildState.set(s,{completed:!1,options:{validation:{categories:a}},result:this.buildState.get(s)?.result}),i.state=X.IndexedReferences)}}else this.buildState.delete(s)}this.currentState=X.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=ge.CancellationToken.None){this.currentState=X.Changed;const i=[];for(const c of n){const l=this.langiumDocuments.deleteDocuments(c);for(const u of l)i.push(u.uri),this.cleanUpDeleted(u)}const s=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(const c of s){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=X.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,X.Changed)}const a=pe(s).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!a.has(c.uri.toString())&&this.shouldRelink(c,a)).forEach(c=>this.resetToState(c,X.ComputedScopes)),await this.emitUpdate(s,i),await Ke(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<X.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(o,this.updateBuildOptions,r)}resultsAreIncomplete(e,n){return this.findMissingValidationCategories(e,n).length>=1}findMissingValidationCategories(e,n){const r=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),s=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?i:new Set,a=n===void 0||n.validation===!0?i:typeof n.validation=="object"?n.validation.categories??i:[];return pe(a).filter(o=>!s.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const r=await this.fileSystemProvider.stat(e);if(r.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(r))return[e]}catch{}return[]}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),wi.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}resetToState(e,n){switch(n){case X.Changed:case X.Parsed:this.indexManager.removeContent(e.uri);case X.IndexedContent:e.localSymbols=void 0;case X.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case X.Linked:this.indexManager.removeReferences(e.uri);case X.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case X.Validated:}e.state>n&&(e.state=n)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=X.Changed}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,X.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,X.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,X.ComputedScopes,r,async a=>{const o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.localSymbols=await o.collectLocalSymbols(a,r)});const i=e.filter(a=>this.shouldLink(a));await this.runCancelable(i,X.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(i,X.IndexedReferences,r,a=>this.indexManager.updateReferences(a,r));const s=e.filter(a=>this.shouldValidate(a)?!0:(this.markAsCompleted(a),!1));await this.runCancelable(s,X.Validated,r,async a=>{await this.validate(a,r),this.markAsCompleted(a)})}markAsCompleted(e){const n=this.buildState.get(e.uri.toString());n&&(n.completed=!0)}prepareBuild(e,n){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:n,result:s?.result})}}async runCancelable(e,n,r,i){for(const a of e)a.state<n&&(await Ke(r),await i(a),a.state=n,await this.notifyDocumentPhase(a,n,r));const s=e.filter(a=>a.state===n);await this.notifyBuildPhase(s,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),wi.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),wi.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;return n&&"path"in n?i=n:r=n,r??(r=ge.CancellationToken.None),i?this.awaitDocumentState(e,i,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,n,r){const i=this.langiumDocuments.getDocument(n);if(i){if(i.state>=e)return Promise.resolve(n);if(r.isCancellationRequested)return Promise.reject(dr);if(this.currentState>=e&&e>i.state)return Promise.reject(new Ns.ResponseError(Ns.LSPErrorCodes.RequestFailed,`Document state of ${n.toString()} is ${X[i.state]}, requiring ${X[e]}, but workspace state is already ${X[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Ns.ResponseError(Ns.LSPErrorCodes.ServerCancelled,`No document found for URI: ${n.toString()}`));return new Promise((s,a)=>{const o=this.onDocumentPhase(e,l=>{at.equals(l.uri,n)&&(o.dispose(),c.dispose(),s(l.uri))}),c=r.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(dr)})})}awaitBuilderState(e,n){return this.currentState>=e?Promise.resolve():n.isCancellationRequested?Promise.reject(dr):new Promise((r,i)=>{const s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),r()}),a=n.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(dr)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await Ke(r),await a(e,r)}catch(o){if(!Ia(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await Ke(r),await a(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){const r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),s=typeof i.validation=="object"?{...i.validation}:{};s.categories=this.findMissingValidationCategories(e,i);const a=await r.validateDocument(e,s,n);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=pe(o.result.validationChecks).concat(s.categories).distinct().toArray():o.result.validationChecks=[...s.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class eR{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new sT,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=Wt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{at.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),pe(i)}allElements(e,n){let r=pe(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){return n?this.symbolByTypeIndex.get(e,n,()=>(this.symbolIndex.get(e)??[]).filter(s=>this.astReflection.isSubtype(s.type,n))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n)}removeReferences(e){const n=e.toString();this.referenceIndex.delete(n)}async updateContent(e,n=ge.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=ge.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class tR{constructor(e){this.initialBuildOptions={},this._ready=new ol,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(n=>this.initializeWorkspace(this.folders??[],n))}async initializeWorkspace(e,n=ge.CancellationToken.None){const r=await this.performStartup(e);await Ke(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=[],r=a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)};await this.loadAdditionalDocuments(e,r);const i=[];await Promise.all(e.map(a=>this.getRootFolder(a)).map(async a=>this.traverseFolder(a,i)));const s=pe(i).distinct(a=>a.toString()).filter(a=>!this.langiumDocuments.hasDocument(a));return await this.loadWorkspaceDocuments(s,r),this._ready.resolve(),n}async loadWorkspaceDocuments(e,n){await Promise.all(e.map(async r=>{const i=await this.langiumDocuments.getOrCreateDocument(r);n(i)}))}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return Tt.parse(e.uri)}async traverseFolder(e,n){try{const r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,n):i.isFile&&n.push(i.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){const n=[];return await this.traverseFolder(e,n),n}shouldIncludeEntry(e){const n=at.basename(e.uri);return n.startsWith(".")?!1:e.isDirectory?n!=="node_modules"&&n!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class nR{buildUnexpectedCharactersMessage(e,n,r,i,s){return yo.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return yo.buildUnableToPopLexerModeMessage(e)}}const rR={mode:"full"};class iR{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=Yu(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Qe(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=rR){const r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(Yu(e))return e;const n=qf(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function sR(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function qf(t){return t&&"modes"in t&&"defaultMode"in t}function Yu(t){return!sR(t)&&!qf(t)}function aR(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=te.create(0,0));const s=jf(t),a=ul(r),o=lR({lines:s,position:i,options:a});return pR({index:0,tokens:o,position:i})}function oR(t,e){const n=ul(e),r=jf(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!a?.exec(i)&&!!o?.exec(s)}function jf(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(lp)}const Xu=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,cR=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function lR(t){const e=[];let n=t.position.line,r=t.position.character;for(let i=0;i<t.lines.length;i++){const s=i===0,a=i===t.lines.length-1;let o=t.lines[i],c=0;if(s&&t.options.start){const u=t.options.start?.exec(o);u&&(c=u.index+u[0].length)}else{const u=t.options.line?.exec(o);u&&(c=u.index+u[0].length)}if(a){const u=t.options.end?.exec(o);u&&(o=o.substring(0,u.index))}if(o=o.substring(0,hR(o)),$c(o,c)>=o.length){if(e.length>0){const u=te.create(n,r);e.push({type:"break",content:"",range:J.create(u,u)})}}else{Xu.lastIndex=c;const u=Xu.exec(o);if(u){const f=u[0],m=u[1],p=te.create(n,r+c),k=te.create(n,r+c+f.length);e.push({type:"tag",content:m,range:J.create(p,k)}),c+=f.length,c=$c(o,c)}if(c<o.length){const f=o.substring(c),m=Array.from(f.matchAll(cR));e.push(...uR(m,f,n,r+c))}}n++,r=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function uR(t,e,n,r){const i=[];if(t.length===0){const s=te.create(n,r),a=te.create(n,r+e.length);i.push({type:"text",content:e,range:J.create(s,a)})}else{let s=0;for(const o of t){const c=o.index,l=e.substring(s,c);l.length>0&&i.push({type:"text",content:e.substring(s,c),range:J.create(te.create(n,s+r),te.create(n,c+r))});let u=l.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:J.create(te.create(n,s+u+r),te.create(n,s+u+f.length+r))}),u+=f.length,o.length===4){u+=o[2].length;const m=o[3];i.push({type:"text",content:m,range:J.create(te.create(n,s+u+r),te.create(n,s+u+m.length+r))})}else i.push({type:"text",content:"",range:J.create(te.create(n,s+u+r),te.create(n,s+u+r))});s=c+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:J.create(te.create(n,s+r),te.create(n,s+r+a.length))})}return i}const dR=/\S/,fR=/\s*$/;function $c(t,e){const n=t.substring(e).match(dR);return n?e+n.index:t.length}function hR(t){const e=t.match(fR);if(e&&typeof e.index=="number")return e.index}function pR(t){const e=te.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Ju([],J.create(e,e));const n=[];for(;t.index<t.tokens.length;){const s=mR(t,n[n.length-1]);s&&n.push(s)}const r=n[0]?.range.start??e,i=n[n.length-1]?.range.end??e;return new Ju(n,J.create(r,i))}function mR(t,e){const n=t.tokens[t.index];if(n.type==="tag")return Bf(t,!1);if(n.type==="text"||n.type==="inline-tag")return zf(t);gR(n,e),t.index++}function gR(t,e){if(e){const n=new Vf("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function zf(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(yR(t)),r=e,e=t.tokens[t.index];return new Lc(i,J.create(n.range.start,r.range.end))}function yR(t){return t.tokens[t.index].type==="inline-tag"?Bf(t,!0):Wf(t)}function Bf(t,e){const n=t.tokens[t.index++],r=n.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){const s=Wf(t);return new Xa(r,new Lc([s],s.range),e,J.create(n.range.start,s.range.end))}else{const s=zf(t);return new Xa(r,s,e,J.create(n.range.start,s.range.end))}else{const s=n.range;return new Xa(r,new Lc([],s),e,s)}}function Wf(t){const e=t.tokens[t.index++];return new Vf(e.content,e.range)}function ul(t){if(!t)return ul({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:Ya(e,!0),end:Ya(n,!1),line:Ya(r,!0)}}function Ya(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?Ea(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class Ju{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=Qu(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=Qu(n)+i}return n.trim()}}class Xa{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
150
- ${n}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=TR(this.name,n,e??{});if(typeof s=="string")return s}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${n}`:this.content.inlines.length>1&&(i=`${i}
151
- ${n}`),this.inline?`{${i}}`:i}}function TR(t,e,n){if(t==="linkplain"||t==="linkcode"||t==="link"){const r=e.indexOf(" ");let i=e;if(r>0){const a=$c(e,r);i=e.substring(a),e=e.substring(0,r)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(i=`\`${i}\``),n.renderLink?.(e,i)??RR(e,i)}}function RR(t,e){try{return Tt.parse(t,!0),`[${e}](${t})`}catch{return t}}class Lc{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
152
- `)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
153
- `)}return n}}class Vf{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Qu(t){return t.endsWith(`
154
- `)?`
155
- `:`
156
-
157
- `}class vR{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&oR(n))return aR(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){const i=this.findNameInLocalSymbols(e,n)??this.findNameInGlobalScope(e,n);if(i&&i.nameSegment){const s=i.nameSegment.range.start.line+1,a=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${s},${a}`});return`[${r}](${o.toString()})`}else return}documentationTagRenderer(e,n){}findNameInLocalSymbols(e,n){const i=Wt(e).localSymbols;if(!i)return;let s=e;do{const o=i.getStream(s).find(c=>c.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class ER{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return cT(e)?e.$comment:ip(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class AR{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class SR{constructor(){this.previousTokenSource=new ge.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=Ky();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=ge.CancellationToken.None){const i=new ol,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){Ia(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class kR{constructor(e){this.grammarElementIdMap=new su,this.tokenTypeIdMap=new su,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(n=>({...n,message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of Vt(e))n.set(i,{});if(e.$cstNode)for(const i of fo(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,n));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)je(o)?a.push(this.dehydrateAstNode(o,n)):gt(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else je(s)?r[i]=this.dehydrateAstNode(s,n):gt(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return pd(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Ii(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):hd(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of Vt(e))n.set(s,{});let i;if(e.$cstNode)for(const s of fo(e.$cstNode)){let a;"fullText"in s?(a=new kf(s.fullText),i=a):"content"in s?a=new il:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)je(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):gt(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else je(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):gt(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),Ii(i))for(const s of e.content){const a=this.hydrateCstNode(s,n,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,c=e.endColumn,l=e.hidden;return new Cc(r,i,{start:{line:s,character:a},end:{line:o,character:c}},n,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const n of Vt(this.grammar))xh(n)&&this.grammarElementIdMap.set(n,e++)}}function cn(t){return{documentation:{CommentProvider:e=>new ER(e),DocumentationProvider:e=>new vR(e)},parser:{AsyncParser:e=>new AR(e),GrammarConfig:e=>Pp(e),LangiumParser:e=>zy(e),CompletionParser:e=>jy(e),ValueConverter:()=>new Lf,TokenBuilder:()=>new $f,Lexer:e=>new iR(e),ParserErrorMessageProvider:()=>new bf,LexerErrorMessageProvider:()=>new nR},workspace:{AstNodeLocator:()=>new TT,AstNodeDescriptionProvider:e=>new gT(e),ReferenceDescriptionProvider:e=>new yT(e)},references:{Linker:e=>new Qy(e),NameProvider:()=>new eT,ScopeProvider:e=>new oT(e),ScopeComputation:e=>new nT(e),References:e=>new tT(e)},serializer:{Hydrator:e=>new kR(e),JsonSerializer:e=>new lT(e)},validation:{DocumentValidator:e=>new hT(e),ValidationRegistry:e=>new dT(e)},shared:()=>t.shared}}function ln(t){return{ServiceRegistry:e=>new uT(e),workspace:{LangiumDocuments:e=>new Jy(e),LangiumDocumentFactory:e=>new Xy(e),DocumentBuilder:e=>new ZT(e),IndexManager:e=>new eR(e),WorkspaceManager:e=>new tR(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new SR,ConfigurationProvider:e=>new vT(e)},profilers:{}}}var Zu;(function(t){t.merge=(e,n)=>qi(qi({},e),n)})(Zu||(Zu={}));function ze(t,e,n,r,i,s,a,o,c){const l=[t,e,n,r,i,s,a,o,c].reduce(qi,{});return Kf(l)}const CR=Symbol("isProxy");function Kf(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===CR?!0:td(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(td(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const ed=Symbol();function td(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===ed)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=ed;try{t[e]=typeof i=="function"?i(r):Kf(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function qi(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!=null)if(typeof r=="object"){const i=t[n];typeof i=="object"&&i!==null?t[n]=qi(i,r):t[n]=qi({},r)}else t[n]=r}return t}class NR{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const un={fileSystemProvider:()=>new NR},bR={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},wR={AstReflection:()=>new vd};function _R(){const t=ze(ln(un),wR),e=ze(cn({shared:t}),bR);return t.ServiceRegistry.register(e),e}function qn(t){const e=_R(),n=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(n,Tt.parse(`memory:/${n.name??"grammar"}.langium`)),n}var IR=Object.defineProperty,L=(t,e)=>IR(t,"name",{value:e,configurable:!0}),Oc;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[[\w ]+\]/}})(Oc||(Oc={}));var xc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(xc||(xc={}));var Dc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Dc||(Dc={}));var Mc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Mc||(Mc={}));var Fc;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Fc||(Fc={}));var Gc;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Gc||(Gc={}));var Uc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(Uc||(Uc={}));({...Oc.Terminals,...xc.Terminals,...Dc.Terminals,...Mc.Terminals,...Fc.Terminals,...Gc.Terminals,...Uc.Terminals});var Ut={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function PR(t){return Et.isInstance(t,Ut.$type)}L(PR,"isArchitecture");var bs={$type:"Axis",label:"label",name:"name"},Bs={$type:"Branch",name:"name",order:"order"};function $R(t){return Et.isInstance(t,Bs.$type)}L($R,"isBranch");var nd={$type:"Checkout",branch:"branch"},ws={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},Ja={$type:"ClassDefStatement",className:"className",styleText:"styleText"},sr={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function LR(t){return Et.isInstance(t,sr.$type)}L(LR,"isCommit");var _s={$type:"Curve",entries:"entries",label:"label",name:"name"},Hn={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},St={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},Qa={$type:"Entry",axis:"axis",value:"value"},_n={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function OR(t){return Et.isInstance(t,_n.$type)}L(OR,"isGitGraph");var yi={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},bi={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function xR(t){return Et.isInstance(t,bi.$type)}L(xR,"isInfo");var Ti={$type:"Item",classSelector:"classSelector",name:"name"},Za={$type:"Junction",id:"id",in:"in"},Is={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},ar={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function DR(t){return Et.isInstance(t,ar.$type)}L(DR,"isMerge");var eo={$type:"Option",name:"name",value:"value"},or={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function MR(t){return Et.isInstance(t,or.$type)}L(MR,"isPacket");var cr={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function FR(t){return Et.isInstance(t,cr.$type)}L(FR,"isPacketBlock");var In={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function GR(t){return Et.isInstance(t,In.$type)}L(GR,"isPie");var Ws={$type:"PieSection",label:"label",value:"value"};function UR(t){return Et.isInstance(t,Ws.$type)}L(UR,"isPieSection");var kn={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},to={$type:"Section",classSelector:"classSelector",name:"name"},Yn={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},Xn={$type:"Statement"},lr={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function qR(t){return Et.isInstance(t,lr.$type)}L(qR,"isTreemap");var no={$type:"TreemapRow",indent:"indent",item:"item"},hr,Hf=(hr=class extends fd{constructor(){super(...arguments),this.types={Architecture:{name:Ut.$type,properties:{accDescr:{name:Ut.accDescr},accTitle:{name:Ut.accTitle},edges:{name:Ut.edges,defaultValue:[]},groups:{name:Ut.groups,defaultValue:[]},junctions:{name:Ut.junctions,defaultValue:[]},services:{name:Ut.services,defaultValue:[]},title:{name:Ut.title}},superTypes:[]},Axis:{name:bs.$type,properties:{label:{name:bs.label},name:{name:bs.name}},superTypes:[]},Branch:{name:Bs.$type,properties:{name:{name:Bs.name},order:{name:Bs.order}},superTypes:[Xn.$type]},Checkout:{name:nd.$type,properties:{branch:{name:nd.branch}},superTypes:[Xn.$type]},CherryPicking:{name:ws.$type,properties:{id:{name:ws.id},parent:{name:ws.parent},tags:{name:ws.tags,defaultValue:[]}},superTypes:[Xn.$type]},ClassDefStatement:{name:Ja.$type,properties:{className:{name:Ja.className},styleText:{name:Ja.styleText}},superTypes:[]},Commit:{name:sr.$type,properties:{id:{name:sr.id},message:{name:sr.message},tags:{name:sr.tags,defaultValue:[]},type:{name:sr.type}},superTypes:[Xn.$type]},Curve:{name:_s.$type,properties:{entries:{name:_s.entries,defaultValue:[]},label:{name:_s.label},name:{name:_s.name}},superTypes:[]},Direction:{name:Hn.$type,properties:{accDescr:{name:Hn.accDescr},accTitle:{name:Hn.accTitle},dir:{name:Hn.dir},statements:{name:Hn.statements,defaultValue:[]},title:{name:Hn.title}},superTypes:[_n.$type]},Edge:{name:St.$type,properties:{lhsDir:{name:St.lhsDir},lhsGroup:{name:St.lhsGroup,defaultValue:!1},lhsId:{name:St.lhsId},lhsInto:{name:St.lhsInto,defaultValue:!1},rhsDir:{name:St.rhsDir},rhsGroup:{name:St.rhsGroup,defaultValue:!1},rhsId:{name:St.rhsId},rhsInto:{name:St.rhsInto,defaultValue:!1},title:{name:St.title}},superTypes:[]},Entry:{name:Qa.$type,properties:{axis:{name:Qa.axis,referenceType:bs.$type},value:{name:Qa.value}},superTypes:[]},GitGraph:{name:_n.$type,properties:{accDescr:{name:_n.accDescr},accTitle:{name:_n.accTitle},statements:{name:_n.statements,defaultValue:[]},title:{name:_n.title}},superTypes:[]},Group:{name:yi.$type,properties:{icon:{name:yi.icon},id:{name:yi.id},in:{name:yi.in},title:{name:yi.title}},superTypes:[]},Info:{name:bi.$type,properties:{accDescr:{name:bi.accDescr},accTitle:{name:bi.accTitle},title:{name:bi.title}},superTypes:[]},Item:{name:Ti.$type,properties:{classSelector:{name:Ti.classSelector},name:{name:Ti.name}},superTypes:[]},Junction:{name:Za.$type,properties:{id:{name:Za.id},in:{name:Za.in}},superTypes:[]},Leaf:{name:Is.$type,properties:{classSelector:{name:Is.classSelector},name:{name:Is.name},value:{name:Is.value}},superTypes:[Ti.$type]},Merge:{name:ar.$type,properties:{branch:{name:ar.branch},id:{name:ar.id},tags:{name:ar.tags,defaultValue:[]},type:{name:ar.type}},superTypes:[Xn.$type]},Option:{name:eo.$type,properties:{name:{name:eo.name},value:{name:eo.value,defaultValue:!1}},superTypes:[]},Packet:{name:or.$type,properties:{accDescr:{name:or.accDescr},accTitle:{name:or.accTitle},blocks:{name:or.blocks,defaultValue:[]},title:{name:or.title}},superTypes:[]},PacketBlock:{name:cr.$type,properties:{bits:{name:cr.bits},end:{name:cr.end},label:{name:cr.label},start:{name:cr.start}},superTypes:[]},Pie:{name:In.$type,properties:{accDescr:{name:In.accDescr},accTitle:{name:In.accTitle},sections:{name:In.sections,defaultValue:[]},showData:{name:In.showData,defaultValue:!1},title:{name:In.title}},superTypes:[]},PieSection:{name:Ws.$type,properties:{label:{name:Ws.label},value:{name:Ws.value}},superTypes:[]},Radar:{name:kn.$type,properties:{accDescr:{name:kn.accDescr},accTitle:{name:kn.accTitle},axes:{name:kn.axes,defaultValue:[]},curves:{name:kn.curves,defaultValue:[]},options:{name:kn.options,defaultValue:[]},title:{name:kn.title}},superTypes:[]},Section:{name:to.$type,properties:{classSelector:{name:to.classSelector},name:{name:to.name}},superTypes:[Ti.$type]},Service:{name:Yn.$type,properties:{icon:{name:Yn.icon},iconText:{name:Yn.iconText},id:{name:Yn.id},in:{name:Yn.in},title:{name:Yn.title}},superTypes:[]},Statement:{name:Xn.$type,properties:{},superTypes:[]},Treemap:{name:lr.$type,properties:{accDescr:{name:lr.accDescr},accTitle:{name:lr.accTitle},title:{name:lr.title},TreemapRows:{name:lr.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:no.$type,properties:{indent:{name:no.indent},item:{name:no.item}},superTypes:[]}}}},L(hr,"MermaidAstReflection"),hr),Et=new Hf,rd,jR=L(()=>rd??(rd=qn(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),id,zR=L(()=>id??(id=qn(`{"$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"),sd,BR=L(()=>sd??(sd=qn(`{"$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"),ad,WR=L(()=>ad??(ad=qn(`{"$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"),od,VR=L(()=>od??(od=qn(`{"$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"),cd,KR=L(()=>cd??(cd=qn(`{"$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"),ld,HR=L(()=>ld??(ld=qn(`{"$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"),YR={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},XR={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},JR={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},QR={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ZR={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ev={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},tv={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},jn={AstReflection:L(()=>new Hf,"AstReflection")},nv={Grammar:L(()=>jR(),"Grammar"),LanguageMetaData:L(()=>YR,"LanguageMetaData"),parser:{}},rv={Grammar:L(()=>zR(),"Grammar"),LanguageMetaData:L(()=>XR,"LanguageMetaData"),parser:{}},iv={Grammar:L(()=>BR(),"Grammar"),LanguageMetaData:L(()=>JR,"LanguageMetaData"),parser:{}},sv={Grammar:L(()=>WR(),"Grammar"),LanguageMetaData:L(()=>QR,"LanguageMetaData"),parser:{}},av={Grammar:L(()=>VR(),"Grammar"),LanguageMetaData:L(()=>ZR,"LanguageMetaData"),parser:{}},ov={Grammar:L(()=>KR(),"Grammar"),LanguageMetaData:L(()=>ev,"LanguageMetaData"),parser:{}},cv={Grammar:L(()=>HR(),"Grammar"),LanguageMetaData:L(()=>tv,"LanguageMetaData"),parser:{}},lv=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,uv=/accTitle[\t ]*:([^\n\r]*)/,dv=/title([\t ][^\n\r]*|)/,fv={ACC_DESCR:lv,ACC_TITLE:uv,TITLE:dv},pr,Pa=(pr=class extends Lf{runConverter(e,n,r){let i=this.runCommonConverter(e,n,r);return i===void 0&&(i=this.runCustomConverter(e,n,r)),i===void 0?super.runConverter(e,n,r):i}runCommonConverter(e,n,r){const i=fv[e.name];if(i===void 0)return;const s=i.exec(n);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
158
- `)}}},L(pr,"AbstractMermaidValueConverter"),pr),mr,$a=(mr=class extends Pa{runCustomConverter(e,n,r){}},L(mr,"CommonValueConverter"),mr),gr,dn=(gr=class extends $f{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,n,r){const i=super.buildKeywordTokens(e,n,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},L(gr,"AbstractMermaidTokenBuilder"),gr),yr;yr=class extends dn{},L(yr,"CommonTokenBuilder");var Tr,hv=(Tr=class extends dn{constructor(){super(["gitGraph"])}},L(Tr,"GitGraphTokenBuilder"),Tr),Yf={parser:{TokenBuilder:L(()=>new hv,"TokenBuilder"),ValueConverter:L(()=>new $a,"ValueConverter")}};function Xf(t=un){const e=ze(ln(t),jn),n=ze(cn({shared:e}),rv,Yf);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}L(Xf,"createGitGraphServices");var Rr,pv=(Rr=class extends dn{constructor(){super(["info","showInfo"])}},L(Rr,"InfoTokenBuilder"),Rr),Jf={parser:{TokenBuilder:L(()=>new pv,"TokenBuilder"),ValueConverter:L(()=>new $a,"ValueConverter")}};function Qf(t=un){const e=ze(ln(t),jn),n=ze(cn({shared:e}),iv,Jf);return e.ServiceRegistry.register(n),{shared:e,Info:n}}L(Qf,"createInfoServices");var vr,mv=(vr=class extends dn{constructor(){super(["packet"])}},L(vr,"PacketTokenBuilder"),vr),Zf={parser:{TokenBuilder:L(()=>new mv,"TokenBuilder"),ValueConverter:L(()=>new $a,"ValueConverter")}};function eh(t=un){const e=ze(ln(t),jn),n=ze(cn({shared:e}),sv,Zf);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}L(eh,"createPacketServices");var Er,gv=(Er=class extends dn{constructor(){super(["pie","showData"])}},L(Er,"PieTokenBuilder"),Er),Ar,yv=(Ar=class extends Pa{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},L(Ar,"PieValueConverter"),Ar),th={parser:{TokenBuilder:L(()=>new gv,"TokenBuilder"),ValueConverter:L(()=>new yv,"ValueConverter")}};function nh(t=un){const e=ze(ln(t),jn),n=ze(cn({shared:e}),av,th);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}L(nh,"createPieServices");var Sr,Tv=(Sr=class extends dn{constructor(){super(["architecture"])}},L(Sr,"ArchitectureTokenBuilder"),Sr),kr,Rv=(kr=class extends Pa{runCustomConverter(e,n,r){if(e.name==="ARCH_ICON")return n.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return n.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return n.replace(/[[\]]/g,"").trim()}},L(kr,"ArchitectureValueConverter"),kr),rh={parser:{TokenBuilder:L(()=>new Tv,"TokenBuilder"),ValueConverter:L(()=>new Rv,"ValueConverter")}};function ih(t=un){const e=ze(ln(t),jn),n=ze(cn({shared:e}),nv,rh);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}L(ih,"createArchitectureServices");var Cr,vv=(Cr=class extends dn{constructor(){super(["radar-beta"])}},L(Cr,"RadarTokenBuilder"),Cr),sh={parser:{TokenBuilder:L(()=>new vv,"TokenBuilder"),ValueConverter:L(()=>new $a,"ValueConverter")}};function ah(t=un){const e=ze(ln(t),jn),n=ze(cn({shared:e}),ov,sh);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}L(ah,"createRadarServices");var Nr,Ev=(Nr=class extends dn{constructor(){super(["treemap"])}},L(Nr,"TreemapTokenBuilder"),Nr),Av=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,br,Sv=(br=class extends Pa{runCustomConverter(e,n,r){if(e.name==="NUMBER2")return parseFloat(n.replace(/,/g,""));if(e.name==="SEPARATOR")return n.substring(1,n.length-1);if(e.name==="STRING2")return n.substring(1,n.length-1);if(e.name==="INDENTATION")return n.length;if(e.name==="ClassDef"){if(typeof n!="string")return n;const i=Av.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},L(br,"TreemapValueConverter"),br);function oh(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}L(oh,"registerValidationChecks");var wr,kv=(wr=class{checkSingleRoot(e,n){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},L(wr,"TreemapValidator"),wr),ch={parser:{TokenBuilder:L(()=>new Ev,"TokenBuilder"),ValueConverter:L(()=>new Sv,"ValueConverter")},validation:{TreemapValidator:L(()=>new kv,"TreemapValidator")}};function lh(t=un){const e=ze(ln(t),jn),n=ze(cn({shared:e}),cv,ch);return e.ServiceRegistry.register(n),oh(n),{shared:e,Treemap:n}}L(lh,"createTreemapServices");var jt={},Cv={info:L(async()=>{const{createInfoServices:t}=await Promise.resolve().then(()=>bv),e=t().Info.parser.LangiumParser;jt.info=e},"info"),packet:L(async()=>{const{createPacketServices:t}=await Promise.resolve().then(()=>wv),e=t().Packet.parser.LangiumParser;jt.packet=e},"packet"),pie:L(async()=>{const{createPieServices:t}=await Promise.resolve().then(()=>_v),e=t().Pie.parser.LangiumParser;jt.pie=e},"pie"),architecture:L(async()=>{const{createArchitectureServices:t}=await Promise.resolve().then(()=>Iv),e=t().Architecture.parser.LangiumParser;jt.architecture=e},"architecture"),gitGraph:L(async()=>{const{createGitGraphServices:t}=await Promise.resolve().then(()=>Pv),e=t().GitGraph.parser.LangiumParser;jt.gitGraph=e},"gitGraph"),radar:L(async()=>{const{createRadarServices:t}=await Promise.resolve().then(()=>$v),e=t().Radar.parser.LangiumParser;jt.radar=e},"radar"),treemap:L(async()=>{const{createTreemapServices:t}=await Promise.resolve().then(()=>Lv),e=t().Treemap.parser.LangiumParser;jt.treemap=e},"treemap")};async function uh(t,e){const n=Cv[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);jt[t]||await n();const i=jt[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new Nv(i);return i.value}L(uh,"parse");var _r,Nv=(_r=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
159
- `),r=e.parserErrors.map(i=>i.message).join(`
160
- `);super(`Parsing failed: ${n} ${r}`),this.result=e}},L(_r,"MermaidParseError"),_r);const bv=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Jf,createInfoServices:Qf},Symbol.toStringTag,{value:"Module"})),wv=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Zf,createPacketServices:eh},Symbol.toStringTag,{value:"Module"})),_v=Object.freeze(Object.defineProperty({__proto__:null,PieModule:th,createPieServices:nh},Symbol.toStringTag,{value:"Module"})),Iv=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:rh,createArchitectureServices:ih},Symbol.toStringTag,{value:"Module"})),Pv=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Yf,createGitGraphServices:Xf},Symbol.toStringTag,{value:"Module"})),$v=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:sh,createRadarServices:ah},Symbol.toStringTag,{value:"Module"})),Lv=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:ch,createTreemapServices:lh},Symbol.toStringTag,{value:"Module"}));exports.parse=uh;