@marimo-team/frontend 0.14.12-dev0 → 0.14.13-dev10

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 (127) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-B9BmPz9a.js → ConnectedDataExplorerComponent-Ck5QwQ0a.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-CNTqLdnf.js → ImageComparisonComponent-DQAEAFOW.js} +1 -1
  3. package/dist/assets/{VegaLite-DLKRDJvl.js → VegaLite-BOzn_ryg.js} +1 -1
  4. package/dist/assets/_baseEach-BVz2R7Ry.js +1 -0
  5. package/dist/assets/_baseMap-DqJoBV0R.js +1 -0
  6. package/dist/assets/_baseUniq-B2F6cQpe.js +1 -0
  7. package/dist/assets/{_createAggregator-C_WhAECr.js → _createAggregator-Ct2PFT_i.js} +1 -1
  8. package/dist/assets/{any-language-editor-DrZjy7mH.js → any-language-editor-dOgraDGZ.js} +1 -1
  9. package/dist/assets/{architectureDiagram-NQ2NVSRB-DqJfNlvg.js → architectureDiagram-SUXI7LT5-BO2rBGtW.js} +3 -3
  10. package/dist/assets/{blockDiagram-PHRCVELO-BMyZ52bP.js → blockDiagram-6J76NXCF-CrLniOkM.js} +6 -6
  11. package/dist/assets/{c4Diagram-6F6E4RAY-DveKwcb7.js → c4Diagram-6F6E4RAY-CFUpKWFc.js} +1 -1
  12. package/dist/assets/channel-BcScSnDr.js +1 -0
  13. package/dist/assets/{chunk-353BL4L5-DBdJb07A.js → chunk-353BL4L5-DzyKEFA4.js} +1 -1
  14. package/dist/assets/{chunk-67H74DCK-DG8iWVJ-.js → chunk-67H74DCK-0N6IqEGA.js} +1 -1
  15. package/dist/assets/{chunk-AACKK3MU-CDOdA9eC.js → chunk-AACKK3MU-B8_W5RRv.js} +1 -1
  16. package/dist/assets/{chunk-BFAMUDN2-Cf6198RO.js → chunk-BFAMUDN2-B9UXMKf_.js} +1 -1
  17. package/dist/assets/{chunk-E2GYISFI-fSvIEcyU.js → chunk-E2GYISFI-CG8sH_Xg.js} +1 -1
  18. package/dist/assets/{chunk-6OLS64BW-Dmt4rYEQ.js → chunk-OW32GOEJ-CTj-sha1.js} +1 -1
  19. package/dist/assets/{chunk-SKB7J2MH-B7Z1FsaJ.js → chunk-SKB7J2MH-rB7TBRdw.js} +1 -1
  20. package/dist/assets/{chunk-QEP2MXWD-D6FP1cQC.js → chunk-SZ463SBG-DqAq6e58.js} +1 -1
  21. package/dist/assets/{circle-play-CBftacWk.js → circle-play-AgRU-h6v.js} +1 -1
  22. package/dist/assets/classDiagram-M3E45YP4-B5WAgUkA.js +1 -0
  23. package/dist/assets/classDiagram-v2-YAWTLIQI-B5WAgUkA.js +1 -0
  24. package/dist/assets/clone-BXGJwgns.js +1 -0
  25. package/dist/assets/{compile-mbjlQ5nn.js → compile-ZfECztdZ.js} +8 -8
  26. package/dist/assets/cytoscape.esm-CzSnbbKZ.js +325 -0
  27. package/dist/assets/{dagre-FFZHY6LT-DX9cGWLP.js → dagre-JOIXM2OF-DM7s7GTa.js} +1 -1
  28. package/dist/assets/{data-grid-overlay-editor-C4fyHnn1.js → data-grid-overlay-editor-HnmhejXy.js} +1 -1
  29. package/dist/assets/{diagram-5UYTHUR4-BgOShMim.js → diagram-5UYTHUR4-BwQkSIWB.js} +1 -1
  30. package/dist/assets/diagram-VMROVX33-BhjzR-bS.js +24 -0
  31. package/dist/assets/{diagram-ZTM2IBQH-m55tqkSF.js → diagram-ZTM2IBQH-BVWZsPmq.js} +1 -1
  32. package/dist/assets/edit-page-BjQUbI6O.js +147 -0
  33. package/dist/assets/{erDiagram-R3QVA2FD-B8SQvwhp.js → erDiagram-3M52JZNH-DwouQakE.js} +1 -1
  34. package/dist/assets/{flowDiagram-PKI6S5ZS-BTbZVZp0.js → flowDiagram-KYDEHFYC-CnlYqbNS.js} +1 -1
  35. package/dist/assets/{ganttDiagram-EK5VF46D-Dkuqvb7b.js → ganttDiagram-EK5VF46D-D_rFrhg7.js} +3 -3
  36. package/dist/assets/{gitGraphDiagram-GW3U2K7C-BMQ8L_am.js → gitGraphDiagram-GW3U2K7C-BYzUNWbJ.js} +1 -1
  37. package/dist/assets/{glide-data-editor-BKZWFNVv.js → glide-data-editor-kbqtMmov.js} +11 -11
  38. package/dist/assets/{graph-CFDemIXQ.js → graph-Bzc_9T7Z.js} +1 -1
  39. package/dist/assets/{home-page-DUbYTF9g.js → home-page-ftUruW_7.js} +3 -3
  40. package/dist/assets/index-7YWL4ilz.js +1 -0
  41. package/dist/assets/{index-MUMVp22V.js → index-BcIYWZ4z.js} +1 -1
  42. package/dist/assets/index-BsQqaadY.js +1 -0
  43. package/dist/assets/index-C0wa0jVk.js +1 -0
  44. package/dist/assets/{index-CH2sakSJ.js → index-C4PrQF97.js} +1 -1
  45. package/dist/assets/index-CEJstxRo.js +1 -0
  46. package/dist/assets/{index-B0-K_sX8.js → index-CHkhiQws.js} +1 -1
  47. package/dist/assets/index-CW5gri1j.js +1 -0
  48. package/dist/assets/index-CbETz4y4.js +1 -0
  49. package/dist/assets/index-CtPsBk7s.js +1 -0
  50. package/dist/assets/{index-ChVO1Vdj.js → index-D3rzOfRt.js} +1 -1
  51. package/dist/assets/index-DAAlHwlR.js +507 -0
  52. package/dist/assets/{index-C_e9XjpS.js → index-DGA_VJHf.js} +1 -1
  53. package/dist/assets/index-DL6l9OWK.js +1 -0
  54. package/dist/assets/index-DbL69TAJ.js +1 -0
  55. package/dist/assets/{index-d0CXXxee.js → index-DsiQhNzu.js} +2 -2
  56. package/dist/assets/{index-CRY746sV.js → index-FXUBhLuE.js} +1 -1
  57. package/dist/assets/index-S3mjG3Uz.css +1 -0
  58. package/dist/assets/index-V6glfQmo.js +1 -0
  59. package/dist/assets/index-qXgG5A9i.js +1 -0
  60. package/dist/assets/{infoDiagram-RLU2ROGC-DAW5X38W.js → infoDiagram-LHK5PUON-DFdEld5N.js} +1 -1
  61. package/dist/assets/{journeyDiagram-EWQZEKCU--6lJjuiM.js → journeyDiagram-EWQZEKCU-FyIkYgSs.js} +1 -1
  62. package/dist/assets/{kanban-definition-ILFWEQ3N-CXNPWHB8.js → kanban-definition-ZSS6B67P-yo2c0q-3.js} +1 -1
  63. package/dist/assets/{layout-Jgv95YSr.js → layout-QKY6PUj_.js} +1 -1
  64. package/dist/assets/{linear-DtgEMbrz.js → linear-CK5t2L_A.js} +1 -1
  65. package/dist/assets/links-D70MXjM5.js +17 -0
  66. package/dist/assets/loro_wasm_bg-C3hKWL9L.js +2 -0
  67. package/dist/assets/mermaid-Cut2kLK5.js +207 -0
  68. package/dist/assets/min-BKYNLFi1.js +1 -0
  69. package/dist/assets/mindmap-definition-6CBA2TL7-CnmjmyNj.js +95 -0
  70. package/dist/assets/{number-overlay-editor-C3hemckO.js → number-overlay-editor-B7_yN0N8.js} +1 -1
  71. package/dist/assets/{pieDiagram-NIOCPIFQ-B-zGF99A.js → pieDiagram-NIOCPIFQ-BdmIGGSk.js} +3 -3
  72. package/dist/assets/{quadrantDiagram-2OG54O6I-2tF9b_2b.js → quadrantDiagram-2OG54O6I-DB_65PVP.js} +1 -1
  73. package/dist/assets/{react-plotly-CdJaKwaj.js → react-plotly-1--mWjBH.js} +200 -200
  74. package/dist/assets/{requirementDiagram-SO3GGRV7-DEa34SeY.js → requirementDiagram-QOLK2EJ7-a7c4o6ST.js} +1 -1
  75. package/dist/assets/run-page-Do8ldoOh.js +1 -0
  76. package/dist/assets/sankeyDiagram-4UZDY2LN-CmGjZUZw.js +10 -0
  77. package/dist/assets/sequenceDiagram-SKLFT4DO-DLSriKsU.js +122 -0
  78. package/dist/assets/{slides-component-C2uc6kmf.js → slides-component-C74LwRp7.js} +1 -1
  79. package/dist/assets/{sortBy-Bob7dKSt.js → sortBy-BDh2-FP_.js} +1 -1
  80. package/dist/assets/{stateDiagram-XX37X6EN-DUi_goR8.js → stateDiagram-MI5ZYTHO-Ckq7mDsU.js} +1 -1
  81. package/dist/assets/stateDiagram-v2-5AN5P6BG-CvH_Saam.js +1 -0
  82. package/dist/assets/storage-Cdseu5cy.js +25 -0
  83. package/dist/assets/{terminal-BkOhnp-S.js → terminal-D3Tkwkgc.js} +1 -1
  84. package/dist/assets/{time-BXb9z1yv.js → time-Di6BDeju.js} +1 -1
  85. package/dist/assets/{timeline-definition-RI47OAVP-CTWn3WQu.js → timeline-definition-MYPXXCX6-hkbCGyMO.js} +3 -3
  86. package/dist/assets/tracing-DZD40337.js +2 -0
  87. package/dist/assets/{trash-BWRVB_br.js → trash-rBzmhCXp.js} +1 -1
  88. package/dist/assets/treemap-75Q7IDZK-AiR12CF4.js +126 -0
  89. package/dist/assets/{vega-component-CX_u3Hhp.js → vega-component-Cbc3kTAU.js} +1 -1
  90. package/dist/assets/{worker-BYA2ASe8.js → worker-Bma4sWEs.js} +1 -1
  91. package/dist/assets/{xychartDiagram-H2YORKM3-D0JoLNE8.js → xychartDiagram-H2YORKM3-CSXZBio0.js} +1 -1
  92. package/dist/index.html +2 -2
  93. package/package.json +9 -19
  94. package/dist/assets/_baseEach-BjDLzUwG.js +0 -1
  95. package/dist/assets/_baseMap-CuZ-LBtv.js +0 -1
  96. package/dist/assets/_baseUniq-DqHaT24V.js +0 -1
  97. package/dist/assets/channel-LYGgdr1R.js +0 -1
  98. package/dist/assets/classDiagram-BGRH5UQR-BQbZmSV-.js +0 -1
  99. package/dist/assets/classDiagram-v2-O24JOBDK-BQbZmSV-.js +0 -1
  100. package/dist/assets/clone-DD3sG0_1.js +0 -1
  101. package/dist/assets/cytoscape.esm-UYyVlru8.js +0 -10
  102. package/dist/assets/diagram-3EMPZRKU-BwXQu6c-.js +0 -24
  103. package/dist/assets/edit-page-BMW2Fhcz.js +0 -148
  104. package/dist/assets/index-1az6nvpO.js +0 -1
  105. package/dist/assets/index-B9WlbtVk.js +0 -1
  106. package/dist/assets/index-BWEPJWCF.js +0 -1
  107. package/dist/assets/index-CE3mbf8H.js +0 -1
  108. package/dist/assets/index-CaHkXpUp.js +0 -1
  109. package/dist/assets/index-CfvA7bvb.js +0 -1
  110. package/dist/assets/index-CsdFJkJw.css +0 -1
  111. package/dist/assets/index-CylrdBnG.js +0 -1
  112. package/dist/assets/index-D3Er-byj.js +0 -1
  113. package/dist/assets/index-D_Dmmo5g.js +0 -1
  114. package/dist/assets/index-Drq4Lpl3.js +0 -1
  115. package/dist/assets/index-NLK5-sPO.js +0 -1
  116. package/dist/assets/index-_lj65MZR.js +0 -507
  117. package/dist/assets/links-Bjf-1I2i.js +0 -17
  118. package/dist/assets/mermaid-DCMac0Ai.js +0 -152
  119. package/dist/assets/min-VDyC-auF.js +0 -1
  120. package/dist/assets/mindmap-definition-CZNETY7S-BEd6cR16.js +0 -95
  121. package/dist/assets/run-page-Bg1x8WTa.js +0 -1
  122. package/dist/assets/sankeyDiagram-4UZDY2LN-DUIUN-K8.js +0 -10
  123. package/dist/assets/sequenceDiagram-ZIKVLSP4-BZGddaB9.js +0 -122
  124. package/dist/assets/stateDiagram-v2-GD6S3NHB-CdRNmgeb.js +0 -1
  125. package/dist/assets/storage-CTvz5ejZ.js +0 -25
  126. package/dist/assets/tracing-Z4QREdu3.js +0 -2
  127. package/dist/assets/treemap-FKARHQ26-AlpUch0p.js +0 -126
