@sabrish/power-platform-solution-blueprint 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +166 -0
- package/LICENSE +21 -0
- package/README.md +331 -0
- package/dist/assets/BusinessProcessFlowDiscovery-BSDgBoIA.js +2 -0
- package/dist/assets/BusinessProcessFlowDiscovery-BSDgBoIA.js.map +1 -0
- package/dist/assets/ColumnSecurityDiscovery-B3yVn0LZ.js +2 -0
- package/dist/assets/ColumnSecurityDiscovery-B3yVn0LZ.js.map +1 -0
- package/dist/assets/ConnectionReferenceDiscovery-DFTQuo-S.js +2 -0
- package/dist/assets/ConnectionReferenceDiscovery-DFTQuo-S.js.map +1 -0
- package/dist/assets/CustomAPIDiscovery-BiQS_ENt.js +2 -0
- package/dist/assets/CustomAPIDiscovery-BiQS_ENt.js.map +1 -0
- package/dist/assets/CustomConnectorDiscovery-TvNjElP3.js +2 -0
- package/dist/assets/CustomConnectorDiscovery-TvNjElP3.js.map +1 -0
- package/dist/assets/EnvironmentVariableDiscovery-DG_tXCcQ.js +2 -0
- package/dist/assets/EnvironmentVariableDiscovery-DG_tXCcQ.js.map +1 -0
- package/dist/assets/GlobalChoiceDiscovery-nivz9yGs.js +2 -0
- package/dist/assets/GlobalChoiceDiscovery-nivz9yGs.js.map +1 -0
- package/dist/assets/HtmlReporter-Cu9NwA6b.js +1894 -0
- package/dist/assets/HtmlReporter-Cu9NwA6b.js.map +1 -0
- package/dist/assets/JsonReporter-BqDJorX-.js +2 -0
- package/dist/assets/JsonReporter-BqDJorX-.js.map +1 -0
- package/dist/assets/MarkdownReporter-B1FEpc6-.js +53 -0
- package/dist/assets/MarkdownReporter-B1FEpc6-.js.map +1 -0
- package/dist/assets/ZipPackager-B4xx8LbF.js +3 -0
- package/dist/assets/ZipPackager-B4xx8LbF.js.map +1 -0
- package/dist/assets/_baseUniq-Nm59UrQz.js +2 -0
- package/dist/assets/_baseUniq-Nm59UrQz.js.map +1 -0
- package/dist/assets/arc-BVr5R-xB.js +2 -0
- package/dist/assets/arc-BVr5R-xB.js.map +1 -0
- package/dist/assets/architectureDiagram-VXUJARFQ-C-olLUHb.js +37 -0
- package/dist/assets/architectureDiagram-VXUJARFQ-C-olLUHb.js.map +1 -0
- package/dist/assets/blockDiagram-VD42YOAC-B4incSX8.js +123 -0
- package/dist/assets/blockDiagram-VD42YOAC-B4incSX8.js.map +1 -0
- package/dist/assets/c4Diagram-YG6GDRKO-BJxhcb17.js +11 -0
- package/dist/assets/c4Diagram-YG6GDRKO-BJxhcb17.js.map +1 -0
- package/dist/assets/channel-CjhOgOS9.js +2 -0
- package/dist/assets/channel-CjhOgOS9.js.map +1 -0
- package/dist/assets/chunk-4BX2VUAB-BIe6iK-b.js +2 -0
- package/dist/assets/chunk-4BX2VUAB-BIe6iK-b.js.map +1 -0
- package/dist/assets/chunk-55IACEB6-CA6P5Ey6.js +2 -0
- package/dist/assets/chunk-55IACEB6-CA6P5Ey6.js.map +1 -0
- package/dist/assets/chunk-B4BG7PRW-licIQLj-.js +166 -0
- package/dist/assets/chunk-B4BG7PRW-licIQLj-.js.map +1 -0
- package/dist/assets/chunk-DI55MBZ5-CxFpzZDS.js +221 -0
- package/dist/assets/chunk-DI55MBZ5-CxFpzZDS.js.map +1 -0
- package/dist/assets/chunk-FMBD7UC4-VjnBPAq9.js +16 -0
- package/dist/assets/chunk-FMBD7UC4-VjnBPAq9.js.map +1 -0
- package/dist/assets/chunk-QN33PNHL-BcMwEixv.js +2 -0
- package/dist/assets/chunk-QN33PNHL-BcMwEixv.js.map +1 -0
- package/dist/assets/chunk-QZHKN3VN-6eOG0UZ6.js +2 -0
- package/dist/assets/chunk-QZHKN3VN-6eOG0UZ6.js.map +1 -0
- package/dist/assets/chunk-TZMSLE5B-B38vDpWG.js +2 -0
- package/dist/assets/chunk-TZMSLE5B-B38vDpWG.js.map +1 -0
- package/dist/assets/classDiagram-2ON5EDUG-CEjpoRuI.js +2 -0
- package/dist/assets/classDiagram-2ON5EDUG-CEjpoRuI.js.map +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-CEjpoRuI.js +2 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-CEjpoRuI.js.map +1 -0
- package/dist/assets/clone-FgHYDKfb.js +2 -0
- package/dist/assets/clone-FgHYDKfb.js.map +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-BFz6nI_Q.js +2 -0
- package/dist/assets/cose-bilkent-S5V4N54A-BFz6nI_Q.js.map +1 -0
- package/dist/assets/cytoscape.esm-CyJtwmzi.js +332 -0
- package/dist/assets/cytoscape.esm-CyJtwmzi.js.map +1 -0
- package/dist/assets/dagre-6UL2VRFP-B9xCTGce.js +5 -0
- package/dist/assets/dagre-6UL2VRFP-B9xCTGce.js.map +1 -0
- package/dist/assets/defaultLocale-DX6XiGOO.js +2 -0
- package/dist/assets/defaultLocale-DX6XiGOO.js.map +1 -0
- package/dist/assets/diagram-PSM6KHXK-BG-mPBdn.js +25 -0
- package/dist/assets/diagram-PSM6KHXK-BG-mPBdn.js.map +1 -0
- package/dist/assets/diagram-QEK2KX5R-BAd41szY.js +44 -0
- package/dist/assets/diagram-QEK2KX5R-BAd41szY.js.map +1 -0
- package/dist/assets/diagram-S2PKOQOG-Qhy7nrMX.js +25 -0
- package/dist/assets/diagram-S2PKOQOG-Qhy7nrMX.js.map +1 -0
- package/dist/assets/erDiagram-Q2GNP2WA-HJD-sygr.js +61 -0
- package/dist/assets/erDiagram-Q2GNP2WA-HJD-sygr.js.map +1 -0
- package/dist/assets/flowDiagram-NV44I4VS-DcFzPV5l.js +163 -0
- package/dist/assets/flowDiagram-NV44I4VS-DcFzPV5l.js.map +1 -0
- package/dist/assets/ganttDiagram-JELNMOA3-5hzmn_YM.js +268 -0
- package/dist/assets/ganttDiagram-JELNMOA3-5hzmn_YM.js.map +1 -0
- package/dist/assets/gitGraphDiagram-NY62KEGX-BJoaRoQP.js +66 -0
- package/dist/assets/gitGraphDiagram-NY62KEGX-BJoaRoQP.js.map +1 -0
- package/dist/assets/graph-iTkoc_Qp.js +2 -0
- package/dist/assets/graph-iTkoc_Qp.js.map +1 -0
- package/dist/assets/index-C0N3Q-wf.js +404 -0
- package/dist/assets/index-C0N3Q-wf.js.map +1 -0
- package/dist/assets/index-Dau71uup.css +1 -0
- package/dist/assets/infoDiagram-WHAUD3N6-Dm-9Locf.js +3 -0
- package/dist/assets/infoDiagram-WHAUD3N6-Dm-9Locf.js.map +1 -0
- package/dist/assets/init-Gi6I4Gst.js +2 -0
- package/dist/assets/init-Gi6I4Gst.js.map +1 -0
- package/dist/assets/journeyDiagram-XKPGCS4Q-Cn4q49x5.js +140 -0
- package/dist/assets/journeyDiagram-XKPGCS4Q-Cn4q49x5.js.map +1 -0
- package/dist/assets/kanban-definition-3W4ZIXB7-lUx8-faE.js +90 -0
- package/dist/assets/kanban-definition-3W4ZIXB7-lUx8-faE.js.map +1 -0
- package/dist/assets/katex-CBSAILhF.js +262 -0
- package/dist/assets/katex-CBSAILhF.js.map +1 -0
- package/dist/assets/layout-BNMvCxLN.js +2 -0
- package/dist/assets/layout-BNMvCxLN.js.map +1 -0
- package/dist/assets/linear-OqJg3PPm.js +2 -0
- package/dist/assets/linear-OqJg3PPm.js.map +1 -0
- package/dist/assets/min-N_DZlU1c.js +2 -0
- package/dist/assets/min-N_DZlU1c.js.map +1 -0
- package/dist/assets/mindmap-definition-VGOIOE7T-C43AGCOz.js +69 -0
- package/dist/assets/mindmap-definition-VGOIOE7T-C43AGCOz.js.map +1 -0
- package/dist/assets/ordinal-Cboi1Yqb.js +2 -0
- package/dist/assets/ordinal-Cboi1Yqb.js.map +1 -0
- package/dist/assets/pieDiagram-ADFJNKIX-COl1BPcc.js +31 -0
- package/dist/assets/pieDiagram-ADFJNKIX-COl1BPcc.js.map +1 -0
- package/dist/assets/quadrantDiagram-AYHSOK5B-C-fSINkS.js +8 -0
- package/dist/assets/quadrantDiagram-AYHSOK5B-C-fSINkS.js.map +1 -0
- package/dist/assets/requirementDiagram-UZGBJVZJ-DSag9Z4m.js +65 -0
- package/dist/assets/requirementDiagram-UZGBJVZJ-DSag9Z4m.js.map +1 -0
- package/dist/assets/sankeyDiagram-TZEHDZUN-JyvYJ7BV.js +11 -0
- package/dist/assets/sankeyDiagram-TZEHDZUN-JyvYJ7BV.js.map +1 -0
- package/dist/assets/sequenceDiagram-WL72ISMW-GkUPZQOc.js +146 -0
- package/dist/assets/sequenceDiagram-WL72ISMW-GkUPZQOc.js.map +1 -0
- package/dist/assets/stateDiagram-FKZM4ZOC-DiJHFrza.js +2 -0
- package/dist/assets/stateDiagram-FKZM4ZOC-DiJHFrza.js.map +1 -0
- package/dist/assets/stateDiagram-v2-4FDKWEC3-BgdSYitm.js +2 -0
- package/dist/assets/stateDiagram-v2-4FDKWEC3-BgdSYitm.js.map +1 -0
- package/dist/assets/timeline-definition-IT6M3QCI-BIeoFfU5.js +62 -0
- package/dist/assets/timeline-definition-IT6M3QCI-BIeoFfU5.js.map +1 -0
- package/dist/assets/treemap-KMMF4GRG-BDDqLxLB.js +129 -0
- package/dist/assets/treemap-KMMF4GRG-BDDqLxLB.js.map +1 -0
- package/dist/assets/xychartDiagram-PRI3JC2R-CUzWjNyv.js +8 -0
- package/dist/assets/xychartDiagram-PRI3JC2R-CUzWjNyv.js.map +1 -0
- package/dist/index.html +13 -0
- package/index.html +12 -0
- package/package.json +74 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
var Wd=Object.defineProperty;var zd=(t,e,n)=>e in t?Wd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var pt=(t,e,n)=>zd(t,typeof e!="symbol"?e+"":e,n);import{ba as qd,bD as _t}from"./index-C0N3Q-wf.js";import{m as st,f as Yd,d as Xd}from"./min-N_DZlU1c.js";import{b as Jd,l as Zd,c as Qd,m as eh,r as Mo,n as $s}from"./_baseUniq-Nm59UrQz.js";function th(t,e){return Jd(st(t,e))}function nh(t,e){return t&&t.length?Zd(t,Qd(e)):[]}function le(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ze(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function rh(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function ai(t){return typeof t=="object"&&t!==null&&le(t.container)&&ze(t.reference)&&typeof t.message=="string"}class yc{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,n){return le(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,n);return r[n]=s,s}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Tr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Tc(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function vc(t){return Tr(t)&&typeof t.fullText=="string"}class te{constructor(e,n){this.startFn=e,this.nextFn=n}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new te(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return Ae})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=ih(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new te(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?Ae:{done:!1,value:e(i)}})}filter(e){return new te(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return Ae})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new te(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(Ei(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return Ae})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new te(()=>({this:n.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=n.nextFn(r.this);if(!i)if(Ei(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Ae})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new te(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new te(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?Ae:this.nextFn(n.state)))}distinct(e){return new te(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return Ae})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function ih(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Ei(t){return!!t&&typeof t[Symbol.iterator]=="function"}const sh=new te(()=>{},()=>Ae),Ae=Object.freeze({done:!0,value:void 0});function ne(...t){if(t.length===1){const e=t[0];if(e instanceof te)return e;if(Ei(e))return new te(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new te(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:Ae)}return t.length>1?new te(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];Ei(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return Ae}):sh}class Ha extends te{constructor(e,n,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[n(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(n(a.value)[Symbol.iterator]()),a}return Ae})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var ta;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(ta||(ta={}));function na(t){return new Ha(t,e=>Tr(e)?e.content:[],{includeRoot:!0})}function ah(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function ra(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function $i(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var rt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(rt||(rt={}));function oh(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return rt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return rt.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?rt.Inside:n?rt.OverlapBack:r?rt.OverlapFront:rt.Outside}function lh(t,e){return oh(t,e)>rt.After}const uh=/^[\w\p{L}]$/u;function ch(t,e){if(t){const n=fh(t,!0);if(n&&Do(n,e))return n;if(vc(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(Do(s,e))return s}}}}function Do(t,e){return Tc(t)&&e.includes(t.tokenType.name)}function fh(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class Rc extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function Ir(t){throw new Error("Error! The input value was not handled.")}const Fr="AbstractRule",Gr="AbstractType",Ss="Condition",Fo="TypeDefinition",xs="ValueLiteral",Ln="AbstractElement";function dh(t){return F.isInstance(t,Ln)}const Ur="ArrayLiteral",Br="ArrayType",Pn="BooleanLiteral";function hh(t){return F.isInstance(t,Pn)}const Mn="Conjunction";function ph(t){return F.isInstance(t,Mn)}const Dn="Disjunction";function mh(t){return F.isInstance(t,Dn)}const jr="Grammar",Is="GrammarImport",Fn="InferredType";function Ac(t){return F.isInstance(t,Fn)}const Gn="Interface";function Ec(t){return F.isInstance(t,Gn)}const ks="NamedArgument",Un="Negation";function gh(t){return F.isInstance(t,Un)}const Kr="NumberLiteral",Hr="Parameter",Bn="ParameterReference";function yh(t){return F.isInstance(t,Bn)}const jn="ParserRule";function Ne(t){return F.isInstance(t,jn)}const Vr="ReferenceType",oi="ReturnType";function Th(t){return F.isInstance(t,oi)}const Kn="SimpleType";function vh(t){return F.isInstance(t,Kn)}const Wr="StringLiteral",qt="TerminalRule";function Gt(t){return F.isInstance(t,qt)}const Hn="Type";function $c(t){return F.isInstance(t,Hn)}const ws="TypeAttribute",zr="UnionType",Vn="Action";function qi(t){return F.isInstance(t,Vn)}const Wn="Alternatives";function Sc(t){return F.isInstance(t,Wn)}const zn="Assignment";function bt(t){return F.isInstance(t,zn)}const qn="CharacterRange";function Rh(t){return F.isInstance(t,qn)}const Yn="CrossReference";function Va(t){return F.isInstance(t,Yn)}const Xn="EndOfFile";function Ah(t){return F.isInstance(t,Xn)}const Jn="Group";function Wa(t){return F.isInstance(t,Jn)}const Zn="Keyword";function Ot(t){return F.isInstance(t,Zn)}const Qn="NegatedToken";function Eh(t){return F.isInstance(t,Qn)}const er="RegexToken";function $h(t){return F.isInstance(t,er)}const tr="RuleCall";function Lt(t){return F.isInstance(t,tr)}const nr="TerminalAlternatives";function Sh(t){return F.isInstance(t,nr)}const rr="TerminalGroup";function xh(t){return F.isInstance(t,rr)}const ir="TerminalRuleCall";function Ih(t){return F.isInstance(t,ir)}const sr="UnorderedGroup";function xc(t){return F.isInstance(t,sr)}const ar="UntilToken";function kh(t){return F.isInstance(t,ar)}const or="Wildcard";function wh(t){return F.isInstance(t,or)}class Ic extends yc{getAllTypes(){return[Ln,Fr,Gr,Vn,Wn,Ur,Br,zn,Pn,qn,Ss,Mn,Yn,Dn,Xn,jr,Is,Jn,Fn,Gn,Zn,ks,Qn,Un,Kr,Hr,Bn,jn,Vr,er,oi,tr,Kn,Wr,nr,rr,qt,ir,Hn,ws,Fo,zr,sr,ar,xs,or]}computeIsSubtype(e,n){switch(e){case Vn:case Wn:case zn:case qn:case Yn:case Xn:case Jn:case Zn:case Qn:case er:case tr:case nr:case rr:case ir:case sr:case ar:case or:return this.isSubtype(Ln,n);case Ur:case Kr:case Wr:return this.isSubtype(xs,n);case Br:case Vr:case Kn:case zr:return this.isSubtype(Fo,n);case Pn:return this.isSubtype(Ss,n)||this.isSubtype(xs,n);case Mn:case Dn:case Un:case Bn:return this.isSubtype(Ss,n);case Fn:case Gn:case Hn:return this.isSubtype(Gr,n);case jn:return this.isSubtype(Fr,n)||this.isSubtype(Gr,n);case qt:return this.isSubtype(Fr,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Gr;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Fr;case"Grammar:usedGrammars":return jr;case"NamedArgument:parameter":case"ParameterReference:parameter":return Hr;case"TerminalRuleCall:rule":return qt;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Ln:return{name:Ln,properties:[{name:"cardinality"},{name:"lookahead"}]};case Ur:return{name:Ur,properties:[{name:"elements",defaultValue:[]}]};case Br:return{name:Br,properties:[{name:"elementType"}]};case Pn:return{name:Pn,properties:[{name:"true",defaultValue:!1}]};case Mn:return{name:Mn,properties:[{name:"left"},{name:"right"}]};case Dn:return{name:Dn,properties:[{name:"left"},{name:"right"}]};case jr:return{name:jr,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 Is:return{name:Is,properties:[{name:"path"}]};case Fn:return{name:Fn,properties:[{name:"name"}]};case Gn:return{name:Gn,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case ks:return{name:ks,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Un:return{name:Un,properties:[{name:"value"}]};case Kr:return{name:Kr,properties:[{name:"value"}]};case Hr:return{name:Hr,properties:[{name:"name"}]};case Bn:return{name:Bn,properties:[{name:"parameter"}]};case jn:return{name:jn,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 Vr:return{name:Vr,properties:[{name:"referenceType"}]};case oi:return{name:oi,properties:[{name:"name"}]};case Kn:return{name:Kn,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case Wr:return{name:Wr,properties:[{name:"value"}]};case qt:return{name:qt,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case Hn:return{name:Hn,properties:[{name:"name"},{name:"type"}]};case ws:return{name:ws,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case zr:return{name:zr,properties:[{name:"types",defaultValue:[]}]};case Vn:return{name:Vn,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case Wn:return{name:Wn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case zn:return{name:zn,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case qn:return{name:qn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case Yn:return{name:Yn,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case Xn:return{name:Xn,properties:[{name:"cardinality"},{name:"lookahead"}]};case Jn:return{name:Jn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case Zn:return{name:Zn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Qn:return{name:Qn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case er:return{name:er,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case tr:return{name:tr,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case nr:return{name:nr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case rr:return{name:rr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case ir:return{name:ir,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case sr:return{name:sr,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case ar:return{name:ar,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case or:return{name:or,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const F=new Ic;function Ch(t){for(const[e,n]of Object.entries(t))e.startsWith("$")||(Array.isArray(n)?n.forEach((r,i)=>{le(r)&&(r.$container=t,r.$containerProperty=e,r.$containerIndex=i)}):le(n)&&(n.$container=t,n.$containerProperty=e))}function Yi(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function mt(t){const n=ia(t).$document;if(!n)throw new Error("AST node has no document.");return n}function ia(t){for(;t.$container;)t=t.$container;return t}function za(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new te(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(le(s)){if(r.keyIndex++,Go(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(le(o)&&Go(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Ae})}function kr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Ha(t,n=>za(n,e))}function Xt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Ha(t,n=>za(n,e),{includeRoot:!0})}function Go(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)===null||n===void 0?void 0:n.range;return r?lh(r,e):!1}function kc(t){return new te(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(ze(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(ze(s))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Ae})}function _h(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of n.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=wc(i.defaultValue))}function wc(t){return Array.isArray(t)?[...t.map(wc)]:t}function _(t){return t.charCodeAt(0)}function Cs(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function _n(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function zt(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Nh(){throw Error("Internal Error - Should never get here!")}function Uo(t){return t.type==="Character"}const Si=[];for(let t=_("0");t<=_("9");t++)Si.push(t);const xi=[_("_")].concat(Si);for(let t=_("a");t<=_("z");t++)xi.push(t);for(let t=_("A");t<=_("Z");t++)xi.push(t);const Bo=[_(" "),_("\f"),_(`
|
|
2
|
+
`),_("\r"),_(" "),_("\v"),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_(" "),_("\u2028"),_("\u2029"),_(" "),_(" "),_(" "),_("\uFEFF")],bh=/[0-9a-fA-F]/,qr=/[0-9]/,Oh=/[1-9]/;class Cc{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const n=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":_n(r,"global");break;case"i":_n(r,"ignoreCase");break;case"m":_n(r,"multiLine");break;case"u":_n(r,"unicode");break;case"y":_n(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break}zt(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return Nh()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;zt(n);break}if(!(e===!0&&n===void 0)&&zt(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),zt(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[_(`
|
|
3
|
+
`),_("\r"),_("\u2028"),_("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=Si;break;case"D":e=Si,n=!0;break;case"s":e=Bo;break;case"S":e=Bo,n=!0;break;case"w":e=xi;break;case"W":e=xi,n=!0;break}if(zt(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=_("\f");break;case"n":e=_(`
|
|
4
|
+
`);break;case"r":e=_("\r");break;case"t":e=_(" ");break;case"v":e=_("\v");break}if(zt(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:_("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:_(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:_(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,Uo(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,Uo(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Cs(r.value,e),e.push(_("-")),Cs(i.value,e)}else Cs(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
6
|
+
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:_("\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;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(Oh.test(e)===!1)throw Error("Expecting a positive integer");for(;qr.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(qr.test(e)===!1)throw Error("Expecting an integer");for(;qr.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
|
|
7
|
+
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:_(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 qr.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
8
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
9
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let n="";for(let i=0;i<e;i++){const s=this.popChar();if(bh.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class Xi{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const Lh=/\r?\n/gm,Ph=new Cc;class Mh extends Xi{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const n=String.fromCharCode(e.value);if(!this.multiline&&n===`
|
|
10
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=Ji(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
|
|
11
|
+
`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const _s=new Mh;function Dh(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),_s.reset(t),_s.visit(Ph.pattern(t)),_s.multiline}catch{return!1}}const Fh=`\f
|
|
12
|
+
\r \v \u2028\u2029 \uFEFF`.split("");function sa(t){const e=typeof t=="string"?new RegExp(t):t;return Fh.some(n=>e.test(n))}function Ji(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Gh(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Ji(e)).join("")}function Uh(t,e){const n=Bh(t),r=e.match(n);return!!r&&r[0].length>0}function Bh(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(u){s+=n.substr(r,u),r+=u}function l(u){s+="(?:"+n.substr(r,u)+"|$)",r+=u}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?n[r+2]==="{"?l(n.indexOf("}",r)-r+1):l(6):l(2);break;case"p":case"P":e.unicode?l(n.indexOf("}",r)-r+1):l(2);break;case"k":l(n.indexOf(">",r)-r+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],l(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[0].length):l(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=n.substr(a,r-a);break;case"<":switch(n[r+3]){case"=":case"!":a=r,r+=4,i(),s+=n.substr(a,r-a);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:l(1);break}return s}return new RegExp(i(),t.flags)}function jh(t){return t.rules.find(e=>Ne(e)&&e.entry)}function Kh(t){return t.rules.filter(e=>Gt(e)&&e.hidden)}function _c(t,e){const n=new Set,r=jh(t);if(!r)return new Set(t.rules);const i=[r].concat(Kh(t));for(const a of i)Nc(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||Gt(a)&&a.hidden)&&s.add(a);return s}function Nc(t,e,n){e.add(t.name),kr(t).forEach(r=>{if(Lt(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Nc(i,e,n)}})}function Hh(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=Oc(t.type.ref);return e==null?void 0:e.terminal}}function Vh(t){return t.hidden&&!sa(Ja(t))}function Wh(t,e){return!t||!e?[]:qa(t,e,t.astNode,!0)}function bc(t,e,n){if(!t||!e)return;const r=qa(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function qa(t,e,n,r){if(!r){const i=Yi(t.grammarSource,bt);if(i&&i.feature===e)return[t]}return Tr(t)&&t.astNode===n?t.content.flatMap(i=>qa(i,e,n,!1)):[]}function zh(t,e,n){if(!t)return;const r=qh(t,e,t==null?void 0:t.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function qh(t,e,n){if(t.astNode!==n)return[];if(Ot(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=na(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?Ot(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function Yh(t){var e;const n=t.astNode;for(;n===((e=t.container)===null||e===void 0?void 0:e.astNode);){const r=Yi(t.grammarSource,bt);if(r)return r;t=t.container}}function Oc(t){let e=t;return Ac(e)&&(qi(e.$container)?e=e.$container.$container:Ne(e.$container)?e=e.$container:Ir(e.$container)),Lc(t,e,new Map)}function Lc(t,e,n){var r;function i(s,a){let o;return Yi(s,bt)||(o=Lc(a,a,n)),n.set(t,o),o}if(n.has(t))return n.get(t);n.set(t,void 0);for(const s of kr(e)){if(bt(s)&&s.feature.toLowerCase()==="name")return n.set(t,s),s;if(Lt(s)&&Ne(s.rule.ref))return i(s,s.rule.ref);if(vh(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function Pc(t){return Mc(t,new Set)}function Mc(t,e){if(e.has(t))return!0;e.add(t);for(const n of kr(t))if(Lt(n)){if(!n.rule.ref||Ne(n.rule.ref)&&!Mc(n.rule.ref,e))return!1}else{if(bt(n))return!1;if(qi(n))return!1}return!!t.definition}function Ya(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e){if(Ne(e))return e.name;if(Ec(e)||$c(e))return e.name}}}function Xa(t){var e;if(Ne(t))return Pc(t)?t.name:(e=Ya(t))!==null&&e!==void 0?e:t.name;if(Ec(t)||$c(t)||Th(t))return t.name;if(qi(t)){const n=Xh(t);if(n)return n}else if(Ac(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Xh(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Xa(t.type.ref)}function Jh(t){var e,n,r;return Gt(t)?(n=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&n!==void 0?n:"string":(r=Ya(t))!==null&&r!==void 0?r:t.name}function Ja(t){const e={s:!1,i:!1,u:!1},n=In(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const Za=/[\s\S]/.source;function In(t,e){if(Sh(t))return Zh(t);if(xh(t))return Qh(t);if(Rh(t))return np(t);if(Ih(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return at(In(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(Eh(t))return tp(t);if(kh(t))return ep(t);if($h(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),at(r,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(wh(t))return at(Za,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t==null?void 0:t.$type}`)}}}function Zh(t){return at(t.elements.map(e=>In(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function Qh(t){return at(t.elements.map(e=>In(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function ep(t){return at(`${Za}*?${In(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function tp(t){return at(`(?!${In(t.terminal)})${Za}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function np(t){return t.right?at(`[${Ns(t.left)}-${Ns(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):at(Ns(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function Ns(t){return Ji(t.value)}function at(t,e){var n;return(e.wrap!==!1||e.lookahead)&&(t=`(${(n=e.lookahead)!==null&&n!==void 0?n:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function rp(t){const e=[],n=t.Grammar;for(const r of n.rules)Gt(r)&&Vh(r)&&Dh(Ja(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:uh}}var Dc=typeof global=="object"&&global&&global.Object===Object&&global,ip=typeof self=="object"&&self&&self.Object===Object&&self,Ye=Dc||ip||Function("return this")(),be=Ye.Symbol,Fc=Object.prototype,sp=Fc.hasOwnProperty,ap=Fc.toString,Nn=be?be.toStringTag:void 0;function op(t){var e=sp.call(t,Nn),n=t[Nn];try{t[Nn]=void 0;var r=!0}catch{}var i=ap.call(t);return r&&(e?t[Nn]=n:delete t[Nn]),i}var lp=Object.prototype,up=lp.toString;function cp(t){return up.call(t)}var fp="[object Null]",dp="[object Undefined]",jo=be?be.toStringTag:void 0;function At(t){return t==null?t===void 0?dp:fp:jo&&jo in Object(t)?op(t):cp(t)}function Be(t){return t!=null&&typeof t=="object"}var hp="[object Symbol]";function Zi(t){return typeof t=="symbol"||Be(t)&&At(t)==hp}function Qi(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var P=Array.isArray,Ko=be?be.prototype:void 0,Ho=Ko?Ko.toString:void 0;function Gc(t){if(typeof t=="string")return t;if(P(t))return Qi(t,Gc)+"";if(Zi(t))return Ho?Ho.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var pp=/\s/;function mp(t){for(var e=t.length;e--&&pp.test(t.charAt(e)););return e}var gp=/^\s+/;function yp(t){return t&&t.slice(0,mp(t)+1).replace(gp,"")}function Oe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Vo=NaN,Tp=/^[-+]0x[0-9a-f]+$/i,vp=/^0b[01]+$/i,Rp=/^0o[0-7]+$/i,Ap=parseInt;function Ep(t){if(typeof t=="number")return t;if(Zi(t))return Vo;if(Oe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Oe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=yp(t);var n=vp.test(t);return n||Rp.test(t)?Ap(t.slice(2),n?2:8):Tp.test(t)?Vo:+t}var Wo=1/0,$p=17976931348623157e292;function Sp(t){if(!t)return t===0?t:0;if(t=Ep(t),t===Wo||t===-Wo){var e=t<0?-1:1;return e*$p}return t===t?t:0}function es(t){var e=Sp(t),n=e%1;return e===e?n?e-n:e:0}function yn(t){return t}var xp="[object AsyncFunction]",Ip="[object Function]",kp="[object GeneratorFunction]",wp="[object Proxy]";function ct(t){if(!Oe(t))return!1;var e=At(t);return e==Ip||e==kp||e==xp||e==wp}var bs=Ye["__core-js_shared__"],zo=function(){var t=/[^.]+$/.exec(bs&&bs.keys&&bs.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Cp(t){return!!zo&&zo in t}var _p=Function.prototype,Np=_p.toString;function Ut(t){if(t!=null){try{return Np.call(t)}catch{}try{return t+""}catch{}}return""}var bp=/[\\^$.*+?()[\]{}|]/g,Op=/^\[object .+?Constructor\]$/,Lp=Function.prototype,Pp=Object.prototype,Mp=Lp.toString,Dp=Pp.hasOwnProperty,Fp=RegExp("^"+Mp.call(Dp).replace(bp,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Gp(t){if(!Oe(t)||Cp(t))return!1;var e=ct(t)?Fp:Op;return e.test(Ut(t))}function Up(t,e){return t==null?void 0:t[e]}function Bt(t,e){var n=Up(t,e);return Gp(n)?n:void 0}var aa=Bt(Ye,"WeakMap"),qo=Object.create,Bp=function(){function t(){}return function(e){if(!Oe(e))return{};if(qo)return qo(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();function jp(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function X(){}function Kp(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var Hp=800,Vp=16,Wp=Date.now;function zp(t){var e=0,n=0;return function(){var r=Wp(),i=Vp-(r-n);if(n=r,i>0){if(++e>=Hp)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function qp(t){return function(){return t}}var Ii=function(){try{var t=Bt(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Yp=Ii?function(t,e){return Ii(t,"toString",{configurable:!0,enumerable:!1,value:qp(e),writable:!0})}:yn,Xp=zp(Yp);function Uc(t,e){for(var n=-1,r=t==null?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function Bc(t,e,n,r){for(var i=t.length,s=n+-1;++s<i;)if(e(t[s],s,t))return s;return-1}function Jp(t){return t!==t}function Zp(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Qa(t,e,n){return e===e?Zp(t,e,n):Bc(t,Jp,n)}function jc(t,e){var n=t==null?0:t.length;return!!n&&Qa(t,e,0)>-1}var Qp=9007199254740991,em=/^(?:0|[1-9]\d*)$/;function ts(t,e){var n=typeof t;return e=e??Qp,!!e&&(n=="number"||n!="symbol"&&em.test(t))&&t>-1&&t%1==0&&t<e}function eo(t,e,n){e=="__proto__"&&Ii?Ii(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function wr(t,e){return t===e||t!==t&&e!==e}var tm=Object.prototype,nm=tm.hasOwnProperty;function ns(t,e,n){var r=t[e];(!(nm.call(t,e)&&wr(r,n))||n===void 0&&!(e in t))&&eo(t,e,n)}function Cr(t,e,n,r){var i=!n;n||(n={});for(var s=-1,a=e.length;++s<a;){var o=e[s],l=void 0;l===void 0&&(l=t[o]),i?eo(n,o,l):ns(n,o,l)}return n}var Yo=Math.max;function rm(t,e,n){return e=Yo(e===void 0?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=Yo(r.length-e,0),a=Array(s);++i<s;)a[i]=r[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=r[i];return o[e]=n(a),jp(t,this,o)}}function to(t,e){return Xp(rm(t,e,yn),t+"")}var im=9007199254740991;function no(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=im}function Xe(t){return t!=null&&no(t.length)&&!ct(t)}function Kc(t,e,n){if(!Oe(n))return!1;var r=typeof e;return(r=="number"?Xe(n)&&ts(e,n.length):r=="string"&&e in n)?wr(n[e],t):!1}function sm(t){return to(function(e,n){var r=-1,i=n.length,s=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,a&&Kc(n[0],n[1],a)&&(s=i<3?void 0:s,i=1),e=Object(e);++r<i;){var o=n[r];o&&t(e,o,r,s)}return e})}var am=Object.prototype;function _r(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||am;return t===n}function om(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}var lm="[object Arguments]";function Xo(t){return Be(t)&&At(t)==lm}var Hc=Object.prototype,um=Hc.hasOwnProperty,cm=Hc.propertyIsEnumerable,rs=Xo(function(){return arguments}())?Xo:function(t){return Be(t)&&um.call(t,"callee")&&!cm.call(t,"callee")};function fm(){return!1}var Vc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Jo=Vc&&typeof module=="object"&&module&&!module.nodeType&&module,dm=Jo&&Jo.exports===Vc,Zo=dm?Ye.Buffer:void 0,hm=Zo?Zo.isBuffer:void 0,vr=hm||fm,pm="[object Arguments]",mm="[object Array]",gm="[object Boolean]",ym="[object Date]",Tm="[object Error]",vm="[object Function]",Rm="[object Map]",Am="[object Number]",Em="[object Object]",$m="[object RegExp]",Sm="[object Set]",xm="[object String]",Im="[object WeakMap]",km="[object ArrayBuffer]",wm="[object DataView]",Cm="[object Float32Array]",_m="[object Float64Array]",Nm="[object Int8Array]",bm="[object Int16Array]",Om="[object Int32Array]",Lm="[object Uint8Array]",Pm="[object Uint8ClampedArray]",Mm="[object Uint16Array]",Dm="[object Uint32Array]",B={};B[Cm]=B[_m]=B[Nm]=B[bm]=B[Om]=B[Lm]=B[Pm]=B[Mm]=B[Dm]=!0;B[pm]=B[mm]=B[km]=B[gm]=B[wm]=B[ym]=B[Tm]=B[vm]=B[Rm]=B[Am]=B[Em]=B[$m]=B[Sm]=B[xm]=B[Im]=!1;function Fm(t){return Be(t)&&no(t.length)&&!!B[At(t)]}function is(t){return function(e){return t(e)}}var Wc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,gr=Wc&&typeof module=="object"&&module&&!module.nodeType&&module,Gm=gr&&gr.exports===Wc,Os=Gm&&Dc.process,gt=function(){try{var t=gr&&gr.require&&gr.require("util").types;return t||Os&&Os.binding&&Os.binding("util")}catch{}}(),Qo=gt&>.isTypedArray,ro=Qo?is(Qo):Fm,Um=Object.prototype,Bm=Um.hasOwnProperty;function zc(t,e){var n=P(t),r=!n&&rs(t),i=!n&&!r&&vr(t),s=!n&&!r&&!i&&ro(t),a=n||r||i||s,o=a?om(t.length,String):[],l=o.length;for(var u in t)(e||Bm.call(t,u))&&!(a&&(u=="length"||i&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||ts(u,l)))&&o.push(u);return o}function qc(t,e){return function(n){return t(e(n))}}var jm=qc(Object.keys,Object),Km=Object.prototype,Hm=Km.hasOwnProperty;function Yc(t){if(!_r(t))return jm(t);var e=[];for(var n in Object(t))Hm.call(t,n)&&n!="constructor"&&e.push(n);return e}function Le(t){return Xe(t)?zc(t):Yc(t)}var Vm=Object.prototype,Wm=Vm.hasOwnProperty,$e=sm(function(t,e){if(_r(e)||Xe(e)){Cr(e,Le(e),t);return}for(var n in e)Wm.call(e,n)&&ns(t,n,e[n])});function zm(t){var e=[];if(t!=null)for(var n in Object(t))e.push(n);return e}var qm=Object.prototype,Ym=qm.hasOwnProperty;function Xm(t){if(!Oe(t))return zm(t);var e=_r(t),n=[];for(var r in t)r=="constructor"&&(e||!Ym.call(t,r))||n.push(r);return n}function io(t){return Xe(t)?zc(t,!0):Xm(t)}var Jm=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Zm=/^\w*$/;function so(t,e){if(P(t))return!1;var n=typeof t;return n=="number"||n=="symbol"||n=="boolean"||t==null||Zi(t)?!0:Zm.test(t)||!Jm.test(t)||e!=null&&t in Object(e)}var Rr=Bt(Object,"create");function Qm(){this.__data__=Rr?Rr(null):{},this.size=0}function eg(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var tg="__lodash_hash_undefined__",ng=Object.prototype,rg=ng.hasOwnProperty;function ig(t){var e=this.__data__;if(Rr){var n=e[t];return n===tg?void 0:n}return rg.call(e,t)?e[t]:void 0}var sg=Object.prototype,ag=sg.hasOwnProperty;function og(t){var e=this.__data__;return Rr?e[t]!==void 0:ag.call(e,t)}var lg="__lodash_hash_undefined__";function ug(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Rr&&e===void 0?lg:e,this}function Pt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Pt.prototype.clear=Qm;Pt.prototype.delete=eg;Pt.prototype.get=ig;Pt.prototype.has=og;Pt.prototype.set=ug;function cg(){this.__data__=[],this.size=0}function ss(t,e){for(var n=t.length;n--;)if(wr(t[n][0],e))return n;return-1}var fg=Array.prototype,dg=fg.splice;function hg(t){var e=this.__data__,n=ss(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():dg.call(e,n,1),--this.size,!0}function pg(t){var e=this.__data__,n=ss(e,t);return n<0?void 0:e[n][1]}function mg(t){return ss(this.__data__,t)>-1}function gg(t,e){var n=this.__data__,r=ss(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function ft(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}ft.prototype.clear=cg;ft.prototype.delete=hg;ft.prototype.get=pg;ft.prototype.has=mg;ft.prototype.set=gg;var Ar=Bt(Ye,"Map");function yg(){this.size=0,this.__data__={hash:new Pt,map:new(Ar||ft),string:new Pt}}function Tg(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function as(t,e){var n=t.__data__;return Tg(e)?n[typeof e=="string"?"string":"hash"]:n.map}function vg(t){var e=as(this,t).delete(t);return this.size-=e?1:0,e}function Rg(t){return as(this,t).get(t)}function Ag(t){return as(this,t).has(t)}function Eg(t,e){var n=as(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function dt(t){var e=-1,n=t==null?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}dt.prototype.clear=yg;dt.prototype.delete=vg;dt.prototype.get=Rg;dt.prototype.has=Ag;dt.prototype.set=Eg;var $g="Expected a function";function ao(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError($g);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var a=t.apply(this,r);return n.cache=s.set(i,a)||s,a};return n.cache=new(ao.Cache||dt),n}ao.Cache=dt;var Sg=500;function xg(t){var e=ao(t,function(r){return n.size===Sg&&n.clear(),r}),n=e.cache;return e}var Ig=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kg=/\\(\\)?/g,wg=xg(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Ig,function(n,r,i,s){e.push(i?s.replace(kg,"$1"):r||n)}),e});function Cg(t){return t==null?"":Gc(t)}function os(t,e){return P(t)?t:so(t,e)?[t]:wg(Cg(t))}function Nr(t){if(typeof t=="string"||Zi(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function oo(t,e){e=os(e,t);for(var n=0,r=e.length;t!=null&&n<r;)t=t[Nr(e[n++])];return n&&n==r?t:void 0}function _g(t,e,n){var r=t==null?void 0:oo(t,e);return r===void 0?n:r}function lo(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var el=be?be.isConcatSpreadable:void 0;function Ng(t){return P(t)||rs(t)||!!(el&&t&&t[el])}function uo(t,e,n,r,i){var s=-1,a=t.length;for(n||(n=Ng),i||(i=[]);++s<a;){var o=t[s];n(o)?lo(i,o):r||(i[i.length]=o)}return i}function Ge(t){var e=t==null?0:t.length;return e?uo(t):[]}var Xc=qc(Object.getPrototypeOf,Object);function Jc(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function bg(t,e,n,r){var i=-1,s=t==null?0:t.length;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}function Og(){this.__data__=new ft,this.size=0}function Lg(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function Pg(t){return this.__data__.get(t)}function Mg(t){return this.__data__.has(t)}var Dg=200;function Fg(t,e){var n=this.__data__;if(n instanceof ft){var r=n.__data__;if(!Ar||r.length<Dg-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new dt(r)}return n.set(t,e),this.size=n.size,this}function qe(t){var e=this.__data__=new ft(t);this.size=e.size}qe.prototype.clear=Og;qe.prototype.delete=Lg;qe.prototype.get=Pg;qe.prototype.has=Mg;qe.prototype.set=Fg;function Gg(t,e){return t&&Cr(e,Le(e),t)}function Ug(t,e){return t&&Cr(e,io(e),t)}var Zc=typeof exports=="object"&&exports&&!exports.nodeType&&exports,tl=Zc&&typeof module=="object"&&module&&!module.nodeType&&module,Bg=tl&&tl.exports===Zc,nl=Bg?Ye.Buffer:void 0,rl=nl?nl.allocUnsafe:void 0;function jg(t,e){var n=t.length,r=rl?rl(n):new t.constructor(n);return t.copy(r),r}function co(t,e){for(var n=-1,r=t==null?0:t.length,i=0,s=[];++n<r;){var a=t[n];e(a,n,t)&&(s[i++]=a)}return s}function Qc(){return[]}var Kg=Object.prototype,Hg=Kg.propertyIsEnumerable,il=Object.getOwnPropertySymbols,fo=il?function(t){return t==null?[]:(t=Object(t),co(il(t),function(e){return Hg.call(t,e)}))}:Qc;function Vg(t,e){return Cr(t,fo(t),e)}var Wg=Object.getOwnPropertySymbols,ef=Wg?function(t){for(var e=[];t;)lo(e,fo(t)),t=Xc(t);return e}:Qc;function zg(t,e){return Cr(t,ef(t),e)}function tf(t,e,n){var r=e(t);return P(t)?r:lo(r,n(t))}function oa(t){return tf(t,Le,fo)}function qg(t){return tf(t,io,ef)}var la=Bt(Ye,"DataView"),ua=Bt(Ye,"Promise"),Jt=Bt(Ye,"Set"),sl="[object Map]",Yg="[object Object]",al="[object Promise]",ol="[object Set]",ll="[object WeakMap]",ul="[object DataView]",Xg=Ut(la),Jg=Ut(Ar),Zg=Ut(ua),Qg=Ut(Jt),ey=Ut(aa),Ce=At;(la&&Ce(new la(new ArrayBuffer(1)))!=ul||Ar&&Ce(new Ar)!=sl||ua&&Ce(ua.resolve())!=al||Jt&&Ce(new Jt)!=ol||aa&&Ce(new aa)!=ll)&&(Ce=function(t){var e=At(t),n=e==Yg?t.constructor:void 0,r=n?Ut(n):"";if(r)switch(r){case Xg:return ul;case Jg:return sl;case Zg:return al;case Qg:return ol;case ey:return ll}return e});var ty=Object.prototype,ny=ty.hasOwnProperty;function ry(t){var e=t.length,n=new t.constructor(e);return e&&typeof t[0]=="string"&&ny.call(t,"index")&&(n.index=t.index,n.input=t.input),n}var ki=Ye.Uint8Array;function iy(t){var e=new t.constructor(t.byteLength);return new ki(e).set(new ki(t)),e}function sy(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var ay=/\w*$/;function oy(t){var e=new t.constructor(t.source,ay.exec(t));return e.lastIndex=t.lastIndex,e}var cl=be?be.prototype:void 0,fl=cl?cl.valueOf:void 0;function ly(t){return fl?Object(fl.call(t)):{}}function uy(t,e){var n=t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var cy="[object Boolean]",fy="[object Date]",dy="[object Map]",hy="[object Number]",py="[object RegExp]",my="[object Set]",gy="[object String]",yy="[object Symbol]",Ty="[object ArrayBuffer]",vy="[object DataView]",Ry="[object Float32Array]",Ay="[object Float64Array]",Ey="[object Int8Array]",$y="[object Int16Array]",Sy="[object Int32Array]",xy="[object Uint8Array]",Iy="[object Uint8ClampedArray]",ky="[object Uint16Array]",wy="[object Uint32Array]";function Cy(t,e,n){var r=t.constructor;switch(e){case Ty:return iy(t);case cy:case fy:return new r(+t);case vy:return sy(t);case Ry:case Ay:case Ey:case $y:case Sy:case xy:case Iy:case ky:case wy:return uy(t);case dy:return new r;case hy:case gy:return new r(t);case py:return oy(t);case my:return new r;case yy:return ly(t)}}function _y(t){return typeof t.constructor=="function"&&!_r(t)?Bp(Xc(t)):{}}var Ny="[object Map]";function by(t){return Be(t)&&Ce(t)==Ny}var dl=gt&>.isMap,Oy=dl?is(dl):by,Ly="[object Set]";function Py(t){return Be(t)&&Ce(t)==Ly}var hl=gt&>.isSet,My=hl?is(hl):Py,Dy=2,nf="[object Arguments]",Fy="[object Array]",Gy="[object Boolean]",Uy="[object Date]",By="[object Error]",rf="[object Function]",jy="[object GeneratorFunction]",Ky="[object Map]",Hy="[object Number]",sf="[object Object]",Vy="[object RegExp]",Wy="[object Set]",zy="[object String]",qy="[object Symbol]",Yy="[object WeakMap]",Xy="[object ArrayBuffer]",Jy="[object DataView]",Zy="[object Float32Array]",Qy="[object Float64Array]",eT="[object Int8Array]",tT="[object Int16Array]",nT="[object Int32Array]",rT="[object Uint8Array]",iT="[object Uint8ClampedArray]",sT="[object Uint16Array]",aT="[object Uint32Array]",G={};G[nf]=G[Fy]=G[Xy]=G[Jy]=G[Gy]=G[Uy]=G[Zy]=G[Qy]=G[eT]=G[tT]=G[nT]=G[Ky]=G[Hy]=G[sf]=G[Vy]=G[Wy]=G[zy]=G[qy]=G[rT]=G[iT]=G[sT]=G[aT]=!0;G[By]=G[rf]=G[Yy]=!1;function li(t,e,n,r,i,s){var a,o=e&Dy;if(a!==void 0)return a;if(!Oe(t))return t;var l=P(t);if(l)return a=ry(t),Kp(t,a);var u=Ce(t),c=u==rf||u==jy;if(vr(t))return jg(t);if(u==sf||u==nf||c&&!i)return a=c?{}:_y(t),o?zg(t,Ug(a,t)):Vg(t,Gg(a,t));if(!G[u])return i?t:{};a=Cy(t,u),s||(s=new qe);var f=s.get(t);if(f)return f;s.set(t,a),My(t)?t.forEach(function(m){a.add(li(m,e,n,m,t,s))}):Oy(t)&&t.forEach(function(m,g){a.set(g,li(m,e,n,g,t,s))});var d=oa,h=l?void 0:d(t);return Uc(h||t,function(m,g){h&&(g=m,m=t[g]),ns(a,g,li(m,e,n,g,t,s))}),a}var oT=4;function ie(t){return li(t,oT)}function br(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}var lT="__lodash_hash_undefined__";function uT(t){return this.__data__.set(t,lT),this}function cT(t){return this.__data__.has(t)}function Tn(t){var e=-1,n=t==null?0:t.length;for(this.__data__=new dt;++e<n;)this.add(t[e])}Tn.prototype.add=Tn.prototype.push=uT;Tn.prototype.has=cT;function af(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function ho(t,e){return t.has(e)}var fT=1,dT=2;function of(t,e,n,r,i,s){var a=n&fT,o=t.length,l=e.length;if(o!=l&&!(a&&l>o))return!1;var u=s.get(t),c=s.get(e);if(u&&c)return u==e&&c==t;var f=-1,d=!0,h=n&dT?new Tn:void 0;for(s.set(t,e),s.set(e,t);++f<o;){var m=t[f],g=e[f];if(r)var R=a?r(g,m,f,e,t,s):r(m,g,f,t,e,s);if(R!==void 0){if(R)continue;d=!1;break}if(h){if(!af(e,function(y,E){if(!ho(h,E)&&(m===y||i(m,y,n,r,s)))return h.push(E)})){d=!1;break}}else if(!(m===g||i(m,g,n,r,s))){d=!1;break}}return s.delete(t),s.delete(e),d}function hT(t){var e=-1,n=Array(t.size);return t.forEach(function(r,i){n[++e]=[i,r]}),n}function po(t){var e=-1,n=Array(t.size);return t.forEach(function(r){n[++e]=r}),n}var pT=1,mT=2,gT="[object Boolean]",yT="[object Date]",TT="[object Error]",vT="[object Map]",RT="[object Number]",AT="[object RegExp]",ET="[object Set]",$T="[object String]",ST="[object Symbol]",xT="[object ArrayBuffer]",IT="[object DataView]",pl=be?be.prototype:void 0,Ls=pl?pl.valueOf:void 0;function kT(t,e,n,r,i,s,a){switch(n){case IT:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case xT:return!(t.byteLength!=e.byteLength||!s(new ki(t),new ki(e)));case gT:case yT:case RT:return wr(+t,+e);case TT:return t.name==e.name&&t.message==e.message;case AT:case $T:return t==e+"";case vT:var o=hT;case ET:var l=r&pT;if(o||(o=po),t.size!=e.size&&!l)return!1;var u=a.get(t);if(u)return u==e;r|=mT,a.set(t,e);var c=of(o(t),o(e),r,i,s,a);return a.delete(t),c;case ST:if(Ls)return Ls.call(t)==Ls.call(e)}return!1}var wT=1,CT=Object.prototype,_T=CT.hasOwnProperty;function NT(t,e,n,r,i,s){var a=n&wT,o=oa(t),l=o.length,u=oa(e),c=u.length;if(l!=c&&!a)return!1;for(var f=l;f--;){var d=o[f];if(!(a?d in e:_T.call(e,d)))return!1}var h=s.get(t),m=s.get(e);if(h&&m)return h==e&&m==t;var g=!0;s.set(t,e),s.set(e,t);for(var R=a;++f<l;){d=o[f];var y=t[d],E=e[d];if(r)var v=a?r(E,y,d,e,t,s):r(y,E,d,t,e,s);if(!(v===void 0?y===E||i(y,E,n,r,s):v)){g=!1;break}R||(R=d=="constructor")}if(g&&!R){var I=t.constructor,M=e.constructor;I!=M&&"constructor"in t&&"constructor"in e&&!(typeof I=="function"&&I instanceof I&&typeof M=="function"&&M instanceof M)&&(g=!1)}return s.delete(t),s.delete(e),g}var bT=1,ml="[object Arguments]",gl="[object Array]",Yr="[object Object]",OT=Object.prototype,yl=OT.hasOwnProperty;function LT(t,e,n,r,i,s){var a=P(t),o=P(e),l=a?gl:Ce(t),u=o?gl:Ce(e);l=l==ml?Yr:l,u=u==ml?Yr:u;var c=l==Yr,f=u==Yr,d=l==u;if(d&&vr(t)){if(!vr(e))return!1;a=!0,c=!1}if(d&&!c)return s||(s=new qe),a||ro(t)?of(t,e,n,r,i,s):kT(t,e,l,n,r,i,s);if(!(n&bT)){var h=c&&yl.call(t,"__wrapped__"),m=f&&yl.call(e,"__wrapped__");if(h||m){var g=h?t.value():t,R=m?e.value():e;return s||(s=new qe),i(g,R,n,r,s)}}return d?(s||(s=new qe),NT(t,e,n,r,i,s)):!1}function mo(t,e,n,r,i){return t===e?!0:t==null||e==null||!Be(t)&&!Be(e)?t!==t&&e!==e:LT(t,e,n,r,mo,i)}var PT=1,MT=2;function DT(t,e,n,r){var i=n.length,s=i;if(t==null)return!s;for(t=Object(t);i--;){var a=n[i];if(a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<s;){a=n[i];var o=a[0],l=t[o],u=a[1];if(a[2]){if(l===void 0&&!(o in t))return!1}else{var c=new qe,f;if(!(f===void 0?mo(u,l,PT|MT,r,c):f))return!1}}return!0}function lf(t){return t===t&&!Oe(t)}function FT(t){for(var e=Le(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,lf(i)]}return e}function uf(t,e){return function(n){return n==null?!1:n[t]===e&&(e!==void 0||t in Object(n))}}function GT(t){var e=FT(t);return e.length==1&&e[0][2]?uf(e[0][0],e[0][1]):function(n){return n===t||DT(n,t,e)}}function UT(t,e){return t!=null&&e in Object(t)}function cf(t,e,n){e=os(e,t);for(var r=-1,i=e.length,s=!1;++r<i;){var a=Nr(e[r]);if(!(s=t!=null&&n(t,a)))break;t=t[a]}return s||++r!=i?s:(i=t==null?0:t.length,!!i&&no(i)&&ts(a,i)&&(P(t)||rs(t)))}function BT(t,e){return t!=null&&cf(t,e,UT)}var jT=1,KT=2;function HT(t,e){return so(t)&&lf(e)?uf(Nr(t),e):function(n){var r=_g(n,t);return r===void 0&&r===e?BT(n,t):mo(e,r,jT|KT)}}function VT(t){return function(e){return e==null?void 0:e[t]}}function WT(t){return function(e){return oo(e,t)}}function zT(t){return so(t)?VT(Nr(t)):WT(t)}function Je(t){return typeof t=="function"?t:t==null?yn:typeof t=="object"?P(t)?HT(t[0],t[1]):GT(t):zT(t)}function qT(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function YT(t){return function(e,n,r){for(var i=-1,s=Object(e),a=r(e),o=a.length;o--;){var l=a[++i];if(n(s[l],l,s)===!1)break}return e}}var XT=YT();function JT(t,e){return t&&XT(t,e,Le)}function ZT(t,e){return function(n,r){if(n==null)return n;if(!Xe(n))return t(n,r);for(var i=n.length,s=-1,a=Object(n);++s<i&&r(a[s],s,a)!==!1;);return n}}var jt=ZT(JT);function QT(t,e,n,r){return jt(t,function(i,s,a){e(r,i,n(i),a)}),r}function ev(t,e){return function(n,r){var i=P(n)?qT:QT,s=e?e():{};return i(n,t,Je(r),s)}}var ff=Object.prototype,tv=ff.hasOwnProperty,go=to(function(t,e){t=Object(t);var n=-1,r=e.length,i=r>2?e[2]:void 0;for(i&&Kc(e[0],e[1],i)&&(r=1);++n<r;)for(var s=e[n],a=io(s),o=-1,l=a.length;++o<l;){var u=a[o],c=t[u];(c===void 0||wr(c,ff[u])&&!tv.call(t,u))&&(t[u]=s[u])}return t});function Tl(t){return Be(t)&&Xe(t)}var nv=200;function rv(t,e,n,r){var i=-1,s=jc,a=!0,o=t.length,l=[],u=e.length;if(!o)return l;e.length>=nv&&(s=ho,a=!1,e=new Tn(e));e:for(;++i<o;){var c=t[i],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=u;d--;)if(e[d]===f)continue e;l.push(c)}else s(e,f,r)||l.push(c)}return l}var ls=to(function(t,e){return Tl(t)?rv(t,uo(e,1,Tl,!0)):[]});function vn(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function ee(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:es(e),Jc(t,e<0?0:e,r)):[]}function Er(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:es(e),e=r-e,Jc(t,0,e<0?0:e)):[]}function iv(t){return typeof t=="function"?t:yn}function C(t,e){var n=P(t)?Uc:jt;return n(t,iv(e))}function sv(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function av(t,e){var n=!0;return jt(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Ue(t,e,n){var r=P(t)?sv:av;return r(t,Je(e))}function df(t,e){var n=[];return jt(t,function(r,i,s){e(r,i,s)&&n.push(r)}),n}function Pe(t,e){var n=P(t)?co:df;return n(t,Je(e))}function ov(t){return function(e,n,r){var i=Object(e);if(!Xe(e)){var s=Je(n);e=Le(e),n=function(o){return s(i[o],o,i)}}var a=t(e,n,r);return a>-1?i[s?e[a]:a]:void 0}}var lv=Math.max;function uv(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=n==null?0:es(n);return i<0&&(i=lv(r+i,0)),Bc(t,Je(e),i)}var Rn=ov(uv);function je(t){return t&&t.length?t[0]:void 0}function cv(t,e){var n=-1,r=Xe(t)?Array(t.length):[];return jt(t,function(i,s,a){r[++n]=e(i,s,a)}),r}function k(t,e){var n=P(t)?Qi:cv;return n(t,Je(e))}function _e(t,e){return uo(k(t,e))}var fv=Object.prototype,dv=fv.hasOwnProperty,hv=ev(function(t,e,n){dv.call(t,n)?t[n].push(e):eo(t,n,[e])}),pv=Object.prototype,mv=pv.hasOwnProperty;function gv(t,e){return t!=null&&mv.call(t,e)}function w(t,e){return t!=null&&cf(t,e,gv)}var yv="[object String]";function pe(t){return typeof t=="string"||!P(t)&&Be(t)&&At(t)==yv}function Tv(t,e){return Qi(e,function(n){return t[n]})}function J(t){return t==null?[]:Tv(t,Le(t))}var vv=Math.max;function de(t,e,n,r){t=Xe(t)?t:J(t),n=n?es(n):0;var i=t.length;return n<0&&(n=vv(i+n,0)),pe(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Qa(t,e,n)>-1}function vl(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Qa(t,e,i)}var Rv="[object Map]",Av="[object Set]",Ev=Object.prototype,$v=Ev.hasOwnProperty;function U(t){if(t==null)return!0;if(Xe(t)&&(P(t)||typeof t=="string"||typeof t.splice=="function"||vr(t)||ro(t)||rs(t)))return!t.length;var e=Ce(t);if(e==Rv||e==Av)return!t.size;if(_r(t))return!Yc(t).length;for(var n in t)if($v.call(t,n))return!1;return!0}var Sv="[object RegExp]";function xv(t){return Be(t)&&At(t)==Sv}var Rl=gt&>.isRegExp,ot=Rl?is(Rl):xv;function lt(t){return t===void 0}var Iv="Expected a function";function kv(t){if(typeof t!="function")throw new TypeError(Iv);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function wv(t,e,n,r){if(!Oe(t))return t;e=os(e,t);for(var i=-1,s=e.length,a=s-1,o=t;o!=null&&++i<s;){var l=Nr(e[i]),u=n;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=a){var c=o[l];u=void 0,u===void 0&&(u=Oe(c)?c:ts(e[i+1])?[]:{})}ns(o,l,u),o=o[l]}return t}function Cv(t,e,n){for(var r=-1,i=e.length,s={};++r<i;){var a=e[r],o=oo(t,a);n(o,a)&&wv(s,os(a,t),o)}return s}function Ke(t,e){if(t==null)return{};var n=Qi(qg(t),function(r){return[r]});return e=Je(e),Cv(t,n,function(r,i){return e(r,i[0])})}function _v(t,e,n,r,i){return i(t,function(s,a,o){n=r?(r=!1,s):e(n,s,a,o)}),n}function Se(t,e,n){var r=P(t)?bg:_v,i=arguments.length<3;return r(t,Je(e),n,i,jt)}function us(t,e){var n=P(t)?co:df;return n(t,kv(Je(e)))}function Nv(t,e){var n;return jt(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function hf(t,e,n){var r=P(t)?af:Nv;return r(t,Je(e))}var bv=1/0,Ov=Jt&&1/po(new Jt([,-0]))[1]==bv?function(t){return new Jt(t)}:X,Lv=200;function Pv(t,e,n){var r=-1,i=jc,s=t.length,a=!0,o=[],l=o;if(s>=Lv){var u=Ov(t);if(u)return po(u);a=!1,i=ho,l=new Tn}else l=o;e:for(;++r<s;){var c=t[r],f=c;if(c=c!==0?c:0,a&&f===f){for(var d=l.length;d--;)if(l[d]===f)continue e;o.push(c)}else i(l,f,n)||(l!==o&&l.push(f),o.push(c))}return o}function yo(t){return t&&t.length?Pv(t):[]}function ca(t){console&&console.error&&console.error(`Error: ${t}`)}function pf(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function mf(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function gf(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function Mv(t){return Dv(t)?t.LABEL:t.name}function Dv(t){return pe(t.LABEL)&&t.LABEL!==""}class Ze{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),C(this.definition,n=>{n.accept(e)})}}class ce extends Ze{constructor(e){super([]),this.idx=1,$e(this,Ke(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class kn extends Ze{constructor(e){super(e.definition),this.orgText="",$e(this,Ke(e,n=>n!==void 0))}}class me extends Ze{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,$e(this,Ke(e,n=>n!==void 0))}}let re=class extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,n=>n!==void 0))}};class xe extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,n=>n!==void 0))}}class Ie extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,n=>n!==void 0))}}class z extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,n=>n!==void 0))}}class ge extends Ze{constructor(e){super(e.definition),this.idx=1,$e(this,Ke(e,n=>n!==void 0))}}class ye extends Ze{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,$e(this,Ke(e,n=>n!==void 0))}}class j{constructor(e){this.idx=1,$e(this,Ke(e,n=>n!==void 0))}accept(e){e.visit(this)}}function Fv(t){return k(t,ui)}function ui(t){function e(n){return k(n,ui)}if(t instanceof ce){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return pe(t.label)&&(n.label=t.label),n}else{if(t instanceof me)return{type:"Alternative",definition:e(t.definition)};if(t instanceof re)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Ie)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:ui(new j({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ge)return{type:"RepetitionWithSeparator",idx:t.idx,separator:ui(new j({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof z)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ye)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof j){const n={type:"Terminal",name:t.terminalType.name,label:Mv(t.terminalType),idx:t.idx};pe(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=ot(r)?r.source:r),n}else{if(t instanceof kn)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class wn{visit(e){const n=e;switch(n.constructor){case ce:return this.visitNonTerminal(n);case me:return this.visitAlternative(n);case re:return this.visitOption(n);case xe:return this.visitRepetitionMandatory(n);case Ie:return this.visitRepetitionMandatoryWithSeparator(n);case ge:return this.visitRepetitionWithSeparator(n);case z:return this.visitRepetition(n);case ye:return this.visitAlternation(n);case j:return this.visitTerminal(n);case kn:return this.visitRule(n);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function Gv(t){return t instanceof me||t instanceof re||t instanceof z||t instanceof xe||t instanceof Ie||t instanceof ge||t instanceof j||t instanceof kn}function wi(t,e=[]){return t instanceof re||t instanceof z||t instanceof ge?!0:t instanceof ye?hf(t.definition,r=>wi(r,e)):t instanceof ce&&de(e,t)?!1:t instanceof Ze?(t instanceof ce&&e.push(t),Ue(t.definition,r=>wi(r,e))):!1}function Uv(t){return t instanceof ye}function We(t){if(t instanceof ce)return"SUBRULE";if(t instanceof re)return"OPTION";if(t instanceof ye)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof Ie)return"AT_LEAST_ONE_SEP";if(t instanceof ge)return"MANY_SEP";if(t instanceof z)return"MANY";if(t instanceof j)return"CONSUME";throw Error("non exhaustive match")}class cs{walk(e,n=[]){C(e.definition,(r,i)=>{const s=ee(e.definition,i+1);if(r instanceof ce)this.walkProdRef(r,s,n);else if(r instanceof j)this.walkTerminal(r,s,n);else if(r instanceof me)this.walkFlat(r,s,n);else if(r instanceof re)this.walkOption(r,s,n);else if(r instanceof xe)this.walkAtLeastOne(r,s,n);else if(r instanceof Ie)this.walkAtLeastOneSep(r,s,n);else if(r instanceof ge)this.walkManySep(r,s,n);else if(r instanceof z)this.walkMany(r,s,n);else if(r instanceof ye)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new re({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=Al(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new re({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=Al(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);C(e.definition,s=>{const a=new me({definition:[s]});this.walk(a,i)})}}function Al(t,e,n){return[new re({definition:[new j({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function Or(t){if(t instanceof ce)return Or(t.referencedRule);if(t instanceof j)return Kv(t);if(Gv(t))return Bv(t);if(Uv(t))return jv(t);throw Error("non exhaustive match")}function Bv(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=wi(s),e=e.concat(Or(s)),r=r+1,i=n.length>r;return yo(e)}function jv(t){const e=k(t.definition,n=>Or(n));return yo(Ge(e))}function Kv(t){return[t.terminalType]}const yf="_~IN~_";class Hv extends cs{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=Wv(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new me({definition:s}),o=Or(a);this.follows[i]=o}}function Vv(t){const e={};return C(t,n=>{const r=new Hv(n).startWalking();$e(e,r)}),e}function Wv(t,e){return t.name+e+yf}let ci={};const zv=new Cc;function fs(t){const e=t.toString();if(ci.hasOwnProperty(e))return ci[e];{const n=zv.pattern(e);return ci[e]=n,n}}function qv(){ci={}}const Tf="Complement Sets are not supported for first char optimization",Ci=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function Yv(t,e=!1){try{const n=fs(t);return fa(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===Tf)e&&pf(`${Ci} Unable to optimize: < ${t.toString()} >
|
|
14
|
+
Complement Sets cannot be automatically optimized.
|
|
15
|
+
This will disable the lexer's first char optimizations.
|
|
16
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
|
|
17
|
+
This will disable the lexer's first char optimizations.
|
|
18
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),ca(`${Ci}
|
|
19
|
+
Failed parsing: < ${t.toString()} >
|
|
20
|
+
Using the @chevrotain/regexp-to-ast library
|
|
21
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function fa(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)fa(t.value[i],e,n);break;case"Alternative":const r=t.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":Xr(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(Tf);C(a.value,l=>{if(typeof l=="number")Xr(l,e,n);else{const u=l;if(n===!0)for(let c=u.from;c<=u.to;c++)Xr(c,e,n);else{for(let c=u.from;c<=u.to&&c<ur;c++)Xr(c,e,n);if(u.to>=ur){const c=u.from>=ur?u.from:ur,f=u.to,d=yt(c),h=yt(f);for(let m=d;m<=h;m++)e[m]=m}}}});break;case"Group":fa(a.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&da(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return J(e)}function Xr(t,e,n){const r=yt(t);e[r]=r,n===!0&&Xv(t,e)}function Xv(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=yt(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=yt(i.charCodeAt(0));e[s]=s}}}function El(t,e){return Rn(t.value,n=>{if(typeof n=="number")return de(e,n);{const r=n;return Rn(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function da(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?P(t.value)?Ue(t.value,da):da(t.value):!1}class Jv extends Xi{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){de(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?El(e,this.targetCharCodes)===void 0&&(this.found=!0):El(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function To(t,e){if(e instanceof RegExp){const n=fs(e),r=new Jv(t);return r.visit(n),r.found}else return Rn(e,n=>de(t,n.charCodeAt(0)))!==void 0}const Mt="PATTERN",lr="defaultMode",Jr="modes";let vf=typeof new RegExp("(?:)").sticky=="boolean";function Zv(t,e){e=go(e,{useSticky:vf,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
+
`],tracer:(E,v)=>v()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{AR()});let r;n("Reject Lexer.NA",()=>{r=us(t,E=>E[Mt]===he.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=k(r,E=>{const v=E[Mt];if(ot(v)){const I=v.source;return I.length===1&&I!=="^"&&I!=="$"&&I!=="."&&!v.ignoreCase?I:I.length===2&&I[0]==="\\"&&!de(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],I[1])?I[1]:e.useSticky?Sl(v):$l(v)}else{if(ct(v))return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{const I=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),M=new RegExp(I);return e.useSticky?Sl(M):$l(M)}}else throw Error("non exhaustive match")}})});let a,o,l,u,c;n("misc mapping",()=>{a=k(r,E=>E.tokenTypeIdx),o=k(r,E=>{const v=E.GROUP;if(v!==he.SKIPPED){if(pe(v))return v;if(lt(v))return!1;throw Error("non exhaustive match")}}),l=k(r,E=>{const v=E.LONGER_ALT;if(v)return P(v)?k(v,M=>vl(r,M)):[vl(r,v)]}),u=k(r,E=>E.PUSH_MODE),c=k(r,E=>w(E,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const E=Ef(e.lineTerminatorCharacters);f=k(r,v=>!1),e.positionTracking!=="onlyOffset"&&(f=k(r,v=>w(v,"LINE_BREAKS")?!!v.LINE_BREAKS:Af(v,E)===!1&&To(E,v.PATTERN)))});let d,h,m,g;n("Misc Mapping #2",()=>{d=k(r,Rf),h=k(s,TR),m=Se(r,(E,v)=>{const I=v.GROUP;return pe(I)&&I!==he.SKIPPED&&(E[I]=[]),E},{}),g=k(s,(E,v)=>({pattern:s[v],longerAlt:l[v],canLineTerminator:f[v],isCustom:d[v],short:h[v],group:o[v],push:u[v],pop:c[v],tokenTypeIdx:a[v],tokenType:r[v]}))});let R=!0,y=[];return e.safeMode||n("First Char Optimization",()=>{y=Se(r,(E,v,I)=>{if(typeof v.PATTERN=="string"){const M=v.PATTERN.charCodeAt(0),se=yt(M);Ps(E,se,g[I])}else if(P(v.START_CHARS_HINT)){let M;C(v.START_CHARS_HINT,se=>{const Me=typeof se=="string"?se.charCodeAt(0):se,Te=yt(Me);M!==Te&&(M=Te,Ps(E,Te,g[I]))})}else if(ot(v.PATTERN))if(v.PATTERN.unicode)R=!1,e.ensureOptimizations&&ca(`${Ci} Unable to analyze < ${v.PATTERN.toString()} > pattern.
|
|
23
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
24
|
+
This will disable the lexer's first char optimizations.
|
|
25
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const M=Yv(v.PATTERN,e.ensureOptimizations);U(M)&&(R=!1),C(M,se=>{Ps(E,se,g[I])})}else e.ensureOptimizations&&ca(`${Ci} TokenType: <${v.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
26
|
+
This will disable the lexer's first char optimizations.
|
|
27
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),R=!1;return E},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:R}}function Qv(t,e){let n=[];const r=tR(t);n=n.concat(r.errors);const i=nR(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(eR(s)),n=n.concat(cR(s)),n=n.concat(fR(s,e)),n=n.concat(dR(s)),n}function eR(t){let e=[];const n=Pe(t,r=>ot(r[Mt]));return e=e.concat(iR(n)),e=e.concat(oR(n)),e=e.concat(lR(n)),e=e.concat(uR(n)),e=e.concat(sR(n)),e}function tR(t){const e=Pe(t,i=>!w(i,Mt)),n=k(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:q.MISSING_PATTERN,tokenTypes:[i]})),r=ls(t,e);return{errors:n,valid:r}}function nR(t){const e=Pe(t,i=>{const s=i[Mt];return!ot(s)&&!ct(s)&&!w(s,"exec")&&!pe(s)}),n=k(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:q.INVALID_PATTERN,tokenTypes:[i]})),r=ls(t,e);return{errors:n,valid:r}}const rR=/[^\\][$]/;function iR(t){class e extends Xi{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=Pe(t,i=>{const s=i.PATTERN;try{const a=fs(s),o=new e;return o.visit(a),o.found}catch{return rR.test(s.source)}});return k(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
28
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
29
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:q.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function sR(t){const e=Pe(t,r=>r.PATTERN.test(""));return k(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:q.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const aR=/[^\\[][\^]|^\^/;function oR(t){class e extends Xi{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=Pe(t,i=>{const s=i.PATTERN;try{const a=fs(s),o=new e;return o.visit(a),o.found}catch{return aR.test(s.source)}});return k(n,i=>({message:`Unexpected RegExp Anchor Error:
|
|
30
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
31
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:q.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function lR(t){const e=Pe(t,r=>{const i=r[Mt];return i instanceof RegExp&&(i.multiline||i.global)});return k(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:q.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function uR(t){const e=[];let n=k(t,s=>Se(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!de(e,o)&&o.PATTERN!==he.NA&&(e.push(o),a.push(o)),a),[]));n=br(n);const r=Pe(n,s=>s.length>1);return k(r,s=>{const a=k(s,l=>l.name);return{message:`The same RegExp pattern ->${je(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:q.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function cR(t){const e=Pe(t,r=>{if(!w(r,"GROUP"))return!1;const i=r.GROUP;return i!==he.SKIPPED&&i!==he.NA&&!pe(i)});return k(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:q.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function fR(t,e){const n=Pe(t,i=>i.PUSH_MODE!==void 0&&!de(e,i.PUSH_MODE));return k(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:q.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function dR(t){const e=[],n=Se(t,(r,i,s)=>{const a=i.PATTERN;return a===he.NA||(pe(a)?r.push({str:a,idx:s,tokenType:i}):ot(a)&&pR(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return C(t,(r,i)=>{C(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&hR(s,r.PATTERN)){const l=`Token: ->${o.name}<- can never be matched.
|
|
32
|
+
Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
|
|
33
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:q.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function hR(t,e){if(ot(e)){const n=e.exec(t);return n!==null&&n.index===0}else{if(ct(e))return e(t,0,[],{});if(w(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function pR(t){return Rn([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function $l(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Sl(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function mR(t,e,n){const r=[];return w(t,lr)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+lr+`> property in its definition
|
|
34
|
+
`,type:q.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),w(t,Jr)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Jr+`> property in its definition
|
|
35
|
+
`,type:q.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),w(t,Jr)&&w(t,lr)&&!w(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${lr}: <${t.defaultMode}>which does not exist
|
|
36
|
+
`,type:q.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),w(t,Jr)&&C(t.modes,(i,s)=>{C(i,(a,o)=>{if(lt(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
|
|
37
|
+
`,type:q.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(w(a,"LONGER_ALT")){const l=P(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];C(l,u=>{!lt(u)&&!de(i,u)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${a.name}> outside of mode <${s}>
|
|
38
|
+
`,type:q.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function gR(t,e,n){const r=[];let i=!1;const s=br(Ge(J(t.modes))),a=us(s,l=>l[Mt]===he.NA),o=Ef(n);return e&&C(a,l=>{const u=Af(l,o);if(u!==!1){const f={message:RR(l,u),type:u.issue,tokenType:l};r.push(f)}else w(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):To(o,l.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
|
|
39
|
+
This Lexer has been defined to track line and column information,
|
|
40
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
41
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
42
|
+
for details.`,type:q.NO_LINE_BREAKS_FLAGS}),r}function yR(t){const e={},n=Le(t);return C(n,r=>{const i=t[r];if(P(i))e[r]=[];else throw Error("non exhaustive match")}),e}function Rf(t){const e=t.PATTERN;if(ot(e))return!1;if(ct(e))return!0;if(w(e,"exec"))return!0;if(pe(e))return!1;throw Error("non exhaustive match")}function TR(t){return pe(t)&&t.length===1?t.charCodeAt(0):!1}const vR={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function Af(t,e){if(w(t,"LINE_BREAKS"))return!1;if(ot(t.PATTERN)){try{To(e,t.PATTERN)}catch(n){return{issue:q.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(pe(t.PATTERN))return!1;if(Rf(t))return{issue:q.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function RR(t,e){if(e.issue===q.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
43
|
+
The problem is in the <${t.name}> Token Type
|
|
44
|
+
Root cause: ${e.errMsg}.
|
|
45
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===q.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
46
|
+
The problem is in the <${t.name}> Token Type
|
|
47
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Ef(t){return k(t,n=>pe(n)?n.charCodeAt(0):n)}function Ps(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const ur=256;let fi=[];function yt(t){return t<ur?t:fi[t]}function AR(){if(U(fi)){fi=new Array(65536);for(let t=0;t<65536;t++)fi[t]=t>255?255+~~(t/255):t}}function Lr(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function _i(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let xl=1;const $f={};function Pr(t){const e=ER(t);$R(e),xR(e),SR(e),C(e,n=>{n.isParent=n.categoryMatches.length>0})}function ER(t){let e=ie(t),n=t,r=!0;for(;r;){n=br(Ge(k(n,s=>s.CATEGORIES)));const i=ls(n,e);e=e.concat(i),U(i)?r=!1:n=i}return e}function $R(t){C(t,e=>{xf(e)||($f[xl]=e,e.tokenTypeIdx=xl++),Il(e)&&!P(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Il(e)||(e.CATEGORIES=[]),IR(e)||(e.categoryMatches=[]),kR(e)||(e.categoryMatchesMap={})})}function SR(t){C(t,e=>{e.categoryMatches=[],C(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push($f[r].tokenTypeIdx)})})}function xR(t){C(t,e=>{Sf([],e)})}function Sf(t,e){C(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),C(e.CATEGORIES,n=>{const r=t.concat(e);de(r,n)||Sf(r,n)})}function xf(t){return w(t,"tokenTypeIdx")}function Il(t){return w(t,"CATEGORIES")}function IR(t){return w(t,"categoryMatches")}function kR(t){return w(t,"categoryMatchesMap")}function wR(t){return w(t,"tokenTypeIdx")}const ha={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var q;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(q||(q={}));const cr={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:ha,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(cr);class he{constructor(e,n=cr){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:l}=mf(s),u=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return s()},typeof n=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
49
|
+
a boolean 2nd argument is no longer supported`);this.config=$e({},cr,n);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===cr.lineTerminatorsPattern)this.config.lineTerminatorsPattern=vR;else if(this.config.lineTerminatorCharacters===cr.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
50
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(n.safeMode&&n.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),P(e)?i={modes:{defaultMode:ie(e)},defaultMode:lr}:(s=!1,i=ie(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(mR(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(gR(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},C(i.modes,(o,l)=>{i.modes[l]=us(o,u=>lt(u))});const a=Le(i.modes);if(C(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Qv(o,a))}),U(this.lexerDefinitionErrors)){Pr(o);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=Zv(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=u.charCodeToPatternIdxToConfig,this.emptyGroups=$e({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,!U(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=k(this.lexerDefinitionErrors,u=>u.message).join(`-----------------------
|
|
51
|
+
`);throw new Error(`Errors detected in definition of Lexer:
|
|
52
|
+
`+l)}C(this.lexerDefinitionWarning,o=>{pf(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(vf?(this.chopInput=yn,this.match=this.matchWithTest):(this.updateLastIndex=X,this.match=this.matchWithExec),s&&(this.handleModes=X),this.trackStartLines===!1&&(this.computeNewColumn=yn),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=X),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=Se(this.canModeBeOptimized,(l,u,c)=>(u===!1&&l.push(c),l),[]);if(n.ensureOptimizations&&!U(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
|
|
53
|
+
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
54
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{qv()}),this.TRACE_INIT("toFastProperties",()=>{gf(this)})})}tokenize(e,n=this.defaultMode){if(!U(this.lexerDefinitionErrors)){const i=k(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
|
|
55
|
+
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
56
|
+
`+i)}return this.tokenizeInternal(e,n)}tokenizeInternal(e,n){let r,i,s,a,o,l,u,c,f,d,h,m,g,R,y;const E=e,v=E.length;let I=0,M=0;const se=this.hasCustom?0:Math.floor(e.length/10),Me=new Array(se),Te=[];let Ve=this.trackStartLines?1:void 0,ke=this.trackStartLines?1:void 0;const S=yR(this.emptyGroups),T=this.trackStartLines,$=this.config.lineTerminatorsPattern;let x=0,O=[],b=[];const N=[],ve=[];Object.freeze(ve);let Z;function W(){return O}function wt(ae){const we=yt(ae),Wt=b[we];return Wt===void 0?ve:Wt}const Vd=ae=>{if(N.length===1&&ae.tokenType.PUSH_MODE===void 0){const we=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ae);Te.push({offset:ae.startOffset,line:ae.startLine,column:ae.startColumn,length:ae.image.length,message:we})}else{N.pop();const we=vn(N);O=this.patternIdxToConfig[we],b=this.charCodeToPatternIdxToConfig[we],x=O.length;const Wt=this.canModeBeOptimized[we]&&this.config.safeMode===!1;b&&Wt?Z=wt:Z=W}};function Oo(ae){N.push(ae),b=this.charCodeToPatternIdxToConfig[ae],O=this.patternIdxToConfig[ae],x=O.length,x=O.length;const we=this.canModeBeOptimized[ae]&&this.config.safeMode===!1;b&&we?Z=wt:Z=W}Oo.call(this,n);let De;const Lo=this.config.recoveryEnabled;for(;I<v;){l=null;const ae=E.charCodeAt(I),we=Z(ae),Wt=we.length;for(r=0;r<Wt;r++){De=we[r];const Re=De.pattern;u=null;const Qe=De.short;if(Qe!==!1?ae===Qe&&(l=Re):De.isCustom===!0?(y=Re.exec(E,I,Me,S),y!==null?(l=y[0],y.payload!==void 0&&(u=y.payload)):l=null):(this.updateLastIndex(Re,I),l=this.match(Re,e,I)),l!==null){if(o=De.longerAlt,o!==void 0){const ht=o.length;for(s=0;s<ht;s++){const et=O[o[s]],Ct=et.pattern;if(c=null,et.isCustom===!0?(y=Ct.exec(E,I,Me,S),y!==null?(a=y[0],y.payload!==void 0&&(c=y.payload)):a=null):(this.updateLastIndex(Ct,I),a=this.match(Ct,e,I)),a&&a.length>l.length){l=a,u=c,De=et;break}}}break}}if(l!==null){if(f=l.length,d=De.group,d!==void 0&&(h=De.tokenTypeIdx,m=this.createTokenInstance(l,I,h,De.tokenType,Ve,ke,f),this.handlePayload(m,u),d===!1?M=this.addToken(Me,M,m):S[d].push(m)),e=this.chopInput(e,f),I=I+f,ke=this.computeNewColumn(ke,f),T===!0&&De.canLineTerminator===!0){let Re=0,Qe,ht;$.lastIndex=0;do Qe=$.test(l),Qe===!0&&(ht=$.lastIndex-1,Re++);while(Qe===!0);Re!==0&&(Ve=Ve+Re,ke=f-ht,this.updateTokenEndLineColumnLocation(m,d,ht,Re,Ve,ke,f))}this.handleModes(De,Vd,Oo,m)}else{const Re=I,Qe=Ve,ht=ke;let et=Lo===!1;for(;et===!1&&I<v;)for(e=this.chopInput(e,1),I++,i=0;i<x;i++){const Ct=O[i],Es=Ct.pattern,Po=Ct.short;if(Po!==!1?E.charCodeAt(I)===Po&&(et=!0):Ct.isCustom===!0?et=Es.exec(E,I,Me,S)!==null:(this.updateLastIndex(Es,I),et=Es.exec(e)!==null),et===!0)break}if(g=I-Re,ke=this.computeNewColumn(ke,g),R=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(E,Re,g,Qe,ht),Te.push({offset:Re,line:Qe,column:ht,length:g,message:R}),Lo===!1)break}}return this.hasCustom||(Me.length=M),{tokens:Me,groups:S,errors:Te}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let l,u;n!==void 0&&(l=r===o-1,u=l?-1:0,i===1&&l===!0||(e.endLine=s+u,e.endColumn=a-1+-u))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,a){return{image:e,startOffset:n,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:n+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}he.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.";he.NA=/NOT_APPLICABLE/;function Zt(t){return If(t)?t.LABEL:t.name}function If(t){return pe(t.LABEL)&&t.LABEL!==""}const CR="parent",kl="categories",wl="label",Cl="group",_l="push_mode",Nl="pop_mode",bl="longer_alt",Ol="line_breaks",Ll="start_chars_hint";function kf(t){return _R(t)}function _R(t){const e=t.pattern,n={};if(n.name=t.name,lt(e)||(n.PATTERN=e),w(t,CR))throw`The parent property is no longer supported.
|
|
57
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return w(t,kl)&&(n.CATEGORIES=t[kl]),Pr([n]),w(t,wl)&&(n.LABEL=t[wl]),w(t,Cl)&&(n.GROUP=t[Cl]),w(t,Nl)&&(n.POP_MODE=t[Nl]),w(t,_l)&&(n.PUSH_MODE=t[_l]),w(t,bl)&&(n.LONGER_ALT=t[bl]),w(t,Ol)&&(n.LINE_BREAKS=t[Ol]),w(t,Ll)&&(n.START_CHARS_HINT=t[Ll]),n}const Tt=kf({name:"EOF",pattern:he.NA});Pr([Tt]);function vo(t,e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function wf(t,e){return Lr(t,e)}const Yt={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${If(t)?`--> ${Zt(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
|
|
58
|
+
but found: '`+je(e).image+"'";if(r)return s+r+o;{const l=Se(t,(d,h)=>d.concat(h),[]),u=k(l,d=>`[${k(d,h=>Zt(h)).join(", ")}]`),f=`one of these possible Token sequences:
|
|
59
|
+
${k(u,(d,h)=>` ${h+1}. ${d}`).join(`
|
|
60
|
+
`)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
|
|
61
|
+
but found: '`+je(e).image+"'";if(n)return i+n+a;{const l=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
62
|
+
<${k(t,u=>`[${k(u,c=>Zt(c)).join(",")}]`).join(" ,")}>`;return i+l+a}}};Object.freeze(Yt);const NR={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
+
inside top level rule: ->`+t.name+"<-"}},Nt={buildDuplicateFoundError(t,e){function n(c){return c instanceof j?c.terminalType.name:c instanceof ce?c.nonTerminalName:""}const r=t.name,i=je(e),s=i.idx,a=We(i),o=n(i),l=s>0;let u=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""}
|
|
64
|
+
appears more than once (${e.length} times) in the top level rule: ->${r}<-.
|
|
65
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
66
|
+
`;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,`
|
|
67
|
+
`),u},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
|
|
68
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
69
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
70
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
71
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=k(t.prefixPath,i=>Zt(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
72
|
+
in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
73
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
74
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
75
|
+
For Further details.`},buildAlternationAmbiguityError(t){const e=k(t.prefixPath,i=>Zt(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.topLevelRule.name}> Rule,
|
|
76
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
77
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
78
|
+
For Further details.`,r},buildEmptyRepetitionError(t){let e=We(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
79
|
+
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
80
|
+
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
81
|
+
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
82
|
+
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=k(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
83
|
+
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
84
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
85
|
+
${r}
|
|
86
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
87
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof kn?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function bR(t,e){const n=new OR(t,e);return n.resolveRefs(),n.errors}class OR extends wn{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){C(J(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:fe.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class LR extends cs{constructor(e,n){super(),this.topProd=e,this.path=n,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=ie(this.path.ruleStack).reverse(),this.occurrenceStack=ie(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){U(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class PR extends LR{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new me({definition:i});this.possibleTokTypes=Or(s),this.found=!0}}}class ds extends cs{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class MR extends ds{walkMany(e,n,r){if(e.idx===this.occurrence){const i=je(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof j&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class Pl extends ds{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=je(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof j&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class DR extends ds{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=je(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof j&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class Ml extends ds{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=je(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof j&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function pa(t,e,n=[]){n=ie(n);let r=[],i=0;function s(o){return o.concat(ee(t,i+1))}function a(o){const l=pa(s(o),e,n);return r.concat(l)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof me)return a(o.definition);if(o instanceof ce)return a(o.definition);if(o instanceof re)r=a(o.definition);else if(o instanceof xe){const l=o.definition.concat([new z({definition:o.definition})]);return a(l)}else if(o instanceof Ie){const l=[new me({definition:o.definition}),new z({definition:[new j({terminalType:o.separator})].concat(o.definition)})];return a(l)}else if(o instanceof ge){const l=o.definition.concat([new z({definition:[new j({terminalType:o.separator})].concat(o.definition)})]);r=a(l)}else if(o instanceof z){const l=o.definition.concat([new z({definition:o.definition})]);r=a(l)}else{if(o instanceof ye)return C(o.definition,l=>{U(l.definition)===!1&&(r=a(l.definition))}),r;if(o instanceof j)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:ee(t,i)}),r}function Cf(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-r-1,c=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!U(f);){const d=f.pop();if(d===a){o&&vn(f).idx<=u&&f.pop();continue}const h=d.def,m=d.idx,g=d.ruleStack,R=d.occurrenceStack;if(U(h))continue;const y=h[0];if(y===i){const E={idx:m,def:ee(h),ruleStack:Er(g),occurrenceStack:Er(R)};f.push(E)}else if(y instanceof j)if(m<l-1){const E=m+1,v=e[E];if(n(v,y.terminalType)){const I={idx:E,def:ee(h),ruleStack:g,occurrenceStack:R};f.push(I)}}else if(m===l-1)c.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:g,occurrenceStack:R}),o=!0;else throw Error("non exhaustive match");else if(y instanceof ce){const E=ie(g);E.push(y.nonTerminalName);const v=ie(R);v.push(y.idx);const I={idx:m,def:y.definition.concat(s,ee(h)),ruleStack:E,occurrenceStack:v};f.push(I)}else if(y instanceof re){const E={idx:m,def:ee(h),ruleStack:g,occurrenceStack:R};f.push(E),f.push(a);const v={idx:m,def:y.definition.concat(ee(h)),ruleStack:g,occurrenceStack:R};f.push(v)}else if(y instanceof xe){const E=new z({definition:y.definition,idx:y.idx}),v=y.definition.concat([E],ee(h)),I={idx:m,def:v,ruleStack:g,occurrenceStack:R};f.push(I)}else if(y instanceof Ie){const E=new j({terminalType:y.separator}),v=new z({definition:[E].concat(y.definition),idx:y.idx}),I=y.definition.concat([v],ee(h)),M={idx:m,def:I,ruleStack:g,occurrenceStack:R};f.push(M)}else if(y instanceof ge){const E={idx:m,def:ee(h),ruleStack:g,occurrenceStack:R};f.push(E),f.push(a);const v=new j({terminalType:y.separator}),I=new z({definition:[v].concat(y.definition),idx:y.idx}),M=y.definition.concat([I],ee(h)),se={idx:m,def:M,ruleStack:g,occurrenceStack:R};f.push(se)}else if(y instanceof z){const E={idx:m,def:ee(h),ruleStack:g,occurrenceStack:R};f.push(E),f.push(a);const v=new z({definition:y.definition,idx:y.idx}),I=y.definition.concat([v],ee(h)),M={idx:m,def:I,ruleStack:g,occurrenceStack:R};f.push(M)}else if(y instanceof ye)for(let E=y.definition.length-1;E>=0;E--){const v=y.definition[E],I={idx:m,def:v.definition.concat(ee(h)),ruleStack:g,occurrenceStack:R};f.push(I),f.push(a)}else if(y instanceof me)f.push({idx:m,def:y.definition.concat(ee(h)),ruleStack:g,occurrenceStack:R});else if(y instanceof kn)f.push(FR(y,m,g,R));else throw Error("non exhaustive match")}return c}function FR(t,e,n,r){const i=ie(n);i.push(t.name);const s=ie(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var H;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(H||(H={}));function Ro(t){if(t instanceof re||t==="Option")return H.OPTION;if(t instanceof z||t==="Repetition")return H.REPETITION;if(t instanceof xe||t==="RepetitionMandatory")return H.REPETITION_MANDATORY;if(t instanceof Ie||t==="RepetitionMandatoryWithSeparator")return H.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ge||t==="RepetitionWithSeparator")return H.REPETITION_WITH_SEPARATOR;if(t instanceof ye||t==="Alternation")return H.ALTERNATION;throw Error("non exhaustive match")}function Dl(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=Ro(r);return s===H.ALTERNATION?hs(e,n,i):ps(e,n,s,i)}function GR(t,e,n,r,i,s){const a=hs(t,e,n),o=bf(a)?_i:Lr;return s(a,r,o,i)}function UR(t,e,n,r,i,s){const a=ps(t,e,i,n),o=bf(a)?_i:Lr;return s(a[0],o,r)}function BR(t,e,n,r){const i=t.length,s=Ue(t,a=>Ue(a,o=>o.length===1));if(e)return function(a){const o=k(a,l=>l.GATE);for(let l=0;l<i;l++){const u=t[l],c=u.length,f=o[l];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<c;d++){const h=u[d],m=h.length;for(let g=0;g<m;g++){const R=this.LA(g+1);if(n(R,h[g])===!1)continue e}return l}}};if(s&&!r){const a=k(t,l=>Ge(l)),o=Se(a,(l,u,c)=>(C(u,f=>{w(l,f.tokenTypeIdx)||(l[f.tokenTypeIdx]=c),C(f.categoryMatches,d=>{w(l,d)||(l[d]=c)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],l=o.length;e:for(let u=0;u<l;u++){const c=o[u],f=c.length;for(let d=0;d<f;d++){const h=this.LA(d+1);if(n(h,c[d])===!1)continue e}return a}}}}function jR(t,e,n){const r=Ue(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Ge(t);if(s.length===1&&U(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=Se(s,(o,l,u)=>(o[l.tokenTypeIdx]=!0,C(l.categoryMatches,c=>{o[c]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=t[s],o=a.length;for(let l=0;l<o;l++){const u=this.LA(l+1);if(e(u,a[l])===!1)continue e}return!0}return!1}}class KR extends cs{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,H.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,H.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,H.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,H.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,H.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class _f extends wn{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,H.OPTION)}visitRepetition(e){this.checkIsTarget(e,H.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,H.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,H.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,H.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,H.ALTERNATION)}}function Fl(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function Ms(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+r.tokenTypeIdx);for(let o=0;o<r.categoryMatches.length;o++){const l="_"+r.categoryMatches[o];i.push(a+l)}}e=i}return e}function HR(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function Nf(t,e){const n=k(t,a=>pa([a],1)),r=Fl(n.length),i=k(n,a=>{const o={};return C(a,l=>{const u=Ms(l.partialPath);C(u,c=>{o[c]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=Fl(o.length);for(let l=0;l<o.length;l++){const u=o[l];for(let c=0;c<u.length;c++){const f=u[c].partialPath,d=u[c].suffixDef,h=Ms(f);if(HR(i,h,l)||U(d)||f.length===e){const g=r[l];if(ma(g,f)===!1){g.push(f);for(let R=0;R<h.length;R++){const y=h[R];i[l][y]=!0}}}else{const g=pa(d,a+1,f);s[l]=s[l].concat(g),C(g,R=>{const y=Ms(R.partialPath);C(y,E=>{i[l][E]=!0})})}}}}return r}function hs(t,e,n,r){const i=new _f(t,H.ALTERNATION,r);return e.accept(i),Nf(i.result,n)}function ps(t,e,n,r){const i=new _f(t,n);e.accept(i);const s=i.result,o=new KR(e,t,n).startWalking(),l=new me({definition:s}),u=new me({definition:o});return Nf([l,u],r)}function ma(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],a=r[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function VR(t,e){return t.length<e.length&&Ue(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function bf(t){return Ue(t,e=>Ue(e,n=>Ue(n,r=>U(r.categoryMatches))))}function WR(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return k(e,n=>Object.assign({type:fe.CUSTOM_LOOKAHEAD_VALIDATION},n))}function zR(t,e,n,r){const i=_e(t,l=>qR(l,n)),s=aA(t,e,n),a=_e(t,l=>nA(l,n)),o=_e(t,l=>JR(l,t,r,n));return i.concat(s,a,o)}function qR(t,e){const n=new XR;t.accept(n);const r=n.allProductions,i=hv(r,YR),s=Ke(i,o=>o.length>1);return k(J(s),o=>{const l=je(o),u=e.buildDuplicateFoundError(t,o),c=We(l),f={message:u,type:fe.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:c,occurrence:l.idx},d=Of(l);return d&&(f.parameter=d),f})}function YR(t){return`${We(t)}_#_${t.idx}_#_${Of(t)}`}function Of(t){return t instanceof j?t.terminalType.name:t instanceof ce?t.nonTerminalName:""}class XR extends wn{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 JR(t,e,n,r){const i=[];if(Se(e,(a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:fe.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function ZR(t,e,n){const r=[];let i;return de(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:fe.INVALID_RULE_OVERRIDE,ruleName:t})),r}function Lf(t,e,n,r=[]){const i=[],s=di(e.definition);if(U(s))return[];{const a=t.name;de(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:fe.LEFT_RECURSION,ruleName:a});const l=ls(s,r.concat([t])),u=_e(l,c=>{const f=ie(r);return f.push(c),Lf(t,c,n,f)});return i.concat(u)}}function di(t){let e=[];if(U(t))return e;const n=je(t);if(n instanceof ce)e.push(n.referencedRule);else if(n instanceof me||n instanceof re||n instanceof xe||n instanceof Ie||n instanceof ge||n instanceof z)e=e.concat(di(n.definition));else if(n instanceof ye)e=Ge(k(n.definition,s=>di(s.definition)));else if(!(n instanceof j))throw Error("non exhaustive match");const r=wi(n),i=t.length>1;if(r&&i){const s=ee(t);return e.concat(di(s))}else return e}class Ao extends wn{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function QR(t,e){const n=new Ao;t.accept(n);const r=n.alternations;return _e(r,s=>{const a=Er(s.definition);return _e(a,(o,l)=>{const u=Cf([o],[],Lr,1);return U(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:l}),type:fe.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:l+1}]:[]})})}function eA(t,e,n){const r=new Ao;t.accept(r);let i=r.alternations;return i=us(i,a=>a.ignoreAmbiguities===!0),_e(i,a=>{const o=a.idx,l=a.maxLookahead||e,u=hs(o,t,l,a),c=iA(u,a,t,n),f=sA(u,a,t,n);return c.concat(f)})}class tA extends wn{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 nA(t,e){const n=new Ao;t.accept(n);const r=n.alternations;return _e(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:fe.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function rA(t,e,n){const r=[];return C(t,i=>{const s=new tA;i.accept(s);const a=s.allProductions;C(a,o=>{const l=Ro(o),u=o.maxLookahead||e,c=o.idx,d=ps(c,i,l,u)[0];if(U(Ge(d))){const h=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:h,type:fe.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function iA(t,e,n,r){const i=[],s=Se(t,(o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||C(l,c=>{const f=[u];C(t,(d,h)=>{u!==h&&ma(d,c)&&e.definition[h].ignoreAmbiguities!==!0&&f.push(h)}),f.length>1&&!ma(i,c)&&(i.push(c),o.push({alts:f,path:c}))}),o),[]);return k(s,o=>{const l=k(o.alts,c=>c+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:fe.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function sA(t,e,n,r){const i=Se(t,(a,o,l)=>{const u=k(o,c=>({idx:l,path:c}));return a.concat(u)},[]);return br(_e(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const l=a.idx,u=a.path,c=Pe(i,d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<l&&VR(d.path,u));return k(c,d=>{const h=[d.idx+1,l+1],m=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:h,prefixPath:d.path}),type:fe.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:m,alternatives:h}})}))}function aA(t,e,n){const r=[],i=k(e,s=>s.name);return C(t,s=>{const a=s.name;if(de(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:fe.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function oA(t){const e=go(t,{errMsgProvider:NR}),n={};return C(t.rules,r=>{n[r.name]=r}),bR(n,e.errMsgProvider)}function lA(t){return t=go(t,{errMsgProvider:Nt}),zR(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const Pf="MismatchedTokenException",Mf="NoViableAltException",Df="EarlyExitException",Ff="NotAllInputParsedException",Gf=[Pf,Mf,Df,Ff];Object.freeze(Gf);function Ni(t){return de(Gf,t.name)}class ms extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class Uf extends ms{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Pf}}class uA extends ms{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Mf}}class cA extends ms{constructor(e,n){super(e,n),this.name=Ff}}class fA extends ms{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=Df}}const Ds={},Bf="InRuleRecoveryException";class dA extends Error{constructor(e){super(e),this.name=Bf}}class hA{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=w(e,"recoveryEnabled")?e.recoveryEnabled:ut.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=pA)}getTokenToInsert(e){const n=vo(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const u=this.LA(1);let c=this.LA(1);const f=()=>{const d=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:d,ruleName:this.getCurrRuleFullName()}),m=new Uf(h,u,this.LA(0));m.resyncedTokens=Er(o),this.SAVE_ERROR(m)};for(;!l;)if(this.tokenMatcher(c,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(c,s)?l=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new dA("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||U(n))return!1;const r=this.LA(1);return Rn(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return de(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=Rn(e,s=>wf(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Ds;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return k(e,(r,i)=>i===0?Ds:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=k(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Ge(e)}getFollowSetFromFollowKey(e){if(e===Ds)return[Tt];const n=e.ruleName+e.idxInCallingRule+yf+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,Tt)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return Er(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=ie(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return k(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function pA(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(l===void 0){const d=this.getCurrRuleFullName(),h=this.getGAstProductions()[d];l=new s(h,i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence;const f=l.isEndOfRule;this.RULE_STACK.length===1&&f&&u===void 0&&(u=Tt,c=1),!(u===void 0||c===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,c,a)&&this.tryInRepetitionRecovery(t,e,n,u)}const mA=4,Et=8,jf=1<<Et,Kf=2<<Et,ga=3<<Et,ya=4<<Et,Ta=5<<Et,hi=6<<Et;function Fs(t,e,n){return n|e|t}class Eo{constructor(e){var n;this.maxLookahead=(n=e==null?void 0:e.maxLookahead)!==null&&n!==void 0?n:ut.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(U(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return _e(e,n=>Lf(n,n,Nt))}validateEmptyOrAlternatives(e){return _e(e,n=>QR(n,Nt))}validateAmbiguousAlternationAlternatives(e,n){return _e(e,r=>eA(r,n,Nt))}validateSomeNonEmptyLookaheadPath(e,n){return rA(e,n,Nt)}buildLookaheadForAlternation(e){return GR(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,BR)}buildLookaheadForOptional(e){return UR(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Ro(e.prodType),jR)}}class gA{initLooksAhead(e){this.dynamicTokensEnabled=w(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:ut.dynamicTokensEnabled,this.maxLookahead=w(e,"maxLookahead")?e.maxLookahead:ut.maxLookahead,this.lookaheadStrategy=w(e,"lookaheadStrategy")?e.lookaheadStrategy:new Eo({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){C(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=TA(n);C(r,u=>{const c=u.idx===0?"":u.idx;this.TRACE_INIT(`${We(u)}${c}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:n,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Fs(this.fullRuleNameToShort[n.name],jf,u.idx);this.setLaFuncCache(d,f)})}),C(i,u=>{this.computeLookaheadFunc(n,u.idx,ga,"Repetition",u.maxLookahead,We(u))}),C(s,u=>{this.computeLookaheadFunc(n,u.idx,Kf,"Option",u.maxLookahead,We(u))}),C(a,u=>{this.computeLookaheadFunc(n,u.idx,ya,"RepetitionMandatory",u.maxLookahead,We(u))}),C(o,u=>{this.computeLookaheadFunc(n,u.idx,hi,"RepetitionMandatoryWithSeparator",u.maxLookahead,We(u))}),C(l,u=>{this.computeLookaheadFunc(n,u.idx,Ta,"RepetitionWithSeparator",u.maxLookahead,We(u))})})})}computeLookaheadFunc(e,n,r,i,s,a){this.TRACE_INIT(`${a}${n===0?"":n}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=Fs(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return Fs(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class yA extends wn{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}const Zr=new yA;function TA(t){Zr.reset(),t.accept(Zr);const e=Zr.dslMethods;return Zr.reset(),e}function Gl(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Ul(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function vA(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function RA(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const AA="name";function Hf(t,e){Object.defineProperty(t,AA,{enumerable:!1,configurable:!0,writable:!1,value:e})}function EA(t,e){const n=Le(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let l=0;l<o;l++){const u=a[l];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}function $A(t,e){const n=function(){};Hf(n,t+"BaseSemantics");const r={visit:function(i,s){if(P(i)&&(i=i[0]),!lt(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=xA(this,e);if(!U(i)){const s=k(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
88
|
+
${s.join(`
|
|
89
|
+
|
|
90
|
+
`).replace(/\n/g,`
|
|
91
|
+
`)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function SA(t,e,n){const r=function(){};Hf(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return C(e,s=>{i[s]=EA}),r.prototype=i,r.prototype.constructor=r,r}var va;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(va||(va={}));function xA(t,e){return IA(t,e)}function IA(t,e){const n=Pe(e,i=>ct(t[i])===!1),r=k(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:va.MISSING_METHOD,methodName:i}));return br(r)}class kA{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=w(e,"nodeLocationTracking")?e.nodeLocationTracking:ut.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=X,this.cstFinallyStateUpdate=X,this.cstPostTerminal=X,this.cstPostNonTerminal=X,this.cstPostRule=X;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ul,this.setNodeLocationFromNode=Ul,this.cstPostRule=X,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=X,this.setNodeLocationFromNode=X,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Gl,this.setNodeLocationFromNode=Gl,this.cstPostRule=X,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=X,this.setNodeLocationFromNode=X,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=X,this.setNodeLocationFromNode=X,this.cstPostRule=X,this.setInitialNodeLocation=X;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];vA(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];RA(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(lt(this.baseCstVisitorConstructor)){const e=$A(this.className,Le(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(lt(this.baseCstVisitorWithDefaultsConstructor)){const e=SA(this.className,Le(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 wA{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Oi}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?Oi:this.tokVector[n]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class CA{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,n,r=Li){if(de(this.definedRulesNames,e)){const a={message:Nt.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:fe.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=Li){const i=ZR(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(Ni(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Fv(J(this.gastProductionsCache))}}class _A{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=_i,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},w(n,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
92
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
93
|
+
For Further details.`);if(P(e)){if(U(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
94
|
+
Note that the first argument for the parser constructor
|
|
95
|
+
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
96
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
97
|
+
For Further details.`)}if(P(e))this.tokensMap=Se(e,(s,a)=>(s[a.name]=a,s),{});else if(w(e,"modes")&&Ue(Ge(J(e.modes)),wR)){const s=Ge(J(e.modes)),a=yo(s);this.tokensMap=Se(a,(o,l)=>(o[l.name]=l,o),{})}else if(Oe(e))this.tokensMap=ie(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Tt;const r=w(e,"modes")?Ge(J(e.modes)):J(e),i=Ue(r,s=>U(s.categoryMatches));this.tokenMatcher=i?_i:Lr,Pr(J(this.tokensMap))}defineRule(e,n,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
98
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=w(r,"resyncEnabled")?r.resyncEnabled:Li.resyncEnabled,s=w(r,"recoveryValueFunc")?r.recoveryValueFunc:Li.recoveryValueFunc,a=this.ruleShortNameIdx<<mA+Et;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...c){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,c);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...c){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,c)}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(Ni(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return r(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,a.partialCstResult=l}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(Kf,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,n){const r=this.getKeyForAutomaticLookahead(ya,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=n;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,H.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,ya,e,DR)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(hi,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Ml],o,hi,e,Ml)}else throw this.raiseEarlyExitException(e,H.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(ga,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else s=n;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,ga,e,MR,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ta,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Pl],o,Ta,e,Pl)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,hi,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(jf,n),i=P(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(n,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new cA(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,n,r){throw Ni(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Uf(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===Bf?r:s}}else throw r}saveRecogState(){const e=this.errors,n=ie(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Tt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class NA{initErrorHandler(e){this._errors=[],this.errorMessageProvider=w(e,"errorMessageProvider")?e.errorMessageProvider:ut.errorMessageProvider}SAVE_ERROR(e){if(Ni(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ie(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ie(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=ps(e,s,n,this.maxLookahead)[0],l=[];for(let c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));const u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new fA(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=hs(e,i,this.maxLookahead),a=[];for(let u=1;u<=this.maxLookahead;u++)a.push(this.LA(u));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new uA(l,this.LA(1),o))}}class bA{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(lt(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Cf([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=je(e.ruleStack),i=this.getGAstProductions()[n];return new PR(i,e).startWalking()}}const gs={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(gs);const Bl=!0,jl=Math.pow(2,Et)-1,Vf=kf({name:"RECORDING_PHASE_TOKEN",pattern:he.NA});Pr([Vf]);const Wf=vo(Vf,`This IToken indicates the Parser is in Recording Phase
|
|
99
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Wf);const OA={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
100
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class LA{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let n=0;n<10;n++){const r=n>0?n:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,n){return()=>!0}LA_RECORD(e){return Oi}topLevelRuleRecord(e,n){try{const r=new kn({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
|
|
101
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
102
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw r}throw r}}optionInternalRecord(e,n){return bn.call(this,re,e,n)}atLeastOneInternalRecord(e,n){bn.call(this,xe,n,e)}atLeastOneSepFirstInternalRecord(e,n){bn.call(this,Ie,n,e,Bl)}manyInternalRecord(e,n){bn.call(this,z,n,e)}manySepFirstInternalRecord(e,n){bn.call(this,ge,n,e,Bl)}orInternalRecord(e,n){return PA.call(this,e,n)}subruleInternalRecord(e,n,r){if(bi(n),!e||w(e,"ruleName")===!1){const o=new Error(`<SUBRULE${Kl(n)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
103
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=vn(this.recordingProdStack),s=e.ruleName,a=new ce({idx:n,nonTerminalName:s,label:r==null?void 0:r.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?OA:gs}consumeInternalRecord(e,n,r){if(bi(n),!xf(e)){const a=new Error(`<CONSUME${Kl(n)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
104
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=vn(this.recordingProdStack),s=new j({idx:n,terminalType:e,label:r==null?void 0:r.LABEL});return i.definition.push(s),Wf}}function bn(t,e,n,r=!1){bi(n);const i=vn(this.recordingProdStack),s=ct(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),w(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),gs}function PA(t,e){bi(e);const n=vn(this.recordingProdStack),r=P(t)===!1,i=r===!1?t:t.DEF,s=new ye({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});w(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=hf(i,o=>ct(o.GATE));return s.hasPredicates=a,n.definition.push(s),C(i,o=>{const l=new me({definition:[]});s.definition.push(l),w(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:w(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),gs}function Kl(t){return t===0?"":`${t}`}function bi(t){if(t<0||t>jl){const e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
105
|
+
Idx value must be a none negative value smaller than ${jl+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class MA{initPerformanceTracer(e){if(w(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=ut.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=mf(n),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function DA(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const Oi=vo(Tt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Oi);const ut=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Yt,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Li=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var fe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(fe||(fe={}));function Hl(t=void 0){return function(){return t}}class Mr{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const n=this.className;this.TRACE_INIT("toFastProps",()=>{gf(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),C(this.definedRulesNames,i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=oA({rules:J(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(U(r)&&this.skipValidations===!1){const i=lA({rules:J(this.gastProductionsCache),tokenTypes:J(this.tokensMap),errMsgProvider:Nt,grammarName:n}),s=WR({lookaheadStrategy:this.lookaheadStrategy,rules:J(this.gastProductionsCache),tokenTypes:J(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),U(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Vv(J(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:J(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(J(this.gastProductionsCache))})),!Mr.DEFER_DEFINITION_ERRORS_HANDLING&&!U(this.definitionErrors))throw e=k(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
106
|
+
${e.join(`
|
|
107
|
+
-------------------------------
|
|
108
|
+
`)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),w(n,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
109
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
110
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
111
|
+
For further details.`);this.skipValidations=w(n,"skipValidations")?n.skipValidations:ut.skipValidations}}Mr.DEFER_DEFINITION_ERRORS_HANDLING=!1;DA(Mr,[hA,gA,kA,wA,_A,CA,NA,bA,LA,MA]);class FA extends Mr{constructor(e,n=ut){const r=ie(n);r.outputCst=!1,super(e,r)}}function An(t,e,n){return`${t.name}_${e}_${n}`}const vt=1,GA=2,zf=4,qf=5,Dr=7,UA=8,BA=9,jA=10,KA=11,Yf=12;class $o{constructor(e){this.target=e}isEpsilon(){return!1}}class So extends $o{constructor(e,n){super(e),this.tokenType=n}}class Xf extends $o{constructor(e){super(e)}isEpsilon(){return!0}}class xo extends $o{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function HA(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};VA(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Kt(e,i,i);s!==void 0&&nE(e,i,s)}return e}function VA(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=Q(t,i,void 0,{type:GA}),a=Q(t,i,void 0,{type:Dr});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Jf(t,e,n){return n instanceof j?Io(t,e,n.terminalType,n):n instanceof ce?tE(t,e,n):n instanceof ye?XA(t,e,n):n instanceof re?JA(t,e,n):n instanceof z?WA(t,e,n):n instanceof ge?zA(t,e,n):n instanceof xe?qA(t,e,n):n instanceof Ie?YA(t,e,n):Kt(t,e,n)}function WA(t,e,n){const r=Q(t,e,n,{type:qf});$t(t,r);const i=Cn(t,e,r,n,Kt(t,e,n));return Qf(t,e,n,i)}function zA(t,e,n){const r=Q(t,e,n,{type:qf});$t(t,r);const i=Cn(t,e,r,n,Kt(t,e,n)),s=Io(t,e,n.separator,n);return Qf(t,e,n,i,s)}function qA(t,e,n){const r=Q(t,e,n,{type:zf});$t(t,r);const i=Cn(t,e,r,n,Kt(t,e,n));return Zf(t,e,n,i)}function YA(t,e,n){const r=Q(t,e,n,{type:zf});$t(t,r);const i=Cn(t,e,r,n,Kt(t,e,n)),s=Io(t,e,n.separator,n);return Zf(t,e,n,i,s)}function XA(t,e,n){const r=Q(t,e,n,{type:vt});$t(t,r);const i=st(n.definition,a=>Jf(t,e,a));return Cn(t,e,r,n,...i)}function JA(t,e,n){const r=Q(t,e,n,{type:vt});$t(t,r);const i=Cn(t,e,r,n,Kt(t,e,n));return ZA(t,e,n,i)}function Kt(t,e,n){const r=eh(st(n.definition,i=>Jf(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:eE(t,r)}function Zf(t,e,n,r,i){const s=r.left,a=r.right,o=Q(t,e,n,{type:KA});$t(t,o);const l=Q(t,e,n,{type:Yf});return s.loopback=o,l.loopback=o,t.decisionMap[An(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,Y(a,o),i===void 0?(Y(o,s),Y(o,l)):(Y(o,l),Y(o,i.left),Y(i.right,s)),{left:s,right:l}}function Qf(t,e,n,r,i){const s=r.left,a=r.right,o=Q(t,e,n,{type:jA});$t(t,o);const l=Q(t,e,n,{type:Yf}),u=Q(t,e,n,{type:BA});return o.loopback=u,l.loopback=u,Y(o,s),Y(o,l),Y(a,u),i!==void 0?(Y(u,l),Y(u,i.left),Y(i.right,s)):Y(u,o),t.decisionMap[An(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:l}}function ZA(t,e,n,r){const i=r.left,s=r.right;return Y(i,s),t.decisionMap[An(e,"Option",n.idx)]=i,r}function $t(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Cn(t,e,n,r,...i){const s=Q(t,e,r,{type:UA,start:n});n.end=s;for(const o of i)o!==void 0?(Y(n,o.left),Y(o.right,s)):Y(n,s);const a={left:n,right:s};return t.decisionMap[An(e,QA(r),r.idx)]=n,a}function QA(t){if(t instanceof ye)return"Alternation";if(t instanceof re)return"Option";if(t instanceof z)return"Repetition";if(t instanceof ge)return"RepetitionWithSeparator";if(t instanceof xe)return"RepetitionMandatory";if(t instanceof Ie)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function eE(t,e){const n=e.length;for(let s=0;s<n-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const l=o instanceof xo,u=o,c=e[s+1].left;a.left.type===vt&&a.right.type===vt&&o!==void 0&&(l&&u.followState===a.right||o.target===a.right)?(l?u.followState=c:o.target=c,rE(t,a.right)):Y(a.right,c)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function Io(t,e,n,r){const i=Q(t,e,r,{type:vt}),s=Q(t,e,r,{type:vt});return ko(i,new So(s,n)),{left:i,right:s}}function tE(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=Q(t,e,n,{type:vt}),a=Q(t,e,n,{type:vt}),o=new xo(i,r,a);return ko(s,o),{left:s,right:a}}function nE(t,e,n){const r=t.ruleToStartState.get(e);Y(r,n.left);const i=t.ruleToStopState.get(e);return Y(n.right,i),{left:r,right:i}}function Y(t,e){const n=new Xf(e);ko(t,n)}function Q(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function ko(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function rE(t,e){t.states.splice(t.states.indexOf(e),1)}const Pi={};class Ra{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=ed(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return st(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function ed(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function iE(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class td{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const Vl=new td;class sE extends Eo{constructor(e){var n;super(),this.logging=(n=e==null?void 0:e.logging)!==null&&n!==void 0?n:r=>console.log(r)}initialize(e){this.atn=HA(e.rules),this.dfas=aE(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=An(r,"Alternation",n),c=this.atn.decisionMap[l].decision,f=st(Dl({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),d=>st(d,h=>h[0]));if(Wl(f,!1)&&!s){const d=Mo(f,(h,m,g)=>($s(m,R=>{R&&(h[R.tokenTypeIdx]=g,$s(R.categoryMatches,y=>{h[y]=g}))}),h),{});return i?function(h){var m;const g=this.LA(1),R=d[g.tokenTypeIdx];if(h!==void 0&&R!==void 0){const y=(m=h[R])===null||m===void 0?void 0:m.GATE;if(y!==void 0&&y.call(this)===!1)return}return R}:function(){const h=this.LA(1);return d[h.tokenTypeIdx]}}else return i?function(d){const h=new td,m=d===void 0?0:d.length;for(let R=0;R<m;R++){const y=d==null?void 0:d[R].GATE;h.set(R,y===void 0||y.call(this))}const g=Gs.call(this,a,c,h,o);return typeof g=="number"?g:void 0}:function(){const d=Gs.call(this,a,c,Vl,o);return typeof d=="number"?d:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=An(r,i,n),c=this.atn.decisionMap[l].decision,f=st(Dl({maxLookahead:1,occurrence:n,prodType:i,rule:r}),d=>st(d,h=>h[0]));if(Wl(f)&&f[0][0]&&!s){const d=f[0],h=Yd(d);if(h.length===1&&qd(h[0].categoryMatches)){const g=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===g}}else{const m=Mo(h,(g,R)=>(R!==void 0&&(g[R.tokenTypeIdx]=!0,$s(R.categoryMatches,y=>{g[y]=!0})),g),{});return function(){const g=this.LA(1);return m[g.tokenTypeIdx]===!0}}}return function(){const d=Gs.call(this,a,c,Vl,o);return typeof d=="object"?!1:d===0}}}function Wl(t,e=!0){const n=new Set;for(const r of t){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(n.has(o)){if(!i.has(o))return!1}else n.add(o),i.add(o)}}return!0}function aE(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=iE(t.decisionStates[r],r);return n}function Gs(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=yE(i.atnStartState);s=rd(i,nd(o)),i.start=s}return oE.apply(this,[i,s,n,r])}function oE(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=hE(i,o);if(l===void 0&&(l=lE.apply(this,[t,i,o,s,n,r])),l===Pi)return dE(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function lE(t,e,n,r,i,s){const a=pE(e.configs,n,i);if(a.size===0)return zl(t,e,n,Pi),Pi;let o=nd(a);const l=gE(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(AE(a)){const u=Xd(a.alts);o.isAcceptState=!0,o.prediction=u,o.configs.uniqueAlt=u,uE.apply(this,[t,r,a.alts,s])}return o=zl(t,e,n,o),o}function uE(t,e,n,r){const i=[];for(let u=1;u<=e;u++)i.push(this.LA(u).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,l=cE({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(l)}function cE(t){const e=st(t.prefixPath,i=>Zt(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${fE(t.production)}${n}> inside <${t.topLevelRule.name}> Rule,
|
|
112
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
113
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
114
|
+
For Further details.`,r}function fE(t){if(t instanceof ce)return"SUBRULE";if(t instanceof re)return"OPTION";if(t instanceof ye)return"OR";if(t instanceof xe)return"AT_LEAST_ONE";if(t instanceof Ie)return"AT_LEAST_ONE_SEP";if(t instanceof ge)return"MANY_SEP";if(t instanceof z)return"MANY";if(t instanceof j)return"CONSUME";throw Error("non exhaustive match")}function dE(t,e,n){const r=th(e.configs.elements,s=>s.state.transitions),i=nh(r.filter(s=>s instanceof So).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function hE(t,e){return t.edges[e.tokenTypeIdx]}function pE(t,e,n){const r=new Ra,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===Dr){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l<o;l++){const u=a.state.transitions[l],c=mE(u,e);c!==void 0&&r.add({state:c,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new Ra;for(const a of r.elements)Mi(a,s)}if(i.length>0&&!vE(s))for(const a of i)s.add(a);return s}function mE(t,e){if(t instanceof So&&wf(e,t.tokenType))return t.target}function gE(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function nd(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function zl(t,e,n,r){return r=rd(t,r),e.edges[n.tokenTypeIdx]=r,r}function rd(t,e){if(e===Pi)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function yE(t){const e=new Ra,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};Mi(s,e)}return e}function Mi(t,e){const n=t.state;if(n.type===Dr){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};Mi(a,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],a=TE(t,s);a!==void 0&&Mi(a,e)}}function TE(t,e){if(e instanceof Xf)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof xo){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function vE(t){for(const e of t.elements)if(e.state.type===Dr)return!0;return!1}function RE(t){for(const e of t.elements)if(e.state.type!==Dr)return!1;return!0}function AE(t){if(RE(t))return!0;const e=EE(t.elements);return $E(e)&&!SE(e)}function EE(t){const e=new Map;for(const n of t){const r=ed(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function $E(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function SE(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var ql;(function(t){function e(n){return typeof n=="string"}t.is=e})(ql||(ql={}));var Aa;(function(t){function e(n){return typeof n=="string"}t.is=e})(Aa||(Aa={}));var Yl;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(Yl||(Yl={}));var Di;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(Di||(Di={}));var D;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=Di.MAX_VALUE),i===Number.MAX_VALUE&&(i=Di.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}t.is=n})(D||(D={}));var L;(function(t){function e(r,i,s,a){if(p.uinteger(r)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:D.create(r,i),end:D.create(s,a)};if(D.is(r)&&D.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&D.is(i.start)&&D.is(i.end)}t.is=n})(L||(L={}));var Fi;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}t.is=n})(Fi||(Fi={}));var Xl;(function(t){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.targetRange)&&p.string(i.targetUri)&&L.is(i.targetSelectionRange)&&(L.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}t.is=n})(Xl||(Xl={}));var Ea;(function(t){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.numberRange(i.red,0,1)&&p.numberRange(i.green,0,1)&&p.numberRange(i.blue,0,1)&&p.numberRange(i.alpha,0,1)}t.is=n})(Ea||(Ea={}));var Jl;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&L.is(i.range)&&Ea.is(i.color)}t.is=n})(Jl||(Jl={}));var Zl;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||$n.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,$n.is))}t.is=n})(Zl||(Zl={}));var Ql;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Ql||(Ql={}));var eu;(function(t){function e(r,i,s,a,o,l){const u={startLine:r,endLine:i};return p.defined(s)&&(u.startCharacter=s),p.defined(a)&&(u.endCharacter=a),p.defined(o)&&(u.kind=o),p.defined(l)&&(u.collapsedText=l),u}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.uinteger(i.startLine)&&p.uinteger(i.startLine)&&(p.undefined(i.startCharacter)||p.uinteger(i.startCharacter))&&(p.undefined(i.endCharacter)||p.uinteger(i.endCharacter))&&(p.undefined(i.kind)||p.string(i.kind))}t.is=n})(eu||(eu={}));var $a;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&Fi.is(i.location)&&p.string(i.message)}t.is=n})($a||($a={}));var tu;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(tu||(tu={}));var nu;(function(t){t.Unnecessary=1,t.Deprecated=2})(nu||(nu={}));var ru;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&p.string(r.href)}t.is=e})(ru||(ru={}));var Gi;(function(t){function e(r,i,s,a,o,l){let u={range:r,message:i};return p.defined(s)&&(u.severity=s),p.defined(a)&&(u.code=a),p.defined(o)&&(u.source=o),p.defined(l)&&(u.relatedInformation=l),u}t.create=e;function n(r){var i;let s=r;return p.defined(s)&&L.is(s.range)&&p.string(s.message)&&(p.number(s.severity)||p.undefined(s.severity))&&(p.integer(s.code)||p.string(s.code)||p.undefined(s.code))&&(p.undefined(s.codeDescription)||p.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(p.string(s.source)||p.undefined(s.source))&&(p.undefined(s.relatedInformation)||p.typedArray(s.relatedInformation,$a.is))}t.is=n})(Gi||(Gi={}));var En;(function(t){function e(r,i,...s){let a={title:r,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}t.is=n})(En||(En={}));var $n;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&L.is(a.range)}t.is=i})($n||($n={}));var Sa;(function(t){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(p.string(i.description)||i.description===void 0)}t.is=n})(Sa||(Sa={}));var Sn;(function(t){function e(n){const r=n;return p.string(r)}t.is=e})(Sn||(Sn={}));var iu;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function n(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=n;function r(s,a){return{range:s,newText:"",annotationId:a}}t.del=r;function i(s){const a=s;return $n.is(a)&&(Sa.is(a.annotationId)||Sn.is(a.annotationId))}t.is=i})(iu||(iu={}));var xa;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&_a.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})(xa||(xa={}));var Ia;(function(t){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&p.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Sn.is(i.annotationId))}t.is=n})(Ia||(Ia={}));var ka;(function(t){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&p.string(i.oldUri)&&p.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Sn.is(i.annotationId))}t.is=n})(ka||(ka={}));var wa;(function(t){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&p.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||p.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||p.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Sn.is(i.annotationId))}t.is=n})(wa||(wa={}));var Ca;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>p.string(i.kind)?Ia.is(i)||ka.is(i)||wa.is(i):xa.is(i)))}t.is=e})(Ca||(Ca={}));var su;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)}t.is=n})(su||(su={}));var au;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}t.is=n})(au||(au={}));var _a;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}t.is=n})(_a||(_a={}));var ou;(function(t){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}t.is=n})(ou||(ou={}));var Na;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(Na||(Na={}));var $r;(function(t){function e(n){const r=n;return p.objectLiteral(n)&&Na.is(r.kind)&&p.string(r.value)}t.is=e})($r||($r={}));var lu;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(lu||(lu={}));var uu;(function(t){t.PlainText=1,t.Snippet=2})(uu||(uu={}));var cu;(function(t){t.Deprecated=1})(cu||(cu={}));var fu;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&p.string(i.newText)&&L.is(i.insert)&&L.is(i.replace)}t.is=n})(fu||(fu={}));var du;(function(t){t.asIs=1,t.adjustIndentation=2})(du||(du={}));var hu;(function(t){function e(n){const r=n;return r&&(p.string(r.detail)||r.detail===void 0)&&(p.string(r.description)||r.description===void 0)}t.is=e})(hu||(hu={}));var pu;(function(t){function e(n){return{label:n}}t.create=e})(pu||(pu={}));var mu;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(mu||(mu={}));var Ui;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}t.is=n})(Ui||(Ui={}));var gu;(function(t){function e(n){let r=n;return!!r&&p.objectLiteral(r)&&($r.is(r.contents)||Ui.is(r.contents)||p.typedArray(r.contents,Ui.is))&&(n.range===void 0||L.is(n.range))}t.is=e})(gu||(gu={}));var yu;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(yu||(yu={}));var Tu;(function(t){function e(n,r,...i){let s={label:n};return p.defined(r)&&(s.documentation=r),p.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(Tu||(Tu={}));var vu;(function(t){t.Text=1,t.Read=2,t.Write=3})(vu||(vu={}));var Ru;(function(t){function e(n,r){let i={range:n};return p.number(r)&&(i.kind=r),i}t.create=e})(Ru||(Ru={}));var Au;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Au||(Au={}));var Eu;(function(t){t.Deprecated=1})(Eu||(Eu={}));var $u;(function(t){function e(n,r,i,s,a){let o={name:n,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})($u||($u={}));var Su;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(Su||(Su={}));var xu;(function(t){function e(r,i,s,a,o,l){let u={name:r,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(u.children=l),u}t.create=e;function n(r){let i=r;return i&&p.string(i.name)&&p.number(i.kind)&&L.is(i.range)&&L.is(i.selectionRange)&&(i.detail===void 0||p.string(i.detail))&&(i.deprecated===void 0||p.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(xu||(xu={}));var Iu;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Iu||(Iu={}));var Bi;(function(t){t.Invoked=1,t.Automatic=2})(Bi||(Bi={}));var ku;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return p.defined(i)&&p.typedArray(i.diagnostics,Gi.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===Bi.Invoked||i.triggerKind===Bi.Automatic)}t.is=n})(ku||(ku={}));var wu;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):En.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function n(r){let i=r;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,Gi.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||En.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||Ca.is(i.edit))}t.is=n})(wu||(wu={}));var Cu;(function(t){function e(r,i){let s={range:r};return p.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return p.defined(i)&&L.is(i.range)&&(p.undefined(i.command)||En.is(i.command))}t.is=n})(Cu||(Cu={}));var _u;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}t.is=n})(_u||(_u={}));var Nu;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return p.defined(i)&&L.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}t.is=n})(Nu||(Nu={}));var bu;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return p.objectLiteral(i)&&L.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(bu||(bu={}));var Ou;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Ou||(Ou={}));var Lu;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Lu||(Lu={}));var Pu;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(Pu||(Pu={}));var Mu;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&p.string(i.text)}t.is=n})(Mu||(Mu={}));var Du;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}t.is=n})(Du||(Du={}));var Fu;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&L.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}t.is=n})(Fu||(Fu={}));var Gu;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return p.defined(i)&&L.is(r.stoppedLocation)}t.is=n})(Gu||(Gu={}));var ba;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(ba||(ba={}));var Oa;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||$r.is(i.tooltip))&&(i.location===void 0||Fi.is(i.location))&&(i.command===void 0||En.is(i.command))}t.is=n})(Oa||(Oa={}));var Uu;(function(t){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function n(r){const i=r;return p.objectLiteral(i)&&D.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,Oa.is))&&(i.kind===void 0||ba.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,$n.is)&&(i.tooltip===void 0||p.string(i.tooltip)||$r.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}t.is=n})(Uu||(Uu={}));var Bu;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(Bu||(Bu={}));var ju;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(ju||(ju={}));var Ku;(function(t){function e(n){return{items:n}}t.create=e})(Ku||(Ku={}));var Hu;(function(t){t.Invoked=0,t.Automatic=1})(Hu||(Hu={}));var Vu;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(Vu||(Vu={}));var Wu;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})(Wu||(Wu={}));var zu;(function(t){function e(n){const r=n;return p.objectLiteral(r)&&Aa.is(r.uri)&&p.string(r.name)}t.is=e})(zu||(zu={}));var qu;(function(t){function e(s,a,o,l){return new xE(s,a,o,l)}t.create=e;function n(s){let a=s;return!!(p.defined(a)&&p.string(a.uri)&&(p.undefined(a.languageId)||p.string(a.languageId))&&p.uinteger(a.lineCount)&&p.func(a.getText)&&p.func(a.positionAt)&&p.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),l=i(a,(c,f)=>{let d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d}),u=o.length;for(let c=l.length-1;c>=0;c--){let f=l[c],d=s.offsetAt(f.range.start),h=s.offsetAt(f.range.end);if(h<=u)o=o.substring(0,d)+f.newText+o.substring(h,o.length);else throw new Error("Overlapping edit");u=d}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),u=s.slice(o);i(l,a),i(u,a);let c=0,f=0,d=0;for(;c<l.length&&f<u.length;)a(l[c],u[f])<=0?s[d++]=l[c++]:s[d++]=u[f++];for(;c<l.length;)s[d++]=l[c++];for(;f<u.length;)s[d++]=u[f++];return s}})(qu||(qu={}));let xE=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
|
|
115
|
+
`,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
|
|
116
|
+
`&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return D.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return D.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var p;(function(t){const e=Object.prototype.toString;function n(h){return typeof h<"u"}t.defined=n;function r(h){return typeof h>"u"}t.undefined=r;function i(h){return h===!0||h===!1}t.boolean=i;function s(h){return e.call(h)==="[object String]"}t.string=s;function a(h){return e.call(h)==="[object Number]"}t.number=a;function o(h,m,g){return e.call(h)==="[object Number]"&&m<=h&&h<=g}t.numberRange=o;function l(h){return e.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}t.integer=l;function u(h){return e.call(h)==="[object Number]"&&0<=h&&h<=2147483647}t.uinteger=u;function c(h){return e.call(h)==="[object Function]"}t.func=c;function f(h){return h!==null&&typeof h=="object"}t.objectLiteral=f;function d(h,m){return Array.isArray(h)&&h.every(m)}t.typedArray=d})(p||(p={}));class IE{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new sd(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new wo;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new La(e.startOffset,e.image.length,ra(e),e.tokenType,!n);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}addHiddenNodes(e){const n=[];for(const s of e){const a=new La(s.startOffset,s.image.length,ra(s),s.tokenType,!0);a.root=this.rootNode,n.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...n);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...n),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...n)}construct(e){const n=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();(r==null?void 0:r.content.length)===0&&this.removeNode(r)}}class id{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,n;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(n=this.container)===null||n===void 0?void 0:n.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class La extends id{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class wo extends id{constructor(){super(...arguments),this.content=new Co(this)}get children(){return this.content}get offset(){var e,n;return(n=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&n!==void 0?n:0}get length(){return this.end-this.offset}get end(){var e,n;return(n=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&n!==void 0?n:0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:D.create(0,0),end:D.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class Co extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Co.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class sd extends wo{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const Pa=Symbol("Datatype");function Us(t){return t.$type===Pa}const Yu="",ad=t=>t.endsWith(Yu)?t:t+Yu;class od{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";this.wrapper=new NE(n,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class kE extends od{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new IE,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(ad(e.name),this.startImplementation(r,n).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(Pc(e))return Pa;{const n=Ya(e);return n??e.name}}}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,n){return r=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===Pa&&(a.value="")}let s;try{s=n(r)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const n=this.lexerResult.hidden;if(!n.length)return[];const r=e.startOffset;for(let i=0;i<n.length;i++)if(n[i].startOffset>r)return n.splice(0,i);return n.splice(0,n.length)}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,isCrossRef:l}=this.getAssignment(r),u=this.current;if(o){const c=Ot(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,c,a,l)}else if(Us(u)){let c=i.image;Ot(r)||(c=this.converter.convert(c,a).toString()),u.value+=c}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,n,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,n,r){const{assignment:i,isCrossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Us(a))a.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(l)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return Ch(e),this.nodeBuilder.construct(e),this.stack.pop(),Us(e)?this.converter.convert(e.value,e.$cstNode):(_h(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const n=Yi(e,bt);this.assignmentMap.set(e,{assignment:n,isCrossRef:n?Va(n.terminal):!1})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):o=r,e){case"=":{a[n]=o;break}case"?=":{a[n]=!0;break}case"+=":Array.isArray(a[n])||(a[n]=[]),a[n].push(o)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class wE{buildMismatchTokenMessage(e){return Yt.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Yt.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Yt.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Yt.buildEarlyExitMessage(e)}}class ld extends wE{buildMismatchTokenMessage({expected:e,actual:n}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class CE extends od{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,n){const r=this.wrapper.DEFINE_RULE(ad(e.name),this.startImplementation(n).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return n=>{const r=this.keepStackSize();try{e(n)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,n,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const _E={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new ld};class NE extends FA{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,Object.assign(Object.assign(Object.assign({},_E),{lookaheadStrategy:r?new Eo({maxLookahead:n.maxLookahead}):new sE({logging:n.skipValidations?()=>{}:void 0})}),n))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n){return this.RULE(e,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}}function ud(t,e,n){return bE({parser:e,tokens:n,ruleNames:new Map},t),e}function bE(t,e){const n=_c(e,!1),r=ne(e.rules).filter(Ne).filter(i=>n.has(i));for(const i of r){const s=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,Dt(s,i.definition))}}function Dt(t,e,n=!1){let r;if(Ot(e))r=GE(t,e);else if(qi(e))r=OE(t,e);else if(bt(e))r=Dt(t,e.terminal);else if(Va(e))r=cd(t,e);else if(Lt(e))r=LE(t,e);else if(Sc(e))r=ME(t,e);else if(xc(e))r=DE(t,e);else if(Wa(e))r=FE(t,e);else if(Ah(e)){const i=t.consume++;r=()=>t.parser.consume(i,Tt,e)}else throw new Rc(e.$cstNode,`Unexpected element type: ${e.$type}`);return fd(t,n?void 0:ji(e),r,e.cardinality)}function OE(t,e){const n=Xa(e);return()=>t.parser.action(n,e)}function LE(t,e){const n=e.rule.ref;if(Ne(n)){const r=t.subrule++,i=n.fragment,s=e.arguments.length>0?PE(n,e.arguments):()=>({});return a=>t.parser.subrule(r,dd(t,n),i,e,s(a))}else if(Gt(n)){const r=t.consume++,i=Ma(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)Ir();else throw new Rc(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function PE(t,e){const n=e.map(r=>it(r.value));return r=>{const i={};for(let s=0;s<n.length;s++){const a=t.parameters[s],o=n[s];i[a.name]=o(r)}return i}}function it(t){if(mh(t)){const e=it(t.left),n=it(t.right);return r=>e(r)||n(r)}else if(ph(t)){const e=it(t.left),n=it(t.right);return r=>e(r)&&n(r)}else if(gh(t)){const e=it(t.value);return n=>!e(n)}else if(yh(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(hh(t)){const e=!!t.true;return()=>e}Ir()}function ME(t,e){if(e.elements.length===1)return Dt(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Dt(t,i,!0)},a=ji(i);a&&(s.GATE=it(a)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function DE(t,e){if(e.elements.length===1)return Dt(t,e.elements[0]);const n=[];for(const o of e.elements){const l={ALT:Dt(t,o,!0)},u=ji(o);u&&(l.GATE=it(u)),n.push(l)}const r=t.or++,i=(o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},s=o=>t.parser.alternatives(r,n.map((l,u)=>{const c={ALT:()=>!0},f=t.parser;c.ALT=()=>{if(l.ALT(o),!f.isRecording()){const h=i(r,f);f.unorderedGroups.get(h)||f.unorderedGroups.set(h,[]);const m=f.unorderedGroups.get(h);typeof(m==null?void 0:m[u])>"u"&&(m[u]=!0)}};const d=l.GATE;return d?c.GATE=()=>d(o):c.GATE=()=>{const h=f.unorderedGroups.get(i(r,f));return!(h!=null&&h[u])},c})),a=fd(t,ji(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function FE(t,e){const n=e.elements.map(r=>Dt(t,r));return r=>n.forEach(i=>i(r))}function ji(t){if(Wa(t))return t.guardCondition}function cd(t,e,n=e.terminal){if(n)if(Lt(n)&&Ne(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;return s=>t.parser.subrule(i,dd(t,r),!1,e,s)}else if(Lt(n)&&Gt(n.rule.ref)){const r=t.consume++,i=Ma(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(Ot(n)){const r=t.consume++,i=Ma(t,n.value);return()=>t.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=Oc(e.type.ref),i=r==null?void 0:r.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Xa(e.type.ref));return cd(t,e,i)}}function GE(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function fd(t,e,n,r){const i=e&&it(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:Hl(),GATE:()=>!i(a)}])}else return n;if(r==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(o)}),GATE:()=>i(o)},{ALT:Hl(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>n(a)})}else if(r==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else Ir()}function dd(t,e){const n=UE(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function UE(t,e){if(Ne(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!Ne(r);)(Wa(r)||Sc(r)||xc(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function Ma(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function BE(t){const e=t.Grammar,n=t.parser.Lexer,r=new CE(t);return ud(e,r,n.definition),r.finalize(),r}function jE(t){const e=KE(t);return e.finalize(),e}function KE(t){const e=t.Grammar,n=t.parser.Lexer,r=new kE(t);return ud(e,r,n.definition)}class hd{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=ne(_c(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&sa(o)?s.unshift(a):s.push(a)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Gt).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=Ja(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=sa(n)?he.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(Ne).flatMap(i=>kr(i).filter(Ot)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!(r!=null&&r.caseInsensitive)))}buildKeywordToken(e,n,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,n)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,n){return n?new RegExp(Gh(e.value)):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i==null?void 0:i.PATTERN;return s!=null&&s.source&&Uh("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class pd{convert(e,n){let r=n.grammarSource;if(Va(r)&&(r=Hh(r)),Lt(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,n)}return e}runConverter(e,n,r){var i;switch(e.name.toUpperCase()){case"INT":return tt.convertInt(n);case"STRING":return tt.convertString(n);case"ID":return tt.convertID(n)}switch((i=Jh(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return tt.convertNumber(n);case"boolean":return tt.convertBoolean(n);case"bigint":return tt.convertBigint(n);case"date":return tt.convertDate(n);default:return n}}}var tt;(function(t){function e(u){let c="";for(let f=1;f<u.length-1;f++){const d=u.charAt(f);if(d==="\\"){const h=u.charAt(++f);c+=n(h)}else c+=d}return c}t.convertString=e;function n(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
117
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}function r(u){return u.charAt(0)==="^"?u.substring(1):u}t.convertID=r;function i(u){return parseInt(u)}t.convertInt=i;function s(u){return BigInt(u)}t.convertBigint=s;function a(u){return new Date(u)}t.convertDate=a;function o(u){return Number(u)}t.convertNumber=o;function l(u){return u.toLowerCase()==="true"}t.convertBoolean=l})(tt||(tt={}));var Sr={},ys={};Object.defineProperty(ys,"__esModule",{value:!0});let Da;function Fa(){if(Da===void 0)throw new Error("No runtime abstraction layer installed");return Da}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");Da=n}t.install=e})(Fa||(Fa={}));ys.default=Fa;var oe={};Object.defineProperty(oe,"__esModule",{value:!0});oe.stringArray=oe.array=oe.func=oe.error=oe.number=oe.string=oe.boolean=void 0;function HE(t){return t===!0||t===!1}oe.boolean=HE;function md(t){return typeof t=="string"||t instanceof String}oe.string=md;function VE(t){return typeof t=="number"||t instanceof Number}oe.number=VE;function WE(t){return t instanceof Error}oe.error=WE;function zE(t){return typeof t=="function"}oe.func=zE;function gd(t){return Array.isArray(t)}oe.array=gd;function qE(t){return gd(t)&&t.every(e=>md(e))}oe.stringArray=qE;var xn={};Object.defineProperty(xn,"__esModule",{value:!0});var yd=xn.Emitter=xn.Event=void 0;const YE=ys;var Xu;(function(t){const e={dispose(){}};t.None=function(){return e}})(Xu||(xn.Event=Xu={}));class XE{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];const n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,a=r.length;s<a;s++)try{n.push(r[s].apply(i[s],e))}catch(o){(0,YE.default)().console.error(o)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class Ts{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new XE),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=Ts._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}yd=xn.Emitter=Ts;Ts._noop=function(){};var V;Object.defineProperty(Sr,"__esModule",{value:!0});var _o=Sr.CancellationTokenSource=V=Sr.CancellationToken=void 0;const JE=ys,ZE=oe,Ga=xn;var Ki;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Ga.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Ga.Event.None});function e(n){const r=n;return r&&(r===t.None||r===t.Cancelled||ZE.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(Ki||(V=Sr.CancellationToken=Ki={}));const QE=Object.freeze(function(t,e){const n=(0,JE.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}});class Ju{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?QE:(this._emitter||(this._emitter=new Ga.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class e${get token(){return this._token||(this._token=new Ju),this._token}cancel(){this._token?this._token.cancel():this._token=Ki.Cancelled}dispose(){this._token?this._token instanceof Ju&&this._token.dispose():this._token=Ki.None}}_o=Sr.CancellationTokenSource=e$;function t$(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let pi=0,n$=10;function r$(){return pi=performance.now(),new _o}const Hi=Symbol("OperationCancelled");function vs(t){return t===Hi}async function Ee(t){if(t===V.None)return;const e=performance.now();if(e-pi>=n$&&(pi=e,await t$(),pi=performance.now()),t.isCancellationRequested)throw Hi}class No{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class xr{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(const r of e)if(xr.isIncremental(r)){const i=vd(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const c=Zu(r.text,!1,s);if(l-o===c.length)for(let d=0,h=c.length;d<h;d++)u[d+o+1]=c[d];else c.length<1e4?u.splice(o+1,l-o,...c):this._lineOffsets=u=u.slice(0,o+1).concat(c,u.slice(l+1));const f=r.text.length-(a-s);if(f!==0)for(let d=o+1+c.length,h=u.length;d<h;d++)u[d]=u[d]+f}else if(xr.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Zu(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const n=this.getLineOffsets();let r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,n[s]),{line:s,character:e-n[s]}}offsetAt(e){const n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;const r=n[e.line];if(e.character<=0)return r;const i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&Td(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var Ua;(function(t){function e(i,s,a,o){return new xr(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof xr)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){const a=i.getText(),o=Ba(s.map(i$),(c,f)=>{const d=c.range.start.line-f.range.start.line;return d===0?c.range.start.character-f.range.start.character:d});let l=0;const u=[];for(const c of o){const f=i.offsetAt(c.range.start);if(f<l)throw new Error("Overlapping edit");f>l&&u.push(a.substring(l,f)),c.newText.length&&u.push(c.newText),l=i.offsetAt(c.range.end)}return u.push(a.substr(l)),u.join("")}t.applyEdits=r})(Ua||(Ua={}));function Ba(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Ba(r,e),Ba(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function Zu(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);Td(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function Td(t){return t===13||t===10}function vd(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function i$(t){const e=vd(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Rd;(()=>{var t={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,u){for(var c,f="",d=0,h=-1,m=0,g=0;g<=l.length;++g){if(g<l.length)c=l.charCodeAt(g);else{if(c===47)break;c=47}if(c===47){if(!(h===g-1||m===1))if(h!==g-1&&m===2){if(f.length<2||d!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){var R=f.lastIndexOf("/");if(R!==f.length-1){R===-1?(f="",d=0):d=(f=f.slice(0,R)).length-1-f.lastIndexOf("/"),h=g,m=0;continue}}else if(f.length===2||f.length===1){f="",d=0,h=g,m=0;continue}}u&&(f.length>0?f+="/..":f="..",d=2)}else f.length>0?f+="/"+l.slice(h+1,g):f=l.slice(h+1,g),d=g-h-1;h=g,m=0}else c===46&&m!==-1?++m:m=-1}return f}var o={resolve:function(){for(var l,u="",c=!1,f=arguments.length-1;f>=-1&&!c;f--){var d;f>=0?d=arguments[f]:(l===void 0&&(l=process.cwd()),d=l),s(d),d.length!==0&&(u=d+"/"+u,c=d.charCodeAt(0)===47)}return u=a(u,!c),c?u.length>0?"/"+u:"/":u.length>0?u:"."},normalize:function(l){if(s(l),l.length===0)return".";var u=l.charCodeAt(0)===47,c=l.charCodeAt(l.length-1)===47;return(l=a(l,!u)).length!==0||u||(l="."),l.length>0&&c&&(l+="/"),u?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,u=0;u<arguments.length;++u){var c=arguments[u];s(c),c.length>0&&(l===void 0?l=c:l+="/"+c)}return l===void 0?".":o.normalize(l)},relative:function(l,u){if(s(l),s(u),l===u||(l=o.resolve(l))===(u=o.resolve(u)))return"";for(var c=1;c<l.length&&l.charCodeAt(c)===47;++c);for(var f=l.length,d=f-c,h=1;h<u.length&&u.charCodeAt(h)===47;++h);for(var m=u.length-h,g=d<m?d:m,R=-1,y=0;y<=g;++y){if(y===g){if(m>g){if(u.charCodeAt(h+y)===47)return u.slice(h+y+1);if(y===0)return u.slice(h+y)}else d>g&&(l.charCodeAt(c+y)===47?R=y:y===0&&(R=0));break}var E=l.charCodeAt(c+y);if(E!==u.charCodeAt(h+y))break;E===47&&(R=y)}var v="";for(y=c+R+1;y<=f;++y)y!==f&&l.charCodeAt(y)!==47||(v.length===0?v+="..":v+="/..");return v.length>0?v+u.slice(h+R):(h+=R,u.charCodeAt(h)===47&&++h,u.slice(h))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var u=l.charCodeAt(0),c=u===47,f=-1,d=!0,h=l.length-1;h>=1;--h)if((u=l.charCodeAt(h))===47){if(!d){f=h;break}}else d=!1;return f===-1?c?"/":".":c&&f===1?"//":l.slice(0,f)},basename:function(l,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');s(l);var c,f=0,d=-1,h=!0;if(u!==void 0&&u.length>0&&u.length<=l.length){if(u.length===l.length&&u===l)return"";var m=u.length-1,g=-1;for(c=l.length-1;c>=0;--c){var R=l.charCodeAt(c);if(R===47){if(!h){f=c+1;break}}else g===-1&&(h=!1,g=c+1),m>=0&&(R===u.charCodeAt(m)?--m==-1&&(d=c):(m=-1,d=g))}return f===d?d=g:d===-1&&(d=l.length),l.slice(f,d)}for(c=l.length-1;c>=0;--c)if(l.charCodeAt(c)===47){if(!h){f=c+1;break}}else d===-1&&(h=!1,d=c+1);return d===-1?"":l.slice(f,d)},extname:function(l){s(l);for(var u=-1,c=0,f=-1,d=!0,h=0,m=l.length-1;m>=0;--m){var g=l.charCodeAt(m);if(g!==47)f===-1&&(d=!1,f=m+1),g===46?u===-1?u=m:h!==1&&(h=1):u!==-1&&(h=-1);else if(!d){c=m+1;break}}return u===-1||f===-1||h===0||h===1&&u===f-1&&u===c+1?"":l.slice(u,f)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(u,c){var f=c.dir||c.root,d=c.base||(c.name||"")+(c.ext||"");return f?f===c.root?f+d:f+"/"+d:d}(0,l)},parse:function(l){s(l);var u={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return u;var c,f=l.charCodeAt(0),d=f===47;d?(u.root="/",c=1):c=0;for(var h=-1,m=0,g=-1,R=!0,y=l.length-1,E=0;y>=c;--y)if((f=l.charCodeAt(y))!==47)g===-1&&(R=!1,g=y+1),f===46?h===-1?h=y:E!==1&&(E=1):h!==-1&&(E=-1);else if(!R){m=y+1;break}return h===-1||g===-1||E===0||E===1&&h===g-1&&h===m+1?g!==-1&&(u.base=u.name=m===0&&d?l.slice(1,g):l.slice(m,g)):(m===0&&d?(u.name=l.slice(1,h),u.base=l.slice(1,g)):(u.name=l.slice(m,h),u.base=l.slice(m,g)),u.ext=l.slice(h,g)),m>0?u.dir=l.slice(0,m-1):d&&(u.dir="/"),u},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return t[i](a,a.exports,n),a.exports}n.d=(i,s)=>{for(var a in s)n.o(s,a)&&!n.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},n.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),n.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;n.r(r),n.d(r,{URI:()=>d,Utils:()=>ke}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function l(S,T){if(!S.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${S.authority}", path: "${S.path}", query: "${S.query}", fragment: "${S.fragment}"}`);if(S.scheme&&!s.test(S.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(S.path){if(S.authority){if(!a.test(S.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(S.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const u="",c="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(T,$,x,O,b,N=!1){pt(this,"scheme");pt(this,"authority");pt(this,"path");pt(this,"query");pt(this,"fragment");typeof T=="object"?(this.scheme=T.scheme||u,this.authority=T.authority||u,this.path=T.path||u,this.query=T.query||u,this.fragment=T.fragment||u):(this.scheme=function(ve,Z){return ve||Z?ve:"file"}(T,N),this.authority=$||u,this.path=function(ve,Z){switch(ve){case"https":case"http":case"file":Z?Z[0]!==c&&(Z=c+Z):Z=c}return Z}(this.scheme,x||u),this.query=O||u,this.fragment=b||u,l(this,N))}static isUri(T){return T instanceof d||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}get fsPath(){return E(this)}with(T){if(!T)return this;let{scheme:$,authority:x,path:O,query:b,fragment:N}=T;return $===void 0?$=this.scheme:$===null&&($=u),x===void 0?x=this.authority:x===null&&(x=u),O===void 0?O=this.path:O===null&&(O=u),b===void 0?b=this.query:b===null&&(b=u),N===void 0?N=this.fragment:N===null&&(N=u),$===this.scheme&&x===this.authority&&O===this.path&&b===this.query&&N===this.fragment?this:new m($,x,O,b,N)}static parse(T,$=!1){const x=f.exec(T);return x?new m(x[2]||u,se(x[4]||u),se(x[5]||u),se(x[7]||u),se(x[9]||u),$):new m(u,u,u,u,u)}static file(T){let $=u;if(i&&(T=T.replace(/\\/g,c)),T[0]===c&&T[1]===c){const x=T.indexOf(c,2);x===-1?($=T.substring(2),T=c):($=T.substring(2,x),T=T.substring(x)||c)}return new m("file",$,T,u,u)}static from(T){const $=new m(T.scheme,T.authority,T.path,T.query,T.fragment);return l($,!0),$}toString(T=!1){return v(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof d)return T;{const $=new m(T);return $._formatted=T.external,$._fsPath=T._sep===h?T.fsPath:null,$}}return T}}const h=i?1:void 0;class m extends d{constructor(){super(...arguments);pt(this,"_formatted",null);pt(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=E(this)),this._fsPath}toString($=!1){return $?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){const $={$mid:1};return this._fsPath&&($.fsPath=this._fsPath,$._sep=h),this._formatted&&($.external=this._formatted),this.path&&($.path=this.path),this.scheme&&($.scheme=this.scheme),this.authority&&($.authority=this.authority),this.query&&($.query=this.query),this.fragment&&($.fragment=this.fragment),$}}const g={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 R(S,T,$){let x,O=-1;for(let b=0;b<S.length;b++){const N=S.charCodeAt(b);if(N>=97&&N<=122||N>=65&&N<=90||N>=48&&N<=57||N===45||N===46||N===95||N===126||T&&N===47||$&&N===91||$&&N===93||$&&N===58)O!==-1&&(x+=encodeURIComponent(S.substring(O,b)),O=-1),x!==void 0&&(x+=S.charAt(b));else{x===void 0&&(x=S.substr(0,b));const ve=g[N];ve!==void 0?(O!==-1&&(x+=encodeURIComponent(S.substring(O,b)),O=-1),x+=ve):O===-1&&(O=b)}}return O!==-1&&(x+=encodeURIComponent(S.substring(O))),x!==void 0?x:S}function y(S){let T;for(let $=0;$<S.length;$++){const x=S.charCodeAt($);x===35||x===63?(T===void 0&&(T=S.substr(0,$)),T+=g[x]):T!==void 0&&(T+=S[$])}return T!==void 0?T:S}function E(S,T){let $;return $=S.authority&&S.path.length>1&&S.scheme==="file"?`//${S.authority}${S.path}`:S.path.charCodeAt(0)===47&&(S.path.charCodeAt(1)>=65&&S.path.charCodeAt(1)<=90||S.path.charCodeAt(1)>=97&&S.path.charCodeAt(1)<=122)&&S.path.charCodeAt(2)===58?S.path[1].toLowerCase()+S.path.substr(2):S.path,i&&($=$.replace(/\//g,"\\")),$}function v(S,T){const $=T?y:R;let x="",{scheme:O,authority:b,path:N,query:ve,fragment:Z}=S;if(O&&(x+=O,x+=":"),(b||O==="file")&&(x+=c,x+=c),b){let W=b.indexOf("@");if(W!==-1){const wt=b.substr(0,W);b=b.substr(W+1),W=wt.lastIndexOf(":"),W===-1?x+=$(wt,!1,!1):(x+=$(wt.substr(0,W),!1,!1),x+=":",x+=$(wt.substr(W+1),!1,!0)),x+="@"}b=b.toLowerCase(),W=b.lastIndexOf(":"),W===-1?x+=$(b,!1,!0):(x+=$(b.substr(0,W),!1,!0),x+=b.substr(W))}if(N){if(N.length>=3&&N.charCodeAt(0)===47&&N.charCodeAt(2)===58){const W=N.charCodeAt(1);W>=65&&W<=90&&(N=`/${String.fromCharCode(W+32)}:${N.substr(3)}`)}else if(N.length>=2&&N.charCodeAt(1)===58){const W=N.charCodeAt(0);W>=65&&W<=90&&(N=`${String.fromCharCode(W+32)}:${N.substr(2)}`)}x+=$(N,!0,!1)}return ve&&(x+="?",x+=$(ve,!1,!1)),Z&&(x+="#",x+=T?Z:R(Z,!1,!1)),x}function I(S){try{return decodeURIComponent(S)}catch{return S.length>3?S.substr(0,3)+I(S.substr(3)):S}}const M=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function se(S){return S.match(M)?S.replace(M,T=>I(T)):S}var Me=n(470);const Te=Me.posix||Me,Ve="/";var ke;(function(S){S.joinPath=function(T,...$){return T.with({path:Te.join(T.path,...$)})},S.resolvePath=function(T,...$){let x=T.path,O=!1;x[0]!==Ve&&(x=Ve+x,O=!0);let b=Te.resolve(x,...$);return O&&b[0]===Ve&&!T.authority&&(b=b.substring(1)),T.with({path:b})},S.dirname=function(T){if(T.path.length===0||T.path===Ve)return T;let $=Te.dirname(T.path);return $.length===1&&$.charCodeAt(0)===46&&($=""),T.with({path:$})},S.basename=function(T){return Te.basename(T.path)},S.extname=function(T){return Te.extname(T.path)}})(ke||(ke={}))})(),Rd=r})();const{URI:Ft,Utils:On}=Rd;var Rt;(function(t){t.basename=On.basename,t.dirname=On.dirname,t.extname=On.extname,t.joinPath=On.joinPath,t.resolvePath=On.resolvePath;function e(i,s){return(i==null?void 0:i.toString())===(s==null?void 0:s.toString())}t.equals=e;function n(i,s){const a=typeof i=="string"?i:i.path,o=typeof s=="string"?s:s.path,l=a.split("/").filter(h=>h.length>0),u=o.split("/").filter(h=>h.length>0);let c=0;for(;c<l.length&&l[c]===u[c];c++);const f="../".repeat(l.length-c),d=u.slice(c).join("/");return f+d}t.relative=n;function r(i){return Ft.parse(i.toString()).toString()}t.normalize=r})(Rt||(Rt={}));var K;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(K||(K={}));class s${constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=V.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??Ft.parse(e.uri),V.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return V.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:K.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:K.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){var r,i;const s=(r=e.parseResult.value.$cstNode)===null||r===void 0?void 0:r.root.fullText,a=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{const l=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:l})}return s!==o&&(e.parseResult=await this.parseAsync(e.uri,o,n),e.parseResult.value.$document=e),e.state=K.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=Ua.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class a${constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return ne(this.documentMap.values())}addDocument(e){const n=e.uri.toString();if(this.documentMap.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentMap.set(n,e)}getDocument(e){const n=e.toString();return this.documentMap.get(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=K.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const n=e.toString(),r=this.documentMap.get(n);return r&&(r.state=K.Changed,this.documentMap.delete(n)),r}}const Bs=Symbol("ref_resolving");class o${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,n=V.None){for(const r of Xt(e.parseResult.value))await Ee(n),kc(r).forEach(i=>this.doLink(i,e))}doLink(e,n){var r;const i=e.reference;if(i._ref===void 0){i._ref=Bs;try{const s=this.getCandidate(e);if(ai(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const a=this.loadAstNode(s);i._ref=a??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const a=(r=s.message)!==null&&r!==void 0?r:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${a}`})}n.references.push(i)}}unlink(e){for(const n of e.references)delete n._ref,delete n._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,get ref(){var o;if(le(this._ref))return this._ref;if(rh(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=Bs;const l=ia(e).$document,u=s.getLinkedNode({reference:a,container:e,property:n});if(u.error&&l&&l.state<K.ComputedScopes)return this._ref=void 0;this._ref=(o=u.node)!==null&&o!==void 0?o:u.error,this._nodeDescription=u.descr,l==null||l.references.push(this)}else if(this._ref===Bs)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${i}')`);return le(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return ai(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var n;try{const r=this.getCandidate(e);if(ai(r))return{error:r};const i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const i=(n=r.message)!==null&&n!==void 0?n:String(r);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=ia(e.container).$document;r&&r.state<K.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n})}}function l$(t){return typeof t.name=="string"}class u${getName(e){if(l$(e))return e.name}getNameNode(e){return bc(e.$cstNode,"name")}}class c${constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const n=Yh(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(ze(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(ze(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||ah(e,i)))return r}}}findDeclarationNode(e){const n=this.findDeclaration(e);if(n!=null&&n.$cstNode){const r=this.nameProvider.getNameNode(n);return r??n.$cstNode}}findReferences(e,n){const r=[];if(n.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>Rt.equals(s.sourceUri,n.documentUri))),r.push(...i),ne(r)}getReferenceToSelf(e){const n=this.nameProvider.getNameNode(e);if(n){const r=mt(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:$i(n),local:!0}}}}class Vi{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return ta.sum(ne(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var n;return(n=this.map.get(e))!==null&&n!==void 0?n:[]}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ne(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return ne(this.map.keys())}values(){return ne(this.map.values()).flat()}entriesGroupedByKey(){return ne(this.map.entries())}}class Qu{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class f${constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,n=V.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,n)}async computeExportsForNode(e,n,r=za,i=V.None){const s=[];this.exportNode(e,s,n);for(const a of r(e))await Ee(i),this.exportNode(a,s,n);return s}exportNode(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,n=V.None){const r=e.parseResult.value,i=new Vi;for(const s of kr(r))await Ee(n),this.processNode(s,e,i);return i}processNode(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class ec{constructor(e,n,r){var i;this.elements=e,this.outerScope=n,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}}class d${constructor(e,n,r){var i;this.elements=new Map,this.caseInsensitive=(i=r==null?void 0:r.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=ne(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Ad{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 h$ extends Ad{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class p$ extends Ad{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class m$ extends h${constructor(e,n){super(),n?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(n,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class g${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 m$(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=mt(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&n.push(ne(o).filter(l=>this.reflection.isSubtype(l.type,r))),a=a.$container}while(a)}let s=this.getGlobalScope(r,e);for(let a=n.length-1;a>=0;a--)s=this.createScope(n[a],s);return s}createScope(e,n,r){return new ec(ne(e),n,r)}createScopeForNodes(e,n,r){const i=ne(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new ec(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new d$(this.indexManager.allElements(e)))}}function y$(t){return typeof t.$comment=="string"}function tc(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class T${constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,n){const r=n??{},i=n==null?void 0:n.replacer,s=(o,l)=>this.replacer(o,l,r),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=mt(e),JSON.stringify(e,a,n==null?void 0:n.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,u,c,f;if(!this.ignoreProperties.has(e))if(ze(n)){const d=n.ref,h=r?n.$refText:void 0;if(d){const m=mt(d);let g="";this.currentDocument&&this.currentDocument!==m&&(o?g=o(m.uri,n):g=m.uri.toString());const R=this.astNodeLocator.getAstNodePath(d);return{$ref:`${g}#${R}`,$refText:h}}else return{$error:(u=(l=n.error)===null||l===void 0?void 0:l.message)!==null&&u!==void 0?u:"Could not resolve reference",$refText:h}}else if(le(n)){let d;if(s&&(d=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},n)),(!e||n.$document)&&(d!=null&&d.$textRegion)&&(d.$textRegion.documentURI=(c=this.currentDocument)===null||c===void 0?void 0:c.uri.toString())),i&&!e&&(d??(d=Object.assign({},n)),d.$sourceText=(f=n.$cstNode)===null||f===void 0?void 0:f.text),a){d??(d=Object.assign({},n));const h=this.commentProvider.getComment(n);h&&(d.$comment=h.replace(/\r/g,""))}return d??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=Wh(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let c=0;c<u.length;c++){const f=u[c];tc(f)?u[c]=this.reviveReference(e,l,n,f,r):le(f)&&this.linkNode(f,n,r,e,l,c)}else tc(u)?e[l]=this.reviveReference(e,l,n,u,r):le(u)&&this.linkNode(u,n,r,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,n,r,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(le(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}if(o){const l={$refText:a??""};return l.error={container:e,property:n,message:o,reference:l},l}else return}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const l=this.astNodeLocator.getAstNode(e,n.substring(1));return l||"Could not resolve path: "+n}if(i<0){const l=r?r(n):Ft.parse(n),u=this.langiumDocuments.getDocument(l);return u?u.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):Ft.parse(n.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+n;if(i===n.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,n.substring(i+1));return o||"Could not resolve URI: "+n}catch(i){return String(i)}}}class v${get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e==null?void 0:e.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(n.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var n,r;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(r=(n=this.textDocuments)===null||n===void 0?void 0:n.get(e))===null||r===void 0?void 0:r.languageId;if(i!==void 0){const o=this.languageIdMap.get(i);if(o)return o}const s=Rt.extname(e),a=this.fileExtensionMap.get(s);if(!a)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function fr(t){return{code:t}}var Wi;(function(t){t.all=["fast","slow","built-in"]})(Wi||(Wi={}));class R${constructor(e){this.entries=new Vi,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const l={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else Ir()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if(vs(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{node:i})}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=ne(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,n=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",n))}registerAfterDocument(e,n=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",n))}wrapPreparationException(e,n,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class A${constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,n={},r=V.None){const i=e.parseResult,s=[];if(await Ee(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.LexingError})||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.ParsingError}))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Fe.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if(vs(a))throw a;console.error("An error occurred during validation:",a)}return await Ee(r),s}processLexingErrors(e,n,r){var i,s,a;const o=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const l of o){const u=(a=l.severity)!==null&&a!==void 0?a:"error",c={severity:js(u),range:{start:{line:l.line-1,character:l.column-1},end:{line:l.line-1,character:l.column+l.length-1}},message:l.message,data:$$(u),source:this.getSource()};n.push(c)}}processParsingErrors(e,n,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=ra(i.token);if(s){const a={severity:js("error"),range:s,message:i.message,data:fr(Fe.ParsingError),source:this.getSource()};n.push(a)}}}processLinkingErrors(e,n,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Fe.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};n.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,n,r=V.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=V.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await Ee(i),await o(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,n,r,i=V.None){await Promise.all(Xt(e).map(async s=>{await Ee(i);const a=this.validationRegistry.getChecks(s.$type,n.categories);for(const o of a)await o(s,r,i)}))}async validateAstAfter(e,n,r,i=V.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await Ee(i),await o(e,r,(s=n.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,n,r){return{message:n,range:E$(r),severity:js(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function E$(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=bc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=zh(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function js(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function $$(t){switch(t){case"error":return fr(Fe.LexingError);case"warning":return fr(Fe.LexingWarning);case"info":return fr(Fe.LexingInfo);case"hint":return fr(Fe.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Fe;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Fe||(Fe={}));class S${constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??mt(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=$i((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:n,get nameSegment(){return o()},selectionSegment:$i(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class x${constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=V.None){const r=[],i=e.parseResult.value;for(const s of Xt(i))await Ee(n),kc(s).filter(a=>!ai(a)).forEach(a=>{const o=this.createDescription(a);o&&r.push(o)});return r}createDescription(e){const n=e.reference.$nodeDescription,r=e.reference.$refNode;if(!n||!r)return;const i=mt(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:n.documentUri,targetPath:n.path,segment:$i(r),local:Rt.equals(n.documentUri,i)}}}class I${constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),l=parseInt(s.substring(a+1)),u=i[o];return u==null?void 0:u[l]}return i[s]},e)}}class k${constructor(e){this._ready=new No,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new yd,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var n,r;this.workspaceConfig=(r=(n=e.capabilities.workspace)===null||n===void 0?void 0:n.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(n=>{const r=e.settings[n];this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var yr;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(yr||(yr={}));class w${constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Vi,this.documentPhaseListeners=new Vi,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=K.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,n={},r=V.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===K.Validated){if(typeof n.validation=="boolean"&&n.validation)a.state=K.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof n.validation=="object"){const l=this.buildState.get(o),u=(i=l==null?void 0:l.result)===null||i===void 0?void 0:i.validationChecks;if(u){const f=((s=n.validation.categories)!==null&&s!==void 0?s:Wi.all).filter(d=>!u.includes(d));f.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},n.validation),{categories:f})},result:l.result}),a.state=K.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=K.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=V.None){this.currentState=K.Changed;for(const a of n)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);l.state=K.Changed,this.langiumDocuments.addDocument(l)}this.buildState.delete(a.toString())}const i=ne(e).concat(n).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,K.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,n),await Ee(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<K.Linked||!(!((o=this.buildState.get(a.uri.toString()))===null||o===void 0)&&o.completed)}).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){var n;return!!(!((n=this.textDocuments)===null||n===void 0)&&n.get(e.uri))}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),yr.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,K.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,K.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,K.ComputedScopes,r,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,r)}),await this.runCancelable(e,K.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,K.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,K.Validated,r,s=>this.validate(s,r));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,n){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:n,result:s==null?void 0:s.result})}}async runCancelable(e,n,r,i){const s=e.filter(o=>o.state<n);for(const o of s)await Ee(r),await i(o),o.state=n,await this.notifyDocumentPhase(o,n,r);const a=e.filter(o=>o.state===n);await this.notifyBuildPhase(a,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),yr.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),yr.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;if(n&&"path"in n?i=n:r=n,r??(r=V.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(Hi):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const u=this.langiumDocuments.getDocument(i);s(u==null?void 0:u.uri)}else s(void 0)}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(Hi)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await a(e,r)}catch(o){if(!vs(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await Ee(r),await a(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,n);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const u=this.buildState.get(e.uri.toString());if(u){(r=u.result)!==null&&r!==void 0||(u.result={});const c=(i=o==null?void 0:o.categories)!==null&&i!==void 0?i:Wi.all;u.result.validationChecks?u.result.validationChecks.push(...c):u.result.validationChecks=[...c]}}getBuildOptions(e){var n,r;return(r=(n=this.buildState.get(e.uri.toString()))===null||n===void 0?void 0:n.options)!==null&&r!==void 0?r:{}}}class C${constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new p$,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=mt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{Rt.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),ne(i)}allElements(e,n){let r=ne(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){var r;return n?this.symbolByTypeIndex.get(e,n,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(o=>this.astReflection.isSubtype(o.type,n))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n),this.referenceIndex.delete(n)}async updateContent(e,n=V.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=V.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class _${constructor(e){this.initialBuildOptions={},this._ready=new No,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 n;this.folders=(n=e.workspaceFolders)!==null&&n!==void 0?n:void 0}initialized(e){return this.mutex.write(n=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],n)})}async initializeWorkspace(e,n=V.None){const r=await this.performStartup(e);await Ee(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,n,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return Ft.parse(e.uri)}async traverseFolder(e,n,r,i){const s=await this.fileSystemProvider.readDirectory(n);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,r)){if(a.isDirectory)await this.traverseFolder(e,a.uri,r,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,n,r){const i=Rt.basename(n.uri);if(i.startsWith("."))return!1;if(n.isDirectory)return i!=="node_modules"&&i!=="out";if(n.isFile){const s=Rt.extname(n.uri);return r.includes(s)}return!1}}class N${buildUnexpectedCharactersMessage(e,n,r,i,s){return ha.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return ha.buildUnableToPopLexerModeMessage(e)}}const b$={mode:"full"};class O${constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=nc(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new he(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=b$){var r,i,s;const a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:(r=a.groups.hidden)!==null&&r!==void 0?r:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(nc(e))return e;const n=Ed(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function L$(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function Ed(t){return t&&"modes"in t&&"defaultMode"in t}function nc(t){return!L$(t)&&!Ed(t)}function P$(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=D.create(0,0));const s=$d(t),a=bo(r),o=F$({lines:s,position:i,options:a});return K$({index:0,tokens:o,position:i})}function M$(t,e){const n=bo(e),r=$d(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!(a!=null&&a.exec(i))&&!!(o!=null&&o.exec(s))}function $d(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Lh)}const rc=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,D$=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function F$(t){var e,n,r;const i=[];let s=t.position.line,a=t.position.character;for(let o=0;o<t.lines.length;o++){const l=o===0,u=o===t.lines.length-1;let c=t.lines[o],f=0;if(l&&t.options.start){const h=(e=t.options.start)===null||e===void 0?void 0:e.exec(c);h&&(f=h.index+h[0].length)}else{const h=(n=t.options.line)===null||n===void 0?void 0:n.exec(c);h&&(f=h.index+h[0].length)}if(u){const h=(r=t.options.end)===null||r===void 0?void 0:r.exec(c);h&&(c=c.substring(0,h.index))}if(c=c.substring(0,j$(c)),ja(c,f)>=c.length){if(i.length>0){const h=D.create(s,a);i.push({type:"break",content:"",range:L.create(h,h)})}}else{rc.lastIndex=f;const h=rc.exec(c);if(h){const m=h[0],g=h[1],R=D.create(s,a+f),y=D.create(s,a+f+m.length);i.push({type:"tag",content:g,range:L.create(R,y)}),f+=m.length,f=ja(c,f)}if(f<c.length){const m=c.substring(f),g=Array.from(m.matchAll(D$));i.push(...G$(g,m,s,a+f))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function G$(t,e,n,r){const i=[];if(t.length===0){const s=D.create(n,r),a=D.create(n,r+e.length);i.push({type:"text",content:e,range:L.create(s,a)})}else{let s=0;for(const o of t){const l=o.index,u=e.substring(s,l);u.length>0&&i.push({type:"text",content:e.substring(s,l),range:L.create(D.create(n,s+r),D.create(n,l+r))});let c=u.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:L.create(D.create(n,s+c+r),D.create(n,s+c+f.length+r))}),c+=f.length,o.length===4){c+=o[2].length;const d=o[3];i.push({type:"text",content:d,range:L.create(D.create(n,s+c+r),D.create(n,s+c+d.length+r))})}else i.push({type:"text",content:"",range:L.create(D.create(n,s+c+r),D.create(n,s+c+r))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:L.create(D.create(n,s+r),D.create(n,s+r+a.length))})}return i}const U$=/\S/,B$=/\s*$/;function ja(t,e){const n=t.substring(e).match(U$);return n?e+n.index:t.length}function j$(t){const e=t.match(B$);if(e&&typeof e.index=="number")return e.index}function K$(t){var e,n,r,i;const s=D.create(t.position.line,t.position.character);if(t.tokens.length===0)return new ic([],L.create(s,s));const a=[];for(;t.index<t.tokens.length;){const u=H$(t,a[a.length-1]);u&&a.push(u)}const o=(n=(e=a[0])===null||e===void 0?void 0:e.range.start)!==null&&n!==void 0?n:s,l=(i=(r=a[a.length-1])===null||r===void 0?void 0:r.range.end)!==null&&i!==void 0?i:s;return new ic(a,L.create(o,l))}function H$(t,e){const n=t.tokens[t.index];if(n.type==="tag")return xd(t,!1);if(n.type==="text"||n.type==="inline-tag")return Sd(t);V$(n,e),t.index++}function V$(t,e){if(e){const n=new kd("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function Sd(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(W$(t)),r=e,e=t.tokens[t.index];return new Ka(i,L.create(n.range.start,r.range.end))}function W$(t){return t.tokens[t.index].type==="inline-tag"?xd(t,!0):Id(t)}function xd(t,e){const n=t.tokens[t.index++],r=n.content.substring(1),i=t.tokens[t.index];if((i==null?void 0:i.type)==="text")if(e){const s=Id(t);return new Hs(r,new Ka([s],s.range),e,L.create(n.range.start,s.range.end))}else{const s=Sd(t);return new Hs(r,s,e,L.create(n.range.start,s.range.end))}else{const s=n.range;return new Hs(r,new Ka([],s),e,s)}}function Id(t){const e=t.tokens[t.index++];return new kd(e.content,e.range)}function bo(t){if(!t)return bo({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:Ks(e,!0),end:Ks(n,!1),line:Ks(r,!0)}}function Ks(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?Ji(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class ic{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=sc(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=sc(n)+i}return n.trim()}}class Hs{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
|
|
118
|
+
${n}`),this.inline?`{${e}}`:e}toMarkdown(e){var n,r;return(r=(n=e==null?void 0:e.renderTag)===null||n===void 0?void 0:n.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=z$(this.name,n,e??{});if(typeof s=="string")return s}let r="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?r="*":(e==null?void 0:e.tag)==="bold"?r="**":(e==null?void 0:e.tag)==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${n}`:this.content.inlines.length>1&&(i=`${i}
|
|
119
|
+
${n}`),this.inline?`{${i}}`:i}}function z$(t,e,n){var r,i;if(t==="linkplain"||t==="linkcode"||t==="link"){const s=e.indexOf(" ");let a=e;if(s>0){const l=ja(e,s);a=e.substring(l),e=e.substring(0,s)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(a=`\`${a}\``),(i=(r=n.renderLink)===null||r===void 0?void 0:r.call(n,e,a))!==null&&i!==void 0?i:q$(e,a)}}function q$(t,e){try{return Ft.parse(t,!0),`[${e}](${t})`}catch{return t}}class Ka{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
|
|
120
|
+
`)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
|
|
121
|
+
`)}return n}}class kd{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function sc(t){return t.endsWith(`
|
|
122
|
+
`)?`
|
|
123
|
+
`:`
|
|
124
|
+
|
|
125
|
+
`}class Y${constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&M$(n))return P$(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,n))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,n);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1,l=s.documentUri.with({fragment:`L${a},${o}`});return`[${r}](${l.toString()})`}else return}documentationTagRenderer(e,n){}findNameInPrecomputedScopes(e,n){const i=mt(e).precomputedScopes;if(!i)return;let s=e;do{const o=i.get(s).find(l=>l.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class X${constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var n;return y$(e)?e.$comment:(n=ch(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||n===void 0?void 0:n.text}}class J${constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class Z${constructor(){this.previousTokenSource=new _o,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=r$();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=V.None){const i=new No,s={action:n,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){vs(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class Q${constructor(e){this.grammarElementIdMap=new Qu,this.tokenTypeIdMap=new Qu,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(n=>Object.assign(Object.assign({},n),{message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of Xt(e))n.set(i,{});if(e.$cstNode)for(const i of na(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,n));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)le(o)?a.push(this.dehydrateAstNode(o,n)):ze(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else le(s)?r[i]=this.dehydrateAstNode(s,n):ze(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return vc(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Tr(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Tc(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){const n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of Xt(e))n.set(s,{});let i;if(e.$cstNode)for(const s of na(e.$cstNode)){let a;"fullText"in s?(a=new sd(s.fullText),i=a):"content"in s?a=new wo:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)le(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):ze(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else le(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):ze(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),Tr(i))for(const s of e.content){const a=this.hydrateCstNode(s,n,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new La(r,i,{start:{line:s,character:a},end:{line:o,character:l}},n,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const n of Xt(this.grammar))dh(n)&&this.grammarElementIdMap.set(n,e++)}}function St(t){return{documentation:{CommentProvider:e=>new X$(e),DocumentationProvider:e=>new Y$(e)},parser:{AsyncParser:e=>new J$(e),GrammarConfig:e=>rp(e),LangiumParser:e=>jE(e),CompletionParser:e=>BE(e),ValueConverter:()=>new pd,TokenBuilder:()=>new hd,Lexer:e=>new O$(e),ParserErrorMessageProvider:()=>new ld,LexerErrorMessageProvider:()=>new N$},workspace:{AstNodeLocator:()=>new I$,AstNodeDescriptionProvider:e=>new S$(e),ReferenceDescriptionProvider:e=>new x$(e)},references:{Linker:e=>new o$(e),NameProvider:()=>new u$,ScopeProvider:e=>new g$(e),ScopeComputation:e=>new f$(e),References:e=>new c$(e)},serializer:{Hydrator:e=>new Q$(e),JsonSerializer:e=>new T$(e)},validation:{DocumentValidator:e=>new A$(e),ValidationRegistry:e=>new R$(e)},shared:()=>t.shared}}function xt(t){return{ServiceRegistry:e=>new v$(e),workspace:{LangiumDocuments:e=>new a$(e),LangiumDocumentFactory:e=>new s$(e),DocumentBuilder:e=>new w$(e),IndexManager:e=>new C$(e),WorkspaceManager:e=>new _$(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new Z$,ConfigurationProvider:e=>new k$(e)}}}var ac;(function(t){t.merge=(e,n)=>zi(zi({},e),n)})(ac||(ac={}));function ue(t,e,n,r,i,s,a,o,l){const u=[t,e,n,r,i,s,a,o,l].reduce(zi,{});return wd(u)}const eS=Symbol("isProxy");function wd(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===eS?!0:lc(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(lc(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const oc=Symbol();function lc(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===oc)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=oc;try{t[e]=typeof i=="function"?i(r):wd(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function zi(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!==void 0){const i=t[n];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?t[n]=zi(i,r):t[n]=r}}return t}class tS{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const It={fileSystemProvider:()=>new tS},nS={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},rS={AstReflection:()=>new Ic};function iS(){const t=ue(xt(It),rS),e=ue(St({shared:t}),nS);return t.ServiceRegistry.register(e),e}function Ht(t){var e;const n=iS(),r=n.serializer.JsonSerializer.deserialize(t);return n.shared.workspace.LangiumDocumentFactory.fromModel(r,Ft.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var sS=Object.defineProperty,A=(t,e)=>sS(t,"name",{value:e,configurable:!0}),uc="Statement",mi="Architecture";function aS(t){return He.isInstance(t,mi)}A(aS,"isArchitecture");var Qr="Axis",dr="Branch";function oS(t){return He.isInstance(t,dr)}A(oS,"isBranch");var ei="Checkout",ti="CherryPicking",Vs="ClassDefStatement",hr="Commit";function lS(t){return He.isInstance(t,hr)}A(lS,"isCommit");var Ws="Curve",zs="Edge",qs="Entry",pr="GitGraph";function uS(t){return He.isInstance(t,pr)}A(uS,"isGitGraph");var Ys="Group",gi="Info";function cS(t){return He.isInstance(t,gi)}A(cS,"isInfo");var ni="Item",Xs="Junction",mr="Merge";function fS(t){return He.isInstance(t,mr)}A(fS,"isMerge");var Js="Option",yi="Packet";function dS(t){return He.isInstance(t,yi)}A(dS,"isPacket");var Ti="PacketBlock";function hS(t){return He.isInstance(t,Ti)}A(hS,"isPacketBlock");var vi="Pie";function pS(t){return He.isInstance(t,vi)}A(pS,"isPie");var Ri="PieSection";function mS(t){return He.isInstance(t,Ri)}A(mS,"isPieSection");var Zs="Radar",Qs="Service",Ai="Treemap";function gS(t){return He.isInstance(t,Ai)}A(gS,"isTreemap");var ea="TreemapRow",ri="Direction",ii="Leaf",si="Section",Qt,Cd=(Qt=class extends yc{getAllTypes(){return[mi,Qr,dr,ei,ti,Vs,hr,Ws,ri,zs,qs,pr,Ys,gi,ni,Xs,ii,mr,Js,yi,Ti,vi,Ri,Zs,si,Qs,uc,Ai,ea]}computeIsSubtype(e,n){switch(e){case dr:case ei:case ti:case hr:case mr:return this.isSubtype(uc,n);case ri:return this.isSubtype(pr,n);case ii:case si:return this.isSubtype(ni,n);default:return!1}}getReferenceType(e){const n=`${e.container.$type}:${e.property}`;switch(n){case"Entry:axis":return Qr;default:throw new Error(`${n} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case mi:return{name:mi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Qr:return{name:Qr,properties:[{name:"label"},{name:"name"}]};case dr:return{name:dr,properties:[{name:"name"},{name:"order"}]};case ei:return{name:ei,properties:[{name:"branch"}]};case ti:return{name:ti,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case Vs:return{name:Vs,properties:[{name:"className"},{name:"styleText"}]};case hr:return{name:hr,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Ws:return{name:Ws,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case zs:return{name:zs,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 qs:return{name:qs,properties:[{name:"axis"},{name:"value"}]};case pr:return{name:pr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case Ys:return{name:Ys,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case gi:return{name:gi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case ni:return{name:ni,properties:[{name:"classSelector"},{name:"name"}]};case Xs:return{name:Xs,properties:[{name:"id"},{name:"in"}]};case mr:return{name:mr,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Js:return{name:Js,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case yi:return{name:yi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Ti:return{name:Ti,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case vi:return{name:vi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case Ri:return{name:Ri,properties:[{name:"label"},{name:"value"}]};case Zs:return{name:Zs,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case Qs:return{name:Qs,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case Ai:return{name:Ai,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case ea:return{name:ea,properties:[{name:"indent"},{name:"item"}]};case ri:return{name:ri,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case ii:return{name:ii,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case si:return{name:si,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},A(Qt,"MermaidAstReflection"),Qt),He=new Cd,cc,yS=A(()=>cc??(cc=Ht(`{"$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"),fc,TS=A(()=>fc??(fc=Ht(`{"$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"),dc,vS=A(()=>dc??(dc=Ht(`{"$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"),hc,RS=A(()=>hc??(hc=Ht(`{"$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"),pc,AS=A(()=>pc??(pc=Ht(`{"$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"),mc,ES=A(()=>mc??(mc=Ht(`{"$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"),gc,$S=A(()=>gc??(gc=Ht(`{"$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"),SS={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xS={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},IS={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kS={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wS={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CS={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},_S={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Vt={AstReflection:A(()=>new Cd,"AstReflection")},NS={Grammar:A(()=>yS(),"Grammar"),LanguageMetaData:A(()=>SS,"LanguageMetaData"),parser:{}},bS={Grammar:A(()=>TS(),"Grammar"),LanguageMetaData:A(()=>xS,"LanguageMetaData"),parser:{}},OS={Grammar:A(()=>vS(),"Grammar"),LanguageMetaData:A(()=>IS,"LanguageMetaData"),parser:{}},LS={Grammar:A(()=>RS(),"Grammar"),LanguageMetaData:A(()=>kS,"LanguageMetaData"),parser:{}},PS={Grammar:A(()=>AS(),"Grammar"),LanguageMetaData:A(()=>wS,"LanguageMetaData"),parser:{}},MS={Grammar:A(()=>ES(),"Grammar"),LanguageMetaData:A(()=>CS,"LanguageMetaData"),parser:{}},DS={Grammar:A(()=>$S(),"Grammar"),LanguageMetaData:A(()=>_S,"LanguageMetaData"),parser:{}},FS=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,GS=/accTitle[\t ]*:([^\n\r]*)/,US=/title([\t ][^\n\r]*|)/,BS={ACC_DESCR:FS,ACC_TITLE:GS,TITLE:US},en,Rs=(en=class extends pd{runConverter(e,n,r){let i=this.runCommonConverter(e,n,r);return i===void 0&&(i=this.runCustomConverter(e,n,r)),i===void 0?super.runConverter(e,n,r):i}runCommonConverter(e,n,r){const i=BS[e.name];if(i===void 0)return;const s=i.exec(n);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
|
|
126
|
+
`)}}},A(en,"AbstractMermaidValueConverter"),en),tn,As=(tn=class extends Rs{runCustomConverter(e,n,r){}},A(tn,"CommonValueConverter"),tn),nn,kt=(nn=class extends hd{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,n,r){const i=super.buildKeywordTokens(e,n,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},A(nn,"AbstractMermaidTokenBuilder"),nn),rn;rn=class extends kt{},A(rn,"CommonTokenBuilder");var sn,jS=(sn=class extends kt{constructor(){super(["gitGraph"])}},A(sn,"GitGraphTokenBuilder"),sn),_d={parser:{TokenBuilder:A(()=>new jS,"TokenBuilder"),ValueConverter:A(()=>new As,"ValueConverter")}};function Nd(t=It){const e=ue(xt(t),Vt),n=ue(St({shared:e}),PS,_d);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}A(Nd,"createGitGraphServices");var an,KS=(an=class extends kt{constructor(){super(["info","showInfo"])}},A(an,"InfoTokenBuilder"),an),bd={parser:{TokenBuilder:A(()=>new KS,"TokenBuilder"),ValueConverter:A(()=>new As,"ValueConverter")}};function Od(t=It){const e=ue(xt(t),Vt),n=ue(St({shared:e}),NS,bd);return e.ServiceRegistry.register(n),{shared:e,Info:n}}A(Od,"createInfoServices");var on,HS=(on=class extends kt{constructor(){super(["packet"])}},A(on,"PacketTokenBuilder"),on),Ld={parser:{TokenBuilder:A(()=>new HS,"TokenBuilder"),ValueConverter:A(()=>new As,"ValueConverter")}};function Pd(t=It){const e=ue(xt(t),Vt),n=ue(St({shared:e}),bS,Ld);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}A(Pd,"createPacketServices");var ln,VS=(ln=class extends kt{constructor(){super(["pie","showData"])}},A(ln,"PieTokenBuilder"),ln),un,WS=(un=class extends Rs{runCustomConverter(e,n,r){if(e.name==="PIE_SECTION_LABEL")return n.replace(/"/g,"").trim()}},A(un,"PieValueConverter"),un),Md={parser:{TokenBuilder:A(()=>new VS,"TokenBuilder"),ValueConverter:A(()=>new WS,"ValueConverter")}};function Dd(t=It){const e=ue(xt(t),Vt),n=ue(St({shared:e}),OS,Md);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}A(Dd,"createPieServices");var cn,zS=(cn=class extends kt{constructor(){super(["architecture"])}},A(cn,"ArchitectureTokenBuilder"),cn),fn,qS=(fn=class extends Rs{runCustomConverter(e,n,r){if(e.name==="ARCH_ICON")return n.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return n.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return n.replace(/[[\]]/g,"").trim()}},A(fn,"ArchitectureValueConverter"),fn),Fd={parser:{TokenBuilder:A(()=>new zS,"TokenBuilder"),ValueConverter:A(()=>new qS,"ValueConverter")}};function Gd(t=It){const e=ue(xt(t),Vt),n=ue(St({shared:e}),LS,Fd);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}A(Gd,"createArchitectureServices");var dn,YS=(dn=class extends kt{constructor(){super(["radar-beta"])}},A(dn,"RadarTokenBuilder"),dn),Ud={parser:{TokenBuilder:A(()=>new YS,"TokenBuilder"),ValueConverter:A(()=>new As,"ValueConverter")}};function Bd(t=It){const e=ue(xt(t),Vt),n=ue(St({shared:e}),MS,Ud);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}A(Bd,"createRadarServices");var hn,XS=(hn=class extends kt{constructor(){super(["treemap"])}},A(hn,"TreemapTokenBuilder"),hn),JS=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,pn,ZS=(pn=class extends Rs{runCustomConverter(e,n,r){if(e.name==="NUMBER2")return parseFloat(n.replace(/,/g,""));if(e.name==="SEPARATOR")return n.substring(1,n.length-1);if(e.name==="STRING2")return n.substring(1,n.length-1);if(e.name==="INDENTATION")return n.length;if(e.name==="ClassDef"){if(typeof n!="string")return n;const i=JS.exec(n);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},A(pn,"TreemapValueConverter"),pn);function jd(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}A(jd,"registerValidationChecks");var mn,QS=(mn=class{checkSingleRoot(e,n){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&n("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},A(mn,"TreemapValidator"),mn),Kd={parser:{TokenBuilder:A(()=>new XS,"TokenBuilder"),ValueConverter:A(()=>new ZS,"ValueConverter")},validation:{TreemapValidator:A(()=>new QS,"TreemapValidator")}};function Hd(t=It){const e=ue(xt(t),Vt),n=ue(St({shared:e}),DS,Kd);return e.ServiceRegistry.register(n),jd(n),{shared:e,Treemap:n}}A(Hd,"createTreemapServices");var nt={},ex={info:A(async()=>{const{createInfoServices:t}=await _t(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>rx);return{createInfoServices:n}},void 0,import.meta.url),e=t().Info.parser.LangiumParser;nt.info=e},"info"),packet:A(async()=>{const{createPacketServices:t}=await _t(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>ix);return{createPacketServices:n}},void 0,import.meta.url),e=t().Packet.parser.LangiumParser;nt.packet=e},"packet"),pie:A(async()=>{const{createPieServices:t}=await _t(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>sx);return{createPieServices:n}},void 0,import.meta.url),e=t().Pie.parser.LangiumParser;nt.pie=e},"pie"),architecture:A(async()=>{const{createArchitectureServices:t}=await _t(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>ax);return{createArchitectureServices:n}},void 0,import.meta.url),e=t().Architecture.parser.LangiumParser;nt.architecture=e},"architecture"),gitGraph:A(async()=>{const{createGitGraphServices:t}=await _t(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>ox);return{createGitGraphServices:n}},void 0,import.meta.url),e=t().GitGraph.parser.LangiumParser;nt.gitGraph=e},"gitGraph"),radar:A(async()=>{const{createRadarServices:t}=await _t(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>lx);return{createRadarServices:n}},void 0,import.meta.url),e=t().Radar.parser.LangiumParser;nt.radar=e},"radar"),treemap:A(async()=>{const{createTreemapServices:t}=await _t(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>ux);return{createTreemapServices:n}},void 0,import.meta.url),e=t().Treemap.parser.LangiumParser;nt.treemap=e},"treemap")};async function tx(t,e){const n=ex[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);nt[t]||await n();const i=nt[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new nx(i);return i.value}A(tx,"parse");var gn,nx=(gn=class extends Error{constructor(e){const n=e.lexerErrors.map(i=>i.message).join(`
|
|
127
|
+
`),r=e.parserErrors.map(i=>i.message).join(`
|
|
128
|
+
`);super(`Parsing failed: ${n} ${r}`),this.result=e}},A(gn,"MermaidParseError"),gn);const rx=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:bd,createInfoServices:Od},Symbol.toStringTag,{value:"Module"})),ix=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:Ld,createPacketServices:Pd},Symbol.toStringTag,{value:"Module"})),sx=Object.freeze(Object.defineProperty({__proto__:null,PieModule:Md,createPieServices:Dd},Symbol.toStringTag,{value:"Module"})),ax=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Fd,createArchitectureServices:Gd},Symbol.toStringTag,{value:"Module"})),ox=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:_d,createGitGraphServices:Nd},Symbol.toStringTag,{value:"Module"})),lx=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Ud,createRadarServices:Bd},Symbol.toStringTag,{value:"Module"})),ux=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Kd,createTreemapServices:Hd},Symbol.toStringTag,{value:"Module"}));export{tx as p};
|
|
129
|
+
//# sourceMappingURL=treemap-KMMF4GRG-BDDqLxLB.js.map
|