omni-context-cli 0.0.37 → 0.0.39
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.
- package/dist/agents/quest.md +1 -1
- package/dist/cli.js +7 -7
- package/dist/clients/extension.vsix +0 -0
- package/dist/clients/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/clients/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/clients/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/clients/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/clients/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/clients/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/clients/web/assets/_baseUniq-BFIaUHWF.js +1 -0
- package/dist/clients/web/assets/arc-CX4sIPz0.js +1 -0
- package/dist/clients/web/assets/architectureDiagram-VXUJARFQ-ClAz1TdR.js +1 -0
- package/dist/clients/web/assets/blockDiagram-VD42YOAC-cXvv5Xme.js +1 -0
- package/dist/clients/web/assets/c4Diagram-YG6GDRKO-CrEaxiOQ.js +1 -0
- package/dist/clients/web/assets/channel-WvpFzh0S.js +1 -0
- package/dist/clients/web/assets/chunk-4BX2VUAB-Xr5eQ2jr.js +1 -0
- package/dist/clients/web/assets/chunk-55IACEB6-BrPAEmD2.js +1 -0
- package/dist/clients/web/assets/chunk-B4BG7PRW-Cja4muSQ.js +1 -0
- package/dist/clients/web/assets/chunk-DI55MBZ5-CO44EGwl.js +1 -0
- package/dist/clients/web/assets/chunk-FMBD7UC4-DHQTSncN.js +1 -0
- package/dist/clients/web/assets/chunk-QN33PNHL-C_u6j8ll.js +1 -0
- package/dist/clients/web/assets/chunk-QZHKN3VN-Baz9sG4a.js +1 -0
- package/dist/clients/web/assets/chunk-TZMSLE5B-BlXDqp8M.js +1 -0
- package/dist/clients/web/assets/classDiagram-2ON5EDUG-BGhuL3vX.js +1 -0
- package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-BGhuL3vX.js +1 -0
- package/dist/clients/web/assets/clone-BrjahQ2T.js +1 -0
- package/dist/clients/web/assets/cose-bilkent-S5V4N54A-DZWAEoy6.js +1 -0
- package/dist/clients/web/assets/cytoscape.esm-Cw0kmstm.js +9 -0
- package/dist/clients/web/assets/dagre-6UL2VRFP-qiPMpj-s.js +1 -0
- package/dist/clients/web/assets/defaultLocale-DK_abR1s.js +1 -0
- package/dist/clients/web/assets/diagram-PSM6KHXK-e6unNrWN.js +1 -0
- package/dist/clients/web/assets/diagram-QEK2KX5R-DMbTtJpL.js +1 -0
- package/dist/clients/web/assets/diagram-S2PKOQOG-DJzyjWuo.js +1 -0
- package/dist/clients/web/assets/erDiagram-Q2GNP2WA-X-nh9pp7.js +1 -0
- package/dist/clients/web/assets/flowDiagram-NV44I4VS-Cfyd4KjH.js +1 -0
- package/dist/clients/web/assets/ganttDiagram-JELNMOA3-Qr2DTISc.js +1 -0
- package/dist/clients/web/assets/gitGraphDiagram-NY62KEGX-D7fkew24.js +1 -0
- package/dist/clients/web/assets/graph-DbcIVQWO.js +1 -0
- package/dist/clients/web/assets/index-PxdJoyNn.js +27 -0
- package/dist/clients/web/assets/index-_TATy_re.css +1 -0
- package/dist/clients/web/assets/infoDiagram-WHAUD3N6-CIhYDMFh.js +1 -0
- package/dist/clients/web/assets/init-C9Lo50Hz.js +1 -0
- package/dist/clients/web/assets/journeyDiagram-XKPGCS4Q-D31lU2HV.js +1 -0
- package/dist/clients/web/assets/kanban-definition-3W4ZIXB7-Dld77aF_.js +1 -0
- package/dist/clients/web/assets/layout-DFoNjwYU.js +1 -0
- package/dist/clients/web/assets/linear-DhSwIfiB.js +1 -0
- package/dist/clients/web/assets/min-C_FjB4Pz.js +1 -0
- package/dist/clients/web/assets/mindmap-definition-VGOIOE7T-BZ6YN87L.js +1 -0
- package/dist/clients/web/assets/ordinal-2upbOM02.js +1 -0
- package/dist/clients/web/assets/pieDiagram-ADFJNKIX-DFxN-730.js +1 -0
- package/dist/clients/web/assets/quadrantDiagram-AYHSOK5B-qmd91frX.js +1 -0
- package/dist/clients/web/assets/requirementDiagram-UZGBJVZJ-DXXq7RCX.js +1 -0
- package/dist/clients/web/assets/sankeyDiagram-TZEHDZUN-BlyT9ih9.js +1 -0
- package/dist/clients/web/assets/sequenceDiagram-WL72ISMW-B07J5kyu.js +1 -0
- package/dist/clients/web/assets/stateDiagram-FKZM4ZOC-YrX5yZ-e.js +1 -0
- package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-DkYEm35t.js +1 -0
- package/dist/clients/web/assets/timeline-definition-IT6M3QCI-bMWx8q5z.js +1 -0
- package/dist/clients/web/assets/treemap-KMMF4GRG-B8jlkm1c.js +1 -0
- package/dist/clients/web/assets/xychartDiagram-PRI3JC2R-38DLhcVC.js +1 -0
- package/dist/clients/web/index.html +16 -0
- package/package.json +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e,t,n,r,i,s,o,a,u,c,l,f,h,d,p,m,y=Object.defineProperty,v=(e,t,n)=>((e,t,n)=>t in e?y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);import{b8 as g,bB as $}from"./index-PxdJoyNn.js";import{m as T,f as R,d as w}from"./min-C_FjB4Pz.js";import{b,l as A,c as E,m as k,r as x,n as S}from"./_baseUniq-BFIaUHWF.js";function O(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function C(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function N(e){return"object"==typeof e&&null!==e&&O(e.container)&&C(e.reference)&&"string"==typeof e.message}class _{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return O(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const r=n[t];if(void 0!==r)return r;{const r=this.computeIsSubtype(e,t);return n[t]=r,r}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const t=this.getAllTypes(),n=[];for(const r of t)this.isSubtype(r,e)&&n.push(r);return this.allSubtypes[e]=n,n}}}function I(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function L(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function M(e){return I(e)&&"string"==typeof e.fullText}class P{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(){const e=this.iterator();return Boolean(e.next().done)}count(){const e=this.iterator();let t=0,n=e.next();for(;!n.done;)t++,n=e.next();return t}toArray(){const e=[],t=this.iterator();let n;do{n=t.next(),void 0!==n.value&&e.push(n.value)}while(!n.done);return e}toSet(){return new Set(this)}toMap(e,t){const n=this.map(n=>[e?e(n):n,t?t(n):n]);return new Map(n)}toString(){return this.join()}concat(e){return new P(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do{if(t=this.nextFn(e.first),!t.done)return t}while(!t.done);e.firstDone=!0}do{if(t=e.iterator.next(),!t.done)return t}while(!t.done);return U})}join(e=","){const t=this.iterator();let n,r="",i=!1;do{n=t.next(),n.done||(i&&(r+=e),r+=j(n.value)),i=!0}while(!n.done);return r}indexOf(e,t=0){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(r>=t&&i.value===e)return r;i=n.next(),r++}return-1}every(e){const t=this.iterator();let n=t.next();for(;!n.done;){if(!e(n.value))return!1;n=t.next()}return!0}some(e){const t=this.iterator();let n=t.next();for(;!n.done;){if(e(n.value))return!0;n=t.next()}return!1}forEach(e){const t=this.iterator();let n=0,r=t.next();for(;!r.done;)e(r.value,n),r=t.next(),n++}map(e){return new P(this.startFn,t=>{const{done:n,value:r}=this.nextFn(t);return n?U:{done:!1,value:e(r)}})}filter(e){return new P(this.startFn,t=>{let n;do{if(n=this.nextFn(t),!n.done&&e(n.value))return n}while(!n.done);return U})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){const n=this.iterator();let r=t,i=n.next();for(;!i.done;)r=void 0===r?i.value:e(r,i.value),i=n.next();return r}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,n){const r=e.next();if(r.done)return n;const i=this.recursiveReduce(e,t,n);return void 0===i?r.value:t(i,r.value)}find(e){const t=this.iterator();let n=t.next();for(;!n.done;){if(e(n.value))return n.value;n=t.next()}}findIndex(e){const t=this.iterator();let n=0,r=t.next();for(;!r.done;){if(e(r.value))return n;r=t.next(),n++}return-1}includes(e){const t=this.iterator();let n=t.next();for(;!n.done;){if(n.value===e)return!0;n=t.next()}return!1}flatMap(e){return new P(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}const{done:n,value:r}=this.nextFn(t.this);if(!n){const n=e(r);if(!D(n))return{done:!1,value:n};t.iterator=n[Symbol.iterator]()}}while(t.iterator);return U})}flat(e){if(void 0===e&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new P(()=>({this:t.startFn()}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}const{done:n,value:r}=t.nextFn(e.this);if(!n){if(!D(r))return{done:!1,value:r};e.iterator=r[Symbol.iterator]()}}while(e.iterator);return U})}head(){const e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new P(()=>{const t=this.startFn();for(let n=0;n<e;n++){if(this.nextFn(t).done)return t}return t},this.nextFn)}limit(e){return new P(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?U:this.nextFn(t.state)))}distinct(e){return new P(()=>({set:new Set,internalState:this.startFn()}),t=>{let n;do{if(n=this.nextFn(t.internalState),!n.done){const r=e?e(n.value):n.value;if(!t.set.has(r))return t.set.add(r),n}}while(!n.done);return U})}exclude(e,t){const n=new Set;for(const r of e){const e=t?t(r):r;n.add(e)}return this.filter(e=>{const r=t?t(e):e;return!n.has(r)})}}function j(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function D(e){return!!e&&"function"==typeof e[Symbol.iterator]}const G=new P(()=>{},()=>U),U=Object.freeze({done:!0,value:void 0});function B(...e){if(1===e.length){const t=e[0];if(t instanceof P)return t;if(D(t))return new P(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new P(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:U)}return e.length>1?new P(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){const e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){const n=e[t.collIndex++];D(n)?t.iterator=n[Symbol.iterator]():n&&"number"==typeof n.length&&(t.array=n)}}while(t.iterator||t.array||t.collIndex<e.length);return U}):G}class F extends P{constructor(e,t,n){super(()=>({iterators:(null==n?void 0:n.includeRoot)?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){const n=e.iterators[e.iterators.length-1].next();if(!n.done)return e.iterators.push(t(n.value)[Symbol.iterator]()),n;e.iterators.pop()}return U})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var K,V,H,W;function z(e){return new F(e,e=>I(e)?e.content:[],{includeRoot:!0})}function Y(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function q(e){if(!e)return;const{offset:t,end:n,range:r}=e;return{range:r,offset:t,end:n,length:n-t}}function X(e,t){const n=function(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return H.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return H.After;const n=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,r=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return n&&r?H.Inside:n?H.OverlapBack:r?H.OverlapFront:H.Outside}(e,t);return n>H.After}(V=K||(K={})).sum=function(e){return e.reduce((e,t)=>e+t,0)},V.product=function(e){return e.reduce((e,t)=>e*t,0)},V.min=function(e){return e.reduce((e,t)=>Math.min(e,t))},V.max=function(e){return e.reduce((e,t)=>Math.max(e,t))},(W=H||(H={}))[W.Before=0]="Before",W[W.After=1]="After",W[W.OverlapFront=2]="OverlapFront",W[W.OverlapBack=3]="OverlapBack",W[W.Inside=4]="Inside",W[W.Outside=5]="Outside";const Z=/^[\w\p{L}]$/u;function J(e,t){return L(e)&&t.includes(e.tokenType.name)}class Q extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function ee(e){throw new Error("Error! The input value was not handled.")}const te="AbstractRule",ne="AbstractType",re="Condition",ie="TypeDefinition",se="ValueLiteral",oe="AbstractElement";function ae(e){return ct.isInstance(e,oe)}const ue="ArrayLiteral",ce="ArrayType",le="BooleanLiteral";const fe="Conjunction";const he="Disjunction";const de="Grammar",pe="GrammarImport",me="InferredType";function ye(e){return ct.isInstance(e,me)}const ve="Interface";function ge(e){return ct.isInstance(e,ve)}const $e="NamedArgument",Te="Negation";const Re="NumberLiteral",we="Parameter",be="ParameterReference";const Ae="ParserRule";function Ee(e){return ct.isInstance(e,Ae)}const ke="ReferenceType",xe="ReturnType";const Se="SimpleType";function Oe(e){return ct.isInstance(e,Se)}const Ce="StringLiteral",Ne="TerminalRule";function _e(e){return ct.isInstance(e,Ne)}const Ie="Type";function Le(e){return ct.isInstance(e,Ie)}const Me="TypeAttribute",Pe="UnionType",je="Action";function De(e){return ct.isInstance(e,je)}const Ge="Alternatives";function Ue(e){return ct.isInstance(e,Ge)}const Be="Assignment";function Fe(e){return ct.isInstance(e,Be)}const Ke="CharacterRange";const Ve="CrossReference";function He(e){return ct.isInstance(e,Ve)}const We="EndOfFile";const ze="Group";function Ye(e){return ct.isInstance(e,ze)}const qe="Keyword";function Xe(e){return ct.isInstance(e,qe)}const Ze="NegatedToken";const Je="RegexToken";const Qe="RuleCall";function et(e){return ct.isInstance(e,Qe)}const tt="TerminalAlternatives";const nt="TerminalGroup";const rt="TerminalRuleCall";const it="UnorderedGroup";function st(e){return ct.isInstance(e,it)}const ot="UntilToken";const at="Wildcard";class ut extends _{getAllTypes(){return[oe,te,ne,je,Ge,ue,ce,Be,le,Ke,re,fe,Ve,he,We,de,pe,ze,me,ve,qe,$e,Ze,Te,Re,we,be,Ae,ke,Je,xe,Qe,Se,Ce,tt,nt,Ne,rt,Ie,Me,ie,Pe,it,ot,se,at]}computeIsSubtype(e,t){switch(e){case je:case Ge:case Be:case Ke:case Ve:case We:case ze:case qe:case Ze:case Je:case Qe:case tt:case nt:case rt:case it:case ot:case at:return this.isSubtype(oe,t);case ue:case Re:case Ce:return this.isSubtype(se,t);case ce:case ke:case Se:case Pe:return this.isSubtype(ie,t);case le:return this.isSubtype(re,t)||this.isSubtype(se,t);case fe:case he:case Te:case be:return this.isSubtype(re,t);case me:case ve:case Ie:return this.isSubtype(ne,t);case Ae:return this.isSubtype(te,t)||this.isSubtype(ne,t);case Ne:return this.isSubtype(te,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 ne;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return te;case"Grammar:usedGrammars":return de;case"NamedArgument:parameter":case"ParameterReference:parameter":return we;case"TerminalRuleCall:rule":return Ne;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case oe:return{name:oe,properties:[{name:"cardinality"},{name:"lookahead"}]};case ue:return{name:ue,properties:[{name:"elements",defaultValue:[]}]};case ce:return{name:ce,properties:[{name:"elementType"}]};case le:return{name:le,properties:[{name:"true",defaultValue:!1}]};case fe:return{name:fe,properties:[{name:"left"},{name:"right"}]};case he:return{name:he,properties:[{name:"left"},{name:"right"}]};case de:return{name:de,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 pe:return{name:pe,properties:[{name:"path"}]};case me:return{name:me,properties:[{name:"name"}]};case ve:return{name:ve,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case $e:return{name:$e,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Te:return{name:Te,properties:[{name:"value"}]};case Re:return{name:Re,properties:[{name:"value"}]};case we:return{name:we,properties:[{name:"name"}]};case be:return{name:be,properties:[{name:"parameter"}]};case Ae:return{name:Ae,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 ke:return{name:ke,properties:[{name:"referenceType"}]};case xe:return{name:xe,properties:[{name:"name"}]};case Se:return{name:Se,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case Ce:return{name:Ce,properties:[{name:"value"}]};case Ne:return{name:Ne,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Ie:return{name:Ie,properties:[{name:"name"},{name:"type"}]};case Me:return{name:Me,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case Pe:return{name:Pe,properties:[{name:"types",defaultValue:[]}]};case je:return{name:je,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case Ge:return{name:Ge,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Be:return{name:Be,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case Ke:return{name:Ke,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case Ve:return{name:Ve,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case We:return{name:We,properties:[{name:"cardinality"},{name:"lookahead"}]};case ze:return{name:ze,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case qe:return{name:qe,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Ze:return{name:Ze,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Je:return{name:Je,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Qe:return{name:Qe,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case tt:return{name:tt,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case nt:return{name:nt,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case rt:return{name:rt,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case it:return{name:it,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case ot:return{name:ot,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case at:return{name:at,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const ct=new ut;function lt(e,t){let n=e;for(;n;){if(t(n))return n;n=n.$container}}function ft(e){const t=ht(e).$document;if(!t)throw new Error("AST node has no document.");return t}function ht(e){for(;e.$container;)e=e.$container;return e}function dt(e,t){if(!e)throw new Error("Node must be an AstNode.");const n=null==t?void 0:t.range;return new P(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){const r=t.keys[t.keyIndex];if(!r.startsWith("$")){const i=e[r];if(O(i)){if(t.keyIndex++,yt(i,n))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){const e=i[t.arrayIndex++];if(O(e)&&yt(e,n))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return U})}function pt(e,t){if(!e)throw new Error("Root node must be an AstNode.");return new F(e,e=>dt(e,t))}function mt(e,t){if(!e)throw new Error("Root node must be an AstNode.");return new F(e,e=>dt(e,t),{includeRoot:!0})}function yt(e,t){var n;if(!t)return!0;const r=null===(n=e.$cstNode)||void 0===n?void 0:n.range;return!!r&&X(r,t)}function vt(e){return new P(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){const n=t.keys[t.keyIndex];if(!n.startsWith("$")){const r=e[n];if(C(r))return t.keyIndex++,{done:!1,value:{reference:r,container:e,property:n}};if(Array.isArray(r)){for(;t.arrayIndex<r.length;){const i=t.arrayIndex++,s=r[i];if(C(s))return{done:!1,value:{reference:s,container:e,property:n,index:i}}}t.arrayIndex=0}}t.keyIndex++}return U})}function gt(e){return Array.isArray(e)?[...e.map(gt)]:e}function $t(e){return e.charCodeAt(0)}function Tt(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function Rt(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function wt(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function bt(e){return"Character"===e.type}const At=[];for(let zT=$t("0");zT<=$t("9");zT++)At.push(zT);const Et=[$t("_")].concat(At);for(let zT=$t("a");zT<=$t("z");zT++)Et.push(zT);for(let zT=$t("A");zT<=$t("Z");zT++)Et.push(zT);const kt=[$t(" "),$t("\f"),$t("\n"),$t("\r"),$t("\t"),$t("\v"),$t("\t"),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t(" "),$t("\u2028"),$t("\u2029"),$t(" "),$t(" "),$t(" "),$t("\ufeff")],xt=/[0-9a-fA-F]/,St=/[0-9]/,Ot=/[1-9]/;class Ct{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 n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Rt(n,"global");break;case"i":Rt(n,"ignoreCase");break;case"m":Rt(n,"multiLine");break;case"u":Rt(n,"unicode");break;case"y":Rt(n,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:t,loc:this.loc(0)}}disjunction(){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"}wt(t);const n=this.disjunction();return this.consumeChar(")"),{type:t,value:n,loc:this.loc(e)}}return function(){throw Error("Internal Error - Should never get here!")}()}quantifier(e=!1){let t;const n=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":const n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:n,atMost:e}):t={atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;wt(t)}if(!0!==e||void 0!==t)return wt(t)?("?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(n),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(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),wt(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[$t("\n"),$t("\r"),$t("\u2028"),$t("\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=At;break;case"D":e=At,t=!0;break;case"s":e=kt;break;case"S":e=kt,t=!0;break;case"w":e=Et;break;case"W":e=Et,t=!0}if(wt(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=$t("\f");break;case"n":e=$t("\n");break;case"r":e=$t("\r");break;case"t":e=$t("\t");break;case"v":e=$t("\v")}if(wt(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:$t("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:$t(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:$t(this.popChar())}}}characterClass(){const e=[];let t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){const t=this.classAtom();if(t.type,bt(t)&&this.isRangeDash()){this.consumeChar("-");const n=this.classAtom();if(n.type,bt(n)){if(n.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:n.value})}else Tt(t.value,e),e.push($t("-")),Tt(n.value,e)}else Tt(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:$t("\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;if(this.consumeChar("("),"?"===this.peekChar(0))this.consumeChar("?"),this.consumeChar(":"),e=!1;else this.groupIdx++;const t=this.disjunction();this.consumeChar(")");const n={type:"Group",capturing:e,value:t};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(!1===Ot.test(e))throw Error("Expecting a positive integer");for(;St.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===St.test(e))throw Error("Expecting an integer");for(;St.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:$t(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 St.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){const e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(t){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let n=0;n<e;n++){const e=this.popChar();if(!1===xt.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&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 Nt{visitChildren(e){for(const t in e){const n=e[t];e.hasOwnProperty(t)&&(void 0!==n.type?this.visit(n):Array.isArray(n)&&n.forEach(e=>{this.visit(e)},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 _t=/\r?\n/gm,It=new Ct;const Lt=new class extends Nt{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const e=Dt(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){const t=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(t);this.multiline=Boolean("\n".match(n))}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){if("Group"===e.type){if(e.quantifier)return}super.visitChildren(e)}};function Mt(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),Lt.reset(e),Lt.visit(It.pattern(e)),Lt.multiline}catch(t){return!1}}const Pt="\f\n\r\t\v \u2028\u2029 \ufeff".split("");function jt(e){const t="string"==typeof e?new RegExp(e):e;return Pt.some(e=>t.test(e))}function Dt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Gt(e,t){const n=function(e){"string"==typeof e&&(e=new RegExp(e));const t=e,n=e.source;let r=0;function i(){let e,s="";function o(e){s+=n.substr(r,e),r+=e}function a(e){s+="(?:"+n.substr(r,e)+"|$)",r+=e}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":a(3);break;case"x":a(4);break;case"u":t.unicode?"{"===n[r+2]?a(n.indexOf("}",r)-r+1):a(6):a(2);break;case"p":case"P":t.unicode?a(n.indexOf("}",r)-r+1):a(2);break;case"k":a(n.indexOf(">",r)-r+1);break;default:a(2)}break;case"[":e=/\[(?:\\.|.)*?\]/g,e.lastIndex=r,e=e.exec(n)||[],a(e[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":e=/\{\d+,?\d*\}/g,e.lastIndex=r,e=e.exec(n),e?o(e[0].length):a(1);break;case"(":if("?"===n[r+1])switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":e=r,r+=3,i(),s+=n.substr(e,r-e);break;case"<":switch(n[r+3]){case"=":case"!":e=r,r+=4,i(),s+=n.substr(e,r-e);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)"}}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:a(1)}return s}return new RegExp(i(),e.flags)}(e),r=t.match(n);return!!r&&r[0].length>0}function Ut(e,t){const n=new Set,r=function(e){return e.rules.find(e=>Ee(e)&&e.entry)}(e);if(!r)return new Set(e.rules);const i=[r].concat(function(e){return e.rules.filter(e=>_e(e)&&e.hidden)}(e));for(const o of i)Bt(o,n,t);const s=new Set;for(const o of e.rules)(n.has(o.name)||_e(o)&&o.hidden)&&s.add(o);return s}function Bt(e,t,n){t.add(e.name),pt(e).forEach(e=>{if(et(e)||n){const r=e.rule.ref;r&&!t.has(r.name)&&Bt(r,t,n)}})}function Ft(e){return e.hidden&&!jt(Jt(e))}function Kt(e,t,n){if(!e||!t)return;const r=Vt(e,t,e.astNode,!0);return 0!==r.length?r[n=void 0!==n?Math.max(0,Math.min(n,r.length-1)):0]:void 0}function Vt(e,t,n,r){if(!r){const n=lt(e.grammarSource,Fe);if(n&&n.feature===t)return[e]}return I(e)&&e.astNode===n?e.content.flatMap(e=>Vt(e,t,n,!1)):[]}function Ht(e,t,n){if(!e)return;const r=function(e,t,n){if(e.astNode!==n)return[];if(Xe(e.grammarSource)&&e.grammarSource.value===t)return[e];const r=z(e).iterator();let i;const s=[];do{if(i=r.next(),!i.done){const e=i.value;e.astNode===n?Xe(e.grammarSource)&&e.grammarSource.value===t&&s.push(e):r.prune()}}while(!i.done);return s}(e,t,null==e?void 0:e.astNode);return 0!==r.length?r[n=void 0!==n?Math.max(0,Math.min(n,r.length-1)):0]:void 0}function Wt(e){let t=e;return ye(t)&&(De(t.$container)?t=t.$container.$container:Ee(t.$container)?t=t.$container:ee(t.$container)),zt(e,t,new Map)}function zt(e,t,n){var r;function i(t,r){let i;return lt(t,Fe)||(i=zt(r,r,n)),n.set(e,i),i}if(n.has(e))return n.get(e);n.set(e,void 0);for(const s of pt(t)){if(Fe(s)&&"name"===s.feature.toLowerCase())return n.set(e,s),s;if(et(s)&&Ee(s.rule.ref))return i(s,s.rule.ref);if(Oe(s)&&(null===(r=s.typeRef)||void 0===r?void 0:r.ref))return i(s,s.typeRef.ref)}}function Yt(e){return qt(e,new Set)}function qt(e,t){if(t.has(e))return!0;t.add(e);for(const n of pt(e))if(et(n)){if(!n.rule.ref)return!1;if(Ee(n.rule.ref)&&!qt(n.rule.ref,t))return!1}else{if(Fe(n))return!1;if(De(n))return!1}return Boolean(e.definition)}function Xt(e){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){const t=e.returnType.ref;if(t){if(Ee(t))return t.name;if(ge(t)||Le(t))return t.name}}}function Zt(e){var t,n;if(Ee(e))return Yt(e)?e.name:null!==(t=Xt(e))&&void 0!==t?t:e.name;if(ge(e)||Le(e)||(n=e,ct.isInstance(n,xe)))return e.name;if(De(e)){const t=function(e){var t;if(e.inferredType)return e.inferredType.name;if(null===(t=e.type)||void 0===t?void 0:t.ref)return Zt(e.type.ref);return}(e);if(t)return t}else if(ye(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function Jt(e){const t={s:!1,i:!1,u:!1},n=en(e.definition,t),r=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join("");return new RegExp(n,r)}const Qt=/[\s\S]/.source;function en(e,t){if(o=e,ct.isInstance(o,tt))return nn((s=e).elements.map(e=>en(e)).join("|"),{cardinality:s.cardinality,lookahead:s.lookahead});if(function(e){return ct.isInstance(e,nt)}(e))return nn((i=e).elements.map(e=>en(e)).join(""),{cardinality:i.cardinality,lookahead:i.lookahead});if(function(e){return ct.isInstance(e,Ke)}(e))return function(e){if(e.right)return nn(`[${tn(e.left)}-${tn(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1});return nn(tn(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1})}(e);if(function(e){return ct.isInstance(e,rt)}(e)){const t=e.rule.ref;if(!t)throw new Error("Missing rule reference.");return nn(en(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead})}if(function(e){return ct.isInstance(e,Ze)}(e))return nn(`(?!${en((r=e).terminal)})${Qt}*?`,{cardinality:r.cardinality,lookahead:r.lookahead});if(function(e){return ct.isInstance(e,ot)}(e))return nn(`${Qt}*?${en((n=e).terminal)}`,{cardinality:n.cardinality,lookahead:n.lookahead});if(function(e){return ct.isInstance(e,Je)}(e)){const n=e.regex.lastIndexOf("/"),r=e.regex.substring(1,n),i=e.regex.substring(n+1);return t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),nn(r,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1})}if(function(e){return ct.isInstance(e,at)}(e))return nn(Qt,{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error(`Invalid terminal element: ${null==e?void 0:e.$type}`);var n,r,i,s,o}function tn(e){return Dt(e.value)}function nn(e,t){var n;return(!1!==t.wrap||t.lookahead)&&(e=`(${null!==(n=t.lookahead)&&void 0!==n?n:""}${e})`),t.cardinality?`${e}${t.cardinality}`:e}var rn="object"==typeof global&&global&&global.Object===Object&&global,sn="object"==typeof self&&self&&self.Object===Object&&self,on=rn||sn||Function("return this")(),an=on.Symbol,un=Object.prototype,cn=un.hasOwnProperty,ln=un.toString,fn=an?an.toStringTag:void 0;var hn=Object.prototype.toString;var dn=an?an.toStringTag:void 0;function pn(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":dn&&dn in Object(e)?function(e){var t=cn.call(e,fn),n=e[fn];try{e[fn]=void 0;var r=!0}catch(s){}var i=ln.call(e);return r&&(t?e[fn]=n:delete e[fn]),i}(e):function(e){return hn.call(e)}(e)}function mn(e){return null!=e&&"object"==typeof e}function yn(e){return"symbol"==typeof e||mn(e)&&"[object Symbol]"==pn(e)}function vn(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var gn=Array.isArray,$n=an?an.prototype:void 0,Tn=$n?$n.toString:void 0;function Rn(e){if("string"==typeof e)return e;if(gn(e))return vn(e,Rn)+"";if(yn(e))return Tn?Tn.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}var wn=/\s/;var bn=/^\s+/;function An(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&wn.test(e.charAt(t)););return t}(e)+1).replace(bn,""):e}function En(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var kn=/^[-+]0x[0-9a-f]+$/i,xn=/^0b[01]+$/i,Sn=/^0o[0-7]+$/i,On=parseInt;var Cn=1/0;function Nn(e){return e?(e=function(e){if("number"==typeof e)return e;if(yn(e))return NaN;if(En(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=En(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=An(e);var n=xn.test(e);return n||Sn.test(e)?On(e.slice(2),n?2:8):kn.test(e)?NaN:+e}(e))===Cn||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function _n(e){var t=Nn(e),n=t%1;return t==t?n?t-n:t:0}function In(e){return e}function Ln(e){if(!En(e))return!1;var t=pn(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var Mn,Pn=on["__core-js_shared__"],jn=(Mn=/[^.]+$/.exec(Pn&&Pn.keys&&Pn.keys.IE_PROTO||""))?"Symbol(src)_1."+Mn:"";var Dn=Function.prototype.toString;function Gn(e){if(null!=e){try{return Dn.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var Un=/^\[object .+?Constructor\]$/,Bn=Function.prototype,Fn=Object.prototype,Kn=Bn.toString,Vn=Fn.hasOwnProperty,Hn=RegExp("^"+Kn.call(Vn).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Wn(e){return!(!En(e)||(t=e,jn&&jn in t))&&(Ln(e)?Hn:Un).test(Gn(e));var t}function zn(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Wn(n)?n:void 0}var Yn=zn(on,"WeakMap"),qn=Object.create,Xn=function(){function e(){}return function(t){if(!En(t))return{};if(qn)return qn(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function Zn(){}var Jn=Date.now;var Qn,er,tr,nr=function(){try{var e=zn(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),rr=nr?function(e,t){return nr(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:In,ir=(Qn=rr,er=0,tr=0,function(){var e=Jn(),t=16-(e-tr);if(tr=e,t>0){if(++er>=800)return arguments[0]}else er=0;return Qn.apply(void 0,arguments)});function sr(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function or(e,t,n,r){for(var i=e.length,s=n+-1;++s<i;)if(t(e[s],s,e))return s;return-1}function ar(e){return e!=e}function ur(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):or(e,ar,n)}function cr(e,t){return!!(null==e?0:e.length)&&ur(e,t,0)>-1}var lr=/^(?:0|[1-9]\d*)$/;function fr(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&lr.test(e))&&e>-1&&e%1==0&&e<t}function hr(e,t,n){"__proto__"==t&&nr?nr(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function dr(e,t){return e===t||e!=e&&t!=t}var pr=Object.prototype.hasOwnProperty;function mr(e,t,n){var r=e[t];pr.call(e,t)&&dr(r,n)&&(void 0!==n||t in e)||hr(e,t,n)}function yr(e,t,n,r){var i=!n;n||(n={});for(var s=-1,o=t.length;++s<o;){var a=t[s],u=void 0;void 0===u&&(u=e[a]),i?hr(n,a,u):mr(n,a,u)}return n}var vr=Math.max;function gr(e,t){return ir(function(e,t,n){return t=vr(void 0===t?e.length-1:t,0),function(){for(var r=arguments,i=-1,s=vr(r.length-t,0),o=Array(s);++i<s;)o[i]=r[t+i];i=-1;for(var a=Array(t+1);++i<t;)a[i]=r[i];return a[t]=n(o),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,a)}}(e,t,In),e+"")}function $r(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Tr(e){return null!=e&&$r(e.length)&&!Ln(e)}function Rr(e,t,n){if(!En(n))return!1;var r=typeof t;return!!("number"==r?Tr(n)&&fr(t,n.length):"string"==r&&t in n)&&dr(n[t],e)}var wr=Object.prototype;function br(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||wr)}function Ar(e){return mn(e)&&"[object Arguments]"==pn(e)}var Er=Object.prototype,kr=Er.hasOwnProperty,xr=Er.propertyIsEnumerable,Sr=Ar(function(){return arguments}())?Ar:function(e){return mn(e)&&kr.call(e,"callee")&&!xr.call(e,"callee")};var Or="object"==typeof exports&&exports&&!exports.nodeType&&exports,Cr=Or&&"object"==typeof module&&module&&!module.nodeType&&module,Nr=Cr&&Cr.exports===Or?on.Buffer:void 0,_r=(Nr?Nr.isBuffer:void 0)||function(){return!1},Ir={};function Lr(e){return function(t){return e(t)}}Ir["[object Float32Array]"]=Ir["[object Float64Array]"]=Ir["[object Int8Array]"]=Ir["[object Int16Array]"]=Ir["[object Int32Array]"]=Ir["[object Uint8Array]"]=Ir["[object Uint8ClampedArray]"]=Ir["[object Uint16Array]"]=Ir["[object Uint32Array]"]=!0,Ir["[object Arguments]"]=Ir["[object Array]"]=Ir["[object ArrayBuffer]"]=Ir["[object Boolean]"]=Ir["[object DataView]"]=Ir["[object Date]"]=Ir["[object Error]"]=Ir["[object Function]"]=Ir["[object Map]"]=Ir["[object Number]"]=Ir["[object Object]"]=Ir["[object RegExp]"]=Ir["[object Set]"]=Ir["[object String]"]=Ir["[object WeakMap]"]=!1;var Mr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Pr=Mr&&"object"==typeof module&&module&&!module.nodeType&&module,jr=Pr&&Pr.exports===Mr&&rn.process,Dr=function(){try{var e=Pr&&Pr.require&&Pr.require("util").types;return e||jr&&jr.binding&&jr.binding("util")}catch(t){}}(),Gr=Dr&&Dr.isTypedArray,Ur=Gr?Lr(Gr):function(e){return mn(e)&&$r(e.length)&&!!Ir[pn(e)]},Br=Object.prototype.hasOwnProperty;function Fr(e,t){var n=gn(e),r=!n&&Sr(e),i=!n&&!r&&_r(e),s=!n&&!r&&!i&&Ur(e),o=n||r||i||s,a=o?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],u=a.length;for(var c in e)!t&&!Br.call(e,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||s&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||fr(c,u))||a.push(c);return a}function Kr(e,t){return function(n){return e(t(n))}}var Vr=Kr(Object.keys,Object),Hr=Object.prototype.hasOwnProperty;function Wr(e){if(!br(e))return Vr(e);var t=[];for(var n in Object(e))Hr.call(e,n)&&"constructor"!=n&&t.push(n);return t}function zr(e){return Tr(e)?Fr(e):Wr(e)}var Yr,qr=Object.prototype.hasOwnProperty,Xr=(Yr=function(e,t){if(br(t)||Tr(t))yr(t,zr(t),e);else for(var n in t)qr.call(t,n)&&mr(e,n,t[n])},gr(function(e,t){var n=-1,r=t.length,i=r>1?t[r-1]:void 0,s=r>2?t[2]:void 0;for(i=Yr.length>3&&"function"==typeof i?(r--,i):void 0,s&&Rr(t[0],t[1],s)&&(i=r<3?void 0:i,r=1),e=Object(e);++n<r;){var o=t[n];o&&Yr(e,o,n,i)}return e}));var Zr=Object.prototype.hasOwnProperty;function Jr(e){if(!En(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=br(e),n=[];for(var r in e)("constructor"!=r||!t&&Zr.call(e,r))&&n.push(r);return n}function Qr(e){return Tr(e)?Fr(e,!0):Jr(e)}var ei=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ti=/^\w*$/;function ni(e,t){if(gn(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!yn(e))||(ti.test(e)||!ei.test(e)||null!=t&&e in Object(t))}var ri=zn(Object,"create");var ii=Object.prototype.hasOwnProperty;var si=Object.prototype.hasOwnProperty;function oi(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ai(e,t){for(var n=e.length;n--;)if(dr(e[n][0],t))return n;return-1}oi.prototype.clear=function(){this.__data__=ri?ri(null):{},this.size=0},oi.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},oi.prototype.get=function(e){var t=this.__data__;if(ri){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return ii.call(t,e)?t[e]:void 0},oi.prototype.has=function(e){var t=this.__data__;return ri?void 0!==t[e]:si.call(t,e)},oi.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ri&&void 0===t?"__lodash_hash_undefined__":t,this};var ui=Array.prototype.splice;function ci(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}ci.prototype.clear=function(){this.__data__=[],this.size=0},ci.prototype.delete=function(e){var t=this.__data__,n=ai(t,e);return!(n<0)&&(n==t.length-1?t.pop():ui.call(t,n,1),--this.size,!0)},ci.prototype.get=function(e){var t=this.__data__,n=ai(t,e);return n<0?void 0:t[n][1]},ci.prototype.has=function(e){return ai(this.__data__,e)>-1},ci.prototype.set=function(e,t){var n=this.__data__,r=ai(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var li=zn(on,"Map");function fi(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function hi(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}hi.prototype.clear=function(){this.size=0,this.__data__={hash:new oi,map:new(li||ci),string:new oi}},hi.prototype.delete=function(e){var t=fi(this,e).delete(e);return this.size-=t?1:0,t},hi.prototype.get=function(e){return fi(this,e).get(e)},hi.prototype.has=function(e){return fi(this,e).has(e)},hi.prototype.set=function(e,t){var n=fi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function di(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var o=e.apply(this,r);return n.cache=s.set(i,o)||s,o};return n.cache=new(di.Cache||hi),n}di.Cache=hi;var pi=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mi=/\\(\\)?/g,yi=function(e){var t=di(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(pi,function(e,n,r,i){t.push(r?i.replace(mi,"$1"):n||e)}),t});function vi(e,t){return gn(e)?e:ni(e,t)?[e]:yi(function(e){return null==e?"":Rn(e)}(e))}function gi(e){if("string"==typeof e||yn(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function $i(e,t){for(var n=0,r=(t=vi(t,e)).length;null!=e&&n<r;)e=e[gi(t[n++])];return n&&n==r?e:void 0}function Ti(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var Ri=an?an.isConcatSpreadable:void 0;function wi(e){return gn(e)||Sr(e)||!!(Ri&&e&&e[Ri])}function bi(e,t,n,r,i){var s=-1,o=e.length;for(n||(n=wi),i||(i=[]);++s<o;){var a=e[s];n(a)?Ti(i,a):r||(i[i.length]=a)}return i}function Ai(e){return(null==e?0:e.length)?bi(e):[]}var Ei=Kr(Object.getPrototypeOf,Object);function ki(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var s=Array(i);++r<i;)s[r]=e[r+t];return s}function xi(e,t,n,r){var i=-1,s=null==e?0:e.length;for(r&&s&&(n=e[++i]);++i<s;)n=t(n,e[i],i,e);return n}function Si(e){var t=this.__data__=new ci(e);this.size=t.size}Si.prototype.clear=function(){this.__data__=new ci,this.size=0},Si.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Si.prototype.get=function(e){return this.__data__.get(e)},Si.prototype.has=function(e){return this.__data__.has(e)},Si.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ci){var r=n.__data__;if(!li||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new hi(r)}return n.set(e,t),this.size=n.size,this};var Oi="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ci=Oi&&"object"==typeof module&&module&&!module.nodeType&&module,Ni=Ci&&Ci.exports===Oi?on.Buffer:void 0,_i=Ni?Ni.allocUnsafe:void 0;function Ii(e,t){for(var n=-1,r=null==e?0:e.length,i=0,s=[];++n<r;){var o=e[n];t(o,n,e)&&(s[i++]=o)}return s}function Li(){return[]}var Mi=Object.prototype.propertyIsEnumerable,Pi=Object.getOwnPropertySymbols,ji=Pi?function(e){return null==e?[]:(e=Object(e),Ii(Pi(e),function(t){return Mi.call(e,t)}))}:Li;var Di=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Ti(t,ji(e)),e=Ei(e);return t}:Li;function Gi(e,t,n){var r=t(e);return gn(e)?r:Ti(r,n(e))}function Ui(e){return Gi(e,zr,ji)}var Bi=zn(on,"DataView"),Fi=zn(on,"Promise"),Ki=zn(on,"Set"),Vi="[object Map]",Hi="[object Promise]",Wi="[object Set]",zi="[object WeakMap]",Yi="[object DataView]",qi=Gn(Bi),Xi=Gn(li),Zi=Gn(Fi),Ji=Gn(Ki),Qi=Gn(Yn),es=pn;(Bi&&es(new Bi(new ArrayBuffer(1)))!=Yi||li&&es(new li)!=Vi||Fi&&es(Fi.resolve())!=Hi||Ki&&es(new Ki)!=Wi||Yn&&es(new Yn)!=zi)&&(es=function(e){var t=pn(e),n="[object Object]"==t?e.constructor:void 0,r=n?Gn(n):"";if(r)switch(r){case qi:return Yi;case Xi:return Vi;case Zi:return Hi;case Ji:return Wi;case Qi:return zi}return t});var ts=Object.prototype.hasOwnProperty;var ns=on.Uint8Array;var rs=/\w*$/;var is=an?an.prototype:void 0,ss=is?is.valueOf:void 0;function os(e,t,n){var r,i,s,o,a,u=e.constructor;switch(t){case"[object ArrayBuffer]":return a=new(o=e).constructor(o.byteLength),new ns(a).set(new ns(o)),a;case"[object Boolean]":case"[object Date]":return new u(+e);case"[object DataView]":return s=(i=e).buffer,new i.constructor(s,i.byteOffset,i.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e){var t=e.buffer;return new e.constructor(t,e.byteOffset,e.length)}(e);case"[object Map]":case"[object Set]":return new u;case"[object Number]":case"[object String]":return new u(e);case"[object RegExp]":return function(e){var t=new e.constructor(e.source,rs.exec(e));return t.lastIndex=e.lastIndex,t}(e);case"[object Symbol]":return r=e,ss?Object(ss.call(r)):{}}}var as=Dr&&Dr.isMap,us=as?Lr(as):function(e){return mn(e)&&"[object Map]"==es(e)};var cs=Dr&&Dr.isSet,ls=cs?Lr(cs):function(e){return mn(e)&&"[object Set]"==es(e)},fs="[object Arguments]",hs="[object Function]",ds="[object Object]",ps={};function ms(e,t,n,r,i,s){var o,a=2&t;if(void 0!==o)return o;if(!En(e))return e;var u=gn(e);if(u)return o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&ts.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(e,o);var c=es(e),l=c==hs||"[object GeneratorFunction]"==c;if(_r(e))return function(e){var t=e.length,n=_i?_i(t):new e.constructor(t);return e.copy(n),n}(e);if(c==ds||c==fs||l&&!i)return o=l?{}:function(e){return"function"!=typeof e.constructor||br(e)?{}:Xn(Ei(e))}(e),a?function(e,t){return yr(e,Di(e),t)}(e,function(e,t){return e&&yr(t,Qr(t),e)}(o,e)):function(e,t){return yr(e,ji(e),t)}(e,function(e,t){return e&&yr(t,zr(t),e)}(o,e));if(!ps[c])return i?e:{};o=os(e,c),s||(s=new Si);var f=s.get(e);if(f)return f;s.set(e,o),ls(e)?e.forEach(function(r){o.add(ms(r,t,n,r,e,s))}):us(e)&&e.forEach(function(r,i){o.set(i,ms(r,t,n,i,e,s))});var h=u?void 0:Ui(e);return sr(h||e,function(r,i){h&&(r=e[i=r]),mr(o,i,ms(r,t,n,i,e,s))}),o}ps[fs]=ps["[object Array]"]=ps["[object ArrayBuffer]"]=ps["[object DataView]"]=ps["[object Boolean]"]=ps["[object Date]"]=ps["[object Float32Array]"]=ps["[object Float64Array]"]=ps["[object Int8Array]"]=ps["[object Int16Array]"]=ps["[object Int32Array]"]=ps["[object Map]"]=ps["[object Number]"]=ps[ds]=ps["[object RegExp]"]=ps["[object Set]"]=ps["[object String]"]=ps["[object Symbol]"]=ps["[object Uint8Array]"]=ps["[object Uint8ClampedArray]"]=ps["[object Uint16Array]"]=ps["[object Uint32Array]"]=!0,ps["[object Error]"]=ps[hs]=ps["[object WeakMap]"]=!1;function ys(e){return ms(e,4)}function vs(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var s=e[t];s&&(i[r++]=s)}return i}function gs(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new hi;++t<n;)this.add(e[t])}function $s(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function Ts(e,t){return e.has(t)}gs.prototype.add=gs.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},gs.prototype.has=function(e){return this.__data__.has(e)};function Rs(e,t,n,r,i,s){var o=1&n,a=e.length,u=t.length;if(a!=u&&!(o&&u>a))return!1;var c=s.get(e),l=s.get(t);if(c&&l)return c==t&&l==e;var f=-1,h=!0,d=2&n?new gs:void 0;for(s.set(e,t),s.set(t,e);++f<a;){var p=e[f],m=t[f];if(r)var y=o?r(m,p,f,t,e,s):r(p,m,f,e,t,s);if(void 0!==y){if(y)continue;h=!1;break}if(d){if(!$s(t,function(e,t){if(!Ts(d,t)&&(p===e||i(p,e,n,r,s)))return d.push(t)})){h=!1;break}}else if(p!==m&&!i(p,m,n,r,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function ws(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function bs(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var As=an?an.prototype:void 0,Es=As?As.valueOf:void 0;var ks=Object.prototype.hasOwnProperty;var xs="[object Arguments]",Ss="[object Array]",Os="[object Object]",Cs=Object.prototype.hasOwnProperty;function Ns(e,t,n,r,i,s){var o=gn(e),a=gn(t),u=o?Ss:es(e),c=a?Ss:es(t),l=(u=u==xs?Os:u)==Os,f=(c=c==xs?Os:c)==Os,h=u==c;if(h&&_r(e)){if(!_r(t))return!1;o=!0,l=!1}if(h&&!l)return s||(s=new Si),o||Ur(e)?Rs(e,t,n,r,i,s):function(e,t,n,r,i,s,o){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new ns(e),new ns(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return dr(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=ws;case"[object Set]":var u=1&r;if(a||(a=bs),e.size!=t.size&&!u)return!1;var c=o.get(e);if(c)return c==t;r|=2,o.set(e,t);var l=Rs(a(e),a(t),r,i,s,o);return o.delete(e),l;case"[object Symbol]":if(Es)return Es.call(e)==Es.call(t)}return!1}(e,t,u,n,r,i,s);if(!(1&n)){var d=l&&Cs.call(e,"__wrapped__"),p=f&&Cs.call(t,"__wrapped__");if(d||p){var m=d?e.value():e,y=p?t.value():t;return s||(s=new Si),i(m,y,n,r,s)}}return!!h&&(s||(s=new Si),function(e,t,n,r,i,s){var o=1&n,a=Ui(e),u=a.length;if(u!=Ui(t).length&&!o)return!1;for(var c=u;c--;){var l=a[c];if(!(o?l in t:ks.call(t,l)))return!1}var f=s.get(e),h=s.get(t);if(f&&h)return f==t&&h==e;var d=!0;s.set(e,t),s.set(t,e);for(var p=o;++c<u;){var m=e[l=a[c]],y=t[l];if(r)var v=o?r(y,m,l,t,e,s):r(m,y,l,e,t,s);if(!(void 0===v?m===y||i(m,y,n,r,s):v)){d=!1;break}p||(p="constructor"==l)}if(d&&!p){var g=e.constructor,$=t.constructor;g==$||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof $&&$ instanceof $||(d=!1)}return s.delete(e),s.delete(t),d}(e,t,n,r,i,s))}function _s(e,t,n,r,i){return e===t||(null==e||null==t||!mn(e)&&!mn(t)?e!=e&&t!=t:Ns(e,t,n,r,_s,i))}function Is(e){return e==e&&!En(e)}function Ls(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}function Ms(e){var t=function(e){for(var t=zr(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,Is(i)]}return t}(e);return 1==t.length&&t[0][2]?Ls(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,r){var i=n.length,s=i;if(null==e)return!s;for(e=Object(e);i--;){var o=n[i];if(o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<s;){var a=(o=n[i])[0],u=e[a],c=o[1];if(o[2]){if(void 0===u&&!(a in e))return!1}else if(!_s(c,u,3,r,new Si))return!1}return!0}(n,0,t)}}function Ps(e,t){return null!=e&&t in Object(e)}function js(e,t,n){for(var r=-1,i=(t=vi(t,e)).length,s=!1;++r<i;){var o=gi(t[r]);if(!(s=null!=e&&n(e,o)))break;e=e[o]}return s||++r!=i?s:!!(i=null==e?0:e.length)&&$r(i)&&fr(o,i)&&(gn(e)||Sr(e))}function Ds(e,t){return ni(e)&&Is(t)?Ls(gi(e),t):function(n){var r=function(e,t,n){var r=null==e?void 0:$i(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&js(e,t,Ps)}(n,e):_s(t,r,3)}}function Gs(e){return ni(e)?(t=gi(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return $i(t,e)}}(e);var t}function Us(e){return"function"==typeof e?e:null==e?In:"object"==typeof e?gn(e)?Ds(e[0],e[1]):Ms(e):Gs(e)}function Bs(e,t,n,r){for(var i=-1,s=null==e?0:e.length;++i<s;){var o=e[i];t(r,o,n(o),e)}return r}var Fs=function(e,t,n){for(var r=-1,i=Object(e),s=n(e),o=s.length;o--;){var a=s[++r];if(!1===t(i[a],a,i))break}return e};var Ks,Vs=(Ks=function(e,t){return e&&Fs(e,t,zr)},function(e,t){if(null==e)return e;if(!Tr(e))return Ks(e,t);for(var n=e.length,r=-1,i=Object(e);++r<n&&!1!==t(i[r],r,i););return e});function Hs(e,t,n,r){return Vs(e,function(e,i,s){t(r,e,n(e),s)}),r}var Ws=Object.prototype,zs=Ws.hasOwnProperty,Ys=gr(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&Rr(t[0],t[1],i)&&(r=1);++n<r;)for(var s=t[n],o=Qr(s),a=-1,u=o.length;++a<u;){var c=o[a],l=e[c];(void 0===l||dr(l,Ws[c])&&!zs.call(e,c))&&(e[c]=s[c])}return e});function qs(e){return mn(e)&&Tr(e)}var Xs=gr(function(e,t){return qs(e)?function(e,t,n,r){var i=-1,s=cr,o=!0,a=e.length,u=[],c=t.length;if(!a)return u;t.length>=200&&(s=Ts,o=!1,t=new gs(t));e:for(;++i<a;){var l=e[i],f=l;if(l=0!==l?l:0,o&&f==f){for(var h=c;h--;)if(t[h]===f)continue e;u.push(l)}else s(t,f,r)||u.push(l)}return u}(e,bi(t,0,qs,!0)):[]});function Zs(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function Js(e,t,n){var r=null==e?0:e.length;return r?ki(e,(t=void 0===t?1:_n(t))<0?0:t,r):[]}function Qs(e,t,n){var r=null==e?0:e.length;return r?ki(e,0,(t=r-(t=void 0===t?1:_n(t)))<0?0:t):[]}function eo(e,t){var n;return(gn(e)?sr:Vs)(e,"function"==typeof(n=t)?n:In)}function to(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function no(e,t){var n=!0;return Vs(e,function(e,r,i){return n=!!t(e,r,i)}),n}function ro(e,t,n){return(gn(e)?to:no)(e,Us(t))}function io(e,t){var n=[];return Vs(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}function so(e,t){return(gn(e)?Ii:io)(e,Us(t))}var oo=Math.max;var ao,uo=(ao=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:_n(n);return i<0&&(i=oo(r+i,0)),or(e,Us(t),i)},function(e,t,n){var r=Object(e);if(!Tr(e)){var i=Us(t);e=zr(e),t=function(e){return i(r[e],e,r)}}var s=ao(e,t,n);return s>-1?r[i?e[s]:s]:void 0});function co(e){return e&&e.length?e[0]:void 0}function lo(e,t){var n=-1,r=Tr(e)?Array(e.length):[];return Vs(e,function(e,i,s){r[++n]=t(e,i,s)}),r}function fo(e,t){return(gn(e)?vn:lo)(e,Us(t))}function ho(e,t){return bi(fo(e,t))}var po,mo,yo=Object.prototype.hasOwnProperty,vo=(po=function(e,t,n){yo.call(e,n)?e[n].push(t):hr(e,n,[t])},function(e,t){var n=gn(e)?Bs:Hs,r=mo?mo():{};return n(e,po,Us(t),r)}),go=Object.prototype.hasOwnProperty;function $o(e,t){return null!=e&&go.call(e,t)}function To(e,t){return null!=e&&js(e,t,$o)}function Ro(e){return"string"==typeof e||!gn(e)&&mn(e)&&"[object String]"==pn(e)}function wo(e){return null==e?[]:function(e,t){return vn(t,function(t){return e[t]})}(e,zr(e))}var bo=Math.max;function Ao(e,t,n,r){e=Tr(e)?e:wo(e),n=n?_n(n):0;var i=e.length;return n<0&&(n=bo(i+n,0)),Ro(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&ur(e,t,n)>-1}function Eo(e,t,n){if(!(null==e?0:e.length))return-1;return ur(e,t,0)}var ko=Object.prototype.hasOwnProperty;function xo(e){if(null==e)return!0;if(Tr(e)&&(gn(e)||"string"==typeof e||"function"==typeof e.splice||_r(e)||Ur(e)||Sr(e)))return!e.length;var t=es(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(br(e))return!Wr(e).length;for(var n in e)if(ko.call(e,n))return!1;return!0}var So=Dr&&Dr.isRegExp,Oo=So?Lr(So):function(e){return mn(e)&&"[object RegExp]"==pn(e)};function Co(e){return void 0===e}function No(e,t,n,r){if(!En(e))return e;for(var i=-1,s=(t=vi(t,e)).length,o=s-1,a=e;null!=a&&++i<s;){var u=gi(t[i]),c=n;if("__proto__"===u||"constructor"===u||"prototype"===u)return e;if(i!=o){var l=a[u];void 0===(c=void 0)&&(c=En(l)?l:fr(t[i+1])?[]:{})}mr(a,u,c),a=a[u]}return e}function _o(e,t){if(null==e)return{};var n=vn(function(e){return Gi(e,Qr,Di)}(e),function(e){return[e]});return t=Us(t),function(e,t,n){for(var r=-1,i=t.length,s={};++r<i;){var o=t[r],a=$i(e,o);n(a,o)&&No(s,vi(o,e),a)}return s}(e,n,function(e,n){return t(e,n[0])})}function Io(e,t,n,r,i){return i(e,function(e,i,s){n=r?(r=!1,e):t(n,e,i,s)}),n}function Lo(e,t,n){var r=gn(e)?xi:Io,i=arguments.length<3;return r(e,Us(t),n,i,Vs)}function Mo(e,t){return(gn(e)?Ii:io)(e,function(e){if("function"!=typeof e)throw new TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}(Us(t)))}function Po(e,t){var n;return Vs(e,function(e,r,i){return!(n=t(e,r,i))}),!!n}var jo=Ki&&1/bs(new Ki([,-0]))[1]==1/0?function(e){return new Ki(e)}:Zn;function Do(e){return e&&e.length?function(e,t,n){var r=-1,i=cr,s=e.length,o=!0,a=[],u=a;if(s>=200){var c=jo(e);if(c)return bs(c);o=!1,i=Ts,u=new gs}else u=a;e:for(;++r<s;){var l=e[r],f=l;if(l=0!==l?l:0,o&&f==f){for(var h=u.length;h--;)if(u[h]===f)continue e;a.push(l)}else i(u,f,n)||(u!==a&&u.push(f),a.push(l))}return a}(e):[]}function Go(e){console&&console.error&&console.error(`Error: ${e}`)}function Uo(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function Bo(e){const t=(new Date).getTime(),n=e();return{time:(new Date).getTime()-t,value:n}}function Fo(e){function t(){}t.prototype=e;const n=new t;function r(){return typeof n.bar}return r(),r(),e}var Ko="object"==typeof global&&global&&global.Object===Object&&global,Vo="object"==typeof self&&self&&self.Object===Object&&self,Ho=Ko||Vo||Function("return this")(),Wo=Ho.Symbol,zo=Object.prototype,Yo=zo.hasOwnProperty,qo=zo.toString,Xo=Wo?Wo.toStringTag:void 0;var Zo=Object.prototype.toString;var Jo=Wo?Wo.toStringTag:void 0;function Qo(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Jo&&Jo in Object(e)?function(e){var t=Yo.call(e,Xo),n=e[Xo];try{e[Xo]=void 0;var r=!0}catch(s){}var i=qo.call(e);return r&&(t?e[Xo]=n:delete e[Xo]),i}(e):function(e){return Zo.call(e)}(e)}function ea(e){return null!=e&&"object"==typeof e}function ta(e){return"symbol"==typeof e||ea(e)&&"[object Symbol]"==Qo(e)}function na(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var ra=Array.isArray,ia=Wo?Wo.prototype:void 0,sa=ia?ia.toString:void 0;function oa(e){if("string"==typeof e)return e;if(ra(e))return na(e,oa)+"";if(ta(e))return sa?sa.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}var aa=/\s/;var ua=/^\s+/;function ca(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&aa.test(e.charAt(t)););return t}(e)+1).replace(ua,""):e}function la(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var fa=/^[-+]0x[0-9a-f]+$/i,ha=/^0b[01]+$/i,da=/^0o[0-7]+$/i,pa=parseInt;var ma=1/0;function ya(e){return e?(e=function(e){if("number"==typeof e)return e;if(ta(e))return NaN;if(la(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=la(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=ca(e);var n=ha.test(e);return n||da.test(e)?pa(e.slice(2),n?2:8):fa.test(e)?NaN:+e}(e))===ma||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function va(e){return e}function ga(e){if(!la(e))return!1;var t=Qo(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var $a=Ho["__core-js_shared__"],Ta=function(){var e=/[^.]+$/.exec($a&&$a.keys&&$a.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();var Ra=Function.prototype.toString;function wa(e){if(null!=e){try{return Ra.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var ba=/^\[object .+?Constructor\]$/,Aa=Function.prototype,Ea=Object.prototype,ka=Aa.toString,xa=Ea.hasOwnProperty,Sa=RegExp("^"+ka.call(xa).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Oa(e){return!(!la(e)||function(e){return!!Ta&&Ta in e}(e))&&(ga(e)?Sa:ba).test(wa(e))}function Ca(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Oa(n)?n:void 0}var Na=Ca(Ho,"WeakMap");var _a=Date.now;var Ia=function(){try{var e=Ca(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),La=Ia?function(e,t){return Ia(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:va,Ma=function(e){var t=0,n=0;return function(){var r=_a(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(La);function Pa(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function ja(e){return e!=e}var Da=/^(?:0|[1-9]\d*)$/;function Ga(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Da.test(e))&&e>-1&&e%1==0&&e<t}function Ua(e,t,n){"__proto__"==t&&Ia?Ia(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Ba(e,t){return e===t||e!=e&&t!=t}var Fa=Object.prototype.hasOwnProperty;function Ka(e,t,n){var r=e[t];Fa.call(e,t)&&Ba(r,n)&&(void 0!==n||t in e)||Ua(e,t,n)}var Va=Math.max;function Ha(e,t){return Ma(function(e,t,n){return t=Va(void 0===t?e.length-1:t,0),function(){for(var r=arguments,i=-1,s=Va(r.length-t,0),o=Array(s);++i<s;)o[i]=r[t+i];i=-1;for(var a=Array(t+1);++i<t;)a[i]=r[i];return a[t]=n(o),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,a)}}(e,t,va),e+"")}function Wa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function za(e){return null!=e&&Wa(e.length)&&!ga(e)}var Ya=Object.prototype;function qa(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Ya)}function Xa(e){return ea(e)&&"[object Arguments]"==Qo(e)}var Za=Object.prototype,Ja=Za.hasOwnProperty,Qa=Za.propertyIsEnumerable,eu=Xa(function(){return arguments}())?Xa:function(e){return ea(e)&&Ja.call(e,"callee")&&!Qa.call(e,"callee")};var tu="object"==typeof exports&&exports&&!exports.nodeType&&exports,nu=tu&&"object"==typeof module&&module&&!module.nodeType&&module,ru=nu&&nu.exports===tu?Ho.Buffer:void 0,iu=(ru?ru.isBuffer:void 0)||function(){return!1},su={};function ou(e){return function(t){return e(t)}}su["[object Float32Array]"]=su["[object Float64Array]"]=su["[object Int8Array]"]=su["[object Int16Array]"]=su["[object Int32Array]"]=su["[object Uint8Array]"]=su["[object Uint8ClampedArray]"]=su["[object Uint16Array]"]=su["[object Uint32Array]"]=!0,su["[object Arguments]"]=su["[object Array]"]=su["[object ArrayBuffer]"]=su["[object Boolean]"]=su["[object DataView]"]=su["[object Date]"]=su["[object Error]"]=su["[object Function]"]=su["[object Map]"]=su["[object Number]"]=su["[object Object]"]=su["[object RegExp]"]=su["[object Set]"]=su["[object String]"]=su["[object WeakMap]"]=!1;var au="object"==typeof exports&&exports&&!exports.nodeType&&exports,uu=au&&"object"==typeof module&&module&&!module.nodeType&&module,cu=uu&&uu.exports===au&&Ko.process,lu=function(){try{var e=uu&&uu.require&&uu.require("util").types;return e||cu&&cu.binding&&cu.binding("util")}catch(t){}}(),fu=lu&&lu.isTypedArray,hu=fu?ou(fu):function(e){return ea(e)&&Wa(e.length)&&!!su[Qo(e)]},du=Object.prototype.hasOwnProperty;function pu(e,t){var n=ra(e),r=!n&&eu(e),i=!n&&!r&&iu(e),s=!n&&!r&&!i&&hu(e),o=n||r||i||s,a=o?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],u=a.length;for(var c in e)!t&&!du.call(e,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||s&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Ga(c,u))||a.push(c);return a}function mu(e,t){return function(n){return e(t(n))}}var yu=mu(Object.keys,Object),vu=Object.prototype.hasOwnProperty;function gu(e){return za(e)?pu(e):function(e){if(!qa(e))return yu(e);var t=[];for(var n in Object(e))vu.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}var $u=Object.prototype.hasOwnProperty,Tu=function(e){return Ha(function(t,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(s=e.length>3&&"function"==typeof s?(i--,s):void 0,o&&function(e,t,n){if(!la(n))return!1;var r=typeof t;return!!("number"==r?za(n)&&Ga(t,n.length):"string"==r&&t in n)&&Ba(n[t],e)}(n[0],n[1],o)&&(s=i<3?void 0:s,i=1),t=Object(t);++r<i;){var a=n[r];a&&e(t,a,r,s)}return t})}(function(e,t){if(qa(t)||za(t))!function(e,t,n){var r=!n;n||(n={});for(var i=-1,s=t.length;++i<s;){var o=t[i],a=void 0;void 0===a&&(a=e[o]),r?Ua(n,o,a):Ka(n,o,a)}}(t,gu(t),e);else for(var n in t)$u.call(t,n)&&Ka(e,n,t[n])});var Ru=Object.prototype.hasOwnProperty;function wu(e){if(!la(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=qa(e),n=[];for(var r in e)("constructor"!=r||!t&&Ru.call(e,r))&&n.push(r);return n}function bu(e){return za(e)?pu(e,!0):wu(e)}var Au=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Eu=/^\w*$/;function ku(e,t){if(ra(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ta(e))||(Eu.test(e)||!Au.test(e)||null!=t&&e in Object(t))}var xu=Ca(Object,"create");var Su=Object.prototype.hasOwnProperty;var Ou=Object.prototype.hasOwnProperty;function Cu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Nu(e,t){for(var n=e.length;n--;)if(Ba(e[n][0],t))return n;return-1}Cu.prototype.clear=function(){this.__data__=xu?xu(null):{},this.size=0},Cu.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Cu.prototype.get=function(e){var t=this.__data__;if(xu){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Su.call(t,e)?t[e]:void 0},Cu.prototype.has=function(e){var t=this.__data__;return xu?void 0!==t[e]:Ou.call(t,e)},Cu.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=xu&&void 0===t?"__lodash_hash_undefined__":t,this};var _u=Array.prototype.splice;function Iu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Iu.prototype.clear=function(){this.__data__=[],this.size=0},Iu.prototype.delete=function(e){var t=this.__data__,n=Nu(t,e);return!(n<0)&&(n==t.length-1?t.pop():_u.call(t,n,1),--this.size,!0)},Iu.prototype.get=function(e){var t=this.__data__,n=Nu(t,e);return n<0?void 0:t[n][1]},Iu.prototype.has=function(e){return Nu(this.__data__,e)>-1},Iu.prototype.set=function(e,t){var n=this.__data__,r=Nu(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var Lu=Ca(Ho,"Map");function Mu(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function Pu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Pu.prototype.clear=function(){this.size=0,this.__data__={hash:new Cu,map:new(Lu||Iu),string:new Cu}},Pu.prototype.delete=function(e){var t=Mu(this,e).delete(e);return this.size-=t?1:0,t},Pu.prototype.get=function(e){return Mu(this,e).get(e)},Pu.prototype.has=function(e){return Mu(this,e).has(e)},Pu.prototype.set=function(e,t){var n=Mu(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function ju(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var o=e.apply(this,r);return n.cache=s.set(i,o)||s,o};return n.cache=new(ju.Cache||Pu),n}ju.Cache=Pu;var Du=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Gu=/\\(\\)?/g,Uu=function(e){var t=ju(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Du,function(e,n,r,i){t.push(r?i.replace(Gu,"$1"):n||e)}),t});function Bu(e,t){return ra(e)?e:ku(e,t)?[e]:Uu(function(e){return null==e?"":oa(e)}(e))}function Fu(e){if("string"==typeof e||ta(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Ku(e,t){for(var n=0,r=(t=Bu(t,e)).length;null!=e&&n<r;)e=e[Fu(t[n++])];return n&&n==r?e:void 0}function Vu(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var Hu=mu(Object.getPrototypeOf,Object);function Wu(e){var t=this.__data__=new Iu(e);this.size=t.size}function zu(){return[]}Wu.prototype.clear=function(){this.__data__=new Iu,this.size=0},Wu.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Wu.prototype.get=function(e){return this.__data__.get(e)},Wu.prototype.has=function(e){return this.__data__.has(e)},Wu.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Iu){var r=n.__data__;if(!Lu||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Pu(r)}return n.set(e,t),this.size=n.size,this};var Yu=Object.prototype.propertyIsEnumerable,qu=Object.getOwnPropertySymbols,Xu=qu?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,s=[];++n<r;){var o=e[n];t(o,n,e)&&(s[i++]=o)}return s}(qu(e),function(t){return Yu.call(e,t)}))}:zu,Zu=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Vu(t,Xu(e)),e=Hu(e);return t}:zu;function Ju(e,t,n){var r=t(e);return ra(e)?r:Vu(r,n(e))}function Qu(e){return Ju(e,gu,Xu)}var ec=Ca(Ho,"DataView"),tc=Ca(Ho,"Promise"),nc=Ca(Ho,"Set"),rc="[object Map]",ic="[object Promise]",sc="[object Set]",oc="[object WeakMap]",ac="[object DataView]",uc=wa(ec),cc=wa(Lu),lc=wa(tc),fc=wa(nc),hc=wa(Na),dc=Qo;(ec&&dc(new ec(new ArrayBuffer(1)))!=ac||Lu&&dc(new Lu)!=rc||tc&&dc(tc.resolve())!=ic||nc&&dc(new nc)!=sc||Na&&dc(new Na)!=oc)&&(dc=function(e){var t=Qo(e),n="[object Object]"==t?e.constructor:void 0,r=n?wa(n):"";if(r)switch(r){case uc:return ac;case cc:return rc;case lc:return ic;case fc:return sc;case hc:return oc}return t});var pc=Ho.Uint8Array;function mc(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Pu;++t<n;)this.add(e[t])}function yc(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}mc.prototype.add=mc.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},mc.prototype.has=function(e){return this.__data__.has(e)};function vc(e,t,n,r,i,s){var o=1&n,a=e.length,u=t.length;if(a!=u&&!(o&&u>a))return!1;var c=s.get(e),l=s.get(t);if(c&&l)return c==t&&l==e;var f=-1,h=!0,d=2&n?new mc:void 0;for(s.set(e,t),s.set(t,e);++f<a;){var p=e[f],m=t[f];if(r)var y=o?r(m,p,f,t,e,s):r(p,m,f,e,t,s);if(void 0!==y){if(y)continue;h=!1;break}if(d){if(!yc(t,function(e,t){if(o=t,!d.has(o)&&(p===e||i(p,e,n,r,s)))return d.push(t);var o})){h=!1;break}}else if(p!==m&&!i(p,m,n,r,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function gc(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function $c(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Tc=Wo?Wo.prototype:void 0,Rc=Tc?Tc.valueOf:void 0;var wc=Object.prototype.hasOwnProperty;var bc="[object Arguments]",Ac="[object Array]",Ec="[object Object]",kc=Object.prototype.hasOwnProperty;function xc(e,t,n,r,i,s){var o=ra(e),a=ra(t),u=o?Ac:dc(e),c=a?Ac:dc(t),l=(u=u==bc?Ec:u)==Ec,f=(c=c==bc?Ec:c)==Ec,h=u==c;if(h&&iu(e)){if(!iu(t))return!1;o=!0,l=!1}if(h&&!l)return s||(s=new Wu),o||hu(e)?vc(e,t,n,r,i,s):function(e,t,n,r,i,s,o){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new pc(e),new pc(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Ba(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=gc;case"[object Set]":var u=1&r;if(a||(a=$c),e.size!=t.size&&!u)return!1;var c=o.get(e);if(c)return c==t;r|=2,o.set(e,t);var l=vc(a(e),a(t),r,i,s,o);return o.delete(e),l;case"[object Symbol]":if(Rc)return Rc.call(e)==Rc.call(t)}return!1}(e,t,u,n,r,i,s);if(!(1&n)){var d=l&&kc.call(e,"__wrapped__"),p=f&&kc.call(t,"__wrapped__");if(d||p){var m=d?e.value():e,y=p?t.value():t;return s||(s=new Wu),i(m,y,n,r,s)}}return!!h&&(s||(s=new Wu),function(e,t,n,r,i,s){var o=1&n,a=Qu(e),u=a.length;if(u!=Qu(t).length&&!o)return!1;for(var c=u;c--;){var l=a[c];if(!(o?l in t:wc.call(t,l)))return!1}var f=s.get(e),h=s.get(t);if(f&&h)return f==t&&h==e;var d=!0;s.set(e,t),s.set(t,e);for(var p=o;++c<u;){var m=e[l=a[c]],y=t[l];if(r)var v=o?r(y,m,l,t,e,s):r(m,y,l,e,t,s);if(!(void 0===v?m===y||i(m,y,n,r,s):v)){d=!1;break}p||(p="constructor"==l)}if(d&&!p){var g=e.constructor,$=t.constructor;g==$||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof $&&$ instanceof $||(d=!1)}return s.delete(e),s.delete(t),d}(e,t,n,r,i,s))}function Sc(e,t,n,r,i){return e===t||(null==e||null==t||!ea(e)&&!ea(t)?e!=e&&t!=t:xc(e,t,n,r,Sc,i))}function Oc(e){return e==e&&!la(e)}function Cc(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}function Nc(e){var t=function(e){for(var t=gu(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,Oc(i)]}return t}(e);return 1==t.length&&t[0][2]?Cc(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,r){var i=n.length,s=i;if(null==e)return!s;for(e=Object(e);i--;){var o=n[i];if(o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<s;){var a=(o=n[i])[0],u=e[a],c=o[1];if(o[2]){if(void 0===u&&!(a in e))return!1}else if(!Sc(c,u,3,r,new Wu))return!1}return!0}(n,0,t)}}function _c(e,t){return null!=e&&t in Object(e)}function Ic(e,t){return null!=e&&function(e,t,n){for(var r=-1,i=(t=Bu(t,e)).length,s=!1;++r<i;){var o=Fu(t[r]);if(!(s=null!=e&&n(e,o)))break;e=e[o]}return s||++r!=i?s:!!(i=null==e?0:e.length)&&Wa(i)&&Ga(o,i)&&(ra(e)||eu(e))}(e,t,_c)}function Lc(e,t){return ku(e)&&Oc(t)?Cc(Fu(e),t):function(n){var r=function(e,t,n){var r=null==e?void 0:Ku(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?Ic(n,e):Sc(t,r,3)}}function Mc(e){return ku(e)?(t=Fu(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return Ku(t,e)}}(e);var t}function Pc(e){return"function"==typeof e?e:null==e?va:"object"==typeof e?ra(e)?Lc(e[0],e[1]):Nc(e):Mc(e)}var jc=function(e,t,n){for(var r=-1,i=Object(e),s=n(e),o=s.length;o--;){var a=s[++r];if(!1===t(i[a],a,i))break}return e};var Dc=function(e){return function(t,n){if(null==t)return t;if(!za(t))return e(t,n);for(var r=t.length,i=-1,s=Object(t);++i<r&&!1!==n(s[i],i,s););return t}}(function(e,t){return e&&jc(e,t,gu)});function Gc(e,t){var n;return(ra(e)?Pa:Dc)(e,"function"==typeof(n=t)?n:va)}function Uc(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Bc(e,t){var n=!0;return Dc(e,function(e,r,i){return n=!!t(e,r,i)}),n}function Fc(e,t){var n=-1,r=za(e)?Array(e.length):[];return Dc(e,function(e,i,s){r[++n]=t(e,i,s)}),r}function Kc(e,t){return(ra(e)?na:Fc)(e,Pc(t))}function Vc(e){return"string"==typeof e||!ra(e)&&ea(e)&&"[object String]"==Qo(e)}function Hc(e){return null==e?[]:function(e,t){return na(t,function(t){return e[t]})}(e,gu(e))}var Wc=Math.max;function zc(e,t,n,r){e=za(e)?e:Hc(e),n=n?function(e){var t=ya(e),n=t%1;return t==t?n?t-n:t:0}(n):0;var i=e.length;return n<0&&(n=Wc(i+n,0)),Vc(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&function(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):function(e,t,n){for(var r=e.length,i=n+-1;++i<r;)if(t(e[i],i,e))return i;return-1}(e,ja,n)}(e,t,n)>-1}var Yc=lu&&lu.isRegExp,qc=Yc?ou(Yc):function(e){return ea(e)&&"[object RegExp]"==Qo(e)};function Xc(e,t,n,r){if(!la(e))return e;for(var i=-1,s=(t=Bu(t,e)).length,o=s-1,a=e;null!=a&&++i<s;){var u=Fu(t[i]),c=n;if("__proto__"===u||"constructor"===u||"prototype"===u)return e;if(i!=o){var l=a[u];void 0===(c=void 0)&&(c=la(l)?l:Ga(t[i+1])?[]:{})}Ka(a,u,c),a=a[u]}return e}function Zc(e,t){if(null==e)return{};var n=na(function(e){return Ju(e,bu,Zu)}(e),function(e){return[e]});return t=Pc(t),function(e,t,n){for(var r=-1,i=t.length,s={};++r<i;){var o=t[r],a=Ku(e,o);n(a,o)&&Xc(s,Bu(o,e),a)}return s}(e,n,function(e,n){return t(e,n[0])})}function Jc(e,t){var n;return Dc(e,function(e,r,i){return!(n=t(e,r,i))}),!!n}function Qc(e){return Vc((t=e).LABEL)&&""!==t.LABEL?e.LABEL:e.name;var t}class el{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Gc(this.definition,t=>{t.accept(e)})}}class tl extends el{constructor(e){super([]),this.idx=1,Tu(this,Zc(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class nl extends el{constructor(e){super(e.definition),this.orgText="",Tu(this,Zc(e,e=>void 0!==e))}}class rl extends el{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Tu(this,Zc(e,e=>void 0!==e))}}let il=class extends el{constructor(e){super(e.definition),this.idx=1,Tu(this,Zc(e,e=>void 0!==e))}};class sl extends el{constructor(e){super(e.definition),this.idx=1,Tu(this,Zc(e,e=>void 0!==e))}}class ol extends el{constructor(e){super(e.definition),this.idx=1,Tu(this,Zc(e,e=>void 0!==e))}}class al extends el{constructor(e){super(e.definition),this.idx=1,Tu(this,Zc(e,e=>void 0!==e))}}class ul extends el{constructor(e){super(e.definition),this.idx=1,Tu(this,Zc(e,e=>void 0!==e))}}class cl extends el{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,Tu(this,Zc(e,e=>void 0!==e))}}class ll{constructor(e){this.idx=1,Tu(this,Zc(e,e=>void 0!==e))}accept(e){e.visit(this)}}function fl(e){function t(e){return Kc(e,fl)}if(e instanceof tl){const t={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return Vc(e.label)&&(t.label=e.label),t}if(e instanceof rl)return{type:"Alternative",definition:t(e.definition)};if(e instanceof il)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof sl)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof ol)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:fl(new ll({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof ul)return{type:"RepetitionWithSeparator",idx:e.idx,separator:fl(new ll({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof al)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof cl)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof ll){const t={type:"Terminal",name:e.terminalType.name,label:Qc(e.terminalType),idx:e.idx};Vc(e.label)&&(t.terminalLabel=e.label);const n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=qc(n)?n.source:n),t}if(e instanceof nl)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}class hl{visit(e){const t=e;switch(t.constructor){case tl:return this.visitNonTerminal(t);case rl:return this.visitAlternative(t);case il:return this.visitOption(t);case sl:return this.visitRepetitionMandatory(t);case ol:return this.visitRepetitionMandatoryWithSeparator(t);case ul:return this.visitRepetitionWithSeparator(t);case al:return this.visitRepetition(t);case cl:return this.visitAlternation(t);case ll:return this.visitTerminal(t);case nl: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 dl(e,t=[]){return!!(e instanceof il||e instanceof al||e instanceof ul)||(e instanceof cl?(n=e.definition,r=e=>dl(e,t),(ra(n)?yc:Jc)(n,Pc(r))):!(e instanceof tl&&zc(t,e))&&(e instanceof el&&(e instanceof tl&&t.push(e),function(e,t){return(ra(e)?Uc:Bc)(e,Pc(t))}(e.definition,e=>dl(e,t)))));var n,r}function pl(e){if(e instanceof tl)return"SUBRULE";if(e instanceof il)return"OPTION";if(e instanceof cl)return"OR";if(e instanceof sl)return"AT_LEAST_ONE";if(e instanceof ol)return"AT_LEAST_ONE_SEP";if(e instanceof ul)return"MANY_SEP";if(e instanceof al)return"MANY";if(e instanceof ll)return"CONSUME";throw Error("non exhaustive match")}class ml{walk(e,t=[]){eo(e.definition,(n,r)=>{const i=Js(e.definition,r+1);if(n instanceof tl)this.walkProdRef(n,i,t);else if(n instanceof ll)this.walkTerminal(n,i,t);else if(n instanceof rl)this.walkFlat(n,i,t);else if(n instanceof il)this.walkOption(n,i,t);else if(n instanceof sl)this.walkAtLeastOne(n,i,t);else if(n instanceof ol)this.walkAtLeastOneSep(n,i,t);else if(n instanceof ul)this.walkManySep(n,i,t);else if(n instanceof al)this.walkMany(n,i,t);else{if(!(n instanceof cl))throw Error("non exhaustive match");this.walkOr(n,i,t)}})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){const r=t.concat(n);this.walk(e,r)}walkOption(e,t,n){const r=t.concat(n);this.walk(e,r)}walkAtLeastOne(e,t,n){const r=[new il({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){const r=yl(e,t,n);this.walk(e,r)}walkMany(e,t,n){const r=[new il({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){const r=yl(e,t,n);this.walk(e,r)}walkOr(e,t,n){const r=t.concat(n);eo(e.definition,e=>{const t=new rl({definition:[e]});this.walk(t,r)})}}function yl(e,t,n){return[new il({definition:[new ll({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}function vl(e){if(e instanceof tl)return vl(e.referencedRule);if(e instanceof ll)return[e.terminalType];if(function(e){return e instanceof rl||e instanceof il||e instanceof al||e instanceof sl||e instanceof ol||e instanceof ul||e instanceof ll||e instanceof nl}(e))return function(e){let t=[];const n=e.definition;let r,i=0,s=n.length>i,o=!0;for(;s&&o;)r=n[i],o=dl(r),t=t.concat(vl(r)),i+=1,s=n.length>i;return Do(t)}(e);if(function(e){return e instanceof cl}(e))return function(e){const t=fo(e.definition,e=>vl(e));return Do(Ai(t))}(e);throw Error("non exhaustive match")}const gl="_~IN~_";class $l extends ml{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){const r=(i=e.referencedRule,s=e.idx,i.name+s+gl+this.topProd.name);var i,s;const o=t.concat(n),a=vl(new rl({definition:o}));this.follows[r]=a}}let Tl={};const Rl=new Ct;function wl(e){const t=e.toString();if(Tl.hasOwnProperty(t))return Tl[t];{const e=Rl.pattern(t);return Tl[t]=e,e}}const bl="Complement Sets are not supported for first char optimization",Al='Unable to use "first char" lexer optimizations:\n';function El(e,t=!1){try{const t=wl(e);return kl(t.value,{},t.flags.ignoreCase)}catch(n){if(n.message===bl)t&&Uo(`${Al}\tUnable to optimize: < ${e.toString()} >\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";t&&(n="\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),Go(`${Al}\n\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function kl(e,t,n){switch(e.type){case"Disjunction":for(let i=0;i<e.value.length;i++)kl(e.value[i],t,n);break;case"Alternative":const r=e.value;for(let e=0;e<r.length;e++){const i=r[e];switch(i.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const s=i;switch(s.type){case"Character":xl(s.value,t,n);break;case"Set":if(!0===s.complement)throw Error(bl);eo(s.value,e=>{if("number"==typeof e)xl(e,t,n);else{const r=e;if(!0===n)for(let e=r.from;e<=r.to;e++)xl(e,t,n);else{for(let e=r.from;e<=r.to&&e<ql;e++)xl(e,t,n);if(r.to>=ql){const e=r.from>=ql?r.from:ql,n=r.to,i=Zl(e),s=Zl(n);for(let r=i;r<=s;r++)t[r]=r}}}});break;case"Group":kl(s.value,t,n);break;default:throw Error("Non Exhaustive Match")}const o=void 0!==s.quantifier&&0===s.quantifier.atLeast;if("Group"===s.type&&!1===Ol(s)||"Group"!==s.type&&!1===o)break}break;default:throw Error("non exhaustive match!")}return wo(t)}function xl(e,t,n){const r=Zl(e);t[r]=r,!0===n&&function(e,t){const n=String.fromCharCode(e),r=n.toUpperCase();if(r!==n){const e=Zl(r.charCodeAt(0));t[e]=e}else{const e=n.toLowerCase();if(e!==n){const n=Zl(e.charCodeAt(0));t[n]=n}}}(e,t)}function Sl(e,t){return uo(e.value,e=>{if("number"==typeof e)return Ao(t,e);{const n=e;return void 0!==uo(t,e=>n.from<=e&&e<=n.to)}})}function Ol(e){const t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&(gn(e.value)?ro(e.value,Ol):Ol(e.value))}class Cl extends Nt{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e)}super.visitChildren(e)}}visitCharacter(e){Ao(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===Sl(e,this.targetCharCodes)&&(this.found=!0):void 0!==Sl(e,this.targetCharCodes)&&(this.found=!0)}}function Nl(e,t){if(t instanceof RegExp){const n=wl(t),r=new Cl(e);return r.visit(n),r.found}return void 0!==uo(t,t=>Ao(e,t.charCodeAt(0)))}const _l="PATTERN",Il="defaultMode",Ll="modes";let Ml="boolean"==typeof new RegExp("(?:)").sticky;function Pl(e,t){const n=(t=Ys(t,{useSticky:Ml,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(e,t)=>t()})).tracer;let r;n("initCharCodeToOptimizedIndexMap",()=>{!function(){if(xo(Xl)){Xl=new Array(65536);for(let e=0;e<65536;e++)Xl[e]=e>255?255+~~(e/255):e}}()}),n("Reject Lexer.NA",()=>{r=Mo(e,e=>e[_l]===hf.NA)});let i,s,o,a,u,c,l,f,h,d,p,m=!1;n("Transform Patterns",()=>{m=!1,i=fo(r,e=>{const n=e[_l];if(Oo(n)){const e=n.source;return 1!==e.length||"^"===e||"$"===e||"."===e||n.ignoreCase?2!==e.length||"\\"!==e[0]||Ao(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?t.useSticky?Bl(n):Ul(n):e[1]:e}if(Ln(n))return m=!0,{exec:n};if("object"==typeof n)return m=!0,n;if("string"==typeof n){if(1===n.length)return n;{const e=n.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),r=new RegExp(e);return t.useSticky?Bl(r):Ul(r)}}throw Error("non exhaustive match")})}),n("misc mapping",()=>{s=fo(r,e=>e.tokenTypeIdx),o=fo(r,e=>{const t=e.GROUP;if(t!==hf.SKIPPED){if(Ro(t))return t;if(Co(t))return!1;throw Error("non exhaustive match")}}),a=fo(r,e=>{const t=e.LONGER_ALT;if(t){return gn(t)?fo(t,e=>Eo(r,e)):[Eo(r,t)]}}),u=fo(r,e=>e.PUSH_MODE),c=fo(r,e=>To(e,"POP_MODE"))}),n("Line Terminator Handling",()=>{const e=zl(t.lineTerminatorCharacters);l=fo(r,e=>!1),"onlyOffset"!==t.positionTracking&&(l=fo(r,t=>To(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===Wl(t,e)&&Nl(e,t.PATTERN)))}),n("Misc Mapping #2",()=>{f=fo(r,Kl),h=fo(i,Vl),d=Lo(r,(e,t)=>{const n=t.GROUP;return Ro(n)&&n!==hf.SKIPPED&&(e[n]=[]),e},{}),p=fo(i,(e,t)=>({pattern:i[t],longerAlt:a[t],canLineTerminator:l[t],isCustom:f[t],short:h[t],group:o[t],push:u[t],pop:c[t],tokenTypeIdx:s[t],tokenType:r[t]}))});let y=!0,v=[];return t.safeMode||n("First Char Optimization",()=>{v=Lo(r,(e,n,r)=>{if("string"==typeof n.PATTERN){const t=Zl(n.PATTERN.charCodeAt(0));Yl(e,t,p[r])}else if(gn(n.START_CHARS_HINT)){let t;eo(n.START_CHARS_HINT,n=>{const i=Zl("string"==typeof n?n.charCodeAt(0):n);t!==i&&(t=i,Yl(e,i,p[r]))})}else if(Oo(n.PATTERN))if(n.PATTERN.unicode)y=!1,t.ensureOptimizations&&Go(`${Al}\tUnable to analyze < ${n.PATTERN.toString()} > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const i=El(n.PATTERN,t.ensureOptimizations);xo(i)&&(y=!1),eo(i,t=>{Yl(e,t,p[r])})}else t.ensureOptimizations&&Go(`${Al}\tTokenType: <${n.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return e},[])}),{emptyGroups:d,patternIdxToConfig:p,charCodeToPatternIdxToConfig:v,hasCustom:m,canBeOptimized:y}}function jl(e,t){let n=[];const r=function(e){const t=so(e,e=>!To(e,_l)),n=fo(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:cf.MISSING_PATTERN,tokenTypes:[e]})),r=Xs(e,t);return{errors:n,valid:r}}(e);n=n.concat(r.errors);const i=function(e){const t=so(e,e=>{const t=e[_l];return!(Oo(t)||Ln(t)||To(t,"exec")||Ro(t))}),n=fo(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:cf.INVALID_PATTERN,tokenTypes:[e]})),r=Xs(e,t);return{errors:n,valid:r}}(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(function(e){let t=[];const n=so(e,e=>Oo(e[_l]));return t=t.concat(function(e){class t extends Nt{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}const n=so(e,e=>{const n=e.PATTERN;try{const e=wl(n),r=new t;return r.visit(e),r.found}catch(r){return Dl.test(n.source)}}),r=fo(n,e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:cf.EOI_ANCHOR_FOUND,tokenTypes:[e]}));return r}(n)),t=t.concat(function(e){class t extends Nt{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}const n=so(e,e=>{const n=e.PATTERN;try{const e=wl(n),r=new t;return r.visit(e),r.found}catch(r){return Gl.test(n.source)}}),r=fo(n,e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:cf.SOI_ANCHOR_FOUND,tokenTypes:[e]}));return r}(n)),t=t.concat(function(e){const t=so(e,e=>{const t=e[_l];return t instanceof RegExp&&(t.multiline||t.global)}),n=fo(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:cf.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}));return n}(n)),t=t.concat(function(e){const t=[];let n=fo(e,n=>Lo(e,(e,r)=>(n.PATTERN.source!==r.PATTERN.source||Ao(t,r)||r.PATTERN===hf.NA||(t.push(r),e.push(r)),e),[]));n=vs(n);const r=fo(so(n,e=>e.length>1),e=>{const t=fo(e,e=>e.name);return{message:`The same RegExp pattern ->${co(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:cf.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}});return r}(n)),t=t.concat(function(e){const t=so(e,e=>e.PATTERN.test("")),n=fo(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:cf.EMPTY_MATCH_PATTERN,tokenTypes:[e]}));return n}(n)),t}(s)),n=n.concat(function(e){const t=so(e,e=>{if(!To(e,"GROUP"))return!1;const t=e.GROUP;return t!==hf.SKIPPED&&t!==hf.NA&&!Ro(t)}),n=fo(t,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:cf.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}));return n}(s)),n=n.concat(function(e,t){const n=so(e,e=>void 0!==e.PUSH_MODE&&!Ao(t,e.PUSH_MODE)),r=fo(n,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:cf.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}));return r}(s,t)),n=n.concat(function(e){const t=[],n=Lo(e,(e,t,n)=>{const r=t.PATTERN;return r===hf.NA||(Ro(r)?e.push({str:r,idx:n,tokenType:t}):Oo(r)&&(i=r,void 0===uo([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==i.source.indexOf(e)))&&e.push({str:r.source,idx:n,tokenType:t})),e;var i},[]);return eo(e,(e,r)=>{eo(n,({str:n,idx:i,tokenType:s})=>{if(r<i&&function(e,t){if(Oo(t)){const n=t.exec(e);return null!==n&&0===n.index}if(Ln(t))return t(e,0,[],{});if(To(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}(n,e.PATTERN)){const n=`Token: ->${s.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:n,type:cf.UNREACHABLE_PATTERN,tokenTypes:[e,s]})}})}),t}(s)),n}const Dl=/[^\\][$]/;const Gl=/[^\\[][\^]|^\^/;function Ul(e){const t=e.ignoreCase?"i":"";return new RegExp(`^(?:${e.source})`,t)}function Bl(e){const t=e.ignoreCase?"iy":"y";return new RegExp(`${e.source}`,t)}function Fl(e,t,n){const r=[];let i=!1;const s=Mo(vs(Ai(wo(e.modes))),e=>e[_l]===hf.NA),o=zl(n);return t&&eo(s,e=>{const t=Wl(e,o);if(!1!==t){const n=function(e,t){if(t.issue===cf.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===cf.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n\tThe problem is in the <${e.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(e,t),i={message:n,type:t.issue,tokenType:e};r.push(i)}else To(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):Nl(o,e.PATTERN)&&(i=!0)}),t&&!i&&r.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:cf.NO_LINE_BREAKS_FLAGS}),r}function Kl(e){const t=e.PATTERN;if(Oo(t))return!1;if(Ln(t))return!0;if(To(t,"exec"))return!0;if(Ro(t))return!1;throw Error("non exhaustive match")}function Vl(e){return!(!Ro(e)||1!==e.length)&&e.charCodeAt(0)}const Hl={test:function(e){const t=e.length;for(let n=this.lastIndex;n<t;n++){const t=e.charCodeAt(n);if(10===t)return this.lastIndex=n+1,!0;if(13===t)return 10===e.charCodeAt(n+1)?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function Wl(e,t){if(To(e,"LINE_BREAKS"))return!1;if(Oo(e.PATTERN)){try{Nl(t,e.PATTERN)}catch(n){return{issue:cf.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}if(Ro(e.PATTERN))return!1;if(Kl(e))return{issue:cf.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function zl(e){return fo(e,e=>Ro(e)?e.charCodeAt(0):e)}function Yl(e,t,n){void 0===e[t]?e[t]=[n]:e[t].push(n)}const ql=256;let Xl=[];function Zl(e){return e<ql?e:Xl[e]}function Jl(e,t){const n=e.tokenTypeIdx;return n===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[n]}function Ql(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}let ef=1;const tf={};function nf(e){const t=function(e){let t=ys(e),n=e,r=!0;for(;r;){n=vs(Ai(fo(n,e=>e.CATEGORIES)));const e=Xs(n,t);t=t.concat(e),xo(e)?r=!1:n=e}return t}(e);!function(e){eo(e,e=>{sf(e)||(tf[ef]=e,e.tokenTypeIdx=ef++),of(e)&&!gn(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),of(e)||(e.CATEGORIES=[]),To(e,"categoryMatches")||(e.categoryMatches=[]),function(e){return To(e,"categoryMatchesMap")}(e)||(e.categoryMatchesMap={})})}(t),function(e){eo(e,e=>{rf([],e)})}(t),function(e){eo(e,e=>{e.categoryMatches=[],eo(e.categoryMatchesMap,(t,n)=>{e.categoryMatches.push(tf[n].tokenTypeIdx)})})}(t),eo(t,e=>{e.isParent=e.categoryMatches.length>0})}function rf(e,t){eo(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),eo(t.CATEGORIES,n=>{const r=e.concat(t);Ao(r,n)||rf(r,n)})}function sf(e){return To(e,"tokenTypeIdx")}function of(e){return To(e,"CATEGORIES")}function af(e){return To(e,"tokenTypeIdx")}const uf={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,n,r,i)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${n} characters.`};var cf,lf;(lf=cf||(cf={}))[lf.MISSING_PATTERN=0]="MISSING_PATTERN",lf[lf.INVALID_PATTERN=1]="INVALID_PATTERN",lf[lf.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",lf[lf.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",lf[lf.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",lf[lf.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",lf[lf.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",lf[lf.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",lf[lf.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",lf[lf.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",lf[lf.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",lf[lf.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",lf[lf.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",lf[lf.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",lf[lf.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",lf[lf.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",lf[lf.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",lf[lf.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";const ff={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:uf,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(ff);class hf{constructor(e,t=ff){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=(e,t)=>{if(!0===this.traceInitPerf){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--\x3e <${e}>`);const{time:r,value:i}=Bo(t),s=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${r}ms`),this.traceInitIndent--,i}return t()},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=Xr({},ff,t);const n=this.config.traceInitPerf;!0===n?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof n&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let n,r=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===ff.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Hl;else if(this.config.lineTerminatorCharacters===ff.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(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),gn(e)?n={modes:{defaultMode:ys(e)},defaultMode:Il}:(r=!1,n=ys(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e){const t=[];return To(e,Il)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+Il+"> property in its definition\n",type:cf.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),To(e,Ll)||t.push({message:"A MultiMode Lexer cannot be initialized without a <modes> property in its definition\n",type:cf.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),To(e,Ll)&&To(e,Il)&&!To(e.modes,e.defaultMode)&&t.push({message:`A MultiMode Lexer cannot be initialized with a ${Il}: <${e.defaultMode}>which does not exist\n`,type:cf.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),To(e,Ll)&&eo(e.modes,(e,n)=>{eo(e,(r,i)=>{Co(r)?t.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${n}> at index: <${i}>\n`,type:cf.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):To(r,"LONGER_ALT")&&eo(gn(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT],i=>{Co(i)||Ao(e,i)||t.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${n}>\n`,type:cf.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),t}(n,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Fl(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),n.modes=n.modes?n.modes:{},eo(n.modes,(e,t)=>{n.modes[t]=Mo(e,e=>Co(e))});const i=zr(n.modes);if(eo(n.modes,(e,n)=>{this.TRACE_INIT(`Mode: <${n}> processing`,()=>{if(this.modes.push(n),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(jl(e,i))}),xo(this.lexerDefinitionErrors)){let r;nf(e),this.TRACE_INIT("analyzeTokenTypes",()=>{r=Pl(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[n]=r.patternIdxToConfig,this.charCodeToPatternIdxToConfig[n]=r.charCodeToPatternIdxToConfig,this.emptyGroups=Xr({},this.emptyGroups,r.emptyGroups),this.hasCustom=r.hasCustom||this.hasCustom,this.canModeBeOptimized[n]=r.canBeOptimized}})}),this.defaultMode=n.defaultMode,!xo(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const e=fo(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n");throw new Error("Errors detected in definition of Lexer:\n"+e)}eo(this.lexerDefinitionWarning,e=>{Uo(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(Ml?(this.chopInput=In,this.match=this.matchWithTest):(this.updateLastIndex=Zn,this.match=this.matchWithExec),r&&(this.handleModes=Zn),!1===this.trackStartLines&&(this.computeNewColumn=In),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=Zn),/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 e=Lo(this.canModeBeOptimized,(e,t,n)=>(!1===t&&e.push(n),e),[]);if(t.ensureOptimizations&&!xo(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Tl={}}),this.TRACE_INIT("toFastProperties",()=>{Fo(this)})})}tokenize(e,t=this.defaultMode){if(!xo(this.lexerDefinitionErrors)){const e=fo(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n");throw new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+e)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let n,r,i,s,o,a,u,c,l,f,h,d,p,m,y;const v=e,g=v.length;let $=0,T=0;const R=this.hasCustom?0:Math.floor(e.length/10),w=new Array(R),b=[];let A=this.trackStartLines?1:void 0,E=this.trackStartLines?1:void 0;const k=function(e){const t={};return eo(zr(e),n=>{const r=e[n];if(!gn(r))throw Error("non exhaustive match");t[n]=[]}),t}(this.emptyGroups),x=this.trackStartLines,S=this.config.lineTerminatorsPattern;let O=0,C=[],N=[];const _=[],I=[];let L;function M(){return C}function P(e){const t=Zl(e),n=N[t];return void 0===n?I:n}Object.freeze(I);const j=e=>{if(1===_.length&&void 0===e.tokenType.PUSH_MODE){const t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);b.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{_.pop();const e=Zs(_);C=this.patternIdxToConfig[e],N=this.charCodeToPatternIdxToConfig[e],O=C.length;const t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;L=N&&t?P:M}};function D(e){_.push(e),N=this.charCodeToPatternIdxToConfig[e],C=this.patternIdxToConfig[e],O=C.length,O=C.length;const t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;L=N&&t?P:M}let G;D.call(this,t);const U=this.config.recoveryEnabled;for(;$<g;){a=null;const t=v.charCodeAt($),R=L(t),N=R.length;for(n=0;n<N;n++){G=R[n];const r=G.pattern;u=null;const l=G.short;if(!1!==l?t===l&&(a=r):!0===G.isCustom?(y=r.exec(v,$,w,k),null!==y?(a=y[0],void 0!==y.payload&&(u=y.payload)):a=null):(this.updateLastIndex(r,$),a=this.match(r,e,$)),null!==a){if(o=G.longerAlt,void 0!==o){const t=o.length;for(i=0;i<t;i++){const t=C[o[i]],n=t.pattern;if(c=null,!0===t.isCustom?(y=n.exec(v,$,w,k),null!==y?(s=y[0],void 0!==y.payload&&(c=y.payload)):s=null):(this.updateLastIndex(n,$),s=this.match(n,e,$)),s&&s.length>a.length){a=s,u=c,G=t;break}}}break}}if(null!==a){if(l=a.length,f=G.group,void 0!==f&&(h=G.tokenTypeIdx,d=this.createTokenInstance(a,$,h,G.tokenType,A,E,l),this.handlePayload(d,u),!1===f?T=this.addToken(w,T,d):k[f].push(d)),e=this.chopInput(e,l),$+=l,E=this.computeNewColumn(E,l),!0===x&&!0===G.canLineTerminator){let e,t,n=0;S.lastIndex=0;do{e=S.test(a),!0===e&&(t=S.lastIndex-1,n++)}while(!0===e);0!==n&&(A+=n,E=l-t,this.updateTokenEndLineColumnLocation(d,f,t,n,A,E,l))}this.handleModes(G,j,D,d)}else{const t=$,n=A,i=E;let s=!1===U;for(;!1===s&&$<g;)for(e=this.chopInput(e,1),$++,r=0;r<O;r++){const t=C[r],n=t.pattern,i=t.short;if(!1!==i?v.charCodeAt($)===i&&(s=!0):!0===t.isCustom?s=null!==n.exec(v,$,w,k):(this.updateLastIndex(n,$),s=null!==n.exec(e)),!0===s)break}if(p=$-t,E=this.computeNewColumn(E,p),m=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(v,t,p,n,i),b.push({offset:t,line:n,column:i,length:p,message:m}),!1===U)break}}return this.hasCustom||(w.length=T),{tokens:w,groups:k,errors:b}}handleModes(e,t,n,r){if(!0===e.pop){const i=e.push;t(r),void 0!==i&&n.call(this,i)}else void 0!==e.push&&n.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,n,r,i,s,o){let a,u;void 0!==t&&(a=n===o-1,u=a?-1:0,1===r&&!0===a||(e.endLine=i+u,e.endColumn=s-1-u))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,n,r){return{image:e,startOffset:t,tokenTypeIdx:n,tokenType:r}}createStartOnlyToken(e,t,n,r,i,s){return{image:e,startOffset:t,startLine:i,startColumn:s,tokenTypeIdx:n,tokenType:r}}createFullToken(e,t,n,r,i,s,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:i,endLine:i,startColumn:s,endColumn:s+o-1,tokenTypeIdx:n,tokenType:r}}addTokenUsingPush(e,t,n){return e.push(n),t}addTokenUsingMemberAccess(e,t,n){return e[t]=n,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}matchWithTest(e,t,n){return!0===e.test(t)?t.substring(n,e.lastIndex):null}matchWithExec(e,t){const n=e.exec(t);return null!==n?n[0]:null}}function df(e){return pf(e)?e.LABEL:e.name}function pf(e){return Ro(e.LABEL)&&""!==e.LABEL}hf.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.",hf.NA=/NOT_APPLICABLE/;const mf="parent",yf="categories",vf="label",gf="group",$f="push_mode",Tf="pop_mode",Rf="longer_alt",wf="line_breaks",bf="start_chars_hint";function Af(e){return function(e){const t=e.pattern,n={};n.name=e.name,Co(t)||(n.PATTERN=t);if(To(e,mf))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";To(e,yf)&&(n.CATEGORIES=e[yf]);nf([n]),To(e,vf)&&(n.LABEL=e[vf]);To(e,gf)&&(n.GROUP=e[gf]);To(e,Tf)&&(n.POP_MODE=e[Tf]);To(e,$f)&&(n.PUSH_MODE=e[$f]);To(e,Rf)&&(n.LONGER_ALT=e[Rf]);To(e,wf)&&(n.LINE_BREAKS=e[wf]);To(e,bf)&&(n.START_CHARS_HINT=e[bf]);return n}(e)}const Ef=Af({name:"EOF",pattern:hf.NA});function kf(e,t,n,r,i,s,o,a){return{image:t,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function xf(e,t){return Jl(e,t)}nf([Ef]);const Sf={buildMismatchTokenMessage:({expected:e,actual:t,previous:n,ruleName:r})=>`Expecting ${pf(e)?`--\x3e ${df(e)} <--`:`token of type --\x3e ${e.name} <--`} but found --\x3e '${t.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o="\nbut found: '"+co(t).image+"'";if(r)return s+r+o;{const t=fo(Lo(e,(e,t)=>e.concat(t),[]),e=>`[${fo(e,e=>df(e)).join(", ")}]`);return s+`one of these possible Token sequences:\n${fo(t,(e,t)=>` ${t+1}. ${e}`).join("\n")}`+o}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:n,ruleName:r}){const i="Expecting: ",s="\nbut found: '"+co(t).image+"'";if(n)return i+n+s;return i+`expecting at least one iteration which starts with one of these possible Token sequences::\n <${fo(e,e=>`[${fo(e,e=>df(e)).join(",")}]`).join(" ,")}>`+s}};Object.freeze(Sf);const Of={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},Cf={buildDuplicateFoundError(e,t){const n=e.name,r=co(t),i=r.idx,s=pl(r),o=(a=r)instanceof ll?a.terminalType.name:a instanceof tl?a.nonTerminalName:"";var a;let u=`->${s}${i>0?i:""}<- ${o?`with argument: ->${o}<-`:""}\n appears more than once (${t.length} times) in the top level rule: ->${n}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,"\n"),u},buildNamespaceConflictError:e=>`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){const t=fo(e.prefixPath,e=>df(e)).join(", "),n=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix\nin <OR${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(e){const t=fo(e.prefixPath,e=>df(e)).join(", "),n=0===e.alternation.idx?"":e.alternation.idx;let r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`;return r+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",r},buildEmptyRepetitionError(e){let t=pl(e.repetition);0!==e.repetition.idx&&(t+=e.repetition.idx);return`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives:\n<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\n has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){const t=e.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${t}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${`${t} --\x3e ${fo(e.leftRecursionPath,e=>e.name).concat([t]).join(" --\x3e ")}`}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;t=e.topLevelRule instanceof nl?e.topLevelRule.name:e.topLevelRule;return`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};class Nf extends hl{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){eo(wo(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{const t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:td.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class _f extends ml{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=ys(this.path.ruleStack).reverse(),this.occurrenceStack=ys(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const r=t.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,r)}}updateExpectedNext(){xo(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class If extends _f{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const e=t.concat(n),r=new rl({definition:e});this.possibleTokTypes=vl(r),this.found=!0}}}class Lf extends ml{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 Mf extends Lf{walkMany(e,t,n){if(e.idx===this.occurrence){const e=co(t.concat(n));this.result.isEndOfRule=void 0===e,e instanceof ll&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,n)}}class Pf extends Lf{walkManySep(e,t,n){if(e.idx===this.occurrence){const e=co(t.concat(n));this.result.isEndOfRule=void 0===e,e instanceof ll&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,n)}}class jf extends Lf{walkAtLeastOne(e,t,n){if(e.idx===this.occurrence){const e=co(t.concat(n));this.result.isEndOfRule=void 0===e,e instanceof ll&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,n)}}class Df extends Lf{walkAtLeastOneSep(e,t,n){if(e.idx===this.occurrence){const e=co(t.concat(n));this.result.isEndOfRule=void 0===e,e instanceof ll&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,n)}}function Gf(e,t,n=[]){n=ys(n);let r=[],i=0;function s(s){const o=Gf(s.concat(Js(e,i+1)),t,n);return r.concat(o)}for(;n.length<t&&i<e.length;){const t=e[i];if(t instanceof rl)return s(t.definition);if(t instanceof tl)return s(t.definition);if(t instanceof il)r=s(t.definition);else{if(t instanceof sl){return s(t.definition.concat([new al({definition:t.definition})]))}if(t instanceof ol){return s([new rl({definition:t.definition}),new al({definition:[new ll({terminalType:t.separator})].concat(t.definition)})])}if(t instanceof ul){const e=t.definition.concat([new al({definition:[new ll({terminalType:t.separator})].concat(t.definition)})]);r=s(e)}else if(t instanceof al){const e=t.definition.concat([new al({definition:t.definition})]);r=s(e)}else{if(t instanceof cl)return eo(t.definition,e=>{!1===xo(e.definition)&&(r=s(e.definition))}),r;if(!(t instanceof ll))throw Error("non exhaustive match");n.push(t.terminalType)}}i++}return r.push({partialPath:n,suffixDef:Js(e,i)}),r}function Uf(e,t,n,r){const i="EXIT_NONE_TERMINAL",s=[i],o="EXIT_ALTERNATIVE";let a=!1;const u=t.length,c=u-r-1,l=[],f=[];for(f.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!xo(f);){const e=f.pop();if(e===o){a&&Zs(f).idx<=c&&f.pop();continue}const r=e.def,h=e.idx,d=e.ruleStack,p=e.occurrenceStack;if(xo(r))continue;const m=r[0];if(m===i){const e={idx:h,def:Js(r),ruleStack:Qs(d),occurrenceStack:Qs(p)};f.push(e)}else if(m instanceof ll)if(h<u-1){const e=h+1;if(n(t[e],m.terminalType)){const t={idx:e,def:Js(r),ruleStack:d,occurrenceStack:p};f.push(t)}}else{if(h!==u-1)throw Error("non exhaustive match");l.push({nextTokenType:m.terminalType,nextTokenOccurrence:m.idx,ruleStack:d,occurrenceStack:p}),a=!0}else if(m instanceof tl){const e=ys(d);e.push(m.nonTerminalName);const t=ys(p);t.push(m.idx);const n={idx:h,def:m.definition.concat(s,Js(r)),ruleStack:e,occurrenceStack:t};f.push(n)}else if(m instanceof il){const e={idx:h,def:Js(r),ruleStack:d,occurrenceStack:p};f.push(e),f.push(o);const t={idx:h,def:m.definition.concat(Js(r)),ruleStack:d,occurrenceStack:p};f.push(t)}else if(m instanceof sl){const e=new al({definition:m.definition,idx:m.idx}),t={idx:h,def:m.definition.concat([e],Js(r)),ruleStack:d,occurrenceStack:p};f.push(t)}else if(m instanceof ol){const e=new ll({terminalType:m.separator}),t=new al({definition:[e].concat(m.definition),idx:m.idx}),n={idx:h,def:m.definition.concat([t],Js(r)),ruleStack:d,occurrenceStack:p};f.push(n)}else if(m instanceof ul){const e={idx:h,def:Js(r),ruleStack:d,occurrenceStack:p};f.push(e),f.push(o);const t=new ll({terminalType:m.separator}),n=new al({definition:[t].concat(m.definition),idx:m.idx}),i={idx:h,def:m.definition.concat([n],Js(r)),ruleStack:d,occurrenceStack:p};f.push(i)}else if(m instanceof al){const e={idx:h,def:Js(r),ruleStack:d,occurrenceStack:p};f.push(e),f.push(o);const t=new al({definition:m.definition,idx:m.idx}),n={idx:h,def:m.definition.concat([t],Js(r)),ruleStack:d,occurrenceStack:p};f.push(n)}else if(m instanceof cl)for(let t=m.definition.length-1;t>=0;t--){const e={idx:h,def:m.definition[t].definition.concat(Js(r)),ruleStack:d,occurrenceStack:p};f.push(e),f.push(o)}else if(m instanceof rl)f.push({idx:h,def:m.definition.concat(Js(r)),ruleStack:d,occurrenceStack:p});else{if(!(m instanceof nl))throw Error("non exhaustive match");f.push(Bf(m,h,d,p))}}return l}function Bf(e,t,n,r){const i=ys(n);i.push(e.name);const s=ys(r);return s.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:s}}var Ff,Kf;function Vf(e){if(e instanceof il||"Option"===e)return Ff.OPTION;if(e instanceof al||"Repetition"===e)return Ff.REPETITION;if(e instanceof sl||"RepetitionMandatory"===e)return Ff.REPETITION_MANDATORY;if(e instanceof ol||"RepetitionMandatoryWithSeparator"===e)return Ff.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof ul||"RepetitionWithSeparator"===e)return Ff.REPETITION_WITH_SEPARATOR;if(e instanceof cl||"Alternation"===e)return Ff.ALTERNATION;throw Error("non exhaustive match")}function Hf(e){const{occurrence:t,rule:n,prodType:r,maxLookahead:i}=e,s=Vf(r);return s===Ff.ALTERNATION?eh(t,n,i):th(t,n,s,i)}function Wf(e,t,n,r){const i=e.length,s=ro(e,e=>ro(e,e=>1===e.length));if(t)return function(t){const r=fo(t,e=>e.GATE);for(let s=0;s<i;s++){const t=e[s],i=t.length,o=r[s];if(void 0===o||!1!==o.call(this))e:for(let e=0;e<i;e++){const r=t[e],i=r.length;for(let e=0;e<i;e++){const t=this.LA(e+1);if(!1===n(t,r[e]))continue e}return s}}};if(s&&!r){const t=Lo(fo(e,e=>Ai(e)),(e,t,n)=>(eo(t,t=>{To(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=n),eo(t.categoryMatches,t=>{To(e,t)||(e[t]=n)})}),e),{});return function(){const e=this.LA(1);return t[e.tokenTypeIdx]}}return function(){for(let t=0;t<i;t++){const r=e[t],i=r.length;e:for(let e=0;e<i;e++){const i=r[e],s=i.length;for(let e=0;e<s;e++){const t=this.LA(e+1);if(!1===n(t,i[e]))continue e}return t}}}}function zf(e,t,n){const r=ro(e,e=>1===e.length),i=e.length;if(r&&!n){const t=Ai(e);if(1===t.length&&xo(t[0].categoryMatches)){const e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{const e=Lo(t,(e,t,n)=>(e[t.tokenTypeIdx]=!0,eo(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){const t=this.LA(1);return!0===e[t.tokenTypeIdx]}}}return function(){e:for(let n=0;n<i;n++){const r=e[n],i=r.length;for(let e=0;e<i;e++){const n=this.LA(e+1);if(!1===t(n,r[e]))continue e}return!0}return!1}}(Kf=Ff||(Ff={}))[Kf.OPTION=0]="OPTION",Kf[Kf.REPETITION=1]="REPETITION",Kf[Kf.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",Kf[Kf.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",Kf[Kf.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",Kf[Kf.ALTERNATION=5]="ALTERNATION";class Yf extends ml{constructor(e,t,n){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,n,r){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=n.concat(r),!0)}walkOption(e,t,n){this.checkIsTarget(e,Ff.OPTION,t,n)||super.walkOption(e,t,n)}walkAtLeastOne(e,t,n){this.checkIsTarget(e,Ff.REPETITION_MANDATORY,t,n)||super.walkOption(e,t,n)}walkAtLeastOneSep(e,t,n){this.checkIsTarget(e,Ff.REPETITION_MANDATORY_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}walkMany(e,t,n){this.checkIsTarget(e,Ff.REPETITION,t,n)||super.walkOption(e,t,n)}walkManySep(e,t,n){this.checkIsTarget(e,Ff.REPETITION_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}}class qf extends hl{constructor(e,t,n){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=n,this.result=[]}checkIsTarget(e,t){e.idx!==this.targetOccurrence||this.targetProdType!==t||void 0!==this.targetRef&&e!==this.targetRef||(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Ff.OPTION)}visitRepetition(e){this.checkIsTarget(e,Ff.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Ff.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Ff.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Ff.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Ff.ALTERNATION)}}function Xf(e){const t=new Array(e);for(let n=0;n<e;n++)t[n]=[];return t}function Zf(e){let t=[""];for(let n=0;n<e.length;n++){const r=e[n],i=[];for(let e=0;e<t.length;e++){const n=t[e];i.push(n+"_"+r.tokenTypeIdx);for(let e=0;e<r.categoryMatches.length;e++){const t="_"+r.categoryMatches[e];i.push(n+t)}}t=i}return t}function Jf(e,t,n){for(let r=0;r<e.length;r++){if(r===n)continue;const i=e[r];for(let e=0;e<t.length;e++){if(!0===i[t[e]])return!1}}return!0}function Qf(e,t){const n=fo(e,e=>Gf([e],1)),r=Xf(n.length),i=fo(n,e=>{const t={};return eo(e,e=>{eo(Zf(e.partialPath),e=>{t[e]=!0})}),t});let s=n;for(let o=1;o<=t;o++){const e=s;s=Xf(e.length);for(let n=0;n<e.length;n++){const a=e[n];for(let e=0;e<a.length;e++){const u=a[e].partialPath,c=a[e].suffixDef,l=Zf(u);if(Jf(i,l,n)||xo(c)||u.length===t){const e=r[n];if(!1===nh(e,u)){e.push(u);for(let e=0;e<l.length;e++){const t=l[e];i[n][t]=!0}}}else{const e=Gf(c,o+1,u);s[n]=s[n].concat(e),eo(e,e=>{eo(Zf(e.partialPath),e=>{i[n][e]=!0})})}}}}return r}function eh(e,t,n,r){const i=new qf(e,Ff.ALTERNATION,r);return t.accept(i),Qf(i.result,n)}function th(e,t,n,r){const i=new qf(e,n);t.accept(i);const s=i.result,o=new Yf(t,e,n).startWalking();return Qf([new rl({definition:s}),new rl({definition:o})],r)}function nh(e,t){e:for(let n=0;n<e.length;n++){const r=e[n];if(r.length===t.length){for(let e=0;e<r.length;e++){const n=t[e],i=r[e];if(!1===(n===i||void 0!==i.categoryMatchesMap[n.tokenTypeIdx]))continue e}return!0}}return!1}function rh(e){return ro(e,e=>ro(e,e=>ro(e,e=>xo(e.categoryMatches))))}function ih(e,t,n,r){const i=ho(e,e=>function(e,t){const n=new ah;e.accept(n);const r=n.allProductions,i=vo(r,sh),s=fo(wo(_o(i,e=>e.length>1)),n=>{const r=co(n),i=t.buildDuplicateFoundError(e,n),s=pl(r),o={message:i,type:td.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:s,occurrence:r.idx},a=oh(r);return a&&(o.parameter=a),o});return s}(e,n)),s=function(e,t,n){const r=[],i=fo(t,e=>e.name);return eo(e,e=>{const t=e.name;if(Ao(i,t)){const i=n.buildNamespaceConflictError(e);r.push({message:i,type:td.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),r}(e,t,n),o=ho(e,e=>function(e,t){const n=new lh;e.accept(n);const r=ho(n.alternations,n=>n.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:n}),type:td.TOO_MANY_ALTS,ruleName:e.name,occurrence:n.idx}]:[]);return r}(e,n)),a=ho(e,t=>function(e,t,n,r){const i=[],s=Lo(t,(t,n)=>n.name===e.name?t+1:t,0);if(s>1){const t=r.buildDuplicateRuleNameError({topLevelRule:e,grammarName:n});i.push({message:t,type:td.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}(t,e,r,n));return i.concat(s,o,a)}function sh(e){return`${pl(e)}_#_${e.idx}_#_${oh(e)}`}function oh(e){return e instanceof ll?e.terminalType.name:e instanceof tl?e.nonTerminalName:""}class ah extends hl{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 uh(e,t,n,r=[]){const i=[],s=ch(t.definition);if(xo(s))return[];{const t=e.name;Ao(s,e)&&i.push({message:n.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:r}),type:td.LEFT_RECURSION,ruleName:t});const o=ho(Xs(s,r.concat([e])),t=>{const i=ys(r);return i.push(t),uh(e,t,n,i)});return i.concat(o)}}function ch(e){let t=[];if(xo(e))return t;const n=co(e);if(n instanceof tl)t.push(n.referencedRule);else if(n instanceof rl||n instanceof il||n instanceof sl||n instanceof ol||n instanceof ul||n instanceof al)t=t.concat(ch(n.definition));else if(n instanceof cl)t=Ai(fo(n.definition,e=>ch(e.definition)));else if(!(n instanceof ll))throw Error("non exhaustive match");const r=dl(n),i=e.length>1;if(r&&i){const n=Js(e);return t.concat(ch(n))}return t}class lh extends hl{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function fh(e,t,n){const r=new lh;e.accept(r);let i=r.alternations;i=Mo(i,e=>!0===e.ignoreAmbiguities);const s=ho(i,r=>{const i=r.idx,s=r.maxLookahead||t,o=eh(i,e,s,r),a=function(e,t,n,r){const i=[],s=Lo(e,(n,r,s)=>(!0===t.definition[s].ignoreAmbiguities||eo(r,r=>{const o=[s];eo(e,(e,n)=>{s!==n&&nh(e,r)&&!0!==t.definition[n].ignoreAmbiguities&&o.push(n)}),o.length>1&&!nh(i,r)&&(i.push(r),n.push({alts:o,path:r}))}),n),[]),o=fo(s,e=>{const i=fo(e.alts,e=>e+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:td.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:t.idx,alternatives:e.alts}});return o}(o,r,e,n),u=function(e,t,n,r){const i=Lo(e,(e,t,n)=>{const r=fo(t,e=>({idx:n,path:e}));return e.concat(r)},[]),s=vs(ho(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];const s=e.idx,o=e.path;return fo(so(i,e=>{return!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<s&&(n=e.path,r=o,n.length<r.length&&ro(n,(e,t)=>{const n=r[t];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]}));var n,r}),e=>{const i=[e.idx+1,s+1],o=0===t.idx?"":t.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:td.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:o,alternatives:i}})}));return s}(o,r,e,n);return a.concat(u)});return s}class hh extends hl{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 dh(e){const t=Ys(e,{errMsgProvider:Of}),n={};return eo(e.rules,e=>{n[e.name]=e}),function(e,t){const n=new Nf(e,t);return n.resolveRefs(),n.errors}(n,t.errMsgProvider)}const ph="MismatchedTokenException",mh="NoViableAltException",yh="EarlyExitException",vh="NotAllInputParsedException",gh=[ph,mh,yh,vh];function $h(e){return Ao(gh,e.name)}Object.freeze(gh);class Th 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 Rh extends Th{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=ph}}class wh extends Th{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=mh}}class bh extends Th{constructor(e,t){super(e,t),this.name=vh}}class Ah extends Th{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=yh}}const Eh={},kh="InRuleRecoveryException";class xh extends Error{constructor(e){super(e),this.name=kh}}function Sh(e,t,n,r,i,s,o){const a=this.getKeyForAutomaticLookahead(r,i);let u=this.firstAfterRepMap[a];if(void 0===u){const e=this.getCurrRuleFullName();u=new s(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[a]=u}let c=u.token,l=u.occurrence;const f=u.isEndOfRule;1===this.RULE_STACK.length&&f&&void 0===c&&(c=Ef,l=1),void 0!==c&&void 0!==l&&this.shouldInRepetitionRecoveryBeTried(c,l,o)&&this.tryInRepetitionRecovery(e,t,n,c)}const Oh=1024,Ch=1280,Nh=1536;function _h(e,t,n){return n|t|e}class Ih{constructor(e){var t;this.maxLookahead=null!==(t=null==e?void 0:e.maxLookahead)&&void 0!==t?t:Qh.maxLookahead}validate(e){const t=this.validateNoLeftRecursion(e.rules);if(xo(t)){const n=this.validateEmptyOrAlternatives(e.rules),r=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),i=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...n,...r,...i]}return t}validateNoLeftRecursion(e){return ho(e,e=>uh(e,e,Cf))}validateEmptyOrAlternatives(e){return ho(e,e=>function(e,t){const n=new lh;return e.accept(n),ho(n.alternations,n=>ho(Qs(n.definition),(r,i)=>xo(Uf([r],[],Jl,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:n,emptyChoiceIdx:i}),type:td.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:n.idx,alternative:i+1}]:[]))}(e,Cf))}validateAmbiguousAlternationAlternatives(e,t){return ho(e,e=>fh(e,t,Cf))}validateSomeNonEmptyLookaheadPath(e,t){return function(e,t,n){const r=[];return eo(e,e=>{const i=new hh;e.accept(i),eo(i.allProductions,i=>{const s=Vf(i),o=i.maxLookahead||t;if(xo(Ai(th(i.idx,e,s,o)[0]))){const t=n.buildEmptyRepetitionError({topLevelRule:e,repetition:i});r.push({message:t,type:td.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),r}(e,t,Cf)}buildLookaheadForAlternation(e){return function(e,t,n,r,i,s){const o=eh(e,t,n);return s(o,r,rh(o)?Ql:Jl,i)}(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Wf)}buildLookaheadForOptional(e){return function(e,t,n,r,i,s){const o=th(e,t,i,n),a=rh(o)?Ql:Jl;return s(o[0],a,r)}(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Vf(e.prodType),zf)}}const Lh=new class extends hl{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function Mh(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function Ph(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function jh(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function Dh(e,t){const n=zr(e),r=n.length;for(let i=0;i<r;i++){const r=e[n[i]],s=r.length;for(let e=0;e<s;e++){const n=r[e];void 0===n.tokenTypeIdx&&this[n.name](n.children,t)}}}function Gh(e,t){const n=function(){};jh(n,e+"BaseSemantics");const r={visit:function(e,t){if(gn(e)&&(e=e[0]),!Co(e))return this[e.name](e.children,t)},validateVisitor:function(){const e=function(e,t){const n=function(e,t){const n=so(t,t=>!1===Ln(e[t])),r=fo(n,t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:Uh.MISSING_METHOD,methodName:t}));return vs(r)}(e,t);return n}(this,t);if(!xo(e)){const t=fo(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${t.join("\n\n").replace(/\n/g,"\n\t")}`)}}};return(n.prototype=r).constructor=n,n._RULE_NAMES=t,n}var Uh,Bh;(Bh=Uh||(Uh={}))[Bh.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",Bh[Bh.MISSING_METHOD=1]="MISSING_METHOD";const Fh={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Fh);const Kh=!0,Vh=Math.pow(2,8)-1,Hh=Af({name:"RECORDING_PHASE_TOKEN",pattern:hf.NA});nf([Hh]);const Wh=kf(Hh,"This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(Wh);const zh={name:"This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}};function Yh(e,t,n,r=!1){Zh(n);const i=Zs(this.recordingProdStack),s=Ln(t)?t:t.DEF,o=new e({definition:[],idx:n});return r&&(o.separator=t.SEP),To(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),i.definition.push(o),this.recordingProdStack.pop(),Fh}function qh(e,t){Zh(t);const n=Zs(this.recordingProdStack),r=!1===gn(e),i=!1===r?e:e.DEF,s=new cl({definition:[],idx:t,ignoreAmbiguities:r&&!0===e.IGNORE_AMBIGUITIES});To(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD);const o=(u=e=>Ln(e.GATE),(gn(a=i)?$s:Po)(a,Us(u)));var a,u;return s.hasPredicates=o,n.definition.push(s),eo(i,e=>{const t=new rl({definition:[]});s.definition.push(t),To(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:To(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),Fh}function Xh(e){return 0===e?"":`${e}`}function Zh(e){if(e<0||e>Vh){const t=new Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than ${Vh+1}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}const Jh=kf(Ef,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Jh);const Qh=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Sf,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),ed=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var td,nd,rd;function id(e=void 0){return function(){return e}}(nd=td||(td={}))[nd.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",nd[nd.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",nd[nd.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",nd[nd.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",nd[nd.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",nd[nd.LEFT_RECURSION=5]="LEFT_RECURSION",nd[nd.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",nd[nd.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",nd[nd.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",nd[nd.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",nd[nd.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",nd[nd.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",nd[nd.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",nd[nd.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION";class sd{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const t=this.className;this.TRACE_INIT("toFastProps",()=>{Fo(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),eo(this.definedRulesNames,e=>{const t=this[e].originalGrammarAction;let n;this.TRACE_INIT(`${e} Rule`,()=>{n=this.topLevelRuleRecord(e,t)}),this.gastProductionsCache[e]=n})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=dh({rules:wo(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(xo(n)&&!1===this.skipValidations){const n=(e={rules:wo(this.gastProductionsCache),tokenTypes:wo(this.tokensMap),errMsgProvider:Cf,grammarName:t},ih((e=Ys(e,{errMsgProvider:Cf})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)),r=function(e){return fo(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:td.CUSTOM_LOOKAHEAD_VALIDATION},e))}({lookaheadStrategy:this.lookaheadStrategy,rules:wo(this.gastProductionsCache),tokenTypes:wo(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(n,r)}var e}),xo(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const e=function(e){const t={};return eo(e,e=>{const n=new $l(e).startWalking();Xr(t,n)}),t}(wo(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null===(t=(e=this.lookaheadStrategy).initialize)||void 0===t||t.call(e,{rules:wo(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(wo(this.gastProductionsCache))})),!sd.DEFER_DEFINITION_ERRORS_HANDLING&&!xo(this.definitionErrors))throw e=fo(this.definitionErrors,e=>e.message),new Error(`Parser Definition Errors detected:\n ${e.join("\n-------------------------------\n")}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(t),n.initLexerAdapter(),n.initLooksAhead(t),n.initRecognizerEngine(e,t),n.initRecoverable(t),n.initTreeBuilder(t),n.initContentAssist(),n.initGastRecorder(t),n.initPerformanceTracer(t),To(t,"ignoredIssues"))throw new Error("The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.");this.skipValidations=To(t,"skipValidations")?t.skipValidations:Qh.skipValidations}}sd.DEFER_DEFINITION_ERRORS_HANDLING=!1,rd=sd,[class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=To(e,"recoveryEnabled")?e.recoveryEnabled:Qh.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Sh)}getTokenToInsert(e){const t=kf(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,n,r){const i=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let a=!1;const u=this.LA(1);let c=this.LA(1);const l=()=>{const e=this.LA(0),t=this.errorMessageProvider.buildMismatchTokenMessage({expected:r,actual:u,previous:e,ruleName:this.getCurrRuleFullName()}),n=new Rh(t,u,this.LA(0));n.resyncedTokens=Qs(o),this.SAVE_ERROR(n)};for(;!a;){if(this.tokenMatcher(c,r))return void l();if(n.call(this))return l(),void e.apply(this,t);this.tokenMatcher(c,i)?a=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o))}this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,t,n){return!1!==n&&!this.tokenMatcher(this.LA(1),e)&&!this.isBackTracking()&&!this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t))}getFollowsForInRuleRecovery(e,t){const n=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new xh("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e))return!1;if(xo(t))return!1;const n=this.LA(1);return void 0!==uo(t,e=>this.tokenMatcher(n,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){const t=this.getCurrFollowKey();return Ao(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){const e=this.flattenFollowSet();let t=this.LA(1),n=2;for(;;){const r=uo(e,e=>xf(t,e));if(void 0!==r)return r;t=this.LA(n),n++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return Eh;const e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return fo(e,(n,r)=>0===r?Eh:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:t[r],inRule:this.shortRuleNameToFullName(e[r-1])})}flattenFollowSet(){return Ai(fo(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===Eh)return[Ef];const t=e.ruleName+e.idxInCallingRule+gl+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,Ef)||t.push(e),t}reSyncTo(e){const t=[];let n=this.LA(1);for(;!1===this.tokenMatcher(n,e);)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,t);return Qs(t)}attemptInRepetitionRecovery(e,t,n,r,i,s,o){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:ys(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return fo(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},class{initLooksAhead(e){this.dynamicTokensEnabled=To(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Qh.dynamicTokensEnabled,this.maxLookahead=To(e,"maxLookahead")?e.maxLookahead:Qh.maxLookahead,this.lookaheadStrategy=To(e,"lookaheadStrategy")?e.lookaheadStrategy:new Ih({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){eo(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{const{alternation:t,repetition:n,option:r,repetitionMandatory:i,repetitionMandatoryWithSeparator:s,repetitionWithSeparator:o}=function(e){Lh.reset(),e.accept(Lh);const t=Lh.dslMethods;return Lh.reset(),t}(e);eo(t,t=>{const n=0===t.idx?"":t.idx;this.TRACE_INIT(`${pl(t)}${n}`,()=>{const n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),r=_h(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(r,n)})}),eo(n,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,pl(t))}),eo(r,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,pl(t))}),eo(i,t=>{this.computeLookaheadFunc(e,t.idx,Oh,"RepetitionMandatory",t.maxLookahead,pl(t))}),eo(s,t=>{this.computeLookaheadFunc(e,t.idx,Nh,"RepetitionMandatoryWithSeparator",t.maxLookahead,pl(t))}),eo(o,t=>{this.computeLookaheadFunc(e,t.idx,Ch,"RepetitionWithSeparator",t.maxLookahead,pl(t))})})})}computeLookaheadFunc(e,t,n,r,i,s){this.TRACE_INIT(`${s}${0===t?"":t}`,()=>{const s=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:r}),o=_h(this.fullRuleNameToShort[e.name],n,t);this.setLaFuncCache(o,s)})}getKeyForAutomaticLookahead(e,t){return _h(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=To(e,"nodeLocationTracking")?e.nodeLocationTracking:Qh.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ph,this.setNodeLocationFromNode=Ph,this.cstPostRule=Zn,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Zn,this.setNodeLocationFromNode=Zn,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Mh,this.setNodeLocationFromNode=Mh,this.cstPostRule=Zn,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Zn,this.setNodeLocationFromNode=Zn,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=Zn,this.setNodeLocationFromNode=Zn,this.cstPostRule=Zn,this.setInitialNodeLocation=Zn}else this.cstInvocationStateUpdate=Zn,this.cstFinallyStateUpdate=Zn,this.cstPostTerminal=Zn,this.cstPostNonTerminal=Zn,this.cstPostRule=Zn}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const t=this.LA(0),n=e.location;n.startOffset<=t.startOffset==1?(n.endOffset=t.endOffset,n.endLine=t.endLine,n.endColumn=t.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const t=this.LA(0),n=e.location;n.startOffset<=t.startOffset==1?n.endOffset=t.endOffset:n.startOffset=NaN}cstPostTerminal(e,t){const n=this.CST_STACK[this.CST_STACK.length-1];var r,i,s;i=t,s=e,void 0===(r=n).children[s]?r.children[s]=[i]:r.children[s].push(i),this.setNodeLocationFromToken(n.location,t)}cstPostNonTerminal(e,t){const n=this.CST_STACK[this.CST_STACK.length-1];!function(e,t,n){void 0===e.children[t]?e.children[t]=[n]:e.children[t].push(n)}(n,t,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(Co(this.baseCstVisitorConstructor)){const e=Gh(this.className,zr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Co(this.baseCstVisitorWithDefaultsConstructor)){const e=function(e,t,n){const r=function(){};jh(r,e+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return eo(t,e=>{i[e]=Dh}),(r.prototype=i).constructor=r,r}(this.className,zr(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Jh}LA(e){const t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Jh:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ql,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},To(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if(gn(e)){if(xo(e))throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if(gn(e))this.tokensMap=Lo(e,(e,t)=>(e[t.name]=t,e),{});else if(To(e,"modes")&&ro(Ai(wo(e.modes)),af)){const t=Do(Ai(wo(e.modes)));this.tokensMap=Lo(t,(e,t)=>(e[t.name]=t,e),{})}else{if(!En(e))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=ys(e)}this.tokensMap.EOF=Ef;const n=ro(To(e,"modes")?Ai(wo(e.modes)):wo(e),e=>xo(e.categoryMatches));this.tokenMatcher=n?Ql:Jl,nf(wo(this.tokensMap))}defineRule(e,t,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const r=To(n,"resyncEnabled")?n.resyncEnabled:ed.resyncEnabled,i=To(n,"recoveryValueFunc")?n.recoveryValueFunc:ed.recoveryValueFunc,s=this.ruleShortNameIdx<<12;let o;return this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s,o=!0===this.outputCst?function(...n){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,n);const r=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(r),r}catch(o){return this.invokeRuleCatch(o,r,i)}finally{this.ruleFinallyStateUpdate()}}:function(...n){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,n)}catch(o){return this.invokeRuleCatch(o,r,i)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,n){const r=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if($h(e)){const t=e;if(i){const r=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(r)){if(t.resyncedTokens=this.reSyncTo(r),this.outputCst){const e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}return n(e)}if(this.outputCst){const e=this.CST_STACK[this.CST_STACK.length-1];e.recoveredNode=!0,t.partialCstResult=e}throw t}if(r)return this.moveToTerminatedState(),n(e);throw t}throw e}optionInternal(e,t){const n=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,n)}optionInternalLogic(e,t,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof e){r=e.DEF;const t=e.GATE;if(void 0!==t){const e=i;i=()=>t.call(this)&&e.call(this)}}else r=e;if(!0===i.call(this))return r.call(this)}atLeastOneInternal(e,t){const n=this.getKeyForAutomaticLookahead(Oh,e);return this.atLeastOneInternalLogic(e,t,n)}atLeastOneInternalLogic(e,t,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof t){r=t.DEF;const e=t.GATE;if(void 0!==e){const t=i;i=()=>e.call(this)&&t.call(this)}}else r=t;if(!0!==i.call(this))throw this.raiseEarlyExitException(e,Ff.REPETITION_MANDATORY,t.ERR_MSG);{let e=this.doSingleRepetition(r);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(r)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,Oh,e,jf)}atLeastOneSepFirstInternal(e,t){const n=this.getKeyForAutomaticLookahead(Nh,e);this.atLeastOneSepFirstInternalLogic(e,t,n)}atLeastOneSepFirstInternalLogic(e,t,n){const r=t.DEF,i=t.SEP;if(!0!==this.getLaFuncFromCache(n).call(this))throw this.raiseEarlyExitException(e,Ff.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);{r.call(this);const t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,Df],t,Nh,e,Df)}}manyInternal(e,t){const n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,n)}manyInternalLogic(e,t,n){let r,i=this.getLaFuncFromCache(n);if("function"!=typeof t){r=t.DEF;const e=t.GATE;if(void 0!==e){const t=i;i=()=>e.call(this)&&t.call(this)}}else r=t;let s=!0;for(;!0===i.call(this)&&!0===s;)s=this.doSingleRepetition(r);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,Mf,s)}manySepFirstInternal(e,t){const n=this.getKeyForAutomaticLookahead(Ch,e);this.manySepFirstInternalLogic(e,t,n)}manySepFirstInternalLogic(e,t,n){const r=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(n).call(this)){r.call(this);const t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,Pf],t,Ch,e,Pf)}}repetitionSepSecondInternal(e,t,n,r,i){for(;n();)this.CONSUME(t),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,n,r,i],n,Nh,e,i)}doSingleRepetition(e){const t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){const n=this.getKeyForAutomaticLookahead(256,t),r=gn(e)?e:e.DEF,i=this.getLaFuncFromCache(n).call(this,r);if(void 0!==i)return r[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){const e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new bh(t,e))}}subruleInternal(e,t,n){let r;try{const i=void 0!==n?n.ARGS:void 0;return this.subruleIdx=t,r=e.apply(this,i),this.cstPostNonTerminal(r,void 0!==n&&void 0!==n.LABEL?n.LABEL:e.ruleName),r}catch(i){throw this.subruleInternalError(i,n,e.ruleName)}}subruleInternalError(e,t,n){throw $h(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,t,n){let r;try{const t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),r=t):this.consumeInternalError(e,t,n)}catch(i){r=this.consumeInternalRecovery(e,t,i)}return this.cstPostTerminal(void 0!==n&&void 0!==n.LABEL?n.LABEL:e.name,r),r}consumeInternalError(e,t,n){let r;const i=this.LA(0);throw r=void 0!==n&&n.ERR_MSG?n.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Rh(r,t,i))}consumeInternalRecovery(e,t,n){if(!this.recoveryEnabled||"MismatchedTokenException"!==n.name||this.isBackTracking())throw n;{const i=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,i)}catch(r){throw r.name===kh?n:r}}}saveRecogState(){const e=this.errors,t=ys(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Ef)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(e){return e.call(this)}consume(e,t,n){return this.consumeInternal(t,e,n)}subrule(e,t,n){return this.subruleInternal(t,e,n)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,n=ed){if(Ao(this.definedRulesNames,e)){const t={message:Cf.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:td.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);const r=this.defineRule(e,t,n);return this[e]=r,r}OVERRIDE_RULE(e,t,n=ed){const r=function(e,t,n){const r=[];let i;return Ao(t,e)||(i=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:td.INVALID_RULE_OVERRIDE,ruleName:e})),r}(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(r);const i=this.defineRule(e,t,n);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);const n=this.saveRecogState();try{return e.apply(this,t),!0}catch(r){if($h(r))return!1;throw r}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Kc(wo(this.gastProductionsCache),fl)}},class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=To(e,"errorMessageProvider")?e.errorMessageProvider:Qh.errorMessageProvider}SAVE_ERROR(e){if($h(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ys(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ys(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,n){const r=this.getCurrRuleFullName(),i=th(e,this.getGAstProductions()[r],t,this.maxLookahead)[0],s=[];for(let a=1;a<=this.maxLookahead;a++)s.push(this.LA(a));const o=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:s,previous:this.LA(0),customUserDescription:n,ruleName:r});throw this.SAVE_ERROR(new Ah(o,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){const n=this.getCurrRuleFullName(),r=eh(e,this.getGAstProductions()[n],this.maxLookahead),i=[];for(let a=1;a<=this.maxLookahead;a++)i.push(this.LA(a));const s=this.LA(0),o=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:r,actual:i,previous:s,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new wh(o,this.LA(1),s))}},class{initContentAssist(){}computeContentAssist(e,t){const n=this.gastProductionsCache[e];if(Co(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Uf([n],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const t=co(e.ruleStack),n=this.getGAstProductions()[t];return new If(n,e).startWalking()}},class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const t=e>0?e:"";this[`CONSUME${t}`]=function(t,n){return this.consumeInternalRecord(t,e,n)},this[`SUBRULE${t}`]=function(t,n){return this.subruleInternalRecord(t,e,n)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,n){return this.consumeInternalRecord(t,e,n)},this.subrule=function(e,t,n){return this.subruleInternalRecord(t,e,n)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let t=0;t<10;t++){const n=t>0?t:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Jh}topLevelRuleRecord(e,t){try{const n=new nl({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),t.call(this),this.recordingProdStack.pop(),n}catch(n){if(!0!==n.KNOWN_RECORDER_ERROR)try{n.message=n.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(r){throw n}throw n}}optionInternalRecord(e,t){return Yh.call(this,il,e,t)}atLeastOneInternalRecord(e,t){Yh.call(this,sl,t,e)}atLeastOneSepFirstInternalRecord(e,t){Yh.call(this,ol,t,e,Kh)}manyInternalRecord(e,t){Yh.call(this,al,t,e)}manySepFirstInternalRecord(e,t){Yh.call(this,ul,t,e,Kh)}orInternalRecord(e,t){return qh.call(this,e,t)}subruleInternalRecord(e,t,n){if(Zh(t),!e||!1===To(e,"ruleName")){const n=new Error(`<SUBRULE${Xh(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}const r=Zs(this.recordingProdStack),i=e.ruleName,s=new tl({idx:t,nonTerminalName:i,label:null==n?void 0:n.LABEL,referencedRule:void 0});return r.definition.push(s),this.outputCst?zh:Fh}consumeInternalRecord(e,t,n){if(Zh(t),!sf(e)){const n=new Error(`<CONSUME${Xh(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}const r=Zs(this.recordingProdStack),i=new ll({idx:t,terminalType:e,label:null==n?void 0:n.LABEL});return r.definition.push(i),Wh}},class{initPerformanceTracer(e){if(To(e,"traceInitPerf")){const t=e.traceInitPerf,n="number"==typeof t;this.traceInitMaxIdent=n?t:1/0,this.traceInitPerf=n?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Qh.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0===this.traceInitPerf){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--\x3e <${e}>`);const{time:r,value:i}=Bo(t),s=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${r}ms`),this.traceInitIndent--,i}return t()}}].forEach(e=>{const t=e.prototype;Object.getOwnPropertyNames(t).forEach(n=>{if("constructor"===n)return;const r=Object.getOwnPropertyDescriptor(t,n);r&&(r.get||r.set)?Object.defineProperty(rd.prototype,n,r):rd.prototype[n]=e.prototype[n]})});class od extends sd{constructor(e,t=Qh){const n=ys(t);n.outputCst=!1,super(e,n)}}function ad(e,t,n){return`${e.name}_${t}_${n}`}class ud{constructor(e){this.target=e}isEpsilon(){return!1}}class cd extends ud{constructor(e,t){super(e),this.tokenType=t}}class ld extends ud{constructor(e){super(e)}isEpsilon(){return!0}}class fd extends ud{constructor(e,t,n){super(e),this.rule=t,this.followState=n}isEpsilon(){return!0}}function hd(e){const t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};!function(e,t){const n=t.length;for(let r=0;r<n;r++){const n=t[r],i=wd(e,n,void 0,{type:2}),s=wd(e,n,void 0,{type:7});i.stop=s,e.ruleToStartState.set(n,i),e.ruleToStopState.set(n,s)}}(t,e);const n=e.length;for(let r=0;r<n;r++){const n=e[r],i=pd(t,n,n);void 0!==i&&Td(t,n,i)}return t}function dd(e,t,n){return n instanceof ll?$d(e,t,n.terminalType,n):n instanceof tl?function(e,t,n){const r=n.referencedRule,i=e.ruleToStartState.get(r),s=wd(e,t,n,{type:1}),o=wd(e,t,n,{type:1}),a=new fd(i,r,o);return bd(s,a),{left:s,right:o}}(e,t,n):n instanceof cl?function(e,t,n){const r=wd(e,t,n,{type:1});vd(e,r);const i=T(n.definition,n=>dd(e,t,n)),s=gd(e,t,r,n,...i);return s}(e,t,n):n instanceof il?function(e,t,n){const r=wd(e,t,n,{type:1});vd(e,r);const i=gd(e,t,r,n,pd(e,t,n));return function(e,t,n,r){const i=r.left,s=r.right;return Rd(i,s),e.decisionMap[ad(t,"Option",n.idx)]=i,r}(e,t,n,i)}(e,t,n):n instanceof al?function(e,t,n){const r=wd(e,t,n,{type:5});vd(e,r);const i=gd(e,t,r,n,pd(e,t,n));return yd(e,t,n,i)}(e,t,n):n instanceof ul?function(e,t,n){const r=wd(e,t,n,{type:5});vd(e,r);const i=gd(e,t,r,n,pd(e,t,n)),s=$d(e,t,n.separator,n);return yd(e,t,n,i,s)}(e,t,n):n instanceof sl?function(e,t,n){const r=wd(e,t,n,{type:4});vd(e,r);const i=gd(e,t,r,n,pd(e,t,n));return md(e,t,n,i)}(e,t,n):n instanceof ol?function(e,t,n){const r=wd(e,t,n,{type:4});vd(e,r);const i=gd(e,t,r,n,pd(e,t,n)),s=$d(e,t,n.separator,n);return md(e,t,n,i,s)}(e,t,n):pd(e,t,n)}function pd(e,t,n){const r=k(T(n.definition,n=>dd(e,t,n)),e=>void 0!==e);return 1===r.length?r[0]:0===r.length?void 0:function(e,t){const n=t.length;for(let s=0;s<n-1;s++){const n=t[s];let r;1===n.left.transitions.length&&(r=n.left.transitions[0]);const i=r instanceof fd,o=r,a=t[s+1].left;1===n.left.type&&1===n.right.type&&void 0!==r&&(i&&o.followState===n.right||r.target===n.right)?(i?o.followState=a:r.target=a,Ad(e,n.right)):Rd(n.right,a)}const r=t[0],i=t[n-1];return{left:r.left,right:i.right}}(e,r)}function md(e,t,n,r,i){const s=r.left,o=r.right,a=wd(e,t,n,{type:11});vd(e,a);const u=wd(e,t,n,{type:12});return s.loopback=a,u.loopback=a,e.decisionMap[ad(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=a,Rd(o,a),void 0===i?(Rd(a,s),Rd(a,u)):(Rd(a,u),Rd(a,i.left),Rd(i.right,s)),{left:s,right:u}}function yd(e,t,n,r,i){const s=r.left,o=r.right,a=wd(e,t,n,{type:10});vd(e,a);const u=wd(e,t,n,{type:12}),c=wd(e,t,n,{type:9});return a.loopback=c,u.loopback=c,Rd(a,s),Rd(a,u),Rd(o,c),void 0!==i?(Rd(c,u),Rd(c,i.left),Rd(i.right,s)):Rd(c,a),e.decisionMap[ad(t,i?"RepetitionWithSeparator":"Repetition",n.idx)]=a,{left:a,right:u}}function vd(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function gd(e,t,n,r,...i){const s=wd(e,t,r,{type:8,start:n});n.end=s;for(const a of i)void 0!==a?(Rd(n,a.left),Rd(a.right,s)):Rd(n,s);const o={left:n,right:s};return e.decisionMap[ad(t,function(e){if(e instanceof cl)return"Alternation";if(e instanceof il)return"Option";if(e instanceof al)return"Repetition";if(e instanceof ul)return"RepetitionWithSeparator";if(e instanceof sl)return"RepetitionMandatory";if(e instanceof ol)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}(r),r.idx)]=n,o}function $d(e,t,n,r){const i=wd(e,t,r,{type:1}),s=wd(e,t,r,{type:1});return bd(i,new cd(s,n)),{left:i,right:s}}function Td(e,t,n){const r=e.ruleToStartState.get(t);Rd(r,n.left);const i=e.ruleToStopState.get(t);Rd(n.right,i);return{left:r,right:i}}function Rd(e,t){bd(e,new ld(t))}function wd(e,t,n,r){const i=Object.assign({atn:e,production:n,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},r);return e.states.push(i),i}function bd(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function Ad(e,t){e.states.splice(e.states.indexOf(t),1)}const Ed={};class kd{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const t=xd(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return T(this.configs,e=>e.alt)}get key(){let e="";for(const t in this.map)e+=t+":";return e}}function xd(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}function Sd(e,t){const n={};return r=>{const i=r.toString();let s=n[i];return void 0!==s||(s={atnStartState:e,decision:t,states:{}},n[i]=s),s}}class Od{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 n=0;n<t;n++)e+=!0===this.predicates[n]?"1":"0";return e}}const Cd=new Od;class Nd extends Ih{constructor(e){var t;super(),this.logging=null!==(t=null==e?void 0:e.logging)&&void 0!==t?t:e=>console.log(e)}initialize(e){this.atn=hd(e.rules),this.dfas=function(e){const t=e.decisionStates.length,n=Array(t);for(let r=0;r<t;r++)n[r]=Sd(e.decisionStates[r],r);return n}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:t,rule:n,hasPredicates:r,dynamicTokensEnabled:i}=e,s=this.dfas,o=this.logging,a=ad(n,"Alternation",t),u=this.atn.decisionMap[a].decision,c=T(Hf({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:n}),e=>T(e,e=>e[0]));if(_d(c,!1)&&!i){const e=x(c,(e,t,n)=>(S(t,t=>{t&&(e[t.tokenTypeIdx]=n,S(t.categoryMatches,t=>{e[t]=n}))}),e),{});return r?function(t){var n;const r=this.LA(1),i=e[r.tokenTypeIdx];if(void 0!==t&&void 0!==i){const e=null===(n=t[i])||void 0===n?void 0:n.GATE;if(void 0!==e&&!1===e.call(this))return}return i}:function(){const t=this.LA(1);return e[t.tokenTypeIdx]}}return r?function(e){const t=new Od,n=void 0===e?0:e.length;for(let i=0;i<n;i++){const n=null==e?void 0:e[i].GATE;t.set(i,void 0===n||n.call(this))}const r=Id.call(this,s,u,t,o);return"number"==typeof r?r:void 0}:function(){const e=Id.call(this,s,u,Cd,o);return"number"==typeof e?e:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:t,rule:n,prodType:r,dynamicTokensEnabled:i}=e,s=this.dfas,o=this.logging,a=ad(n,r,t),u=this.atn.decisionMap[a].decision,c=T(Hf({maxLookahead:1,occurrence:t,prodType:r,rule:n}),e=>T(e,e=>e[0]));if(_d(c)&&c[0][0]&&!i){const e=c[0],t=R(e);if(1===t.length&&g(t[0].categoryMatches)){const e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{const e=x(t,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,S(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){const t=this.LA(1);return!0===e[t.tokenTypeIdx]}}}return function(){const e=Id.call(this,s,u,Cd,o);return"object"!=typeof e&&0===e}}}function _d(e,t=!0){const n=new Set;for(const r of e){const e=new Set;for(const i of r){if(void 0===i){if(t)break;return!1}const r=[i.tokenTypeIdx].concat(i.categoryMatches);for(const t of r)if(n.has(t)){if(!e.has(t))return!1}else n.add(t),e.add(t)}}return!0}function Id(e,t,n,r){const i=e[t](n);let s=i.start;if(void 0===s){s=Fd(i,Ud(function(e){const t=new kd,n=e.transitions.length;for(let r=0;r<n;r++){Kd({state:e.transitions[r].target,alt:r,stack:[]},t)}return t}(i.atnStartState))),i.start=s}return Ld.apply(this,[i,s,n,r])}function Ld(e,t,n,r){let i=t,s=1;const o=[];let a=this.LA(s++);for(;;){let t=Dd(i,a);if(void 0===t&&(t=Md.apply(this,[e,i,a,s,n,r])),t===Ed)return jd(o,i,a);if(!0===t.isAcceptState)return t.prediction;i=t,o.push(a),a=this.LA(s++)}}function Md(e,t,n,r,i,s){const o=function(e,t,n){const r=new kd,i=[];for(const o of e.elements){if(!1===n.is(o.alt))continue;if(7===o.state.type){i.push(o);continue}const e=o.state.transitions.length;for(let n=0;n<e;n++){const e=Gd(o.state.transitions[n],t);void 0!==e&&r.add({state:e,alt:o.alt,stack:o.stack})}}let s;0===i.length&&1===r.size&&(s=r);if(void 0===s){s=new kd;for(const e of r.elements)Kd(e,s)}if(i.length>0&&!function(e){for(const t of e.elements)if(7===t.state.type)return!0;return!1}(s))for(const o of i)s.add(o);return s}(t.configs,n,i);if(0===o.size)return Bd(e,t,n,Ed),Ed;let a=Ud(o);const u=function(e,t){let n;for(const r of e.elements)if(!0===t.is(r.alt))if(void 0===n)n=r.alt;else if(n!==r.alt)return;return n}(o,i);if(void 0!==u)a.isAcceptState=!0,a.prediction=u,a.configs.uniqueAlt=u;else if(function(e){if(function(e){for(const t of e.elements)if(7!==t.state.type)return!1;return!0}(e))return!0;const t=function(e){const t=new Map;for(const n of e){const e=xd(n,!1);let r=t.get(e);void 0===r&&(r={},t.set(e,r)),r[n.alt]=!0}return t}(e.elements);return function(e){for(const t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}(t)&&!function(e){for(const t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}(t)}(o)){const t=w(o.alts);a.isAcceptState=!0,a.prediction=t,a.configs.uniqueAlt=t,Pd.apply(this,[e,r,o.alts,s])}return a=Bd(e,t,n,a),a}function Pd(e,t,n,r){const i=[];for(let o=1;o<=t;o++)i.push(this.LA(o).tokenType);const s=e.atnStartState;r(function(e){const t=T(e.prefixPath,e=>df(e)).join(", "),n=0===e.production.idx?"":e.production.idx;let r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${function(e){if(e instanceof tl)return"SUBRULE";if(e instanceof il)return"OPTION";if(e instanceof cl)return"OR";if(e instanceof sl)return"AT_LEAST_ONE";if(e instanceof ol)return"AT_LEAST_ONE_SEP";if(e instanceof ul)return"MANY_SEP";if(e instanceof al)return"MANY";if(e instanceof ll)return"CONSUME";throw Error("non exhaustive match")}(e.production)}${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`;return r+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",r}({topLevelRule:s.rule,ambiguityIndices:n,production:s.production,prefixPath:i}))}function jd(e,t,n){var r;return{actualToken:n,possibleTokenTypes:function(e,t){return e&&e.length?A(e,E(t)):[]}((r=t.configs.elements,b(T(r,e=>e.state.transitions))).filter(e=>e instanceof cd).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function Dd(e,t){return e.edges[t.tokenTypeIdx]}function Gd(e,t){if(e instanceof cd&&xf(t,e.tokenType))return e.target}function Ud(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function Bd(e,t,n,r){return r=Fd(e,r),t.edges[n.tokenTypeIdx]=r,r}function Fd(e,t){if(t===Ed)return t;const n=t.configs.key,r=e.states[n];return void 0!==r?r:(t.configs.finalize(),e.states[n]=t,t)}function Kd(e,t){const n=e.state;if(7===n.type){if(e.stack.length>0){const n=[...e.stack];Kd({state:n.pop(),alt:e.alt,stack:n},t)}else t.add(e);return}n.epsilonOnlyTransitions||t.add(e);const r=n.transitions.length;for(let i=0;i<r;i++){const r=Vd(e,n.transitions[i]);void 0!==r&&Kd(r,t)}}function Vd(e,t){if(t instanceof ld)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof fd){const n=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:n}}}var Hd,Wd,zd,Yd,qd,Xd,Zd,Jd,Qd,ep,tp,np,rp,ip,sp,op,ap,up,cp,lp,fp,hp,dp,pp,mp,yp,vp,gp,$p,Tp,Rp,wp,bp,Ap,Ep,kp,xp,Sp,Op,Cp,Np,_p,Ip,Lp,Mp,Pp,jp,Dp,Gp,Up,Bp,Fp,Kp,Vp,Hp,Wp,zp,Yp,qp,Xp,Zp,Jp,Qp,em,tm,nm,rm,im,sm,om,am,um,cm,lm,fm,hm,dm,pm,mm,ym,vm,gm,$m,Tm,Rm,wm,bm,Am,Em,km,xm,Sm,Om,Cm,Nm,_m,Im,Lm,Mm,Pm,jm,Dm,Gm,Um,Bm,Fm,Km,Vm,Hm,Wm,zm,Ym,qm,Xm,Zm,Jm,Qm,ey,ty,ny,ry,iy,sy,oy,ay,uy,cy,ly,fy,hy,dy,py,my;(Hd||(Hd={})).is=function(e){return"string"==typeof e},(Wd||(Wd={})).is=function(e){return"string"==typeof e},(Yd=zd||(zd={})).MIN_VALUE=-2147483648,Yd.MAX_VALUE=2147483647,Yd.is=function(e){return"number"==typeof e&&Yd.MIN_VALUE<=e&&e<=Yd.MAX_VALUE},(Xd=qd||(qd={})).MIN_VALUE=0,Xd.MAX_VALUE=2147483647,Xd.is=function(e){return"number"==typeof e&&Xd.MIN_VALUE<=e&&e<=Xd.MAX_VALUE},(Jd=Zd||(Zd={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=qd.MAX_VALUE),t===Number.MAX_VALUE&&(t=qd.MAX_VALUE),{line:e,character:t}},Jd.is=function(e){let t=e;return vy.objectLiteral(t)&&vy.uinteger(t.line)&&vy.uinteger(t.character)},(ep=Qd||(Qd={})).create=function(e,t,n,r){if(vy.uinteger(e)&&vy.uinteger(t)&&vy.uinteger(n)&&vy.uinteger(r))return{start:Zd.create(e,t),end:Zd.create(n,r)};if(Zd.is(e)&&Zd.is(t))return{start:e,end:t};throw new Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)},ep.is=function(e){let t=e;return vy.objectLiteral(t)&&Zd.is(t.start)&&Zd.is(t.end)},(np=tp||(tp={})).create=function(e,t){return{uri:e,range:t}},np.is=function(e){let t=e;return vy.objectLiteral(t)&&Qd.is(t.range)&&(vy.string(t.uri)||vy.undefined(t.uri))},(ip=rp||(rp={})).create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},ip.is=function(e){let t=e;return vy.objectLiteral(t)&&Qd.is(t.targetRange)&&vy.string(t.targetUri)&&Qd.is(t.targetSelectionRange)&&(Qd.is(t.originSelectionRange)||vy.undefined(t.originSelectionRange))},(op=sp||(sp={})).create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},op.is=function(e){const t=e;return vy.objectLiteral(t)&&vy.numberRange(t.red,0,1)&&vy.numberRange(t.green,0,1)&&vy.numberRange(t.blue,0,1)&&vy.numberRange(t.alpha,0,1)},(up=ap||(ap={})).create=function(e,t){return{range:e,color:t}},up.is=function(e){const t=e;return vy.objectLiteral(t)&&Qd.is(t.range)&&sp.is(t.color)},(lp=cp||(cp={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},lp.is=function(e){const t=e;return vy.objectLiteral(t)&&vy.string(t.label)&&(vy.undefined(t.textEdit)||kp.is(t))&&(vy.undefined(t.additionalTextEdits)||vy.typedArray(t.additionalTextEdits,kp.is))},(hp=fp||(fp={})).Comment="comment",hp.Imports="imports",hp.Region="region",(pp=dp||(dp={})).create=function(e,t,n,r,i,s){const o={startLine:e,endLine:t};return vy.defined(n)&&(o.startCharacter=n),vy.defined(r)&&(o.endCharacter=r),vy.defined(i)&&(o.kind=i),vy.defined(s)&&(o.collapsedText=s),o},pp.is=function(e){const t=e;return vy.objectLiteral(t)&&vy.uinteger(t.startLine)&&vy.uinteger(t.startLine)&&(vy.undefined(t.startCharacter)||vy.uinteger(t.startCharacter))&&(vy.undefined(t.endCharacter)||vy.uinteger(t.endCharacter))&&(vy.undefined(t.kind)||vy.string(t.kind))},(yp=mp||(mp={})).create=function(e,t){return{location:e,message:t}},yp.is=function(e){let t=e;return vy.defined(t)&&tp.is(t.location)&&vy.string(t.message)},(gp=vp||(vp={})).Error=1,gp.Warning=2,gp.Information=3,gp.Hint=4,(Tp=$p||($p={})).Unnecessary=1,Tp.Deprecated=2,(Rp||(Rp={})).is=function(e){const t=e;return vy.objectLiteral(t)&&vy.string(t.href)},(bp=wp||(wp={})).create=function(e,t,n,r,i,s){let o={range:e,message:t};return vy.defined(n)&&(o.severity=n),vy.defined(r)&&(o.code=r),vy.defined(i)&&(o.source=i),vy.defined(s)&&(o.relatedInformation=s),o},bp.is=function(e){var t;let n=e;return vy.defined(n)&&Qd.is(n.range)&&vy.string(n.message)&&(vy.number(n.severity)||vy.undefined(n.severity))&&(vy.integer(n.code)||vy.string(n.code)||vy.undefined(n.code))&&(vy.undefined(n.codeDescription)||vy.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(vy.string(n.source)||vy.undefined(n.source))&&(vy.undefined(n.relatedInformation)||vy.typedArray(n.relatedInformation,mp.is))},(Ep=Ap||(Ap={})).create=function(e,t,...n){let r={title:e,command:t};return vy.defined(n)&&n.length>0&&(r.arguments=n),r},Ep.is=function(e){let t=e;return vy.defined(t)&&vy.string(t.title)&&vy.string(t.command)},(xp=kp||(kp={})).replace=function(e,t){return{range:e,newText:t}},xp.insert=function(e,t){return{range:{start:e,end:e},newText:t}},xp.del=function(e){return{range:e,newText:""}},xp.is=function(e){const t=e;return vy.objectLiteral(t)&&vy.string(t.newText)&&Qd.is(t.range)},(Op=Sp||(Sp={})).create=function(e,t,n){const r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},Op.is=function(e){const t=e;return vy.objectLiteral(t)&&vy.string(t.label)&&(vy.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(vy.string(t.description)||void 0===t.description)},(Cp||(Cp={})).is=function(e){const t=e;return vy.string(t)},(_p=Np||(Np={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},_p.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},_p.del=function(e,t){return{range:e,newText:"",annotationId:t}},_p.is=function(e){const t=e;return kp.is(t)&&(Sp.is(t.annotationId)||Cp.is(t.annotationId))},(Lp=Ip||(Ip={})).create=function(e,t){return{textDocument:e,edits:t}},Lp.is=function(e){let t=e;return vy.defined(t)&&Wp.is(t.textDocument)&&Array.isArray(t.edits)},(Pp=Mp||(Mp={})).create=function(e,t,n){let r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},Pp.is=function(e){let t=e;return t&&"create"===t.kind&&vy.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||vy.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||vy.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||Cp.is(t.annotationId))},(Dp=jp||(jp={})).create=function(e,t,n,r){let i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},Dp.is=function(e){let t=e;return t&&"rename"===t.kind&&vy.string(t.oldUri)&&vy.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||vy.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||vy.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||Cp.is(t.annotationId))},(Up=Gp||(Gp={})).create=function(e,t,n){let r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},Up.is=function(e){let t=e;return t&&"delete"===t.kind&&vy.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||vy.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||vy.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||Cp.is(t.annotationId))},(Bp||(Bp={})).is=function(e){let t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every(e=>vy.string(e.kind)?Mp.is(e)||jp.is(e)||Gp.is(e):Ip.is(e)))},(Kp=Fp||(Fp={})).create=function(e){return{uri:e}},Kp.is=function(e){let t=e;return vy.defined(t)&&vy.string(t.uri)},(Hp=Vp||(Vp={})).create=function(e,t){return{uri:e,version:t}},Hp.is=function(e){let t=e;return vy.defined(t)&&vy.string(t.uri)&&vy.integer(t.version)},(zp=Wp||(Wp={})).create=function(e,t){return{uri:e,version:t}},zp.is=function(e){let t=e;return vy.defined(t)&&vy.string(t.uri)&&(null===t.version||vy.integer(t.version))},(qp=Yp||(Yp={})).create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},qp.is=function(e){let t=e;return vy.defined(t)&&vy.string(t.uri)&&vy.string(t.languageId)&&vy.integer(t.version)&&vy.string(t.text)},(Zp=Xp||(Xp={})).PlainText="plaintext",Zp.Markdown="markdown",Zp.is=function(e){const t=e;return t===Zp.PlainText||t===Zp.Markdown},(Jp||(Jp={})).is=function(e){const t=e;return vy.objectLiteral(e)&&Xp.is(t.kind)&&vy.string(t.value)},(em=Qp||(Qp={})).Text=1,em.Method=2,em.Function=3,em.Constructor=4,em.Field=5,em.Variable=6,em.Class=7,em.Interface=8,em.Module=9,em.Property=10,em.Unit=11,em.Value=12,em.Enum=13,em.Keyword=14,em.Snippet=15,em.Color=16,em.File=17,em.Reference=18,em.Folder=19,em.EnumMember=20,em.Constant=21,em.Struct=22,em.Event=23,em.Operator=24,em.TypeParameter=25,(nm=tm||(tm={})).PlainText=1,nm.Snippet=2,(rm||(rm={})).Deprecated=1,(sm=im||(im={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},sm.is=function(e){const t=e;return t&&vy.string(t.newText)&&Qd.is(t.insert)&&Qd.is(t.replace)},(am=om||(om={})).asIs=1,am.adjustIndentation=2,(um||(um={})).is=function(e){const t=e;return t&&(vy.string(t.detail)||void 0===t.detail)&&(vy.string(t.description)||void 0===t.description)},(cm||(cm={})).create=function(e){return{label:e}},(lm||(lm={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(hm=fm||(fm={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},hm.is=function(e){const t=e;return vy.string(t)||vy.objectLiteral(t)&&vy.string(t.language)&&vy.string(t.value)},(dm||(dm={})).is=function(e){let t=e;return!!t&&vy.objectLiteral(t)&&(Jp.is(t.contents)||fm.is(t.contents)||vy.typedArray(t.contents,fm.is))&&(void 0===e.range||Qd.is(e.range))},(pm||(pm={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(mm||(mm={})).create=function(e,t,...n){let r={label:e};return vy.defined(t)&&(r.documentation=t),vy.defined(n)?r.parameters=n:r.parameters=[],r},(vm=ym||(ym={})).Text=1,vm.Read=2,vm.Write=3,(gm||(gm={})).create=function(e,t){let n={range:e};return vy.number(t)&&(n.kind=t),n},(Tm=$m||($m={})).File=1,Tm.Module=2,Tm.Namespace=3,Tm.Package=4,Tm.Class=5,Tm.Method=6,Tm.Property=7,Tm.Field=8,Tm.Constructor=9,Tm.Enum=10,Tm.Interface=11,Tm.Function=12,Tm.Variable=13,Tm.Constant=14,Tm.String=15,Tm.Number=16,Tm.Boolean=17,Tm.Array=18,Tm.Object=19,Tm.Key=20,Tm.Null=21,Tm.EnumMember=22,Tm.Struct=23,Tm.Event=24,Tm.Operator=25,Tm.TypeParameter=26,(Rm||(Rm={})).Deprecated=1,(wm||(wm={})).create=function(e,t,n,r,i){let s={name:e,kind:t,location:{uri:r,range:n}};return i&&(s.containerName=i),s},(bm||(bm={})).create=function(e,t,n,r){return void 0!==r?{name:e,kind:t,location:{uri:n,range:r}}:{name:e,kind:t,location:{uri:n}}},(Em=Am||(Am={})).create=function(e,t,n,r,i,s){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return void 0!==s&&(o.children=s),o},Em.is=function(e){let t=e;return t&&vy.string(t.name)&&vy.number(t.kind)&&Qd.is(t.range)&&Qd.is(t.selectionRange)&&(void 0===t.detail||vy.string(t.detail))&&(void 0===t.deprecated||vy.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))},(xm=km||(km={})).Empty="",xm.QuickFix="quickfix",xm.Refactor="refactor",xm.RefactorExtract="refactor.extract",xm.RefactorInline="refactor.inline",xm.RefactorRewrite="refactor.rewrite",xm.Source="source",xm.SourceOrganizeImports="source.organizeImports",xm.SourceFixAll="source.fixAll",(Om=Sm||(Sm={})).Invoked=1,Om.Automatic=2,(Nm=Cm||(Cm={})).create=function(e,t,n){let r={diagnostics:e};return null!=t&&(r.only=t),null!=n&&(r.triggerKind=n),r},Nm.is=function(e){let t=e;return vy.defined(t)&&vy.typedArray(t.diagnostics,wp.is)&&(void 0===t.only||vy.typedArray(t.only,vy.string))&&(void 0===t.triggerKind||t.triggerKind===Sm.Invoked||t.triggerKind===Sm.Automatic)},(Im=_m||(_m={})).create=function(e,t,n){let r={title:e},i=!0;return"string"==typeof t?(i=!1,r.kind=t):Ap.is(t)?r.command=t:r.edit=t,i&&void 0!==n&&(r.kind=n),r},Im.is=function(e){let t=e;return t&&vy.string(t.title)&&(void 0===t.diagnostics||vy.typedArray(t.diagnostics,wp.is))&&(void 0===t.kind||vy.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||Ap.is(t.command))&&(void 0===t.isPreferred||vy.boolean(t.isPreferred))&&(void 0===t.edit||Bp.is(t.edit))},(Mm=Lm||(Lm={})).create=function(e,t){let n={range:e};return vy.defined(t)&&(n.data=t),n},Mm.is=function(e){let t=e;return vy.defined(t)&&Qd.is(t.range)&&(vy.undefined(t.command)||Ap.is(t.command))},(jm=Pm||(Pm={})).create=function(e,t){return{tabSize:e,insertSpaces:t}},jm.is=function(e){let t=e;return vy.defined(t)&&vy.uinteger(t.tabSize)&&vy.boolean(t.insertSpaces)},(Gm=Dm||(Dm={})).create=function(e,t,n){return{range:e,target:t,data:n}},Gm.is=function(e){let t=e;return vy.defined(t)&&Qd.is(t.range)&&(vy.undefined(t.target)||vy.string(t.target))},(Bm=Um||(Um={})).create=function(e,t){return{range:e,parent:t}},Bm.is=function(e){let t=e;return vy.objectLiteral(t)&&Qd.is(t.range)&&(void 0===t.parent||Bm.is(t.parent))},(Km=Fm||(Fm={})).namespace="namespace",Km.type="type",Km.class="class",Km.enum="enum",Km.interface="interface",Km.struct="struct",Km.typeParameter="typeParameter",Km.parameter="parameter",Km.variable="variable",Km.property="property",Km.enumMember="enumMember",Km.event="event",Km.function="function",Km.method="method",Km.macro="macro",Km.keyword="keyword",Km.modifier="modifier",Km.comment="comment",Km.string="string",Km.number="number",Km.regexp="regexp",Km.operator="operator",Km.decorator="decorator",(Hm=Vm||(Vm={})).declaration="declaration",Hm.definition="definition",Hm.readonly="readonly",Hm.static="static",Hm.deprecated="deprecated",Hm.abstract="abstract",Hm.async="async",Hm.modification="modification",Hm.documentation="documentation",Hm.defaultLibrary="defaultLibrary",(Wm||(Wm={})).is=function(e){const t=e;return vy.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(Ym=zm||(zm={})).create=function(e,t){return{range:e,text:t}},Ym.is=function(e){const t=e;return null!=t&&Qd.is(t.range)&&vy.string(t.text)},(Xm=qm||(qm={})).create=function(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}},Xm.is=function(e){const t=e;return null!=t&&Qd.is(t.range)&&vy.boolean(t.caseSensitiveLookup)&&(vy.string(t.variableName)||void 0===t.variableName)},(Jm=Zm||(Zm={})).create=function(e,t){return{range:e,expression:t}},Jm.is=function(e){const t=e;return null!=t&&Qd.is(t.range)&&(vy.string(t.expression)||void 0===t.expression)},(ey=Qm||(Qm={})).create=function(e,t){return{frameId:e,stoppedLocation:t}},ey.is=function(e){const t=e;return vy.defined(t)&&Qd.is(e.stoppedLocation)},(ny=ty||(ty={})).Type=1,ny.Parameter=2,ny.is=function(e){return 1===e||2===e},(iy=ry||(ry={})).create=function(e){return{value:e}},iy.is=function(e){const t=e;return vy.objectLiteral(t)&&(void 0===t.tooltip||vy.string(t.tooltip)||Jp.is(t.tooltip))&&(void 0===t.location||tp.is(t.location))&&(void 0===t.command||Ap.is(t.command))},(oy=sy||(sy={})).create=function(e,t,n){const r={position:e,label:t};return void 0!==n&&(r.kind=n),r},oy.is=function(e){const t=e;return vy.objectLiteral(t)&&Zd.is(t.position)&&(vy.string(t.label)||vy.typedArray(t.label,ry.is))&&(void 0===t.kind||ty.is(t.kind))&&void 0===t.textEdits||vy.typedArray(t.textEdits,kp.is)&&(void 0===t.tooltip||vy.string(t.tooltip)||Jp.is(t.tooltip))&&(void 0===t.paddingLeft||vy.boolean(t.paddingLeft))&&(void 0===t.paddingRight||vy.boolean(t.paddingRight))},(ay||(ay={})).createSnippet=function(e){return{kind:"snippet",value:e}},(uy||(uy={})).create=function(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}},(cy||(cy={})).create=function(e){return{items:e}},(fy=ly||(ly={})).Invoked=0,fy.Automatic=1,(hy||(hy={})).create=function(e,t){return{range:e,text:t}},(dy||(dy={})).create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}},(py||(py={})).is=function(e){const t=e;return vy.objectLiteral(t)&&Wd.is(t.uri)&&vy.string(t.name)},function(e){function t(e,n){if(e.length<=1)return e;const r=e.length/2|0,i=e.slice(0,r),s=e.slice(r);t(i,n),t(s,n);let o=0,a=0,u=0;for(;o<i.length&&a<s.length;){let t=n(i[o],s[a]);e[u++]=t<=0?i[o++]:s[a++]}for(;o<i.length;)e[u++]=i[o++];for(;a<s.length;)e[u++]=s[a++];return e}e.create=function(e,t,n,r){return new yy(e,t,n,r)},e.is=function(e){let t=e;return!!(vy.defined(t)&&vy.string(t.uri)&&(vy.undefined(t.languageId)||vy.string(t.languageId))&&vy.uinteger(t.lineCount)&&vy.func(t.getText)&&vy.func(t.positionAt)&&vy.func(t.offsetAt))},e.applyEdits=function(e,n){let r=e.getText(),i=t(n,(e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n}),s=r.length;for(let t=i.length-1;t>=0;t--){let n=i[t],o=e.offsetAt(n.range.start),a=e.offsetAt(n.range.end);if(!(a<=s))throw new Error("Overlapping edit");r=r.substring(0,o)+n.newText+r.substring(a,r.length),s=o}return r}}(my||(my={}));let yy=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&(e.push(r),n=!1);let i=t.charAt(r);n="\r"===i||"\n"===i,"\r"===i&&r+1<t.length&&"\n"===t.charAt(r+1)&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return Zd.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return Zd.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}};var vy;!function(e){const t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.numberRange=function(e,n,r){return"[object Number]"===t.call(e)&&n<=e&&e<=r},e.integer=function(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(vy||(vy={}));class gy{constructor(){this.nodeStack=[]}get current(){var e;return null!==(e=this.nodeStack[this.nodeStack.length-1])&&void 0!==e?e:this.rootNode}buildRootNode(e){return this.rootNode=new by(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const t=new Ry;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){const n=new Ty(e.startOffset,e.image.length,Y(e),e.tokenType,!t);return n.grammarSource=t,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const t=e.container;if(t){const n=t.content.indexOf(e);n>=0&&t.content.splice(n,1)}}addHiddenNodes(e){const t=[];for(const i of e){const e=new Ty(i.startOffset,i.image.length,Y(i),i.tokenType,!0);e.root=this.rootNode,t.push(e)}let n=this.current,r=!1;if(n.content.length>0)n.content.push(...t);else{for(;n.container;){const e=n.container.content.indexOf(n);if(e>0){n.container.content.splice(e,0,...t),r=!0;break}n=n.container}r||this.rootNode.content.unshift(...t)}}construct(e){const t=this.current;"string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t;const n=this.nodeStack.pop();0===(null==n?void 0:n.content.length)&&this.removeNode(n)}}class $y{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;const n="string"==typeof(null===(e=this._astNode)||void 0===e?void 0:e.$type)?this._astNode:null===(t=this.container)||void 0===t?void 0:t.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Ty extends $y{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,n,r,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=r,this._length=t,this._range=n}}class Ry extends $y{constructor(){super(...arguments),this.content=new wy(this)}get children(){return this.content}get offset(){var e,t;return null!==(t=null===(e=this.firstNonHiddenNode)||void 0===e?void 0:e.offset)&&void 0!==t?t:0}get length(){return this.end-this.offset}get end(){var e,t;return null!==(t=null===(e=this.lastNonHiddenNode)||void 0===e?void 0:e.end)&&void 0!==t?t:0}get range(){const e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(void 0===this._rangeCache){const{range:n}=e,{range:r}=t;this._rangeCache={start:n.start,end:r.end.line<n.start.line?n.start:r.end}}return this._rangeCache}return{start:Zd.create(0,0),end:Zd.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 wy extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,wy.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...n){return this.addParents(n),super.splice(e,t,...n)}addParents(e){for(const t of e)t.container=this.parent}}class by extends Ry{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=null!=e?e:""}}const Ay=Symbol("Datatype");function Ey(e){return e.$type===Ay}const ky=e=>e.endsWith("")?e:e+"";class xy{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const t=this.lexer.definition,n="production"===e.LanguageMetaData.mode;this.wrapper=new Iy(t,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:n,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 Sy extends xy{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new gy,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 n=this.computeRuleType(e),r=this.wrapper.DEFINE_RULE(ky(e.name),this.startImplementation(n,t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}computeRuleType(e){if(!e.fragment){if(Yt(e))return Ay;{const t=Xt(e);return null!=t?t:e.name}}}parse(e,t={}){this.nodeBuilder.buildRootNode(e);const n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;const r=t.rule?this.allRules.get(t.rule):this.mainRule;if(!r)throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");const i=r.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:i,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}startImplementation(e,t){return n=>{const r=!this.isRecording()&&void 0!==e;if(r){const t={$type:e};this.stack.push(t),e===Ay&&(t.value="")}let i;try{i=t(n)}catch(s){i=void 0}return void 0===i&&r&&(i=this.construct()),i}}extractHiddenTokens(e){const t=this.lexerResult.hidden;if(!t.length)return[];const n=e.startOffset;for(let r=0;r<t.length;r++){if(t[r].startOffset>n)return t.splice(0,r)}return t.splice(0,t.length)}consume(e,t,n){const r=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(r)){const e=this.extractHiddenTokens(r);this.nodeBuilder.addHiddenNodes(e);const t=this.nodeBuilder.buildLeafNode(r,n),{assignment:i,isCrossRef:s}=this.getAssignment(n),o=this.current;if(i){const e=Xe(n)?r.image:this.converter.convert(r.image,t);this.assign(i.operator,i.feature,e,t,s)}else if(Ey(o)){let e=r.image;Xe(n)||(e=this.converter.convert(e,t).toString()),o.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,n,r,i){let s;this.isRecording()||n||(s=this.nodeBuilder.buildCompositeNode(r));const o=this.wrapper.wrapSubrule(e,t,i);!this.isRecording()&&s&&s.length>0&&this.performSubruleAssignment(o,r,s)}performSubruleAssignment(e,t,n){const{assignment:r,isCrossRef:i}=this.getAssignment(t);if(r)this.assign(r.operator,r.feature,e,n,i);else if(!r){const t=this.current;if(Ey(t))t.value+=e.toString();else if("object"==typeof e&&e){const n=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(n)}}}action(e,t){if(!this.isRecording()){let n=this.current;if(t.feature&&t.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode);this.nodeBuilder.buildCompositeNode(t).content.push(n.$cstNode);const r={$type:e};this.stack.push(r),this.assign(t.operator,t.feature,n,n.$cstNode,!1)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return function(e){for(const[t,n]of Object.entries(e))t.startsWith("$")||(Array.isArray(n)?n.forEach((n,r)=>{O(n)&&(n.$container=e,n.$containerProperty=t,n.$containerIndex=r)}):O(n)&&(n.$container=e,n.$containerProperty=t))}(e),this.nodeBuilder.construct(e),this.stack.pop(),Ey(e)?this.converter.convert(e.value,e.$cstNode):(function(e,t){const n=e.getTypeMetaData(t.$type),r=t;for(const i of n.properties)void 0!==i.defaultValue&&void 0===r[i.name]&&(r[i.name]=gt(i.defaultValue))}(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const t=lt(e,Fe);this.assignmentMap.set(e,{assignment:t,isCrossRef:!!t&&He(t.terminal)})}return this.assignmentMap.get(e)}assign(e,t,n,r,i){const s=this.current;let o;switch(o=i&&"string"==typeof n?this.linker.buildReference(s,t,r,n):n,e){case"=":s[t]=o;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(o)}}assignWithoutOverride(e,t){for(const[r,i]of Object.entries(t)){const t=e[r];void 0===t?e[r]=i:Array.isArray(t)&&Array.isArray(i)&&(i.push(...t),e[r]=i)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Oy{buildMismatchTokenMessage(e){return Sf.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Sf.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Sf.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Sf.buildEarlyExitMessage(e)}}class Cy extends Oy{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 Ny extends xy{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 n=this.wrapper.DEFINE_RULE(ky(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{const n=this.keepStackSize();try{e(t)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,n){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,n,r,i){this.before(r),this.wrapper.wrapSubrule(e,t,i),this.after(r)}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 _y={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Cy};class Iy extends od{constructor(e,t){const n=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},_y),{lookaheadStrategy:n?new Ih({maxLookahead:t.maxLookahead}):new Nd({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,n){return this.subrule(e,t,{ARGS:[n]})}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 Ly(e,t,n){return function(e,t){const n=Ut(t,!1),r=B(t.rules).filter(Ee).filter(e=>n.has(e));for(const i of r){const t=Object.assign(Object.assign({},e),{consume:1,optional:1,subrule:1,many:1,or:1});e.parser.rule(i,My(t,i.definition))}}({parser:t,tokens:n,ruleNames:new Map},e),t}function My(e,t,n=!1){let r;if(Xe(t))r=function(e,t){const n=e.consume++,r=e.tokens[t.value];if(!r)throw new Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(n,r,t)}(e,t);else if(De(t))r=function(e,t){const n=Zt(t);return()=>e.parser.action(n,t)}(e,t);else if(Fe(t))r=My(e,t.terminal);else if(He(t))r=Dy(e,t);else if(et(t))r=function(e,t){const n=t.rule.ref;if(Ee(n)){const r=e.subrule++,i=n.fragment,s=t.arguments.length>0?function(e,t){const n=t.map(e=>Py(e.value));return t=>{const r={};for(let i=0;i<n.length;i++){const s=e.parameters[i],o=n[i];r[s.name]=o(t)}return r}}(n,t.arguments):()=>({});return o=>e.parser.subrule(r,Uy(e,n),i,t,s(o))}if(_e(n)){const r=e.consume++,i=By(e,n.name);return()=>e.parser.consume(r,i,t)}if(!n)throw new Q(t.$cstNode,`Undefined rule: ${t.rule.$refText}`);ee()}(e,t);else if(Ue(t))r=function(e,t){if(1===t.elements.length)return My(e,t.elements[0]);{const n=[];for(const i of t.elements){const t={ALT:My(e,i,!0)},r=jy(i);r&&(t.GATE=Py(r)),n.push(t)}const r=e.or++;return t=>e.parser.alternatives(r,n.map(e=>{const n={ALT:()=>e.ALT(t)},r=e.GATE;return r&&(n.GATE=()=>r(t)),n}))}}(e,t);else if(st(t))r=function(e,t){if(1===t.elements.length)return My(e,t.elements[0]);const n=[];for(const a of t.elements){const t={ALT:My(e,a,!0)},r=jy(a);r&&(t.GATE=Py(r)),n.push(t)}const r=e.or++,i=(e,t)=>`uGroup_${e}_${t.getRuleStack().join("-")}`,s=t=>e.parser.alternatives(r,n.map((n,s)=>{const o={ALT:()=>!0},a=e.parser;o.ALT=()=>{if(n.ALT(t),!a.isRecording()){const e=i(r,a);a.unorderedGroups.get(e)||a.unorderedGroups.set(e,[]);const t=a.unorderedGroups.get(e);void 0===(null==t?void 0:t[s])&&(t[s]=!0)}};const u=n.GATE;return o.GATE=u?()=>u(t):()=>{const e=a.unorderedGroups.get(i(r,a));return!(null==e?void 0:e[s])},o})),o=Gy(e,jy(t),s,"*");return t=>{o(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(r,e.parser))}}(e,t);else if(Ye(t))r=function(e,t){const n=t.elements.map(t=>My(e,t));return e=>n.forEach(t=>t(e))}(e,t);else{if(i=t,!ct.isInstance(i,We))throw new Q(t.$cstNode,`Unexpected element type: ${t.$type}`);{const n=e.consume++;r=()=>e.parser.consume(n,Ef,t)}}var i;return Gy(e,n?void 0:jy(t),r,t.cardinality)}function Py(e){if(t=e,ct.isInstance(t,he)){const t=Py(e.left),n=Py(e.right);return e=>t(e)||n(e)}if(function(e){return ct.isInstance(e,fe)}(e)){const t=Py(e.left),n=Py(e.right);return e=>t(e)&&n(e)}if(function(e){return ct.isInstance(e,Te)}(e)){const t=Py(e.value);return e=>!t(e)}if(function(e){return ct.isInstance(e,be)}(e)){const t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(function(e){return ct.isInstance(e,le)}(e)){const t=Boolean(e.true);return()=>t}var t;ee()}function jy(e){if(Ye(e))return e.guardCondition}function Dy(e,t,n=t.terminal){if(n){if(et(n)&&Ee(n.rule.ref)){const r=n.rule.ref,i=e.subrule++;return n=>e.parser.subrule(i,Uy(e,r),!1,t,n)}if(et(n)&&_e(n.rule.ref)){const r=e.consume++,i=By(e,n.rule.ref.name);return()=>e.parser.consume(r,i,t)}if(Xe(n)){const r=e.consume++,i=By(e,n.value);return()=>e.parser.consume(r,i,t)}throw new Error("Could not build cross reference parser")}{if(!t.type.ref)throw new Error("Could not resolve reference to type: "+t.type.$refText);const n=Wt(t.type.ref),r=null==n?void 0:n.terminal;if(!r)throw new Error("Could not find name assignment for type: "+Zt(t.type.ref));return Dy(e,t,r)}}function Gy(e,t,n,r){const i=t&&Py(t);if(!r){if(i){const t=e.or++;return r=>e.parser.alternatives(t,[{ALT:()=>n(r),GATE:()=>i(r)},{ALT:id(),GATE:()=>!i(r)}])}return n}if("*"===r){const t=e.many++;return r=>e.parser.many(t,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}if("+"===r){const t=e.many++;if(i){const r=e.or++;return s=>e.parser.alternatives(r,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>n(s)}),GATE:()=>i(s)},{ALT:id(),GATE:()=>!i(s)}])}return r=>e.parser.atLeastOne(t,{DEF:()=>n(r)})}if("?"===r){const t=e.optional++;return r=>e.parser.optional(t,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}ee()}function Uy(e,t){const n=function(e,t){if(Ee(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let n=t,r=n.$container,i=t.$type;for(;!Ee(r);){if(Ye(r)||Ue(r)||st(r)){i=r.elements.indexOf(n).toString()+":"+i}n=r,r=r.$container}return i=r.name+":"+i,e.ruleNames.set(t,i),i}}(e,t),r=e.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function By(e,t){const n=e.tokens[t];if(!n)throw new Error(`Token "${t}" not found."`);return n}function Fy(e){const t=function(e){const t=e.Grammar,n=e.parser.Lexer,r=new Sy(e);return Ly(t,r,n.definition)}(e);return t.finalize(),t}class Ky{constructor(){this.diagnostics=[]}buildTokens(e,t){const n=B(Ut(e,!1)),r=this.buildTerminalTokens(n),i=this.buildKeywordTokens(n,r,t);return r.forEach(e=>{const t=e.PATTERN;"object"==typeof t&&t&&"test"in t&&jt(t)?i.unshift(e):i.push(e)}),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(_e).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){const t=Jt(e),n=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,r={name:e.name,PATTERN:n};return"function"==typeof n&&(r.LINE_BREAKS=!0),e.hidden&&(r.GROUP=jt(t)?hf.SKIPPED:"hidden"),r}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(e,n)=>{t.lastIndex=n;return t.exec(e)}}buildKeywordTokens(e,t,n){return e.filter(Ee).flatMap(e=>pt(e).filter(Xe)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,Boolean(null==n?void 0:n.caseInsensitive)))}buildKeywordToken(e,t,n){const r=this.buildKeywordPattern(e,n),i={name:e.value,PATTERN:r,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof r&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?new RegExp(function(e){return Array.prototype.map.call(e,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Dt(e)).join("")}(e.value)):e.value}findLongerAlt(e,t){return t.reduce((t,n)=>{const r=null==n?void 0:n.PATTERN;return(null==r?void 0:r.source)&&Gt("^"+r.source+"$",e.value)&&t.push(n),t},[])}}class Vy{convert(e,t){let n=t.grammarSource;if(He(n)&&(n=function(e){if(e.terminal)return e.terminal;if(e.type.ref){const t=Wt(e.type.ref);return null==t?void 0:t.terminal}}(n)),et(n)){const r=n.rule.ref;if(!r)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(r,e,t)}return e}runConverter(e,t,n){var r;switch(e.name.toUpperCase()){case"INT":return Hy.convertInt(t);case"STRING":return Hy.convertString(t);case"ID":return Hy.convertID(t)}switch(null===(r=function(e){var t,n,r;return _e(e)?null!==(n=null===(t=e.type)||void 0===t?void 0:t.name)&&void 0!==n?n:"string":null!==(r=Xt(e))&&void 0!==r?r:e.name}(e))||void 0===r?void 0:r.toLowerCase()){case"number":return Hy.convertNumber(t);case"boolean":return Hy.convertBoolean(t);case"bigint":return Hy.convertBigint(t);case"date":return Hy.convertDate(t);default:return t}}}var Hy;!function(e){function t(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return e}}e.convertString=function(e){let n="";for(let r=1;r<e.length-1;r++){const i=e.charAt(r);if("\\"===i){n+=t(e.charAt(++r))}else n+=i}return n},e.convertID=function(e){return"^"===e.charAt(0)?e.substring(1):e},e.convertInt=function(e){return parseInt(e)},e.convertBigint=function(e){return BigInt(e)},e.convertDate=function(e){return new Date(e)},e.convertNumber=function(e){return Number(e)},e.convertBoolean=function(e){return"true"===e.toLowerCase()}}(Hy||(Hy={}));var Wy,zy={},Yy={};function qy(){if(Wy)return Yy;let e;function t(){if(void 0===e)throw new Error("No runtime abstraction layer installed");return e}return Wy=1,Object.defineProperty(Yy,"__esModule",{value:!0}),(t||(t={})).install=function(t){if(void 0===t)throw new Error("No runtime abstraction layer provided");e=t},Yy.default=t,Yy}var Xy,Zy={};var Jy,Qy,ev={};function tv(){if(Jy)return ev;Jy=1,Object.defineProperty(ev,"__esModule",{value:!0}),ev.Emitter=ev.Event=void 0;const e=qy();var t;!function(e){const t={dispose(){}};e.None=function(){return t}}(t||(ev.Event=t={}));class n{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let r=0,i=this._callbacks.length;r<i;r++)if(this._callbacks[r]===e){if(this._contexts[r]===t)return this._callbacks.splice(r,1),void this._contexts.splice(r,1);n=!0}if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...t){if(!this._callbacks)return[];const n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,a=r.length;o<a;o++)try{n.push(r[o].apply(i[o],t))}catch(s){(0,e.default)().console.error(s)}return n}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,i)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const s={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),s.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(s),s}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return ev.Emitter=r,r._noop=function(){},ev}var nv=function(){if(Qy)return zy;Qy=1,Object.defineProperty(zy,"__esModule",{value:!0}),zy.CancellationTokenSource=zy.CancellationToken=void 0;const e=qy(),t=function(){if(Xy)return Zy;function e(e){return"string"==typeof e||e instanceof String}function t(e){return Array.isArray(e)}return Xy=1,Object.defineProperty(Zy,"__esModule",{value:!0}),Zy.stringArray=Zy.array=Zy.func=Zy.error=Zy.number=Zy.string=Zy.boolean=void 0,Zy.boolean=function(e){return!0===e||!1===e},Zy.string=e,Zy.number=function(e){return"number"==typeof e||e instanceof Number},Zy.error=function(e){return e instanceof Error},Zy.func=function(e){return"function"==typeof e},Zy.array=t,Zy.stringArray=function(n){return t(n)&&n.every(t=>e(t))},Zy}(),n=tv();var r,i;(i=r||(zy.CancellationToken=r={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None}),i.is=function(e){const n=e;return n&&(n===i.None||n===i.Cancelled||t.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)};const s=Object.freeze(function(t,n){const r=(0,e.default)().timer.setTimeout(t.bind(n),0);return{dispose(){r.dispose()}}});class o{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?s:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}return zy.CancellationTokenSource=class{get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=r.None}},zy}();let rv=0;const iv=Symbol("OperationCancelled");function sv(e){return e===iv}async function ov(e){if(e===nv.CancellationToken.None)return;const t=performance.now();if(t-rv>=10&&(rv=t,await new Promise(e=>{"undefined"==typeof setImmediate?setTimeout(e,0):setImmediate(e)}),rv=performance.now()),e.isCancellationRequested)throw iv}class av{constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}}class uv{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,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),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){for(const n of e)if(uv.isIncremental(n)){const e=mv(n.range),t=this.offsetAt(e.start),r=this.offsetAt(e.end);this._content=this._content.substring(0,t)+n.text+this._content.substring(r,this._content.length);const i=Math.max(e.start.line,0),s=Math.max(e.end.line,0);let o=this._lineOffsets;const a=dv(n.text,!1,t);if(s-i===a.length)for(let n=0,c=a.length;n<c;n++)o[n+i+1]=a[n];else a.length<1e4?o.splice(i+1,s-i,...a):this._lineOffsets=o=o.slice(0,i+1).concat(a,o.slice(s+1));const u=n.text.length-(r-t);if(0!==u)for(let n=i+1+a.length,c=o.length;n<c;n++)o[n]=o[n]+u}else{if(!uv.isFull(n))throw new Error("Unknown change event received");this._content=n.text,this._lineOffsets=void 0}this._version=t}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=dv(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const t=this.getLineOffsets();let n=0,r=t.length;if(0===r)return{line:0,character:e};for(;n<r;){const i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}const i=n-1;return{line:i,character:(e=this.ensureBeforeEOL(e,t[i]))-t[i]}}offsetAt(e){const t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;const n=t[e.line];if(e.character<=0)return n;const r=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(n+e.character,r);return this.ensureBeforeEOL(i,n)}ensureBeforeEOL(e,t){for(;e>t&&pv(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)}static isFull(e){const t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength}}var cv,lv,fv;function hv(e,t){if(e.length<=1)return e;const n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);hv(r,t),hv(i,t);let s=0,o=0,a=0;for(;s<r.length&&o<i.length;){const n=t(r[s],i[o]);e[a++]=n<=0?r[s++]:i[o++]}for(;s<r.length;)e[a++]=r[s++];for(;o<i.length;)e[a++]=i[o++];return e}function dv(e,t,n=0){const r=t?[n]:[];for(let i=0;i<e.length;i++){const t=e.charCodeAt(i);pv(t)&&(13===t&&i+1<e.length&&10===e.charCodeAt(i+1)&&i++,r.push(n+i+1))}return r}function pv(e){return 13===e||10===e}function mv(e){const t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function yv(e){const t=mv(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(lv=cv||(cv={})).create=function(e,t,n,r){return new uv(e,t,n,r)},lv.update=function(e,t,n){if(e instanceof uv)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},lv.applyEdits=function(e,t){const n=e.getText(),r=hv(t.map(yv),(e,t)=>{const n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n});let i=0;const s=[];for(const o of r){const t=e.offsetAt(o.range.start);if(t<i)throw new Error("Overlapping edit");t>i&&s.push(n.substring(i,t)),o.newText.length&&s.push(o.newText),i=e.offsetAt(o.range.end)}return s.push(n.substr(i)),s.join("")},(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,s=-1,o=0,a=0;a<=e.length;++a){if(a<e.length)n=e.charCodeAt(a);else{if(47===n)break;n=47}if(47===n){if(s===a-1||1===o);else if(s!==a-1&&2===o){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var u=r.lastIndexOf("/");if(u!==r.length-1){-1===u?(r="",i=0):i=(r=r.slice(0,u)).length-1-r.lastIndexOf("/"),s=a,o=0;continue}}else if(2===r.length||1===r.length){r="",i=0,s=a,o=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(s+1,a):r=e.slice(s+1,a),i=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,s=arguments.length-1;s>=-1&&!i;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e=process.cwd()),o=e),t(o),0!==o.length&&(r=o+"/"+r,i=47===o.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n<arguments.length;++n){var i=arguments[n];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var s=e.length,o=s-i,a=1;a<n.length&&47===n.charCodeAt(a);++a);for(var u=n.length-a,c=o<u?o:u,l=-1,f=0;f<=c;++f){if(f===c){if(u>c){if(47===n.charCodeAt(a+f))return n.slice(a+f+1);if(0===f)return n.slice(a+f)}else o>c&&(47===e.charCodeAt(i+f)?l=f:0===f&&(l=0));break}var h=e.charCodeAt(i+f);if(h!==n.charCodeAt(a+f))break;47===h&&(l=f)}var d="";for(f=i+l+1;f<=s;++f)f!==s&&47!==e.charCodeAt(f)||(0===d.length?d+="..":d+="/..");return d.length>0?d+n.slice(a+l):(a+=l,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){i=o;break}}else s=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,u=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!o){i=r+1;break}}else-1===u&&(o=!1,u=r+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=r):(a=-1,s=u))}return i===s?s=u:-1===s&&(s=e.length),e.slice(i,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!o){i=r+1;break}}else-1===s&&(o=!1,s=r+1);return-1===s?"":e.slice(i,s)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var u=e.charCodeAt(a);if(47!==u)-1===i&&(s=!1,i=a+1),46===u?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){r=a+1;break}}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return n=(t=e).dir||t.root,r=t.base||(t.name||"")+(t.ext||""),n?n===t.root?n+r:n+"/"+r:r;var t,n,r},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),s=47===i;s?(n.root="/",r=1):r=0;for(var o=-1,a=0,u=-1,c=!0,l=e.length-1,f=0;l>=r;--l)if(47!==(i=e.charCodeAt(l)))-1===u&&(c=!1,u=l+1),46===i?-1===o?o=l:1!==f&&(f=1):-1!==o&&(f=-1);else if(!c){a=l+1;break}return-1===o||-1===u||0===f||1===f&&o===u-1&&o===a+1?-1!==u&&(n.base=n.name=0===a&&s?e.slice(1,u):e.slice(a,u)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,u)):(n.name=e.slice(a,o),n.base=e.slice(a,u)),n.ext=e.slice(o,u)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{let e;if(n.r(r),n.d(r,{URI:()=>l,Utils:()=>E}),"object"==typeof process)e="win32"===process.platform;else if("object"==typeof navigator){let t=navigator.userAgent;e=t.indexOf("Windows")>=0}const t=/^\w[\w\d+.-]*$/,i=/^\//,s=/^\/\//;function o(e,n){if(!e.scheme&&n)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!i.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(s.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 a="",u="/",c=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class l{constructor(e,t,n,r,i,s=!1){v(this,"scheme"),v(this,"authority"),v(this,"path"),v(this,"query"),v(this,"fragment"),"object"==typeof e?(this.scheme=e.scheme||a,this.authority=e.authority||a,this.path=e.path||a,this.query=e.query||a,this.fragment=e.fragment||a):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||a,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==u&&(t=u+t):t=u}return t}(this.scheme,n||a),this.query=r||a,this.fragment=i||a,o(this,s))}static isUri(e){return e instanceof l||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}get fsPath(){return y(this)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=a),void 0===n?n=this.authority:null===n&&(n=a),void 0===r?r=this.path:null===r&&(r=a),void 0===i?i=this.query:null===i&&(i=a),void 0===s?s=this.fragment:null===s&&(s=a),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new h(t,n,r,i,s)}static parse(e,t=!1){const n=c.exec(e);return n?new h(n[2]||a,R(n[4]||a),R(n[5]||a),R(n[7]||a),R(n[9]||a),t):new h(a,a,a,a,a)}static file(t){let n=a;if(e&&(t=t.replace(/\\/g,u)),t[0]===u&&t[1]===u){const e=t.indexOf(u,2);-1===e?(n=t.substring(2),t=u):(n=t.substring(2,e),t=t.substring(e)||u)}return new h("file",n,t,a,a)}static from(e){const t=new h(e.scheme,e.authority,e.path,e.query,e.fragment);return o(t,!0),t}toString(e=!1){return g(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof l)return e;{const t=new h(e);return t._formatted=e.external,t._fsPath=e._sep===f?e.fsPath:null,t}}return e}}const f=e?1:void 0;class h extends l{constructor(){super(...arguments),v(this,"_formatted",null),v(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=y(this)),this._fsPath}toString(e=!1){return e?g(this,!0):(this._formatted||(this._formatted=g(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=f),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const d={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function p(e,t,n){let r,i=-1;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==r&&(r+=e.charAt(s));else{void 0===r&&(r=e.substr(0,s));const t=d[o];void 0!==t?(-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),r+=t):-1===i&&(i=s)}}return-1!==i&&(r+=encodeURIComponent(e.substring(i))),void 0!==r?r:e}function m(e){let t;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=d[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function y(t,n){let r;return r=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(r=r.replace(/\//g,"\\")),r}function g(e,t){const n=t?m:p;let r="",{scheme:i,authority:s,path:o,query:a,fragment:c}=e;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=u,r+=u),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=":",r+=n(t.substr(e+1),!1,!0)),r+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?r+=n(s,!1,!0):(r+=n(s.substr(0,e),!1,!0),r+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return a&&(r+="?",r+=n(a,!1,!1)),c&&(r+="#",r+=t?c:p(c,!1,!1)),r}function $(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+$(e.substr(3)):e}}const T=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R(e){return e.match(T)?e.replace(T,e=>$(e)):e}var w=n(470);const b=w.posix||w,A="/";var E,k;(k=E||(E={})).joinPath=function(e,...t){return e.with({path:b.join(e.path,...t)})},k.resolvePath=function(e,...t){let n=e.path,r=!1;n[0]!==A&&(n=A+n,r=!0);let i=b.resolve(n,...t);return r&&i[0]===A&&!e.authority&&(i=i.substring(1)),e.with({path:i})},k.dirname=function(e){if(0===e.path.length||e.path===A)return e;let t=b.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},k.basename=function(e){return b.basename(e.path)},k.extname=function(e){return b.extname(e.path)}})(),fv=r})();const{URI:vv,Utils:gv}=fv;var $v,Tv,Rv,wv;(Tv=$v||($v={})).basename=gv.basename,Tv.dirname=gv.dirname,Tv.extname=gv.extname,Tv.joinPath=gv.joinPath,Tv.resolvePath=gv.resolvePath,Tv.equals=function(e,t){return(null==e?void 0:e.toString())===(null==t?void 0:t.toString())},Tv.relative=function(e,t){const n="string"==typeof e?e:e.path,r="string"==typeof t?t:t.path,i=n.split("/").filter(e=>e.length>0),s=r.split("/").filter(e=>e.length>0);let o=0;for(;o<i.length&&i[o]===s[o];o++);return"../".repeat(i.length-o)+s.slice(o).join("/")},Tv.normalize=function(e){return vv.parse(e.toString()).toString()},(wv=Rv||(Rv={}))[wv.Changed=0]="Changed",wv[wv.Parsed=1]="Parsed",wv[wv.IndexedContent=2]="IndexedContent",wv[wv.ComputedScopes=3]="ComputedScopes",wv[wv.Linked=4]="Linked",wv[wv.IndexedReferences=5]="IndexedReferences",wv[wv.Validated=6]="Validated";class bv{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=nv.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,t)}fromTextDocument(e,t,n){return t=null!=t?t:vv.parse(e.uri),nv.CancellationToken.is(n)?this.createAsync(t,e,n):this.create(t,e,n)}fromString(e,t,n){return nv.CancellationToken.is(n)?this.createAsync(t,e,n):this.create(t,e,n)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,n){if("string"==typeof t){const r=this.parse(e,t,n);return this.createLangiumDocument(r,e,void 0,t)}if("$model"in t){const n={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}{const r=this.parse(e,t.getText(),n);return this.createLangiumDocument(r,e,t)}}async createAsync(e,t,n){if("string"==typeof t){const r=await this.parseAsync(e,t,n);return this.createLangiumDocument(r,e,void 0,t)}{const r=await this.parseAsync(e,t.getText(),n);return this.createLangiumDocument(r,e,t)}}createLangiumDocument(e,t,n,r){let i;if(n)i={parseResult:e,uri:t,state:Rv.Parsed,references:[],textDocument:n};else{const n=this.createTextDocumentGetter(t,r);i={parseResult:e,uri:t,state:Rv.Parsed,references:[],get textDocument(){return n()}}}return e.value.$document=i,i}async update(e,t){var n,r;const i=null===(n=e.parseResult.value.$cstNode)||void 0===n?void 0:n.root.fullText,s=null===(r=this.textDocuments)||void 0===r?void 0:r.get(e.uri.toString()),o=s?s.getText():await this.fileSystemProvider.readFile(e.uri);if(s)Object.defineProperty(e,"textDocument",{value:s});else{const t=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:t})}return i!==o&&(e.parseResult=await this.parseAsync(e.uri,o,t),e.parseResult.value.$document=e),e.state=Rv.Parsed,e}parse(e,t,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,n)}parseAsync(e,t,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,n)}createTextDocumentGetter(e,t){const n=this.serviceRegistry;let r;return()=>null!=r?r:r=cv.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,null!=t?t:"")}}class Av{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return B(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 n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(n),n)}createDocument(e,t,n){if(n)return this.langiumDocumentFactory.fromString(t,e,n).then(e=>(this.addDocument(e),e));{const n=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(n),n}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const t=e.toString(),n=this.documentMap.get(t);if(n){this.serviceRegistry.getServices(e).references.Linker.unlink(n),n.state=Rv.Changed,n.precomputedScopes=void 0,n.diagnostics=void 0}return n}deleteDocument(e){const t=e.toString(),n=this.documentMap.get(t);return n&&(n.state=Rv.Changed,this.documentMap.delete(t)),n}}const Ev=Symbol("ref_resolving");class kv{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=nv.CancellationToken.None){for(const n of mt(e.parseResult.value))await ov(t),vt(n).forEach(t=>this.doLink(t,e))}doLink(e,t){var n;const r=e.reference;if(void 0===r._ref){r._ref=Ev;try{const t=this.getCandidate(e);if(N(t))r._ref=t;else if(r._nodeDescription=t,this.langiumDocuments().hasDocument(t.documentUri)){const n=this.loadAstNode(t);r._ref=null!=n?n:this.createLinkingError(e,t)}else r._ref=void 0}catch(i){console.error(`An error occurred while resolving reference to '${r.$refText}':`,i);const t=null!==(n=i.message)&&void 0!==n?n:String(i);r._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${r.$refText}': ${t}`})}t.references.push(r)}}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 null!=t?t:this.createLinkingError(e)}buildReference(e,t,n,r){const i=this,s={$refNode:n,$refText:r,get ref(){var n,o;if(O(this._ref))return this._ref;if("object"==typeof(o=this._nodeDescription)&&null!==o&&"string"==typeof o.name&&"string"==typeof o.type&&"string"==typeof o.path){const n=i.loadAstNode(this._nodeDescription);this._ref=null!=n?n:i.createLinkingError({reference:s,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=Ev;const r=ht(e).$document,o=i.getLinkedNode({reference:s,container:e,property:t});if(o.error&&r&&r.state<Rv.ComputedScopes)return this._ref=void 0;this._ref=null!==(n=o.node)&&void 0!==n?n:o.error,this._nodeDescription=o.descr,null==r||r.references.push(this)}else if(this._ref===Ev)throw new Error(`Cyclic reference resolution detected: ${i.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`);return O(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return N(this._ref)?this._ref:void 0}};return s}getLinkedNode(e){var t;try{const t=this.getCandidate(e);if(N(t))return{error:t};const n=this.loadAstNode(t);return n?{node:n,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(n){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,n);const r=null!==(t=n.message)&&void 0!==t?t:String(n);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`})}}}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 n=ht(e.container).$document;n&&n.state<Rv.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);const r=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${r} named '${e.reference.$refText}'.`,targetDescription:t})}}class xv{getName(e){if(function(e){return"string"==typeof e.name}(e))return e.name}getNameNode(e){return Kt(e.$cstNode,"name")}}class Sv{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(e){var t;const n=e.astNode;for(;n===(null===(t=e.container)||void 0===t?void 0:t.astNode);){const t=lt(e.grammarSource,Fe);if(t)return t;e=e.container}}(e),n=e.astNode;if(t&&n){const r=n[t.feature];if(C(r))return r.ref;if(Array.isArray(r))for(const t of r)if(C(t)&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return t.ref}if(n){const t=this.nameProvider.getNameNode(n);if(t&&(t===e||function(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}(e,t)))return n}}}findDeclarationNode(e){const t=this.findDeclaration(e);if(null==t?void 0:t.$cstNode){const e=this.nameProvider.getNameNode(t);return null!=e?e:t.$cstNode}}findReferences(e,t){const n=[];if(t.includeDeclaration){const t=this.getReferenceToSelf(e);t&&n.push(t)}let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(r=r.filter(e=>$v.equals(e.sourceUri,t.documentUri))),n.push(...r),B(n)}getReferenceToSelf(e){const t=this.nameProvider.getNameNode(e);if(t){const n=ft(e),r=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:r,targetUri:n.uri,targetPath:r,segment:q(t),local:!0}}}}class Ov{constructor(e){if(this.map=new Map,e)for(const[t,n]of e)this.add(t,n)}get size(){return K.sum(B(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{const n=this.map.get(e);if(n){const r=n.indexOf(t);if(r>=0)return 1===n.length?this.map.delete(e):n.splice(r,1),!0}return!1}}get(e){var t;return null!==(t=this.map.get(e))&&void 0!==t?t:[]}has(e,t){if(void 0===t)return this.map.has(e);{const n=this.map.get(e);return!!n&&n.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,n)=>t.forEach(t=>e(t,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return B(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return B(this.map.keys())}values(){return B(this.map.values()).flat()}entriesGroupedByKey(){return B(this.map.entries())}}class Cv{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[t,n]of e)this.set(t,n)}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 void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}}class Nv{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=nv.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,n=dt,r=nv.CancellationToken.None){const i=[];this.exportNode(e,i,t);for(const s of n(e))await ov(r),this.exportNode(s,i,t);return i}exportNode(e,t,n){const r=this.nameProvider.getName(e);r&&t.push(this.descriptions.createDescription(e,r,n))}async computeLocalScopes(e,t=nv.CancellationToken.None){const n=e.parseResult.value,r=new Ov;for(const i of pt(n))await ov(t),this.processNode(i,e,r);return r}processNode(e,t,n){const r=e.$container;if(r){const i=this.nameProvider.getName(e);i&&n.add(r,this.descriptions.createDescription(e,i,t))}}}class _v{constructor(e,t,n){var r;this.elements=e,this.outerScope=t,this.caseInsensitive=null!==(r=null==n?void 0:n.caseInsensitive)&&void 0!==r&&r}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const t=this.caseInsensitive?this.elements.find(t=>t.name.toLowerCase()===e.toLowerCase()):this.elements.find(t=>t.name===e);return t||(this.outerScope?this.outerScope.getElement(e):void 0)}}class Iv{constructor(e,t,n){var r;this.elements=new Map,this.caseInsensitive=null!==(r=null==n?void 0:n.caseInsensitive)&&void 0!==r&&r;for(const i of e){const e=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(e,i)}this.outerScope=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(t);return n||(this.outerScope?this.outerScope.getElement(e):void 0)}getAllElements(){let e=B(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Lv{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 Mv extends Lv{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 n=t();return this.cache.set(e,n),n}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class Pv extends Lv{constructor(e){super(),this.cache=new Map,this.converter=null!=e?e:e=>e}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,n){this.throwIfDisposed(),this.cacheForContext(e).set(t,n)}get(e,t,n){this.throwIfDisposed();const r=this.cacheForContext(e);if(r.has(t))return r.get(t);if(n){const e=n();return r.set(t,e),e}}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 n=this.cache.get(t);return n||(n=new Map,this.cache.set(t,n)),n}}class jv extends Mv{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class Dv{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 jv(e.shared)}getScope(e){const t=[],n=this.reflection.getReferenceType(e),r=ft(e.container).precomputedScopes;if(r){let i=e.container;do{const e=r.get(i);e.length>0&&t.push(B(e).filter(e=>this.reflection.isSubtype(e.type,n))),i=i.$container}while(i)}let i=this.getGlobalScope(n,e);for(let s=t.length-1;s>=0;s--)i=this.createScope(t[s],i);return i}createScope(e,t,n){return new _v(B(e),t,n)}createScopeForNodes(e,t,n){const r=B(e).map(e=>{const t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable();return new _v(r,t,n)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new Iv(this.indexManager.allElements(e)))}}function Gv(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}class Uv{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 n=null!=t?t:{},r=null==t?void 0:t.replacer,i=(e,t)=>this.replacer(e,t,n),s=r?(e,t)=>r(e,t,i):i;try{return this.currentDocument=ft(e),JSON.stringify(e,s,null==t?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t){const n=null!=t?t:{},r=JSON.parse(e);return this.linkNode(r,r,n),r}replacer(e,t,{refText:n,sourceText:r,textRegions:i,comments:s,uriConverter:o}){var a,u,c,l;if(!this.ignoreProperties.has(e)){if(C(t)){const e=t.ref,r=n?t.$refText:void 0;if(e){const n=ft(e);let i="";this.currentDocument&&this.currentDocument!==n&&(i=o?o(n.uri,t):n.uri.toString());return{$ref:`${i}#${this.astNodeLocator.getAstNodePath(e)}`,$refText:r}}return{$error:null!==(u=null===(a=t.error)||void 0===a?void 0:a.message)&&void 0!==u?u:"Could not resolve reference",$refText:r}}if(O(t)){let n;if(i&&(n=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),e&&!t.$document||!(null==n?void 0:n.$textRegion)||(n.$textRegion.documentURI=null===(c=this.currentDocument)||void 0===c?void 0:c.uri.toString())),r&&!e&&(null!=n||(n=Object.assign({},t)),n.$sourceText=null===(l=t.$cstNode)||void 0===l?void 0:l.text),s){null!=n||(n=Object.assign({},t));const e=this.commentProvider.getComment(t);e&&(n.$comment=e.replace(/\r/g,""))}return null!=n?n:t}return t}}addAstNodeRegionWithAssignmentsTo(e){const t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){const n=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(r=>{const i=function(e,t){return e&&t?Vt(e,t,e.astNode,!0):[]}(e.$cstNode,r).map(t);0!==i.length&&(n[r]=i)}),e}}linkNode(e,t,n,r,i,s){for(const[a,u]of Object.entries(e))if(Array.isArray(u))for(let r=0;r<u.length;r++){const i=u[r];Gv(i)?u[r]=this.reviveReference(e,a,t,i,n):O(i)&&this.linkNode(i,t,n,e,a,r)}else Gv(u)?e[a]=this.reviveReference(e,a,t,u,n):O(u)&&this.linkNode(u,t,n,e,a);const o=e;o.$container=r,o.$containerProperty=i,o.$containerIndex=s}reviveReference(e,t,n,r,i){let s=r.$refText,o=r.$error;if(r.$ref){const e=this.getRefNode(n,r.$ref,i.uriConverter);if(O(e))return s||(s=this.nameProvider.getName(e)),{$refText:null!=s?s:"",ref:e};o=e}if(o){const n={$refText:null!=s?s:""};return n.error={container:e,property:t,message:o,reference:n},n}}getRefNode(e,t,n){try{const r=t.indexOf("#");if(0===r){const n=this.astNodeLocator.getAstNode(e,t.substring(1));return n||"Could not resolve path: "+t}if(r<0){const e=n?n(t):vv.parse(t),r=this.langiumDocuments.getDocument(e);return r?r.parseResult.value:"Could not find document for URI: "+t}const i=n?n(t.substring(0,r)):vv.parse(t.substring(0,r)),s=this.langiumDocuments.getDocument(i);if(!s)return"Could not find document for URI: "+t;if(r===t.length-1)return s.parseResult.value;const o=this.astNodeLocator.getAstNode(s.parseResult.value,t.substring(r+1));return o||"Could not resolve URI: "+t}catch(r){return String(r)}}}class Bv{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=null==e?void 0:e.workspace.TextDocuments}register(e){const t=e.LanguageMetaData;for(const n of t.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(n,e);this.languageIdMap.set(t.languageId,e),1===this.languageIdMap.size?this.singleton=e:this.singleton=void 0}getServices(e){var t,n;if(void 0!==this.singleton)return this.singleton;if(0===this.languageIdMap.size)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const r=null===(n=null===(t=this.textDocuments)||void 0===t?void 0:t.get(e))||void 0===n?void 0:n.languageId;if(void 0!==r){const e=this.languageIdMap.get(r);if(e)return e}const i=$v.extname(e),s=this.fileExtensionMap.get(i);if(!s)throw r?new Error(`The service registry contains no services for the extension '${i}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${i}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch(t){return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Fv(e){return{code:e}}var Kv,Vv,Hv;(Kv||(Kv={})).all=["fast","slow","built-in"];class Wv{constructor(e){this.entries=new Ov,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,n="fast"){if("built-in"===n)throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[r,i]of Object.entries(e)){const e=i;if(Array.isArray(e))for(const i of e){const e={check:this.wrapValidationException(i,t),category:n};this.addEntry(r,e)}else if("function"==typeof e){const i={check:this.wrapValidationException(e,t),category:n};this.addEntry(r,i)}else ee()}}wrapValidationException(e,t){return async(n,r,i)=>{await this.handleException(()=>e.call(t,n,r,i),"An error occurred during validation",r,n)}}async handleException(e,t,n,r){try{await e()}catch(i){if(sv(i))throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);n("error",`${t}: ${i instanceof Error?i.message:String(i)}`,{node:r})}}addEntry(e,t){if("AstNode"!==e)for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,t);else this.entries.add("AstNode",t)}getChecks(e,t){let n=B(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(n=n.filter(e=>t.includes(e.category))),n.map(e=>e.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,n){return async(r,i,s,o)=>{await this.handleException(()=>e.call(n,r,i,s,o),t,i,r)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class zv{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},n=nv.CancellationToken.None){const r=e.parseResult,i=[];if(await ov(n),!t.categories||t.categories.includes("built-in")){if(this.processLexingErrors(r,i,t),t.stopAfterLexingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===Vv.LexingError}))return i;if(this.processParsingErrors(r,i,t),t.stopAfterParsingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===Vv.ParsingError}))return i;if(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===Vv.LinkingError}))return i}try{i.push(...await this.validateAst(r.value,t,n))}catch(s){if(sv(s))throw s;console.error("An error occurred during validation:",s)}return await ov(n),i}processLexingErrors(e,t,n){var r,i,s;const o=[...e.lexerErrors,...null!==(i=null===(r=e.lexerReport)||void 0===r?void 0:r.diagnostics)&&void 0!==i?i:[]];for(const a of o){const e=null!==(s=a.severity)&&void 0!==s?s:"error",n={severity:qv(e),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:Xv(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,n){for(const r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){const t=r.previousToken;if(isNaN(t.startOffset)){const t={line:0,character:0};e={start:t,end:t}}else{const n={line:t.endLine-1,character:t.endColumn};e={start:n,end:n}}}}else e=Y(r.token);if(e){const n={severity:qv("error"),range:e,message:r.message,data:Fv(Vv.ParsingError),source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,n){for(const r of e.references){const e=r.error;if(e){const n={node:e.container,property:e.property,index:e.index,data:{code:Vv.LinkingError,containerType:e.container.$type,property:e.property,refText:e.reference.$refText}};t.push(this.toDiagnostic("error",e.message,n))}}}async validateAst(e,t,n=nv.CancellationToken.None){const r=[],i=(e,t,n)=>{r.push(this.toDiagnostic(e,t,n))};return await this.validateAstBefore(e,t,i,n),await this.validateAstNodes(e,t,i,n),await this.validateAstAfter(e,t,i,n),r}async validateAstBefore(e,t,n,r=nv.CancellationToken.None){var i;const s=this.validationRegistry.checksBefore;for(const o of s)await ov(r),await o(e,n,null!==(i=t.categories)&&void 0!==i?i:[],r)}async validateAstNodes(e,t,n,r=nv.CancellationToken.None){await Promise.all(mt(e).map(async e=>{await ov(r);const i=this.validationRegistry.getChecks(e.$type,t.categories);for(const t of i)await t(e,n,r)}))}async validateAstAfter(e,t,n,r=nv.CancellationToken.None){var i;const s=this.validationRegistry.checksAfter;for(const o of s)await ov(r),await o(e,n,null!==(i=t.categories)&&void 0!==i?i:[],r)}toDiagnostic(e,t,n){return{message:t,range:Yv(n),severity:qv(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function Yv(e){if(e.range)return e.range;let t;return"string"==typeof e.property?t=Kt(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=Ht(e.node.$cstNode,e.keyword,e.index)),null!=t||(t=e.node.$cstNode),t?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function qv(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+e)}}function Xv(e){switch(e){case"error":return Fv(Vv.LexingError);case"warning":return Fv(Vv.LexingWarning);case"info":return Fv(Vv.LexingInfo);case"hint":return Fv(Vv.LexingHint);default:throw new Error("Invalid diagnostic severity: "+e)}}(Hv=Vv||(Vv={})).LexingError="lexing-error",Hv.LexingWarning="lexing-warning",Hv.LexingInfo="lexing-info",Hv.LexingHint="lexing-hint",Hv.ParsingError="parsing-error",Hv.LinkingError="linking-error";class Zv{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,n){const r=null!=n?n:ft(e);null!=t||(t=this.nameProvider.getName(e));const i=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${i} has no name.`);let s;const o=()=>{var t;return null!=s?s:s=q(null!==(t=this.nameProvider.getNameNode(e))&&void 0!==t?t:e.$cstNode)};return{node:e,name:t,get nameSegment(){return o()},selectionSegment:q(e.$cstNode),type:e.$type,documentUri:r.uri,path:i}}}class Jv{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=nv.CancellationToken.None){const n=[],r=e.parseResult.value;for(const i of mt(r))await ov(t),vt(i).filter(e=>!N(e)).forEach(e=>{const t=this.createDescription(e);t&&n.push(t)});return n}createDescription(e){const t=e.reference.$nodeDescription,n=e.reference.$refNode;if(!t||!n)return;const r=ft(e.container).uri;return{sourceUri:r,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:q(n),local:$v.equals(t.documentUri,r)}}}class Qv{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const t=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return t+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;const n=t.indexOf(this.indexSeparator);if(n>0){const r=t.substring(0,n),i=parseInt(t.substring(n+1)),s=e[r];return null==s?void 0:s[i]}return e[t]},e)}}var eg,tg=tv();class ng{constructor(e){this._ready=new av,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new tg.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,n;this.workspaceConfig=null!==(n=null===(t=e.capabilities.workspace)||void 0===t?void 0:t.configuration)&&void 0!==n&&n}async initialized(e){if(this.workspaceConfig){if(e.register){const t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,n[t])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{const n=e.settings[t];this.updateSectionConfiguration(t,n),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:n})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}(eg||(eg={})).create=function(e){return{dispose:async()=>await e()}};class rg{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ov,this.documentPhaseListeners=new Ov,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Rv.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={},n=nv.CancellationToken.None){var r,i;for(const s of e){const e=s.uri.toString();if(s.state===Rv.Validated){if("boolean"==typeof t.validation&&t.validation)s.state=Rv.IndexedReferences,s.diagnostics=void 0,this.buildState.delete(e);else if("object"==typeof t.validation){const n=this.buildState.get(e),o=null===(r=null==n?void 0:n.result)||void 0===r?void 0:r.validationChecks;if(o){const r=(null!==(i=t.validation.categories)&&void 0!==i?i:Kv.all).filter(e=>!o.includes(e));r.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:r})},result:n.result}),s.state=Rv.IndexedReferences)}}}else this.buildState.delete(e)}this.currentState=Rv.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,n)}async update(e,t,n=nv.CancellationToken.None){this.currentState=Rv.Changed;for(const s of t)this.langiumDocuments.deleteDocument(s),this.buildState.delete(s.toString()),this.indexManager.remove(s);for(const s of e){if(!this.langiumDocuments.invalidateDocument(s)){const e=this.langiumDocumentFactory.fromModel({$type:"INVALID"},s);e.state=Rv.Changed,this.langiumDocuments.addDocument(e)}this.buildState.delete(s.toString())}const r=B(e).concat(t).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!r.has(e.uri.toString())&&this.shouldRelink(e,r)).forEach(e=>{this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e),e.state=Math.min(e.state,Rv.ComputedScopes),e.diagnostics=void 0}),await this.emitUpdate(e,t),await ov(n);const i=this.sortDocuments(this.langiumDocuments.all.filter(e=>{var t;return e.state<Rv.Linked||!(null===(t=this.buildState.get(e.uri.toString()))||void 0===t?void 0:t.completed)}).toArray());await this.buildDocuments(i,this.updateBuildOptions,n)}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(n=>n(e,t)))}sortDocuments(e){let t=0,n=e.length-1;for(;t<n;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;t<n&&([e[t],e[n]]=[e[n],e[t]])}return e}hasTextDocument(e){var t;return Boolean(null===(t=this.textDocuments)||void 0===t?void 0:t.get(e.uri))}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),eg.create(()=>{const t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,n){this.prepareBuild(e,t),await this.runCancelable(e,Rv.Parsed,n,e=>this.langiumDocumentFactory.update(e,n)),await this.runCancelable(e,Rv.IndexedContent,n,e=>this.indexManager.updateContent(e,n)),await this.runCancelable(e,Rv.ComputedScopes,n,async e=>{const t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.precomputedScopes=await t.computeLocalScopes(e,n)}),await this.runCancelable(e,Rv.Linked,n,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,n)),await this.runCancelable(e,Rv.IndexedReferences,n,e=>this.indexManager.updateReferences(e,n));const r=e.filter(e=>this.shouldValidate(e));await this.runCancelable(r,Rv.Validated,n,e=>this.validate(e,n));for(const i of e){const e=this.buildState.get(i.uri.toString());e&&(e.completed=!0)}}prepareBuild(e,t){for(const n of e){const e=n.uri.toString(),r=this.buildState.get(e);r&&!r.completed||this.buildState.set(e,{completed:!1,options:t,result:null==r?void 0:r.result})}}async runCancelable(e,t,n,r){const i=e.filter(e=>e.state<t);for(const o of i)await ov(n),await r(o),o.state=t,await this.notifyDocumentPhase(o,t,n);const s=e.filter(e=>e.state===t);await this.notifyBuildPhase(s,t,n),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),eg.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),eg.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,n){let r;if(t&&"path"in t?r=t:n=t,null!=n||(n=nv.CancellationToken.None),r){const t=this.langiumDocuments.getDocument(r);if(t&&t.state>e)return Promise.resolve(r)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(iv):new Promise((t,i)=>{const s=this.onBuildPhase(e,()=>{if(s.dispose(),o.dispose(),r){const e=this.langiumDocuments.getDocument(r);t(null==e?void 0:e.uri)}else t(void 0)}),o=n.onCancellationRequested(()=>{s.dispose(),o.dispose(),i(iv)})})}async notifyDocumentPhase(e,t,n){const r=this.documentPhaseListeners.get(t).slice();for(const s of r)try{await s(e,n)}catch(i){if(!sv(i))throw i}}async notifyBuildPhase(e,t,n){if(0===e.length)return;const r=this.buildPhaseListeners.get(t).slice();for(const i of r)await ov(n),await i(e,n)}shouldValidate(e){return Boolean(this.getBuildOptions(e).validation)}async validate(e,t){var n,r;const i=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,s=this.getBuildOptions(e).validation,o="object"==typeof s?s:void 0,a=await i.validateDocument(e,o,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;const u=this.buildState.get(e.uri.toString());if(u){null!==(n=u.result)&&void 0!==n||(u.result={});const e=null!==(r=null==o?void 0:o.categories)&&void 0!==r?r:Kv.all;u.result.validationChecks?u.result.validationChecks.push(...e):u.result.validationChecks=[...e]}}getBuildOptions(e){var t,n;return null!==(n=null===(t=this.buildState.get(e.uri.toString()))||void 0===t?void 0:t.options)&&void 0!==n?n:{}}}class ig{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Pv,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const n=ft(e).uri,r=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{$v.equals(e.targetUri,n)&&e.targetPath===t&&r.push(e)})}),B(r)}allElements(e,t){let n=B(this.symbolIndex.keys());return t&&(n=n.filter(e=>!t||t.has(e))),n.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){var n;if(!t)return null!==(n=this.symbolIndex.get(e))&&void 0!==n?n:[];return this.symbolByTypeIndex.get(e,t,()=>{var n;return(null!==(n=this.symbolIndex.get(e))&&void 0!==n?n:[]).filter(e=>this.astReflection.isSubtype(e.type,t))})}remove(e){const t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=nv.CancellationToken.None){const n=this.serviceRegistry.getServices(e.uri),r=await n.references.ScopeComputation.computeExports(e,t),i=e.uri.toString();this.symbolIndex.set(i,r),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=nv.CancellationToken.None){const n=this.serviceRegistry.getServices(e.uri),r=await n.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),r)}isAffected(e,t){const n=this.referenceIndex.get(e.uri.toString());return!!n&&n.some(e=>!e.local&&t.has(e.targetUri.toString()))}}class sg{constructor(e){this.initialBuildOptions={},this._ready=new av,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=null!==(t=e.workspaceFolders)&&void 0!==t?t:void 0}initialized(e){return this.mutex.write(e=>{var t;return this.initializeWorkspace(null!==(t=this.folders)&&void 0!==t?t:[],e)})}async initializeWorkspace(e,t=nv.CancellationToken.None){const n=await this.performStartup(e);await ov(t),await this.documentBuilder.build(n,this.initialBuildOptions,t)}async performStartup(e){const t=this.serviceRegistry.all.flatMap(e=>e.LanguageMetaData.fileExtensions),n=[],r=e=>{n.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};return await this.loadAdditionalDocuments(e,r),await Promise.all(e.map(e=>[e,this.getRootFolder(e)]).map(async e=>this.traverseFolder(...e,t,r))),this._ready.resolve(),n}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return vv.parse(e.uri)}async traverseFolder(e,t,n,r){const i=await this.fileSystemProvider.readDirectory(t);await Promise.all(i.map(async t=>{if(this.includeEntry(e,t,n))if(t.isDirectory)await this.traverseFolder(e,t.uri,n,r);else if(t.isFile){const e=await this.langiumDocuments.getOrCreateDocument(t.uri);r(e)}}))}includeEntry(e,t,n){const r=$v.basename(t.uri);if(r.startsWith("."))return!1;if(t.isDirectory)return"node_modules"!==r&&"out"!==r;if(t.isFile){const e=$v.extname(t.uri);return n.includes(e)}return!1}}class og{buildUnexpectedCharactersMessage(e,t,n,r,i){return uf.buildUnexpectedCharactersMessage(e,t,n,r,i)}buildUnableToPopLexerModeMessage(e){return uf.buildUnableToPopLexerModeMessage(e)}}const ag={mode:"full"};class ug{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 n=lg(t)?Object.values(t):t,r="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new hf(n,{positionTracking:"full",skipValidations:r,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=ag){var n,r,i;const s=this.chevrotainLexer.tokenize(e);return{tokens:s.tokens,errors:s.errors,hidden:null!==(n=s.groups.hidden)&&void 0!==n?n:[],report:null===(i=(r=this.tokenBuilder).flushLexingReport)||void 0===i?void 0:i.call(r,e)}}toTokenTypeDictionary(e){if(lg(e))return e;const t=cg(e)?Object.values(e.modes).flat():e,n={};return t.forEach(e=>n[e.name]=e),n}}function cg(e){return e&&"modes"in e&&"defaultMode"in e}function lg(e){return!function(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}(e)&&!cg(e)}function fg(e,t,n){let r,i;"string"==typeof e?(i=t,r=n):(i=e.range.start,r=t),i||(i=Zd.create(0,0));const s=function(e){var t,n,r;const i=[];let s=e.position.line,o=e.position.character;for(let a=0;a<e.lines.length;a++){const u=0===a,c=a===e.lines.length-1;let l=e.lines[a],f=0;if(u&&e.options.start){const n=null===(t=e.options.start)||void 0===t?void 0:t.exec(l);n&&(f=n.index+n[0].length)}else{const t=null===(n=e.options.line)||void 0===n?void 0:n.exec(l);t&&(f=t.index+t[0].length)}if(c){const t=null===(r=e.options.end)||void 0===r?void 0:r.exec(l);t&&(l=l.substring(0,t.index))}l=l.substring(0,$g(l));if(gg(l,f)>=l.length){if(i.length>0){const e=Zd.create(s,o);i.push({type:"break",content:"",range:Qd.create(e,e)})}}else{dg.lastIndex=f;const e=dg.exec(l);if(e){const t=e[0],n=e[1],r=Zd.create(s,o+f),a=Zd.create(s,o+f+t.length);i.push({type:"tag",content:n,range:Qd.create(r,a)}),f+=t.length,f=gg(l,f)}if(f<l.length){const e=l.substring(f),t=Array.from(e.matchAll(pg));i.push(...mg(t,e,s,o+f))}}s++,o=0}if(i.length>0&&"break"===i[i.length-1].type)return i.slice(0,-1);return i}({lines:hg(e),position:i,options:Eg(r)});return function(e){var t,n,r,i;const s=Zd.create(e.position.line,e.position.character);if(0===e.tokens.length)return new xg([],Qd.create(s,s));const o=[];for(;e.index<e.tokens.length;){const t=Tg(e,o[o.length-1]);t&&o.push(t)}const a=null!==(n=null===(t=o[0])||void 0===t?void 0:t.range.start)&&void 0!==n?n:s,u=null!==(i=null===(r=o[o.length-1])||void 0===r?void 0:r.range.end)&&void 0!==i?i:s;return new xg(o,Qd.create(a,u))}({index:0,tokens:s,position:i})}function hg(e){let t="";t="string"==typeof e?e:e.text;return t.split(_t)}const dg=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,pg=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function mg(e,t,n,r){const i=[];if(0===e.length){const e=Zd.create(n,r),s=Zd.create(n,r+t.length);i.push({type:"text",content:t,range:Qd.create(e,s)})}else{let s=0;for(const a of e){const e=a.index,o=t.substring(s,e);o.length>0&&i.push({type:"text",content:t.substring(s,e),range:Qd.create(Zd.create(n,s+r),Zd.create(n,e+r))});let u=o.length+1;const c=a[1];if(i.push({type:"inline-tag",content:c,range:Qd.create(Zd.create(n,s+u+r),Zd.create(n,s+u+c.length+r))}),u+=c.length,4===a.length){u+=a[2].length;const e=a[3];i.push({type:"text",content:e,range:Qd.create(Zd.create(n,s+u+r),Zd.create(n,s+u+e.length+r))})}else i.push({type:"text",content:"",range:Qd.create(Zd.create(n,s+u+r),Zd.create(n,s+u+r))});s=e+a[0].length}const o=t.substring(s);o.length>0&&i.push({type:"text",content:o,range:Qd.create(Zd.create(n,s+r),Zd.create(n,s+r+o.length))})}return i}const yg=/\S/,vg=/\s*$/;function gg(e,t){const n=e.substring(t).match(yg);return n?t+n.index:e.length}function $g(e){const t=e.match(vg);if(t&&"number"==typeof t.index)return t.index}function Tg(e,t){const n=e.tokens[e.index];return"tag"===n.type?bg(e,!1):"text"===n.type||"inline-tag"===n.type?Rg(e):(function(e,t){if(t){const n=new Cg("",e.range);"inlines"in t?t.inlines.push(n):t.content.inlines.push(n)}}(n,t),void e.index++)}function Rg(e){let t=e.tokens[e.index];const n=t;let r=t;const i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)i.push(wg(e)),r=t,t=e.tokens[e.index];return new Og(i,Qd.create(n.range.start,r.range.end))}function wg(e){return"inline-tag"===e.tokens[e.index].type?bg(e,!0):Ag(e)}function bg(e,t){const n=e.tokens[e.index++],r=n.content.substring(1),i=e.tokens[e.index];if("text"===(null==i?void 0:i.type)){if(t){const i=Ag(e);return new Sg(r,new Og([i],i.range),t,Qd.create(n.range.start,i.range.end))}{const i=Rg(e);return new Sg(r,i,t,Qd.create(n.range.start,i.range.end))}}{const e=n.range;return new Sg(r,new Og([],e),t,e)}}function Ag(e){const t=e.tokens[e.index++];return new Cg(t.content,t.range)}function Eg(e){if(!e)return Eg({start:"/**",end:"*/",line:"*"});const{start:t,end:n,line:r}=e;return{start:kg(t,!0),end:kg(n,!1),line:kg(r,!0)}}function kg(e,t){if("string"==typeof e||"object"==typeof e){const n="string"==typeof e?Dt(e):e.source;return t?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}return e}class xg{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(0===e.length)e=t.toString();else{const n=t.toString();e+=Ng(e)+n}return e.trim()}toMarkdown(e){let t="";for(const n of this.elements)if(0===t.length)t=n.toMarkdown(e);else{const r=n.toMarkdown(e);t+=Ng(t)+r}return t.trim()}}class Sg{constructor(e,t,n,r){this.name=e,this.content=t,this.inline=n,this.range=r}toString(){let e=`@${this.name}`;const t=this.content.toString();return 1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}\n${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t,n;return null!==(n=null===(t=null==e?void 0:e.renderTag)||void 0===t?void 0:t.call(e,this))&&void 0!==n?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){const t=this.content.toMarkdown(e);if(this.inline){const n=function(e,t,n){var r,i;if("linkplain"===e||"linkcode"===e||"link"===e){const s=t.indexOf(" ");let o=t;if(s>0){const e=gg(t,s);o=t.substring(e),t=t.substring(0,s)}("linkcode"===e||"link"===e&&"code"===n.link)&&(o=`\`${o}\``);const a=null!==(i=null===(r=n.renderLink)||void 0===r?void 0:r.call(n,t,o))&&void 0!==i?i:function(e,t){try{return vv.parse(e,!0),`[${t}](${e})`}catch(r){return e}}(t,o);return a}return}(this.name,t,null!=e?e:{});if("string"==typeof n)return n}let n="";"italic"===(null==e?void 0:e.tag)||void 0===(null==e?void 0:e.tag)?n="*":"bold"===(null==e?void 0:e.tag)?n="**":"bold-italic"===(null==e?void 0:e.tag)&&(n="***");let r=`${n}@${this.name}${n}`;return 1===this.content.inlines.length?r=`${r} — ${t}`:this.content.inlines.length>1&&(r=`${r}\n${t}`),this.inline?`{${r}}`:r}}class Og{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){const n=this.inlines[t],r=this.inlines[t+1];e+=n.toString(),r&&r.range.start.line>n.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];t+=r.toMarkdown(e),i&&i.range.start.line>r.range.start.line&&(t+="\n")}return t}}class Cg{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function Ng(e){return e.endsWith("\n")?"\n":"\n\n"}class _g{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const t=this.commentProvider.getComment(e);if(t&&function(e,t){const n=Eg(t),r=hg(e);if(0===r.length)return!1;const i=r[0],s=r[r.length-1],o=n.start,a=n.end;return Boolean(null==o?void 0:o.exec(i))&&Boolean(null==a?void 0:a.exec(s))}(t)){return fg(t).toMarkdown({renderLink:(t,n)=>this.documentationLinkRenderer(e,t,n),renderTag:t=>this.documentationTagRenderer(e,t)})}}documentationLinkRenderer(e,t,n){var r;const i=null!==(r=this.findNameInPrecomputedScopes(e,t))&&void 0!==r?r:this.findNameInGlobalScope(e,t);if(i&&i.nameSegment){const e=i.nameSegment.range.start.line+1,t=i.nameSegment.range.start.character+1;return`[${n}](${i.documentUri.with({fragment:`L${e},${t}`}).toString()})`}}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){const n=ft(e).precomputedScopes;if(!n)return;let r=e;do{const e=n.get(r).find(e=>e.name===t);if(e)return e;r=r.$container}while(r)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}class Ig{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return function(e){return"string"==typeof e.$comment}(e)?e.$comment:null===(t=function(e,t){if(e){const n=function(e,t=!0){for(;e.container;){const n=e.container;let r=n.content.indexOf(e);for(;r>0;){r--;const e=n.content[r];if(t||!e.hidden)return e}e=n}}(e,!0);if(n&&J(n,t))return n;if(M(e))for(let r=e.content.findIndex(e=>!e.hidden)-1;r>=0;r--){const n=e.content[r];if(J(n,t))return n}}}(e.$cstNode,this.grammarConfig().multilineCommentRules))||void 0===t?void 0:t.text}}class Lg{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}}class Mg{constructor(){this.previousTokenSource=new nv.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const t=(rv=performance.now(),new nv.CancellationTokenSource);return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,n=nv.CancellationToken.None){const r=new av,i={action:t,deferred:r,cancellationToken:n};return e.push(i),this.performNextOperation(),r.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:e,deferred:t,cancellationToken:n})=>{try{const r=await Promise.resolve().then(()=>e(n));t.resolve(r)}catch(r){sv(r)?t.resolve(void 0):t.reject(r)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class Pg{constructor(e){this.grammarElementIdMap=new Cv,this.tokenTypeIdMap=new Cv,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(e=>Object.assign(Object.assign({},e),{message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const t=new Map,n=new Map;for(const r of mt(e))t.set(r,{});if(e.$cstNode)for(const r of z(e.$cstNode))n.set(r,{});return{astNodes:t,cstNodes:n}}dehydrateAstNode(e,t){const n=t.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(const[r,i]of Object.entries(e))if(!r.startsWith("$"))if(Array.isArray(i)){const e=[];n[r]=e;for(const n of i)O(n)?e.push(this.dehydrateAstNode(n,t)):C(n)?e.push(this.dehydrateReference(n,t)):e.push(n)}else O(i)?n[r]=this.dehydrateAstNode(i,t):C(i)?n[r]=this.dehydrateReference(i,t):void 0!==i&&(n[r]=i);return n}dehydrateReference(e,t){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=t.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,t){const n=t.cstNodes.get(e);return M(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=t.astNodes.get(e.astNode),I(e)?n.content=e.content.map(e=>this.dehydrateCstNode(e,t)):L(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const t=e.value,n=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,n)}}createHydrationContext(e){const t=new Map,n=new Map;for(const i of mt(e))t.set(i,{});let r;if(e.$cstNode)for(const i of z(e.$cstNode)){let e;"fullText"in i?(e=new by(i.fullText),r=e):"content"in i?e=new Ry:"tokenType"in i&&(e=this.hydrateCstLeafNode(i)),e&&(n.set(i,e),e.root=r)}return{astNodes:t,cstNodes:n}}hydrateAstNode(e,t){const n=t.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=t.cstNodes.get(e.$cstNode));for(const[r,i]of Object.entries(e))if(!r.startsWith("$"))if(Array.isArray(i)){const e=[];n[r]=e;for(const s of i)O(s)?e.push(this.setParent(this.hydrateAstNode(s,t),n)):C(s)?e.push(this.hydrateReference(s,n,r,t)):e.push(s)}else O(i)?n[r]=this.setParent(this.hydrateAstNode(i,t),n):C(i)?n[r]=this.hydrateReference(i,n,r,t):void 0!==i&&(n[r]=i);return n}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,n,r){return this.linker.buildReference(t,n,r.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,n=0){const r=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(r.grammarSource=this.getGrammarElement(e.grammarSource)),r.astNode=t.astNodes.get(e.astNode),I(r))for(const i of e.content){const e=this.hydrateCstNode(i,t,n++);r.content.push(e)}return r}hydrateCstLeafNode(e){const t=this.getTokenType(e.tokenType),n=e.offset,r=e.length,i=e.startLine,s=e.startColumn,o=e.endLine,a=e.endColumn,u=e.hidden;return new Ty(n,r,{start:{line:i,character:s},end:{line:o,character:a}},t,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap();return this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const t of mt(this.grammar))ae(t)&&this.grammarElementIdMap.set(t,e++)}}function jg(e){return{documentation:{CommentProvider:e=>new Ig(e),DocumentationProvider:e=>new _g(e)},parser:{AsyncParser:e=>new Lg(e),GrammarConfig:e=>function(e){const t=[],n=e.Grammar;for(const r of n.rules)_e(r)&&Ft(r)&&Mt(Jt(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:Z}}(e),LangiumParser:e=>Fy(e),CompletionParser:e=>function(e){const t=e.Grammar,n=e.parser.Lexer,r=new Ny(e);return Ly(t,r,n.definition),r.finalize(),r}(e),ValueConverter:()=>new Vy,TokenBuilder:()=>new Ky,Lexer:e=>new ug(e),ParserErrorMessageProvider:()=>new Cy,LexerErrorMessageProvider:()=>new og},workspace:{AstNodeLocator:()=>new Qv,AstNodeDescriptionProvider:e=>new Zv(e),ReferenceDescriptionProvider:e=>new Jv(e)},references:{Linker:e=>new kv(e),NameProvider:()=>new xv,ScopeProvider:e=>new Dv(e),ScopeComputation:e=>new Nv(e),References:e=>new Sv(e)},serializer:{Hydrator:e=>new Pg(e),JsonSerializer:e=>new Uv(e)},validation:{DocumentValidator:e=>new zv(e),ValidationRegistry:e=>new Wv(e)},shared:()=>e.shared}}function Dg(e){return{ServiceRegistry:e=>new Bv(e),workspace:{LangiumDocuments:e=>new Av(e),LangiumDocumentFactory:e=>new bv(e),DocumentBuilder:e=>new rg(e),IndexManager:e=>new ig(e),WorkspaceManager:e=>new sg(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new Mg,ConfigurationProvider:e=>new ng(e)}}}var Gg;function Ug(e,t,n,r,i,s,o,a,u){return Fg([e,t,n,r,i,s,o,a,u].reduce(Hg,{}))}(Gg||(Gg={})).merge=(e,t)=>Hg(Hg({},e),t);const Bg=Symbol("isProxy");function Fg(e,t){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===Bg||Vg(r,i,e,t||n),getOwnPropertyDescriptor:(r,i)=>(Vg(r,i,e,t||n),Object.getOwnPropertyDescriptor(r,i)),has:(t,n)=>n in e,ownKeys:()=>[...Object.getOwnPropertyNames(e)]});return n}const Kg=Symbol();function Vg(e,t,n,r){if(t in e){if(e[t]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:e[t]});if(e[t]===Kg)throw new Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in n){const s=n[t];e[t]=Kg;try{e[t]="function"==typeof s?s(r):Fg(s,r)}catch(i){throw e[t]=i instanceof Error?i:void 0,i}return e[t]}}function Hg(e,t){if(t)for(const[n,r]of Object.entries(t))if(void 0!==r){const t=e[n];e[n]=null!==t&&null!==r&&"object"==typeof t&&"object"==typeof r?Hg(t,r):r}return e}class Wg{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const zg={fileSystemProvider:()=>new Wg},Yg={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},qg={AstReflection:()=>new ut};function Xg(e){var t;const n=function(){const e=Ug(Dg(zg),qg),t=Ug(jg({shared:e}),Yg);return e.ServiceRegistry.register(t),t}(),r=n.serializer.JsonSerializer.deserialize(e);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,vv.parse(`memory://${null!==(t=r.name)&&void 0!==t?t:"grammar"}.langium`)),r}var Zg=Object.defineProperty,Jg=(e,t)=>Zg(e,"name",{value:t,configurable:!0}),Qg="Statement",e$="Architecture";Jg(function(e){return P$.isInstance(e,e$)},"isArchitecture");var t$="Axis",n$="Branch";Jg(function(e){return P$.isInstance(e,n$)},"isBranch");var r$="Checkout",i$="CherryPicking",s$="ClassDefStatement",o$="Commit";Jg(function(e){return P$.isInstance(e,o$)},"isCommit");var a$="Curve",u$="Edge",c$="Entry",l$="GitGraph";Jg(function(e){return P$.isInstance(e,l$)},"isGitGraph");var f$="Group",h$="Info";Jg(function(e){return P$.isInstance(e,h$)},"isInfo");var d$="Item",p$="Junction",m$="Merge";Jg(function(e){return P$.isInstance(e,m$)},"isMerge");var y$="Option",v$="Packet";Jg(function(e){return P$.isInstance(e,v$)},"isPacket");var g$="PacketBlock";Jg(function(e){return P$.isInstance(e,g$)},"isPacketBlock");var $$="Pie";Jg(function(e){return P$.isInstance(e,$$)},"isPie");var T$="PieSection";Jg(function(e){return P$.isInstance(e,T$)},"isPieSection");var R$="Radar",w$="Service",b$="Treemap";Jg(function(e){return P$.isInstance(e,b$)},"isTreemap");var A$,E$,k$,x$,S$,O$,C$,N$="TreemapRow",_$="Direction",I$="Leaf",L$="Section",M$=(Jg(e=class extends _{getAllTypes(){return[e$,t$,n$,r$,i$,s$,o$,a$,_$,u$,c$,l$,f$,h$,d$,p$,I$,m$,y$,v$,g$,$$,T$,R$,L$,w$,Qg,b$,N$]}computeIsSubtype(e,t){switch(e){case n$:case r$:case i$:case o$:case m$:return this.isSubtype(Qg,t);case _$:return this.isSubtype(l$,t);case I$:case L$:return this.isSubtype(d$,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;if("Entry:axis"===t)return t$;throw new Error(`${t} is not a valid reference id.`)}getTypeMetaData(e){switch(e){case e$:return{name:e$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case t$:return{name:t$,properties:[{name:"label"},{name:"name"}]};case n$:return{name:n$,properties:[{name:"name"},{name:"order"}]};case r$:return{name:r$,properties:[{name:"branch"}]};case i$:return{name:i$,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case s$:return{name:s$,properties:[{name:"className"},{name:"styleText"}]};case o$:return{name:o$,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case a$:return{name:a$,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case u$:return{name:u$,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 c$:return{name:c$,properties:[{name:"axis"},{name:"value"}]};case l$:return{name:l$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case f$:return{name:f$,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case h$:return{name:h$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case d$:return{name:d$,properties:[{name:"classSelector"},{name:"name"}]};case p$:return{name:p$,properties:[{name:"id"},{name:"in"}]};case m$:return{name:m$,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case y$:return{name:y$,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case v$:return{name:v$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case g$:return{name:g$,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case $$:return{name:$$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case T$:return{name:T$,properties:[{name:"label"},{name:"value"}]};case R$:return{name:R$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case w$:return{name:w$,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case b$:return{name:b$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case N$:return{name:N$,properties:[{name:"indent"},{name:"item"}]};case _$:return{name:_$,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case I$:return{name:I$,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case L$:return{name:L$,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},"MermaidAstReflection"),e),P$=new M$,j$=Jg(()=>A$??(A$=Xg('{"$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"),D$=Jg(()=>E$??(E$=Xg('{"$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":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"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"),G$=Jg(()=>k$??(k$=Xg('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"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@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"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@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"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@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"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"),U$=Jg(()=>x$??(x$=Xg('{"$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"),B$=Jg(()=>S$??(S$=Xg('{"$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"),F$=Jg(()=>O$??(O$=Xg('{"$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"),K$=Jg(()=>C$??(C$=Xg('{"$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":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@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":"Treemap","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"),V$={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},H$={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},W$={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},z$={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Y$={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},q$={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},X$={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Z$={AstReflection:Jg(()=>new M$,"AstReflection")},J$={Grammar:Jg(()=>j$(),"Grammar"),LanguageMetaData:Jg(()=>V$,"LanguageMetaData"),parser:{}},Q$={Grammar:Jg(()=>D$(),"Grammar"),LanguageMetaData:Jg(()=>H$,"LanguageMetaData"),parser:{}},eT={Grammar:Jg(()=>G$(),"Grammar"),LanguageMetaData:Jg(()=>W$,"LanguageMetaData"),parser:{}},tT={Grammar:Jg(()=>U$(),"Grammar"),LanguageMetaData:Jg(()=>z$,"LanguageMetaData"),parser:{}},nT={Grammar:Jg(()=>B$(),"Grammar"),LanguageMetaData:Jg(()=>Y$,"LanguageMetaData"),parser:{}},rT={Grammar:Jg(()=>F$(),"Grammar"),LanguageMetaData:Jg(()=>q$,"LanguageMetaData"),parser:{}},iT={Grammar:Jg(()=>K$(),"Grammar"),LanguageMetaData:Jg(()=>X$,"LanguageMetaData"),parser:{}},sT={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},oT=(Jg(t=class extends Vy{runConverter(e,t,n){let r=this.runCommonConverter(e,t,n);return void 0===r&&(r=this.runCustomConverter(e,t,n)),void 0===r?super.runConverter(e,t,n):r}runCommonConverter(e,t,n){const r=sT[e.name];if(void 0===r)return;const i=r.exec(t);return null!==i?void 0!==i[1]?i[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==i[2]?i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0:void 0}},"AbstractMermaidValueConverter"),t),aT=(Jg(n=class extends oT{runCustomConverter(e,t,n){}},"CommonValueConverter"),n),uT=(Jg(r=class extends Ky{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,n){const r=super.buildKeywordTokens(e,t,n);return r.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),r}},"AbstractMermaidTokenBuilder"),r);Jg(class extends uT{},"CommonTokenBuilder");var cT=(Jg(i=class extends uT{constructor(){super(["gitGraph"])}},"GitGraphTokenBuilder"),i),lT={parser:{TokenBuilder:Jg(()=>new cT,"TokenBuilder"),ValueConverter:Jg(()=>new aT,"ValueConverter")}};function fT(e=zg){const t=Ug(Dg(e),Z$),n=Ug(jg({shared:t}),nT,lT);return t.ServiceRegistry.register(n),{shared:t,GitGraph:n}}Jg(fT,"createGitGraphServices");var hT=(Jg(s=class extends uT{constructor(){super(["info","showInfo"])}},"InfoTokenBuilder"),s),dT={parser:{TokenBuilder:Jg(()=>new hT,"TokenBuilder"),ValueConverter:Jg(()=>new aT,"ValueConverter")}};function pT(e=zg){const t=Ug(Dg(e),Z$),n=Ug(jg({shared:t}),J$,dT);return t.ServiceRegistry.register(n),{shared:t,Info:n}}Jg(pT,"createInfoServices");var mT=(Jg(o=class extends uT{constructor(){super(["packet"])}},"PacketTokenBuilder"),o),yT={parser:{TokenBuilder:Jg(()=>new mT,"TokenBuilder"),ValueConverter:Jg(()=>new aT,"ValueConverter")}};function vT(e=zg){const t=Ug(Dg(e),Z$),n=Ug(jg({shared:t}),Q$,yT);return t.ServiceRegistry.register(n),{shared:t,Packet:n}}Jg(vT,"createPacketServices");var gT=(Jg(a=class extends uT{constructor(){super(["pie","showData"])}},"PieTokenBuilder"),a),$T=(Jg(u=class extends oT{runCustomConverter(e,t,n){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},"PieValueConverter"),u),TT={parser:{TokenBuilder:Jg(()=>new gT,"TokenBuilder"),ValueConverter:Jg(()=>new $T,"ValueConverter")}};function RT(e=zg){const t=Ug(Dg(e),Z$),n=Ug(jg({shared:t}),eT,TT);return t.ServiceRegistry.register(n),{shared:t,Pie:n}}Jg(RT,"createPieServices");var wT=(Jg(c=class extends uT{constructor(){super(["architecture"])}},"ArchitectureTokenBuilder"),c),bT=(Jg(l=class extends oT{runCustomConverter(e,t,n){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},"ArchitectureValueConverter"),l),AT={parser:{TokenBuilder:Jg(()=>new wT,"TokenBuilder"),ValueConverter:Jg(()=>new bT,"ValueConverter")}};function ET(e=zg){const t=Ug(Dg(e),Z$),n=Ug(jg({shared:t}),tT,AT);return t.ServiceRegistry.register(n),{shared:t,Architecture:n}}Jg(ET,"createArchitectureServices");var kT=(Jg(f=class extends uT{constructor(){super(["radar-beta"])}},"RadarTokenBuilder"),f),xT={parser:{TokenBuilder:Jg(()=>new kT,"TokenBuilder"),ValueConverter:Jg(()=>new aT,"ValueConverter")}};function ST(e=zg){const t=Ug(Dg(e),Z$),n=Ug(jg({shared:t}),rT,xT);return t.ServiceRegistry.register(n),{shared:t,Radar:n}}Jg(ST,"createRadarServices");var OT=(Jg(h=class extends uT{constructor(){super(["treemap"])}},"TreemapTokenBuilder"),h),CT=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,NT=(Jg(d=class extends oT{runCustomConverter(e,t,n){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;const e=CT.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}},"TreemapValueConverter"),d);function _T(e){const t=e.validation.TreemapValidator,n=e.validation.ValidationRegistry;if(n){const e={Treemap:t.checkSingleRoot.bind(t)};n.register(e,t)}}Jg(_T,"registerValidationChecks");var IT=(Jg(p=class{checkSingleRoot(e,t){let n;for(const r of e.TreemapRows)r.item&&(void 0===n&&void 0===r.indent?n=0:(void 0===r.indent||void 0!==n&&n>=parseInt(r.indent,10))&&t("error","Multiple root nodes are not allowed in a treemap.",{node:r,property:"item"}))}},"TreemapValidator"),p),LT={parser:{TokenBuilder:Jg(()=>new OT,"TokenBuilder"),ValueConverter:Jg(()=>new NT,"ValueConverter")},validation:{TreemapValidator:Jg(()=>new IT,"TreemapValidator")}};function MT(e=zg){const t=Ug(Dg(e),Z$),n=Ug(jg({shared:t}),iT,LT);return t.ServiceRegistry.register(n),_T(n),{shared:t,Treemap:n}}Jg(MT,"createTreemapServices");var PT={},jT={info:Jg(async()=>{const{createInfoServices:e}=await $(async()=>{const{createInfoServices:e}=await Promise.resolve().then(()=>UT);return{createInfoServices:e}},void 0),t=e().Info.parser.LangiumParser;PT.info=t},"info"),packet:Jg(async()=>{const{createPacketServices:e}=await $(async()=>{const{createPacketServices:e}=await Promise.resolve().then(()=>BT);return{createPacketServices:e}},void 0),t=e().Packet.parser.LangiumParser;PT.packet=t},"packet"),pie:Jg(async()=>{const{createPieServices:e}=await $(async()=>{const{createPieServices:e}=await Promise.resolve().then(()=>FT);return{createPieServices:e}},void 0),t=e().Pie.parser.LangiumParser;PT.pie=t},"pie"),architecture:Jg(async()=>{const{createArchitectureServices:e}=await $(async()=>{const{createArchitectureServices:e}=await Promise.resolve().then(()=>KT);return{createArchitectureServices:e}},void 0),t=e().Architecture.parser.LangiumParser;PT.architecture=t},"architecture"),gitGraph:Jg(async()=>{const{createGitGraphServices:e}=await $(async()=>{const{createGitGraphServices:e}=await Promise.resolve().then(()=>VT);return{createGitGraphServices:e}},void 0),t=e().GitGraph.parser.LangiumParser;PT.gitGraph=t},"gitGraph"),radar:Jg(async()=>{const{createRadarServices:e}=await $(async()=>{const{createRadarServices:e}=await Promise.resolve().then(()=>HT);return{createRadarServices:e}},void 0),t=e().Radar.parser.LangiumParser;PT.radar=t},"radar"),treemap:Jg(async()=>{const{createTreemapServices:e}=await $(async()=>{const{createTreemapServices:e}=await Promise.resolve().then(()=>WT);return{createTreemapServices:e}},void 0),t=e().Treemap.parser.LangiumParser;PT.treemap=t},"treemap")};async function DT(e,t){const n=jT[e];if(!n)throw new Error(`Unknown diagram type: ${e}`);PT[e]||await n();const r=PT[e].parse(t);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new GT(r);return r.value}Jg(DT,"parse");var GT=(Jg(m=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(e=>e.message).join("\n")} ${e.parserErrors.map(e=>e.message).join("\n")}`),this.result=e}},"MermaidParseError"),m);const UT=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:dT,createInfoServices:pT},Symbol.toStringTag,{value:"Module"})),BT=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:yT,createPacketServices:vT},Symbol.toStringTag,{value:"Module"})),FT=Object.freeze(Object.defineProperty({__proto__:null,PieModule:TT,createPieServices:RT},Symbol.toStringTag,{value:"Module"})),KT=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:AT,createArchitectureServices:ET},Symbol.toStringTag,{value:"Module"})),VT=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:lT,createGitGraphServices:fT},Symbol.toStringTag,{value:"Module"})),HT=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:xT,createRadarServices:ST},Symbol.toStringTag,{value:"Module"})),WT=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:LT,createTreemapServices:MT},Symbol.toStringTag,{value:"Module"}));export{DT as p};
|