@@ -1,126 +0,0 @@
1
- var Hl=Object.defineProperty;var jl=(n,e,t)=>e in n?Hl(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Ze=(n,e,t)=>jl(n,typeof e!="symbol"?e+"":e,t);var Mt,Dt,Gt,Ut,Ft,Bt,Kt,Vt,Ht,jt,Wt,zt,Yt,qt,Xt,Qt,Zt;import{oA as Wl,dh as zl,x as Fs,cN as Yl,Q as At,d2 as ql,d7 as Xl,d8 as Ql,J as Zl,M as Bs,K as Ks,bX as fi,oB as Vs,S as se,d9 as Jl,cW as Hs,oC as js,aC as ec,cY as Ws,az as tc,oD as nc,d3 as rc,oE as ic,db as Ne,P as ut,aB as zs,ch as sc,oF as z,oG as ac,oH as oc,oI as $e,_ as dt}from"./index-_lj65MZR.js";import{b as Ys,a as Jt}from"./_baseEach-BjDLzUwG.js";import{g as lc,v as Y,h as qs,j as cc,k as uc,a as Xs,c as I,i as Ve,r as ue,f as Ee,n as q}from"./_baseUniq-DqHaT24V.js";import{m as x,f as kt,h as C,d as pi,l as xt,c as dc}from"./min-VDyC-auF.js";import{ac as M}from"./mermaid-DCMac0Ai.js";import{c as Z}from"./clone-DD3sG0_1.js";import{c as hc}from"./_createAggregator-C_WhAECr.js";var fc=Object.prototype.hasOwnProperty,Ae=Wl(function(n,e){if(zl(e)||Fs(e))Yl(e,At(e),n);else for(var t in e)fc.call(e,t)&&ql(n,t,e[t])});function en(n){for(var e=-1,t=n==null?0:n.length,r=0,i=[];++e<t;){var s=n[e];s&&(i[r++]=s)}return i}var Qn=Zl(function(n,e){return Bs(n)?function(t,r,i,s){var a=-1,o=lc,l=!0,c=t.length,u=[],h=r.length;if(!c)return u;r.length>=200&&(o=Ql,l=!1,r=new Xl(r));e:for(;++a<c;){var d=t[a],f=d;if(d=d!==0?d:0,l&&f==f){for(var p=h;p--;)if(r[p]===f)continue e;u.push(d)}else o(r,f,s)||u.push(d)}return u}(n,Ks(e,1,Bs,!0)):[]});function J(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:fi(e),Vs(n,e<0?0:e,r)):[]}function tn(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:fi(e),Vs(n,0,(e=r-e)<0?0:e)):[]}function pc(n,e){for(var t=-1,r=n==null?0:n.length;++t<r;)if(!e(n[t],t,n))return!1;return!0}function mc(n,e){var t=!0;return Ys(n,function(r,i,s){return t=!!e(r,i,s)}),t}function _e(n,e,t){return(se(n)?pc:mc)(n,Jt(e))}function be(n){return n&&n.length?n[0]:void 0}function ke(n,e){return Ks(x(n,e))}var gc=Object.prototype.hasOwnProperty,yc=hc(function(n,e,t){gc.call(n,t)?n[t].push(e):Jl(n,t,[e])});function me(n){return typeof n=="string"||!se(n)&&Hs(n)&&js(n)=="[object String]"}var Tc=Math.max;function de(n,e,t,r){n=Fs(n)?n:Y(n),t=t?fi(t):0;var i=n.length;return t<0&&(t=Tc(i+t,0)),me(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&qs(n,e,t)>-1}function Qs(n,e,t){return n!=null&&n.length?qs(n,e,0):-1}var Zs=Ws&&Ws.isRegExp,He=Zs?ec(Zs):function(n){return Hs(n)&&js(n)=="[object RegExp]"};function Pe(n,e){if(n==null)return{};var t=tc(cc(n),function(r){return[r]});return e=Jt(e),nc(n,t,function(r,i){return e(r,i[0])})}function Zn(n,e){return(se(n)?rc:uc)(n,function(t){if(typeof t!="function")throw new TypeError("Expected a function");return function(){var r=arguments;switch(r.length){case 0:return!t.call(this);case 1:return!t.call(this,r[0]);case 2:return!t.call(this,r[0],r[1]);case 3:return!t.call(this,r[0],r[1],r[2])}return!t.apply(this,r)}}(Jt(e)))}function Rc(n,e){var t;return Ys(n,function(r,i,s){return!(t=e(r,i,s))}),!!t}function Js(n,e,t){return(se(n)?ic:Rc)(n,Jt(e))}function mi(n){return n&&n.length?Xs(n):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ge(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function Jn(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ge(n.reference)&&typeof n.message=="string"}class ea{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function nn(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function ta(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function na(n){return nn(n)&&typeof n.fullText=="string"}class ne{constructor(e,t){this.startFn=e,this.nextFn=t}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 t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new ne(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let r;if(!t.firstDone){do if(r=this.nextFn(t.first),!r.done)return r;while(!r.done);t.firstDone=!0}do if(r=t.iterator.next(),!r.done)return r;while(!r.done);return xe})}join(e=","){const t=this.iterator();let r,i="",s=!1;do r=t.next(),r.done||(s&&(i+=e),i+=vc(r.value)),s=!0;while(!r.done);return i}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new ne(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?xe:{done:!1,value:e(i)}})}filter(e){return new ne(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return xe})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i=i===void 0?s.value:e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new ne(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(!s.done)return s;t.iterator=void 0}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if(!er(s))return{done:!1,value:s};t.iterator=s[Symbol.iterator]()}}while(t.iterator);return xe})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new ne(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(!a.done)return a;r.iterator=void 0}const{done:i,value:s}=t.nextFn(r.this);if(!i){if(!er(s))return{done:!1,value:s};r.iterator=s[Symbol.iterator]()}}while(r.iterator);return xe})}head(){const e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new ne(()=>{const t=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(t).done)return t;return t},this.nextFn)}limit(e){return new ne(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?xe:this.nextFn(t.state)))}distinct(e){return new ne(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(r=this.nextFn(t.internalState),!r.done){const i=e?e(r.value):r.value;if(!t.set.has(i))return t.set.add(i),r}while(!r.done);return xe})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function vc(n){return typeof n=="string"?n:n===void 0?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function er(n){return!!n&&typeof n[Symbol.iterator]=="function"}const $c=new ne(()=>{},()=>xe),xe=Object.freeze({done:!0,value:void 0});function ee(...n){if(n.length===1){const e=n[0];if(e instanceof ne)return e;if(er(e))return new ne(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new ne(()=>({index:0}),t=>t.index<e.length?{done:!1,value:e[t.index++]}:xe)}return n.length>1?new ne(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;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<n.length){const t=n[e.collIndex++];er(t)?e.iterator=t[Symbol.iterator]():t&&typeof t.length=="number"&&(e.array=t)}}while(e.iterator||e.array||e.collIndex<n.length);return xe}):$c}class gi extends ne{constructor(e,t,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(!s.done)return i.iterators.push(t(s.value)[Symbol.iterator]()),s;i.iterators.pop()}return xe})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var yi,je;function Ti(n){return new gi(n,e=>nn(e)?e.content:[],{includeRoot:!0})}function Ri(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function tr(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}function Ec(n,e){return function(r,i){if(r.end.line<i.start.line||r.end.line===i.start.line&&r.end.character<=i.start.character)return je.Before;if(r.start.line>i.end.line||r.start.line===i.end.line&&r.start.character>=i.end.character)return je.After;const s=r.start.line>i.start.line||r.start.line===i.start.line&&r.start.character>=i.start.character,a=r.end.line<i.end.line||r.end.line===i.end.line&&r.end.character<=i.end.character;return s&&a?je.Inside:s?je.OverlapBack:a?je.OverlapFront:je.Outside}(n,e)>je.After}(function(n){n.sum=function(e){return e.reduce((t,r)=>t+r,0)},n.product=function(e){return e.reduce((t,r)=>t*r,0)},n.min=function(e){return e.reduce((t,r)=>Math.min(t,r))},n.max=function(e){return e.reduce((t,r)=>Math.max(t,r))}})(yi||(yi={})),function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside"}(je||(je={}));const Ac=/^[\w\p{L}]$/u;function kc(n,e){if(n){const t=function(r,i=!0){for(;r.container;){const s=r.container;let a=s.content.indexOf(r);for(;a>0;){a--;const o=s.content[a];if(i||!o.hidden)return o}r=s}}(n,!0);if(t&&ra(t,e))return t;if(na(n))for(let r=n.content.findIndex(i=>!i.hidden)-1;r>=0;r--){const i=n.content[r];if(ra(i,e))return i}}}function ra(n,e){return ta(n)&&e.includes(n.tokenType.name)}class ia extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function rn(n){throw new Error("Error! The input value was not handled.")}const nr="AbstractRule",rr="AbstractType",vi="Condition",sa="TypeDefinition",$i="ValueLiteral",sn="AbstractElement";function xc(n){return b.isInstance(n,sn)}const ir="ArrayLiteral",sr="ArrayType",an="BooleanLiteral",on="Conjunction",ln="Disjunction",ar="Grammar",Ei="GrammarImport",cn="InferredType";function aa(n){return b.isInstance(n,cn)}const un="Interface";function oa(n){return b.isInstance(n,un)}const Ai="NamedArgument",dn="Negation",or="NumberLiteral",lr="Parameter",hn="ParameterReference",fn="ParserRule";function we(n){return b.isInstance(n,fn)}const cr="ReferenceType",ur="ReturnType",pn="SimpleType";function Sc(n){return b.isInstance(n,pn)}const dr="StringLiteral",St="TerminalRule";function ht(n){return b.isInstance(n,St)}const mn="Type";function la(n){return b.isInstance(n,mn)}const ki="TypeAttribute",hr="UnionType",gn="Action";function fr(n){return b.isInstance(n,gn)}const yn="Alternatives";function ca(n){return b.isInstance(n,yn)}const Tn="Assignment";function ft(n){return b.isInstance(n,Tn)}const Rn="CharacterRange",vn="CrossReference";function xi(n){return b.isInstance(n,vn)}const $n="EndOfFile",En="Group";function Si(n){return b.isInstance(n,En)}const An="Keyword";function pt(n){return b.isInstance(n,An)}const kn="NegatedToken",xn="RegexToken",Sn="RuleCall";function mt(n){return b.isInstance(n,Sn)}const In="TerminalAlternatives",Cn="TerminalGroup",Nn="TerminalRuleCall",wn="UnorderedGroup";function ua(n){return b.isInstance(n,wn)}const Ln="UntilToken",On="Wildcard";class da extends ea{getAllTypes(){return[sn,nr,rr,gn,yn,ir,sr,Tn,an,Rn,vi,on,vn,ln,$n,ar,Ei,En,cn,un,An,Ai,kn,dn,or,lr,hn,fn,cr,xn,ur,Sn,pn,dr,In,Cn,St,Nn,mn,ki,sa,hr,wn,Ln,$i,On]}computeIsSubtype(e,t){switch(e){case gn:case yn:case Tn:case Rn:case vn:case $n:case En:case An:case kn:case xn:case Sn:case In:case Cn:case Nn:case wn:case Ln:case On:return this.isSubtype(sn,t);case ir:case or:case dr:return this.isSubtype($i,t);case sr:case cr:case pn:case hr:return this.isSubtype(sa,t);case an:return this.isSubtype(vi,t)||this.isSubtype($i,t);case on:case ln:case dn:case hn:return this.isSubtype(vi,t);case cn:case un:case mn:return this.isSubtype(rr,t);case fn:return this.isSubtype(nr,t)||this.isSubtype(rr,t);case St:return this.isSubtype(nr,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return rr;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return nr;case"Grammar:usedGrammars":return ar;case"NamedArgument:parameter":case"ParameterReference:parameter":return lr;case"TerminalRuleCall:rule":return St;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case sn:return{name:sn,properties:[{name:"cardinality"},{name:"lookahead"}]};case ir:return{name:ir,properties:[{name:"elements",defaultValue:[]}]};case sr:return{name:sr,properties:[{name:"elementType"}]};case an:return{name:an,properties:[{name:"true",defaultValue:!1}]};case on:return{name:on,properties:[{name:"left"},{name:"right"}]};case ln:return{name:ln,properties:[{name:"left"},{name:"right"}]};case ar:return{name:ar,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case Ei:return{name:Ei,properties:[{name:"path"}]};case cn:return{name:cn,properties:[{name:"name"}]};case un:return{name:un,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Ai:return{name:Ai,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case dn:return{name:dn,properties:[{name:"value"}]};case or:return{name:or,properties:[{name:"value"}]};case lr:return{name:lr,properties:[{name:"name"}]};case hn:return{name:hn,properties:[{name:"parameter"}]};case fn:return{name:fn,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case cr:return{name:cr,properties:[{name:"referenceType"}]};case ur:return{name:ur,properties:[{name:"name"}]};case pn:return{name:pn,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case dr:return{name:dr,properties:[{name:"value"}]};case St:return{name:St,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case mn:return{name:mn,properties:[{name:"name"},{name:"type"}]};case ki:return{name:ki,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case hr:return{name:hr,properties:[{name:"types",defaultValue:[]}]};case gn:return{name:gn,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case yn:return{name:yn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Tn:return{name:Tn,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Rn:return{name:Rn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case vn:return{name:vn,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case $n:return{name:$n,properties:[{name:"cardinality"},{name:"lookahead"}]};case En:return{name:En,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case An:return{name:An,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case kn:return{name:kn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case xn:return{name:xn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Sn:return{name:Sn,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case In:return{name:In,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Cn:return{name:Cn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Nn:return{name:Nn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case wn:return{name:wn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Ln:return{name:Ln,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case On:return{name:On,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const b=new da;function pr(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function Je(n){const e=Ii(n).$document;if(!e)throw new Error("AST node has no document.");return e}function Ii(n){for(;n.$container;)n=n.$container;return n}function Ci(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e==null?void 0:e.range;return new ne(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=n[i];if(ae(s)){if(r.keyIndex++,ha(s,t))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=s[r.arrayIndex++];if(ae(a)&&ha(a,t))return{done:!1,value:a}}r.arrayIndex=0}}r.keyIndex++}return xe})}function _n(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new gi(n,t=>Ci(t,e))}function It(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new gi(n,t=>Ci(t,e),{includeRoot:!0})}function ha(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return!!r&&Ec(r,e)}function fa(n){return new ne(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const t=e.keys[e.keyIndex];if(!t.startsWith("$")){const r=n[t];if(Ge(r))return e.keyIndex++,{done:!1,value:{reference:r,container:n,property:t}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ge(s))return{done:!1,value:{reference:s,container:n,property:t,index:i}}}e.arrayIndex=0}}e.keyIndex++}return xe})}function pa(n){return Array.isArray(n)?[...n.map(pa)]:n}function N(n){return n.charCodeAt(0)}function Ni(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}function bn(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}function Ct(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}function ma(n){return n.type==="Character"}const mr=[];for(let n=N("0");n<=N("9");n++)mr.push(n);const gr=[N("_")].concat(mr);for(let n=N("a");n<=N("z");n++)gr.push(n);for(let n=N("A");n<=N("Z");n++)gr.push(n);const ga=[N(" "),N("\f"),N(`
2
- `),N("\r"),N(" "),N("\v"),N(" "),N("\xA0"),N("\u1680"),N("\u2000"),N("\u2001"),N("\u2002"),N("\u2003"),N("\u2004"),N("\u2005"),N("\u2006"),N("\u2007"),N("\u2008"),N("\u2009"),N("\u200A"),N("\u2028"),N("\u2029"),N("\u202F"),N("\u205F"),N("\u3000"),N("\uFEFF")],Ic=/[0-9a-fA-F]/,yr=/[0-9]/,Cc=/[1-9]/;class ya{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 t=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":bn(r,"global");break;case"i":bn(r,"ignoreCase");break;case"m":bn(r,"multiLine");break;case"u":bn(r,"unicode");break;case"y":bn(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){const e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){const e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){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"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead"}Ct(t);const r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return function(){throw Error("Internal Error - Should never get here!")}()}quantifier(e=!1){let t;const r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),t={atLeast:i,atMost:s}):t={atLeast:i,atMost:1/0},this.consumeChar("}")}if(e===!0&&t===void 0)return;Ct(t)}if(e!==!0||t!==void 0)return Ct(t)?(this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t):void 0}atom(){let e;const t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Ct(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[N(`
3
- `),N("\r"),N("\u2028"),N("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=mr;break;case"D":e=mr,t=!0;break;case"s":e=ga;break;case"S":e=ga,t=!0;break;case"w":e=gr;break;case"W":e=gr,t=!0}if(Ct(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=N("\f");break;case"n":e=N(`
4
- `);break;case"r":e=N("\r");break;case"t":e=N(" ");break;case"v":e=N("\v")}if(Ct(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:N("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:N(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
5
- `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:N(this.popChar())}}}characterClass(){const e=[];let t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,ma(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,ma(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Ni(r.value,e),e.push(N("-")),Ni(i.value,e)}else Ni(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
6
- `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:N("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;const t=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(Cc.test(e)===!1)throw Error("Expecting a positive integer");for(;yr.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(yr.test(e)===!1)throw Error("Expecting an integer");for(;yr.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:N(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return yr.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)==="!");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 t="";for(let r=0;r<e;r++){const i=this.popChar();if(Ic.test(i)===!1)throw Error("Expecting a HexDecimal digits");t+=i}return{type:"Character",value:parseInt(t,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 Tr{visitChildren(e){for(const t in e){const r=e[t];e.hasOwnProperty(t)&&(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"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const Nc=/\r?\n/gm,wc=new ya,wi=new class extends Tr{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(n){this.multiline=!1,this.regex=n,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(n){n.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(n){const e=String.fromCharCode(n.value);if(this.multiline||e!==`
10
- `||(this.multiline=!0),n.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=Rr(e);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitSet(n){if(!this.multiline){const e=this.regex.substring(n.loc.begin,n.loc.end),t=new RegExp(e);this.multiline=!!`
11
- `.match(t)}if(n.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const e=this.regex.substring(n.loc.begin,n.loc.end);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitChildren(n){n.type==="Group"&&n.quantifier||super.visitChildren(n)}};function Lc(n){try{return typeof n=="string"&&(n=new RegExp(n)),n=n.toString(),wi.reset(n),wi.visit(wc.pattern(n)),wi.multiline}catch{return!1}}const Oc=`\f
12
- \r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Li(n){const e=typeof n=="string"?new RegExp(n):n;return Oc.some(t=>e.test(t))}function Rr(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _c(n,e){const t=function(i){typeof i=="string"&&(i=new RegExp(i));const s=i,a=i.source;let o=0;function l(){let c,u="";function h(f){u+=a.substr(o,f),o+=f}function d(f){u+="(?:"+a.substr(o,f)+"|$)",o+=f}for(;o<a.length;)switch(a[o]){case"\\":switch(a[o+1]){case"c":d(3);break;case"x":d(4);break;case"u":s.unicode?a[o+2]==="{"?d(a.indexOf("}",o)-o+1):d(6):d(2);break;case"p":case"P":s.unicode?d(a.indexOf("}",o)-o+1):d(2);break;case"k":d(a.indexOf(">",o)-o+1);break;default:d(2)}break;case"[":c=/\[(?:\\.|.)*?\]/g,c.lastIndex=o,c=c.exec(a)||[],d(c[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":h(1);break;case"{":c=/\{\d+,?\d*\}/g,c.lastIndex=o,c=c.exec(a),c?h(c[0].length):d(1);break;case"(":if(a[o+1]==="?")switch(a[o+2]){case":":u+="(?:",o+=3,u+=l()+"|$)";break;case"=":u+="(?=",o+=3,u+=l()+")";break;case"!":c=o,o+=3,l(),u+=a.substr(c,o-c);break;case"<":switch(a[o+3]){case"=":case"!":c=o,o+=4,l(),u+=a.substr(c,o-c);break;default:h(a.indexOf(">",o)-o+1),u+=l()+"|$)"}}else h(1),u+=l()+"|$)";break;case")":return++o,u;default:d(1)}return u}return new RegExp(l(),i.flags)}(n),r=e.match(t);return!!r&&r[0].length>0}function Ta(n,e){const t=new Set,r=function(a){return a.rules.find(o=>we(o)&&o.entry)}(n);if(!r)return new Set(n.rules);const i=[r].concat(function(a){return a.rules.filter(o=>ht(o)&&o.hidden)}(n));for(const a of i)Ra(a,t,e);const s=new Set;for(const a of n.rules)(t.has(a.name)||ht(a)&&a.hidden)&&s.add(a);return s}function Ra(n,e,t){e.add(n.name),_n(n).forEach(r=>{if(mt(r)||t){const i=r.rule.ref;i&&!e.has(i.name)&&Ra(i,e,t)}})}function bc(n){return n.hidden&&!Li(Pi(n))}function va(n,e,t){if(!n||!e)return;const r=Oi(n,e,n.astNode,!0);return r.length!==0?r[t=t!==void 0?Math.max(0,Math.min(t,r.length-1)):0]:void 0}function Oi(n,e,t,r){if(!r){const i=pr(n.grammarSource,ft);if(i&&i.feature===e)return[n]}return nn(n)&&n.astNode===t?n.content.flatMap(i=>Oi(i,e,t,!1)):[]}function Pc(n,e,t){if(!n)return;const r=function(i,s,a){if(i.astNode!==a)return[];if(pt(i.grammarSource)&&i.grammarSource.value===s)return[i];const o=Ti(i).iterator();let l;const c=[];do if(l=o.next(),!l.done){const u=l.value;u.astNode===a?pt(u.grammarSource)&&u.grammarSource.value===s&&c.push(u):o.prune()}while(!l.done);return c}(n,e,n==null?void 0:n.astNode);return r.length!==0?r[t=t!==void 0?Math.max(0,Math.min(t,r.length-1)):0]:void 0}function $a(n){let e=n;return aa(e)&&(fr(e.$container)?e=e.$container.$container:we(e.$container)?e=e.$container:rn(e.$container)),Ea(n,e,new Map)}function Ea(n,e,t){var r;function i(s,a){let o;return pr(s,ft)||(o=Ea(a,a,t)),t.set(n,o),o}if(t.has(n))return t.get(n);t.set(n,void 0);for(const s of _n(e)){if(ft(s)&&s.feature.toLowerCase()==="name")return t.set(n,s),s;if(mt(s)&&we(s.rule.ref))return i(s,s.rule.ref);if(Sc(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function Aa(n){return ka(n,new Set)}function ka(n,e){if(e.has(n))return!0;e.add(n);for(const t of _n(n))if(mt(t)){if(!t.rule.ref||we(t.rule.ref)&&!ka(t.rule.ref,e))return!1}else if(ft(t)||fr(t))return!1;return!!n.definition}function _i(n){if(n.inferredType)return n.inferredType.name;if(n.dataType)return n.dataType;if(n.returnType){const e=n.returnType.ref;if(e&&(we(e)||oa(e)||la(e)))return e.name}}function bi(n){var e,t;if(we(n))return Aa(n)?n.name:(e=_i(n))!==null&&e!==void 0?e:n.name;if(oa(n)||la(n)||(t=n,b.isInstance(t,ur)))return n.name;if(fr(n)){const r=function(i){var s;if(i.inferredType)return i.inferredType.name;if(!((s=i.type)===null||s===void 0)&&s.ref)return bi(i.type.ref)}(n);if(r)return r}else if(aa(n))return n.name;throw new Error("Cannot get name of Unknown Type")}function Pi(n){const e={s:!1,i:!1,u:!1},t=Nt(n.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(t,r)}const Mi=/[\s\S]/.source;function Nt(n,e){if(s=n,b.isInstance(s,In))return We((i=n).elements.map(a=>Nt(a)).join("|"),{cardinality:i.cardinality,lookahead:i.lookahead});if(function(a){return b.isInstance(a,Cn)}(n))return We((r=n).elements.map(a=>Nt(a)).join(""),{cardinality:r.cardinality,lookahead:r.lookahead});if(function(a){return b.isInstance(a,Rn)}(n))return function(a){return a.right?We(`[${Di(a.left)}-${Di(a.right)}]`,{cardinality:a.cardinality,lookahead:a.lookahead,wrap:!1}):We(Di(a.left),{cardinality:a.cardinality,lookahead:a.lookahead,wrap:!1})}(n);if(function(a){return b.isInstance(a,Nn)}(n)){const a=n.rule.ref;if(!a)throw new Error("Missing rule reference.");return We(Nt(a.definition),{cardinality:n.cardinality,lookahead:n.lookahead})}if(function(a){return b.isInstance(a,kn)}(n))return function(a){return We(`(?!${Nt(a.terminal)})${Mi}*?`,{cardinality:a.cardinality,lookahead:a.lookahead})}(n);if(function(a){return b.isInstance(a,Ln)}(n))return We(`${Mi}*?${Nt((t=n).terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead});if(function(a){return b.isInstance(a,xn)}(n)){const a=n.regex.lastIndexOf("/"),o=n.regex.substring(1,a),l=n.regex.substring(a+1);return e&&(e.i=l.includes("i"),e.s=l.includes("s"),e.u=l.includes("u")),We(o,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}if(function(a){return b.isInstance(a,On)}(n))return We(Mi,{cardinality:n.cardinality,lookahead:n.lookahead});throw new Error(`Invalid terminal element: ${n==null?void 0:n.$type}`);var t,r,i,s}function Di(n){return Rr(n.value)}function We(n,e){var t;return(e.wrap!==!1||e.lookahead)&&(n=`(${(t=e.lookahead)!==null&&t!==void 0?t:""}${n})`),e.cardinality?`${n}${e.cardinality}`:n}function Gi(n){console&&console.error&&console.error(`Error: ${n}`)}function xa(n){console&&console.warn&&console.warn(`Warning: ${n}`)}function Sa(n){const e=new Date().getTime(),t=n();return{time:new Date().getTime()-e,value:t}}function Ia(n){function e(){}e.prototype=n;const t=new e;function r(){return typeof t.bar}return r(),r(),n}function Mc(n){return me((e=n).LABEL)&&e.LABEL!==""?n.LABEL:n.name;var e}class Ue{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),I(this.definition,t=>{t.accept(e)})}}class he extends Ue{constructor(e){super([]),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class wt extends Ue{constructor(e){super(e.definition),this.orgText="",Ae(this,Pe(e,t=>t!==void 0))}}class ge extends Ue{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Ae(this,Pe(e,t=>t!==void 0))}}let te=class extends Ue{constructor(n){super(n.definition),this.idx=1,Ae(this,Pe(n,e=>e!==void 0))}};class Se extends Ue{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class Ie extends Ue{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class V extends Ue{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class ye extends Ue{constructor(e){super(e.definition),this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}}class Te extends Ue{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,Ae(this,Pe(e,t=>t!==void 0))}}class D{constructor(e){this.idx=1,Ae(this,Pe(e,t=>t!==void 0))}accept(e){e.visit(this)}}function vr(n){function e(t){return x(t,vr)}if(n instanceof he){const t={type:"NonTerminal",name:n.nonTerminalName,idx:n.idx};return me(n.label)&&(t.label=n.label),t}if(n instanceof ge)return{type:"Alternative",definition:e(n.definition)};if(n instanceof te)return{type:"Option",idx:n.idx,definition:e(n.definition)};if(n instanceof Se)return{type:"RepetitionMandatory",idx:n.idx,definition:e(n.definition)};if(n instanceof Ie)return{type:"RepetitionMandatoryWithSeparator",idx:n.idx,separator:vr(new D({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof ye)return{type:"RepetitionWithSeparator",idx:n.idx,separator:vr(new D({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof V)return{type:"Repetition",idx:n.idx,definition:e(n.definition)};if(n instanceof Te)return{type:"Alternation",idx:n.idx,definition:e(n.definition)};if(n instanceof D){const t={type:"Terminal",name:n.terminalType.name,label:Mc(n.terminalType),idx:n.idx};me(n.label)&&(t.terminalLabel=n.label);const r=n.terminalType.PATTERN;return n.terminalType.PATTERN&&(t.pattern=He(r)?r.source:r),t}if(n instanceof wt)return{type:"Rule",name:n.name,orgText:n.orgText,definition:e(n.definition)};throw Error("non exhaustive match")}class Lt{visit(e){const t=e;switch(t.constructor){case he:return this.visitNonTerminal(t);case ge:return this.visitAlternative(t);case te:return this.visitOption(t);case Se:return this.visitRepetitionMandatory(t);case Ie:return this.visitRepetitionMandatoryWithSeparator(t);case ye:return this.visitRepetitionWithSeparator(t);case V:return this.visitRepetition(t);case Te:return this.visitAlternation(t);case D:return this.visitTerminal(t);case wt:return this.visitRule(t);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function $r(n,e=[]){return n instanceof te||n instanceof V||n instanceof ye||(n instanceof Te?Js(n.definition,t=>$r(t,e)):!(n instanceof he&&de(e,n))&&n instanceof Ue&&(n instanceof he&&e.push(n),_e(n.definition,t=>$r(t,e))))}function Fe(n){if(n instanceof he)return"SUBRULE";if(n instanceof te)return"OPTION";if(n instanceof Te)return"OR";if(n instanceof Se)return"AT_LEAST_ONE";if(n instanceof Ie)return"AT_LEAST_ONE_SEP";if(n instanceof ye)return"MANY_SEP";if(n instanceof V)return"MANY";if(n instanceof D)return"CONSUME";throw Error("non exhaustive match")}class Er{walk(e,t=[]){I(e.definition,(r,i)=>{const s=J(e.definition,i+1);if(r instanceof he)this.walkProdRef(r,s,t);else if(r instanceof D)this.walkTerminal(r,s,t);else if(r instanceof ge)this.walkFlat(r,s,t);else if(r instanceof te)this.walkOption(r,s,t);else if(r instanceof Se)this.walkAtLeastOne(r,s,t);else if(r instanceof Ie)this.walkAtLeastOneSep(r,s,t);else if(r instanceof ye)this.walkManySep(r,s,t);else if(r instanceof V)this.walkMany(r,s,t);else{if(!(r instanceof Te))throw Error("non exhaustive match");this.walkOr(r,s,t)}})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){const i=t.concat(r);this.walk(e,i)}walkOption(e,t,r){const i=t.concat(r);this.walk(e,i)}walkAtLeastOne(e,t,r){const i=[new te({definition:e.definition})].concat(t,r);this.walk(e,i)}walkAtLeastOneSep(e,t,r){const i=Ca(e,t,r);this.walk(e,i)}walkMany(e,t,r){const i=[new te({definition:e.definition})].concat(t,r);this.walk(e,i)}walkManySep(e,t,r){const i=Ca(e,t,r);this.walk(e,i)}walkOr(e,t,r){const i=t.concat(r);I(e.definition,s=>{const a=new ge({definition:[s]});this.walk(a,i)})}}function Ca(n,e,t){return[new te({definition:[new D({terminalType:n.separator})].concat(n.definition)})].concat(e,t)}function Pn(n){if(n instanceof he)return Pn(n.referencedRule);if(n instanceof D)return[n.terminalType];if(function(e){return e instanceof ge||e instanceof te||e instanceof V||e instanceof Se||e instanceof Ie||e instanceof ye||e instanceof D||e instanceof wt}(n))return function(e){let t=[];const r=e.definition;let i,s=0,a=r.length>s,o=!0;for(;a&&o;)i=r[s],o=$r(i),t=t.concat(Pn(i)),s+=1,a=r.length>s;return mi(t)}(n);if(function(e){return e instanceof Te}(n))return function(e){const t=x(e.definition,r=>Pn(r));return mi(Ne(t))}(n);throw Error("non exhaustive match")}const Na="_~IN~_";class Dc extends Er{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){const i=(s=e.referencedRule,a=e.idx,s.name+a+Na+this.topProd.name);var s,a;const o=t.concat(r),l=Pn(new ge({definition:o}));this.follows[i]=l}}let Ar={};const Gc=new ya;function kr(n){const e=n.toString();if(Ar.hasOwnProperty(e))return Ar[e];{const t=Gc.pattern(e);return Ar[e]=t,t}}const wa="Complement Sets are not supported for first char optimization",xr=`Unable to use "first char" lexer optimizations:
13
- `;function Uc(n,e=!1){try{const t=kr(n);return Ui(t.value,{},t.flags.ignoreCase)}catch(t){if(t.message===wa)e&&xa(`${xr} Unable to optimize: < ${n.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.`),Gi(`${xr}
19
- Failed parsing: < ${n.toString()} >
20
- Using the @chevrotain/regexp-to-ast library
21
- Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function Ui(n,e,t){switch(n.type){case"Disjunction":for(let i=0;i<n.value.length;i++)Ui(n.value[i],e,t);break;case"Alternative":const r=n.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"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":Sr(a.value,e,t);break;case"Set":if(a.complement===!0)throw Error(wa);I(a.value,l=>{if(typeof l=="number")Sr(l,e,t);else{const c=l;if(t===!0)for(let u=c.from;u<=c.to;u++)Sr(u,e,t);else{for(let u=c.from;u<=c.to&&u<Dn;u++)Sr(u,e,t);if(c.to>=Dn){const u=c.from>=Dn?c.from:Dn,h=c.to,d=et(u),f=et(h);for(let p=d;p<=f;p++)e[p]=p}}}});break;case"Group":Ui(a.value,e,t);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&Fi(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Y(e)}function Sr(n,e,t){const r=et(n);e[r]=r,t===!0&&function(i,s){const a=String.fromCharCode(i),o=a.toUpperCase();if(o!==a){const l=et(o.charCodeAt(0));s[l]=l}else{const l=a.toLowerCase();if(l!==a){const c=et(l.charCodeAt(0));s[c]=c}}}(n,e)}function La(n,e){return kt(n.value,t=>{if(typeof t=="number")return de(e,t);{const r=t;return kt(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Fi(n){const e=n.quantifier;return!(!e||e.atLeast!==0)||!!n.value&&(se(n.value)?_e(n.value,Fi):Fi(n.value))}class Fc extends Tr{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e)}super.visitChildren(e)}}visitCharacter(e){de(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?La(e,this.targetCharCodes)===void 0&&(this.found=!0):La(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function Bi(n,e){if(e instanceof RegExp){const t=kr(e),r=new Fc(n);return r.visit(t),r.found}return kt(e,t=>de(n,t.charCodeAt(0)))!==void 0}const gt="PATTERN",Mn="defaultMode",Ki="modes";let Oa=typeof new RegExp("(?:)").sticky=="boolean";function Bc(n,e){const t=(e=pi(e,{useSticky:Oa,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
- `],tracer:(y,T)=>T()})).tracer;let r;t("initCharCodeToOptimizedIndexMap",()=>{(function(){if(M(Ir)){Ir=new Array(65536);for(let y=0;y<65536;y++)Ir[y]=y>255?255+~~(y/255):y}})()}),t("Reject Lexer.NA",()=>{r=Zn(n,y=>y[gt]===Re.NA)});let i,s,a,o,l,c,u,h,d,f,p,m=!1;t("Transform Patterns",()=>{m=!1,i=x(r,y=>{const T=y[gt];if(He(T)){const k=T.source;return k.length!==1||k==="^"||k==="$"||k==="."||T.ignoreCase?k.length!==2||k[0]!=="\\"||de(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],k[1])?e.useSticky?ba(T):_a(T):k[1]:k}if(ut(T))return m=!0,{exec:T};if(typeof T=="object")return m=!0,T;if(typeof T=="string"){if(T.length===1)return T;{const k=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),_=new RegExp(k);return e.useSticky?ba(_):_a(_)}}throw Error("non exhaustive match")})}),t("misc mapping",()=>{s=x(r,y=>y.tokenTypeIdx),a=x(r,y=>{const T=y.GROUP;if(T!==Re.SKIPPED){if(me(T))return T;if(Ve(T))return!1;throw Error("non exhaustive match")}}),o=x(r,y=>{const T=y.LONGER_ALT;if(T)return se(T)?x(T,k=>Qs(r,k)):[Qs(r,T)]}),l=x(r,y=>y.PUSH_MODE),c=x(r,y=>C(y,"POP_MODE"))}),t("Line Terminator Handling",()=>{const y=Da(e.lineTerminatorCharacters);u=x(r,T=>!1),e.positionTracking!=="onlyOffset"&&(u=x(r,T=>C(T,"LINE_BREAKS")?!!T.LINE_BREAKS:Ma(T,y)===!1&&Bi(y,T.PATTERN)))}),t("Misc Mapping #2",()=>{h=x(r,Pa),d=x(i,Wc),f=ue(r,(y,T)=>{const k=T.GROUP;return me(k)&&k!==Re.SKIPPED&&(y[k]=[]),y},{}),p=x(i,(y,T)=>({pattern:i[T],longerAlt:o[T],canLineTerminator:u[T],isCustom:h[T],short:d[T],group:a[T],push:l[T],pop:c[T],tokenTypeIdx:s[T],tokenType:r[T]}))});let g=!0,R=[];return e.safeMode||t("First Char Optimization",()=>{R=ue(r,(y,T,k)=>{if(typeof T.PATTERN=="string"){const _=et(T.PATTERN.charCodeAt(0));Vi(y,_,p[k])}else if(se(T.START_CHARS_HINT)){let _;I(T.START_CHARS_HINT,P=>{const G=et(typeof P=="string"?P.charCodeAt(0):P);_!==G&&(_=G,Vi(y,G,p[k]))})}else if(He(T.PATTERN))if(T.PATTERN.unicode)g=!1,e.ensureOptimizations&&Gi(`${xr} Unable to analyze < ${T.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 _=Uc(T.PATTERN,e.ensureOptimizations);M(_)&&(g=!1),I(_,P=>{Vi(y,P,p[k])})}else e.ensureOptimizations&&Gi(`${xr} TokenType: <${T.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`),g=!1;return y},[])}),{emptyGroups:f,patternIdxToConfig:p,charCodeToPatternIdxToConfig:R,hasCustom:m,canBeOptimized:g}}function Kc(n,e){let t=[];const r=function(a){const o=Ee(a,u=>!C(u,gt)),l=x(o,u=>({message:"Token Type: ->"+u.name+"<- missing static 'PATTERN' property",type:H.MISSING_PATTERN,tokenTypes:[u]})),c=Qn(a,o);return{errors:l,valid:c}}(n);t=t.concat(r.errors);const i=function(a){const o=Ee(a,u=>{const h=u[gt];return!(He(h)||ut(h)||C(h,"exec")||me(h))}),l=x(o,u=>({message:"Token Type: ->"+u.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:H.INVALID_PATTERN,tokenTypes:[u]})),c=Qn(a,o);return{errors:l,valid:c}}(r.valid),s=i.valid;return t=t.concat(i.errors),t=t.concat(function(a){let o=[];const l=Ee(a,c=>He(c[gt]));return o=o.concat(function(c){class u extends Tr{constructor(){super(...arguments),this.found=!1}visitEndAnchor(p){this.found=!0}}const h=Ee(c,f=>{const p=f.PATTERN;try{const m=kr(p),g=new u;return g.visit(m),g.found}catch{return Vc.test(p.source)}});return x(h,f=>({message:`Unexpected RegExp Anchor Error:
28
- Token Type: ->`+f.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
29
- See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:H.EOI_ANCHOR_FOUND,tokenTypes:[f]}))}(l)),o=o.concat(function(c){class u extends Tr{constructor(){super(...arguments),this.found=!1}visitStartAnchor(p){this.found=!0}}const h=Ee(c,f=>{const p=f.PATTERN;try{const m=kr(p),g=new u;return g.visit(m),g.found}catch{return Hc.test(p.source)}});return x(h,f=>({message:`Unexpected RegExp Anchor Error:
30
- Token Type: ->`+f.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
31
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:H.SOI_ANCHOR_FOUND,tokenTypes:[f]}))}(l)),o=o.concat(function(c){const u=Ee(c,d=>{const f=d[gt];return f instanceof RegExp&&(f.multiline||f.global)});return x(u,d=>({message:"Token Type: ->"+d.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:H.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[d]}))}(l)),o=o.concat(function(c){const u=[];let h=x(c,p=>ue(c,(m,g)=>(p.PATTERN.source!==g.PATTERN.source||de(u,g)||g.PATTERN===Re.NA||(u.push(g),m.push(g)),m),[]));h=en(h);const d=Ee(h,p=>p.length>1);return x(d,p=>{const m=x(p,g=>g.name);return{message:`The same RegExp pattern ->${be(p).PATTERN}<-has been used in all of the following Token Types: ${m.join(", ")} <-`,type:H.DUPLICATE_PATTERNS_FOUND,tokenTypes:p}})}(l)),o=o.concat(function(c){const u=Ee(c,d=>d.PATTERN.test(""));return x(u,d=>({message:"Token Type: ->"+d.name+"<- static 'PATTERN' must not match an empty string",type:H.EMPTY_MATCH_PATTERN,tokenTypes:[d]}))}(l)),o}(s)),t=t.concat(function(a){const o=Ee(a,c=>{if(!C(c,"GROUP"))return!1;const u=c.GROUP;return u!==Re.SKIPPED&&u!==Re.NA&&!me(u)});return x(o,c=>({message:"Token Type: ->"+c.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:H.INVALID_GROUP_TYPE_FOUND,tokenTypes:[c]}))}(s)),t=t.concat(function(a,o){const l=Ee(a,u=>u.PUSH_MODE!==void 0&&!de(o,u.PUSH_MODE));return x(l,u=>({message:`Token Type: ->${u.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${u.PUSH_MODE}<-which does not exist`,type:H.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[u]}))}(s,e)),t=t.concat(function(a){const o=[],l=ue(a,(c,u,h)=>{const d=u.PATTERN;return d===Re.NA||(me(d)?c.push({str:d,idx:h,tokenType:u}):He(d)&&(f=d,kt([".","\\","[","]","|","^","$","(",")","?","*","+","{"],p=>f.source.indexOf(p)!==-1)===void 0)&&c.push({str:d.source,idx:h,tokenType:u})),c;var f},[]);return I(a,(c,u)=>{I(l,({str:h,idx:d,tokenType:f})=>{if(u<d&&function(p,m){if(He(m)){const g=m.exec(p);return g!==null&&g.index===0}if(ut(m))return m(p,0,[],{});if(C(m,"exec"))return m.exec(p,0,[],{});if(typeof m=="string")return m===p;throw Error("non exhaustive match")}(h,c.PATTERN)){const p=`Token: ->${f.name}<- can never be matched.
32
- Because it appears AFTER the Token Type ->${c.name}<-in the lexer's definition.
33
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;o.push({message:p,type:H.UNREACHABLE_PATTERN,tokenTypes:[c,f]})}})}),o}(s)),t}const Vc=/[^\\][$]/,Hc=/[^\\[][\^]|^\^/;function _a(n){const e=n.ignoreCase?"i":"";return new RegExp(`^(?:${n.source})`,e)}function ba(n){const e=n.ignoreCase?"iy":"y";return new RegExp(`${n.source}`,e)}function jc(n,e,t){const r=[];let i=!1;const s=Zn(en(Ne(Y(n.modes))),o=>o[gt]===Re.NA),a=Da(t);return e&&I(s,o=>{const l=Ma(o,a);if(l!==!1){const c=function(h,d){if(d.issue===H.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
34
- The problem is in the <${h.name}> Token Type
35
- Root cause: ${d.errMsg}.
36
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(d.issue===H.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
37
- The problem is in the <${h.name}> Token Type
38
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(o,l),u={message:c,type:l.issue,tokenType:o};r.push(u)}else C(o,"LINE_BREAKS")?o.LINE_BREAKS===!0&&(i=!0):Bi(a,o.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:H.NO_LINE_BREAKS_FLAGS}),r}function Pa(n){const e=n.PATTERN;if(He(e))return!1;if(ut(e)||C(e,"exec"))return!0;if(me(e))return!1;throw Error("non exhaustive match")}function Wc(n){return!(!me(n)||n.length!==1)&&n.charCodeAt(0)}const zc={test:function(n){const e=n.length;for(let t=this.lastIndex;t<e;t++){const r=n.charCodeAt(t);if(r===10)return this.lastIndex=t+1,!0;if(r===13)return n.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},lastIndex:0};function Ma(n,e){if(C(n,"LINE_BREAKS"))return!1;if(He(n.PATTERN)){try{Bi(e,n.PATTERN)}catch(t){return{issue:H.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}if(me(n.PATTERN))return!1;if(Pa(n))return{issue:H.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function Da(n){return x(n,e=>me(e)?e.charCodeAt(0):e)}function Vi(n,e,t){n[e]===void 0?n[e]=[t]:n[e].push(t)}const Dn=256;let Ir=[];function et(n){return n<Dn?n:Ir[n]}function Gn(n,e){const t=n.tokenTypeIdx;return t===e.tokenTypeIdx||e.isParent===!0&&e.categoryMatchesMap[t]===!0}function Cr(n,e){return n.tokenTypeIdx===e.tokenTypeIdx}let Ga=1;const Ua={};function Un(n){const e=function(t){let r=Z(t),i=t,s=!0;for(;s;){i=en(Ne(x(i,o=>o.CATEGORIES)));const a=Qn(i,r);r=r.concat(a),M(a)?s=!1:i=a}return r}(n);(function(t){I(t,r=>{Ba(r)||(Ua[Ga]=r,r.tokenTypeIdx=Ga++),Ka(r)&&!se(r.CATEGORIES)&&(r.CATEGORIES=[r.CATEGORIES]),Ka(r)||(r.CATEGORIES=[]),C(r,"categoryMatches")||(r.categoryMatches=[]),function(i){return C(i,"categoryMatchesMap")}(r)||(r.categoryMatchesMap={})})})(e),function(t){I(t,r=>{Fa([],r)})}(e),function(t){I(t,r=>{r.categoryMatches=[],I(r.categoryMatchesMap,(i,s)=>{r.categoryMatches.push(Ua[s].tokenTypeIdx)})})}(e),I(e,t=>{t.isParent=t.categoryMatches.length>0})}function Fa(n,e){I(n,t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0}),I(e.CATEGORIES,t=>{const r=n.concat(e);de(r,t)||Fa(r,t)})}function Ba(n){return C(n,"tokenTypeIdx")}function Ka(n){return C(n,"CATEGORIES")}function Yc(n){return C(n,"tokenTypeIdx")}const Hi={buildUnableToPopLexerModeMessage:n=>`Unable to pop Lexer Mode after encountering Token ->${n.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(n,e,t,r,i)=>`unexpected character: ->${n.charAt(e)}<- at offset: ${e}, skipped ${t} characters.`};var H;(function(n){n[n.MISSING_PATTERN=0]="MISSING_PATTERN",n[n.INVALID_PATTERN=1]="INVALID_PATTERN",n[n.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",n[n.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",n[n.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",n[n.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",n[n.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",n[n.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",n[n.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",n[n.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",n[n.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",n[n.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",n[n.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",n[n.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",n[n.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",n[n.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",n[n.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",n[n.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(H||(H={}));const Fn={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
43
- `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Hi,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Fn);class Re{constructor(e,t=Fn){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:l}=Sa(s),c=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}return s()},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
44
- a boolean 2nd argument is no longer supported`);this.config=Ae({},Fn,t);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===Fn.lineTerminatorsPattern)this.config.lineTerminatorsPattern=zc;else if(this.config.lineTerminatorCharacters===Fn.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
45
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),se(e)?i={modes:{defaultMode:Z(e)},defaultMode:Mn}:(s=!1,i=Z(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(o){const l=[];return C(o,Mn)||l.push({message:"A MultiMode Lexer cannot be initialized without a <"+Mn+`> property in its definition
46
- `,type:H.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),C(o,Ki)||l.push({message:`A MultiMode Lexer cannot be initialized without a <modes> property in its definition
47
- `,type:H.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),C(o,Ki)&&C(o,Mn)&&!C(o.modes,o.defaultMode)&&l.push({message:`A MultiMode Lexer cannot be initialized with a ${Mn}: <${o.defaultMode}>which does not exist
48
- `,type:H.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),C(o,Ki)&&I(o.modes,(c,u)=>{I(c,(h,d)=>{if(Ve(h))l.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${u}> at index: <${d}>
49
- `,type:H.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(C(h,"LONGER_ALT")){const f=se(h.LONGER_ALT)?h.LONGER_ALT:[h.LONGER_ALT];I(f,p=>{Ve(p)||de(c,p)||l.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${p.name}> on token <${h.name}> outside of mode <${u}>
50
- `,type:H.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),l}(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(jc(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},I(i.modes,(o,l)=>{i.modes[l]=Zn(o,c=>Ve(c))});const a=At(i.modes);if(I(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kc(o,a))}),M(this.lexerDefinitionErrors)){let c;Un(o),this.TRACE_INIT("analyzeTokenTypes",()=>{c=Bc(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=c.charCodeToPatternIdxToConfig,this.emptyGroups=Ae({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!M(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const o=x(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
51
- `);throw new Error(`Errors detected in definition of Lexer:
52
- `+o)}I(this.lexerDefinitionWarning,o=>{xa(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(Oa?(this.chopInput=zs,this.match=this.matchWithTest):(this.updateLastIndex=q,this.match=this.matchWithExec),s&&(this.handleModes=q),this.trackStartLines===!1&&(this.computeNewColumn=zs),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=q),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=ue(this.canModeBeOptimized,(l,c,u)=>(c===!1&&l.push(u),l),[]);if(t.ensureOptimizations&&!M(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",()=>{Ar={}}),this.TRACE_INIT("toFastProperties",()=>{Ia(this)})})}tokenize(e,t=this.defaultMode){if(!M(this.lexerDefinitionErrors)){const r=x(this.lexerDefinitionErrors,i=>i.message).join(`-----------------------
55
- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
56
- `+r)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,i,s,a,o,l,c,u,h,d,f,p,m,g,R;const y=e,T=y.length;let k=0,_=0;const P=this.hasCustom?0:Math.floor(e.length/10),G=new Array(P),Q=[];let re=this.trackStartLines?1:void 0,pe=this.trackStartLines?1:void 0;const E=function(W){const le={},Qe=At(W);return I(Qe,ce=>{const Oe=W[ce];if(!se(Oe))throw Error("non exhaustive match");le[ce]=[]}),le}(this.emptyGroups),v=this.trackStartLines,A=this.config.lineTerminatorsPattern;let S=0,O=[],L=[];const w=[],ve=[];let ie;function K(){return O}function lt(W){const le=et(W),Qe=L[le];return Qe===void 0?ve:Qe}Object.freeze(ve);const Vl=W=>{if(w.length===1&&W.tokenType.PUSH_MODE===void 0){const le=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(W);Q.push({offset:W.startOffset,line:W.startLine,column:W.startColumn,length:W.image.length,message:le})}else{w.pop();const le=xt(w);O=this.patternIdxToConfig[le],L=this.charCodeToPatternIdxToConfig[le],S=O.length;const Qe=this.canModeBeOptimized[le]&&this.config.safeMode===!1;ie=L&&Qe?lt:K}};function Ds(W){w.push(W),L=this.charCodeToPatternIdxToConfig[W],O=this.patternIdxToConfig[W],S=O.length,S=O.length;const le=this.canModeBeOptimized[W]&&this.config.safeMode===!1;ie=L&&le?lt:K}let Le;Ds.call(this,t);const Gs=this.config.recoveryEnabled;for(;k<T;){l=null;const W=y.charCodeAt(k),le=ie(W),Qe=le.length;for(r=0;r<Qe;r++){Le=le[r];const ce=Le.pattern;c=null;const Oe=Le.short;if(Oe!==!1?W===Oe&&(l=ce):Le.isCustom===!0?(R=ce.exec(y,k,G,E),R!==null?(l=R[0],R.payload!==void 0&&(c=R.payload)):l=null):(this.updateLastIndex(ce,k),l=this.match(ce,e,k)),l!==null){if(o=Le.longerAlt,o!==void 0){const Be=o.length;for(s=0;s<Be;s++){const Ke=O[o[s]],ct=Ke.pattern;if(u=null,Ke.isCustom===!0?(R=ct.exec(y,k,G,E),R!==null?(a=R[0],R.payload!==void 0&&(u=R.payload)):a=null):(this.updateLastIndex(ct,k),a=this.match(ct,e,k)),a&&a.length>l.length){l=a,c=u,Le=Ke;break}}}break}}if(l!==null){if(h=l.length,d=Le.group,d!==void 0&&(f=Le.tokenTypeIdx,p=this.createTokenInstance(l,k,f,Le.tokenType,re,pe,h),this.handlePayload(p,c),d===!1?_=this.addToken(G,_,p):E[d].push(p)),e=this.chopInput(e,h),k+=h,pe=this.computeNewColumn(pe,h),v===!0&&Le.canLineTerminator===!0){let ce,Oe,Be=0;A.lastIndex=0;do ce=A.test(l),ce===!0&&(Oe=A.lastIndex-1,Be++);while(ce===!0);Be!==0&&(re+=Be,pe=h-Oe,this.updateTokenEndLineColumnLocation(p,d,Oe,Be,re,pe,h))}this.handleModes(Le,Vl,Ds,p)}else{const ce=k,Oe=re,Be=pe;let Ke=Gs===!1;for(;Ke===!1&&k<T;)for(e=this.chopInput(e,1),k++,i=0;i<S;i++){const ct=O[i],hi=ct.pattern,Us=ct.short;if(Us!==!1?y.charCodeAt(k)===Us&&(Ke=!0):ct.isCustom===!0?Ke=hi.exec(y,k,G,E)!==null:(this.updateLastIndex(hi,k),Ke=hi.exec(e)!==null),Ke===!0)break}if(m=k-ce,pe=this.computeNewColumn(pe,m),g=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(y,ce,m,Oe,Be),Q.push({offset:ce,line:Oe,column:Be,length:m,message:g}),Gs===!1)break}}return this.hasCustom||(G.length=_),{tokens:G,groups:E,errors:Q}}handleModes(e,t,r,i){if(e.pop===!0){const s=e.push;t(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,r,i,s,a,o){let l,c;t!==void 0&&(l=r===o-1,c=l?-1:0,i===1&&l===!0||(e.endLine=s+c,e.endColumn=a-1-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,i){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,t,r,i,s,a){return{image:e,startOffset:t,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,t,r,i,s,a,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}matchWithTest(e,t,r){return e.test(t)===!0?t.substring(r,e.lastIndex):null}matchWithExec(e,t){const r=e.exec(t);return r!==null?r[0]:null}}function Ot(n){return Va(n)?n.LABEL:n.name}function Va(n){return me(n.LABEL)&&n.LABEL!==""}Re.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",Re.NA=/NOT_APPLICABLE/;const qc="parent",Ha="categories",ja="label",Wa="group",za="push_mode",Ya="pop_mode",qa="longer_alt",Xa="line_breaks",Qa="start_chars_hint";function Za(n){return function(e){const t=e.pattern,r={};if(r.name=e.name,Ve(t)||(r.PATTERN=t),C(e,qc))throw`The parent property is no longer supported.
57
- See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return C(e,Ha)&&(r.CATEGORIES=e[Ha]),Un([r]),C(e,ja)&&(r.LABEL=e[ja]),C(e,Wa)&&(r.GROUP=e[Wa]),C(e,Ya)&&(r.POP_MODE=e[Ya]),C(e,za)&&(r.PUSH_MODE=e[za]),C(e,qa)&&(r.LONGER_ALT=e[qa]),C(e,Xa)&&(r.LINE_BREAKS=e[Xa]),C(e,Qa)&&(r.START_CHARS_HINT=e[Qa]),r}(n)}const tt=Za({name:"EOF",pattern:Re.NA});function ji(n,e,t,r,i,s,a,o){return{image:e,startOffset:t,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:n.tokenTypeIdx,tokenType:n}}function Ja(n,e){return Gn(n,e)}Un([tt]);const _t={buildMismatchTokenMessage:({expected:n,actual:e,previous:t,ruleName:r})=>`Expecting ${Va(n)?`--> ${Ot(n)} <--`:`token of type --> ${n.name} <--`} but found --> '${e.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:n,ruleName:e})=>"Redundant input, expecting EOF but found: "+n.image,buildNoViableAltMessage({expectedPathsPerAlt:n,actual:e,previous:t,customUserDescription:r,ruleName:i}){const s="Expecting: ",a=`
58
- but found: '`+be(e).image+"'";if(r)return s+r+a;{const o=ue(n,(c,u)=>c.concat(u),[]),l=x(o,c=>`[${x(c,u=>Ot(u)).join(", ")}]`);return s+`one of these possible Token sequences:
59
- ${x(l,(c,u)=>` ${u+1}. ${c}`).join(`
60
- `)}`+a}},buildEarlyExitMessage({expectedIterationPaths:n,actual:e,customUserDescription:t,ruleName:r}){const i="Expecting: ",s=`
61
- but found: '`+be(e).image+"'";return t?i+t+s:i+`expecting at least one iteration which starts with one of these possible Token sequences::
62
- <${x(n,a=>`[${x(a,o=>Ot(o)).join(",")}]`).join(" ,")}>`+s}};Object.freeze(_t);const Xc={buildRuleNotFoundError:(n,e)=>"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
- inside top level rule: ->`+n.name+"<-"},yt={buildDuplicateFoundError(n,e){const t=n.name,r=be(e),i=r.idx,s=Fe(r),a=(o=r)instanceof D?o.terminalType.name:o instanceof he?o.nonTerminalName:"";var o;let l=`->${s}${i>0?i:""}<- ${a?`with argument: ->${a}<-`:""}
64
- appears more than once (${e.length} times) in the top level rule: ->${t}<-.
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:n=>`Namespace conflict found in grammar.
68
- The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${n.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(n){const e=x(n.prefixPath,r=>Ot(r)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;return`Ambiguous alternatives: <${n.ambiguityIndices.join(" ,")}> due to common lookahead prefix
72
- in <OR${t}> inside <${n.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(n){const e=x(n.prefixPath,i=>Ot(i)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;let r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${n.topLevelRule.name}> Rule,
76
- <${e}> may appears as a prefix path in all these alternatives.
77
- `;return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
78
- For Further details.`,r},buildEmptyRepetitionError(n){let e=Fe(n.repetition);return n.repetition.idx!==0&&(e+=n.repetition.idx),`The repetition <${e}> within Rule <${n.topLevelRule.name}> can never consume any tokens.
79
- This could lead to an infinite loop.`},buildTokenNameError:n=>"deprecated",buildEmptyAlternationError:n=>`Ambiguous empty alternative: <${n.emptyChoiceIdx+1}> in <OR${n.alternation.idx}> inside <${n.topLevelRule.name}> Rule.
80
- Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:n=>`An Alternation cannot have more than 256 alternatives:
81
- <OR${n.alternation.idx}> inside <${n.topLevelRule.name}> Rule.
82
- has ${n.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(n){const e=n.topLevelRule.name;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
- ${`${e} --> ${x(n.leftRecursionPath,t=>t.name).concat([e]).join(" --> ")}`}
86
- To fix this refactor your grammar to remove the left recursion.
87
- see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:n=>"deprecated",buildDuplicateRuleNameError(n){let e;return e=n.topLevelRule instanceof wt?n.topLevelRule.name:n.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${n.grammarName}<-`}};class Qc extends Lt{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){I(Y(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:fe.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class Zc extends Er{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Z(this.path.ruleStack).reverse(),this.occurrenceStack=Z(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){M(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Jc extends Zc{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=t.concat(r),s=new ge({definition:i});this.possibleTokTypes=Pn(s),this.found=!0}}}class Nr extends Er{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class eu extends Nr{walkMany(e,t,r){if(e.idx===this.occurrence){const i=be(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof D&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,t,r)}}class eo extends Nr{walkManySep(e,t,r){if(e.idx===this.occurrence){const i=be(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof D&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,t,r)}}class tu extends Nr{walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){const i=be(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof D&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,t,r)}}class to extends Nr{walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){const i=be(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof D&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,t,r)}}function Wi(n,e,t=[]){t=Z(t);let r=[],i=0;function s(a){const o=Wi(a.concat(J(n,i+1)),e,t);return r.concat(o)}for(;t.length<e&&i<n.length;){const a=n[i];if(a instanceof ge||a instanceof he)return s(a.definition);if(a instanceof te)r=s(a.definition);else{if(a instanceof Se)return s(a.definition.concat([new V({definition:a.definition})]));if(a instanceof Ie)return s([new ge({definition:a.definition}),new V({definition:[new D({terminalType:a.separator})].concat(a.definition)})]);if(a instanceof ye){const o=a.definition.concat([new V({definition:[new D({terminalType:a.separator})].concat(a.definition)})]);r=s(o)}else if(a instanceof V){const o=a.definition.concat([new V({definition:a.definition})]);r=s(o)}else{if(a instanceof Te)return I(a.definition,o=>{M(o.definition)===!1&&(r=s(o.definition))}),r;if(!(a instanceof D))throw Error("non exhaustive match");t.push(a.terminalType)}}i++}return r.push({partialPath:t,suffixDef:J(n,i)}),r}function no(n,e,t,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,c=l-r-1,u=[],h=[];for(h.push({idx:-1,def:n,ruleStack:[],occurrenceStack:[]});!M(h);){const d=h.pop();if(d===a){o&&xt(h).idx<=c&&h.pop();continue}const f=d.def,p=d.idx,m=d.ruleStack,g=d.occurrenceStack;if(M(f))continue;const R=f[0];if(R===i){const y={idx:p,def:J(f),ruleStack:tn(m),occurrenceStack:tn(g)};h.push(y)}else if(R instanceof D)if(p<l-1){const y=p+1;if(t(e[y],R.terminalType)){const T={idx:y,def:J(f),ruleStack:m,occurrenceStack:g};h.push(T)}}else{if(p!==l-1)throw Error("non exhaustive match");u.push({nextTokenType:R.terminalType,nextTokenOccurrence:R.idx,ruleStack:m,occurrenceStack:g}),o=!0}else if(R instanceof he){const y=Z(m);y.push(R.nonTerminalName);const T=Z(g);T.push(R.idx);const k={idx:p,def:R.definition.concat(s,J(f)),ruleStack:y,occurrenceStack:T};h.push(k)}else if(R instanceof te){const y={idx:p,def:J(f),ruleStack:m,occurrenceStack:g};h.push(y),h.push(a);const T={idx:p,def:R.definition.concat(J(f)),ruleStack:m,occurrenceStack:g};h.push(T)}else if(R instanceof Se){const y=new V({definition:R.definition,idx:R.idx}),T={idx:p,def:R.definition.concat([y],J(f)),ruleStack:m,occurrenceStack:g};h.push(T)}else if(R instanceof Ie){const y=new D({terminalType:R.separator}),T=new V({definition:[y].concat(R.definition),idx:R.idx}),k={idx:p,def:R.definition.concat([T],J(f)),ruleStack:m,occurrenceStack:g};h.push(k)}else if(R instanceof ye){const y={idx:p,def:J(f),ruleStack:m,occurrenceStack:g};h.push(y),h.push(a);const T=new D({terminalType:R.separator}),k=new V({definition:[T].concat(R.definition),idx:R.idx}),_={idx:p,def:R.definition.concat([k],J(f)),ruleStack:m,occurrenceStack:g};h.push(_)}else if(R instanceof V){const y={idx:p,def:J(f),ruleStack:m,occurrenceStack:g};h.push(y),h.push(a);const T=new V({definition:R.definition,idx:R.idx}),k={idx:p,def:R.definition.concat([T],J(f)),ruleStack:m,occurrenceStack:g};h.push(k)}else if(R instanceof Te)for(let y=R.definition.length-1;y>=0;y--){const T={idx:p,def:R.definition[y].definition.concat(J(f)),ruleStack:m,occurrenceStack:g};h.push(T),h.push(a)}else if(R instanceof ge)h.push({idx:p,def:R.definition.concat(J(f)),ruleStack:m,occurrenceStack:g});else{if(!(R instanceof wt))throw Error("non exhaustive match");h.push(nu(R,p,m,g))}}return u}function nu(n,e,t,r){const i=Z(t);i.push(n.name);const s=Z(r);return s.push(1),{idx:e,def:n.definition,ruleStack:i,occurrenceStack:s}}var F;function zi(n){if(n instanceof te||n==="Option")return F.OPTION;if(n instanceof V||n==="Repetition")return F.REPETITION;if(n instanceof Se||n==="RepetitionMandatory")return F.REPETITION_MANDATORY;if(n instanceof Ie||n==="RepetitionMandatoryWithSeparator")return F.REPETITION_MANDATORY_WITH_SEPARATOR;if(n instanceof ye||n==="RepetitionWithSeparator")return F.REPETITION_WITH_SEPARATOR;if(n instanceof Te||n==="Alternation")return F.ALTERNATION;throw Error("non exhaustive match")}function ro(n){const{occurrence:e,rule:t,prodType:r,maxLookahead:i}=n,s=zi(r);return s===F.ALTERNATION?wr(e,t,i):Lr(e,t,s,i)}function ru(n,e,t,r){const i=n.length,s=_e(n,a=>_e(a,o=>o.length===1));if(e)return function(a){const o=x(a,l=>l.GATE);for(let l=0;l<i;l++){const c=n[l],u=c.length,h=o[l];if(h===void 0||h.call(this)!==!1)e:for(let d=0;d<u;d++){const f=c[d],p=f.length;for(let m=0;m<p;m++){const g=this.LA(m+1);if(t(g,f[m])===!1)continue e}return l}}};if(s&&!r){const a=x(n,l=>Ne(l)),o=ue(a,(l,c,u)=>(I(c,h=>{C(l,h.tokenTypeIdx)||(l[h.tokenTypeIdx]=u),I(h.categoryMatches,d=>{C(l,d)||(l[d]=u)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}return function(){for(let a=0;a<i;a++){const o=n[a],l=o.length;e:for(let c=0;c<l;c++){const u=o[c],h=u.length;for(let d=0;d<h;d++){const f=this.LA(d+1);if(t(f,u[d])===!1)continue e}return a}}}}function iu(n,e,t){const r=_e(n,s=>s.length===1),i=n.length;if(r&&!t){const s=Ne(n);if(s.length===1&&M(s[0].categoryMatches)){const a=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}{const a=ue(s,(o,l,c)=>(o[l.tokenTypeIdx]=!0,I(l.categoryMatches,u=>{o[u]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}return function(){e:for(let s=0;s<i;s++){const a=n[s],o=a.length;for(let l=0;l<o;l++){const c=this.LA(l+1);if(e(c,a[l])===!1)continue e}return!0}return!1}}(function(n){n[n.OPTION=0]="OPTION",n[n.REPETITION=1]="REPETITION",n[n.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",n[n.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",n[n.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",n[n.ALTERNATION=5]="ALTERNATION"})(F||(F={}));class su extends Er{constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(i),!0)}walkOption(e,t,r){this.checkIsTarget(e,F.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,F.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,F.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,F.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,F.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}}class io extends Lt{constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx!==this.targetOccurrence||this.targetProdType!==t||this.targetRef!==void 0&&e!==this.targetRef||(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,F.OPTION)}visitRepetition(e){this.checkIsTarget(e,F.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,F.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,F.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,F.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,F.ALTERNATION)}}function so(n){const e=new Array(n);for(let t=0;t<n;t++)e[t]=[];return e}function Yi(n){let e=[""];for(let t=0;t<n.length;t++){const r=n[t],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 l="_"+r.categoryMatches[o];i.push(a+l)}}e=i}return e}function au(n,e,t){for(let r=0;r<n.length;r++){if(r===t)continue;const i=n[r];for(let s=0;s<e.length;s++)if(i[e[s]]===!0)return!1}return!0}function ao(n,e){const t=x(n,a=>Wi([a],1)),r=so(t.length),i=x(t,a=>{const o={};return I(a,l=>{const c=Yi(l.partialPath);I(c,u=>{o[u]=!0})}),o});let s=t;for(let a=1;a<=e;a++){const o=s;s=so(o.length);for(let l=0;l<o.length;l++){const c=o[l];for(let u=0;u<c.length;u++){const h=c[u].partialPath,d=c[u].suffixDef,f=Yi(h);if(au(i,f,l)||M(d)||h.length===e){const p=r[l];if(qi(p,h)===!1){p.push(h);for(let m=0;m<f.length;m++){const g=f[m];i[l][g]=!0}}}else{const p=Wi(d,a+1,h);s[l]=s[l].concat(p),I(p,m=>{const g=Yi(m.partialPath);I(g,R=>{i[l][R]=!0})})}}}}return r}function wr(n,e,t,r){const i=new io(n,F.ALTERNATION,r);return e.accept(i),ao(i.result,t)}function Lr(n,e,t,r){const i=new io(n,t);e.accept(i);const s=i.result,a=new su(e,n,t).startWalking();return ao([new ge({definition:s}),new ge({definition:a})],r)}function qi(n,e){e:for(let t=0;t<n.length;t++){const r=n[t];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))continue e}return!0}}return!1}function oo(n){return _e(n,e=>_e(e,t=>_e(t,r=>M(r.categoryMatches))))}function ou(n,e,t,r){const i=ke(n,l=>function(c,u){const h=new cu;c.accept(h);const d=h.allProductions,f=Pe(yc(d,lu),m=>m.length>1);return x(Y(f),m=>{const g=be(m),R=u.buildDuplicateFoundError(c,m),y=Fe(g),T={message:R,type:fe.DUPLICATE_PRODUCTIONS,ruleName:c.name,dslName:y,occurrence:g.idx},k=lo(g);return k&&(T.parameter=k),T})}(l,t)),s=function(l,c,u){const h=[],d=x(c,f=>f.name);return I(l,f=>{const p=f.name;if(de(d,p)){const m=u.buildNamespaceConflictError(f);h.push({message:m,type:fe.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:p})}}),h}(n,e,t),a=ke(n,l=>function(c,u){const h=new Xi;return c.accept(h),ke(h.alternations,f=>f.definition.length>255?[{message:u.buildTooManyAlternativesError({topLevelRule:c,alternation:f}),type:fe.TOO_MANY_ALTS,ruleName:c.name,occurrence:f.idx}]:[])}(l,t)),o=ke(n,l=>function(c,u,h,d){const f=[];if(ue(u,(m,g)=>g.name===c.name?m+1:m,0)>1){const m=d.buildDuplicateRuleNameError({topLevelRule:c,grammarName:h});f.push({message:m,type:fe.DUPLICATE_RULE_NAME,ruleName:c.name})}return f}(l,n,r,t));return i.concat(s,a,o)}function lu(n){return`${Fe(n)}_#_${n.idx}_#_${lo(n)}`}function lo(n){return n instanceof D?n.terminalType.name:n instanceof he?n.nonTerminalName:""}class cu extends Lt{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 co(n,e,t,r=[]){const i=[],s=Or(e.definition);if(M(s))return[];{const a=n.name;de(s,n)&&i.push({message:t.buildLeftRecursionError({topLevelRule:n,leftRecursionPath:r}),type:fe.LEFT_RECURSION,ruleName:a});const o=ke(Qn(s,r.concat([n])),l=>{const c=Z(r);return c.push(l),co(n,l,t,c)});return i.concat(o)}}function Or(n){let e=[];if(M(n))return e;const t=be(n);if(t instanceof he)e.push(t.referencedRule);else if(t instanceof ge||t instanceof te||t instanceof Se||t instanceof Ie||t instanceof ye||t instanceof V)e=e.concat(Or(t.definition));else if(t instanceof Te)e=Ne(x(t.definition,s=>Or(s.definition)));else if(!(t instanceof D))throw Error("non exhaustive match");const r=$r(t),i=n.length>1;if(r&&i){const s=J(n);return e.concat(Or(s))}return e}class Xi extends Lt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function uu(n,e,t){const r=new Xi;n.accept(r);let i=r.alternations;return i=Zn(i,a=>a.ignoreAmbiguities===!0),ke(i,a=>{const o=a.idx,l=a.maxLookahead||e,c=wr(o,n,l,a),u=function(d,f,p,m){const g=[],R=ue(d,(T,k,_)=>(f.definition[_].ignoreAmbiguities===!0||I(k,P=>{const G=[_];I(d,(Q,re)=>{_!==re&&qi(Q,P)&&f.definition[re].ignoreAmbiguities!==!0&&G.push(re)}),G.length>1&&!qi(g,P)&&(g.push(P),T.push({alts:G,path:P}))}),T),[]);return x(R,T=>{const k=x(T.alts,_=>_+1);return{message:m.buildAlternationAmbiguityError({topLevelRule:p,alternation:f,ambiguityIndices:k,prefixPath:T.path}),type:fe.AMBIGUOUS_ALTS,ruleName:p.name,occurrence:f.idx,alternatives:T.alts}})}(c,a,n,t),h=function(d,f,p,m){const g=ue(d,(y,T,k)=>{const _=x(T,P=>({idx:k,path:P}));return y.concat(_)},[]);return en(ke(g,y=>{if(f.definition[y.idx].ignoreAmbiguities===!0)return[];const T=y.idx,k=y.path,_=Ee(g,P=>{return f.definition[P.idx].ignoreAmbiguities!==!0&&P.idx<T&&(G=P.path,Q=k,G.length<Q.length&&_e(G,(re,pe)=>{const E=Q[pe];return re===E||E.categoryMatchesMap[re.tokenTypeIdx]}));var G,Q});return x(_,P=>{const G=[P.idx+1,T+1],Q=f.idx===0?"":f.idx;return{message:m.buildAlternationPrefixAmbiguityError({topLevelRule:p,alternation:f,ambiguityIndices:G,prefixPath:P.path}),type:fe.AMBIGUOUS_PREFIX_ALTS,ruleName:p.name,occurrence:Q,alternatives:G}})}))}(c,a,n,t);return u.concat(h)})}class du extends Lt{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 hu(n){const e=pi(n,{errMsgProvider:Xc}),t={};return I(n.rules,r=>{t[r.name]=r}),function(r,i){const s=new Qc(r,i);return s.resolveRefs(),s.errors}(t,e.errMsgProvider)}const uo="MismatchedTokenException",ho="NoViableAltException",fo="EarlyExitException",po="NotAllInputParsedException",mo=[uo,ho,fo,po];function _r(n){return de(mo,n.name)}Object.freeze(mo);class br extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class go extends br{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=uo}}class fu extends br{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=ho}}class pu extends br{constructor(e,t){super(e,t),this.name=po}}class mu extends br{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=fo}}const Qi={},yo="InRuleRecoveryException";class gu extends Error{constructor(e){super(e),this.name=yo}}function yu(n,e,t,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(l===void 0){const d=this.getCurrRuleFullName();l=new s(this.getGAstProductions()[d],i).startWalking(),this.firstAfterRepMap[o]=l}let c=l.token,u=l.occurrence;const h=l.isEndOfRule;this.RULE_STACK.length===1&&h&&c===void 0&&(c=tt,u=1),c!==void 0&&u!==void 0&&this.shouldInRepetitionRecoveryBeTried(c,u,a)&&this.tryInRepetitionRecovery(n,e,t,c)}const Zi=1024,Ji=1280,Pr=1536;function es(n,e,t){return t|e|n}class ts{constructor(e){var t;this.maxLookahead=(t=e==null?void 0:e.maxLookahead)!==null&&t!==void 0?t:ze.maxLookahead}validate(e){const t=this.validateNoLeftRecursion(e.rules);if(M(t)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...r,...i,...s]}return t}validateNoLeftRecursion(e){return ke(e,t=>co(t,t,yt))}validateEmptyOrAlternatives(e){return ke(e,t=>function(r,i){const s=new Xi;return r.accept(s),ke(s.alternations,a=>ke(tn(a.definition),(o,l)=>{const c=no([o],[],Gn,1);return M(c)?[{message:i.buildEmptyAlternationError({topLevelRule:r,alternation:a,emptyChoiceIdx:l}),type:fe.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:a.idx,alternative:l+1}]:[]}))}(t,yt))}validateAmbiguousAlternationAlternatives(e,t){return ke(e,r=>uu(r,t,yt))}validateSomeNonEmptyLookaheadPath(e,t){return function(r,i,s){const a=[];return I(r,o=>{const l=new du;o.accept(l);const c=l.allProductions;I(c,u=>{const h=zi(u),d=u.maxLookahead||i,f=Lr(u.idx,o,h,d)[0];if(M(Ne(f))){const p=s.buildEmptyRepetitionError({topLevelRule:o,repetition:u});a.push({message:p,type:fe.NO_NON_EMPTY_LOOKAHEAD,ruleName:o.name})}})}),a}(e,t,yt)}buildLookaheadForAlternation(e){return function(t,r,i,s,a,o){const l=wr(t,r,i);return o(l,s,oo(l)?Cr:Gn,a)}(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,ru)}buildLookaheadForOptional(e){return function(t,r,i,s,a,o){const l=Lr(t,r,a,i),c=oo(l)?Cr:Gn;return o(l[0],c,s)}(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,zi(e.prodType),iu)}}const Mr=new class extends Lt{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(n){this.dslMethods.option.push(n)}visitRepetitionWithSeparator(n){this.dslMethods.repetitionWithSeparator.push(n)}visitRepetitionMandatory(n){this.dslMethods.repetitionMandatory.push(n)}visitRepetitionMandatoryWithSeparator(n){this.dslMethods.repetitionMandatoryWithSeparator.push(n)}visitRepetition(n){this.dslMethods.repetition.push(n)}visitAlternation(n){this.dslMethods.alternation.push(n)}};function To(n,e){isNaN(n.startOffset)===!0?(n.startOffset=e.startOffset,n.endOffset=e.endOffset):n.endOffset<e.endOffset&&(n.endOffset=e.endOffset)}function Ro(n,e){isNaN(n.startOffset)===!0?(n.startOffset=e.startOffset,n.startColumn=e.startColumn,n.startLine=e.startLine,n.endOffset=e.endOffset,n.endColumn=e.endColumn,n.endLine=e.endLine):n.endOffset<e.endOffset&&(n.endOffset=e.endOffset,n.endColumn=e.endColumn,n.endLine=e.endLine)}function vo(n,e){Object.defineProperty(n,"name",{enumerable:!1,configurable:!0,writable:!1,value:e})}function Tu(n,e){const t=At(n),r=t.length;for(let i=0;i<r;i++){const s=n[t[i]],a=s.length;for(let o=0;o<a;o++){const l=s[o];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function Ru(n,e){const t=function(){};vo(t,n+"BaseSemantics");const r={visit:function(i,s){if(se(i)&&(i=i[0]),!Ve(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=function(s,a){return function(l,c){const u=Ee(c,d=>ut(l[d])===!1),h=x(u,d=>({msg:`Missing visitor method: <${d}> on ${l.constructor.name} CST Visitor.`,type:ns.MISSING_METHOD,methodName:d}));return en(h)}(s,a)}(this,e);if(!M(i)){const s=x(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
88
- ${s.join(`
89
-
90
- `).replace(/\n/g,`
91
- `)}`)}}};return(t.prototype=r).constructor=t,t._RULE_NAMES=e,t}var ns;(function(n){n[n.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",n[n.MISSING_METHOD=1]="MISSING_METHOD"})(ns||(ns={}));const Dr={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Dr);const $o=!0,Eo=Math.pow(2,8)-1,Ao=Za({name:"RECORDING_PHASE_TOKEN",pattern:Re.NA});Un([Ao]);const ko=ji(Ao,`This IToken indicates the Parser is in Recording Phase
92
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(ko);const vu={name:`This CSTNode indicates the Parser is in Recording Phase
93
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};function Bn(n,e,t,r=!1){Gr(t);const i=xt(this.recordingProdStack),s=ut(e)?e:e.DEF,a=new n({definition:[],idx:t});return r&&(a.separator=e.SEP),C(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),Dr}function $u(n,e){Gr(e);const t=xt(this.recordingProdStack),r=se(n)===!1,i=r===!1?n:n.DEF,s=new Te({definition:[],idx:e,ignoreAmbiguities:r&&n.IGNORE_AMBIGUITIES===!0});C(n,"MAX_LOOKAHEAD")&&(s.maxLookahead=n.MAX_LOOKAHEAD);const a=Js(i,o=>ut(o.GATE));return s.hasPredicates=a,t.definition.push(s),I(i,o=>{const l=new ge({definition:[]});s.definition.push(l),C(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:C(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),Dr}function xo(n){return n===0?"":`${n}`}function Gr(n){if(n<0||n>Eo){const e=new Error(`Invalid DSL Method idx value: <${n}>
94
- Idx value must be a none negative value smaller than ${Eo+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}const Ur=ji(tt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ur);const ze=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:_t,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Fr=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var fe,rs,So;function Io(n=void 0){return function(){return n}}(function(n){n[n.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",n[n.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",n[n.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",n[n.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",n[n.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",n[n.LEFT_RECURSION=5]="LEFT_RECURSION",n[n.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",n[n.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",n[n.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",n[n.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",n[n.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",n[n.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",n[n.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",n[n.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(fe||(fe={}));class qn{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 t=this.className;this.TRACE_INIT("toFastProps",()=>{Ia(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),I(this.definedRulesNames,i=>{const s=this[i].originalGrammarAction;let a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=hu({rules:Y(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(M(r)&&this.skipValidations===!1){const s=(i={rules:Y(this.gastProductionsCache),tokenTypes:Y(this.tokensMap),errMsgProvider:yt,grammarName:t},ou((i=pi(i,{errMsgProvider:yt})).rules,i.tokenTypes,i.errMsgProvider,i.grammarName)),a=function(o){const l=o.lookaheadStrategy.validate({rules:o.rules,tokenTypes:o.tokenTypes,grammarName:o.grammarName});return x(l,c=>Object.assign({type:fe.CUSTOM_LOOKAHEAD_VALIDATION},c))}({lookaheadStrategy:this.lookaheadStrategy,rules:Y(this.gastProductionsCache),tokenTypes:Y(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(s,a)}var i}),M(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=function(s){const a={};return I(s,o=>{const l=new Dc(o).startWalking();Ae(a,l)}),a}(Y(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:Y(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Y(this.gastProductionsCache))})),!qn.DEFER_DEFINITION_ERRORS_HANDLING&&!M(this.definitionErrors))throw e=x(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
95
- ${e.join(`
96
- -------------------------------
97
- `)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(t),r.initLexerAdapter(),r.initLooksAhead(t),r.initRecognizerEngine(e,t),r.initRecoverable(t),r.initTreeBuilder(t),r.initContentAssist(),r.initGastRecorder(t),r.initPerformanceTracer(t),C(t,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
98
- Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
99
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
100
- For further details.`);this.skipValidations=C(t,"skipValidations")?t.skipValidations:ze.skipValidations}}qn.DEFER_DEFINITION_ERRORS_HANDLING=!1,rs=qn,So=[class{initRecoverable(n){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=C(n,"recoveryEnabled")?n.recoveryEnabled:ze.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=yu)}getTokenToInsert(n){const e=ji(n,"",NaN,NaN,NaN,NaN,NaN,NaN);return e.isInsertedInRecovery=!0,e}canTokenTypeBeInsertedInRecovery(n){return!0}canTokenTypeBeDeletedInRecovery(n){return!0}tryInRepetitionRecovery(n,e,t,r){const i=this.findReSyncTokenType(),s=this.exportLexerState(),a=[];let o=!1;const l=this.LA(1);let c=this.LA(1);const u=()=>{const h=this.LA(0),d=this.errorMessageProvider.buildMismatchTokenMessage({expected:r,actual:l,previous:h,ruleName:this.getCurrRuleFullName()}),f=new go(d,l,this.LA(0));f.resyncedTokens=tn(a),this.SAVE_ERROR(f)};for(;!o;){if(this.tokenMatcher(c,r))return void u();if(t.call(this))return u(),void n.apply(this,e);this.tokenMatcher(c,i)?o=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,a))}this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(n,e,t){return t!==!1&&!this.tokenMatcher(this.LA(1),n)&&!this.isBackTracking()&&!this.canPerformInRuleRecovery(n,this.getFollowsForInRuleRecovery(n,e))}getFollowsForInRuleRecovery(n,e){const t=this.getCurrentGrammarPath(n,e);return this.getNextPossibleTokenTypes(t)}tryInRuleRecovery(n,e){if(this.canRecoverWithSingleTokenInsertion(n,e))return this.getTokenToInsert(n);if(this.canRecoverWithSingleTokenDeletion(n)){const t=this.SKIP_TOKEN();return this.consumeToken(),t}throw new gu("sad sad panda")}canPerformInRuleRecovery(n,e){return this.canRecoverWithSingleTokenInsertion(n,e)||this.canRecoverWithSingleTokenDeletion(n)}canRecoverWithSingleTokenInsertion(n,e){if(!this.canTokenTypeBeInsertedInRecovery(n)||M(e))return!1;const t=this.LA(1);return kt(e,r=>this.tokenMatcher(t,r))!==void 0}canRecoverWithSingleTokenDeletion(n){return!!this.canTokenTypeBeDeletedInRecovery(n)&&this.tokenMatcher(this.LA(2),n)}isInCurrentRuleReSyncSet(n){const e=this.getCurrFollowKey();return de(this.getFollowSetFromFollowKey(e),n)}findReSyncTokenType(){const n=this.flattenFollowSet();let e=this.LA(1),t=2;for(;;){const r=kt(n,i=>Ja(e,i));if(r!==void 0)return r;e=this.LA(t),t++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Qi;const n=this.getLastExplicitRuleShortName(),e=this.getLastExplicitRuleOccurrenceIndex(),t=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:e,inRule:this.shortRuleNameToFullName(t)}}buildFullFollowKeyStack(){const n=this.RULE_STACK,e=this.RULE_OCCURRENCE_STACK;return x(n,(t,r)=>r===0?Qi:{ruleName:this.shortRuleNameToFullName(t),idxInCallingRule:e[r],inRule:this.shortRuleNameToFullName(n[r-1])})}flattenFollowSet(){const n=x(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e));return Ne(n)}getFollowSetFromFollowKey(n){if(n===Qi)return[tt];const e=n.ruleName+n.idxInCallingRule+Na+n.inRule;return this.resyncFollows[e]}addToResyncTokens(n,e){return this.tokenMatcher(n,tt)||e.push(n),e}reSyncTo(n){const e=[];let t=this.LA(1);for(;this.tokenMatcher(t,n)===!1;)t=this.SKIP_TOKEN(),this.addToResyncTokens(t,e);return tn(e)}attemptInRepetitionRecovery(n,e,t,r,i,s,a){}getCurrentGrammarPath(n,e){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:Z(this.RULE_OCCURRENCE_STACK),lastTok:n,lastTokOccurrence:e}}getHumanReadableRuleStack(){return x(this.RULE_STACK,n=>this.shortRuleNameToFullName(n))}},class{initLooksAhead(n){this.dynamicTokensEnabled=C(n,"dynamicTokensEnabled")?n.dynamicTokensEnabled:ze.dynamicTokensEnabled,this.maxLookahead=C(n,"maxLookahead")?n.maxLookahead:ze.maxLookahead,this.lookaheadStrategy=C(n,"lookaheadStrategy")?n.lookaheadStrategy:new ts({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(n){I(n,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{const{alternation:t,repetition:r,option:i,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:o}=function(l){Mr.reset(),l.accept(Mr);const c=Mr.dslMethods;return Mr.reset(),c}(e);I(t,l=>{const c=l.idx===0?"":l.idx;this.TRACE_INIT(`${Fe(l)}${c}`,()=>{const u=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:e,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),h=es(this.fullRuleNameToShort[e.name],256,l.idx);this.setLaFuncCache(h,u)})}),I(r,l=>{this.computeLookaheadFunc(e,l.idx,768,"Repetition",l.maxLookahead,Fe(l))}),I(i,l=>{this.computeLookaheadFunc(e,l.idx,512,"Option",l.maxLookahead,Fe(l))}),I(s,l=>{this.computeLookaheadFunc(e,l.idx,Zi,"RepetitionMandatory",l.maxLookahead,Fe(l))}),I(a,l=>{this.computeLookaheadFunc(e,l.idx,Pr,"RepetitionMandatoryWithSeparator",l.maxLookahead,Fe(l))}),I(o,l=>{this.computeLookaheadFunc(e,l.idx,Ji,"RepetitionWithSeparator",l.maxLookahead,Fe(l))})})})}computeLookaheadFunc(n,e,t,r,i,s){this.TRACE_INIT(`${s}${e===0?"":e}`,()=>{const a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:e,rule:n,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:r}),o=es(this.fullRuleNameToShort[n.name],t,e);this.setLaFuncCache(o,a)})}getKeyForAutomaticLookahead(n,e){return es(this.getLastExplicitRuleShortName(),n,e)}getLaFuncFromCache(n){return this.lookAheadFuncsCache.get(n)}setLaFuncCache(n,e){this.lookAheadFuncsCache.set(n,e)}},class{initTreeBuilder(n){if(this.CST_STACK=[],this.outputCst=n.outputCst,this.nodeLocationTracking=C(n,"nodeLocationTracking")?n.nodeLocationTracking:ze.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ro,this.setNodeLocationFromNode=Ro,this.cstPostRule=q,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=q,this.setNodeLocationFromNode=q,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=To,this.setNodeLocationFromNode=To,this.cstPostRule=q,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=q,this.setNodeLocationFromNode=q,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${n.nodeLocationTracking}"`);this.setNodeLocationFromToken=q,this.setNodeLocationFromNode=q,this.cstPostRule=q,this.setInitialNodeLocation=q}else this.cstInvocationStateUpdate=q,this.cstFinallyStateUpdate=q,this.cstPostTerminal=q,this.cstPostNonTerminal=q,this.cstPostRule=q}setInitialNodeLocationOnlyOffsetRecovery(n){n.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(n){n.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(n){n.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(n){const e=this.LA(1);n.location={startOffset:e.startOffset,startLine:e.startLine,startColumn:e.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(n){const e={name:n,children:Object.create(null)};this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(n){const e=this.LA(0),t=n.location;t.startOffset<=e.startOffset==1?(t.endOffset=e.endOffset,t.endLine=e.endLine,t.endColumn=e.endColumn):(t.startOffset=NaN,t.startLine=NaN,t.startColumn=NaN)}cstPostRuleOnlyOffset(n){const e=this.LA(0),t=n.location;t.startOffset<=e.startOffset==1?t.endOffset=e.endOffset:t.startOffset=NaN}cstPostTerminal(n,e){const t=this.CST_STACK[this.CST_STACK.length-1];var r,i,s;i=e,s=n,(r=t).children[s]===void 0?r.children[s]=[i]:r.children[s].push(i),this.setNodeLocationFromToken(t.location,e)}cstPostNonTerminal(n,e){const t=this.CST_STACK[this.CST_STACK.length-1];(function(r,i,s){r.children[i]===void 0?r.children[i]=[s]:r.children[i].push(s)})(t,e,n),this.setNodeLocationFromNode(t.location,n.location)}getBaseCstVisitorConstructor(){if(Ve(this.baseCstVisitorConstructor)){const n=Ru(this.className,At(this.gastProductionsCache));return this.baseCstVisitorConstructor=n,n}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Ve(this.baseCstVisitorWithDefaultsConstructor)){const n=function(e,t,r){const i=function(){};vo(i,e+"BaseSemanticsWithDefaults");const s=Object.create(r.prototype);return I(t,a=>{s[a]=Tu}),(i.prototype=s).constructor=i,i}(this.className,At(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=n,n}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const n=this.RULE_STACK;return n[n.length-1]}getPreviousExplicitRuleShortName(){const n=this.RULE_STACK;return n[n.length-2]}getLastExplicitRuleOccurrenceIndex(){const n=this.RULE_OCCURRENCE_STACK;return n[n.length-1]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(n){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=n,this.tokVectorLength=n.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Ur}LA(n){const e=this.currIdx+n;return e<0||this.tokVectorLength<=e?Ur:this.tokVector[e]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(n){this.currIdx=n}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(n,e){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Cr,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},C(e,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
101
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
102
- For Further details.`);if(se(n)){if(M(n))throw Error(`A Token Vocabulary cannot be empty.
103
- Note that the first argument for the parser constructor
104
- is no longer a Token vector (since v4.0).`);if(typeof n[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
105
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
106
- For Further details.`)}if(se(n))this.tokensMap=ue(n,(r,i)=>(r[i.name]=i,r),{});else if(C(n,"modes")&&_e(Ne(Y(n.modes)),Yc)){const r=mi(Ne(Y(n.modes)));this.tokensMap=ue(r,(i,s)=>(i[s.name]=s,i),{})}else{if(!sc(n))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=Z(n)}this.tokensMap.EOF=tt;const t=_e(C(n,"modes")?Ne(Y(n.modes)):Y(n),r=>M(r.categoryMatches));this.tokenMatcher=t?Cr:Gn,Un(Y(this.tokensMap))}defineRule(n,e,t){if(this.selfAnalysisDone)throw Error(`Grammar rule <${n}> may not be defined after the 'performSelfAnalysis' method has been called'
107
- Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const r=C(t,"resyncEnabled")?t.resyncEnabled:Fr.resyncEnabled,i=C(t,"recoveryValueFunc")?t.recoveryValueFunc:Fr.recoveryValueFunc,s=this.ruleShortNameIdx<<12;let a;return this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=n,this.fullRuleNameToShort[n]=s,a=this.outputCst===!0?function(...o){try{this.ruleInvocationStateUpdate(s,n,this.subruleIdx),e.apply(this,o);const l=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(l),l}catch(l){return this.invokeRuleCatch(l,r,i)}finally{this.ruleFinallyStateUpdate()}}:function(...o){try{return this.ruleInvocationStateUpdate(s,n,this.subruleIdx),e.apply(this,o)}catch(l){return this.invokeRuleCatch(l,r,i)}finally{this.ruleFinallyStateUpdate()}},Object.assign(a,{ruleName:n,originalGrammarAction:e})}invokeRuleCatch(n,e,t){const r=this.RULE_STACK.length===1,i=e&&!this.isBackTracking()&&this.recoveryEnabled;if(_r(n)){const s=n;if(i){const a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a)){if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){const o=this.CST_STACK[this.CST_STACK.length-1];return o.recoveredNode=!0,o}return t(n)}if(this.outputCst){const o=this.CST_STACK[this.CST_STACK.length-1];o.recoveredNode=!0,s.partialCstResult=o}throw s}if(r)return this.moveToTerminatedState(),t(n);throw s}throw n}optionInternal(n,e){const t=this.getKeyForAutomaticLookahead(512,e);return this.optionInternalLogic(n,e,t)}optionInternalLogic(n,e,t){let r,i=this.getLaFuncFromCache(t);if(typeof n!="function"){r=n.DEF;const s=n.GATE;if(s!==void 0){const a=i;i=()=>s.call(this)&&a.call(this)}}else r=n;if(i.call(this)===!0)return r.call(this)}atLeastOneInternal(n,e){const t=this.getKeyForAutomaticLookahead(Zi,n);return this.atLeastOneInternalLogic(n,e,t)}atLeastOneInternalLogic(n,e,t){let r,i=this.getLaFuncFromCache(t);if(typeof e!="function"){r=e.DEF;const s=e.GATE;if(s!==void 0){const a=i;i=()=>s.call(this)&&a.call(this)}}else r=e;if(i.call(this)!==!0)throw this.raiseEarlyExitException(n,F.REPETITION_MANDATORY,e.ERR_MSG);{let s=this.doSingleRepetition(r);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(r)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[n,e],i,Zi,n,tu)}atLeastOneSepFirstInternal(n,e){const t=this.getKeyForAutomaticLookahead(Pr,n);this.atLeastOneSepFirstInternalLogic(n,e,t)}atLeastOneSepFirstInternalLogic(n,e,t){const r=e.DEF,i=e.SEP;if(this.getLaFuncFromCache(t).call(this)!==!0)throw this.raiseEarlyExitException(n,F.REPETITION_MANDATORY_WITH_SEPARATOR,e.ERR_MSG);{r.call(this);const s=()=>this.tokenMatcher(this.LA(1),i);for(;this.tokenMatcher(this.LA(1),i)===!0;)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[n,i,s,r,to],s,Pr,n,to)}}manyInternal(n,e){const t=this.getKeyForAutomaticLookahead(768,n);return this.manyInternalLogic(n,e,t)}manyInternalLogic(n,e,t){let r,i=this.getLaFuncFromCache(t);if(typeof e!="function"){r=e.DEF;const a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else r=e;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(r);this.attemptInRepetitionRecovery(this.manyInternal,[n,e],i,768,n,eu,s)}manySepFirstInternal(n,e){const t=this.getKeyForAutomaticLookahead(Ji,n);this.manySepFirstInternalLogic(n,e,t)}manySepFirstInternalLogic(n,e,t){const r=e.DEF,i=e.SEP;if(this.getLaFuncFromCache(t).call(this)===!0){r.call(this);const s=()=>this.tokenMatcher(this.LA(1),i);for(;this.tokenMatcher(this.LA(1),i)===!0;)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[n,i,s,r,eo],s,Ji,n,eo)}}repetitionSepSecondInternal(n,e,t,r,i){for(;t();)this.CONSUME(e),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[n,e,t,r,i],t,Pr,n,i)}doSingleRepetition(n){const e=this.getLexerPosition();return n.call(this),this.getLexerPosition()>e}orInternal(n,e){const t=this.getKeyForAutomaticLookahead(256,e),r=se(n)?n:n.DEF,i=this.getLaFuncFromCache(t).call(this,r);if(i!==void 0)return r[i].ALT.call(this);this.raiseNoAltException(e,n.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const n=this.LA(1),e=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:n,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new pu(e,n))}}subruleInternal(n,e,t){let r;try{const i=t!==void 0?t.ARGS:void 0;return this.subruleIdx=e,r=n.apply(this,i),this.cstPostNonTerminal(r,t!==void 0&&t.LABEL!==void 0?t.LABEL:n.ruleName),r}catch(i){throw this.subruleInternalError(i,t,n.ruleName)}}subruleInternalError(n,e,t){throw _r(n)&&n.partialCstResult!==void 0&&(this.cstPostNonTerminal(n.partialCstResult,e!==void 0&&e.LABEL!==void 0?e.LABEL:t),delete n.partialCstResult),n}consumeInternal(n,e,t){let r;try{const i=this.LA(1);this.tokenMatcher(i,n)===!0?(this.consumeToken(),r=i):this.consumeInternalError(n,i,t)}catch(i){r=this.consumeInternalRecovery(n,e,i)}return this.cstPostTerminal(t!==void 0&&t.LABEL!==void 0?t.LABEL:n.name,r),r}consumeInternalError(n,e,t){let r;const i=this.LA(0);throw r=t!==void 0&&t.ERR_MSG?t.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:e,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new go(r,e,i))}consumeInternalRecovery(n,e,t){if(!this.recoveryEnabled||t.name!=="MismatchedTokenException"||this.isBackTracking())throw t;{const r=this.getFollowsForInRuleRecovery(n,e);try{return this.tryInRuleRecovery(n,r)}catch(i){throw i.name===yo?t:i}}}saveRecogState(){const n=this.errors,e=Z(this.RULE_STACK);return{errors:n,lexerState:this.exportLexerState(),RULE_STACK:e,CST_STACK:this.CST_STACK}}reloadRecogState(n){this.errors=n.errors,this.importLexerState(n.lexerState),this.RULE_STACK=n.RULE_STACK}ruleInvocationStateUpdate(n,e,t){this.RULE_OCCURRENCE_STACK.push(t),this.RULE_STACK.push(n),this.cstInvocationStateUpdate(e)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const n=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[n]}shortRuleNameToFullName(n){return this.shortRuleNameToFull[n]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),tt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(n){return n.call(this)}consume(n,e,t){return this.consumeInternal(e,n,t)}subrule(n,e,t){return this.subruleInternal(e,n,t)}option(n,e){return this.optionInternal(e,n)}or(n,e){return this.orInternal(e,n)}many(n,e){return this.manyInternal(n,e)}atLeastOne(n,e){return this.atLeastOneInternal(n,e)}CONSUME(n,e){return this.consumeInternal(n,0,e)}CONSUME1(n,e){return this.consumeInternal(n,1,e)}CONSUME2(n,e){return this.consumeInternal(n,2,e)}CONSUME3(n,e){return this.consumeInternal(n,3,e)}CONSUME4(n,e){return this.consumeInternal(n,4,e)}CONSUME5(n,e){return this.consumeInternal(n,5,e)}CONSUME6(n,e){return this.consumeInternal(n,6,e)}CONSUME7(n,e){return this.consumeInternal(n,7,e)}CONSUME8(n,e){return this.consumeInternal(n,8,e)}CONSUME9(n,e){return this.consumeInternal(n,9,e)}SUBRULE(n,e){return this.subruleInternal(n,0,e)}SUBRULE1(n,e){return this.subruleInternal(n,1,e)}SUBRULE2(n,e){return this.subruleInternal(n,2,e)}SUBRULE3(n,e){return this.subruleInternal(n,3,e)}SUBRULE4(n,e){return this.subruleInternal(n,4,e)}SUBRULE5(n,e){return this.subruleInternal(n,5,e)}SUBRULE6(n,e){return this.subruleInternal(n,6,e)}SUBRULE7(n,e){return this.subruleInternal(n,7,e)}SUBRULE8(n,e){return this.subruleInternal(n,8,e)}SUBRULE9(n,e){return this.subruleInternal(n,9,e)}OPTION(n){return this.optionInternal(n,0)}OPTION1(n){return this.optionInternal(n,1)}OPTION2(n){return this.optionInternal(n,2)}OPTION3(n){return this.optionInternal(n,3)}OPTION4(n){return this.optionInternal(n,4)}OPTION5(n){return this.optionInternal(n,5)}OPTION6(n){return this.optionInternal(n,6)}OPTION7(n){return this.optionInternal(n,7)}OPTION8(n){return this.optionInternal(n,8)}OPTION9(n){return this.optionInternal(n,9)}OR(n){return this.orInternal(n,0)}OR1(n){return this.orInternal(n,1)}OR2(n){return this.orInternal(n,2)}OR3(n){return this.orInternal(n,3)}OR4(n){return this.orInternal(n,4)}OR5(n){return this.orInternal(n,5)}OR6(n){return this.orInternal(n,6)}OR7(n){return this.orInternal(n,7)}OR8(n){return this.orInternal(n,8)}OR9(n){return this.orInternal(n,9)}MANY(n){this.manyInternal(0,n)}MANY1(n){this.manyInternal(1,n)}MANY2(n){this.manyInternal(2,n)}MANY3(n){this.manyInternal(3,n)}MANY4(n){this.manyInternal(4,n)}MANY5(n){this.manyInternal(5,n)}MANY6(n){this.manyInternal(6,n)}MANY7(n){this.manyInternal(7,n)}MANY8(n){this.manyInternal(8,n)}MANY9(n){this.manyInternal(9,n)}MANY_SEP(n){this.manySepFirstInternal(0,n)}MANY_SEP1(n){this.manySepFirstInternal(1,n)}MANY_SEP2(n){this.manySepFirstInternal(2,n)}MANY_SEP3(n){this.manySepFirstInternal(3,n)}MANY_SEP4(n){this.manySepFirstInternal(4,n)}MANY_SEP5(n){this.manySepFirstInternal(5,n)}MANY_SEP6(n){this.manySepFirstInternal(6,n)}MANY_SEP7(n){this.manySepFirstInternal(7,n)}MANY_SEP8(n){this.manySepFirstInternal(8,n)}MANY_SEP9(n){this.manySepFirstInternal(9,n)}AT_LEAST_ONE(n){this.atLeastOneInternal(0,n)}AT_LEAST_ONE1(n){return this.atLeastOneInternal(1,n)}AT_LEAST_ONE2(n){this.atLeastOneInternal(2,n)}AT_LEAST_ONE3(n){this.atLeastOneInternal(3,n)}AT_LEAST_ONE4(n){this.atLeastOneInternal(4,n)}AT_LEAST_ONE5(n){this.atLeastOneInternal(5,n)}AT_LEAST_ONE6(n){this.atLeastOneInternal(6,n)}AT_LEAST_ONE7(n){this.atLeastOneInternal(7,n)}AT_LEAST_ONE8(n){this.atLeastOneInternal(8,n)}AT_LEAST_ONE9(n){this.atLeastOneInternal(9,n)}AT_LEAST_ONE_SEP(n){this.atLeastOneSepFirstInternal(0,n)}AT_LEAST_ONE_SEP1(n){this.atLeastOneSepFirstInternal(1,n)}AT_LEAST_ONE_SEP2(n){this.atLeastOneSepFirstInternal(2,n)}AT_LEAST_ONE_SEP3(n){this.atLeastOneSepFirstInternal(3,n)}AT_LEAST_ONE_SEP4(n){this.atLeastOneSepFirstInternal(4,n)}AT_LEAST_ONE_SEP5(n){this.atLeastOneSepFirstInternal(5,n)}AT_LEAST_ONE_SEP6(n){this.atLeastOneSepFirstInternal(6,n)}AT_LEAST_ONE_SEP7(n){this.atLeastOneSepFirstInternal(7,n)}AT_LEAST_ONE_SEP8(n){this.atLeastOneSepFirstInternal(8,n)}AT_LEAST_ONE_SEP9(n){this.atLeastOneSepFirstInternal(9,n)}RULE(n,e,t=Fr){if(de(this.definedRulesNames,n)){const i={message:yt.buildDuplicateRuleNameError({topLevelRule:n,grammarName:this.className}),type:fe.DUPLICATE_RULE_NAME,ruleName:n};this.definitionErrors.push(i)}this.definedRulesNames.push(n);const r=this.defineRule(n,e,t);return this[n]=r,r}OVERRIDE_RULE(n,e,t=Fr){const r=function(s,a,o){const l=[];let c;return de(a,s)||(c=`Invalid rule override, rule: ->${s}<- cannot be overridden in the grammar: ->${o}<-as it is not defined in any of the super grammars `,l.push({message:c,type:fe.INVALID_RULE_OVERRIDE,ruleName:s})),l}(n,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(r);const i=this.defineRule(n,e,t);return this[n]=i,i}BACKTRACK(n,e){return function(){this.isBackTrackingStack.push(1);const t=this.saveRecogState();try{return n.apply(this,e),!0}catch(r){if(_r(r))return!1;throw r}finally{this.reloadRecogState(t),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return n=Y(this.gastProductionsCache),x(n,vr);var n}},class{initErrorHandler(n){this._errors=[],this.errorMessageProvider=C(n,"errorMessageProvider")?n.errorMessageProvider:ze.errorMessageProvider}SAVE_ERROR(n){if(_r(n))return n.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Z(this.RULE_OCCURRENCE_STACK)},this._errors.push(n),n;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Z(this._errors)}set errors(n){this._errors=n}raiseEarlyExitException(n,e,t){const r=this.getCurrRuleFullName(),i=Lr(n,this.getGAstProductions()[r],e,this.maxLookahead)[0],s=[];for(let o=1;o<=this.maxLookahead;o++)s.push(this.LA(o));const a=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:s,previous:this.LA(0),customUserDescription:t,ruleName:r});throw this.SAVE_ERROR(new mu(a,this.LA(1),this.LA(0)))}raiseNoAltException(n,e){const t=this.getCurrRuleFullName(),r=wr(n,this.getGAstProductions()[t],this.maxLookahead),i=[];for(let o=1;o<=this.maxLookahead;o++)i.push(this.LA(o));const s=this.LA(0),a=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:r,actual:i,previous:s,customUserDescription:e,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new fu(a,this.LA(1),s))}},class{initContentAssist(){}computeContentAssist(n,e){const t=this.gastProductionsCache[n];if(Ve(t))throw Error(`Rule ->${n}<- does not exist in this grammar.`);return no([t],e,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(n){const e=be(n.ruleStack),t=this.getGAstProductions()[e];return new Jc(t,n).startWalking()}},class{initGastRecorder(n){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let n=0;n<10;n++){const e=n>0?n:"";this[`CONSUME${e}`]=function(t,r){return this.consumeInternalRecord(t,n,r)},this[`SUBRULE${e}`]=function(t,r){return this.subruleInternalRecord(t,n,r)},this[`OPTION${e}`]=function(t){return this.optionInternalRecord(t,n)},this[`OR${e}`]=function(t){return this.orInternalRecord(t,n)},this[`MANY${e}`]=function(t){this.manyInternalRecord(n,t)},this[`MANY_SEP${e}`]=function(t){this.manySepFirstInternalRecord(n,t)},this[`AT_LEAST_ONE${e}`]=function(t){this.atLeastOneInternalRecord(n,t)},this[`AT_LEAST_ONE_SEP${e}`]=function(t){this.atLeastOneSepFirstInternalRecord(n,t)}}this.consume=function(n,e,t){return this.consumeInternalRecord(e,n,t)},this.subrule=function(n,e,t){return this.subruleInternalRecord(e,n,t)},this.option=function(n,e){return this.optionInternalRecord(e,n)},this.or=function(n,e){return this.orInternalRecord(e,n)},this.many=function(n,e){this.manyInternalRecord(n,e)},this.atLeastOne=function(n,e){this.atLeastOneInternalRecord(n,e)},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 n=this;for(let e=0;e<10;e++){const t=e>0?e:"";delete n[`CONSUME${t}`],delete n[`SUBRULE${t}`],delete n[`OPTION${t}`],delete n[`OR${t}`],delete n[`MANY${t}`],delete n[`MANY_SEP${t}`],delete n[`AT_LEAST_ONE${t}`],delete n[`AT_LEAST_ONE_SEP${t}`]}delete n.consume,delete n.subrule,delete n.option,delete n.or,delete n.many,delete n.atLeastOne,delete n.ACTION,delete n.BACKTRACK,delete n.LA})}ACTION_RECORD(n){}BACKTRACK_RECORD(n,e){return()=>!0}LA_RECORD(n){return Ur}topLevelRuleRecord(n,e){try{const t=new wt({definition:[],name:n});return t.name=n,this.recordingProdStack.push(t),e.call(this),this.recordingProdStack.pop(),t}catch(t){if(t.KNOWN_RECORDER_ERROR!==!0)try{t.message=t.message+`
108
- This error was thrown during the "grammar recording phase" For more info see:
109
- https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw t}throw t}}optionInternalRecord(n,e){return Bn.call(this,te,n,e)}atLeastOneInternalRecord(n,e){Bn.call(this,Se,e,n)}atLeastOneSepFirstInternalRecord(n,e){Bn.call(this,Ie,e,n,$o)}manyInternalRecord(n,e){Bn.call(this,V,e,n)}manySepFirstInternalRecord(n,e){Bn.call(this,ye,e,n,$o)}orInternalRecord(n,e){return $u.call(this,n,e)}subruleInternalRecord(n,e,t){if(Gr(e),!n||C(n,"ruleName")===!1){const a=new Error(`<SUBRULE${xo(e)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(n)}>
110
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const r=xt(this.recordingProdStack),i=n.ruleName,s=new he({idx:e,nonTerminalName:i,label:t==null?void 0:t.LABEL,referencedRule:void 0});return r.definition.push(s),this.outputCst?vu:Dr}consumeInternalRecord(n,e,t){if(Gr(e),!Ba(n)){const s=new Error(`<CONSUME${xo(e)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(n)}>
111
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const r=xt(this.recordingProdStack),i=new D({idx:e,terminalType:n,label:t==null?void 0:t.LABEL});return r.definition.push(i),ko}},class{initPerformanceTracer(n){if(C(n,"traceInitPerf")){const e=n.traceInitPerf,t=typeof e=="number";this.traceInitMaxIdent=t?e:1/0,this.traceInitPerf=t?e>0:e}else this.traceInitMaxIdent=0,this.traceInitPerf=ze.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(n,e){if(this.traceInitPerf===!0){this.traceInitIndent++;const t=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${t}--> <${n}>`);const{time:r,value:i}=Sa(e),s=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${t}<-- <${n}> time: ${r}ms`),this.traceInitIndent--,i}return e()}}],So.forEach(n=>{const e=n.prototype;Object.getOwnPropertyNames(e).forEach(t=>{if(t==="constructor")return;const r=Object.getOwnPropertyDescriptor(e,t);r&&(r.get||r.set)?Object.defineProperty(rs.prototype,t,r):rs.prototype[t]=n.prototype[t]})});class Eu extends qn{constructor(e,t=ze){const r=Z(t);r.outputCst=!1,super(e,r)}}function bt(n,e,t){return`${n.name}_${e}_${t}`}class is{constructor(e){this.target=e}isEpsilon(){return!1}}class ss extends is{constructor(e,t){super(e),this.tokenType=t}}class Co extends is{constructor(e){super(e)}isEpsilon(){return!0}}class as extends is{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function Au(n){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};(function(r,i){const s=i.length;for(let a=0;a<s;a++){const o=i[a],l=X(r,o,void 0,{type:2}),c=X(r,o,void 0,{type:7});l.stop=c,r.ruleToStartState.set(o,l),r.ruleToStopState.set(o,c)}})(e,n);const t=n.length;for(let r=0;r<t;r++){const i=n[r],s=Tt(e,i,i);s!==void 0&&ku(e,i,s)}return e}function No(n,e,t){return t instanceof D?os(n,e,t.terminalType,t):t instanceof he?function(r,i,s){const a=s.referencedRule,o=r.ruleToStartState.get(a),l=X(r,i,s,{type:1}),c=X(r,i,s,{type:1}),u=new as(o,a,c);return ls(l,u),{left:l,right:c}}(n,e,t):t instanceof Te?function(r,i,s){const a=X(r,i,s,{type:1});nt(r,a);const o=x(s.definition,c=>No(r,i,c));return Pt(r,i,a,s,...o)}(n,e,t):t instanceof te?function(r,i,s){const a=X(r,i,s,{type:1});nt(r,a);const o=Pt(r,i,a,s,Tt(r,i,s));return function(l,c,u,h){const d=h.left,f=h.right;return j(d,f),l.decisionMap[bt(c,"Option",u.idx)]=d,h}(r,i,s,o)}(n,e,t):t instanceof V?function(r,i,s){const a=X(r,i,s,{type:5});nt(r,a);const o=Pt(r,i,a,s,Tt(r,i,s));return Lo(r,i,s,o)}(n,e,t):t instanceof ye?function(r,i,s){const a=X(r,i,s,{type:5});nt(r,a);const o=Pt(r,i,a,s,Tt(r,i,s)),l=os(r,i,s.separator,s);return Lo(r,i,s,o,l)}(n,e,t):t instanceof Se?function(r,i,s){const a=X(r,i,s,{type:4});nt(r,a);const o=Pt(r,i,a,s,Tt(r,i,s));return wo(r,i,s,o)}(n,e,t):t instanceof Ie?function(r,i,s){const a=X(r,i,s,{type:4});nt(r,a);const o=Pt(r,i,a,s,Tt(r,i,s)),l=os(r,i,s.separator,s);return wo(r,i,s,o,l)}(n,e,t):Tt(n,e,t)}function Tt(n,e,t){const r=Ee(x(t.definition,i=>No(n,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:function(i,s){const a=s.length;for(let c=0;c<a-1;c++){const u=s[c];let h;u.left.transitions.length===1&&(h=u.left.transitions[0]);const d=h instanceof as,f=h,p=s[c+1].left;u.left.type===1&&u.right.type===1&&h!==void 0&&(d&&f.followState===u.right||h.target===u.right)?(d?f.followState=p:h.target=p,xu(i,u.right)):j(u.right,p)}const o=s[0],l=s[a-1];return{left:o.left,right:l.right}}(n,r)}function wo(n,e,t,r,i){const s=r.left,a=r.right,o=X(n,e,t,{type:11});nt(n,o);const l=X(n,e,t,{type:12});return s.loopback=o,l.loopback=o,n.decisionMap[bt(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",t.idx)]=o,j(a,o),i===void 0?(j(o,s),j(o,l)):(j(o,l),j(o,i.left),j(i.right,s)),{left:s,right:l}}function Lo(n,e,t,r,i){const s=r.left,a=r.right,o=X(n,e,t,{type:10});nt(n,o);const l=X(n,e,t,{type:12}),c=X(n,e,t,{type:9});return o.loopback=c,l.loopback=c,j(o,s),j(o,l),j(a,c),i!==void 0?(j(c,l),j(c,i.left),j(i.right,s)):j(c,o),n.decisionMap[bt(e,i?"RepetitionWithSeparator":"Repetition",t.idx)]=o,{left:o,right:l}}function nt(n,e){return n.decisionStates.push(e),e.decision=n.decisionStates.length-1,e.decision}function Pt(n,e,t,r,...i){const s=X(n,e,r,{type:8,start:t});t.end=s;for(const o of i)o!==void 0?(j(t,o.left),j(o.right,s)):j(t,s);const a={left:t,right:s};return n.decisionMap[bt(e,function(o){if(o instanceof Te)return"Alternation";if(o instanceof te)return"Option";if(o instanceof V)return"Repetition";if(o instanceof ye)return"RepetitionWithSeparator";if(o instanceof Se)return"RepetitionMandatory";if(o instanceof Ie)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}(r),r.idx)]=t,a}function os(n,e,t,r){const i=X(n,e,r,{type:1}),s=X(n,e,r,{type:1});return ls(i,new ss(s,t)),{left:i,right:s}}function ku(n,e,t){const r=n.ruleToStartState.get(e);j(r,t.left);const i=n.ruleToStopState.get(e);return j(t.right,i),{left:r,right:i}}function j(n,e){ls(n,new Co(e))}function X(n,e,t,r){const i=Object.assign({atn:n,production:t,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:n.states.length},r);return n.states.push(i),i}function ls(n,e){n.transitions.length===0&&(n.epsilonOnlyTransitions=e.isEpsilon()),n.transitions.push(e)}function xu(n,e){n.states.splice(n.states.indexOf(e),1)}const Br={};class cs{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const t=Oo(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return x(this.configs,e=>e.alt)}get key(){let e="";for(const t in this.map)e+=t+":";return e}}function Oo(n,e=!0){return`${e?`a${n.alt}`:""}s${n.state.stateNumber}:${n.stack.map(t=>t.stateNumber.toString()).join("_")}`}function Su(n,e){const t={};return r=>{const i=r.toString();let s=t[i];return s!==void 0||(s={atnStartState:n,decision:e,states:{}},t[i]=s),s}}class _o{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="";const t=this.predicates.length;for(let r=0;r<t;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const bo=new _o;class Iu extends ts{constructor(e){var t;super(),this.logging=(t=e==null?void 0:e.logging)!==null&&t!==void 0?t:r=>console.log(r)}initialize(e){this.atn=Au(e.rules),this.dfas=function(t){const r=t.decisionStates.length,i=Array(r);for(let s=0;s<r;s++)i[s]=Su(t.decisionStates[s],s);return i}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:t,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=bt(r,"Alternation",t),c=this.atn.decisionMap[l].decision,u=x(ro({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),h=>x(h,d=>d[0]));if(Po(u,!1)&&!s){const h=ue(u,(d,f,p)=>(I(f,m=>{m&&(d[m.tokenTypeIdx]=p,I(m.categoryMatches,g=>{d[g]=p}))}),d),{});return i?function(d){var f;const p=this.LA(1),m=h[p.tokenTypeIdx];if(d!==void 0&&m!==void 0){const g=(f=d[m])===null||f===void 0?void 0:f.GATE;if(g!==void 0&&g.call(this)===!1)return}return m}:function(){const d=this.LA(1);return h[d.tokenTypeIdx]}}return i?function(h){const d=new _o,f=h===void 0?0:h.length;for(let m=0;m<f;m++){const g=h==null?void 0:h[m].GATE;d.set(m,g===void 0||g.call(this))}const p=us.call(this,a,c,d,o);return typeof p=="number"?p:void 0}:function(){const h=us.call(this,a,c,bo,o);return typeof h=="number"?h:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:t,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=bt(r,i,t),c=this.atn.decisionMap[l].decision,u=x(ro({maxLookahead:1,occurrence:t,prodType:i,rule:r}),h=>x(h,d=>d[0]));if(Po(u)&&u[0][0]&&!s){const h=u[0],d=Ne(h);if(d.length===1&&M(d[0].categoryMatches)){const f=d[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===f}}{const f=ue(d,(p,m)=>(m!==void 0&&(p[m.tokenTypeIdx]=!0,I(m.categoryMatches,g=>{p[g]=!0})),p),{});return function(){const p=this.LA(1);return f[p.tokenTypeIdx]===!0}}}return function(){const h=us.call(this,a,c,bo,o);return typeof h!="object"&&h===0}}}function Po(n,e=!0){const t=new Set;for(const r of n){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(t.has(o)){if(!i.has(o))return!1}else t.add(o),i.add(o)}}return!0}function us(n,e,t,r){const i=n[e](t);let s=i.start;return s===void 0&&(s=Go(i,Mo(bu(i.atnStartState))),i.start=s),Cu.apply(this,[i,s,t,r])}function Cu(n,e,t,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=Ou(i,o);if(l===void 0&&(l=Nu.apply(this,[n,i,o,s,t,r])),l===Br)return Lu(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function Nu(n,e,t,r,i,s){const a=function(c,u,h){const d=new cs,f=[];for(const m of c.elements){if(h.is(m.alt)===!1)continue;if(m.state.type===7){f.push(m);continue}const g=m.state.transitions.length;for(let R=0;R<g;R++){const y=_u(m.state.transitions[R],u);y!==void 0&&d.add({state:y,alt:m.alt,stack:m.stack})}}let p;if(f.length===0&&d.size===1&&(p=d),p===void 0){p=new cs;for(const m of d.elements)Kr(m,p)}if(f.length>0&&!function(m){for(const g of m.elements)if(g.state.type===7)return!0;return!1}(p))for(const m of f)p.add(m);return p}(e.configs,t,i);if(a.size===0)return Do(n,e,t,Br),Br;let o=Mo(a);const l=function(c,u){let h;for(const d of c.elements)if(u.is(d.alt)===!0){if(h===void 0)h=d.alt;else if(h!==d.alt)return}return h}(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(function(c){if(function(h){for(const d of h.elements)if(d.state.type!==7)return!1;return!0}(c))return!0;const u=function(h){const d=new Map;for(const f of h){const p=Oo(f,!1);let m=d.get(p);m===void 0&&(m={},d.set(p,m)),m[f.alt]=!0}return d}(c.elements);return function(h){for(const d of Array.from(h.values()))if(Object.keys(d).length>1)return!0;return!1}(u)&&!function(h){for(const d of Array.from(h.values()))if(Object.keys(d).length===1)return!0;return!1}(u)}(a)){const c=dc(a.alts);o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c,wu.apply(this,[n,r,a.alts,s])}return o=Do(n,e,t,o),o}function wu(n,e,t,r){const i=[];for(let a=1;a<=e;a++)i.push(this.LA(a).tokenType);const s=n.atnStartState;r(function(a){const o=x(a.prefixPath,u=>Ot(u)).join(", "),l=a.production.idx===0?"":a.production.idx;let c=`Ambiguous Alternatives Detected: <${a.ambiguityIndices.join(", ")}> in <${function(u){if(u instanceof he)return"SUBRULE";if(u instanceof te)return"OPTION";if(u instanceof Te)return"OR";if(u instanceof Se)return"AT_LEAST_ONE";if(u instanceof Ie)return"AT_LEAST_ONE_SEP";if(u instanceof ye)return"MANY_SEP";if(u instanceof V)return"MANY";if(u instanceof D)return"CONSUME";throw Error("non exhaustive match")}(a.production)}${l}> inside <${a.topLevelRule.name}> Rule,
112
- <${o}> may appears as a prefix path in all these alternatives.
113
- `;return c+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
114
- For Further details.`,c}({topLevelRule:s.rule,ambiguityIndices:t,production:s.production,prefixPath:i}))}function Lu(n,e,t){const r=ke(e.configs.elements,a=>a.state.transitions);var i,s;return{actualToken:t,possibleTokenTypes:(i=r.filter(a=>a instanceof ss).map(a=>a.tokenType),s=a=>a.tokenTypeIdx,i&&i.length?Xs(i,Jt(s)):[]),tokenPath:n}}function Ou(n,e){return n.edges[e.tokenTypeIdx]}function _u(n,e){if(n instanceof ss&&Ja(e,n.tokenType))return n.target}function Mo(n){return{configs:n,edges:{},isAcceptState:!1,prediction:-1}}function Do(n,e,t,r){return r=Go(n,r),e.edges[t.tokenTypeIdx]=r,r}function Go(n,e){if(e===Br)return e;const t=e.configs.key,r=n.states[t];return r!==void 0?r:(e.configs.finalize(),n.states[t]=e,e)}function bu(n){const e=new cs,t=n.transitions.length;for(let r=0;r<t;r++)Kr({state:n.transitions[r].target,alt:r,stack:[]},e);return e}function Kr(n,e){const t=n.state;if(t.type===7){if(n.stack.length>0){const i=[...n.stack];Kr({state:i.pop(),alt:n.alt,stack:i},e)}else e.add(n);return}t.epsilonOnlyTransitions||e.add(n);const r=t.transitions.length;for(let i=0;i<r;i++){const s=Pu(n,t.transitions[i]);s!==void 0&&Kr(s,e)}}function Pu(n,e){if(e instanceof Co)return{state:e.target,alt:n.alt,stack:n.stack};if(e instanceof as){const t=[...n.stack,e.followState];return{state:e.target,alt:n.alt,stack:t}}}class Mu{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new Fo(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const t=new hs;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){const r=new ds(e.startOffset,e.image.length,Ri(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const t=e.container;if(t){const r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){const t=[];for(const s of e){const a=new ds(s.startOffset,s.image.length,Ri(s),s.tokenType,!0);a.root=this.rootNode,t.push(a)}let r=this.current,i=!1;if(r.content.length>0)r.content.push(...t);else{for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...t),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...t)}}construct(e){const t=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=t;const r=this.nodeStack.pop();(r==null?void 0:r.content.length)===0&&this.removeNode(r)}}class Uo{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(t=this.container)===null||t===void 0?void 0:t.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class ds extends Uo{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,t,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=t,this._range=r}}class hs extends Uo{constructor(){super(...arguments),this.content=new Ms(this)}get children(){return this.content}get offset(){var e,t;return(t=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&t!==void 0?t:0}get length(){return this.end-this.offset}get end(){var e,t;return(t=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&t!==void 0?t:0}get range(){const e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=t;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}return{start:z.create(0,0),end:z.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class Ms extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Ms.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(const t of e)t.container=this.parent}}class Fo extends hs{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const fs=Symbol("Datatype");function ps(n){return n.$type===fs}const Bo=n=>n.endsWith("\u200B")?n:n+"\u200B";class Ko{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const t=this.lexer.definition,r=e.LanguageMetaData.mode==="production";this.wrapper=new Bu(t,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}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 Du extends Ko{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Mu,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(Bo(e.name),this.startImplementation(r,t).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(Aa(e))return fs;{const t=_i(e);return t??e.name}}}parse(e,t={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=t.rule?this.allRules.get(t.rule):this.mainRule;if(!i)throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,t){return r=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===fs&&(a.value="")}let s;try{s=t(r)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const t=this.lexerResult.hidden;if(!t.length)return[];const r=e.startOffset;for(let i=0;i<t.length;i++)if(t[i].startOffset>r)return t.splice(0,i);return t.splice(0,t.length)}consume(e,t,r){const i=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,isCrossRef:l}=this.getAssignment(r),c=this.current;if(o){const u=pt(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,l)}else if(ps(c)){let u=i.image;pt(r)||(u=this.converter.convert(u,a).toString()),c.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,r,i,s){let a;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,t,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,t,r){const{assignment:i,isCrossRef:s}=this.getAssignment(t);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(ps(a))a.value+=e.toString();else if(typeof e=="object"&&e){const o=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(o)}}}action(e,t){if(!this.isRecording()){let r=this.current;if(t.feature&&t.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode);const i={$type:e};this.stack.push(i),this.assign(t.operator,t.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return function(t){for(const[r,i]of Object.entries(t))r.startsWith("$")||(Array.isArray(i)?i.forEach((s,a)=>{ae(s)&&(s.$container=t,s.$containerProperty=r,s.$containerIndex=a)}):ae(i)&&(i.$container=t,i.$containerProperty=r))}(e),this.nodeBuilder.construct(e),this.stack.pop(),ps(e)?this.converter.convert(e.value,e.$cstNode):(function(t,r){const i=t.getTypeMetaData(r.$type),s=r;for(const a of i.properties)a.defaultValue!==void 0&&s[a.name]===void 0&&(s[a.name]=pa(a.defaultValue))}(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const t=pr(e,ft);this.assignmentMap.set(e,{assignment:t,isCrossRef:!!t&&xi(t.terminal)})}return this.assignmentMap.get(e)}assign(e,t,r,i,s){const a=this.current;let o;switch(o=s&&typeof r=="string"?this.linker.buildReference(a,t,i,r):r,e){case"=":a[t]=o;break;case"?=":a[t]=!0;break;case"+=":Array.isArray(a[t])||(a[t]=[]),a[t].push(o)}}assignWithoutOverride(e,t){for(const[i,s]of Object.entries(t)){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 Gu{buildMismatchTokenMessage(e){return _t.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return _t.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return _t.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return _t.buildEarlyExitMessage(e)}}class Vo extends Gu{buildMismatchTokenMessage({expected:e,actual:t}){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 \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class Uu extends Ko{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.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,t){const r=this.wrapper.DEFINE_RULE(Bo(e.name),this.startImplementation(t).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 t=>{const r=this.keepStackSize();try{e(t)}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,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,t,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}const Fu={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Vo};class Bu extends Eu{constructor(e,t){const r=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},Fu),{lookaheadStrategy:r?new ts({maxLookahead:t.maxLookahead}):new Iu({logging:t.skipValidations?()=>{}:void 0})}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}}function Ho(n,e,t){return function(r,i){const s=Ta(i,!1),a=ee(i.rules).filter(we).filter(o=>s.has(o));for(const o of a){const l=Object.assign(Object.assign({},r),{consume:1,optional:1,subrule:1,many:1,or:1});r.parser.rule(o,Rt(l,o.definition))}}({parser:e,tokens:t,ruleNames:new Map},n),e}function Rt(n,e,t=!1){let r;if(pt(e))r=function(s,a){const o=s.consume++,l=s.tokens[a.value];if(!l)throw new Error("Could not find token for keyword: "+a.value);return()=>s.parser.consume(o,l,a)}(n,e);else if(fr(e))r=function(s,a){const o=bi(a);return()=>s.parser.action(o,a)}(n,e);else if(ft(e))r=Rt(n,e.terminal);else if(xi(e))r=jo(n,e);else if(mt(e))r=function(s,a){const o=a.rule.ref;if(we(o)){const l=s.subrule++,c=o.fragment,u=a.arguments.length>0?function(h,d){const f=d.map(p=>Ye(p.value));return p=>{const m={};for(let g=0;g<f.length;g++){const R=h.parameters[g],y=f[g];m[R.name]=y(p)}return m}}(o,a.arguments):()=>({});return h=>s.parser.subrule(l,zo(s,o),c,a,u(h))}if(ht(o)){const l=s.consume++,c=ms(s,o.name);return()=>s.parser.consume(l,c,a)}if(!o)throw new ia(a.$cstNode,`Undefined rule: ${a.rule.$refText}`);rn()}(n,e);else if(ca(e))r=function(s,a){if(a.elements.length===1)return Rt(s,a.elements[0]);{const o=[];for(const c of a.elements){const u={ALT:Rt(s,c,!0)},h=Vr(c);h&&(u.GATE=Ye(h)),o.push(u)}const l=s.or++;return c=>s.parser.alternatives(l,o.map(u=>{const h={ALT:()=>u.ALT(c)},d=u.GATE;return d&&(h.GATE=()=>d(c)),h}))}}(n,e);else if(ua(e))r=function(s,a){if(a.elements.length===1)return Rt(s,a.elements[0]);const o=[];for(const d of a.elements){const f={ALT:Rt(s,d,!0)},p=Vr(d);p&&(f.GATE=Ye(p)),o.push(f)}const l=s.or++,c=(d,f)=>`uGroup_${d}_${f.getRuleStack().join("-")}`,u=d=>s.parser.alternatives(l,o.map((f,p)=>{const m={ALT:()=>!0},g=s.parser;m.ALT=()=>{if(f.ALT(d),!g.isRecording()){const y=c(l,g);g.unorderedGroups.get(y)||g.unorderedGroups.set(y,[]);const T=g.unorderedGroups.get(y);(T==null?void 0:T[p])===void 0&&(T[p]=!0)}};const R=f.GATE;return m.GATE=R?()=>R(d):()=>{const y=g.unorderedGroups.get(c(l,g));return!(y!=null&&y[p])},m})),h=Wo(s,Vr(a),u,"*");return d=>{h(d),s.parser.isRecording()||s.parser.unorderedGroups.delete(c(l,s.parser))}}(n,e);else if(Si(e))r=function(s,a){const o=a.elements.map(l=>Rt(s,l));return l=>o.forEach(c=>c(l))}(n,e);else{if(i=e,!b.isInstance(i,$n))throw new ia(e.$cstNode,`Unexpected element type: ${e.$type}`);{const s=n.consume++;r=()=>n.parser.consume(s,tt,e)}}var i;return Wo(n,t?void 0:Vr(e),r,e.cardinality)}function Ye(n){if(e=n,b.isInstance(e,ln)){const t=Ye(n.left),r=Ye(n.right);return i=>t(i)||r(i)}if(function(t){return b.isInstance(t,on)}(n)){const t=Ye(n.left),r=Ye(n.right);return i=>t(i)&&r(i)}if(function(t){return b.isInstance(t,dn)}(n)){const t=Ye(n.value);return r=>!t(r)}if(function(t){return b.isInstance(t,hn)}(n)){const t=n.parameter.ref.name;return r=>r!==void 0&&r[t]===!0}if(function(t){return b.isInstance(t,an)}(n)){const t=!!n.true;return()=>t}var e;rn()}function Vr(n){if(Si(n))return n.guardCondition}function jo(n,e,t=e.terminal){if(t){if(mt(t)&&we(t.rule.ref)){const r=t.rule.ref,i=n.subrule++;return s=>n.parser.subrule(i,zo(n,r),!1,e,s)}if(mt(t)&&ht(t.rule.ref)){const r=n.consume++,i=ms(n,t.rule.ref.name);return()=>n.parser.consume(r,i,e)}if(pt(t)){const r=n.consume++,i=ms(n,t.value);return()=>n.parser.consume(r,i,e)}throw new Error("Could not build cross reference parser")}{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=$a(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+bi(e.type.ref));return jo(n,e,i)}}function Wo(n,e,t,r){const i=e&&Ye(e);if(!r){if(i){const s=n.or++;return a=>n.parser.alternatives(s,[{ALT:()=>t(a),GATE:()=>i(a)},{ALT:Io(),GATE:()=>!i(a)}])}return t}if(r==="*"){const s=n.many++;return a=>n.parser.many(s,{DEF:()=>t(a),GATE:i?()=>i(a):void 0})}if(r==="+"){const s=n.many++;if(i){const a=n.or++;return o=>n.parser.alternatives(a,[{ALT:()=>n.parser.atLeastOne(s,{DEF:()=>t(o)}),GATE:()=>i(o)},{ALT:Io(),GATE:()=>!i(o)}])}return a=>n.parser.atLeastOne(s,{DEF:()=>t(a)})}if(r==="?"){const s=n.optional++;return a=>n.parser.optional(s,{DEF:()=>t(a),GATE:i?()=>i(a):void 0})}rn()}function zo(n,e){const t=function(i,s){if(we(s))return s.name;if(i.ruleNames.has(s))return i.ruleNames.get(s);{let a=s,o=a.$container,l=s.$type;for(;!we(o);)(Si(o)||ca(o)||ua(o))&&(l=o.elements.indexOf(a).toString()+":"+l),a=o,o=o.$container;return l=o.name+":"+l,i.ruleNames.set(s,l),l}}(n,e),r=n.parser.getRule(t);if(!r)throw new Error(`Rule "${t}" not found."`);return r}function ms(n,e){const t=n.tokens[e];if(!t)throw new Error(`Token "${e}" not found."`);return t}function Ku(n){const e=function(t){const r=t.Grammar,i=t.parser.Lexer,s=new Du(t);return Ho(r,s,i.definition)}(n);return e.finalize(),e}class Yo{constructor(){this.diagnostics=[]}buildTokens(e,t){const r=ee(Ta(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,t);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&Li(o)?s.unshift(a):s.push(a)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ht).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){const t=Pi(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Li(t)?Re.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!(!e.flags.includes("u")&&!e.flags.includes("s"))||!(!e.source.includes("?<=")&&!e.source.includes("?<!"))}regexPatternFunction(e){const t=new RegExp(e,e.flags+"y");return(r,i)=>(t.lastIndex=i,t.exec(r))}buildKeywordTokens(e,t,r){return e.filter(we).flatMap(i=>_n(i).filter(pt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,t,!!(r!=null&&r.caseInsensitive)))}buildKeywordToken(e,t,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,t)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,t){return t?new RegExp(function(r){return Array.prototype.map.call(r,i=>/\w/.test(i)?`[${i.toLowerCase()}${i.toUpperCase()}]`:Rr(i)).join("")}(e.value)):e.value}findLongerAlt(e,t){return t.reduce((r,i)=>{const s=i==null?void 0:i.PATTERN;return s!=null&&s.source&&_c("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class qo{convert(e,t){let r=t.grammarSource;if(xi(r)&&(r=function(i){if(i.terminal)return i.terminal;if(i.type.ref){const s=$a(i.type.ref);return s==null?void 0:s.terminal}}(r)),mt(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,t)}return e}runConverter(e,t,r){var i;switch(e.name.toUpperCase()){case"INT":return qe.convertInt(t);case"STRING":return qe.convertString(t);case"ID":return qe.convertID(t)}switch((i=function(s){var a,o,l;return ht(s)?(o=(a=s.type)===null||a===void 0?void 0:a.name)!==null&&o!==void 0?o:"string":(l=_i(s))!==null&&l!==void 0?l:s.name}(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return qe.convertNumber(t);case"boolean":return qe.convertBoolean(t);case"bigint":return qe.convertBigint(t);case"date":return qe.convertDate(t);default:return t}}}var qe;(function(n){function e(t){switch(t){case"b":return"\b";case"f":return"\f";case"n":return`
115
- `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return t}}n.convertString=function(t){let r="";for(let i=1;i<t.length-1;i++){const s=t.charAt(i);s==="\\"?r+=e(t.charAt(++i)):r+=s}return r},n.convertID=function(t){return t.charAt(0)==="^"?t.substring(1):t},n.convertInt=function(t){return parseInt(t)},n.convertBigint=function(t){return BigInt(t)},n.convertDate=function(t){return new Date(t)},n.convertNumber=function(t){return Number(t)},n.convertBoolean=function(t){return t.toLowerCase()==="true"}})(qe||(qe={}));var B=ac();let Hr=0;const jr=Symbol("OperationCancelled");function Wr(n){return n===jr}async function Ce(n){if(n===B.CancellationToken.None)return;const e=performance.now();if(e-Hr>=10&&(Hr=e,await new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)}),Hr=performance.now()),n.isCancellationRequested)throw jr}class gs{constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>(e(r),this),this.reject=r=>(t(r),this)})}}class Xn{constructor(e,t,r,i){this._uri=e,this._languageId=t,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 t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(const r of e)if(Xn.isIncremental(r)){const i=Jo(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),l=Math.max(i.end.line,0);let c=this._lineOffsets;const u=Qo(r.text,!1,s);if(l-o===u.length)for(let d=0,f=u.length;d<f;d++)c[d+o+1]=u[d];else u.length<1e4?c.splice(o+1,l-o,...u):this._lineOffsets=c=c.slice(0,o+1).concat(u,c.slice(l+1));const h=r.text.length-(a-s);if(h!==0)for(let d=o+1+u.length,f=c.length;d<f;d++)c[d]=c[d]+h}else{if(!Xn.isFull(r))throw new Error("Unknown change event received");this._content=r.text,this._lineOffsets=void 0}this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Qo(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const t=this.getLineOffsets();let r=0,i=t.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);t[a]>e?i=a:r=a+1}const s=r-1;return{line:s,character:(e=this.ensureBeforeEOL(e,t[s]))-t[s]}}offsetAt(e){const t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;const r=t[e.line];if(e.character<=0)return r;const i=e.line+1<t.length?t[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,t){for(;e>t&&Zo(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const t=e;return t!=null&&typeof t.text=="string"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength=="number")}static isFull(e){const t=e;return t!=null&&typeof t.text=="string"&&t.range===void 0&&t.rangeLength===void 0}}var ys,Xo;function Ts(n,e){if(n.length<=1)return n;const t=n.length/2|0,r=n.slice(0,t),i=n.slice(t);Ts(r,e),Ts(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;){const l=e(r[s],i[a]);n[o++]=l<=0?r[s++]:i[a++]}for(;s<r.length;)n[o++]=r[s++];for(;a<i.length;)n[o++]=i[a++];return n}function Qo(n,e,t=0){const r=e?[t]:[];for(let i=0;i<n.length;i++){const s=n.charCodeAt(i);Zo(s)&&(s===13&&i+1<n.length&&n.charCodeAt(i+1)===10&&i++,r.push(t+i+1))}return r}function Zo(n){return n===13||n===10}function Jo(n){const e=n.start,t=n.end;return e.line>t.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:n}function Vu(n){const e=Jo(n.range);return e!==n.range?{newText:n.newText,range:e}:n}(function(n){n.create=function(e,t,r,i){return new Xn(e,t,r,i)},n.update=function(e,t,r){if(e instanceof Xn)return e.update(t,r),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},n.applyEdits=function(e,t){const r=e.getText(),i=Ts(t.map(Vu),(o,l)=>{const c=o.range.start.line-l.range.start.line;return c===0?o.range.start.character-l.range.start.character:c});let s=0;const a=[];for(const o of i){const l=e.offsetAt(o.range.start);if(l<s)throw new Error("Overlapping edit");l>s&&a.push(r.substring(s,l)),o.newText.length&&a.push(o.newText),s=e.offsetAt(o.range.end)}return a.push(r.substr(s)),a.join("")}})(ys||(ys={})),(()=>{var n={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,c){for(var u,h="",d=0,f=-1,p=0,m=0;m<=l.length;++m){if(m<l.length)u=l.charCodeAt(m);else{if(u===47)break;u=47}if(u===47){if(!(f===m-1||p===1))if(f!==m-1&&p===2){if(h.length<2||d!==2||h.charCodeAt(h.length-1)!==46||h.charCodeAt(h.length-2)!==46){if(h.length>2){var g=h.lastIndexOf("/");if(g!==h.length-1){g===-1?(h="",d=0):d=(h=h.slice(0,g)).length-1-h.lastIndexOf("/"),f=m,p=0;continue}}else if(h.length===2||h.length===1){h="",d=0,f=m,p=0;continue}}c&&(h.length>0?h+="/..":h="..",d=2)}else h.length>0?h+="/"+l.slice(f+1,m):h=l.slice(f+1,m),d=m-f-1;f=m,p=0}else u===46&&p!==-1?++p:p=-1}return h}var o={resolve:function(){for(var l,c="",u=!1,h=arguments.length-1;h>=-1&&!u;h--){var d;h>=0?d=arguments[h]:(l===void 0&&(l=process.cwd()),d=l),s(d),d.length!==0&&(c=d+"/"+c,u=d.charCodeAt(0)===47)}return c=a(c,!u),u?c.length>0?"/"+c:"/":c.length>0?c:"."},normalize:function(l){if(s(l),l.length===0)return".";var c=l.charCodeAt(0)===47,u=l.charCodeAt(l.length-1)===47;return(l=a(l,!c)).length!==0||c||(l="."),l.length>0&&u&&(l+="/"),c?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,c=0;c<arguments.length;++c){var u=arguments[c];s(u),u.length>0&&(l===void 0?l=u:l+="/"+u)}return l===void 0?".":o.normalize(l)},relative:function(l,c){if(s(l),s(c),l===c||(l=o.resolve(l))===(c=o.resolve(c)))return"";for(var u=1;u<l.length&&l.charCodeAt(u)===47;++u);for(var h=l.length,d=h-u,f=1;f<c.length&&c.charCodeAt(f)===47;++f);for(var p=c.length-f,m=d<p?d:p,g=-1,R=0;R<=m;++R){if(R===m){if(p>m){if(c.charCodeAt(f+R)===47)return c.slice(f+R+1);if(R===0)return c.slice(f+R)}else d>m&&(l.charCodeAt(u+R)===47?g=R:R===0&&(g=0));break}var y=l.charCodeAt(u+R);if(y!==c.charCodeAt(f+R))break;y===47&&(g=R)}var T="";for(R=u+g+1;R<=h;++R)R!==h&&l.charCodeAt(R)!==47||(T.length===0?T+="..":T+="/..");return T.length>0?T+c.slice(f+g):(f+=g,c.charCodeAt(f)===47&&++f,c.slice(f))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var c=l.charCodeAt(0),u=c===47,h=-1,d=!0,f=l.length-1;f>=1;--f)if((c=l.charCodeAt(f))===47){if(!d){h=f;break}}else d=!1;return h===-1?u?"/":".":u&&h===1?"//":l.slice(0,h)},basename:function(l,c){if(c!==void 0&&typeof c!="string")throw new TypeError('"ext" argument must be a string');s(l);var u,h=0,d=-1,f=!0;if(c!==void 0&&c.length>0&&c.length<=l.length){if(c.length===l.length&&c===l)return"";var p=c.length-1,m=-1;for(u=l.length-1;u>=0;--u){var g=l.charCodeAt(u);if(g===47){if(!f){h=u+1;break}}else m===-1&&(f=!1,m=u+1),p>=0&&(g===c.charCodeAt(p)?--p==-1&&(d=u):(p=-1,d=m))}return h===d?d=m:d===-1&&(d=l.length),l.slice(h,d)}for(u=l.length-1;u>=0;--u)if(l.charCodeAt(u)===47){if(!f){h=u+1;break}}else d===-1&&(f=!1,d=u+1);return d===-1?"":l.slice(h,d)},extname:function(l){s(l);for(var c=-1,u=0,h=-1,d=!0,f=0,p=l.length-1;p>=0;--p){var m=l.charCodeAt(p);if(m!==47)h===-1&&(d=!1,h=p+1),m===46?c===-1?c=p:f!==1&&(f=1):c!==-1&&(f=-1);else if(!d){u=p+1;break}}return c===-1||h===-1||f===0||f===1&&c===h-1&&c===u+1?"":l.slice(c,h)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(c,u){var h=u.dir||u.root,d=u.base||(u.name||"")+(u.ext||"");return h?h===u.root?h+d:h+"/"+d:d}(0,l)},parse:function(l){s(l);var c={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return c;var u,h=l.charCodeAt(0),d=h===47;d?(c.root="/",u=1):u=0;for(var f=-1,p=0,m=-1,g=!0,R=l.length-1,y=0;R>=u;--R)if((h=l.charCodeAt(R))!==47)m===-1&&(g=!1,m=R+1),h===46?f===-1?f=R:y!==1&&(y=1):f!==-1&&(y=-1);else if(!g){p=R+1;break}return f===-1||m===-1||y===0||y===1&&f===m-1&&f===p+1?m!==-1&&(c.base=c.name=p===0&&d?l.slice(1,m):l.slice(p,m)):(p===0&&d?(c.name=l.slice(1,f),c.base=l.slice(1,m)):(c.name=l.slice(p,f),c.base=l.slice(p,m)),c.ext=l.slice(f,m)),p>0?c.dir=l.slice(0,p-1):d&&(c.dir="/"),c},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function t(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return n[i](a,a.exports,t),a.exports}t.d=(i,s)=>{for(var a in s)t.o(s,a)&&!t.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},t.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),t.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;t.r(r),t.d(r,{URI:()=>d,Utils:()=>pe}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function l(E,v){if(!E.scheme&&v)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${E.authority}", path: "${E.path}", query: "${E.query}", fragment: "${E.fragment}"}`);if(E.scheme&&!s.test(E.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(E.path){if(E.authority){if(!a.test(E.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(E.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const c="",u="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(v,A,S,O,L,w=!1){Ze(this,"scheme");Ze(this,"authority");Ze(this,"path");Ze(this,"query");Ze(this,"fragment");typeof v=="object"?(this.scheme=v.scheme||c,this.authority=v.authority||c,this.path=v.path||c,this.query=v.query||c,this.fragment=v.fragment||c):(this.scheme=function(ve,ie){return ve||ie?ve:"file"}(v,w),this.authority=A||c,this.path=function(ve,ie){switch(ve){case"https":case"http":case"file":ie?ie[0]!==u&&(ie=u+ie):ie=u}return ie}(this.scheme,S||c),this.query=O||c,this.fragment=L||c,l(this,w))}static isUri(v){return v instanceof d||!!v&&typeof v.authority=="string"&&typeof v.fragment=="string"&&typeof v.path=="string"&&typeof v.query=="string"&&typeof v.scheme=="string"&&typeof v.fsPath=="string"&&typeof v.with=="function"&&typeof v.toString=="function"}get fsPath(){return y(this)}with(v){if(!v)return this;let{scheme:A,authority:S,path:O,query:L,fragment:w}=v;return A===void 0?A=this.scheme:A===null&&(A=c),S===void 0?S=this.authority:S===null&&(S=c),O===void 0?O=this.path:O===null&&(O=c),L===void 0?L=this.query:L===null&&(L=c),w===void 0?w=this.fragment:w===null&&(w=c),A===this.scheme&&S===this.authority&&O===this.path&&L===this.query&&w===this.fragment?this:new p(A,S,O,L,w)}static parse(v,A=!1){const S=h.exec(v);return S?new p(S[2]||c,P(S[4]||c),P(S[5]||c),P(S[7]||c),P(S[9]||c),A):new p(c,c,c,c,c)}static file(v){let A=c;if(i&&(v=v.replace(/\\/g,u)),v[0]===u&&v[1]===u){const S=v.indexOf(u,2);S===-1?(A=v.substring(2),v=u):(A=v.substring(2,S),v=v.substring(S)||u)}return new p("file",A,v,c,c)}static from(v){const A=new p(v.scheme,v.authority,v.path,v.query,v.fragment);return l(A,!0),A}toString(v=!1){return T(this,v)}toJSON(){return this}static revive(v){if(v){if(v instanceof d)return v;{const A=new p(v);return A._formatted=v.external,A._fsPath=v._sep===f?v.fsPath:null,A}}return v}}const f=i?1:void 0;class p extends d{constructor(){super(...arguments);Ze(this,"_formatted",null);Ze(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=y(this)),this._fsPath}toString(A=!1){return A?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){const A={$mid:1};return this._fsPath&&(A.fsPath=this._fsPath,A._sep=f),this._formatted&&(A.external=this._formatted),this.path&&(A.path=this.path),this.scheme&&(A.scheme=this.scheme),this.authority&&(A.authority=this.authority),this.query&&(A.query=this.query),this.fragment&&(A.fragment=this.fragment),A}}const m={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 g(E,v,A){let S,O=-1;for(let L=0;L<E.length;L++){const w=E.charCodeAt(L);if(w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===45||w===46||w===95||w===126||v&&w===47||A&&w===91||A&&w===93||A&&w===58)O!==-1&&(S+=encodeURIComponent(E.substring(O,L)),O=-1),S!==void 0&&(S+=E.charAt(L));else{S===void 0&&(S=E.substr(0,L));const ve=m[w];ve!==void 0?(O!==-1&&(S+=encodeURIComponent(E.substring(O,L)),O=-1),S+=ve):O===-1&&(O=L)}}return O!==-1&&(S+=encodeURIComponent(E.substring(O))),S!==void 0?S:E}function R(E){let v;for(let A=0;A<E.length;A++){const S=E.charCodeAt(A);S===35||S===63?(v===void 0&&(v=E.substr(0,A)),v+=m[S]):v!==void 0&&(v+=E[A])}return v!==void 0?v:E}function y(E,v){let A;return A=E.authority&&E.path.length>1&&E.scheme==="file"?`//${E.authority}${E.path}`:E.path.charCodeAt(0)===47&&(E.path.charCodeAt(1)>=65&&E.path.charCodeAt(1)<=90||E.path.charCodeAt(1)>=97&&E.path.charCodeAt(1)<=122)&&E.path.charCodeAt(2)===58?E.path[1].toLowerCase()+E.path.substr(2):E.path,i&&(A=A.replace(/\//g,"\\")),A}function T(E,v){const A=v?R:g;let S="",{scheme:O,authority:L,path:w,query:ve,fragment:ie}=E;if(O&&(S+=O,S+=":"),(L||O==="file")&&(S+=u,S+=u),L){let K=L.indexOf("@");if(K!==-1){const lt=L.substr(0,K);L=L.substr(K+1),K=lt.lastIndexOf(":"),K===-1?S+=A(lt,!1,!1):(S+=A(lt.substr(0,K),!1,!1),S+=":",S+=A(lt.substr(K+1),!1,!0)),S+="@"}L=L.toLowerCase(),K=L.lastIndexOf(":"),K===-1?S+=A(L,!1,!0):(S+=A(L.substr(0,K),!1,!0),S+=L.substr(K))}if(w){if(w.length>=3&&w.charCodeAt(0)===47&&w.charCodeAt(2)===58){const K=w.charCodeAt(1);K>=65&&K<=90&&(w=`/${String.fromCharCode(K+32)}:${w.substr(3)}`)}else if(w.length>=2&&w.charCodeAt(1)===58){const K=w.charCodeAt(0);K>=65&&K<=90&&(w=`${String.fromCharCode(K+32)}:${w.substr(2)}`)}S+=A(w,!0,!1)}return ve&&(S+="?",S+=A(ve,!1,!1)),ie&&(S+="#",S+=v?ie:g(ie,!1,!1)),S}function k(E){try{return decodeURIComponent(E)}catch{return E.length>3?E.substr(0,3)+k(E.substr(3)):E}}const _=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function P(E){return E.match(_)?E.replace(_,v=>k(v)):E}var G=t(470);const Q=G.posix||G,re="/";var pe;(function(E){E.joinPath=function(v,...A){return v.with({path:Q.join(v.path,...A)})},E.resolvePath=function(v,...A){let S=v.path,O=!1;S[0]!==re&&(S=re+S,O=!0);let L=Q.resolve(S,...A);return O&&L[0]===re&&!v.authority&&(L=L.substring(1)),v.with({path:L})},E.dirname=function(v){if(v.path.length===0||v.path===re)return v;let A=Q.dirname(v.path);return A.length===1&&A.charCodeAt(0)===46&&(A=""),v.with({path:A})},E.basename=function(v){return Q.basename(v.path)},E.extname=function(v){return Q.extname(v.path)}})(pe||(pe={}))})(),Xo=r})();const{URI:vt,Utils:Kn}=Xo;var rt,U;(function(n){n.basename=Kn.basename,n.dirname=Kn.dirname,n.extname=Kn.extname,n.joinPath=Kn.joinPath,n.resolvePath=Kn.resolvePath,n.equals=function(e,t){return(e==null?void 0:e.toString())===(t==null?void 0:t.toString())},n.relative=function(e,t){const r=typeof e=="string"?e:e.path,i=typeof t=="string"?t:t.path,s=r.split("/").filter(l=>l.length>0),a=i.split("/").filter(l=>l.length>0);let o=0;for(;o<s.length&&s[o]===a[o];o++);return"../".repeat(s.length-o)+a.slice(o).join("/")},n.normalize=function(e){return vt.parse(e.toString()).toString()}})(rt||(rt={})),function(n){n[n.Changed=0]="Changed",n[n.Parsed=1]="Parsed",n[n.IndexedContent=2]="IndexedContent",n[n.ComputedScopes=3]="ComputedScopes",n[n.Linked=4]="Linked",n[n.IndexedReferences=5]="IndexedReferences",n[n.Validated=6]="Validated"}(U||(U={}));class Hu{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=B.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=t??vt.parse(e.uri),B.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return B.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if(typeof t=="string"){const i=this.parse(e,t,r);return this.createLangiumDocument(i,e,void 0,t)}if("$model"in t){const i={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}{const i=this.parse(e,t.getText(),r);return this.createLangiumDocument(i,e,t)}}async createAsync(e,t,r){if(typeof t=="string"){const i=await this.parseAsync(e,t,r);return this.createLangiumDocument(i,e,void 0,t)}{const i=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(i,e,t)}}createLangiumDocument(e,t,r,i){let s;if(r)s={parseResult:e,uri:t,state:U.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(t,i);s={parseResult:e,uri:t,state:U.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,t){var r,i;const s=(r=e.parseResult.value.$cstNode)===null||r===void 0?void 0:r.root.fullText,a=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{const l=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:l})}return s!==o&&(e.parseResult=await this.parseAsync(e.uri,o,t),e.parseResult.value.$document=e),e.state=U.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){const r=this.serviceRegistry;let i;return()=>i??(i=ys.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}}class ju{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return ee(this.documentMap.values())}addDocument(e){const t=e.uri.toString();if(this.documentMap.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){const t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r),r)}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const t=e.toString(),r=this.documentMap.get(t);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=U.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=U.Changed,this.documentMap.delete(t)),r}}const Rs=Symbol("ref_resolving");class Wu{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=B.CancellationToken.None){for(const r of It(e.parseResult.value))await Ce(t),fa(r).forEach(i=>this.doLink(i,e))}doLink(e,t){var r;const i=e.reference;if(i._ref===void 0){i._ref=Rs;try{const s=this.getCandidate(e);if(Jn(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const a=this.loadAstNode(s);i._ref=a??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const a=(r=s.message)!==null&&r!==void 0?r:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${a}`})}t.references.push(i)}}unlink(e){for(const t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){const t=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return t??this.createLinkingError(e)}buildReference(e,t,r,i){const s=this,a={$refNode:r,$refText:i,get ref(){var o,l;if(ae(this._ref))return this._ref;if(typeof(l=this._nodeDescription)=="object"&&l!==null&&typeof l.name=="string"&&typeof l.type=="string"&&typeof l.path=="string"){const c=s.loadAstNode(this._nodeDescription);this._ref=c??s.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=Rs;const c=Ii(e).$document,u=s.getLinkedNode({reference:a,container:e,property:t});if(u.error&&c&&c.state<U.ComputedScopes)return this._ref=void 0;this._ref=(o=u.node)!==null&&o!==void 0?o:u.error,this._nodeDescription=u.descr,c==null||c.references.push(this)}else if(this._ref===Rs)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${i}')`);return ae(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Jn(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var t;try{const r=this.getCandidate(e);if(Jn(r))return{error:r};const i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const i=(t=r.message)!==null&&t!==void 0?t:String(r);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const t=this.langiumDocuments().getDocument(e.documentUri);return t?this.astNodeLocator.getAstNode(t.parseResult.value,e.path):void 0}createLinkingError(e,t){const r=Ii(e.container).$document;r&&r.state<U.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:t})}}class zu{getName(e){if(function(t){return typeof t.name=="string"}(e))return e.name}getNameNode(e){return va(e.$cstNode,"name")}}class Yu{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const t=function(i){var s;const a=i.astNode;for(;a===((s=i.container)===null||s===void 0?void 0:s.astNode);){const o=pr(i.grammarSource,ft);if(o)return o;i=i.container}}(e),r=e.astNode;if(t&&r){const i=r[t.feature];if(Ge(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(Ge(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||function(s,a){for(;s.container;)if((s=s.container)===a)return!0;return!1}(e,i)))return r}}}findDeclarationNode(e){const t=this.findDeclaration(e);if(t!=null&&t.$cstNode){const r=this.nameProvider.getNameNode(t);return r??t.$cstNode}}findReferences(e,t){const r=[];if(t.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(i=i.filter(s=>rt.equals(s.sourceUri,t.documentUri))),r.push(...i),ee(r)}getReferenceToSelf(e){const t=this.nameProvider.getNameNode(e);if(t){const r=Je(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:tr(t),local:!0}}}}class zr{constructor(e){if(this.map=new Map,e)for(const[t,r]of e)this.add(t,r)}get size(){return yi.sum(ee(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(t);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var t;return(t=this.map.get(e))!==null&&t!==void 0?t:[]}has(e,t){if(t===void 0)return this.map.has(e);{const r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ee(this.map.entries()).flatMap(([e,t])=>t.map(r=>[e,r]))}keys(){return ee(this.map.keys())}values(){return ee(this.map.values()).flat()}entriesGroupedByKey(){return ee(this.map.entries())}}class el{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.inverse.delete(t),!0)}}class qu{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=B.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=Ci,i=B.CancellationToken.None){const s=[];this.exportNode(e,s,t);for(const a of r(e))await Ce(i),this.exportNode(a,s,t);return s}exportNode(e,t,r){const i=this.nameProvider.getName(e);i&&t.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,t=B.CancellationToken.None){const r=e.parseResult.value,i=new zr;for(const s of _n(r))await Ce(t),this.processNode(s,e,i);return i}processNode(e,t,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,t))}}}class tl{constructor(e,t,r){var i;this.elements=e,this.outerScope=t,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0&&i}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){return(this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e))||(this.outerScope?this.outerScope.getElement(e):void 0)}}class Xu{constructor(e,t,r){var i;this.elements=new Map,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0&&i;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e;return this.elements.get(t)||(this.outerScope?this.outerScope.getElement(e):void 0)}getAllElements(){let e=ee(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class nl{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 Qu extends nl{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){const r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class Zu extends nl{constructor(e){super(),this.cache=new Map,this.converter=e??(t=>t)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(t))return i.get(t);if(r){const s=r();return i.set(t,s),s}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){const t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){const t=this.converter(e);let r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}}class Ju extends Qu{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{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 ed{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 Ju(e.shared)}getScope(e){const t=[],r=this.reflection.getReferenceType(e),i=Je(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&t.push(ee(o).filter(l=>this.reflection.isSubtype(l.type,r))),a=a.$container}while(a)}let s=this.getGlobalScope(r,e);for(let a=t.length-1;a>=0;a--)s=this.createScope(t[a],s);return s}createScope(e,t,r){return new tl(ee(e),t,r)}createScopeForNodes(e,t,r){const i=ee(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new tl(i,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new Xu(this.indexManager.allElements(e)))}}function rl(n){return typeof n=="object"&&!!n&&("$ref"in n||"$error"in n)}class td{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,t){const r=t??{},i=t==null?void 0:t.replacer,s=(o,l)=>this.replacer(o,l,r),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=Je(e),JSON.stringify(e,a,t==null?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t){const r=t??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,t,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,c,u,h;if(!this.ignoreProperties.has(e)){if(Ge(t)){const d=t.ref,f=r?t.$refText:void 0;if(d){const p=Je(d);let m="";return this.currentDocument&&this.currentDocument!==p&&(m=o?o(p.uri,t):p.uri.toString()),{$ref:`${m}#${this.astNodeLocator.getAstNodePath(d)}`,$refText:f}}return{$error:(c=(l=t.error)===null||l===void 0?void 0:l.message)!==null&&c!==void 0?c:"Could not resolve reference",$refText:f}}if(ae(t)){let d;if(s&&(d=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),e&&!t.$document||!(d!=null&&d.$textRegion)||(d.$textRegion.documentURI=(u=this.currentDocument)===null||u===void 0?void 0:u.uri.toString())),i&&!e&&(d!=null||(d=Object.assign({},t)),d.$sourceText=(h=t.$cstNode)===null||h===void 0?void 0:h.text),a){d!=null||(d=Object.assign({},t));const f=this.commentProvider.getComment(t);f&&(d.$comment=f.replace(/\r/g,""))}return d??t}return t}}addAstNodeRegionWithAssignmentsTo(e){const t=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(i=>!i.startsWith("$")).forEach(i=>{const s=function(a,o){return a&&o?Oi(a,o,a.astNode,!0):[]}(e.$cstNode,i).map(t);s.length!==0&&(r[i]=s)}),e}}linkNode(e,t,r,i,s,a){for(const[l,c]of Object.entries(e))if(Array.isArray(c))for(let u=0;u<c.length;u++){const h=c[u];rl(h)?c[u]=this.reviveReference(e,l,t,h,r):ae(h)&&this.linkNode(h,t,r,e,l,u)}else rl(c)?e[l]=this.reviveReference(e,l,t,c,r):ae(c)&&this.linkNode(c,t,r,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,t,r,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(ae(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}if(o){const l={$refText:a??""};return l.error={container:e,property:t,message:o,reference:l},l}}getRefNode(e,t,r){try{const i=t.indexOf("#");if(i===0)return this.astNodeLocator.getAstNode(e,t.substring(1))||"Could not resolve path: "+t;if(i<0){const l=r?r(t):vt.parse(t),c=this.langiumDocuments.getDocument(l);return c?c.parseResult.value:"Could not find document for URI: "+t}const s=r?r(t.substring(0,i)):vt.parse(t.substring(0,i)),a=this.langiumDocuments.getDocument(s);return a?i===t.length-1?a.parseResult.value:this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(i+1))||"Could not resolve URI: "+t:"Could not find document for URI: "+t}catch(i){return String(i)}}}class nd{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e==null?void 0:e.workspace.TextDocuments}register(e){const t=e.LanguageMetaData;for(const r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(t.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var t,r;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(r=(t=this.textDocuments)===null||t===void 0?void 0:t.get(e))===null||r===void 0?void 0:r.languageId;if(i!==void 0){const o=this.languageIdMap.get(i);if(o)return o}const s=rt.extname(e),a=this.fileExtensionMap.get(s);if(!a)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Vn(n){return{code:n}}var Yr,Me;(function(n){n.all=["fast","slow","built-in"]})(Yr||(Yr={}));class rd{constructor(e){this.entries=new zr,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const l={check:this.wrapValidationException(o,t),category:r};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,t),category:r};this.addEntry(i,o)}else rn()}}wrapValidationException(e,t){return async(r,i,s)=>{await this.handleException(()=>e.call(t,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,t,r,i){try{await e()}catch(s){if(Wr(s))throw s;console.error(`${t}:`,s),s instanceof Error&&s.stack&&console.error(s.stack),r("error",`${t}: ${s instanceof Error?s.message:String(s)}`,{node:i})}}addEntry(e,t){if(e!=="AstNode")for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,t);else this.entries.add("AstNode",t)}getChecks(e,t){let r=ee(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(i=>t.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),t,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class id{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=B.CancellationToken.None){const i=e.parseResult,s=[];if(await Ce(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(i,s,t),t.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Me.LexingError})||(this.processParsingErrors(i,s,t),t.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Me.ParsingError}))||(this.processLinkingErrors(e,s,t),t.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Me.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,t,r))}catch(a){if(Wr(a))throw a;console.error("An error occurred during validation:",a)}return await Ce(r),s}processLexingErrors(e,t,r){var i,s,a;const o=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const l of o){const c=(a=l.severity)!==null&&a!==void 0?a:"error",u={severity:vs(c),range:{start:{line:l.line-1,character:l.column-1},end:{line:l.line-1,character:l.column+l.length-1}},message:l.message,data:ad(c),source:this.getSource()};t.push(u)}}processParsingErrors(e,t,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=Ri(i.token);if(s){const a={severity:vs("error"),range:s,message:i.message,data:Vn(Me.ParsingError),source:this.getSource()};t.push(a)}}}processLinkingErrors(e,t,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Me.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};t.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,t,r=B.CancellationToken.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,t,s,r),await this.validateAstNodes(e,t,s,r),await this.validateAstAfter(e,t,s,r),i}async validateAstBefore(e,t,r,i=B.CancellationToken.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await Ce(i),await o(e,r,(s=t.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,t,r,i=B.CancellationToken.None){await Promise.all(It(e).map(async s=>{await Ce(i);const a=this.validationRegistry.getChecks(s.$type,t.categories);for(const o of a)await o(s,r,i)}))}async validateAstAfter(e,t,r,i=B.CancellationToken.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await Ce(i),await o(e,r,(s=t.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,t,r){return{message:t,range:sd(r),severity:vs(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 sd(n){if(n.range)return n.range;let e;return typeof n.property=="string"?e=va(n.node.$cstNode,n.property,n.index):typeof n.keyword=="string"&&(e=Pc(n.node.$cstNode,n.keyword,n.index)),e!=null||(e=n.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function vs(n){switch(n){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+n)}}function ad(n){switch(n){case"error":return Vn(Me.LexingError);case"warning":return Vn(Me.LexingWarning);case"info":return Vn(Me.LexingInfo);case"hint":return Vn(Me.LexingHint);default:throw new Error("Invalid diagnostic severity: "+n)}}(function(n){n.LexingError="lexing-error",n.LexingWarning="lexing-warning",n.LexingInfo="lexing-info",n.LexingHint="lexing-hint",n.ParsingError="parsing-error",n.LinkingError="linking-error"})(Me||(Me={}));class od{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){const i=r??Je(e);t!=null||(t=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=tr((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:t,get nameSegment(){return o()},selectionSegment:tr(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class ld{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=B.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of It(i))await Ce(t),fa(s).filter(a=>!Jn(a)).forEach(a=>{const o=this.createDescription(a);o&&r.push(o)});return r}createDescription(e){const t=e.reference.$nodeDescription,r=e.reference.$refNode;if(!t||!r)return;const i=Je(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:tr(r),local:rt.equals(t.documentUri,i)}}}class cd{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return t!==void 0?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((r,i)=>{if(!r||i.length===0)return r;const s=i.indexOf(this.indexSeparator);if(s>0){const a=i.substring(0,s),o=parseInt(i.substring(s+1)),l=r[a];return l==null?void 0:l[o]}return r[i]},e)}}var Hn,ud=oc();class dd{constructor(e){this._ready=new gs,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new ud.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,r;this.workspaceConfig=(r=(t=e.capabilities.workspace)===null||t===void 0?void 0:t.configuration)!==null&&r!==void 0&&r}async initialized(e){if(this.workspaceConfig){if(e.register){const t=this.serviceRegistry.all;e.register({section:t.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const t=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{const r=e.settings[t];this.updateSectionConfiguration(t,r),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:r})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}(function(n){n.create=function(e){return{dispose:async()=>await e()}}})(Hn||(Hn={}));class hd{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new zr,this.documentPhaseListeners=new zr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=U.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=B.CancellationToken.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===U.Validated){if(typeof t.validation=="boolean"&&t.validation)a.state=U.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof t.validation=="object"){const l=this.buildState.get(o),c=(i=l==null?void 0:l.result)===null||i===void 0?void 0:i.validationChecks;if(c){const u=((s=t.validation.categories)!==null&&s!==void 0?s:Yr.all).filter(h=>!c.includes(h));u.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:u})},result:l.result}),a.state=U.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=U.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=B.CancellationToken.None){this.currentState=U.Changed;for(const a of t)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const o=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);o.state=U.Changed,this.langiumDocuments.addDocument(o)}this.buildState.delete(a.toString())}const i=ee(e).concat(t).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,U.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,t),await Ce(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<U.Linked||!(!((o=this.buildState.get(a.uri.toString()))===null||o===void 0)&&o.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){var t;return!!(!((t=this.textDocuments)===null||t===void 0)&&t.get(e.uri))}shouldRelink(e,t){return!!e.references.some(r=>r.error!==void 0)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),Hn.create(()=>{const t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,U.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,U.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,U.ComputedScopes,r,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,r)}),await this.runCancelable(e,U.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,U.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,U.Validated,r,s=>this.validate(s,r));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,t){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:t,result:s==null?void 0:s.result})}}async runCancelable(e,t,r,i){const s=e.filter(o=>o.state<t);for(const o of s)await Ce(r),await i(o),o.state=t,await this.notifyDocumentPhase(o,t,r);const a=e.filter(o=>o.state===t);await this.notifyBuildPhase(a,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),Hn.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),Hn.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let i;if(t&&"path"in t?i=t:r=t,r!=null||(r=B.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(jr):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const c=this.langiumDocuments.getDocument(i);s(c==null?void 0:c.uri)}else s(void 0)}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(jr)})})}async notifyDocumentPhase(e,t,r){const i=this.documentPhaseListeners.get(t).slice();for(const s of i)try{await s(e,r)}catch(a){if(!Wr(a))throw a}}async notifyBuildPhase(e,t,r){if(e.length===0)return;const i=this.buildPhaseListeners.get(t).slice();for(const s of i)await Ce(r),await s(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,t);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const c=this.buildState.get(e.uri.toString());if(c){(r=c.result)!==null&&r!==void 0||(c.result={});const u=(i=o==null?void 0:o.categories)!==null&&i!==void 0?i:Yr.all;c.result.validationChecks?c.result.validationChecks.push(...u):c.result.validationChecks=[...u]}}getBuildOptions(e){var t,r;return(r=(t=this.buildState.get(e.uri.toString()))===null||t===void 0?void 0:t.options)!==null&&r!==void 0?r:{}}}class fd{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Zu,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const r=Je(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{rt.equals(a.targetUri,r)&&a.targetPath===t&&i.push(a)})}),ee(i)}allElements(e,t){let r=ee(this.symbolIndex.keys());return t&&(r=r.filter(i=>!t||t.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(a=>this.astReflection.isSubtype(a.type,t))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=B.CancellationToken.None){const r=this.serviceRegistry.getServices(e.uri),i=await r.references.ScopeComputation.computeExports(e,t),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,t=B.CancellationToken.None){const r=this.serviceRegistry.getServices(e.uri),i=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,t){const r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(i=>!i.local&&t.has(i.targetUri.toString()))}}class pd{constructor(e){this.initialBuildOptions={},this._ready=new gs,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){var t;this.folders=(t=e.workspaceFolders)!==null&&t!==void 0?t:void 0}initialized(e){return this.mutex.write(t=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],t)})}async initializeWorkspace(e,t=B.CancellationToken.None){const r=await this.performStartup(e);await Ce(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){const t=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,t,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return vt.parse(e.uri)}async traverseFolder(e,t,r,i){const s=await this.fileSystemProvider.readDirectory(t);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,r)){if(a.isDirectory)await this.traverseFolder(e,a.uri,r,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,t,r){const i=rt.basename(t.uri);if(i.startsWith("."))return!1;if(t.isDirectory)return i!=="node_modules"&&i!=="out";if(t.isFile){const s=rt.extname(t.uri);return r.includes(s)}return!1}}class md{buildUnexpectedCharactersMessage(e,t,r,i,s){return Hi.buildUnexpectedCharactersMessage(e,t,r,i,s)}buildUnableToPopLexerModeMessage(e){return Hi.buildUnableToPopLexerModeMessage(e)}}const gd={mode:"full"};class yd{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);const r=sl(t)?Object.values(t):t,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Re(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=gd){var r,i,s;const a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:(r=a.groups.hidden)!==null&&r!==void 0?r:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(sl(e))return e;const t=il(e)?Object.values(e.modes).flat():e,r={};return t.forEach(i=>r[i.name]=i),r}}function il(n){return n&&"modes"in n&&"defaultMode"in n}function sl(n){return!function(e){return Array.isArray(e)&&(e.length===0||"name"in e[0])}(n)&&!il(n)}function Td(n,e,t){let r,i;typeof n=="string"?(i=e,r=t):(i=n.range.start,r=e),i||(i=z.create(0,0));const s=function(a){var o,l,c;const u=[];let h=a.position.line,d=a.position.character;for(let f=0;f<a.lines.length;f++){const p=f===0,m=f===a.lines.length-1;let g=a.lines[f],R=0;if(p&&a.options.start){const y=(o=a.options.start)===null||o===void 0?void 0:o.exec(g);y&&(R=y.index+y[0].length)}else{const y=(l=a.options.line)===null||l===void 0?void 0:l.exec(g);y&&(R=y.index+y[0].length)}if(m){const y=(c=a.options.end)===null||c===void 0?void 0:c.exec(g);y&&(g=g.substring(0,y.index))}if(g=g.substring(0,Ad(g)),$s(g,R)>=g.length){if(u.length>0){const y=z.create(h,d);u.push({type:"break",content:"",range:$e.create(y,y)})}}else{ol.lastIndex=R;const y=ol.exec(g);if(y){const T=y[0],k=y[1],_=z.create(h,d+R),P=z.create(h,d+R+T.length);u.push({type:"tag",content:k,range:$e.create(_,P)}),R+=T.length,R=$s(g,R)}if(R<g.length){const T=g.substring(R),k=Array.from(T.matchAll(Rd));u.push(...vd(k,T,h,d+R))}}h++,d=0}return u.length>0&&u[u.length-1].type==="break"?u.slice(0,-1):u}({lines:al(n),position:i,options:Es(r)});return function(a){var o,l,c,u;const h=z.create(a.position.line,a.position.character);if(a.tokens.length===0)return new dl([],$e.create(h,h));const d=[];for(;a.index<a.tokens.length;){const m=kd(a,d[d.length-1]);m&&d.push(m)}const f=(l=(o=d[0])===null||o===void 0?void 0:o.range.start)!==null&&l!==void 0?l:h,p=(u=(c=d[d.length-1])===null||c===void 0?void 0:c.range.end)!==null&&u!==void 0?u:h;return new dl(d,$e.create(f,p))}({index:0,tokens:s,position:i})}function al(n){let e="";return e=typeof n=="string"?n:n.text,e.split(Nc)}const ol=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Rd=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function vd(n,e,t,r){const i=[];if(n.length===0){const s=z.create(t,r),a=z.create(t,r+e.length);i.push({type:"text",content:e,range:$e.create(s,a)})}else{let s=0;for(const o of n){const l=o.index,c=e.substring(s,l);c.length>0&&i.push({type:"text",content:e.substring(s,l),range:$e.create(z.create(t,s+r),z.create(t,l+r))});let u=c.length+1;const h=o[1];if(i.push({type:"inline-tag",content:h,range:$e.create(z.create(t,s+u+r),z.create(t,s+u+h.length+r))}),u+=h.length,o.length===4){u+=o[2].length;const d=o[3];i.push({type:"text",content:d,range:$e.create(z.create(t,s+u+r),z.create(t,s+u+d.length+r))})}else i.push({type:"text",content:"",range:$e.create(z.create(t,s+u+r),z.create(t,s+u+r))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:$e.create(z.create(t,s+r),z.create(t,s+r+a.length))})}return i}const $d=/\S/,Ed=/\s*$/;function $s(n,e){const t=n.substring(e).match($d);return t?e+t.index:n.length}function Ad(n){const e=n.match(Ed);if(e&&typeof e.index=="number")return e.index}function kd(n,e){const t=n.tokens[n.index];return t.type==="tag"?cl(n,!1):t.type==="text"||t.type==="inline-tag"?ll(n):(function(r,i){if(i){const s=new hl("",r.range);"inlines"in i?i.inlines.push(s):i.content.inlines.push(s)}}(t,e),void n.index++)}function ll(n){let e=n.tokens[n.index];const t=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(xd(n)),r=e,e=n.tokens[n.index];return new xs(i,$e.create(t.range.start,r.range.end))}function xd(n){return n.tokens[n.index].type==="inline-tag"?cl(n,!0):ul(n)}function cl(n,e){const t=n.tokens[n.index++],r=t.content.substring(1),i=n.tokens[n.index];if((i==null?void 0:i.type)==="text"){if(e){const s=ul(n);return new ks(r,new xs([s],s.range),e,$e.create(t.range.start,s.range.end))}{const s=ll(n);return new ks(r,s,e,$e.create(t.range.start,s.range.end))}}{const s=t.range;return new ks(r,new xs([],s),e,s)}}function ul(n){const e=n.tokens[n.index++];return new hl(e.content,e.range)}function Es(n){if(!n)return Es({start:"/**",end:"*/",line:"*"});const{start:e,end:t,line:r}=n;return{start:As(e,!0),end:As(t,!1),line:As(r,!0)}}function As(n,e){if(typeof n=="string"||typeof n=="object"){const t=typeof n=="string"?Rr(n):n.source;return e?new RegExp(`^\\s*${t}`):new RegExp(`\\s*${t}\\s*$`)}return n}class dl{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const t of this.elements)if(e.length===0)e=t.toString();else{const r=t.toString();e+=fl(e)+r}return e.trim()}toMarkdown(e){let t="";for(const r of this.elements)if(t.length===0)t=r.toMarkdown(e);else{const i=r.toMarkdown(e);t+=fl(t)+i}return t.trim()}}class ks{constructor(e,t,r,i){this.name=e,this.content=t,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}
116
- ${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t,r;return(r=(t=e==null?void 0:e.renderTag)===null||t===void 0?void 0:t.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const t=this.content.toMarkdown(e);if(this.inline){const s=function(a,o,l){var c,u;if(a==="linkplain"||a==="linkcode"||a==="link"){const h=o.indexOf(" ");let d=o;if(h>0){const p=$s(o,h);d=o.substring(p),o=o.substring(0,h)}return(a==="linkcode"||a==="link"&&l.link==="code")&&(d=`\`${d}\``),(u=(c=l.renderLink)===null||c===void 0?void 0:c.call(l,o,d))!==null&&u!==void 0?u:function(p,m){try{return vt.parse(p,!0),`[${m}](${p})`}catch{return p}}(o,d)}}(this.name,t,e??{});if(typeof s=="string")return s}let r="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?r="*":(e==null?void 0:e.tag)==="bold"?r="**":(e==null?void 0:e.tag)==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} \u2014 ${t}`:this.content.inlines.length>1&&(i=`${i}
117
- ${t}`),this.inline?`{${i}}`:i}}class xs{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){const r=this.inlines[t],i=this.inlines[t+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
118
- `)}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];t+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(t+=`
119
- `)}return t}}class hl{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function fl(n){return n.endsWith(`
120
- `)?`
121
- `:`
122
-
123
- `}class Sd{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const t=this.commentProvider.getComment(e);if(t&&function(r,i){const s=Es(i),a=al(r);if(a.length===0)return!1;const o=a[0],l=a[a.length-1],c=s.start,u=s.end;return!!(c!=null&&c.exec(o))&&!!(u!=null&&u.exec(l))}(t))return Td(t).toMarkdown({renderLink:(r,i)=>this.documentationLinkRenderer(e,r,i),renderTag:r=>this.documentationTagRenderer(e,r)})}documentationLinkRenderer(e,t,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,t))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,t);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1;return`[${r}](${s.documentUri.with({fragment:`L${a},${o}`}).toString()})`}}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){const r=Je(e).precomputedScopes;if(!r)return;let i=e;do{const s=r.get(i).find(a=>a.name===t);if(s)return s;i=i.$container}while(i)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(r=>r.name===t)}}class Id{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return function(r){return typeof r.$comment=="string"}(e)?e.$comment:(t=kc(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||t===void 0?void 0:t.text}}class Cd{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}}class Nd{constructor(){this.previousTokenSource=new B.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const t=(Hr=performance.now(),new B.CancellationTokenSource);return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=B.CancellationToken.None){const i=new gs,s={action:t,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))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:t,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>t(i));r.resolve(s)}catch(s){Wr(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class wd{constructor(e){this.grammarElementIdMap=new el,this.tokenTypeIdMap=new el,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(t=>Object.assign(Object.assign({},t),{message:t.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const t=new Map,r=new Map;for(const i of It(e))t.set(i,{});if(e.$cstNode)for(const i of Ti(e.$cstNode))r.set(i,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){const r=t.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,t));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)ae(o)?a.push(this.dehydrateAstNode(o,t)):Ge(o)?a.push(this.dehydrateReference(o,t)):a.push(o)}else ae(s)?r[i]=this.dehydrateAstNode(s,t):Ge(s)?r[i]=this.dehydrateReference(s,t):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,t){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){const r=t.cstNodes.get(e);return na(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),nn(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,t)):ta(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 t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){const t=new Map,r=new Map;for(const s of It(e))t.set(s,{});let i;if(e.$cstNode)for(const s of Ti(e.$cstNode)){let a;"fullText"in s?(a=new Fo(s.fullText),i=a):"content"in s?a=new hs:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:t,cstNodes:r}}hydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.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)ae(o)?a.push(this.setParent(this.hydrateAstNode(o,t),r)):Ge(o)?a.push(this.hydrateReference(o,r,i,t)):a.push(o)}else ae(s)?r[i]=this.setParent(this.hydrateAstNode(s,t),r):Ge(s)?r[i]=this.hydrateReference(s,r,i,t):s!==void 0&&(r[i]=s);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,i){return this.linker.buildReference(t,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){const i=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=t.astNodes.get(e.astNode),nn(i))for(const s of e.content){const a=this.hydrateCstNode(s,t,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const t=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,c=e.hidden;return new ds(r,i,{start:{line:s,character:a},end:{line:o,character:l}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const t of It(this.grammar))xc(t)&&this.grammarElementIdMap.set(t,e++)}}function it(n){return{documentation:{CommentProvider:e=>new Id(e),DocumentationProvider:e=>new Sd(e)},parser:{AsyncParser:e=>new Cd(e),GrammarConfig:e=>function(t){const r=[],i=t.Grammar;for(const s of i.rules)ht(s)&&bc(s)&&Lc(Pi(s))&&r.push(s.name);return{multilineCommentRules:r,nameRegexp:Ac}}(e),LangiumParser:e=>Ku(e),CompletionParser:e=>function(t){const r=t.Grammar,i=t.parser.Lexer,s=new Uu(t);return Ho(r,s,i.definition),s.finalize(),s}(e),ValueConverter:()=>new qo,TokenBuilder:()=>new Yo,Lexer:e=>new yd(e),ParserErrorMessageProvider:()=>new Vo,LexerErrorMessageProvider:()=>new md},workspace:{AstNodeLocator:()=>new cd,AstNodeDescriptionProvider:e=>new od(e),ReferenceDescriptionProvider:e=>new ld(e)},references:{Linker:e=>new Wu(e),NameProvider:()=>new zu,ScopeProvider:e=>new ed(e),ScopeComputation:e=>new qu(e),References:e=>new Yu(e)},serializer:{Hydrator:e=>new wd(e),JsonSerializer:e=>new td(e)},validation:{DocumentValidator:e=>new id(e),ValidationRegistry:e=>new rd(e)},shared:()=>n.shared}}function st(n){return{ServiceRegistry:e=>new nd(e),workspace:{LangiumDocuments:e=>new ju(e),LangiumDocumentFactory:e=>new Hu(e),DocumentBuilder:e=>new hd(e),IndexManager:e=>new fd(e),WorkspaceManager:e=>new pd(e),FileSystemProvider:e=>n.fileSystemProvider(e),WorkspaceLock:()=>new Nd,ConfigurationProvider:e=>new dd(e)}}}var pl;function oe(n,e,t,r,i,s,a,o,l){return ml([n,e,t,r,i,s,a,o,l].reduce(qr,{}))}(function(n){n.merge=(e,t)=>qr(qr({},e),t)})(pl||(pl={}));const Ld=Symbol("isProxy");function ml(n,e){const t=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===Ld||yl(r,i,n,e||t),getOwnPropertyDescriptor:(r,i)=>(yl(r,i,n,e||t),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in n,ownKeys:()=>[...Object.getOwnPropertyNames(n)]});return t}const gl=Symbol();function yl(n,e,t,r){if(e in n){if(n[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:n[e]});if(n[e]===gl)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return n[e]}if(e in t){const i=t[e];n[e]=gl;try{n[e]=typeof i=="function"?i(r):ml(i,r)}catch(s){throw n[e]=s instanceof Error?s:void 0,s}return n[e]}}function qr(n,e){if(e){for(const[t,r]of Object.entries(e))if(r!==void 0){const i=n[t];n[t]=i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?qr(i,r):r}}return n}class Od{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const at={fileSystemProvider:()=>new Od},_d={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},bd={AstReflection:()=>new da};function $t(n){var e;const t=function(){const i=oe(st(at),bd),s=oe(it({shared:i}),_d);return i.ServiceRegistry.register(s),s}(),r=t.serializer.JsonSerializer.deserialize(n);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,vt.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var Pd=Object.defineProperty,$=(n,e)=>Pd(n,"name",{value:e,configurable:!0}),Tl="Statement",Xr="Architecture";$(function(n){return De.isInstance(n,Xr)},"isArchitecture");var Qr="Axis",jn="Branch";$(function(n){return De.isInstance(n,jn)},"isBranch");var Zr="Checkout",Jr="CherryPicking",Ss="ClassDefStatement",Wn="Commit";$(function(n){return De.isInstance(n,Wn)},"isCommit");var Is="Curve",Cs="Edge",Ns="Entry",zn="GitGraph";$(function(n){return De.isInstance(n,zn)},"isGitGraph");var ws="Group",ei="Info";$(function(n){return De.isInstance(n,ei)},"isInfo");var ti="Item",Ls="Junction",Yn="Merge";$(function(n){return De.isInstance(n,Yn)},"isMerge");var Os="Option",ni="Packet";$(function(n){return De.isInstance(n,ni)},"isPacket");var ri="PacketBlock";$(function(n){return De.isInstance(n,ri)},"isPacketBlock");var ii="Pie";$(function(n){return De.isInstance(n,ii)},"isPie");var si="PieSection";$(function(n){return De.isInstance(n,si)},"isPieSection");var _s="Radar",bs="Service",ai="TreemapDoc";$(function(n){return De.isInstance(n,ai)},"isTreemapDoc");var Rl,vl,$l,El,Al,kl,xl,Ps="TreemapRow",oi="Direction",li="Leaf",ci="Section",Sl=(Mt=class extends ea{getAllTypes(){return[Xr,Qr,jn,Zr,Jr,Ss,Wn,Is,oi,Cs,Ns,zn,ws,ei,ti,Ls,li,Yn,Os,ni,ri,ii,si,_s,ci,bs,Tl,ai,Ps]}computeIsSubtype(e,t){switch(e){case jn:case Zr:case Jr:case Wn:case Yn:return this.isSubtype(Tl,t);case oi:return this.isSubtype(zn,t);case li:case ci:return this.isSubtype(ti,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;if(t==="Entry:axis")return Qr;throw new Error(`${t} is not a valid reference id.`)}getTypeMetaData(e){switch(e){case Xr:return{name:Xr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Qr:return{name:Qr,properties:[{name:"label"},{name:"name"}]};case jn:return{name:jn,properties:[{name:"name"},{name:"order"}]};case Zr:return{name:Zr,properties:[{name:"branch"}]};case Jr:return{name:Jr,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case Ss:return{name:Ss,properties:[{name:"className"},{name:"styleText"}]};case Wn:return{name:Wn,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Is:return{name:Is,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case Cs:return{name:Cs,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case Ns:return{name:Ns,properties:[{name:"axis"},{name:"value"}]};case zn:return{name:zn,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case ws:return{name:ws,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case ei:return{name:ei,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case ti:return{name:ti,properties:[{name:"classSelector"},{name:"name"}]};case Ls:return{name:Ls,properties:[{name:"id"},{name:"in"}]};case Yn:return{name:Yn,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Os:return{name:Os,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case ni:return{name:ni,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case ri:return{name:ri,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case ii:return{name:ii,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case si:return{name:si,properties:[{name:"label"},{name:"value"}]};case _s:return{name:_s,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case bs:return{name:bs,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case ai:return{name:ai,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Ps:return{name:Ps,properties:[{name:"indent"},{name:"item"}]};case oi:return{name:oi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case li:return{name:li,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case ci:return{name:ci,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},$(Mt,"MermaidAstReflection"),Mt),De=new Sl,Md=$(()=>Rl??(Rl=$t(`{"$type":"Grammar","isDeclared":true,"name":"Info","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":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),Dd=$(()=>vl??(vl=$t(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),Gd=$(()=>$l??($l=$t(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@3"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),Ud=$(()=>El??(El=$t(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),Fd=$(()=>Al??(Al=$t(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),Bd=$(()=>kl??(kl=$t(`{"$type":"Grammar","isDeclared":true,"name":"Radar","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":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),Kd=$(()=>xl??(xl=$t(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","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":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreemapDoc","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@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"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]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$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@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"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":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"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":"TreemapDoc","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$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 */"}`)),"TreemapGrammar"),Vd={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Hd={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},jd={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Wd={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},zd={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Yd={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},qd={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Et={AstReflection:$(()=>new Sl,"AstReflection")},Xd={Grammar:$(()=>Md(),"Grammar"),LanguageMetaData:$(()=>Vd,"LanguageMetaData"),parser:{}},Qd={Grammar:$(()=>Dd(),"Grammar"),LanguageMetaData:$(()=>Hd,"LanguageMetaData"),parser:{}},Zd={Grammar:$(()=>Gd(),"Grammar"),LanguageMetaData:$(()=>jd,"LanguageMetaData"),parser:{}},Jd={Grammar:$(()=>Ud(),"Grammar"),LanguageMetaData:$(()=>Wd,"LanguageMetaData"),parser:{}},eh={Grammar:$(()=>Fd(),"Grammar"),LanguageMetaData:$(()=>zd,"LanguageMetaData"),parser:{}},th={Grammar:$(()=>Bd(),"Grammar"),LanguageMetaData:$(()=>Yd,"LanguageMetaData"),parser:{}},nh={Grammar:$(()=>Kd(),"Grammar"),LanguageMetaData:$(()=>qd,"LanguageMetaData"),parser:{}},rh={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},ui=(Dt=class extends qo{runConverter(e,t,r){let i=this.runCommonConverter(e,t,r);return i===void 0&&(i=this.runCustomConverter(e,t,r)),i===void 0?super.runConverter(e,t,r):i}runCommonConverter(e,t,r){const i=rh[e.name];if(i===void 0)return;const s=i.exec(t);return s!==null?s[1]!==void 0?s[1].trim().replace(/[\t ]{2,}/gm," "):s[2]!==void 0?s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
124
- `):void 0:void 0}},$(Dt,"AbstractMermaidValueConverter"),Dt),di=(Gt=class extends ui{runCustomConverter(e,t,r){}},$(Gt,"CommonValueConverter"),Gt),ot=(Ut=class extends Yo{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){const i=super.buildKeywordTokens(e,t,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},$(Ut,"AbstractMermaidTokenBuilder"),Ut);Ft=class extends ot{},$(Ft,"CommonTokenBuilder");var ih=(Bt=class extends ot{constructor(){super(["gitGraph"])}},$(Bt,"GitGraphTokenBuilder"),Bt),Il={parser:{TokenBuilder:$(()=>new ih,"TokenBuilder"),ValueConverter:$(()=>new di,"ValueConverter")}};function Cl(n=at){const e=oe(st(n),Et),t=oe(it({shared:e}),eh,Il);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}$(Cl,"createGitGraphServices");var sh=(Kt=class extends ot{constructor(){super(["info","showInfo"])}},$(Kt,"InfoTokenBuilder"),Kt),Nl={parser:{TokenBuilder:$(()=>new sh,"TokenBuilder"),ValueConverter:$(()=>new di,"ValueConverter")}};function wl(n=at){const e=oe(st(n),Et),t=oe(it({shared:e}),Xd,Nl);return e.ServiceRegistry.register(t),{shared:e,Info:t}}$(wl,"createInfoServices");var ah=(Vt=class extends ot{constructor(){super(["packet-beta"])}},$(Vt,"PacketTokenBuilder"),Vt),Ll={parser:{TokenBuilder:$(()=>new ah,"TokenBuilder"),ValueConverter:$(()=>new di,"ValueConverter")}};function Ol(n=at){const e=oe(st(n),Et),t=oe(it({shared:e}),Qd,Ll);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}$(Ol,"createPacketServices");var oh=(Ht=class extends ot{constructor(){super(["pie","showData"])}},$(Ht,"PieTokenBuilder"),Ht),lh=(jt=class extends ui{runCustomConverter(e,t,r){if(e.name==="PIE_SECTION_LABEL")return t.replace(/"/g,"").trim()}},$(jt,"PieValueConverter"),jt),_l={parser:{TokenBuilder:$(()=>new oh,"TokenBuilder"),ValueConverter:$(()=>new lh,"ValueConverter")}};function bl(n=at){const e=oe(st(n),Et),t=oe(it({shared:e}),Zd,_l);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}$(bl,"createPieServices");var ch=(Wt=class extends ot{constructor(){super(["architecture"])}},$(Wt,"ArchitectureTokenBuilder"),Wt),uh=(zt=class extends ui{runCustomConverter(e,t,r){return e.name==="ARCH_ICON"?t.replace(/[()]/g,"").trim():e.name==="ARCH_TEXT_ICON"?t.replace(/["()]/g,""):e.name==="ARCH_TITLE"?t.replace(/[[\]]/g,"").trim():void 0}},$(zt,"ArchitectureValueConverter"),zt),Pl={parser:{TokenBuilder:$(()=>new ch,"TokenBuilder"),ValueConverter:$(()=>new uh,"ValueConverter")}};function Ml(n=at){const e=oe(st(n),Et),t=oe(it({shared:e}),Jd,Pl);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}$(Ml,"createArchitectureServices");var dh=(Yt=class extends ot{constructor(){super(["radar-beta"])}},$(Yt,"RadarTokenBuilder"),Yt),Dl={parser:{TokenBuilder:$(()=>new dh,"TokenBuilder"),ValueConverter:$(()=>new di,"ValueConverter")}};function Gl(n=at){const e=oe(st(n),Et),t=oe(it({shared:e}),th,Dl);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}$(Gl,"createRadarServices");var hh=(qt=class extends ot{constructor(){super(["treemap"])}},$(qt,"TreemapTokenBuilder"),qt),fh=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,ph=(Xt=class extends ui{runCustomConverter(e,t,r){if(e.name==="NUMBER2")return parseFloat(t.replace(/,/g,""));if(e.name==="SEPARATOR"||e.name==="STRING2")return t.substring(1,t.length-1);if(e.name==="INDENTATION")return t.length;if(e.name==="ClassDef"){if(typeof t!="string")return t;const i=fh.exec(t);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},$(Xt,"TreemapValueConverter"),Xt);function Ul(n){const e=n.validation.TreemapValidator,t=n.validation.ValidationRegistry;if(t){const r={TreemapDoc:e.checkSingleRoot.bind(e)};t.register(r,e)}}$(Ul,"registerValidationChecks");var mh=(Qt=class{checkSingleRoot(e,t){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:(i.indent===void 0||r!==void 0&&r>=parseInt(i.indent,10))&&t("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},$(Qt,"TreemapValidator"),Qt),Fl={parser:{TokenBuilder:$(()=>new hh,"TokenBuilder"),ValueConverter:$(()=>new ph,"ValueConverter")},validation:{TreemapValidator:$(()=>new mh,"TreemapValidator")}};function Bl(n=at){const e=oe(st(n),Et),t=oe(it({shared:e}),nh,Fl);return e.ServiceRegistry.register(t),Ul(t),{shared:e,Treemap:t}}$(Bl,"createTreemapServices");var Xe={},gh={info:$(async()=>{const{createInfoServices:n}=await dt(async()=>{const{createInfoServices:t}=await Promise.resolve().then(()=>Th);return{createInfoServices:t}},void 0,import.meta.url),e=n().Info.parser.LangiumParser;Xe.info=e},"info"),packet:$(async()=>{const{createPacketServices:n}=await dt(async()=>{const{createPacketServices:t}=await Promise.resolve().then(()=>Rh);return{createPacketServices:t}},void 0,import.meta.url),e=n().Packet.parser.LangiumParser;Xe.packet=e},"packet"),pie:$(async()=>{const{createPieServices:n}=await dt(async()=>{const{createPieServices:t}=await Promise.resolve().then(()=>vh);return{createPieServices:t}},void 0,import.meta.url),e=n().Pie.parser.LangiumParser;Xe.pie=e},"pie"),architecture:$(async()=>{const{createArchitectureServices:n}=await dt(async()=>{const{createArchitectureServices:t}=await Promise.resolve().then(()=>$h);return{createArchitectureServices:t}},void 0,import.meta.url),e=n().Architecture.parser.LangiumParser;Xe.architecture=e},"architecture"),gitGraph:$(async()=>{const{createGitGraphServices:n}=await dt(async()=>{const{createGitGraphServices:t}=await Promise.resolve().then(()=>Eh);return{createGitGraphServices:t}},void 0,import.meta.url),e=n().GitGraph.parser.LangiumParser;Xe.gitGraph=e},"gitGraph"),radar:$(async()=>{const{createRadarServices:n}=await dt(async()=>{const{createRadarServices:t}=await Promise.resolve().then(()=>Ah);return{createRadarServices:t}},void 0,import.meta.url),e=n().Radar.parser.LangiumParser;Xe.radar=e},"radar"),treemap:$(async()=>{const{createTreemapServices:n}=await dt(async()=>{const{createTreemapServices:t}=await Promise.resolve().then(()=>kh);return{createTreemapServices:t}},void 0,import.meta.url),e=n().Treemap.parser.LangiumParser;Xe.treemap=e},"treemap")};async function Kl(n,e){const t=gh[n];if(!t)throw new Error(`Unknown diagram type: ${n}`);Xe[n]||await t();const r=Xe[n].parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new yh(r);return r.value}$(Kl,"parse");var yh=(Zt=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(t=>t.message).join(`
125
- `)} ${e.parserErrors.map(t=>t.message).join(`
126
- `)}`),this.result=e}},$(Zt,"MermaidParseError"),Zt);const Th=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Nl,createInfoServices:wl},Symbol.toStringTag,{value:"Module"})),Rh=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Ll,createPacketServices:Ol},Symbol.toStringTag,{value:"Module"})),vh=Object.freeze(Object.defineProperty({__proto__:null,PieModule:_l,createPieServices:bl},Symbol.toStringTag,{value:"Module"})),$h=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Pl,createArchitectureServices:Ml},Symbol.toStringTag,{value:"Module"})),Eh=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Il,createGitGraphServices:Cl},Symbol.toStringTag,{value:"Module"})),Ah=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Dl,createRadarServices:Gl},Symbol.toStringTag,{value:"Module"})),kh=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Fl,createTreemapServices:Bl},Symbol.toStringTag,{value:"Module"}));export{Kl as p};