cmcts-c-agent-embedding 1.1.1-cmcuni → 1.1.3-cmcuni
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_basePickBy-1057a1b4.js +1 -0
- package/dist/_basePickBy-cbf78fb3.js +1 -0
- package/dist/_baseUniq-38ea2195.js +1 -0
- package/dist/_baseUniq-52a47b7b.js +1 -0
- package/dist/arc-6b847bc0.js +1 -0
- package/dist/arc-8928af28.js +1 -0
- package/dist/architecture-O4VJ6CD3-42323263.js +1 -0
- package/dist/architecture-O4VJ6CD3-b506967f.js +1 -0
- package/dist/architectureDiagram-VXUJARFQ-1bd867b6.js +1 -0
- package/dist/architectureDiagram-VXUJARFQ-2b851c59.js +1 -0
- package/dist/blockDiagram-VD42YOAC-5cea96b0.js +1 -0
- package/dist/blockDiagram-VD42YOAC-a909b757.js +1 -0
- package/dist/c4Diagram-YG6GDRKO-24d24519.js +1 -0
- package/dist/c4Diagram-YG6GDRKO-54783ab3.js +1 -0
- package/dist/channel-2af69aa2.js +1 -0
- package/dist/channel-f240e622.js +1 -0
- package/dist/chunk-4BX2VUAB-7747ae72.js +1 -0
- package/dist/chunk-4BX2VUAB-d05d937e.js +1 -0
- package/dist/chunk-55IACEB6-5a7b1be3.js +1 -0
- package/dist/chunk-55IACEB6-78729976.js +1 -0
- package/dist/chunk-B4BG7PRW-a97e69ff.js +1 -0
- package/dist/chunk-B4BG7PRW-cbf800c4.js +1 -0
- package/dist/chunk-DI55MBZ5-5dc4f926.js +1 -0
- package/dist/chunk-DI55MBZ5-95d71f6f.js +1 -0
- package/dist/chunk-FMBD7UC4-2c653fda.js +1 -0
- package/dist/chunk-FMBD7UC4-d75ed695.js +1 -0
- package/dist/chunk-QN33PNHL-0bf10733.js +1 -0
- package/dist/chunk-QN33PNHL-b00655c9.js +1 -0
- package/dist/chunk-QZHKN3VN-a979a9fe.js +1 -0
- package/dist/chunk-QZHKN3VN-d57979be.js +1 -0
- package/dist/chunk-TZMSLE5B-6755c559.js +1 -0
- package/dist/chunk-TZMSLE5B-ed6d6d7e.js +1 -0
- package/dist/classDiagram-2ON5EDUG-8b5a2a93.js +1 -0
- package/dist/classDiagram-2ON5EDUG-fa9ecfbb.js +1 -0
- package/dist/classDiagram-v2-WZHVMYZB-8b5a2a93.js +1 -0
- package/dist/classDiagram-v2-WZHVMYZB-fa9ecfbb.js +1 -0
- package/dist/clone-6cd174cf.js +1 -0
- package/dist/clone-8494eb3f.js +1 -0
- package/dist/components/Bot.d.ts.map +1 -1
- package/dist/components/bubbles/BotBubble.d.ts +1 -0
- package/dist/components/bubbles/BotBubble.d.ts.map +1 -1
- package/dist/components/buttons/ConsultationButton.d.ts +1 -0
- package/dist/components/buttons/ConsultationButton.d.ts.map +1 -1
- package/dist/components/buttons/PopupToast.d.ts +1 -1
- package/dist/components/buttons/PopupToast.d.ts.map +1 -1
- package/dist/components/buttons/ZaloChatButton.d.ts +16 -0
- package/dist/components/buttons/ZaloChatButton.d.ts.map +1 -0
- package/dist/components/demo/ZaloChatDemo.d.ts +2 -0
- package/dist/components/demo/ZaloChatDemo.d.ts.map +1 -0
- package/dist/components/modals/QuickChatModal.d.ts +10 -0
- package/dist/components/modals/QuickChatModal.d.ts.map +1 -0
- package/dist/components/modals/ZaloHybridWidget.d.ts +9 -0
- package/dist/components/modals/ZaloHybridWidget.d.ts.map +1 -0
- package/dist/components/modals/ZaloOfficialWidget.d.ts +12 -0
- package/dist/components/modals/ZaloOfficialWidget.d.ts.map +1 -0
- package/dist/components/modals/ZaloSmartWidget.d.ts +9 -0
- package/dist/components/modals/ZaloSmartWidget.d.ts.map +1 -0
- package/dist/components/modals/ZaloWebChatWidget.d.ts +9 -0
- package/dist/components/modals/ZaloWebChatWidget.d.ts.map +1 -0
- package/dist/components/quickchat/AlwaysOpenChat.d.ts +13 -0
- package/dist/components/quickchat/AlwaysOpenChat.d.ts.map +1 -0
- package/dist/components/quickchat/QuickChatButton.d.ts +10 -0
- package/dist/components/quickchat/QuickChatButton.d.ts.map +1 -0
- package/dist/components/quickchat/QuickChatConfig.d.ts +9 -0
- package/dist/components/quickchat/QuickChatConfig.d.ts.map +1 -0
- package/dist/components/quickchat/QuickChatPanel.d.ts +10 -0
- package/dist/components/quickchat/QuickChatPanel.d.ts.map +1 -0
- package/dist/components/quickchat/QuickChatWidget.d.ts +32 -0
- package/dist/components/quickchat/QuickChatWidget.d.ts.map +1 -0
- package/dist/components/quickchat/index.d.ts +7 -0
- package/dist/components/quickchat/index.d.ts.map +1 -0
- package/dist/cose-bilkent-S5V4N54A-2f5eb275.js +1 -0
- package/dist/cose-bilkent-S5V4N54A-3cda82b5.js +1 -0
- package/dist/cytoscape.esm-9acb9bfe.js +1 -0
- package/dist/dagre-6UL2VRFP-9b648c54.js +1 -0
- package/dist/dagre-6UL2VRFP-e997588d.js +1 -0
- package/dist/defaultLocale-1fe70b7d.js +1 -0
- package/dist/diagram-PSM6KHXK-1234d08d.js +1 -0
- package/dist/diagram-PSM6KHXK-15013de5.js +1 -0
- package/dist/diagram-QEK2KX5R-489b9505.js +1 -0
- package/dist/diagram-QEK2KX5R-9e94df2a.js +1 -0
- package/dist/diagram-S2PKOQOG-6fef3823.js +1 -0
- package/dist/diagram-S2PKOQOG-c943ed25.js +1 -0
- package/dist/erDiagram-Q2GNP2WA-2b1823f2.js +1 -0
- package/dist/erDiagram-Q2GNP2WA-7e6c6a04.js +1 -0
- package/dist/flowDiagram-NV44I4VS-709c6479.js +1 -0
- package/dist/flowDiagram-NV44I4VS-98a84da9.js +1 -0
- package/dist/ganttDiagram-LVOFAZNH-1d379d6a.js +1 -0
- package/dist/ganttDiagram-LVOFAZNH-d8342586.js +1 -0
- package/dist/gitGraph-ZV4HHKMB-788776f3.js +1 -0
- package/dist/gitGraph-ZV4HHKMB-ba420dcc.js +1 -0
- package/dist/gitGraphDiagram-NY62KEGX-804d1363.js +1 -0
- package/dist/gitGraphDiagram-NY62KEGX-919097ea.js +1 -0
- package/dist/graph-834f6046.js +1 -0
- package/dist/graph-db4953aa.js +1 -0
- package/dist/info-63CPKGFF-2dccc483.js +1 -0
- package/dist/info-63CPKGFF-ef40f1c4.js +1 -0
- package/dist/infoDiagram-F6ZHWCRC-579d50b4.js +1 -0
- package/dist/infoDiagram-F6ZHWCRC-c9877bad.js +1 -0
- package/dist/init-cf76ae07.js +1 -0
- package/dist/journeyDiagram-XKPGCS4Q-25d3c922.js +1 -0
- package/dist/journeyDiagram-XKPGCS4Q-2d2cda1c.js +1 -0
- package/dist/kanban-definition-3W4ZIXB7-c556bee0.js +1 -0
- package/dist/kanban-definition-3W4ZIXB7-cdb93ec0.js +1 -0
- package/dist/katex-0a18b0df.js +1 -0
- package/dist/layout-40652dba.js +1 -0
- package/dist/layout-54ffc604.js +1 -0
- package/dist/linear-2f639b72.js +1 -0
- package/dist/linear-ed2367ff.js +1 -0
- package/dist/mermaid-parser.core-0cfa7d2a.js +1 -0
- package/dist/mermaid-parser.core-10bed742.js +1 -0
- package/dist/mindmap-definition-VGOIOE7T-169f5fe5.js +1 -0
- package/dist/mindmap-definition-VGOIOE7T-dea1c792.js +1 -0
- package/dist/ordinal-221e41d7.js +1 -0
- package/dist/packet-HUATNLJX-6f2471ea.js +1 -0
- package/dist/packet-HUATNLJX-c69e28eb.js +1 -0
- package/dist/pie-WTHONI2E-4143e44b.js +1 -0
- package/dist/pie-WTHONI2E-82b1fe3f.js +1 -0
- package/dist/pieDiagram-ADFJNKIX-499eec78.js +1 -0
- package/dist/pieDiagram-ADFJNKIX-657effd5.js +1 -0
- package/dist/quadrantDiagram-AYHSOK5B-138a0c93.js +1 -0
- package/dist/quadrantDiagram-AYHSOK5B-91137c4d.js +1 -0
- package/dist/radar-NJJJXTRR-5e934a95.js +1 -0
- package/dist/radar-NJJJXTRR-94d77527.js +1 -0
- package/dist/requirementDiagram-UZGBJVZJ-a5d9fb39.js +1 -0
- package/dist/requirementDiagram-UZGBJVZJ-d7aeec99.js +1 -0
- package/dist/sankeyDiagram-TZEHDZUN-15053ae0.js +1 -0
- package/dist/sankeyDiagram-TZEHDZUN-aadd2125.js +1 -0
- package/dist/sequenceDiagram-WL72ISMW-12e778ef.js +1 -0
- package/dist/sequenceDiagram-WL72ISMW-9330a98a.js +1 -0
- package/dist/stateDiagram-FKZM4ZOC-01225f0f.js +1 -0
- package/dist/stateDiagram-FKZM4ZOC-af4836d7.js +1 -0
- package/dist/stateDiagram-v2-4FDKWEC3-4774cc10.js +1 -0
- package/dist/stateDiagram-v2-4FDKWEC3-5ef8e019.js +1 -0
- package/dist/timeline-definition-IT6M3QCI-9921f937.js +1 -0
- package/dist/timeline-definition-IT6M3QCI-a7a9bbec.js +1 -0
- package/dist/treemap-75Q7IDZK-100ddeb7.js +1 -0
- package/dist/treemap-75Q7IDZK-851117b4.js +1 -0
- package/dist/utils/index.d.ts +69 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/redisAndQueue.d.ts +32 -0
- package/dist/utils/redisAndQueue.d.ts.map +1 -0
- package/dist/utils/transcriptApi.d.ts.map +1 -1
- package/dist/web-0016ac81.js +1 -0
- package/dist/web-4e6d8ea9.js +1 -0
- package/dist/web.js +1 -1
- package/dist/xychartDiagram-PRI3JC2R-003630a4.js +1 -0
- package/dist/xychartDiagram-PRI3JC2R-df869780.js +1 -0
- package/package.json +2 -2
- package/public/index.html +7 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bD as e,bE as t,aW as r,bn as n,a_ as i,aX as a,be as s,aA as o,aB as l,aT as u,bd as c,bg as d,bh as h,bs as f,aD as p,aE as m,aY as g,aS as y}from"./web-4e6d8ea9.js";import{k as v,j as T,g as R,l as E,S as A,w as $,x as k,y as x,c as I,v as S,z as C,A as N,B as w,C as L,D as b,a as O,d as _,i as P,r as M,f as D,E as U}from"./_baseUniq-52a47b7b.js";import{j as F,m as G,d as B,f as K,g as j,i as V,h as H,l as W,e as z}from"./_basePickBy-1057a1b4.js";import{c as Y}from"./clone-6cd174cf.js";var q=Object.prototype.hasOwnProperty,X=e((function(e,a){if(t(a)||r(a))n(a,v(a),e);else for(var s in a)q.call(a,s)&&i(e,s,a[s])})),Q=X;function J(e,t,r){for(var n=-1,i=e.length,a=((r=i<r?i:r)<0&&(r+=i),i=r<(t=t<0?i<-t?0:i+t:t)?0:r-t>>>0,t>>>=0,Array(i));++n<i;)a[n]=e[n+t];return a}function Z(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i}function ee(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n}function te(e,t,r,n){return T(e,(function(e,i,a){t(n,e,r(e),a)})),n}var re=o((function(e,t){return l(e)?function(e,t,r,n){var i=-1,a=$,o=!0,l=e.length,u=[],c=t.length;if(l){r&&(t=E(t,s(r))),n?(a=k,o=!1):t.length>=200&&(a=x,o=!1,t=new A(t));e:for(;++i<l;){var d=e[i],h=null==r?d:r(d);if(d=n||0!==d?d:0,o&&h==h){for(var f=c;f--;)if(t[f]===h)continue e;u.push(d)}else a(t,h,n)||u.push(d)}}return u}(e,I(t,1,l,!0)):[]})),ne=re;function ie(e,t,r){var n=null==e?0:e.length;return n?J(e,(t=r||void 0===t?1:F(t))<0?0:t,n):[]}function ae(e,t,r){var n=null==e?0:e.length;return n?J(e,0,(t=n-(t=r||void 0===t?1:F(t)))<0?0:t):[]}function se(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function oe(e,t){var r=!0;return T(e,(function(e,n,i){return r=!!t(e,n,i)})),r}function le(e,t,r){var n=a(e)?se:oe;return r&&u(e,t,r)&&(t=void 0),n(e,R(t))}function ue(e){return e&&e.length?e[0]:void 0}function ce(e,t){return I(G(e,t),1)}var de,he,fe=Object.prototype.hasOwnProperty,pe=(de=function(e,t,r){fe.call(e,r)?e[r].push(t):c(e,r,[t])},function(e,t){var r=a(e)?ee:te,n=he?he():{};return r(e,de,R(t),n)}),me=pe,ge="[object String]";function ye(e){return"string"==typeof e||!a(e)&&d(e)&&h(e)==ge}var ve=Math.max;function Te(e,t,n,i){return e=r(e)?e:S(e),n=n&&!i?F(n):0,i=e.length,n<0&&(n=ve(i+n,0)),ye(e)?n<=i&&-1<e.indexOf(t,n):!!i&&-1<C(e,t,n)}var Re=Math.max;function Ee(e,t,r){var n=null==e?0:e.length;return n?((r=null==r?0:F(r))<0&&(r=Re(n+r,0)),C(e,t,r)):-1}var Ae,$e,ke,xe,Ie,Se,Ce,Ne,we,Le,be,Oe,_e,Pe,Me,De,Ue,Fe,Ge,Be,Ke,je,Ve,He,We,ze,Ye,qe,Xe,Qe,Je,Ze,et,tt,rt,nt,it,at,st,ot,lt,ut,ct,dt,ht,ft,pt,mt,gt,yt,vt,Tt,Rt,Et,At,$t,kt,xt,It,St,Ct,Nt,wt,Lt,bt,Ot,_t,Pt,Mt,Dt,Ut,Ft,Gt,Bt,Kt,jt,Vt,Ht,Wt,zt,Yt,qt,Xt,Qt,Jt,Zt,er,tr=f&&f.isRegExp,rr=tr?s(tr):function(e){return d(e)&&"[object RegExp]"==h(e)},nr=rr,ir="Expected a function";function ar(e,t){var r;return null==e?{}:(r=E(N(e),(function(e){return[e]})),t=R(t),B(e,r,(function(e,r){return t(e,r[0])})))}function sr(e,t){return(a(e)?w:L)(e,function(e){if("function"!=typeof e)throw new TypeError(ir);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}(R(t)))}function or(e,t){var r;return T(e,(function(e,n,i){return!(r=t(e,n,i))})),!!r}function lr(e,t,r){var n=a(e)?b:or;return r&&u(e,t,r)&&(t=void 0),n(e,R(t))}function ur(e){return e&&e.length?O(e):[]}function cr(e,t){return e&&e.length?O(e,R(t)):[]}function dr(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function hr(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function fr(e){return"object"==typeof e&&null!==e&&dr(e.container)&&hr(e.reference)&&"string"==typeof e.message}class pr{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return dr(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];var n=(r=r||(this.subtypes[e]={}))[t];return void 0!==n?n:(n=this.computeIsSubtype(e,t),r[t]=n)}getAllSubTypes(e){var t=this.allSubtypes[e];if(t)return t;var r=[];for(const t of this.getAllTypes())this.isSubtype(t,e)&&r.push(t);return this.allSubtypes[e]=r}}function mr(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function gr(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function yr(e){return mr(e)&&"string"==typeof e.fullText}class vr{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){var e=this.iterator();return Boolean(e.next().done)}count(){var e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){for(var e,t=[],r=this.iterator();void 0!==(e=r.next()).value&&t.push(e.value),!e.done;);return t}toSet(){return new Set(this)}toMap(e,t){var r=this.map((r=>[e?e(r):r,t?t(r):r]));return new Map(r)}toString(){return this.join()}concat(e){return new vr((()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()})),(e=>{let t;if(!e.firstDone){do{if(!(t=this.nextFn(e.first)).done)return t}while(!t.done);e.firstDone=!0}do{if(!(t=e.iterator.next()).done)return t}while(!t.done);return Ar}))}join(e=","){var t,r=this.iterator();let n="",i=!1;for(;(t=r.next()).done||(i&&(n+=e),n+=Tr(t.value)),i=!0,!t.done;);return n}indexOf(e,t=0){var r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return-1}every(e){var t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){var t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){var t=this.iterator();let r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(e){return new vr(this.startFn,(t=>{var{done:t,value:r}=this.nextFn(t);return t?Ar:{done:!1,value:e(r)}}))}filter(e){return new vr(this.startFn,(t=>{var r;do{if(!(r=this.nextFn(t)).done&&e(r.value))return r}while(!r.done);return Ar}))}nonNullable(){return this.filter((e=>null!=e))}reduce(e,t){var r=this.iterator();let n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){var n=e.next();return n.done?r:void 0===(e=this.recursiveReduce(e,t,r))?n.value:t(e,n.value)}find(e){var t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){var t=this.iterator();let r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return-1}includes(e){var t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new vr((()=>({this:this.startFn()})),(t=>{do{if(t.iterator){var r;if(!(r=t.iterator.next()).done)return r;t.iterator=void 0}var{done:r,value:n}=this.nextFn(t.this);if(!r){if(!Rr(n=e(n)))return{done:!1,value:n};t.iterator=n[Symbol.iterator]()}}while(t.iterator);return Ar}))}flat(e){if((e=void 0===e?1:e)<=0)return this;const t=1<e?this.flat(e-1):this;return new vr((()=>({this:t.startFn()})),(e=>{do{if(e.iterator){var r;if(!(r=e.iterator.next()).done)return r;e.iterator=void 0}var{done:r,value:n}=t.nextFn(e.this);if(!r){if(!Rr(n))return{done:!1,value:n};e.iterator=n[Symbol.iterator]()}}while(e.iterator);return Ar}))}head(){var e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new vr((()=>{var t=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(t).done)return t;return t}),this.nextFn)}limit(e){return new vr((()=>({size:0,state:this.startFn()})),(t=>(t.size++,t.size>e?Ar:this.nextFn(t.state))))}distinct(e){return new vr((()=>({set:new Set,internalState:this.startFn()})),(t=>{var r;do{if(!(r=this.nextFn(t.internalState)).done){var n=e?e(r.value):r.value;if(!t.set.has(n))return t.set.add(n),r}}while(!r.done);return Ar}))}exclude(e,t){const r=new Set;for(const i of e){var n=t?t(i):i;r.add(n)}return this.filter((e=>(e=t?t(e):e,!r.has(e))))}}function Tr(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function Rr(e){return!!e&&"function"==typeof e[Symbol.iterator]}const Er=new vr((()=>{}),(()=>Ar)),Ar=Object.freeze({done:!0,value:void 0});function $r(...e){if(1===e.length){const t=e[0];if(t instanceof vr)return t;if(Rr(t))return new vr((()=>t[Symbol.iterator]()),(e=>e.next()));if("number"==typeof t.length)return new vr((()=>({index:0})),(e=>e.index<t.length?{done:!1,value:t[e.index++]}:Ar))}return 1<e.length?new vr((()=>({collIndex:0,arrIndex:0})),(t=>{do{if(t.iterator){var r=t.iterator.next();if(!r.done)return r;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}t.collIndex<e.length&&(Rr(r=e[t.collIndex++])?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r))}while(t.iterator||t.array||t.collIndex<e.length);return Ar})):Er}class kr extends vr{constructor(e,t,r){super((()=>({iterators:null!=r&&r.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1})),(e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);0<e.iterators.length;){var r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return Ar}))}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}function xr(e){return new kr(e,(e=>mr(e)?e.content:[]),{includeRoot:!0})}function Ir(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function Sr(e){var t,r;if(e)return({offset:e,end:t,range:r}=e),{range:r,offset:e,end:t,length:t-e}}function Cr(e,t){return function(e,t){var r;return e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character?$e.Before:e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character?$e.After:(r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,e=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character,r&&e?$e.Inside:r?$e.OverlapBack:e?$e.OverlapFront:$e.Outside)}(e,t)>$e.After}var Nr;(Nr=Ae=Ae||{}).sum=function(e){return e.reduce(((e,t)=>e+t),0)},Nr.product=function(e){return e.reduce(((e,t)=>e*t),0)},Nr.min=function(e){return e.reduce(((e,t)=>Math.min(e,t)))},Nr.max=function(e){return e.reduce(((e,t)=>Math.max(e,t)))},function(e){e[e.Before=0]="Before",e[e.After=1]="After",e[e.OverlapFront=2]="OverlapFront",e[e.OverlapBack=3]="OverlapBack",e[e.Inside=4]="Inside",e[e.Outside=5]="Outside"}($e=$e||{});const wr=/^[\w\p{L}]$/u;function Lr(e,t){return gr(e)&&t.includes(e.tokenType.name)}class br extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:`+e.range.start.character:t)}}function Or(e){throw new Error("Error! The input value was not handled.")}const _r="AbstractRule",Pr="AbstractType",Mr="Condition",Dr="TypeDefinition",Ur="ValueLiteral",Fr="AbstractElement";function Gr(e){return Vn.isInstance(e,Fr)}const Br="ArrayLiteral",Kr="ArrayType",jr="BooleanLiteral";const Vr="Conjunction";const Hr="Disjunction";const Wr="Grammar",zr="GrammarImport",Yr="InferredType";function qr(e){return Vn.isInstance(e,Yr)}const Xr="Interface";function Qr(e){return Vn.isInstance(e,Xr)}const Jr="NamedArgument",Zr="Negation";const en="NumberLiteral",tn="Parameter",rn="ParameterReference";const nn="ParserRule";function an(e){return Vn.isInstance(e,nn)}const sn="ReferenceType",on="ReturnType";const ln="SimpleType";function un(e){return Vn.isInstance(e,ln)}const cn="StringLiteral",dn="TerminalRule";function hn(e){return Vn.isInstance(e,dn)}const fn="Type";function pn(e){return Vn.isInstance(e,fn)}const mn="TypeAttribute",gn="UnionType",yn="Action";function vn(e){return Vn.isInstance(e,yn)}const Tn="Alternatives";function Rn(e){return Vn.isInstance(e,Tn)}const En="Assignment";function An(e){return Vn.isInstance(e,En)}const $n="CharacterRange";const kn="CrossReference";function xn(e){return Vn.isInstance(e,kn)}const In="EndOfFile";const Sn="Group";function Cn(e){return Vn.isInstance(e,Sn)}const Nn="Keyword";function wn(e){return Vn.isInstance(e,Nn)}const Ln="NegatedToken";const bn="RegexToken";const On="RuleCall";function _n(e){return Vn.isInstance(e,On)}const Pn="TerminalAlternatives";const Mn="TerminalGroup";const Dn="TerminalRuleCall";function Un(e){return Vn.isInstance(e,Dn)}const Fn="UnorderedGroup";function Gn(e){return Vn.isInstance(e,Fn)}const Bn="UntilToken";const Kn="Wildcard";class jn extends pr{getAllTypes(){return[Fr,_r,Pr,yn,Tn,Br,Kr,En,jr,$n,Mr,Vr,kn,Hr,In,Wr,zr,Sn,Yr,Xr,Nn,Jr,Ln,Zr,en,tn,rn,nn,sn,bn,on,On,ln,cn,Pn,Mn,dn,Dn,fn,mn,Dr,gn,Fn,Bn,Ur,Kn]}computeIsSubtype(e,t){switch(e){case yn:case Tn:case En:case $n:case kn:case In:case Sn:case Nn:case Ln:case bn:case On:case Pn:case Mn:case Dn:case Fn:case Bn:case Kn:return this.isSubtype(Fr,t);case Br:case en:case cn:return this.isSubtype(Ur,t);case Kr:case sn:case ln:case gn:return this.isSubtype(Dr,t);case jr:return this.isSubtype(Mr,t)||this.isSubtype(Ur,t);case Vr:case Hr:case Zr:case rn:return this.isSubtype(Mr,t);case Yr:case Xr:case fn:return this.isSubtype(Pr,t);case nn:return this.isSubtype(_r,t)||this.isSubtype(Pr,t);case dn:return this.isSubtype(_r,t);default:return!1}}getReferenceType(e){var t=e.container.$type+":"+e.property;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Pr;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return _r;case"Grammar:usedGrammars":return Wr;case"NamedArgument:parameter":case"ParameterReference:parameter":return tn;case"TerminalRuleCall:rule":return dn;default:throw new Error(t+" is not a valid reference id.")}}getTypeMetaData(e){switch(e){case Fr:return{name:Fr,properties:[{name:"cardinality"},{name:"lookahead"}]};case Br:return{name:Br,properties:[{name:"elements",defaultValue:[]}]};case Kr:return{name:Kr,properties:[{name:"elementType"}]};case jr:return{name:jr,properties:[{name:"true",defaultValue:!1}]};case Vr:return{name:Vr,properties:[{name:"left"},{name:"right"}]};case Hr:return{name:Hr,properties:[{name:"left"},{name:"right"}]};case Wr:return{name:Wr,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 zr:return{name:zr,properties:[{name:"path"}]};case Yr:return{name:Yr,properties:[{name:"name"}]};case Xr:return{name:Xr,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Jr:return{name:Jr,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case Zr:return{name:Zr,properties:[{name:"value"}]};case en:return{name:en,properties:[{name:"value"}]};case tn:return{name:tn,properties:[{name:"name"}]};case rn:return{name:rn,properties:[{name:"parameter"}]};case nn:return{name:nn,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 sn:return{name:sn,properties:[{name:"referenceType"}]};case on:return{name:on,properties:[{name:"name"}]};case ln:return{name:ln,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case cn:return{name:cn,properties:[{name:"value"}]};case dn:return{name:dn,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case fn:return{name:fn,properties:[{name:"name"},{name:"type"}]};case mn:return{name:mn,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case gn:return{name:gn,properties:[{name:"types",defaultValue:[]}]};case yn:return{name:yn,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case Tn:return{name:Tn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case En:return{name:En,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case $n:return{name:$n,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case kn:return{name:kn,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case In:return{name:In,properties:[{name:"cardinality"},{name:"lookahead"}]};case Sn:return{name:Sn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case Nn:return{name:Nn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case Ln:return{name:Ln,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case bn:return{name:bn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case On:return{name:On,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Pn:return{name:Pn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Mn:return{name:Mn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Dn:return{name:Dn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Fn:return{name:Fn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Bn:return{name:Bn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Kn:return{name:Kn,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const Vn=new jn;function Hn(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function Wn(e){if(e=zn(e).$document)return e;throw new Error("AST node has no document.")}function zn(e){for(;e.$container;)e=e.$container;return e}function Yn(e,t){if(!e)throw new Error("Node must be an AstNode.");const r=null==t?void 0:t.range;return new vr((()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0})),(t=>{for(;t.keyIndex<t.keys.length;){var n=t.keys[t.keyIndex];if(!n.startsWith("$")){var i=e[n];if(dr(i)){if(t.keyIndex++,Qn(i,r))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){var a=i[t.arrayIndex++];if(dr(a)&&Qn(a,r))return{done:!1,value:a}}t.arrayIndex=0}}t.keyIndex++}return Ar}))}function qn(e,t){if(e)return new kr(e,(e=>Yn(e,t)));throw new Error("Root node must be an AstNode.")}function Xn(e,t){if(e)return null!=t&&t.range&&!Qn(e,t.range)?new kr(e,(()=>[])):new kr(e,(e=>Yn(e,t)),{includeRoot:!0});throw new Error("Root node must be an AstNode.")}function Qn(e,t){return!t||!!(e=null==(e=e.$cstNode)?void 0:e.range)&&Cr(e,t)}function Jn(e){return new vr((()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0})),(t=>{for(;t.keyIndex<t.keys.length;){var r=t.keys[t.keyIndex];if(!r.startsWith("$")){var n=e[r];if(hr(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){var i=t.arrayIndex++,a=n[i];if(hr(a))return{done:!1,value:{reference:a,container:e,property:r,index:i}}}t.arrayIndex=0}}t.keyIndex++}return Ar}))}function Zn(e){return Array.isArray(e)?[...e.map(Zn)]:e}function ei(e){return e.charCodeAt(0)}function ti(e,t){Array.isArray(e)?e.forEach((function(e){t.push(e)})):t.push(e)}function ri(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function ni(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function ii(e){return"Character"===e.type}const ai=[];for(let e=ei("0");e<=ei("9");e++)ai.push(e);const si=[ei("_")].concat(ai);for(let e=ei("a");e<=ei("z");e++)si.push(e);for(let e=ei("A");e<=ei("Z");e++)si.push(e);const oi=[ei(" "),ei("\f"),ei("\n"),ei("\r"),ei("\t"),ei("\v"),ei("\t"),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei(" "),ei("\u2028"),ei("\u2029"),ei(" "),ei(" "),ei(" "),ei("\ufeff")],li=/[0-9a-fA-F]/,ui=/[0-9]/,ci=/[1-9]/;class di{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("/");for(var t=this.disjunction(),r=(this.consumeChar("/"),{type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1});this.isRegExpFlag();)switch(this.popChar()){case"g":ri(r,"global");break;case"i":ri(r,"ignoreCase");break;case"m":ri(r,"multiLine");break;case"u":ri(r,"unicode");break;case"y":ri(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){var e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){for(var e=[],t=this.idx;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){var e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let r;switch(this.consumeChar("?"),this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead"}ni(r);var t=this.disjunction();return this.consumeChar(")"),{type:r,value:t,loc:this.loc(e)}}return function(){throw Error("Internal Error - Should never get here!")}()}quantifier(e=!1){let t;var r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":var n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;ni(t)}return!0===e&&void 0===t||!ni(t)?void 0:("?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t)}atom(){let e;var t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}if(ni(e=void 0===e&&this.isPatternCharacter()?this.patternCharacter():e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ei("\n"),ei("\r"),ei("\u2028"),ei("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=ai;break;case"D":e=ai,t=!0;break;case"s":e=oi;break;case"S":e=oi,t=!0;break;case"w":e=si;break;case"W":e=si,t=!0}if(ni(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ei("\f");break;case"n":e=ei("\n");break;case"r":e=ei("\r");break;case"t":e=ei("\t");break;case"v":e=ei("\v")}if(ni(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");var e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ei("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:ei(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:ei(this.popChar())}}}characterClass(){var e=[];let t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){var r=this.classAtom();if(r.type,ii(r)&&this.isRangeDash()){this.consumeChar("-");var n=this.classAtom();if(n.type,ii(n)){if(n.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:n.value})}else ti(r.value,e),e.push(ei("-")),ti(n.value,e)}else ti(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:ei("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;var t=this.disjunction();this.consumeChar(")"),t={type:"Group",capturing:e,value:t};return e&&(t.idx=this.groupIdx),t}positiveInteger(){let e=this.popChar();if(!1===ci.test(e))throw Error("Expecting a positive integer");for(;ui.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===ui.test(e))throw Error("Expecting an integer");for(;ui.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){var e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:ei(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 ui.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){var e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let n=0;n<e;n++){var r=this.popChar();if(!1===li.test(r))throw Error("Expecting a HexDecimal digits");t+=r}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){var e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class hi{visitChildren(e){for(const r in e){var t=e[r];e.hasOwnProperty(r)&&(void 0!==t.type?this.visit(t):Array.isArray(t)&&t.forEach((e=>{this.visit(e)}),this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const fi=/\r?\n/gm,pi=new di;const mi=new class extends hi{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){var t=String.fromCharCode(e.value);this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(e=Ti(t),this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e))}visitSet(e){var t;this.multiline||(t=this.regex.substring(e.loc.begin,e.loc.end),t=new RegExp(t),this.multiline=Boolean("\n".match(t))),e.quantifier?(this.isStarting=!1,this.endRegexpStack=[]):(t=this.regex.substring(e.loc.begin,e.loc.end),this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t))}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}};function gi(e){try{return e=(e="string"==typeof e?new RegExp(e):e).toString(),mi.reset(e),mi.visit(pi.pattern(e)),mi.multiline}catch(e){return!1}}const yi="\f\n\r\t\v \u2028\u2029 \ufeff".split("");function vi(e){const t="string"==typeof e?new RegExp(e):e;return yi.some((e=>t.test(e)))}function Ti(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ri(e,t){return e=function(e){const t=e="string"==typeof e?new RegExp(e):e,r=e.source;let n=0;return new RegExp(function e(){let i,a="";function s(e){a+=r.substr(n,e),n+=e}function o(e){a+="(?:"+r.substr(n,e)+"|$)",n+=e}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":t.unicode?"{"===r[n+2]?o(r.indexOf("}",n)-n+1):o(6):o(2);break;case"p":case"P":t.unicode?o(r.indexOf("}",n)-n+1):o(2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(i=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((i=i.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(i=/\{\d+,?\d*\}/g).lastIndex=n,(i=i.exec(r))?s(i[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":a+="(?:",n+=3,a+=e()+"|$)";break;case"=":a+="(?=",n+=3,a+=e()+")";break;case"!":i=n,n+=3,e(),a+=r.substr(i,n-i);break;case"<":switch(r[n+3]){case"=":case"!":i=n,n+=4,e(),a+=r.substr(i,n-i);break;default:s(r.indexOf(">",n)-n+1),a+=e()+"|$)"}}else s(1),a+=e()+"|$)";break;case")":return++n,a;default:o(1)}return a}(),e.flags)}(e),!!(t=t.match(e))&&0<t[0].length}function Ei(e,t){var r=new Set,n=function(e){return e.rules.find((e=>an(e)&&e.entry))}(e);if(!n)return new Set(e.rules);for(const i of[n].concat(function(e){return e.rules.filter((e=>hn(e)&&e.hidden))}(e)))Ai(i,r,t);var i=new Set;for(const t of e.rules)(r.has(t.name)||hn(t)&&t.hidden)&&i.add(t);return i}function Ai(e,t,r){t.add(e.name),qn(e).forEach((e=>{(_n(e)||r&&Un(e))&&(e=e.rule.ref)&&!t.has(e.name)&&Ai(e,t,r)}))}function $i(e){return e.hidden&&!vi(Oi(e))}function ki(e,t,r){if(e&&t&&0!==(t=xi(e,t,e.astNode,!0)).length)return t[r=void 0!==r?Math.max(0,Math.min(r,t.length-1)):0]}function xi(e,t,r,n){return!n&&(n=Hn(e.grammarSource,An))&&n.feature===t?[e]:mr(e)&&e.astNode===r?e.content.flatMap((e=>xi(e,t,r,!1))):[]}function Ii(e,t,r){if(e&&(t=function(e,t,r){if(e.astNode!==r)return[];if(wn(e.grammarSource)&&e.grammarSource.value===t)return[e];var n,i,a=xr(e).iterator(),s=[];do{(i=a.next()).done||((n=i.value).astNode===r?wn(n.grammarSource)&&n.grammarSource.value===t&&s.push(n):a.prune())}while(!i.done);return s}(e,t,null==e?void 0:e.astNode),0!==t.length))return t[r=void 0!==r?Math.max(0,Math.min(r,t.length-1)):0]}function Si(e){let t=e;return qr(t)&&(vn(t.$container)?t=t.$container.$container:an(t.$container)?t=t.$container:Or(t.$container)),Ci(e,t,new Map)}function Ci(e,t,r){var n;function i(t,n){let i;return Hn(t,An)||(i=Ci(n,n,r)),r.set(e,i),i}if(r.has(e))return r.get(e);r.set(e,void 0);for(const a of qn(t)){if(An(a)&&"name"===a.feature.toLowerCase())return r.set(e,a),a;if(_n(a)&&an(a.rule.ref))return i(a,a.rule.ref);if(un(a)&&null!=(n=a.typeRef)&&n.ref)return i(a,a.typeRef.ref)}}function Ni(e){return wi(e,new Set)}function wi(e,t){if(t.has(e))return!0;t.add(e);for(const r of qn(e))if(_n(r)){if(!r.rule.ref)return!1;if(an(r.rule.ref)&&!wi(r.rule.ref,t))return!1}else{if(An(r))return!1;if(vn(r))return!1}return Boolean(e.definition)}function Li(e){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType&&(e=e.returnType.ref)){if(an(e))return e.name;if(Qr(e)||pn(e))return e.name}}function bi(e){if(an(e))return Ni(e)||null==(t=Li(e))?e.name:t;if(Qr(e)||pn(e)||function(e){return Vn.isInstance(e,on)}(e))return e.name;if(vn(e)){var t=function(e){var t;return e.inferredType?e.inferredType.name:null!=(t=e.type)&&t.ref?bi(e.type.ref):void 0}(e);if(t)return t}else if(qr(e))return e.name;throw new Error("Cannot get name of Unknown Type")}function Oi(e){var t={s:!1,i:!1,u:!1};e=Pi(e.definition,t),t=Object.entries(t).filter((([,e])=>e)).map((([e])=>e)).join("");return new RegExp(e,t)}const _i=/[\s\S]/.source;function Pi(e,t){if(function(e){return Vn.isInstance(e,Pn)}(e))return function(e){return Di(e.elements.map((e=>Pi(e))).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead})}(e);if(function(e){return Vn.isInstance(e,Mn)}(e))return function(e){return Di(e.elements.map((e=>Pi(e))).join(""),{cardinality:e.cardinality,lookahead:e.lookahead})}(e);if(function(e){return Vn.isInstance(e,$n)}(e))return function(e){return e.right?Di(`[${Mi(e.left)}-${Mi(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1}):Di(Mi(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1})}(e);if(Un(e)){var r=e.rule.ref;if(r)return Di(Pi(r.definition),{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Missing rule reference.")}if(function(e){return Vn.isInstance(e,Ln)}(e))return function(e){return Di(`(?!${Pi(e.terminal)})${_i}*?`,{cardinality:e.cardinality,lookahead:e.lookahead})}(e);if(function(e){return Vn.isInstance(e,Bn)}(e))return function(e){return Di(_i+"*?"+Pi(e.terminal),{cardinality:e.cardinality,lookahead:e.lookahead})}(e);var n;if(function(e){return Vn.isInstance(e,bn)}(e))return r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),r=e.regex.substring(r+1),t&&(t.i=r.includes("i"),t.s=r.includes("s"),t.u=r.includes("u")),Di(n,{cardinality:e.cardinality,lookahead:e.lookahead,wrap:!1});if(function(e){return Vn.isInstance(e,Kn)}(e))return Di(_i,{cardinality:e.cardinality,lookahead:e.lookahead});throw new Error("Invalid terminal element: "+(null==e?void 0:e.$type))}function Mi(e){return Ti(e.value)}function Di(e,t){var r;return!1===t.wrap&&!t.lookahead||(e=`(${null!=(r=t.lookahead)?r:""}${e})`),t.cardinality?""+e+t.cardinality:e}function Ui(e){console&&console.error&&console.error("Error: "+e)}function Fi(e){console&&console.warn&&console.warn("Warning: "+e)}function Gi(e){var t=(new Date).getTime();e=e();return{time:(new Date).getTime()-t,value:e}}function Bi(e){function t(){}t.prototype=e;const r=new t;function n(){r.bar}return n(),n(),e}function Ki(e){return function(e){return ye(e.LABEL)&&""!==e.LABEL}(e)?e.LABEL:e.name}class ji{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),_(this.definition,(t=>{t.accept(e)}))}}class Vi extends ji{constructor(e){super([]),this.idx=1,Q(this,ar(e,(e=>void 0!==e)))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Hi extends ji{constructor(e){super(e.definition),this.orgText="",Q(this,ar(e,(e=>void 0!==e)))}}class Wi extends ji{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Q(this,ar(e,(e=>void 0!==e)))}}let zi=class extends ji{constructor(e){super(e.definition),this.idx=1,Q(this,ar(e,(e=>void 0!==e)))}};class Yi extends ji{constructor(e){super(e.definition),this.idx=1,Q(this,ar(e,(e=>void 0!==e)))}}class qi extends ji{constructor(e){super(e.definition),this.idx=1,Q(this,ar(e,(e=>void 0!==e)))}}class Xi extends ji{constructor(e){super(e.definition),this.idx=1,Q(this,ar(e,(e=>void 0!==e)))}}class Qi extends ji{constructor(e){super(e.definition),this.idx=1,Q(this,ar(e,(e=>void 0!==e)))}}class Ji extends ji{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,Q(this,ar(e,(e=>void 0!==e)))}}class Zi{constructor(e){this.idx=1,Q(this,ar(e,(e=>void 0!==e)))}accept(e){e.visit(this)}}function ea(e){function t(e){return G(e,ea)}var r,n;if(e instanceof Vi)return r={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx},ye(e.label)&&(r.label=e.label),r;if(e instanceof Wi)return{type:"Alternative",definition:t(e.definition)};if(e instanceof zi)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof Yi)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof qi)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:ea(new Zi({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof Qi)return{type:"RepetitionWithSeparator",idx:e.idx,separator:ea(new Zi({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof Xi)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof Ji)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof Zi)return r={type:"Terminal",name:e.terminalType.name,label:Ki(e.terminalType),idx:e.idx},ye(e.label)&&(r.terminalLabel=e.label),n=e.terminalType.PATTERN,e.terminalType.PATTERN&&(r.pattern=nr(n)?n.source:n),r;if(e instanceof Hi)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}class ta{visit(e){var t=e;switch(t.constructor){case Vi:return this.visitNonTerminal(t);case Wi:return this.visitAlternative(t);case zi:return this.visitOption(t);case Yi:return this.visitRepetitionMandatory(t);case qi:return this.visitRepetitionMandatoryWithSeparator(t);case Qi:return this.visitRepetitionWithSeparator(t);case Xi:return this.visitRepetition(t);case Ji:return this.visitAlternation(t);case Zi:return this.visitTerminal(t);case Hi:return this.visitRule(t);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function ra(e,t=[]){return e instanceof zi||e instanceof Xi||e instanceof Qi||(e instanceof Ji?lr(e.definition,(e=>ra(e,t))):!(e instanceof Vi&&Te(t,e))&&e instanceof ji&&(e instanceof Vi&&t.push(e),le(e.definition,(e=>ra(e,t)))))}function na(e){if(e instanceof Vi)return"SUBRULE";if(e instanceof zi)return"OPTION";if(e instanceof Ji)return"OR";if(e instanceof Yi)return"AT_LEAST_ONE";if(e instanceof qi)return"AT_LEAST_ONE_SEP";if(e instanceof Qi)return"MANY_SEP";if(e instanceof Xi)return"MANY";if(e instanceof Zi)return"CONSUME";throw Error("non exhaustive match")}class ia{walk(e,t=[]){_(e.definition,((r,n)=>{if(n=ie(e.definition,n+1),r instanceof Vi)this.walkProdRef(r,n,t);else if(r instanceof Zi)this.walkTerminal(r,n,t);else if(r instanceof Wi)this.walkFlat(r,n,t);else if(r instanceof zi)this.walkOption(r,n,t);else if(r instanceof Yi)this.walkAtLeastOne(r,n,t);else if(r instanceof qi)this.walkAtLeastOneSep(r,n,t);else if(r instanceof Qi)this.walkManySep(r,n,t);else if(r instanceof Xi)this.walkMany(r,n,t);else{if(!(r instanceof Ji))throw Error("non exhaustive match");this.walkOr(r,n,t)}}))}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){t=t.concat(r),this.walk(e,t)}walkOption(e,t,r){t=t.concat(r),this.walk(e,t)}walkAtLeastOne(e,t,r){t=[new zi({definition:e.definition})].concat(t,r),this.walk(e,t)}walkAtLeastOneSep(e,t,r){t=aa(e,t,r),this.walk(e,t)}walkMany(e,t,r){t=[new zi({definition:e.definition})].concat(t,r),this.walk(e,t)}walkManySep(e,t,r){t=aa(e,t,r),this.walk(e,t)}walkOr(e,t,r){const n=t.concat(r);_(e.definition,(e=>{e=new Wi({definition:[e]}),this.walk(e,n)}))}}function aa(e,t,r){return[new zi({definition:[new Zi({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function sa(e){if(e instanceof Vi)return sa(e.referencedRule);if(e instanceof Zi)return function(e){return[e.terminalType]}(e);if(function(e){return e instanceof Wi||e instanceof zi||e instanceof Xi||e instanceof Yi||e instanceof qi||e instanceof Qi||e instanceof Zi||e instanceof Hi}(e))return function(e){let t=[];var r,n=e.definition;let i=0,a=n.length>i,s=!0;for(;a&&s;)r=n[i],s=ra(r),t=t.concat(sa(r)),i+=1,a=n.length>i;return ur(t)}(e);if(function(e){return e instanceof Ji}(e))return function(e){return e=G(e.definition,(e=>sa(e))),ur(K(e))}(e);throw Error("non exhaustive match")}const oa="_~IN~_";class la extends ia{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){e=function(e,t){return e.name+t+oa}(e.referencedRule,e.idx)+this.topProd.name,t=t.concat(r),r=sa(new Wi({definition:t})),this.follows[e]=r}}let ua={};const ca=new di;function da(e){var t;e=e.toString();return ua.hasOwnProperty(e)?ua[e]:(t=ca.pattern(e),ua[e]=t)}const ha="Complement Sets are not supported for first char optimization",fa='Unable to use "first char" lexer optimizations:\n';function pa(e,t=!1){try{var r=da(e);return ma(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===ha)t&&Fi(fa+`\tUnable to optimize: < ${e.toString()} >\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r=t?"\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.":"";Ui(fa+"\n"+`\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function ma(e,t,r){switch(e.type){case"Disjunction":for(let n=0;n<e.value.length;n++)ma(e.value[n],t,r);break;case"Alternative":var n=e.value;for(let e=0;e<n.length;e++){var i=n[e];switch(i.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}var a=i;switch(a.type){case"Character":ga(a.value,t,r);break;case"Set":if(!0===a.complement)throw Error(ha);_(a.value,(e=>{if("number"==typeof e)ga(e,t,r);else{var n=e;if(!0===r)for(let e=n.from;e<=n.to;e++)ga(e,t,r);else{for(let e=n.from;e<=n.to&&e<Ua;e++)ga(e,t,r);if(n.to>=Ua){e=n.from>=Ua?n.from:Ua;var i=n.to,a=(e=Ga(e),Ga(i));for(let r=e;r<=a;r++)t[r]=r}}}}));break;case"Group":ma(a.value,t,r);break;default:throw Error("Non Exhaustive Match")}if(i=void 0!==a.quantifier&&0===a.quantifier.atLeast,"Group"===a.type&&!1===va(a)||"Group"!==a.type&&0==i)break}break;default:throw Error("non exhaustive match!")}return S(t)}function ga(e,t,r){var n=Ga(e);t[n]=n,!0===r&&function(e,t){e=String.fromCharCode(e);var r=e.toUpperCase();r!==e?t[r=Ga(r.charCodeAt(0))]=r:(r=e.toLowerCase())!==e&&(t[e=Ga(r.charCodeAt(0))]=e)}(e,t)}function ya(e,t){return j(e.value,(e=>{if("number"==typeof e)return Te(t,e);{const r=e;return void 0!==j(t,(e=>r.from<=e&&e<=r.to))}}))}function va(e){var t=e.quantifier;return!(!t||0!==t.atLeast)||!!e.value&&(a(e.value)?le(e.value,va):va(e.value))}class Ta extends hi{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":return void this.visitLookahead(e);case"NegativeLookahead":return void this.visitNegativeLookahead(e)}super.visitChildren(e)}}visitCharacter(e){Te(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===ya(e,this.targetCharCodes)&&(this.found=!0):void 0!==ya(e,this.targetCharCodes)&&(this.found=!0)}}function Ra(e,t){var r,n;return t instanceof RegExp?(r=da(t),(n=new Ta(e)).visit(r),n.found):void 0!==j(t,(t=>Te(e,t.charCodeAt(0))))}const Ea="PATTERN",Aa="defaultMode",$a="modes";let ka="boolean"==typeof new RegExp("(?:)").sticky;function xa(e,t){var r=(t=V(t,{useSticky:ka,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(e,t)=>t()})).tracer;r("initCharCodeToOptimizedIndexMap",(()=>{!function(){if(m(Fa)){Fa=new Array(65536);for(let e=0;e<65536;e++)Fa[e]=255<e?255+~~(e/255):e}}()}));let n,i,s,o,l,u,c,d,h=(r("Reject Lexer.NA",(()=>{n=sr(e,(e=>e[Ea]===Ja.NA))})),!1);r("Transform Patterns",(()=>{h=!1,i=G(n,(e=>{var r;e=e[Ea];if(nr(e))return 1!==(r=e.source).length||"^"===r||"$"===r||"."===r||e.ignoreCase?2!==r.length||"\\"!==r[0]||Te(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],r[1])?(t.useSticky?wa:Na)(e):r[1]:r;if(p(e))return h=!0,{exec:e};if("object"==typeof e)return h=!0,e;if("string"==typeof e)return 1===e.length?e:(r=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),e=new RegExp(r),(t.useSticky?wa:Na)(e));throw Error("non exhaustive match")}))})),r("misc mapping",(()=>{s=G(n,(e=>e.tokenTypeIdx)),o=G(n,(e=>{if((e=e.GROUP)!==Ja.SKIPPED){if(ye(e))return e;if(P(e))return!1;throw Error("non exhaustive match")}})),l=G(n,(e=>{if(e=e.LONGER_ALT)return a(e)?G(e,(e=>Ee(n,e))):[Ee(n,e)]})),u=G(n,(e=>e.PUSH_MODE)),c=G(n,(e=>H(e,"POP_MODE")))})),r("Line Terminator Handling",(()=>{const e=Ma(t.lineTerminatorCharacters);d=G(n,(e=>!1)),"onlyOffset"!==t.positionTracking&&(d=G(n,(t=>H(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===_a(t,e)&&Ra(e,t.PATTERN))))}));let f,g,y,v,T=(r("Misc Mapping #2",(()=>{f=G(n,La),g=G(i,ba),y=M(n,((e,t)=>(ye(t=t.GROUP)&&t!==Ja.SKIPPED&&(e[t]=[]),e)),{}),v=G(i,((e,t)=>({pattern:i[t],longerAlt:l[t],canLineTerminator:d[t],isCustom:f[t],short:g[t],group:o[t],push:u[t],pop:c[t],tokenTypeIdx:s[t],tokenType:n[t]})))})),!0),R=[];return t.safeMode||r("First Char Optimization",(()=>{R=M(n,((e,r,n)=>{if("string"==typeof r.PATTERN){var i=Ga(r.PATTERN.charCodeAt(0));Da(e,i,v[n])}else if(a(r.START_CHARS_HINT)){let t;_(r.START_CHARS_HINT,(r=>{r=Ga("string"==typeof r?r.charCodeAt(0):r),t!==r&&(t=r,Da(e,r,v[n]))}))}else nr(r.PATTERN)?r.PATTERN.unicode?(T=!1,t.ensureOptimizations&&Ui(fa+`\tUnable to analyze < ${r.PATTERN.toString()} > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`)):(i=pa(r.PATTERN,t.ensureOptimizations),m(i)&&(T=!1),_(i,(t=>{Da(e,t,v[n])}))):(t.ensureOptimizations&&Ui(fa+`\tTokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),T=!1);return e}),[])})),{emptyGroups:y,patternIdxToConfig:v,charCodeToPatternIdxToConfig:R,hasCustom:h,canBeOptimized:T}}function Ia(e,t){let r=[];e=function(e){var t=D(e,(e=>!H(e,Ea)));return{errors:G(t,(e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:ke.MISSING_PATTERN,tokenTypes:[e]}))),valid:ne(e,t)}}(e),r=r.concat(e.errors),e=function(e){var t=D(e,(e=>(e=e[Ea],!(nr(e)||p(e)||H(e,"exec")||ye(e)))));return{errors:G(t,(e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ke.INVALID_PATTERN,tokenTypes:[e]}))),valid:ne(e,t)}}(e.valid);var n=e.valid;return(r=(r=(r=(r=r.concat(e.errors)).concat(function(e){let t=[];return e=D(e,(e=>nr(e[Ea]))),t=(t=(t=(t=(t=t.concat(function(e){class t extends hi{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return e=D(e,(e=>{e=e.PATTERN;try{var r=da(e),n=new t;return n.visit(r),n.found}catch(r){return Sa.test(e.source)}})),G(e,(e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:ke.EOI_ANCHOR_FOUND,tokenTypes:[e]})))}(e))).concat(function(e){class t extends hi{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return e=D(e,(e=>{e=e.PATTERN;try{var r=da(e),n=new t;return n.visit(r),n.found}catch(r){return Ca.test(e.source)}})),G(e,(e=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:ke.SOI_ANCHOR_FOUND,tokenTypes:[e]})))}(e))).concat(function(e){return e=D(e,(e=>(e=e[Ea])instanceof RegExp&&(e.multiline||e.global))),G(e,(e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ke.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]})))}(e))).concat(function(e){const t=[];var r=Z(G(e,(r=>M(e,((e,n)=>(r.PATTERN.source!==n.PATTERN.source||Te(t,n)||n.PATTERN===Ja.NA||(t.push(n),e.push(n)),e)),[]))));r=D(r,(e=>1<e.length));return G(r,(e=>{var t=G(e,(e=>e.name));return{message:`The same RegExp pattern ->${ue(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:ke.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}}))}(e))).concat(function(e){return e=D(e,(e=>e.PATTERN.test(""))),G(e,(e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:ke.EMPTY_MATCH_PATTERN,tokenTypes:[e]})))}(e))}(n))).concat(function(e){return e=D(e,(e=>!!H(e,"GROUP")&&(e=e.GROUP)!==Ja.SKIPPED&&e!==Ja.NA&&!ye(e))),G(e,(e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ke.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]})))}(n))).concat(function(e,t){return e=D(e,(e=>void 0!==e.PUSH_MODE&&!Te(t,e.PUSH_MODE))),G(e,(e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:ke.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]})))}(n,t))).concat(function(e){const t=[],r=M(e,((e,t,r)=>{var n=t.PATTERN;return n!==Ja.NA&&(ye(n)?e.push({str:n,idx:r,tokenType:t}):nr(n)&&function(e){return void 0===j([".","\\","[","]","|","^","$","(",")","?","*","+","{"],(t=>-1!==e.source.indexOf(t)))}(n)&&e.push({str:n.source,idx:r,tokenType:t})),e}),[]);return _(e,((e,n)=>{_(r,(({str:r,idx:i,tokenType:a})=>{n<i&&function(e,t){var r;if(nr(t))return null!==(r=t.exec(e))&&0===r.index;if(p(t))return t(e,0,[],{});if(H(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}(r,e.PATTERN)&&(i=`Token: ->${a.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`,t.push({message:i,type:ke.UNREACHABLE_PATTERN,tokenTypes:[e,a]}))}))})),t}(n))}const Sa=/[^\\][$]/;const Ca=/[^\\[][\^]|^\^/;function Na(e){var t=e.ignoreCase?"i":"";return new RegExp(`^(?:${e.source})`,t)}function wa(e){var t=e.ignoreCase?"iy":"y";return new RegExp(""+e.source,t)}function La(e){if(e=e.PATTERN,nr(e))return!1;if(p(e))return!0;if(H(e,"exec"))return!0;if(ye(e))return!1;throw Error("non exhaustive match")}function ba(e){return!(!ye(e)||1!==e.length)&&e.charCodeAt(0)}const Oa={test:function(e){var t=e.length;for(let n=this.lastIndex;n<t;n++){var r=e.charCodeAt(n);if(10===r)return this.lastIndex=n+1,!0;if(13===r)return 10===e.charCodeAt(n+1)?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function _a(e,t){if(H(e,"LINE_BREAKS"))return!1;if(nr(e.PATTERN)){try{Ra(t,e.PATTERN)}catch(e){return{issue:ke.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(ye(e.PATTERN))return!1;if(La(e))return{issue:ke.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function Pa(e,t){if(t.issue===ke.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===ke.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n\tThe problem is in the <${e.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Ma(e){return G(e,(e=>ye(e)?e.charCodeAt(0):e))}function Da(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}const Ua=256;let Fa=[];function Ga(e){return e<Ua?e:Fa[e]}function Ba(e,t){return(e=e.tokenTypeIdx)===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[e]}function Ka(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}let ja=1;const Va={};function Ha(e){e=function(e){let t=Y(e),r=e,n=!0;for(;n;){r=Z(K(G(r,(e=>e.CATEGORIES))));var i=ne(r,t);t=t.concat(i),m(i)?n=!1:r=i}return t}(e),function(e){_(e,(e=>{za(e)||((Va[ja]=e).tokenTypeIdx=ja++),Ya(e)&&!a(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ya(e)||(e.CATEGORIES=[]),function(e){return H(e,"categoryMatches")}(e)||(e.categoryMatches=[]),function(e){return H(e,"categoryMatchesMap")}(e)||(e.categoryMatchesMap={})}))}(e),function(e){_(e,(e=>{Wa([],e)}))}(e),function(e){_(e,(e=>{e.categoryMatches=[],_(e.categoryMatchesMap,((t,r)=>{e.categoryMatches.push(Va[r].tokenTypeIdx)}))}))}(e),_(e,(e=>{e.isParent=0<e.categoryMatches.length}))}function Wa(e,t){_(e,(e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0})),_(t.CATEGORIES,(r=>{var n=e.concat(t);Te(n,r)||Wa(n,r)}))}function za(e){return H(e,"tokenTypeIdx")}function Ya(e){return H(e,"CATEGORIES")}function qa(e){return H(e,"tokenTypeIdx")}const Xa={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`},Qa=(function(e){e[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"}(ke=ke||{}),{deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Xa,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0});Object.freeze(Qa);class Ja{constructor(e,t=Qa){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{var r,n,i,a;return!0===this.traceInitPerf?(this.traceInitIndent++,r=new Array(this.traceInitIndent+1).join("\t"),({time:n,value:i}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(r+`--\x3e <${e}>`),Gi(t))),a=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&a(r+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i):t()},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=Q({},Qa,t);var r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",(()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",(()=>{if(this.config.lineTerminatorsPattern===Qa.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Oa;else if(this.config.lineTerminatorCharacters===Qa.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),r=a(e)?{modes:{defaultMode:Y(e)},defaultMode:Aa}:(n=!1,Y(e))})),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",(()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e,t,r){const n=[];return H(e,Aa)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Aa+"> property in its definition\n",type:ke.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),H(e,$a)||n.push({message:"A MultiMode Lexer cannot be initialized without a <modes> property in its definition\n",type:ke.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),H(e,$a)&&H(e,Aa)&&!H(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Aa}: <${e.defaultMode}>which does not exist\n`,type:ke.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),H(e,$a)&&_(e.modes,((e,t)=>{_(e,((r,i)=>{P(r)?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}>\n`,type:ke.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):H(r,"LONGER_ALT")&&(i=a(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT],_(i,(i=>{P(i)||Te(e,i)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${t}>\n`,type:ke.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})))}))})),n}(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),this.TRACE_INIT("performWarningRuntimeChecks",(()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(function(e,t,r){const n=[];let i=!1;e=sr(Z(K(S(e.modes))),(e=>e[Ea]===Ja.NA));const a=Ma(r);return t&&_(e,(e=>{var t=_a(e,a);!1!==t?(t={message:Pa(e,t),type:t.issue,tokenType:e},n.push(t)):H(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):Ra(a,e.PATTERN)&&(i=!0)})),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:ke.NO_LINE_BREAKS_FLAGS}),n}(r,this.trackStartLines,this.config.lineTerminatorCharacters))}))),r.modes=r.modes||{},_(r.modes,((e,t)=>{r.modes[t]=sr(e,(e=>P(e)))}));const i=v(r.modes);var s;if(_(r.modes,((e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,(()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",(()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Ia(e,i))})),m(this.lexerDefinitionErrors)){let n;Ha(e),this.TRACE_INIT("analyzeTokenTypes",(()=>{n=xa(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})})),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=Q({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}}))})),this.defaultMode=r.defaultMode,!m(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw s=G(this.lexerDefinitionErrors,(e=>e.message)).join("-----------------------\n"),new Error("Errors detected in definition of Lexer:\n"+s);_(this.lexerDefinitionWarning,(e=>{Fi(e.message)})),this.TRACE_INIT("Choosing sub-methods implementations",(()=>{if(ka?(this.chopInput=g,this.match=this.matchWithTest):(this.updateLastIndex=U,this.match=this.matchWithExec),n&&(this.handleModes=U),!1===this.trackStartLines&&(this.computeNewColumn=g),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=U),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)})),this.TRACE_INIT("Failed Optimization Warnings",(()=>{var e=M(this.canModeBeOptimized,((e,t,r)=>(!1===t&&e.push(r),e)),[]);if(t.ensureOptimizations&&!m(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)})),this.TRACE_INIT("clearRegExpParserCache",(()=>{ua={}})),this.TRACE_INIT("toFastProperties",(()=>{Bi(this)}))}))}tokenize(e,t=this.defaultMode){if(m(this.lexerDefinitionErrors))return this.tokenizeInternal(e,t);throw e=G(this.lexerDefinitionErrors,(e=>e.message)).join("-----------------------\n"),new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+e)}tokenizeInternal(e,t){let r,n,i,s,o,l,u,c,d,h,f,p,m,g,y;var T=e,R=T.length;let E=0,A=0;var $=this.hasCustom?0:Math.floor(e.length/10),k=new Array($);const x=[];let I=this.trackStartLines?1:void 0,S=this.trackStartLines?1:void 0;var C=function(e){const t={};var r=v(e);return _(r,(r=>{var n=e[r];if(!a(n))throw Error("non exhaustive match");t[r]=[]})),t}(this.emptyGroups),N=this.trackStartLines,w=this.config.lineTerminatorsPattern;let L=0,b=[],O=[];const P=[],M=[];let D;function U(){return b}function F(e){return e=Ga(e),void 0===(e=O[e])?M:e}Object.freeze(M);var G=e=>{var t;1===P.length&&void 0===e.tokenType.PUSH_MODE?(t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e),x.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})):(P.pop(),e=W(P),b=this.patternIdxToConfig[e],O=this.charCodeToPatternIdxToConfig[e],L=b.length,t=this.canModeBeOptimized[e]&&!1===this.config.safeMode,D=O&&t?F:U)};function B(e){P.push(e),O=this.charCodeToPatternIdxToConfig[e],b=this.patternIdxToConfig[e],L=b.length,L=b.length,e=this.canModeBeOptimized[e]&&!1===this.config.safeMode,D=O&&e?F:U}let K;B.call(this,t);for(var j=this.config.recoveryEnabled;E<R;){l=null;var V,H=T.charCodeAt(E),z=D(H),Y=z.length;for(r=0;r<Y;r++){var q=(K=z[r]).pattern,X=(u=null,K.short);if(!1!==X?H===X&&(l=q):!0===K.isCustom?null!==(y=q.exec(T,E,k,C))?(l=y[0],void 0!==y.payload&&(u=y.payload)):l=null:(this.updateLastIndex(q,E),l=this.match(q,e,E)),null!==l){if(void 0!==(o=K.longerAlt)){var Q=o.length;for(i=0;i<Q;i++){var J=b[o[i]],Z=J.pattern;if(!(c=null)===J.isCustom?null!==(y=Z.exec(T,E,k,C))?(s=y[0],void 0!==y.payload&&(c=y.payload)):s=null:(this.updateLastIndex(Z,E),s=this.match(Z,e,E)),s&&s.length>l.length){l=s,u=c,K=J;break}}}break}}if(null!==l){if(d=l.length,void 0!==(h=K.group)&&(f=K.tokenTypeIdx,p=this.createTokenInstance(l,E,f,K.tokenType,I,S,d),this.handlePayload(p,u),!1===h?A=this.addToken(k,A,p):C[h].push(p)),e=this.chopInput(e,d),E+=d,S=this.computeNewColumn(S,d),!0===N&&!0===K.canLineTerminator){let e,t=0;for(w.lastIndex=0;!0===(V=w.test(l))&&(e=w.lastIndex-1,t++),!0===V;);0!==t&&(I+=t,S=d-e,this.updateTokenEndLineColumnLocation(p,h,e,t,I,S,d))}this.handleModes(K,G,B,p)}else{var ee=E,te=I,re=S;let t=!1===j;for(;!1===t&&E<R;)for(e=this.chopInput(e,1),E++,n=0;n<L;n++){const r=b[n];var ne=r.pattern,ie=r.short;if(!1!==ie?T.charCodeAt(E)===ie&&(t=!0):t=!0===r.isCustom?null!==ne.exec(T,E,k,C):(this.updateLastIndex(ne,E),null!==ne.exec(e)),!0===t)break}if(m=E-ee,S=this.computeNewColumn(S,m),g=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(T,ee,m,te,re),x.push({offset:ee,line:te,column:re,length:m,message:g}),!1===j)break}}return this.hasCustom||(k.length=A),{tokens:k,groups:C,errors:x}}handleModes(e,t,r,n){var i;!0===e.pop?(i=e.push,t(n),void 0!==i&&r.call(this,i)):void 0!==e.push&&r.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,r,n,i,a,s){void 0!==t&&(r=(t=r===s-1)?-1:0,1===n&&1==t||(e.endLine=i+r,e.endColumn=a-1-r))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,i,a,s){return{image:e,startOffset:t,endOffset:t+s-1,startLine:i,endLine:i,startColumn:a,endColumn:a+s-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}matchWithTest(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null}matchWithExec(e,t){return null!==(e=e.exec(t))?e[0]:null}}function Za(e){return es(e)?e.LABEL:e.name}function es(e){return ye(e.LABEL)&&""!==e.LABEL}Ja.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.",Ja.NA=/NOT_APPLICABLE/;const ts="parent",rs="categories",ns="label",is="group",as="push_mode",ss="pop_mode",os="longer_alt",ls="line_breaks",us="start_chars_hint";function cs(e){return function(e){var t=e.pattern,r={};if(r.name=e.name,P(t)||(r.PATTERN=t),H(e,ts))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return H(e,rs)&&(r.CATEGORIES=e[rs]),Ha([r]),H(e,ns)&&(r.LABEL=e[ns]),H(e,is)&&(r.GROUP=e[is]),H(e,ss)&&(r.POP_MODE=e[ss]),H(e,as)&&(r.PUSH_MODE=e[as]),H(e,os)&&(r.LONGER_ALT=e[os]),H(e,ls)&&(r.LINE_BREAKS=e[ls]),H(e,us)&&(r.START_CHARS_HINT=e[us]),r}(e)}const ds=cs({name:"EOF",pattern:Ja.NA});function hs(e,t,r,n,i,a,s,o){return{image:t,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function fs(e,t){return Ba(e,t)}Ha([ds]);const ps={buildMismatchTokenMessage:({expected:e,actual:t})=>`Expecting ${es(e)?`--\x3e ${Za(e)} <--`:`token of type --\x3e ${e.name} <--`} but found --\x3e '${t.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:e})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,customUserDescription:r}){var n="Expecting: ";t="\nbut found: '"+ue(t).image+"'";return r?n+r+t:(r=M(e,((e,t)=>e.concat(t)),[]),e=G(r,(e=>`[${G(e,(e=>Za(e))).join(", ")}]`)),n+"one of these possible Token sequences:\n"+G(e,((e,t)=>` ${t+1}. `+e)).join("\n")+t)},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r}){var n="Expecting: ";t="\nbut found: '"+ue(t).image+"'";return r?n+r+t:n+`expecting at least one iteration which starts with one of these possible Token sequences::\n <${G(e,(e=>`[${G(e,(e=>Za(e))).join(",")}]`)).join(" ,")}>`+t}},ms=(Object.freeze(ps),{buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"}),gs={buildDuplicateFoundError(e,t){e=e.name;var r,n=(r=ue(t)).idx;let i=`->${na(r)}${0<n?n:""}<- ${(r=r instanceof Zi?r.terminalType.name:r instanceof Vi?r.nonTerminalName:"")?`with argument: ->${r}<-`:""}\n appears more than once (${t.length} times) in the top level rule: ->${e}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;return(i=i.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){var t=G(e.prefixPath,(e=>Za(e))).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix\nin <OR${r}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(e){var t=G(e.prefixPath,(e=>Za(e))).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.`},buildEmptyRepetitionError(e){let t=na(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives:\n<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\n has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){var t=e.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${t}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${t+" --\x3e "+G(e.leftRecursionPath,(e=>e.name)).concat([t]).join(" --\x3e ")}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return`Duplicate definition, rule: ->${t=e.topLevelRule instanceof Hi?e.topLevelRule.name:e.topLevelRule}<- is already defined in the grammar: ->${e.grammarName}<-`}};class ys extends ta{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){_(S(this.nameToTopRule),(e=>{(this.currTopLevel=e).accept(this)}))}visitNonTerminal(e){var t=this.nameToTopRule[e.nonTerminalName];t?e.referencedRule=t:(t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e),this.errors.push({message:t,type:Se.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName}))}}class vs extends ia{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Y(this.path.ruleStack).reverse(),this.occurrenceStack=Y(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence&&(t=t.concat(r),this.updateExpectedNext(),this.walk(e.referencedRule,t))}updateExpectedNext(){m(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Ts extends vs{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found&&(e=t.concat(r),t=new Wi({definition:e}),this.possibleTokTypes=sa(t),this.found=!0)}}class Rs extends ia{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class Es extends Rs{walkMany(e,t,r){var n;e.idx===this.occurrence?(n=ue(t.concat(r)),this.result.isEndOfRule=void 0===n,n instanceof Zi&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)):super.walkMany(e,t,r)}}class As extends Rs{walkManySep(e,t,r){var n;e.idx===this.occurrence?(n=ue(t.concat(r)),this.result.isEndOfRule=void 0===n,n instanceof Zi&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)):super.walkManySep(e,t,r)}}class $s extends Rs{walkAtLeastOne(e,t,r){var n;e.idx===this.occurrence?(n=ue(t.concat(r)),this.result.isEndOfRule=void 0===n,n instanceof Zi&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)):super.walkAtLeastOne(e,t,r)}}class ks extends Rs{walkAtLeastOneSep(e,t,r){var n;e.idx===this.occurrence?(n=ue(t.concat(r)),this.result.isEndOfRule=void 0===n,n instanceof Zi&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)):super.walkAtLeastOneSep(e,t,r)}}function xs(e,t,r=[]){r=Y(r);let n=[],i=0;function a(a){return a=xs(a.concat(ie(e,i+1)),t,r),n.concat(a)}for(;r.length<t&&i<e.length;){var s=e[i];if(s instanceof Wi)return a(s.definition);if(s instanceof Vi)return a(s.definition);if(s instanceof zi)n=a(s.definition);else{if(s instanceof Yi)return a(s.definition.concat([new Xi({definition:s.definition})]));if(s instanceof qi)return a([new Wi({definition:s.definition}),new Xi({definition:[new Zi({terminalType:s.separator})].concat(s.definition)})]);if(s instanceof Qi){var o=s.definition.concat([new Xi({definition:[new Zi({terminalType:s.separator})].concat(s.definition)})]);n=a(o)}else if(s instanceof Xi)o=s.definition.concat([new Xi({definition:s.definition})]),n=a(o);else{if(s instanceof Ji)return _(s.definition,(e=>{!1===m(e.definition)&&(n=a(e.definition))})),n;if(!(s instanceof Zi))throw Error("non exhaustive match");r.push(s.terminalType)}}i++}return n.push({partialPath:r,suffixDef:ie(e,i)}),n}function Is(e,t,r,n){var i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;var l=t.length,u=l-n-1,c=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!m(d);){if((T=d.pop())===s)o&&W(d).idx<=u&&d.pop();else{var h=T.def,f=T.idx,p=T.ruleStack,g=T.occurrenceStack;if(!m(h)){var y=h[0];if(y===i)T={idx:f,def:ie(h),ruleStack:ae(p),occurrenceStack:ae(g)},d.push(T);else if(y instanceof Zi)if(f<l-1){r(t[T=f+1],y.terminalType)&&(T={idx:T,def:ie(h),ruleStack:p,occurrenceStack:g},d.push(T))}else{if(f!==l-1)throw Error("non exhaustive match");c.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:p,occurrenceStack:g}),o=!0}else if(y instanceof Vi){var v=((T=Y(p)).push(y.nonTerminalName),Y(g)),T=(v.push(y.idx),{idx:f,def:y.definition.concat(a,ie(h)),ruleStack:T,occurrenceStack:v});d.push(T)}else if(y instanceof zi)v={idx:f,def:ie(h),ruleStack:p,occurrenceStack:g},d.push(v),d.push(s),T={idx:f,def:y.definition.concat(ie(h)),ruleStack:p,occurrenceStack:g},d.push(T);else if(y instanceof Yi)T=new Xi({definition:y.definition,idx:y.idx}),T=y.definition.concat([T],ie(h)),d.push({idx:f,def:T,ruleStack:p,occurrenceStack:g});else if(y instanceof qi)T=new Zi({terminalType:y.separator}),T=new Xi({definition:[T].concat(y.definition),idx:y.idx}),T=y.definition.concat([T],ie(h)),d.push({idx:f,def:T,ruleStack:p,occurrenceStack:g});else if(y instanceof Qi)T={idx:f,def:ie(h),ruleStack:p,occurrenceStack:g},d.push(T),d.push(s),T=new Zi({terminalType:y.separator}),T=new Xi({definition:[T].concat(y.definition),idx:y.idx}),T=y.definition.concat([T],ie(h)),d.push({idx:f,def:T,ruleStack:p,occurrenceStack:g});else if(y instanceof Xi)T={idx:f,def:ie(h),ruleStack:p,occurrenceStack:g},d.push(T),d.push(s),T=new Xi({definition:y.definition,idx:y.idx}),T=y.definition.concat([T],ie(h)),d.push({idx:f,def:T,ruleStack:p,occurrenceStack:g});else if(y instanceof Ji)for(let e=y.definition.length-1;0<=e;e--){var R={idx:f,def:y.definition[e].definition.concat(ie(h)),ruleStack:p,occurrenceStack:g};d.push(R),d.push(s)}else if(y instanceof Wi)d.push({idx:f,def:y.definition.concat(ie(h)),ruleStack:p,occurrenceStack:g});else{if(!(y instanceof Hi))throw Error("non exhaustive match");d.push(Ss(y,f,p,g))}}}}return c}function Ss(e,t,r,n){return(r=Y(r)).push(e.name),(n=Y(n)).push(1),{idx:t,def:e.definition,ruleStack:r,occurrenceStack:n}}function Cs(e){if(e instanceof zi||"Option"===e)return xe.OPTION;if(e instanceof Xi||"Repetition"===e)return xe.REPETITION;if(e instanceof Yi||"RepetitionMandatory"===e)return xe.REPETITION_MANDATORY;if(e instanceof qi||"RepetitionMandatoryWithSeparator"===e)return xe.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof Qi||"RepetitionWithSeparator"===e)return xe.REPETITION_WITH_SEPARATOR;if(e instanceof Ji||"Alternation"===e)return xe.ALTERNATION;throw Error("non exhaustive match")}function Ns(e){var t,{occurrence:e,rule:r,prodType:t,maxLookahead:n}=e;return(t=Cs(t))===xe.ALTERNATION?Us(e,r,n):Fs(e,r,t,n)}function ws(e,t,r,n){const i=e.length;var a=le(e,(e=>le(e,(e=>1===e.length))));if(t)return function(t){var n=G(t,(e=>e.GATE));for(let t=0;t<i;t++){var a=e[t],s=a.length,o=n[t];if(void 0===o||!1!==o.call(this))e:for(let e=0;e<s;e++){var l=a[e],u=l.length;for(let e=0;e<u;e++){var c=this.LA(e+1);if(!1===r(c,l[e]))continue e}return t}}};if(!a||n)return function(){for(let l=0;l<i;l++){var t=e[l],n=t.length;e:for(let e=0;e<n;e++){var a=t[e],s=a.length;for(let e=0;e<s;e++){var o=this.LA(e+1);if(!1===r(o,a[e]))continue e}return l}}};{t=G(e,(e=>K(e)));const r=M(t,((e,t,r)=>(_(t,(t=>{H(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),_(t.categoryMatches,(t=>{H(e,t)||(e[t]=r)}))})),e)),{});return function(){var e=this.LA(1);return r[e.tokenTypeIdx]}}}function Ls(e,t,r){var n=le(e,(e=>1===e.length));const i=e.length;if(!n||r)return function(){e:for(let s=0;s<i;s++){var r=e[s],n=r.length;for(let e=0;e<n;e++){var a=this.LA(e+1);if(!1===t(a,r[e]))continue e}return!0}return!1};if(1===(n=K(e)).length&&m(n[0].categoryMatches)){const e=n[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{const e=M(n,((e,t,r)=>(e[t.tokenTypeIdx]=!0,_(t.categoryMatches,(t=>{e[t]=!0})),e)),[]);return function(){var t=this.LA(1);return!0===e[t.tokenTypeIdx]}}}!function(e){e[e.OPTION=0]="OPTION",e[e.REPETITION=1]="REPETITION",e[e.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",e[e.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",e[e.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",e[e.ALTERNATION=5]="ALTERNATION"}(xe=xe||{});class bs extends ia{constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,xe.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,xe.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,xe.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,xe.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,xe.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}}class Os extends ta{constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx!==this.targetOccurrence||this.targetProdType!==t||void 0!==this.targetRef&&e!==this.targetRef||(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,xe.OPTION)}visitRepetition(e){this.checkIsTarget(e,xe.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,xe.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,xe.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,xe.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,xe.ALTERNATION)}}function _s(e){var t=new Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function Ps(e){let t=[""];for(let s=0;s<e.length;s++){var r=e[s],n=[];for(let e=0;e<t.length;e++){var i=t[e];n.push(i+"_"+r.tokenTypeIdx);for(let e=0;e<r.categoryMatches.length;e++){var a="_"+r.categoryMatches[e];n.push(i+a)}}t=n}return t}function Ms(e,t,r){for(let i=0;i<e.length;i++)if(i!==r){var n=e[i];for(let e=0;e<t.length;e++)if(!0===n[t[e]])return!1}return!0}function Ds(e,t){var r=_s((e=G(e,(e=>xs([e],1)))).length);const n=G(e,(e=>{const t={};return _(e,(e=>{e=Ps(e.partialPath),_(e,(e=>{t[e]=!0}))})),t}));let i=e;for(let e=1;e<=t;e++){var a=i;i=_s(a.length);for(let h=0;h<a.length;h++){var s=a[h];for(let a=0;a<s.length;a++){var o=s[a].partialPath,l=s[a].suffixDef,u=Ps(o);if(Ms(n,u,h)||m(l)||o.length===t){var c=r[h];if(!1===Gs(c,o)){c.push(o);for(let e=0;e<u.length;e++){var d=u[e];n[h][d]=!0}}}else c=xs(l,e+1,o),i[h]=i[h].concat(c),_(c,(e=>{e=Ps(e.partialPath),_(e,(e=>{n[h][e]=!0}))}))}}}return r}function Us(e,t,r,n){return e=new Os(e,xe.ALTERNATION,n),t.accept(e),Ds(e.result,r)}function Fs(e,t,r,n){var i=new Os(e,r);t.accept(i),i=i.result,t=new bs(t,e,r).startWalking();return Ds([new Wi({definition:i}),new Wi({definition:t})],n)}function Gs(e,t){e:for(let a=0;a<e.length;a++){var r=e[a];if(r.length===t.length){for(let e=0;e<r.length;e++){var n=t[e],i=r[e];if(0==(n===i||void 0!==i.categoryMatchesMap[n.tokenTypeIdx]))continue e}return!0}}return!1}function Bs(e){return le(e,(e=>le(e,(e=>le(e,(e=>m(e.categoryMatches)))))))}function Ks(e,t,r,n){var i=ce(e,(e=>function(e,t){var r=new Hs;e.accept(r),r=r.allProductions,r=ar(me(r,js),(e=>1<e.length));return G(S(r),(r=>{var n=ue(r),i=(r=t.buildDuplicateFoundError(e,r),na(n));r={message:r,type:Se.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:i,occurrence:n.idx};return(i=Vs(n))&&(r.parameter=i),r}))}(e,r))),a=(t=function(e,t,r){const n=[],i=G(t,(e=>e.name));return _(e,(e=>{var t=e.name;Te(i,t)&&(e=r.buildNamespaceConflictError(e),n.push({message:e,type:Se.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t}))})),n}(e,t,r),ce(e,(e=>function(e,t){var r=new Ys;e.accept(r),r=r.alternations;return ce(r,(r=>255<r.definition.length?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:Se.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[]))}(e,r)))),s=ce(e,(t=>function(e,t,r,n){var i=[];return 1<M(t,((t,r)=>r.name===e.name?t+1:t),0)&&(t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r}),i.push({message:t,type:Se.DUPLICATE_RULE_NAME,ruleName:e.name})),i}(t,e,n,r)));return i.concat(t,a,s)}function js(e){return`${na(e)}_#_${e.idx}_#_`+Vs(e)}function Vs(e){return e instanceof Zi?e.terminalType.name:e instanceof Vi?e.nonTerminalName:""}class Hs extends ta{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 Ws(e,t,r,n=[]){var i,a=[];t=zs(t.definition);return m(t)?[]:(i=e.name,Te(t,e)&&a.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:Se.LEFT_RECURSION,ruleName:i}),i=ce(ne(t,n.concat([e])),(t=>{var i=Y(n);return i.push(t),Ws(e,t,r,i)})),a.concat(i))}function zs(e){let t=[];if(m(e))return t;if((r=ue(e))instanceof Vi)t.push(r.referencedRule);else if(r instanceof Wi||r instanceof zi||r instanceof Yi||r instanceof qi||r instanceof Qi||r instanceof Xi)t=t.concat(zs(r.definition));else if(r instanceof Ji)t=K(G(r.definition,(e=>zs(e.definition))));else if(!(r instanceof Zi))throw Error("non exhaustive match");var r=ra(r),n=1<e.length;return r&&n?(r=ie(e),t.concat(zs(r))):t}class Ys extends ta{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function qs(e,t,r){var n=new Ys;return ce(n=sr(n=(e.accept(n),n.alternations),(e=>!0===e.ignoreAmbiguities)),(n=>{var i=n.idx,a=n.maxLookahead||t;a=function(e,t,r,n){const i=[];var a=M(e,((r,n,a)=>(!0!==t.definition[a].ignoreAmbiguities&&_(n,(n=>{const s=[a];_(e,((e,r)=>{a!==r&&Gs(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)})),1<s.length&&!Gs(i,n)&&(i.push(n),r.push({alts:s,path:n}))})),r)),[]);return G(a,(e=>{var i=G(e.alts,(e=>e+1));return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:Se.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}}))}(i=Us(i,e,a,n),n,e,r),i=function(e,t,r,n){const i=M(e,((e,t,r)=>(t=G(t,(e=>({idx:r,path:e}))),e.concat(t))),[]);return Z(ce(i,(e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];const a=e.idx,s=e.path;return e=D(i,(e=>!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<a&&function(e,t){return e.length<t.length&&le(e,((e,r)=>e===(r=t[r])||r.categoryMatchesMap[e.tokenTypeIdx]))}(e.path,s))),G(e,(e=>{var i=[e.idx+1,a+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:Se.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:i}}))})))}(i,n,e,r);return a.concat(i)}))}class Xs extends ta{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 Qs(e){var t=V(e,{errMsgProvider:ms});const r={};return _(e.rules,(e=>{r[e.name]=e})),function(e,t){return(e=new ys(e,t)).resolveRefs(),e.errors}(r,t.errMsgProvider)}const Js="MismatchedTokenException",Zs="NoViableAltException",eo="EarlyExitException",to="NotAllInputParsedException",ro=[Js,Zs,eo,to];function no(e){return Te(ro,e.name)}Object.freeze(ro);class io extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class ao extends io{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Js}}class so extends io{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Zs}}class oo extends io{constructor(e,t){super(e,t),this.name=to}}class lo extends io{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=eo}}const uo={},co="InRuleRecoveryException";class ho extends Error{constructor(e){super(e),this.name=co}}function fo(e,t,r,n,i,a,s){n=this.getKeyForAutomaticLookahead(n,i);let o=this.firstAfterRepMap[n],l=(void 0===o&&(c=this.getCurrRuleFullName(),o=(a=new a(this.getGAstProductions()[c],i)).startWalking(),this.firstAfterRepMap[n]=o),o.token),u=o.occurrence;var c=o.isEndOfRule;1===this.RULE_STACK.length&&c&&void 0===l&&(l=ds,u=1),void 0!==l&&void 0!==u&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(e,t,r,l)}const po=1024,mo=1280,go=1536;function yo(e,t,r){return r|t|e}class vo{constructor(e){this.maxLookahead=null!=(e=null==e?void 0:e.maxLookahead)?e:Do.maxLookahead}validate(e){var t,r,n=this.validateNoLeftRecursion(e.rules);return m(n)?(t=this.validateEmptyOrAlternatives(e.rules),r=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),e=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead),[...n,...t,...r,...e]):n}validateNoLeftRecursion(e){return ce(e,(e=>Ws(e,e,gs)))}validateEmptyOrAlternatives(e){return ce(e,(e=>function(e,t){var r=new Ys;return ce((e.accept(r),r=r.alternations),(r=>ce(ae(r.definition),((n,i)=>(n=Is([n],[],Ba,1),m(n)?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:Se.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[])))))}(e,gs)))}validateAmbiguousAlternationAlternatives(e,t){return ce(e,(e=>qs(e,t,gs)))}validateSomeNonEmptyLookaheadPath(e,t){return function(e,t,r){const n=[];return _(e,(e=>{var i=new Xs;e.accept(i),i=i.allProductions,_(i,(i=>{var a=Cs(i),s=i.maxLookahead||t;a=Fs(i.idx,e,a,s)[0],m(K(a))&&(s=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i}),n.push({message:s,type:Se.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name}))}))})),n}(e,t,gs)}buildLookaheadForAlternation(e){return function(e,t,r,n,i,a){return a(e=Us(e,t,r),n,Bs(e)?Ka:Ba,i)}(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,ws)}buildLookaheadForOptional(e){return function(e,t,r,n,i,a){return t=Bs(e=Fs(e,t,i,r))?Ka:Ba,a(e[0],t,n)}(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Cs(e.prodType),Ls)}}const To=new class extends ta{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function Ro(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==1&&(e.endOffset=t.endOffset)}function Eo(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==1&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}const Ao="name";function $o(e,t){Object.defineProperty(e,Ao,{enumerable:!1,configurable:!0,writable:!1,value:t})}function ko(e,t){var r=v(e),n=r.length;for(let o=0;o<n;o++){var i=e[r[o]],a=i.length;for(let e=0;e<a;e++){var s=i[e];void 0===s.tokenTypeIdx&&this[s.name](s.children,t)}}}function xo(e,t){function r(){}return $o(r,e+"BaseSemantics"),e={visit:function(e,t){if(a(e)&&(e=e[0]),!P(e))return this[e.name](e.children,t)},validateVisitor:function(){var e=function(e,t){return function(e,t){return t=D(t,(t=>!1===p(e[t]))),Z(G(t,(t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:Ie.MISSING_METHOD,methodName:t}))))}(e,t)}(this,t);if(!m(e))throw e=G(e,(e=>e.msg)),Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t`+e.join("\n\n").replace(/\n/g,"\n\t"))}},((r.prototype=e).constructor=r)._RULE_NAMES=t,r}!function(e){e[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD"}(Ie=Ie||{});const Io={description:"This Object indicates the Parser is during Recording Phase"},So=(Object.freeze(Io),!0),Co=Math.pow(2,8)-1,No=cs({name:"RECORDING_PHASE_TOKEN",pattern:Ja.NA}),wo=(Ha([No]),hs(No,"This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1)),Lo=(Object.freeze(wo),{name:"This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}});function bo(e,t,r,n=!1){Po(r);var i=W(this.recordingProdStack),a=p(t)?t:t.DEF;e=new e({definition:[],idx:r});return n&&(e.separator=t.SEP),H(t,"MAX_LOOKAHEAD")&&(e.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(e),a.call(this),i.definition.push(e),this.recordingProdStack.pop(),Io}function Oo(e,t){Po(t);var r=W(this.recordingProdStack),n=!1===a(e),i=0==n?e:e.DEF;const s=new Ji({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});return H(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),t=lr(i,(e=>p(e.GATE))),s.hasPredicates=t,r.definition.push(s),_(i,(e=>{var t=new Wi({definition:[]});s.definition.push(t),H(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:H(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()})),Io}function _o(e){return 0===e?"":""+e}function Po(e){if(e<0||e>Co)throw(e=new Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than `+(Co+1))).KNOWN_RECORDER_ERROR=!0,e}const Mo=hs(ds,"",NaN,NaN,NaN,NaN,NaN,NaN),Do=(Object.freeze(Mo),Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:ps,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1})),Uo=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});function Fo(e=void 0){return function(){return e}}!function(e){e[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"}(Se=Se||{});class Go{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",(()=>{var e;this.selfAnalysisDone=!0;const t=this.className;this.TRACE_INIT("toFastProps",(()=>{Bi(this)})),this.TRACE_INIT("Grammar Recording",(()=>{try{this.enableRecording(),_(this.definedRulesNames,(e=>{const t=this[e].originalGrammarAction;let r;this.TRACE_INIT(e+" Rule",(()=>{r=this.topLevelRuleRecord(e,t)})),this.gastProductionsCache[e]=r}))}finally{this.disableRecording()}}));let r=[];if(this.TRACE_INIT("Grammar Resolving",(()=>{r=Qs({rules:S(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)})),this.TRACE_INIT("Grammar Validations",(()=>{var e,n;m(r)&&!1===this.skipValidations&&(e=function(e){return Ks((e=V(e,{errMsgProvider:gs})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}({rules:S(this.gastProductionsCache),tokenTypes:S(this.tokensMap),errMsgProvider:gs,grammarName:t}),n=function(e){return e=e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),G(e,(e=>Object.assign({type:Se.CUSTOM_LOOKAHEAD_VALIDATION},e)))}({lookaheadStrategy:this.lookaheadStrategy,rules:S(this.gastProductionsCache),tokenTypes:S(this.tokensMap),grammarName:t}),this.definitionErrors=this.definitionErrors.concat(e,n))})),m(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",(()=>{var e=function(e){const t={};return _(e,(e=>{e=new la(e).startWalking(),Q(t,e)})),t}(S(this.gastProductionsCache));this.resyncFollows=e})),this.TRACE_INIT("ComputeLookaheadFunctions",(()=>{var e,t;null!=(t=(e=this.lookaheadStrategy).initialize)&&t.call(e,{rules:S(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(S(this.gastProductionsCache))}))),!Go.DEFER_DEFINITION_ERRORS_HANDLING&&!m(this.definitionErrors))throw e=G(this.definitionErrors,(e=>e.message)),new Error("Parser Definition Errors detected:\n "+e.join("\n-------------------------------\n"))}))}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var r=this;if(r.initErrorHandler(t),r.initLexerAdapter(),r.initLooksAhead(t),r.initRecognizerEngine(e,t),r.initRecoverable(t),r.initTreeBuilder(t),r.initContentAssist(),r.initGastRecorder(t),r.initPerformanceTracer(t),H(t,"ignoredIssues"))throw new Error("The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.");this.skipValidations=(H(t,"skipValidations")?t:Do).skipValidations}}Go.DEFER_DEFINITION_ERRORS_HANDLING=!1,function(e,t){t.forEach((t=>{const r=t.prototype;Object.getOwnPropertyNames(r).forEach((n=>{var i;"constructor"!==n&&((i=Object.getOwnPropertyDescriptor(r,n))&&(i.get||i.set)?Object.defineProperty(e.prototype,n,i):e.prototype[n]=t.prototype[n])}))}))}(Go,[class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(H(e,"recoveryEnabled")?e:Do).recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=fo)}getTokenToInsert(e){return(e=hs(e,"",NaN,NaN,NaN,NaN,NaN,NaN)).isInsertedInRecovery=!0,e}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){var i=this.findReSyncTokenType(),a=this.exportLexerState();const s=[];let o=!1;const l=this.LA(1);let u=this.LA(1);for(var c=()=>{var e=this.LA(0);e=this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()});(e=new ao(e,l,this.LA(0))).resyncedTokens=ae(s),this.SAVE_ERROR(e)};!o;){if(this.tokenMatcher(u,n))return void c();if(r.call(this))return c(),void e.apply(this,t);this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s))}this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!1!==r&&!this.tokenMatcher(this.LA(1),e)&&!this.isBackTracking()&&!this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t))}getFollowsForInRuleRecovery(e,t){return e=this.getCurrentGrammarPath(e,t),this.getNextPossibleTokenTypes(e)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e))return t=this.SKIP_TOKEN(),this.consumeToken(),t;throw new ho("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e))return!1;if(m(t))return!1;const r=this.LA(1);return void 0!==j(t,(e=>this.tokenMatcher(r,e)))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){var t=this.getCurrFollowKey();return Te(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){var e=this.flattenFollowSet();let t=this.LA(1),r=2;for(;;){var n=j(e,(e=>fs(t,e)));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){var e,t,r;return 1===this.RULE_STACK.length?uo:(e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName(),{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)})}buildFullFollowKeyStack(){const e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return G(e,((r,n)=>0===n?uo:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])}))}flattenFollowSet(){var e=G(this.buildFullFollowKeyStack(),(e=>this.getFollowSetFromFollowKey(e)));return K(e)}getFollowSetFromFollowKey(e){return e===uo?[ds]:(e=e.ruleName+e.idxInCallingRule+oa+e.inRule,this.resyncFollows[e])}addToResyncTokens(e,t){return this.tokenMatcher(e,ds)||t.push(e),t}reSyncTo(e){var t=[];let r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return ae(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:Y(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return G(this.RULE_STACK,(e=>this.shortRuleNameToFullName(e)))}},class{initLooksAhead(e){this.dynamicTokensEnabled=(H(e,"dynamicTokensEnabled")?e:Do).dynamicTokensEnabled,this.maxLookahead=(H(e,"maxLookahead")?e:Do).maxLookahead,this.lookaheadStrategy=H(e,"lookaheadStrategy")?e.lookaheadStrategy:new vo({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){_(e,(e=>{this.TRACE_INIT(e.name+" Rule Lookahead",(()=>{var{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:s}=function(e){return To.reset(),e.accept(To),e=To.dslMethods,To.reset(),e}(e);_(t,(t=>{var r=0===t.idx?"":t.idx;this.TRACE_INIT(""+na(t)+r,(()=>{var r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=yo(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(n,r)}))})),_(r,(t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,na(t))})),_(n,(t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,na(t))})),_(i,(t=>{this.computeLookaheadFunc(e,t.idx,po,"RepetitionMandatory",t.maxLookahead,na(t))})),_(a,(t=>{this.computeLookaheadFunc(e,t.idx,go,"RepetitionMandatoryWithSeparator",t.maxLookahead,na(t))})),_(s,(t=>{this.computeLookaheadFunc(e,t.idx,mo,"RepetitionWithSeparator",t.maxLookahead,na(t))}))}))}))}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(""+a+(0===t?"":t),(()=>{var a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=yo(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(s,a)}))}getKeyForAutomaticLookahead(e,t){return yo(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(H(e,"nodeLocationTracking")?e:Do).nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Eo,this.setNodeLocationFromNode=Eo,this.cstPostRule=U,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=U,this.setNodeLocationFromNode=U,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ro,this.setNodeLocationFromNode=Ro,this.cstPostRule=U,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=U,this.setNodeLocationFromNode=U,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);this.setNodeLocationFromToken=U,this.setNodeLocationFromNode=U,this.cstPostRule=U,this.setInitialNodeLocation=U}else this.cstInvocationStateUpdate=U,this.cstFinallyStateUpdate=U,this.cstPostTerminal=U,this.cstPostNonTerminal=U,this.cstPostRule=U}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){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){e={name:e,children:Object.create(null)},this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){var t=this.LA(0);(e=e.location).startOffset<=t.startOffset==1?(e.endOffset=t.endOffset,e.endLine=t.endLine,e.endColumn=t.endColumn):(e.startOffset=NaN,e.startLine=NaN,e.startColumn=NaN)}cstPostRuleOnlyOffset(e){var t=this.LA(0);(e=e.location).startOffset<=t.startOffset==1?e.endOffset=t.endOffset:e.startOffset=NaN}cstPostTerminal(e,t){var r=this.CST_STACK[this.CST_STACK.length-1];(function(e,t,r){void 0===e.children[r]?e.children[r]=[t]:e.children[r].push(t)})(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){var r=this.CST_STACK[this.CST_STACK.length-1];(function(e,t,r){void 0===e.children[t]?e.children[t]=[r]:e.children[t].push(r)})(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){var e;return P(this.baseCstVisitorConstructor)?(e=xo(this.className,v(this.gastProductionsCache)),this.baseCstVisitorConstructor=e):this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){var e;return P(this.baseCstVisitorWithDefaultsConstructor)?(e=function(e,t,r){function n(){}$o(n,e+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return _(t,(e=>{i[e]=ko})),(n.prototype=i).constructor=n}(this.className,v(this.gastProductionsCache),this.getBaseCstVisitorConstructor()),this.baseCstVisitorWithDefaultsConstructor=e):this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){var e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Mo}LA(e){return(e=this.currIdx+e)<0||this.tokVectorLength<=e?Mo:this.tokVector[e]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ka,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},H(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if(a(e)){if(m(e))throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if(a(e))this.tokensMap=M(e,((e,t)=>(e[t.name]=t,e)),{});else if(H(e,"modes")&&le(K(S(e.modes)),qa)){t=ur(K(S(e.modes))),this.tokensMap=M(t,((e,t)=>(e[t.name]=t,e)),{})}else{if(!y(e))throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=Y(e)}this.tokensMap.EOF=ds;t=le(H(e,"modes")?K(S(e.modes)):S(e),(e=>m(e.categoryMatches))),this.tokenMatcher=t?Ka:Ba,Ha(S(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const n=(H(r,"resyncEnabled")?r:Uo).resyncEnabled,i=(H(r,"recoveryValueFunc")?r:Uo).recoveryValueFunc,a=this.ruleShortNameIdx<<12;let s;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,s=!0===this.outputCst?function(...r){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r);var s=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(s),s}catch(r){return this.invokeRuleCatch(r,n,i)}finally{this.ruleFinallyStateUpdate()}}:function(...r){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r)}catch(r){return this.invokeRuleCatch(r,n,i)}finally{this.ruleFinallyStateUpdate()}},Object.assign(s,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){var n=1===this.RULE_STACK.length;t=t&&!this.isBackTracking()&&this.recoveryEnabled;if(no(e)){var i=e;if(t){t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t))return i.resyncedTokens=this.reSyncTo(t),this.outputCst?((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,t):r(e);this.outputCst&&((t=this.CST_STACK[this.CST_STACK.length-1]).recoveredNode=!0,i.partialCstResult=t)}else if(n)return this.moveToTerminatedState(),r(e);throw i}throw e}optionInternal(e,t){var r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;const t=e.GATE;if(void 0!==t){const e=i;i=()=>t.call(this)&&e.call(this)}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){var r=this.getKeyForAutomaticLookahead(po,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;const e=t.GATE;if(void 0!==e){const t=i;i=()=>e.call(this)&&t.call(this)}}else n=t;if(!0!==i.call(this))throw this.raiseEarlyExitException(e,xe.REPETITION_MANDATORY,t.ERR_MSG);{let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,po,e,$s)}atLeastOneSepFirstInternal(e,t){var r=this.getKeyForAutomaticLookahead(go,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){var n=t.DEF;const i=t.SEP;if(!0!==this.getLaFuncFromCache(r).call(this))throw this.raiseEarlyExitException(e,xe.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG);for(n.call(this),r=()=>this.tokenMatcher(this.LA(1),i);!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,r,n,ks],r,go,e,ks)}manyInternal(e,t){var r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;const e=t.GATE;if(void 0!==e){const t=i;i=()=>e.call(this)&&t.call(this)}}else n=t;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,Es,a)}manySepFirstInternal(e,t){var r=this.getKeyForAutomaticLookahead(mo,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){var n=t.DEF;const i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){for(n.call(this),t=()=>this.tokenMatcher(this.LA(1),i);!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,As],t,mo,e,As)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,go,e,i)}doSingleRepetition(e){return this.getLexerPosition()<(e=(e.call(this),this.getLexerPosition()))}orInternal(e,t){var r=this.getKeyForAutomaticLookahead(256,t),n=a(e)?e:e.DEF;if(void 0!==(r=this.getLaFuncFromCache(r).call(this,n)))return n[r].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){var e,t;this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()&&(e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new oo(t,e)))}subruleInternal(e,t,r){var n;try{var i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw no(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{var i=this.LA(1);!0===this.tokenMatcher(i,e)?(this.consumeToken(),n=i):this.consumeInternalError(e,i,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n;var i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ao(n,t,i))}consumeInternalRecovery(e,t,r){if(!this.recoveryEnabled||"MismatchedTokenException"!==r.name||this.isBackTracking())throw r;t=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,t)}catch(e){throw e.name===co?r:e}}saveRecogState(){var e=this.errors,t=Y(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),ds)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=Uo){Te(this.definedRulesNames,e)&&(n={message:gs.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Se.DUPLICATE_RULE_NAME,ruleName:e},this.definitionErrors.push(n)),this.definedRulesNames.push(e);var n=this.defineRule(e,t,r);return this[e]=n}OVERRIDE_RULE(e,t,r=Uo){var n=function(e,t,r){var n=[];return Te(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:Se.INVALID_RULE_OVERRIDE,ruleName:e}),n}(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n),n=this.defineRule(e,t,r);return this[e]=n}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);var r=this.saveRecogState();try{return e.apply(this,t),!0}catch(r){if(no(r))return!1;throw r}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return function(e){return G(e,ea)}(S(this.gastProductionsCache))}},class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=(H(e,"errorMessageProvider")?e:Do).errorMessageProvider}SAVE_ERROR(e){if(no(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Y(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Y(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){var n=this.getCurrRuleFullName(),i=(e=Fs(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],[]);for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));throw t=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:e,actual:i,previous:this.LA(0),customUserDescription:r,ruleName:n}),this.SAVE_ERROR(new lo(t,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){var r=this.getCurrRuleFullName(),n=(e=Us(e,this.getGAstProductions()[r],this.maxLookahead),[]);for(let e=1;e<=this.maxLookahead;e++)n.push(this.LA(e));throw r=this.LA(0),e=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:e,actual:n,previous:r,customUserDescription:t,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new so(e,this.LA(1),r))}},class{initContentAssist(){}computeContentAssist(e,t){var r=this.gastProductionsCache[e];if(P(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Is([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){var t=ue(e.ruleStack);t=this.getGAstProductions()[t];return new Ts(t,e).startWalking()}},class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",(()=>{for(let t=0;t<10;t++){var e=0<t?t:"";this["CONSUME"+e]=function(e,r){return this.consumeInternalRecord(e,t,r)},this["SUBRULE"+e]=function(e,r){return this.subruleInternalRecord(e,t,r)},this["OPTION"+e]=function(e){return this.optionInternalRecord(e,t)},this["OR"+e]=function(e){return this.orInternalRecord(e,t)},this["MANY"+e]=function(e){this.manyInternalRecord(t,e)},this["MANY_SEP"+e]=function(e){this.manySepFirstInternalRecord(t,e)},this["AT_LEAST_ONE"+e]=function(e){this.atLeastOneInternalRecord(t,e)},this["AT_LEAST_ONE_SEP"+e]=function(e){this.atLeastOneSepFirstInternalRecord(t,e)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD}))}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",(()=>{var e=this;for(let r=0;r<10;r++){var t=0<r?r:"";delete e["CONSUME"+t],delete e["SUBRULE"+t],delete e["OPTION"+t],delete e["OR"+t],delete e["MANY"+t],delete e["MANY_SEP"+t],delete e["AT_LEAST_ONE"+t],delete e["AT_LEAST_ONE_SEP"+t]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA}))}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Mo}topLevelRuleRecord(e,t){try{var r=new Hi({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return bo.call(this,zi,e,t)}atLeastOneInternalRecord(e,t){bo.call(this,Yi,t,e)}atLeastOneSepFirstInternalRecord(e,t){bo.call(this,qi,t,e,So)}manyInternalRecord(e,t){bo.call(this,Xi,t,e)}manySepFirstInternalRecord(e,t){bo.call(this,Qi,t,e,So)}orInternalRecord(e,t){return Oo.call(this,e,t)}subruleInternalRecord(e,t,r){var n,i;if(Po(t),e&&!1!==H(e,"ruleName"))return n=W(this.recordingProdStack),i=e.ruleName,i=new Vi({idx:t,nonTerminalName:i,label:null==r?void 0:r.LABEL,referencedRule:void 0}),n.definition.push(i),this.outputCst?Lo:Io;throw(r=new Error(`<SUBRULE${_o(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`)).KNOWN_RECORDER_ERROR=!0,r}consumeInternalRecord(e,t,r){var n;if(Po(t),za(e))return n=W(this.recordingProdStack),r=new Zi({idx:t,terminalType:e,label:null==r?void 0:r.LABEL}),n.definition.push(r),wo;throw(n=new Error(`<CONSUME${_o(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`)).KNOWN_RECORDER_ERROR=!0,n}},class{initPerformanceTracer(e){var t;H(e,"traceInitPerf")?(e=e.traceInitPerf,this.traceInitMaxIdent=(t="number"==typeof e)?e:1/0,this.traceInitPerf=t?0<e:e):(this.traceInitMaxIdent=0,this.traceInitPerf=Do.traceInitPerf),this.traceInitIndent=-1}TRACE_INIT(e,t){var r,n,i,a;return!0===this.traceInitPerf?(this.traceInitIndent++,r=new Array(this.traceInitIndent+1).join("\t"),({time:n,value:i}=(this.traceInitIndent<this.traceInitMaxIdent&&console.log(r+`--\x3e <${e}>`),Gi(t))),a=10<n?console.warn:console.log,this.traceInitIndent<this.traceInitMaxIdent&&a(r+`<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i):t()}}]);class Bo extends Go{constructor(e,t=Do){(t=Y(t)).outputCst=!1,super(e,t)}}function Ko(e,t,r){return e.name+`_${t}_`+r}const jo=1,Vo=2,Ho=4,Wo=5,zo=7,Yo=8,qo=9,Xo=10,Qo=11,Jo=12;class Zo{constructor(e){this.target=e}isEpsilon(){return!1}}class el extends Zo{constructor(e,t){super(e),this.tokenType=t}}class tl extends Zo{constructor(e){super(e)}isEpsilon(){return!0}}class rl extends Zo{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function nl(e){var t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]},r=(function(e,t){var r=t.length;for(let s=0;s<r;s++){var n=t[s],i=Rl(e,n,void 0,{type:Vo}),a=Rl(e,n,void 0,{type:zo});i.stop=a,e.ruleToStartState.set(n,i),e.ruleToStopState.set(n,a)}}(t,e),e.length);for(let a=0;a<r;a++){var n=e[a],i=dl(t,n,n);void 0!==i&&vl(t,n,i)}return t}function il(e,t,r){return r instanceof Zi?gl(e,t,r.terminalType,r):(r instanceof Vi?yl:r instanceof Ji?ul:r instanceof zi?cl:r instanceof Xi?al:r instanceof Qi?sl:r instanceof Yi?ol:r instanceof qi?ll:dl)(e,t,r)}function al(e,t,r){var n;return fl(e,t,r,n=(pl(e,n=Rl(e,t,r,{type:Wo})),ml(e,t,n,r,dl(e,t,r))))}function sl(e,t,r){var n;return fl(e,t,r,n=(pl(e,n=Rl(e,t,r,{type:Wo})),ml(e,t,n,r,dl(e,t,r))),gl(e,t,r.separator,r))}function ol(e,t,r){var n;return hl(e,t,r,n=(pl(e,n=Rl(e,t,r,{type:Ho})),ml(e,t,n,r,dl(e,t,r))))}function ll(e,t,r){var n;return hl(e,t,r,n=(pl(e,n=Rl(e,t,r,{type:Ho})),ml(e,t,n,r,dl(e,t,r))),gl(e,t,r.separator,r))}function ul(e,t,r){var n=Rl(e,t,r,{type:jo}),i=(pl(e,n),G(r.definition,(r=>il(e,t,r))));return ml(e,t,n,r,...i)}function cl(e,t,r){var n;return function(e,t,r,n){var i=n.left;return Tl(i,n.right),e.decisionMap[Ko(t,"Option",r.idx)]=i,n}(e,t,r,n=(pl(e,n=Rl(e,t,r,{type:jo})),ml(e,t,n,r,dl(e,t,r))))}function dl(e,t,r){return 1===(r=D(G(r.definition,(r=>il(e,t,r))),(e=>void 0!==e))).length?r[0]:0!==r.length?function(e,t){var r=t.length;for(let o=0;o<r-1;o++){var n=t[o];let r;var i=(r=1===n.left.transitions.length?n.left.transitions[0]:r)instanceof rl,a=r,s=t[o+1].left;n.left.type===jo&&n.right.type===jo&&void 0!==r&&(i&&a.followState===n.right||r.target===n.right)?(i?a.followState=s:r.target=s,Al(e,n.right)):Tl(n.right,s)}var o=t[0],l=t[r-1];return{left:o.left,right:l.right}}(e,r):void 0}function hl(e,t,r,n,i){var a=n.left,s=(n=n.right,Rl(e,t,r,{type:Qo})),o=(pl(e,s),Rl(e,t,r,{type:Jo}));return a.loopback=s,o.loopback=s,Tl(n,e.decisionMap[Ko(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=s),void 0===i?(Tl(s,a),Tl(s,o)):(Tl(s,o),Tl(s,i.left),Tl(i.right,a)),{left:a,right:o}}function fl(e,t,r,n,i){var a=n.left,s=(n=n.right,Rl(e,t,r,{type:Xo})),o=(pl(e,s),Rl(e,t,r,{type:Jo})),l=Rl(e,t,r,{type:qo});return s.loopback=l,o.loopback=l,Tl(s,a),Tl(s,o),Tl(n,l),void 0!==i?(Tl(l,o),Tl(l,i.left),Tl(i.right,a)):Tl(l,s),{left:e.decisionMap[Ko(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=s,right:o}}function pl(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function ml(e,t,r,n,...i){var a=Rl(e,t,n,{type:Yo,start:r});r.end=a;for(const e of i)void 0!==e?(Tl(r,e.left),Tl(e.right,a)):Tl(r,a);return i={left:r,right:a},e.decisionMap[Ko(t,function(e){if(e instanceof Ji)return"Alternation";if(e instanceof zi)return"Option";if(e instanceof Xi)return"Repetition";if(e instanceof Qi)return"RepetitionWithSeparator";if(e instanceof Yi)return"RepetitionMandatory";if(e instanceof qi)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}(n),n.idx)]=r,i}function gl(e,t,r,n){var i=Rl(e,t,n,{type:jo});e=Rl(e,t,n,{type:jo});return El(i,new el(e,r)),{left:i,right:e}}function yl(e,t,r){var n=r.referencedRule,i=e.ruleToStartState.get(n),a=Rl(e,t,r,{type:jo});e=Rl(e,t,r,{type:jo});return El(a,new rl(i,n,e)),{left:a,right:e}}function vl(e,t,r){var n=e.ruleToStartState.get(t);Tl(n,r.left),e=e.ruleToStopState.get(t);return t=(Tl(r.right,e),{left:n,right:e})}function Tl(e,t){El(e,new tl(t))}function Rl(e,t,r,n){return r=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n),e.states.push(r),r}function El(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function Al(e,t){e.states.splice(e.states.indexOf(t),1)}const $l={};class kl{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){var t=xl(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return G(this.configs,(e=>e.alt))}get key(){let e="";for(const t in this.map)e+=t+":";return e}}function xl(e,t=!0){return`${t?"a"+e.alt:""}s${e.state.stateNumber}:`+e.stack.map((e=>e.stateNumber.toString())).join("_")}function Il(e,t){const r={};return n=>{n=n.toString();var i=r[n];return void 0!==i?i:(i={atnStartState:e,decision:t,states:{}},r[n]=i)}}class Sl{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="";var t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}}const Cl=new Sl;class Nl extends vo{constructor(e){super(),this.logging=null!=(e=null==e?void 0:e.logging)?e:e=>console.log(e)}initialize(e){this.atn=nl(e.rules),this.dfas=function(e){var t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=Il(e.decisionStates[n],n);return r}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){var{prodOccurrence:e,rule:t,hasPredicates:r,dynamicTokensEnabled:n}=e;const i=this.dfas,a=this.logging;var s=Ko(t,"Alternation",e);const o=this.atn.decisionMap[s].decision;if(s=G(Ns({maxLookahead:1,occurrence:e,prodType:"Alternation",rule:t}),(e=>G(e,(e=>e[0])))),!wl(s,!1)||n)return r?function(e){var t=new Sl,r=void 0===e?0:e.length;for(let i=0;i<r;i++){var n=null==e?void 0:e[i].GATE;t.set(i,void 0===n||n.call(this))}var s=Ll.call(this,i,o,t,a);return"number"==typeof s?s:void 0}:function(){var e=Ll.call(this,i,o,Cl,a);return"number"==typeof e?e:void 0};{const e=M(s,((e,t,r)=>(_(t,(t=>{t&&(e[t.tokenTypeIdx]=r,_(t.categoryMatches,(t=>{e[t]=r})))})),e)),{});return r?function(t){var r=this.LA(1);r=e[r.tokenTypeIdx];if(void 0===t||void 0===r||void 0===(t=null==(t=t[r])?void 0:t.GATE)||!1!==t.call(this))return r}:function(){var t=this.LA(1);return e[t.tokenTypeIdx]}}}buildLookaheadForOptional(e){var{prodOccurrence:e,rule:t,prodType:r,dynamicTokensEnabled:n}=e;const i=this.dfas,a=this.logging;var s=Ko(t,r,e);const o=this.atn.decisionMap[s].decision;if(s=G(Ns({maxLookahead:1,occurrence:e,prodType:r,rule:t}),(e=>G(e,(e=>e[0])))),wl(s)&&s[0][0]&&!n){if(e=s[0],1===(r=K(e)).length&&m(r[0].categoryMatches)){const e=r[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{const e=M(r,((e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,_(t.categoryMatches,(t=>{e[t]=!0}))),e)),{});return function(){var t=this.LA(1);return!0===e[t.tokenTypeIdx]}}}return function(){var e=Ll.call(this,i,o,Cl,a);return"object"!=typeof e&&0===e}}}function wl(e,t=!0){var r=new Set;for(const i of e){var n=new Set;for(const e of i){if(void 0===e){if(t)break;return!1}for(const t of[e.tokenTypeIdx].concat(e.categoryMatches))if(r.has(t)){if(!n.has(t))return!1}else r.add(t),n.add(t)}}return!0}function Ll(e,t,r,n){let i=(e=e[t](r)).start;return void 0===i&&(t=function(e){var t=new kl,r=e.transitions.length;for(let n=0;n<r;n++)Bl({state:e.transitions[n].target,alt:n,stack:[]},t);return t}(e.atnStartState),i=Gl(e,Ul(t)),e.start=i),bl.apply(this,[e,i,r,n])}function bl(e,t,r,n){let i=t,a=1;var s=[];let o=this.LA(a++);for(;;){let t=Ml(i,o);if((t=void 0===t?Ol.apply(this,[e,i,o,a,r,n]):t)===$l)return Pl(s,i,o);if(!0===t.isAcceptState)return t.prediction;i=t,s.push(o),o=this.LA(a++)}}function Ol(e,t,r,n,i,a){var s=function(e,t,r){var n=new kl,i=[];for(const o of e.elements)if(!1!==r.is(o.alt))if(o.state.type===zo)i.push(o);else{var a=o.state.transitions.length;for(let e=0;e<a;e++){var s=Dl(o.state.transitions[e],t);void 0!==s&&n.add({state:s,alt:o.alt,stack:o.stack})}}let o;if(void 0===(o=0===i.length&&1===n.size?n:o)){o=new kl;for(const e of n.elements)Bl(e,o)}if(0<i.length&&!function(e){for(const t of e.elements)if(t.state.type===zo)return!0;return!1}(o))for(const e of i)o.add(e);return o}(t.configs,r,i);if(0===s.size)return Fl(e,t,r,$l),$l;let o=Ul(s);i=function(e,t){let r;for(const n of e.elements)if(!0===t.is(n.alt))if(void 0===r)r=n.alt;else if(r!==n.alt)return;return r}(s,i);return void 0!==i?(o.isAcceptState=!0,o.prediction=i,o.configs.uniqueAlt=i):function(e){return!!function(e){for(const t of e.elements)if(t.state.type!==zo)return!1;return!0}(e)||function(e){for(const t of Array.from(e.values()))if(1<Object.keys(t).length)return!0;return!1}(e=function(e){var t=new Map;for(const n of e){var r=xl(n,!1);let e=t.get(r);void 0===e&&(e={},t.set(r,e)),e[n.alt]=!0}return t}(e.elements))&&!function(e){for(const t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}(e)}(s)&&(i=z(s.alts),o.isAcceptState=!0,o.prediction=i,o.configs.uniqueAlt=i,_l.apply(this,[e,n,s.alts,a])),Fl(e,t,r,o)}function _l(e,t,r,n){var i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);n(function(e){var t=G(e.prefixPath,(e=>Za(e))).join(", "),r=0===e.production.idx?"":e.production.idx;return`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${function(e){if(e instanceof Vi)return"SUBRULE";if(e instanceof zi)return"OPTION";if(e instanceof Ji)return"OR";if(e instanceof Yi)return"AT_LEAST_ONE";if(e instanceof qi)return"AT_LEAST_ONE_SEP";if(e instanceof Qi)return"MANY_SEP";if(e instanceof Xi)return"MANY";if(e instanceof Zi)return"CONSUME";throw Error("non exhaustive match")}(e.production)}${r}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.`}({topLevelRule:(e=e.atnStartState).rule,ambiguityIndices:r,production:e.production,prefixPath:i}))}function Pl(e,t,r){return{actualToken:r,possibleTokenTypes:cr(ce(t.configs.elements,(e=>e.state.transitions)).filter((e=>e instanceof el)).map((e=>e.tokenType)),(e=>e.tokenTypeIdx)),tokenPath:e}}function Ml(e,t){return e.edges[t.tokenTypeIdx]}function Dl(e,t){if(e instanceof el&&fs(t,e.tokenType))return e.target}function Ul(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function Fl(e,t,r,n){return n=Gl(e,n),t.edges[r.tokenTypeIdx]=n}function Gl(e,t){if(t!==$l){var r=t.configs.key,n=e.states[r];if(void 0!==n)return n;t.configs.finalize(),e.states[r]=t}return t}function Bl(e,t){var r,n=e.state;if(n.type===zo)0<e.stack.length?Bl({state:(r=[...e.stack]).pop(),alt:e.alt,stack:r},t):t.add(e);else{n.epsilonOnlyTransitions||t.add(e);var i=n.transitions.length;for(let r=0;r<i;r++){var a=Kl(e,n.transitions[r]);void 0!==a&&Bl(a,t)}}}function Kl(e,t){var r;return t instanceof tl?{state:t.target,alt:e.alt,stack:e.stack}:t instanceof rl?(r=[...e.stack,t.followState],{state:t.target,alt:e.alt,stack:r}):void 0}var jl;(Ce||(Ce={})).is=function(e){return"string"==typeof e},(Ne||(Ne={})).is=function(e){return"string"==typeof e},(jl=we=we||{}).MIN_VALUE=-2147483648,jl.MAX_VALUE=2147483647,jl.is=function(e){return"number"==typeof e&&jl.MIN_VALUE<=e&&e<=jl.MAX_VALUE},function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647,e.is=function(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(Le=Le||{}),function(e){e.create=function(e,t){return{line:e=e===Number.MAX_VALUE?Le.MAX_VALUE:e,character:t=t===Number.MAX_VALUE?Le.MAX_VALUE:t}},e.is=function(e){return Zt.objectLiteral(e)&&Zt.uinteger(e.line)&&Zt.uinteger(e.character)}}(be=be||{}),function(e){e.create=function(e,t,r,n){if(Zt.uinteger(e)&&Zt.uinteger(t)&&Zt.uinteger(r)&&Zt.uinteger(n))return{start:be.create(e,t),end:be.create(r,n)};if(be.is(e)&&be.is(t))return{start:e,end:t};throw new Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)},e.is=function(e){return Zt.objectLiteral(e)&&be.is(e.start)&&be.is(e.end)}}(Oe=Oe||{}),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){return Zt.objectLiteral(e)&&Oe.is(e.range)&&(Zt.string(e.uri)||Zt.undefined(e.uri))}}(_e=_e||{}),function(e){e.create=function(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}},e.is=function(e){return Zt.objectLiteral(e)&&Oe.is(e.targetRange)&&Zt.string(e.targetUri)&&Oe.is(e.targetSelectionRange)&&(Oe.is(e.originSelectionRange)||Zt.undefined(e.originSelectionRange))}}(Pe=Pe||{}),function(e){e.create=function(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}},e.is=function(e){return Zt.objectLiteral(e)&&Zt.numberRange(e.red,0,1)&&Zt.numberRange(e.green,0,1)&&Zt.numberRange(e.blue,0,1)&&Zt.numberRange(e.alpha,0,1)}}(Me=Me||{}),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){return Zt.objectLiteral(e)&&Oe.is(e.range)&&Me.is(e.color)}}(De=De||{}),function(e){e.create=function(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}},e.is=function(e){return Zt.objectLiteral(e)&&Zt.string(e.label)&&(Zt.undefined(e.textEdit)||ze.is(e))&&(Zt.undefined(e.additionalTextEdits)||Zt.typedArray(e.additionalTextEdits,ze.is))}}(Ue=Ue||{}),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(Fe=Fe||{}),function(e){e.create=function(e,t,r,n,i,a){return e={startLine:e,endLine:t},Zt.defined(r)&&(e.startCharacter=r),Zt.defined(n)&&(e.endCharacter=n),Zt.defined(i)&&(e.kind=i),Zt.defined(a)&&(e.collapsedText=a),e},e.is=function(e){return Zt.objectLiteral(e)&&Zt.uinteger(e.startLine)&&Zt.uinteger(e.startLine)&&(Zt.undefined(e.startCharacter)||Zt.uinteger(e.startCharacter))&&(Zt.undefined(e.endCharacter)||Zt.uinteger(e.endCharacter))&&(Zt.undefined(e.kind)||Zt.string(e.kind))}}(Ge=Ge||{}),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){return Zt.defined(e)&&_e.is(e.location)&&Zt.string(e.message)}}(Be=Be||{}),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(Ke=Ke||{}),function(e){e.Unnecessary=1,e.Deprecated=2}(je=je||{}),(Ve||(Ve={})).is=function(e){return Zt.objectLiteral(e)&&Zt.string(e.href)},function(e){e.create=function(e,t,r,n,i,a){return e={range:e,message:t},Zt.defined(r)&&(e.severity=r),Zt.defined(n)&&(e.code=n),Zt.defined(i)&&(e.source=i),Zt.defined(a)&&(e.relatedInformation=a),e},e.is=function(e){var t;return Zt.defined(e)&&Oe.is(e.range)&&Zt.string(e.message)&&(Zt.number(e.severity)||Zt.undefined(e.severity))&&(Zt.integer(e.code)||Zt.string(e.code)||Zt.undefined(e.code))&&(Zt.undefined(e.codeDescription)||Zt.string(null==(t=e.codeDescription)?void 0:t.href))&&(Zt.string(e.source)||Zt.undefined(e.source))&&(Zt.undefined(e.relatedInformation)||Zt.typedArray(e.relatedInformation,Be.is))}}(He=He||{}),function(e){e.create=function(e,t,...r){return e={title:e,command:t},Zt.defined(r)&&0<r.length&&(e.arguments=r),e},e.is=function(e){return Zt.defined(e)&&Zt.string(e.title)&&Zt.string(e.command)}}(We=We||{}),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){return Zt.objectLiteral(e)&&Zt.string(e.newText)&&Oe.is(e.range)}}(ze=ze||{}),function(e){e.create=function(e,t,r){return e={label:e},void 0!==t&&(e.needsConfirmation=t),void 0!==r&&(e.description=r),e},e.is=function(e){return Zt.objectLiteral(e)&&Zt.string(e.label)&&(Zt.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(Zt.string(e.description)||void 0===e.description)}}(Ye=Ye||{}),(qe||(qe={})).is=function(e){return Zt.string(e)},function(e){e.replace=function(e,t,r){return{range:e,newText:t,annotationId:r}},e.insert=function(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){return ze.is(e)&&(Ye.is(e.annotationId)||qe.is(e.annotationId))}}(Xe=Xe||{}),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){return Zt.defined(e)&&it.is(e.textDocument)&&Array.isArray(e.edits)}}(Qe=Qe||{}),function(e){e.create=function(e,t,r){return e={kind:"create",uri:e},void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(e.options=t),void 0!==r&&(e.annotationId=r),e},e.is=function(e){return e&&"create"===e.kind&&Zt.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||Zt.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||Zt.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||qe.is(e.annotationId))}}(Je=Je||{}),function(e){e.create=function(e,t,r,n){return e={kind:"rename",oldUri:e,newUri:t},void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(e.options=r),void 0!==n&&(e.annotationId=n),e},e.is=function(e){return e&&"rename"===e.kind&&Zt.string(e.oldUri)&&Zt.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||Zt.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||Zt.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||qe.is(e.annotationId))}}(Ze=Ze||{}),function(e){e.create=function(e,t,r){return e={kind:"delete",uri:e},void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(e.options=t),void 0!==r&&(e.annotationId=r),e},e.is=function(e){return e&&"delete"===e.kind&&Zt.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||Zt.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||Zt.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||qe.is(e.annotationId))}}(et=et||{}),(tt||(tt={})).is=function(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every((e=>Zt.string(e.kind)?Je.is(e)||Ze.is(e)||et.is(e):Qe.is(e))))},function(e){e.create=function(e){return{uri:e}},e.is=function(e){return Zt.defined(e)&&Zt.string(e.uri)}}(rt=rt||{}),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){return Zt.defined(e)&&Zt.string(e.uri)&&Zt.integer(e.version)}}(nt=nt||{}),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){return Zt.defined(e)&&Zt.string(e.uri)&&(null===e.version||Zt.integer(e.version))}}(it=it||{}),function(e){e.create=function(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}},e.is=function(e){return Zt.defined(e)&&Zt.string(e.uri)&&Zt.string(e.languageId)&&Zt.integer(e.version)&&Zt.string(e.text)}}(at=at||{}),function(e){e.PlainText="plaintext",e.Markdown="markdown",e.is=function(t){return t===e.PlainText||t===e.Markdown}}(st=st||{}),(ot||(ot={})).is=function(e){var t=e;return Zt.objectLiteral(e)&&st.is(t.kind)&&Zt.string(t.value)},function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(lt=lt||{}),function(e){e.PlainText=1,e.Snippet=2}(ut=ut||{}),(ct=ct||{}).Deprecated=1,function(e){e.create=function(e,t,r){return{newText:e,insert:t,replace:r}},e.is=function(e){return e&&Zt.string(e.newText)&&Oe.is(e.insert)&&Oe.is(e.replace)}}(dt=dt||{}),function(e){e.asIs=1,e.adjustIndentation=2}(ht=ht||{}),(ft||(ft={})).is=function(e){return e&&(Zt.string(e.detail)||void 0===e.detail)&&(Zt.string(e.description)||void 0===e.description)},(pt||(pt={})).create=function(e){return{label:e}},(mt||(mt={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){return Zt.string(e)||Zt.objectLiteral(e)&&Zt.string(e.language)&&Zt.string(e.value)}}(gt=gt||{}),(yt||(yt={})).is=function(e){var t=e;return!!t&&Zt.objectLiteral(t)&&(ot.is(t.contents)||gt.is(t.contents)||Zt.typedArray(t.contents,gt.is))&&(void 0===e.range||Oe.is(e.range))},(vt||(vt={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(Tt||(Tt={})).create=function(e,t,...r){return e={label:e},Zt.defined(t)&&(e.documentation=t),Zt.defined(r)?e.parameters=r:e.parameters=[],e},function(e){e.Text=1,e.Read=2,e.Write=3}(Rt=Rt||{}),(Et||(Et={})).create=function(e,t){return e={range:e},Zt.number(t)&&(e.kind=t),e},function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(At=At||{}),($t=$t||{}).Deprecated=1,(kt||(kt={})).create=function(e,t,r,n,i){return e={name:e,kind:t,location:{uri:n,range:r}},i&&(e.containerName=i),e},(xt||(xt={})).create=function(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}},function(e){e.create=function(e,t,r,n,i,a){return e={name:e,detail:t,kind:r,range:n,selectionRange:i},void 0!==a&&(e.children=a),e},e.is=function(e){return e&&Zt.string(e.name)&&Zt.number(e.kind)&&Oe.is(e.range)&&Oe.is(e.selectionRange)&&(void 0===e.detail||Zt.string(e.detail))&&(void 0===e.deprecated||Zt.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}}(It=It||{}),function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"}(St=St||{}),function(e){e.Invoked=1,e.Automatic=2}(Ct=Ct||{}),function(e){e.create=function(e,t,r){return e={diagnostics:e},null!=t&&(e.only=t),null!=r&&(e.triggerKind=r),e},e.is=function(e){return Zt.defined(e)&&Zt.typedArray(e.diagnostics,He.is)&&(void 0===e.only||Zt.typedArray(e.only,Zt.string))&&(void 0===e.triggerKind||e.triggerKind===Ct.Invoked||e.triggerKind===Ct.Automatic)}}(Nt=Nt||{}),function(e){e.create=function(e,t,r){e={title:e};let n=!0;return"string"==typeof t?(n=!1,e.kind=t):We.is(t)?e.command=t:e.edit=t,n&&void 0!==r&&(e.kind=r),e},e.is=function(e){return e&&Zt.string(e.title)&&(void 0===e.diagnostics||Zt.typedArray(e.diagnostics,He.is))&&(void 0===e.kind||Zt.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||We.is(e.command))&&(void 0===e.isPreferred||Zt.boolean(e.isPreferred))&&(void 0===e.edit||tt.is(e.edit))}}(wt=wt||{}),function(e){e.create=function(e,t){return e={range:e},Zt.defined(t)&&(e.data=t),e},e.is=function(e){return Zt.defined(e)&&Oe.is(e.range)&&(Zt.undefined(e.command)||We.is(e.command))}}(Lt=Lt||{}),function(e){e.create=function(e,t){return{tabSize:e,insertSpaces:t}},e.is=function(e){return Zt.defined(e)&&Zt.uinteger(e.tabSize)&&Zt.boolean(e.insertSpaces)}}(bt=bt||{}),function(e){e.create=function(e,t,r){return{range:e,target:t,data:r}},e.is=function(e){return Zt.defined(e)&&Oe.is(e.range)&&(Zt.undefined(e.target)||Zt.string(e.target))}}(Ot=Ot||{}),function(e){e.create=function(e,t){return{range:e,parent:t}},e.is=function(t){return Zt.objectLiteral(t)&&Oe.is(t.range)&&(void 0===t.parent||e.is(t.parent))}}(_t=_t||{}),function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"}(Pt=Pt||{}),function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"}(Mt=Mt||{}),(Dt||(Dt={})).is=function(e){return Zt.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])},function(e){e.create=function(e,t){return{range:e,text:t}},e.is=function(e){return null!=e&&Oe.is(e.range)&&Zt.string(e.text)}}(Ut=Ut||{}),function(e){e.create=function(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}},e.is=function(e){return null!=e&&Oe.is(e.range)&&Zt.boolean(e.caseSensitiveLookup)&&(Zt.string(e.variableName)||void 0===e.variableName)}}(Ft=Ft||{}),function(e){e.create=function(e,t){return{range:e,expression:t}},e.is=function(e){return null!=e&&Oe.is(e.range)&&(Zt.string(e.expression)||void 0===e.expression)}}(Gt=Gt||{}),function(e){e.create=function(e,t){return{frameId:e,stoppedLocation:t}},e.is=function(e){return Zt.defined(e)&&Oe.is(e.stoppedLocation)}}(Bt=Bt||{}),function(e){e.Type=1,e.Parameter=2,e.is=function(e){return 1===e||2===e}}(Kt=Kt||{}),function(e){e.create=function(e){return{value:e}},e.is=function(e){return Zt.objectLiteral(e)&&(void 0===e.tooltip||Zt.string(e.tooltip)||ot.is(e.tooltip))&&(void 0===e.location||_e.is(e.location))&&(void 0===e.command||We.is(e.command))}}(jt=jt||{}),function(e){e.create=function(e,t,r){return e={position:e,label:t},void 0!==r&&(e.kind=r),e},e.is=function(e){return Zt.objectLiteral(e)&&be.is(e.position)&&(Zt.string(e.label)||Zt.typedArray(e.label,jt.is))&&(void 0===e.kind||Kt.is(e.kind))&&void 0===e.textEdits||Zt.typedArray(e.textEdits,ze.is)&&(void 0===e.tooltip||Zt.string(e.tooltip)||ot.is(e.tooltip))&&(void 0===e.paddingLeft||Zt.boolean(e.paddingLeft))&&(void 0===e.paddingRight||Zt.boolean(e.paddingRight))}}(Vt=Vt||{}),(Ht||(Ht={})).createSnippet=function(e){return{kind:"snippet",value:e}},(Wt||(Wt={})).create=function(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}},(zt||(zt={})).create=function(e){return{items:e}},function(e){e.Invoked=0,e.Automatic=1}(Yt=Yt||{}),(qt||(qt={})).create=function(e,t){return{range:e,text:t}},(Xt||(Xt={})).create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}},(Qt||(Qt={})).is=function(e){return Zt.objectLiteral(e)&&Ne.is(e.uri)&&Zt.string(e.name)},function(e){e.create=function(e,t,r,n){return new Vl(e,t,r,n)},e.is=function(e){return!!(Zt.defined(e)&&Zt.string(e.uri)&&(Zt.undefined(e.languageId)||Zt.string(e.languageId))&&Zt.uinteger(e.lineCount)&&Zt.func(e.getText)&&Zt.func(e.positionAt)&&Zt.func(e.offsetAt))},e.applyEdits=function(e,t){let r=e.getText();var n=function e(t,r){if(t.length<=1)return t;const n=t.length/2|0,i=t.slice(0,n),a=t.slice(n);e(i,r),e(a,r);let s=0,o=0,l=0;for(;s<i.length&&o<a.length;){let e=r(i[s],a[o]);t[l++]=e<=0?i[s++]:a[o++]}for(;s<i.length;)t[l++]=i[s++];for(;o<a.length;)t[l++]=a[o++];return t}(t,((e,t)=>{var r=e.range.start.line-t.range.start.line;return 0==r?e.range.start.character-t.range.start.character:r}));let i=r.length;for(let t=n.length-1;0<=t;t--){var a=n[t],s=e.offsetAt(a.range.start),o=e.offsetAt(a.range.end);if(!(o<=i))throw new Error("Overlapping edit");r=r.substring(0,s)+a.newText+r.substring(o,r.length),i=s}return r}}(Jt=Jt||{});let Vl=class{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){var t;return e?(t=this.offsetAt(e.start),e=this.offsetAt(e.end),this._content.substring(t,e)):this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){var e=[],t=this._content;let n=!0;for(let i=0;i<t.length;i++){n&&(e.push(i),n=!1);var r=t.charAt(i);n="\r"===r||"\n"===r,"\r"===r&&i+1<t.length&&"\n"===t.charAt(i+1)&&i++}n&&0<t.length&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets();let r=0,n=t.length;if(0===n)return be.create(0,e);for(;r<n;){var i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}var a=r-1;return be.create(a,e-t[a])}offsetAt(e){var t,r=this.getLineOffsets();return e.line>=r.length?this._content.length:e.line<0?0:(t=r[e.line],r=e.line+1<r.length?r[e.line+1]:this._content.length,Math.max(Math.min(t+e.character,r),t))}get lineCount(){return this.getLineOffsets().length}};!function(e){const t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.numberRange=function(e,r,n){return"[object Number]"===t.call(e)&&r<=e&&e<=n},e.integer=function(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(Zt=Zt||{});class Hl{constructor(){this.nodeStack=[]}get current(){var e;return null!=(e=this.nodeStack[this.nodeStack.length-1])?e:this.rootNode}buildRootNode(e){return this.rootNode=new Xl(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){var t=new Yl;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){return(e=new zl(e.startOffset,e.image.length,Ir(e),e.tokenType,!t)).grammarSource=t,e.root=this.rootNode,this.current.content.push(e),e}removeNode(e){var t=e.container;t&&0<=(e=t.content.indexOf(e))&&t.content.splice(e,1)}addHiddenNodes(e){var t=[];for(const n of e){var r=new zl(n.startOffset,n.image.length,Ir(n),n.tokenType,!0);r.root=this.rootNode,t.push(r)}let n=this.current,i=!1;if(0<n.content.length)n.content.push(...t);else{for(;n.container;){var a=n.container.content.indexOf(n);if(0<a){n.container.content.splice(a,0,...t),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...t)}}construct(e){var t=this.current;0===(null==(e=("string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t,this.nodeStack.pop()))?void 0:e.content.length)&&this.removeNode(e)}}class Wl{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e="string"==typeof(null==(e=this._astNode)?void 0:e.$type)?this._astNode:null==(e=this.container)?void 0:e.astNode;if(e)return e;throw new Error("This node has no associated AST element")}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class zl extends Wl{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}}class Yl extends Wl{constructor(){super(...arguments),this.content=new ql(this)}get children(){return this.content}get offset(){var e;return null!=(e=null==(e=this.firstNonHiddenNode)?void 0:e.offset)?e:0}get length(){return this.end-this.offset}get end(){var e;return null!=(e=null==(e=this.lastNonHiddenNode)?void 0:e.end)?e:0}get range(){var e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;return e&&t?(void 0===this._rangeCache&&(e=e.range,t=t.range,this._rangeCache={start:e.start,end:t.end.line<e.start.line?e.start:t.end}),this._rangeCache):{start:be.create(0,0),end:be.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let t=this.content.length-1;0<=t;t--){var e=this.content[t];if(!e.hidden)return e}return this.content[this.content.length-1]}}class ql extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,ql.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(const t of e)t.container=this.parent}}class Xl extends Yl{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=null!=e?e:""}}const Ql=Symbol("Datatype");function Jl(e){return e.$type===Ql}const Zl=e=>e.endsWith("")?e:e+"";class eu{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;var t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;this.wrapper=new su(t,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class tu extends eu{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Hl,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){var r=this.computeRuleType(e);r=this.wrapper.DEFINE_RULE(Zl(e.name),this.startImplementation(r,t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}computeRuleType(e){var t;if(!e.fragment)return Ni(e)?Ql:null!=(t=Li(e))?t:e.name}parse(e,t={}){this.nodeBuilder.buildRootNode(e);e=this.lexerResult=this.lexer.tokenize(e);var r=(this.wrapper.input=e.tokens,t.rule?this.allRules.get(t.rule):this.mainRule);if(r)return r=r.call(this.wrapper,{}),this.nodeBuilder.addHiddenNodes(e.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:r,lexerErrors:e.errors,lexerReport:e.report,parserErrors:this.wrapper.errors};throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.")}startImplementation(e,t){return r=>{var n,i=!this.isRecording()&&void 0!==e;let a;i&&(this.stack.push(n={$type:e}),e===Ql)&&(n.value="");try{a=t(r)}catch(r){a=void 0}return void 0===a&&i?this.construct():a}}extractHiddenTokens(e){var t=this.lexerResult.hidden;if(!t.length)return[];var r=e.startOffset;for(let e=0;e<t.length;e++){if(t[e].startOffset>r)return t.splice(0,e)}return t.splice(0,t.length)}consume(e,t,r){if(e=this.wrapper.wrapConsume(e,t),!this.isRecording()&&this.isValidToken(e)){t=this.extractHiddenTokens(e),t=(this.nodeBuilder.addHiddenNodes(t),this.nodeBuilder.buildLeafNode(e,r));var{assignment:n,isCrossRef:i}=this.getAssignment(r),a=this.current;if(n){var s=wn(r)?e.image:this.converter.convert(e.image,t);this.assign(n.operator,n.feature,s,t,i)}else if(Jl(a)){let n=e.image;wn(r)||(n=this.converter.convert(n,t).toString()),a.value+=n}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let a;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(n)),r=this.wrapper.wrapSubrule(e,t,i),!this.isRecording()&&a&&0<a.length&&this.performSubruleAssignment(r,n,a)}performSubruleAssignment(e,t,r){var{assignment:t,isCrossRef:n}=this.getAssignment(t);t?this.assign(t.operator,t.feature,e,r,n):Jl(t=this.current)?t.value+=e.toString():"object"==typeof e&&e&&(r=this.assignWithoutOverride(e,t),this.stack.pop(),this.stack.push(r))}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode,!1)):r.$type=e}}construct(){var e;if(!this.isRecording())return function(e){for(const[t,r]of Object.entries(e))t.startsWith("$")||(Array.isArray(r)?r.forEach(((r,n)=>{dr(r)&&(r.$container=e,r.$containerProperty=t,r.$containerIndex=n)})):dr(r)&&(r.$container=e,r.$containerProperty=t))}(e=this.current),this.nodeBuilder.construct(e),this.stack.pop(),Jl(e)?this.converter.convert(e.value,e.$cstNode):(function(e,t){var r=t;for(const n of e.getTypeMetaData(t.$type).properties)void 0!==n.defaultValue&&void 0===r[n.name]&&(r[n.name]=Zn(n.defaultValue))}(this.astReflection,e),e)}getAssignment(e){var t;return this.assignmentMap.has(e)||(t=Hn(e,An),this.assignmentMap.set(e,{assignment:t,isCrossRef:!!t&&xn(t.terminal)})),this.assignmentMap.get(e)}assign(e,t,r,n,i){var a=this.current;let s;switch(s=i&&"string"==typeof r?this.linker.buildReference(a,t,n,r):r,e){case"=":a[t]=s;break;case"?=":a[t]=!0;break;case"+=":Array.isArray(a[t])||(a[t]=[]),a[t].push(s)}}assignWithoutOverride(e,t){for(var[r,n]of Object.entries(t)){var i=e[r];void 0===i?e[r]=n:Array.isArray(i)&&Array.isArray(n)&&(n.push(...i),e[r]=n)}return(t=e.$cstNode)&&(t.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class ru{buildMismatchTokenMessage(e){return ps.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return ps.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return ps.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return ps.buildEarlyExitMessage(e)}}class nu extends ru{buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class iu extends eu{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){return this.resetState(),e=this.lexer.tokenize(e,{mode:"partial"}),this.tokens=e.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){return t=this.wrapper.DEFINE_RULE(Zl(e.name),this.startImplementation(t).bind(this)),this.allRules.set(e.name,t),e.entry&&(this.mainRule=t),t}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{var r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){var e=this.elementStack.length;return this.stackSize=e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){this.isRecording()||0<=(e=this.elementStack.lastIndexOf(e))&&this.elementStack.splice(e)}get currIdx(){return this.wrapper.currIdx}}const au={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new nu};class su extends Bo{constructor(e,t){var r=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},au),{lookaheadStrategy:r?new vo({maxLookahead:t.maxLookahead}):new Nl({logging:t.skipValidations?()=>{}:void 0})}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}}function ou(e,t,r){return function(e,t){const r=Ei(t,!1);for(const i of $r(t.rules).filter(an).filter((e=>r.has(e)))){var n=Object.assign(Object.assign({},e),{consume:1,optional:1,subrule:1,many:1,or:1});e.parser.rule(i,lu(n,i.definition))}}({parser:t,tokens:r,ruleNames:new Map},e),t}function lu(e,t,r=!1){let n;if(wn(t))n=function(e,t){const r=e.consume++,n=e.tokens[t.value];if(n)return()=>e.parser.consume(r,n,t);throw new Error("Could not find token for keyword: "+t.value)}(e,t);else if(vn(t))n=function(e,t){const r=bi(t);return()=>e.parser.action(r,t)}(e,t);else if(An(t))n=lu(e,t.terminal);else if(xn(t))n=du(e,t);else if(_n(t))n=function(e,t){const r=t.rule.ref;if(an(r)){const n=e.subrule++,i=r.fragment,a=0<t.arguments.length?function(e,t){const r=t.map((e=>uu(e.value)));return t=>{var n={};for(let s=0;s<r.length;s++){var i=e.parameters[s],a=r[s];n[i.name]=a(t)}return n}}(r,t.arguments):()=>({});return s=>e.parser.subrule(n,fu(e,r),i,t,a(s))}if(hn(r)){const n=e.consume++,i=pu(e,r.name);return()=>e.parser.consume(n,i,t)}if(!r)throw new br(t.$cstNode,"Undefined rule: "+t.rule.$refText);Or()}(e,t);else if(Rn(t))n=function(e,t){if(1===t.elements.length)return lu(e,t.elements[0]);{const i=[];for(const a of t.elements){var r={ALT:lu(e,a,!0)},n=cu(a);n&&(r.GATE=uu(n)),i.push(r)}const a=e.or++;return t=>e.parser.alternatives(a,i.map((e=>{var r={ALT:()=>e.ALT(t)};const n=e.GATE;return n&&(r.GATE=()=>n(t)),r})))}}(e,t);else if(Gn(t))n=function(e,t){if(1===t.elements.length)return lu(e,t.elements[0]);const r=[];for(const a of t.elements){var n={ALT:lu(e,a,!0)},i=cu(a);i&&(n.GATE=uu(i)),r.push(n)}const a=e.or++,s=(e,t)=>`uGroup_${e}_`+t.getRuleStack().join("-"),o=hu(e,cu(t),(t=>e.parser.alternatives(a,r.map(((r,n)=>{var i={ALT:()=>!0};const o=e.parser,l=(i.ALT=()=>{var e;r.ALT(t),o.isRecording()||(e=s(a,o),o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]),void 0===(null==(e=o.unorderedGroups.get(e))?void 0:e[n])&&(e[n]=!0))},r.GATE);return i.GATE=l?()=>l(t):()=>{var e=o.unorderedGroups.get(s(a,o));return!(null!=e&&e[n])},i})))),"*");return t=>{o(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(s(a,e.parser))}}(e,t);else if(Cn(t))n=function(e,t){const r=t.elements.map((t=>lu(e,t)));return e=>r.forEach((t=>t(e)))}(e,t);else{if(!function(e){return Vn.isInstance(e,In)}(t))throw new br(t.$cstNode,"Unexpected element type: "+t.$type);{const r=e.consume++;n=()=>e.parser.consume(r,ds,t)}}return hu(e,r?void 0:cu(t),n,t.cardinality)}function uu(e){if(function(e){return Vn.isInstance(e,Hr)}(e)){const t=uu(e.left),r=uu(e.right);return e=>t(e)||r(e)}if(function(e){return Vn.isInstance(e,Vr)}(e)){const t=uu(e.left),r=uu(e.right);return e=>t(e)&&r(e)}if(function(e){return Vn.isInstance(e,Zr)}(e)){const t=uu(e.value);return e=>!t(e)}if(function(e){return Vn.isInstance(e,rn)}(e)){const t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(function(e){return Vn.isInstance(e,jr)}(e)){const t=Boolean(e.true);return()=>t}Or()}function cu(e){if(Cn(e))return e.guardCondition}function du(e,t,r=t.terminal){if(r){if(_n(r)&&an(r.rule.ref)){const n=r.rule.ref,i=e.subrule++;return r=>e.parser.subrule(i,fu(e,n),!1,t,r)}if(_n(r)&&hn(r.rule.ref)){const n=e.consume++,i=pu(e,r.rule.ref.name);return()=>e.parser.consume(n,i,t)}if(wn(r)){const n=e.consume++,i=pu(e,r.value);return()=>e.parser.consume(n,i,t)}throw new Error("Could not build cross reference parser")}if(!t.type.ref)throw new Error("Could not resolve reference to type: "+t.type.$refText);if(r=null==(r=Si(t.type.ref))?void 0:r.terminal)return du(e,t,r);throw new Error("Could not find name assignment for type: "+bi(t.type.ref))}function hu(e,t,r,n){const i=t&&uu(t);if(!n){if(i){const t=e.or++;return n=>e.parser.alternatives(t,[{ALT:()=>r(n),GATE:()=>i(n)},{ALT:Fo(),GATE:()=>!i(n)}])}return r}if("*"===n){const t=e.many++;return n=>e.parser.many(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}if("+"===n){const t=e.many++;if(i){const n=e.or++;return a=>e.parser.alternatives(n,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:Fo(),GATE:()=>!i(a)}])}return n=>e.parser.atLeastOne(t,{DEF:()=>r(n)})}if("?"===n){const t=e.optional++;return n=>e.parser.optional(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}Or()}function fu(e,t){if(t=function(e,t){if(an(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,i=t.$type;for(;!an(n);){(Cn(n)||Rn(n)||Gn(n))&&(i=n.elements.indexOf(r).toString()+":"+i),n=(r=n).$container}return i=n.name+":"+i,e.ruleNames.set(t,i),i}}(e,t),e=e.parser.getRule(t))return e;throw new Error(`Rule "${t}" not found."`)}function pu(e,t){if(e=e.tokens[t])return e;throw new Error(`Token "${t}" not found."`)}function mu(e){return e=function(e){var t=e.Grammar,r=e.parser.Lexer;return ou(t,new tu(e),r.definition)}(e),e.finalize(),e}class gu{constructor(){this.diagnostics=[]}buildTokens(e,t){e=$r(Ei(e,!1));var r=this.buildTerminalTokens(e);const n=this.buildKeywordTokens(e,r,t);return r.forEach((e=>{var t=e.PATTERN;"object"==typeof t&&t&&"test"in t&&vi(t)?n.unshift(e):n.push(e)})),n}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){var e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(hn).filter((e=>!e.fragment)).map((e=>this.buildTerminalToken(e))).toArray()}buildTerminalToken(e){var t=Oi(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return"function"==typeof r&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=vi(t)?Ja.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s")||e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const t=new RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(an).flatMap((e=>qn(e).filter(wn))).distinct((e=>e.value)).toArray().sort(((e,t)=>t.value.length-e.value.length)).map((e=>this.buildKeywordToken(e,t,Boolean(null==r?void 0:r.caseInsensitive))))}buildKeywordToken(e,t,r){return r=this.buildKeywordPattern(e,r),e={name:e.value,PATTERN:r,LONGER_ALT:this.findLongerAlt(e,t)},"function"==typeof r&&(e.LINE_BREAKS=!0),e}buildKeywordPattern(e,t){return t?new RegExp(function(e){return Array.prototype.map.call(e,(e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Ti(e))).join("")}(e.value)):e.value}findLongerAlt(e,t){return t.reduce(((t,r)=>{var n=null==r?void 0:r.PATTERN;return null!=n&&n.source&&Ri("^"+n.source+"$",e.value)&&t.push(r),t}),[])}}class yu{convert(e,t){let r=t.grammarSource;if(_n(r=xn(r)?function(e){return e.terminal||(e.type.ref&&null!=(e=Si(e.type.ref))?e.terminal:void 0)}(r):r)){var n=r.rule.ref;if(n)return this.runConverter(n,e,t);throw new Error("This cst node was not parsed by a rule.")}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return er.convertInt(t);case"STRING":return er.convertString(t);case"ID":return er.convertID(t)}switch(null==(e=function(e){var t;return hn(e)?null!=(t=null==(t=e.type)?void 0:t.name)?t:"string":null!=(t=Li(e))?t:e.name}(e))?void 0:e.toLowerCase()){case"number":return er.convertNumber(t);case"boolean":return er.convertBoolean(t);case"bigint":return er.convertBigint(t);case"date":return er.convertDate(t);default:return t}}}!function(e){e.convertString=function(e){let t="";for(let n=1;n<e.length-1;n++){var r=e.charAt(n);"\\"===r?t+=function(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\0";default:return e}}(e.charAt(++n)):t+=r}return t},e.convertID=function(e){return"^"===e.charAt(0)?e.substring(1):e},e.convertInt=function(e){return parseInt(e)},e.convertBigint=function(e){return BigInt(e)},e.convertDate=function(e){return new Date(e)},e.convertNumber=function(e){return Number(e)},e.convertBoolean=function(e){return"true"===e.toLowerCase()}}(er=er||{});var vu={},Tu={};let Ru;function Eu(){if(void 0===Ru)throw new Error("No runtime abstraction layer installed");return Ru}Object.defineProperty(Tu,"__esModule",{value:!0}),(Eu||(Eu={})).install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");Ru=e},Tu.default=Eu;var Au={};function $u(e){return"string"==typeof e||e instanceof String}function ku(e){return Array.isArray(e)}Object.defineProperty(Au,"__esModule",{value:!0}),Au.stringArray=Au.array=Au.func=Au.error=Au.number=Au.string=Au.boolean=void 0,Au.boolean=function(e){return!0===e||!1===e},Au.string=$u,Au.number=function(e){return"number"==typeof e||e instanceof Number},Au.error=function(e){return e instanceof Error},Au.func=function(e){return"function"==typeof e},Au.array=ku,Au.stringArray=function(e){return ku(e)&&e.every((e=>$u(e)))};var xu,Iu,Su={},Cu=(Object.defineProperty(Su,"__esModule",{value:!0}),Su.Emitter=Su.Event=void 0);const Nu=Tu;!function(e){const t={dispose(){}};e.None=function(){return t}}(xu||(Su.Event=xu={}));class wu{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(this._callbacks){let r=!1;for(let n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t)return this._callbacks.splice(n,1),void this._contexts.splice(n,1);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[];var t=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let i=0,a=r.length;i<a;i++)try{t.push(r[i].apply(n[i],e))}catch(e){(0,Nu.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class Lu{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,r)=>{this._callbacks||(this._callbacks=new wu),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const n={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=Lu._noop,this._options)&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)}};return Array.isArray(r)&&r.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}(Cu=Su.Emitter=Lu)._noop=function(){},Object.defineProperty(vu,"__esModule",{value:!0});var bu,Ou,_u,Pu,Mu,Du,Uu,Fu,Gu,Bu=vu.CancellationTokenSource=Iu=vu.CancellationToken=void 0;const Ku=Tu,ju=Au,Vu=Su,Hu=(function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Vu.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Vu.Event.None}),e.is=function(t){return t&&(t===e.None||t===e.Cancelled||ju.boolean(t.isCancellationRequested)&&!!t.onCancellationRequested)}}(bu||(Iu=vu.CancellationToken=bu={})),Object.freeze((function(e,t){const r=(0,Ku.default)().timer.setTimeout(e.bind(t),0);return{dispose(){r.dispose()}}})));class Wu{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?Hu:(this._emitter||(this._emitter=new Vu.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}Bu=vu.CancellationTokenSource=class{get token(){return this._token||(this._token=new Wu),this._token}cancel(){this._token?this._token.cancel():this._token=bu.Cancelled}dispose(){this._token?this._token instanceof Wu&&this._token.dispose():this._token=bu.None}};let zu=0;const Yu=Symbol("OperationCancelled");function qu(e){return e===Yu}async function Xu(e){if(e!==Iu.None){var t=performance.now();if(t-zu>=10&&(zu=t,await new Promise((e=>{"undefined"==typeof setImmediate?setTimeout(e,0):setImmediate(e)})),zu=performance.now()),e.isCancellationRequested)throw Yu}}class Qu{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)}))}}class Ju{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){var t;return e?(t=this.offsetAt(e.start),e=this.offsetAt(e.end),this._content.substring(t,e)):this._content}update(e,t){for(const t of e)if(Ju.isIncremental(t)){var r=rc(t.range),n=this.offsetAt(r.start),i=this.offsetAt(r.end),a=(this._content=this._content.substring(0,n)+t.text+this._content.substring(i,this._content.length),Math.max(r.start.line,0));r=Math.max(r.end.line,0);let e=this._lineOffsets;var s=ec(t.text,!1,n);if(r-a===s.length)for(let t=0,r=s.length;t<r;t++)e[t+a+1]=s[t];else s.length<1e4?e.splice(a+1,r-a,...s):this._lineOffsets=e=e.slice(0,a+1).concat(s,e.slice(r+1));var o=t.text.length-(i-n);if(0!=o)for(let t=a+1+s.length,r=e.length;t<r;t++)e[t]=e[t]+o}else{if(!Ju.isFull(t))throw new Error("Unknown change event received");this._content=t.text,this._lineOffsets=void 0}this._version=t}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=ec(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets();let r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){var i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}var a=r-1;return{line:a,character:(e=this.ensureBeforeEOL(e,t[a]))-t[a]}}offsetAt(e){var t,r=this.getLineOffsets();return e.line>=r.length?this._content.length:e.line<0?0:(t=r[e.line],e.character<=0?t:(r=e.line+1<r.length?r[e.line+1]:this._content.length,e=Math.min(t+e.character,r),this.ensureBeforeEOL(e,t)))}ensureBeforeEOL(e,t){for(;t<e&&tc(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}}function Zu(e,t){if(!(e.length<=1)){var r=e.length/2|0,n=e.slice(0,r),i=e.slice(r);Zu(n,t),Zu(i,t);let s=0,o=0,l=0;for(;s<n.length&&o<i.length;){var a=t(n[s],i[o]);e[l++]=a<=0?n[s++]:i[o++]}for(;s<n.length;)e[l++]=n[s++];for(;o<i.length;)e[l++]=i[o++]}return e}function ec(e,t,r=0){var n=t?[r]:[];for(let t=0;t<e.length;t++){var i=e.charCodeAt(t);tc(i)&&(13===i&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function tc(e){return 13===e||10===e}function rc(e){var t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function nc(e){var t=rc(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,r,n){return new Ju(e,t,r,n)},e.update=function(e,t,r){if(e instanceof Ju)return e.update(t,r),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){var r=e.getText();let n=0;var i=[];for(const s of Zu(t.map(nc),((e,t)=>{var r=e.range.start.line-t.range.start.line;return 0==r?e.range.start.character-t.range.start.character:r}))){var a=e.offsetAt(s.range.start);if(a<n)throw new Error("Overlapping edit");a>n&&i.push(r.substring(n,a)),s.newText.length&&i.push(s.newText),n=e.offsetAt(s.range.end)}return i.push(r.substr(n)),i.join("")}}(Ou=Ou||{}),(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(a!==o-1&&1!==s)if(a!==o-1&&2===s){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(2<n.length){var l=n.lastIndexOf("/");if(l!==n.length-1){i=-1===l?(n="",0):(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",a=o,s=i=0;continue}t&&(0<n.length?n+="/..":n="..",i=2)}else 0<n.length?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var e,n="",i=!1,a=arguments.length-1;-1<=a&&!i;a--){var s=0<=a?arguments[a]:e=void 0===e?process.cwd():e;t(s),0!==s.length&&(n=s+"/"+n,i=47===s.charCodeAt(0))}return n=r(n,!i),i?0<n.length?"/"+n:"/":0<n.length?n:"."},normalize:function(e){var n,i;return t(e),0===e.length?".":(n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1),0<(e=0!==(e=r(e,!n)).length||n?e:".").length&&i&&(e+="/"),n?"/"+e:e)},isAbsolute:function(e){return t(e),0<e.length&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var i=arguments[r];t(i),0<i.length&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r)return"";if((e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var a=e.length,s=a-i,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=s<l?s:l,c=-1,d=0;d<=u;++d){if(d===u){if(u<l){if(47===r.charCodeAt(o+d))return r.slice(o+d+1);if(0===d)return r.slice(o+d)}else u<s&&(47===e.charCodeAt(i+d)?c=d:0===d&&(c=0));break}var h=e.charCodeAt(i+d);if(h!==r.charCodeAt(o+d))break;47===h&&(c=d)}var f="";for(d=i+c+1;d<=a;++d)d!==a&&47!==e.charCodeAt(d)||(0===f.length?f+="..":f+="/..");return 0<f.length?f+r.slice(o+c):(47===r.charCodeAt(o+=c)&&++o,r.slice(o))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=47===e.charCodeAt(0),n=-1,i=!0,a=e.length-1;1<=a;--a)if(47===e.charCodeAt(a)){if(!i){n=a;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"//":e.slice(0,n)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');t(e);var n=0,i=-1,a=!0;if(void 0!==r&&0<r.length&&r.length<=e.length){if(r.length===e.length&&r===e)return"";for(var s=r.length-1,o=-1,l=e.length-1;0<=l;--l){var u=e.charCodeAt(l);if(47===u){if(!a){n=l+1;break}}else-1===o&&(a=!1,o=l+1),0<=s&&(u===r.charCodeAt(s)?-1==--s&&(i=l):(s=-1,i=o))}return n===i?i=o:-1===i&&(i=e.length),e.slice(n,i)}for(l=e.length-1;0<=l;--l)if(47===e.charCodeAt(l)){if(!a){n=l+1;break}}else-1===i&&(a=!1,i=l+1);return-1===i?"":e.slice(n,i)},extname:function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;0<=o;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return-1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r;var t,r},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0!==e.length){for(var n,i=47===e.charCodeAt(0),a=i?(r.root="/",1):0,s=-1,o=0,l=-1,u=!0,c=e.length-1,d=0;a<=c;--c)if(47!==(n=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===n?-1===s?s=c:1!==d&&(d=1):-1!==s&&(d=-1);else if(!u){o=c+1;break}-1===s||-1===l||0===d||1===d&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&i?e.slice(1,l):e.slice(o,l)):(0===o&&i?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),0<o?r.dir=e.slice(0,o-1):i&&(r.dir="/")}return r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},t={};function r(n){var i=t[n];return void 0!==i||(i=t[n]={exports:{}},e[n](i,i.exports,r)),i.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};{let h;r.r(n),r.d(n,{URI:()=>y,Utils:()=>c}),"object"==typeof process?h="win32"===process.platform:"object"==typeof navigator&&(h=0<=navigator.userAgent.indexOf("Windows"));const f=/^\w[\w\d+.-]*$/,p=/^\//,m=/^\/\//;function i(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!f.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!p.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(m.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}const g=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class y{static isUri(e){return e instanceof y||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,a,s=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||s?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=a||"",i(this,s))}get fsPath(){return o(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new T(t,r,n,i,a)}static parse(e,t=!1){return(e=g.exec(e))?new T(e[2]||"",u(e[4]||""),u(e[5]||""),u(e[7]||""),u(e[9]||""),t):new T("","","","","")}static file(e){let t="";if("/"===(e=h?e.replace(/\\/g,"/"):e)[0]&&"/"===e[1]){const r=e.indexOf("/",2);e=-1===r?(t=e.substring(2),"/"):(t=e.substring(2,r),e.substring(r)||"/")}return new T("file",t,e,"","")}static from(e){return i(e=new T(e.scheme,e.authority,e.path,e.query,e.fragment),!0),e}toString(e=!1){return l(this,e)}toJSON(){return this}static revive(e){var t;return e&&(e instanceof y?e:((t=new T(e))._formatted=e.external,t._fsPath=e._sep===v?e.fsPath:null,t))}}const v=h?1:void 0;class T extends y{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=o(this,!1)),this._fsPath}toString(e=!1){return e?l(this,!0):(this._formatted||(this._formatted=l(this,!1)),this._formatted)}toJSON(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=v),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const R={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 a(e,t,r){let n,i=-1;for(let s=0;s<e.length;s++){var a=e.charCodeAt(s);if(97<=a&&a<=122||65<=a&&a<=90||48<=a&&a<=57||45===a||46===a||95===a||126===a||t&&47===a||r&&91===a||r&&93===a||r&&58===a)-1!==i&&(n+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==n&&(n+=e.charAt(s));else{void 0===n&&(n=e.substr(0,s));const t=R[a];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,s)),i=-1),n+=t):-1===i&&(i=s)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function s(e){let t;for(let n=0;n<e.length;n++){var r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=R[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}function o(e,t){let r;return r=e.authority&&1<e.path.length&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(65<=e.path.charCodeAt(1)&&e.path.charCodeAt(1)<=90||97<=e.path.charCodeAt(1)&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,h?r.replace(/\//g,"\\"):r}function l(e,t){var r=t?s:a;let n="",{scheme:i,authority:o,path:l,query:u,fragment:c}=e;if(i&&(n=n+i+":"),!o&&"file"!==i||(n+="//"),o){let e=o.indexOf("@");if(-1!==e){const t=o.substr(0,e);o=o.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):n=(n=n+r(t.substr(0,e),!1,!1)+":")+r(t.substr(e+1),!1,!0),n+="@"}o=o.toLowerCase(),-1===(e=o.lastIndexOf(":"))?n+=r(o,!1,!0):n=(n+=r(o.substr(0,e),!1,!0))+o.substr(e)}if(l){if(3<=l.length&&47===l.charCodeAt(0)&&58===l.charCodeAt(2)){const e=l.charCodeAt(1);65<=e&&e<=90&&(l=`/${String.fromCharCode(e+32)}:`+l.substr(3))}else if(2<=l.length&&58===l.charCodeAt(1)){const e=l.charCodeAt(0);65<=e&&e<=90&&(l=String.fromCharCode(e+32)+":"+l.substr(2))}n+=r(l,!0,!1)}return u&&(n=(n+="?")+r(u,!1,!1)),c?(n+="#")+(t?c:a(c,!1,!1)):n}const E=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function u(e){return e.match(E)?e.replace(E,(e=>function e(t){try{return decodeURIComponent(t)}catch{return 3<t.length?t.substr(0,3)+e(t.substr(3)):t}}(e))):e}var c,d=r(470);const A=d.posix||d;(d=c=c||{}).joinPath=function(e,...t){return e.with({path:A.join(e.path,...t)})},d.resolvePath=function(e,...t){let r=e.path,n=!1,i=("/"!==r[0]&&(r="/"+r,n=!0),A.resolve(r,...t));return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},d.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=A.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},d.basename=function(e){return A.basename(e.path)},d.extname=function(e){return A.extname(e.path)}}_u=n})();const{URI:ic,Utils:ac}=_u;!function(e){e.basename=ac.basename,e.dirname=ac.dirname,e.extname=ac.extname,e.joinPath=ac.joinPath,e.resolvePath=ac.resolvePath,e.equals=function(e,t){return(null==e?void 0:e.toString())===(null==t?void 0:t.toString())},e.relative=function(e,t){e="string"==typeof e?e:e.path,t="string"==typeof t?t:t.path;var r=e.split("/").filter((e=>0<e.length)),n=t.split("/").filter((e=>0<e.length));let i=0;for(;i<r.length&&r[i]===n[i];i++);return"../".repeat(r.length-i)+n.slice(i).join("/")},e.normalize=function(e){return ic.parse(e.toString()).toString()}}(Pu=Pu||{}),function(e){e[e.Changed=0]="Changed",e[e.Parsed=1]="Parsed",e[e.IndexedContent=2]="IndexedContent",e[e.ComputedScopes=3]="ComputedScopes",e[e.Linked=4]="Linked",e[e.IndexedReferences=5]="IndexedReferences",e[e.Validated=6]="Validated"}(Mu=Mu||{});class sc{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=Iu.None){var r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=null!=t?t:ic.parse(e.uri),Iu.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return Iu.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){var n;return"string"==typeof t?(n=this.parse(e,t,r),this.createLangiumDocument(n,e,void 0,t)):"$model"in t?(n={value:t.$model,parserErrors:[],lexerErrors:[]},this.createLangiumDocument(n,e)):(n=this.parse(e,t.getText(),r),this.createLangiumDocument(n,e,t))}async createAsync(e,t,r){var n;return"string"==typeof t?(n=await this.parseAsync(e,t,r),this.createLangiumDocument(n,e,void 0,t)):(n=await this.parseAsync(e,t.getText(),r),this.createLangiumDocument(n,e,t))}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:Mu.Parsed,references:[],textDocument:r};else{const r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:Mu.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i}async update(e,t){var r=null==(r=e.parseResult.value.$cstNode)?void 0:r.root.fullText,n=null==(n=this.textDocuments)?void 0:n.get(e.uri.toString()),i=n?n.getText():await this.fileSystemProvider.readFile(e.uri);return n?Object.defineProperty(e,"textDocument",{value:n}):(n=this.createTextDocumentGetter(e.uri,i),Object.defineProperty(e,"textDocument",{get:n})),r!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=Mu.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){const r=this.serviceRegistry;let n;return()=>null!=n?n:n=Ou.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,null!=t?t:"")}}class oc{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return $r(this.documentMap.values())}addDocument(e){var t=e.uri.toString();if(this.documentMap.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){return e=e.toString(),this.documentMap.get(e)}async getOrCreateDocument(e,t){var r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){return r?this.langiumDocumentFactory.fromString(t,e,r).then((e=>(this.addDocument(e),e))):(r=this.langiumDocumentFactory.fromString(t,e),this.addDocument(r),r)}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){var t=e.toString();return(t=this.documentMap.get(t))&&(this.serviceRegistry.getServices(e).references.Linker.unlink(t),t.state=Mu.Changed,t.precomputedScopes=void 0,t.diagnostics=void 0),t}deleteDocument(e){e=e.toString();var t=this.documentMap.get(e);return t&&(t.state=Mu.Changed,this.documentMap.delete(e)),t}}const lc=Symbol("ref_resolving");class uc{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=Iu.None){for(const r of Xn(e.parseResult.value))await Xu(t),Jn(r).forEach((t=>this.doLink(t,e)))}doLink(e,t){var r=e.reference;if(void 0===r._ref){r._ref=lc;try{var n,i=this.getCandidate(e);fr(i)?r._ref=i:(r._nodeDescription=i,this.langiumDocuments().hasDocument(i.documentUri)?(n=this.loadAstNode(i),r._ref=null!=n?n:this.createLinkingError(e,i)):r._ref=void 0)}catch(t){console.error(`An error occurred while resolving reference to '${r.$refText}':`,t),i=null!=(n=t.message)?n:String(t),r._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${r.$refText}': `+i})}t.references.push(r)}}unlink(e){for(const t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){var t=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return null!=t?t:this.createLinkingError(e)}buildReference(e,t,r,n){const i=this,a={$refNode:r,$refText:n,get ref(){var r;if(dr(this._ref))return this._ref;if(function(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}(this._nodeDescription)){var s=i.loadAstNode(this._nodeDescription);this._ref=null!=s?s:i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=lc;s=zn(e).$document;var o=i.getLinkedNode({reference:a,container:e,property:t});if(o.error&&s&&s.state<Mu.ComputedScopes)return this._ref=void 0;this._ref=null!=(r=o.node)?r:o.error,this._nodeDescription=o.descr,null!=s&&s.references.push(this)}else if(this._ref===lc)throw new Error(`Cyclic reference resolution detected: ${i.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${n}')`);return dr(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return fr(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){try{var t,r=this.getCandidate(e);return fr(r)?{error:r}:(t=this.loadAstNode(r))?{node:t,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(n){return console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,n),r=null!=(t=n.message)?t:String(n),{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': `+r})}}}loadAstNode(e){var t;return e.node||((t=this.langiumDocuments().getDocument(e.documentUri))?this.astNodeLocator.getAstNode(t.parseResult.value,e.path):void 0)}createLinkingError(e,t){var r=((r=zn(e.container).$document)&&r.state<Mu.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`),this.reflection.getReferenceType(e));return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${r} named '${e.reference.$refText}'.`,targetDescription:t})}}class cc{getName(e){if(function(e){return"string"==typeof e.name}(e))return e.name}getNameNode(e){return ki(e.$cstNode,"name")}}class dc{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){var t=function(e){for(var t=e.astNode;t===(null==(r=e.container)?void 0:r.astNode);){var r=Hn(e.grammarSource,An);if(r)return r;e=e.container}}(e),r=e.astNode;if(t&&r){if(hr(t=r[t.feature]))return t.ref;if(Array.isArray(t))for(const r of t)if(hr(r)&&r.$refNode&&r.$refNode.offset<=e.offset&&r.$refNode.end>=e.end)return r.ref}if(r&&(t=this.nameProvider.getNameNode(r))&&(t===e||function(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}(e,t)))return r}}findDeclarationNode(e){var t;if(null!=(e=this.findDeclaration(e))&&e.$cstNode)return null!=(t=this.nameProvider.getNameNode(e))?t:e.$cstNode}findReferences(e,t){var r,n=[];t.includeDeclaration&&(r=this.getReferenceToSelf(e))&&n.push(r);let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(i=i.filter((e=>Pu.equals(e.sourceUri,t.documentUri)))),n.push(...i),$r(n)}getReferenceToSelf(e){var t,r=this.nameProvider.getNameNode(e);if(r)return t=Wn(e),e=this.nodeLocator.getAstNodePath(e),{sourceUri:t.uri,sourcePath:e,targetUri:t.uri,targetPath:e,segment:Sr(r),local:!0}}}class hc{constructor(e){if(this.map=new Map,e)for(var[t,r]of e)this.add(t,r)}get size(){return Ae.sum($r(this.map.values()).map((e=>e.length)))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);var r=this.map.get(e);return!!(r&&0<=(t=r.indexOf(t)))&&(1===r.length?this.map.delete(e):r.splice(t,1),!0)}get(e){return null!=(e=this.map.get(e))?e:[]}has(e,t){return void 0===t?this.map.has(e):!!(e=this.map.get(e))&&0<=e.indexOf(t)}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach(((t,r)=>t.forEach((t=>e(t,r,this)))))}[Symbol.iterator](){return this.entries().iterator()}entries(){return $r(this.map.entries()).flatMap((([e,t])=>t.map((t=>[e,t]))))}keys(){return $r(this.map.keys())}values(){return $r(this.map.values()).flat()}entriesGroupedByKey(){return $r(this.map.entries())}}class fc{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(var[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){var t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}}class pc{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=Iu.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=Yn,n=Iu.None){var i=[];this.exportNode(e,i,t);for(const a of r(e))await Xu(n),this.exportNode(a,i,t);return i}exportNode(e,t,r){var n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async computeLocalScopes(e,t=Iu.None){var r=e.parseResult.value,n=new hc;for(const i of qn(r))await Xu(t),this.processNode(i,e,n);return n}processNode(e,t,r){var n,i=e.$container;i&&(n=this.nameProvider.getName(e))&&r.add(i,this.descriptions.createDescription(e,n,t))}}class mc{constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=null!=(e=null==r?void 0:r.caseInsensitive)&&e}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){return(this.caseInsensitive?this.elements.find((t=>t.name.toLowerCase()===e.toLowerCase())):this.elements.find((t=>t.name===e)))||(this.outerScope?this.outerScope.getElement(e):void 0)}}class gc{constructor(e,t,r){this.elements=new Map,this.caseInsensitive=null!=(r=null==r?void 0:r.caseInsensitive)&&r;for(const t of e){var n=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(n,t)}this.outerScope=t}getElement(e){var t=this.caseInsensitive?e.toLowerCase():e;return(t=this.elements.get(t))||(this.outerScope?this.outerScope.getElement(e):void 0)}getAllElements(){let e=$r(this.elements.values());return this.outerScope?e.concat(this.outerScope.getAllElements()):e}}class yc{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 vc extends yc{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){return this.throwIfDisposed(),this.cache.has(e)?this.cache.get(e):t?(t=t(),this.cache.set(e,t),t):void 0}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class Tc extends yc{constructor(e){super(),this.cache=new Map,this.converter=null!=e?e:e=>e}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){return this.throwIfDisposed(),(e=this.cacheForContext(e)).has(t)?e.get(t):r?(r=r(),e.set(t,r),r):void 0}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){this.throwIfDisposed(),e?(e=this.converter(e),this.cache.delete(e)):this.cache.clear()}cacheForContext(e){e=this.converter(e);let t=this.cache.get(e);return t||(t=new Map,this.cache.set(e,t)),t}}class Rc extends vc{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,(()=>{this.clear()}))),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(((e,t)=>{0<t.length&&this.clear()})))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((()=>{this.clear()})))}}class Ec{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 Rc(e.shared)}getScope(e){var t=[];const r=this.reflection.getReferenceType(e);var n=Wn(e.container).precomputedScopes;if(n){let a=e.container;do{var i=n.get(a);0<i.length&&t.push($r(i).filter((e=>this.reflection.isSubtype(e.type,r)))),a=a.$container}while(a)}let a=this.getGlobalScope(r,e);for(let e=t.length-1;0<=e;e--)a=this.createScope(t[e],a);return a}createScope(e,t,r){return new mc($r(e),t,r)}createScopeForNodes(e,t,r){return e=$r(e).map((e=>{var t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)})).nonNullable(),new mc(e,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,(()=>new gc(this.indexManager.allElements(e))))}}function Ac(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}class $c{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){const r=null!=t?t:{},n=null==t?void 0:t.replacer,i=(e,t)=>this.replacer(e,t,r);var a=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=Wn(e),JSON.stringify(e,a,null==t?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t){return t=null!=t?t:{},e=JSON.parse(e),this.linkNode(e,e,t),e}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:s}){if(!this.ignoreProperties.has(e)){if(hr(t)){var o=t.ref;r=r?t.$refText:void 0;if(o){var l=Wn(o);let e="";return this.currentDocument&&this.currentDocument!==l&&(e=s?s(l.uri,t):l.uri.toString()),{$ref:e+"#"+(s=this.astNodeLocator.getAstNodePath(o)),$refText:r}}return{$error:null!=(o=null==(l=t.error)?void 0:l.message)?o:"Could not resolve reference",$refText:r}}if(dr(t)){let r;return i&&(r=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),e&&!t.$document||null==r||!r.$textRegion||(r.$textRegion.documentURI=null==(s=this.currentDocument)?void 0:s.uri.toString())),n&&!e&&(null!=r||(r=Object.assign({},t)),r.$sourceText=null==(l=t.$cstNode)?void 0:l.text),a&&(null!=r||(r=Object.assign({},t)),o=this.commentProvider.getComment(t))&&(r.$comment=o.replace(/\r/g,"")),null!=r?r:t}return t}}addAstNodeRegionWithAssignmentsTo(e){const t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){const r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter((e=>!e.startsWith("$"))).forEach((n=>{var i=function(e,t){return e&&t?xi(e,t,e.astNode,!0):[]}(e.$cstNode,n).map(t);0!==i.length&&(r[n]=i)})),e}}linkNode(e,t,r,n,i,a){for(var[s,o]of Object.entries(e))if(Array.isArray(o))for(let n=0;n<o.length;n++){var l=o[n];Ac(l)?o[n]=this.reviveReference(e,s,t,l,r):dr(l)&&this.linkNode(l,t,r,e,s,n)}else Ac(o)?e[s]=this.reviveReference(e,s,t,o,r):dr(o)&&this.linkNode(o,t,r,e,s);var u=e;u.$container=n,u.$containerProperty=i,u.$containerIndex=a}reviveReference(e,t,r,n,i){let a=n.$refText,s=n.$error;if(n.$ref){if(dr(r=this.getRefNode(r,n.$ref,i.uriConverter)))return{$refText:null!==(a=a||this.nameProvider.getName(r))&&void 0!==a?a:"",ref:r};s=r}if(s)return(n={$refText:null!=a?a:""}).error={container:e,property:t,message:s,reference:n},n}getRefNode(e,t,r){try{var n,i,a,s,o=t.indexOf("#");return 0===o?this.astNodeLocator.getAstNode(e,t.substring(1))||"Could not resolve path: "+t:o<0?(n=r?r(t):ic.parse(t),(i=this.langiumDocuments.getDocument(n))?i.parseResult.value:"Could not find document for URI: "+t):(a=r?r(t.substring(0,o)):ic.parse(t.substring(0,o)),(s=this.langiumDocuments.getDocument(a))?o===t.length-1?s.parseResult.value:this.astNodeLocator.getAstNode(s.parseResult.value,t.substring(o+1))||"Could not resolve URI: "+t:"Could not find document for URI: "+t)}catch(e){return String(e)}}}class kc{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=null==e?void 0:e.workspace.TextDocuments}register(e){var t=e.LanguageMetaData;for(const r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(t.languageId,e),1===this.languageIdMap.size?this.singleton=e:this.singleton=void 0}getServices(e){if(void 0!==this.singleton)return this.singleton;if(0===this.languageIdMap.size)throw new Error("The service registry is empty. Use `register` to register the services of a language.");var t=null==(t=null==(t=this.textDocuments)?void 0:t.get(e))?void 0:t.languageId;if(void 0!==t){const e=this.languageIdMap.get(t);if(e)return e}e=Pu.extname(e);const r=this.fileExtensionMap.get(e);if(r)return r;throw t?new Error(`The service registry contains no services for the extension '${e}' for language '${t}'.`):new Error(`The service registry contains no services for the extension '${e}'.`)}hasServices(e){try{return this.getServices(e),!0}catch(e){return!1}}get all(){return Array.from(this.languageIdMap.values())}}function xc(e){return{code:e}}(Du=Du||{}).all=["fast","slow","built-in"];class Ic{constructor(e){this.entries=new hc,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(var[n,i]of Object.entries(e))if(Array.isArray(i))for(const e of i){var a={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,a)}else"function"==typeof i?(i={check:this.wrapValidationException(i,t),category:r},this.addEntry(n,i)):Or()}wrapValidationException(e,t){return async(r,n,i)=>{await this.handleException((()=>e.call(t,r,n,i)),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(e){if(qu(e))throw e;console.error(t+":",e),e instanceof Error&&e.stack&&console.error(e.stack),r("error",t+": "+(e instanceof Error?e.message:String(e)),{node:n})}}addEntry(e,t){if("AstNode"===e)this.entries.add("AstNode",t);else for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=$r(this.entries.get(e)).concat(this.entries.get("AstNode"));return(r=t?r.filter((e=>t.includes(e.category))):r).map((e=>e.check))}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,a,s)=>{await this.handleException((()=>e.call(r,n,i,a,s)),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class Sc{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=Iu.None){var n=e.parseResult,i=[];if(await Xu(r),!t.categories||t.categories.includes("built-in")){if(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some((e=>(null==(e=e.data)?void 0:e.code)===Uu.LexingError)))return i;if(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some((e=>(null==(e=e.data)?void 0:e.code)===Uu.ParsingError)))return i;if(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some((e=>(null==(e=e.data)?void 0:e.code)===Uu.LinkingError)))return i}try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(qu(e))throw e;console.error("An error occurred during validation:",e)}return await Xu(r),i}processLexingErrors(e,t,r){for(const r of[...e.lexerErrors,...null!=(e=null==(e=e.lexerReport)?void 0:e.diagnostics)?e:[]]){var n={severity:Nc(n=null!=(n=r.severity)?n:"error"),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:wc(n),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(const r of e.parserErrors){let e;var n,i;isNaN(r.token.startOffset)?"previousToken"in r&&(i=r.previousToken,e=isNaN(i.startOffset)?{start:n={line:0,character:0},end:n}:{start:n={line:i.endLine-1,character:i.endColumn},end:n}):e=Ir(r.token),e&&(i={severity:Nc("error"),range:e,message:r.message,data:xc(Uu.ParsingError),source:this.getSource()},t.push(i))}}processLinkingErrors(e,t,r){for(const r of e.references){var n,i=r.error;i&&(n={node:i.container,property:i.property,index:i.index,data:{code:Uu.LinkingError,containerType:i.container.$type,property:i.property,refText:i.reference.$refText}},t.push(this.toDiagnostic("error",i.message,n)))}}async validateAst(e,t,r=Iu.None){const n=[];var i=(e,t,r)=>{n.push(this.toDiagnostic(e,t,r))};return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=Iu.None){var i;for(const a of this.validationRegistry.checksBefore)await Xu(n),await a(e,r,null!=(i=t.categories)?i:[],n)}async validateAstNodes(e,t,r,n=Iu.None){await Promise.all(Xn(e).map((async e=>{await Xu(n);for(const i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n)})))}async validateAstAfter(e,t,r,n=Iu.None){var i;for(const a of this.validationRegistry.checksAfter)await Xu(n),await a(e,r,null!=(i=t.categories)?i:[],n)}toDiagnostic(e,t,r){return{message:t,range:Cc(r),severity:Nc(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 Cc(e){if(e.range)return e.range;let t;return"string"==typeof e.property?t=ki(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=Ii(e.node.$cstNode,e.keyword,e.index)),null!=t||(t=e.node.$cstNode),t?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Nc(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+e)}}function wc(e){switch(e){case"error":return xc(Uu.LexingError);case"warning":return xc(Uu.LexingWarning);case"info":return xc(Uu.LexingInfo);case"hint":return xc(Uu.LexingHint);default:throw new Error("Invalid diagnostic severity: "+e)}}!function(e){e.LexingError="lexing-error",e.LexingWarning="lexing-warning",e.LexingInfo="lexing-info",e.LexingHint="lexing-hint",e.ParsingError="parsing-error",e.LinkingError="linking-error"}(Uu=Uu||{});class Lc{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){r=null!=r?r:Wn(e);var n=(null!=t||(t=this.nameProvider.getName(e)),this.astNodeLocator.getAstNodePath(e));if(!t)throw new Error(`Node at path ${n} has no name.`);let i;const a=()=>{var t;return null!=i?i:i=Sr(null!=(t=this.nameProvider.getNameNode(e))?t:e.$cstNode)};return{node:e,name:t,get nameSegment(){return a()},selectionSegment:Sr(e.$cstNode),type:e.$type,documentUri:r.uri,path:n}}}class bc{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=Iu.None){const r=[];for(const n of Xn(e.parseResult.value))await Xu(t),Jn(n).filter((e=>!fr(e))).forEach((e=>{(e=this.createDescription(e))&&r.push(e)}));return r}createDescription(e){var t,r=e.reference.$nodeDescription,n=e.reference.$refNode;if(r&&n)return{sourceUri:t=Wn(e.container).uri,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:Sr(n),local:Pu.equals(r.documentUri,t)}}}class Oc{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){var t;return e.$container?(t=this.getAstNodePath(e.$container),e=this.getPathSegment(e),t+this.segmentSeparator+e):""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(e)return void 0!==t?e+this.indexSeparator+t:e;throw new Error("Missing '$containerProperty' in AST node.")}getAstNode(e,t){return t.split(this.segmentSeparator).reduce(((e,t)=>{var r,n;return e&&0!==t.length?0<(r=t.indexOf(this.indexSeparator))?(n=t.substring(0,r),r=parseInt(t.substring(r+1)),null==(n=e[n])?void 0:n[r]):e[t]:e}),e)}}class _c{constructor(e){this._ready=new Qu,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new Cu,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=null!=(e=null==(e=e.capabilities.workspace)?void 0:e.configuration)&&e}async initialized(e){if(this.workspaceConfig&&(e.register&&(t=this.serviceRegistry.all,e.register({section:t.map((e=>this.toSectionName(e.LanguageMetaData.languageId)))})),e.fetchConfiguration)){var t=this.serviceRegistry.all.map((e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})));const r=await e.fetchConfiguration(t);t.forEach(((e,t)=>{this.updateSectionConfiguration(e.section,r[t])}))}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach((t=>{var r=e.settings[t];this.updateSectionConfiguration(t,r),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:r})}))}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){if(await this.ready,e=this.toSectionName(e),this.settings[e])return this.settings[e][t]}toSectionName(e){return""+e}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}(Fu||(Fu={})).create=function(e){return{dispose:async()=>e()}};class Pc{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new hc,this.documentPhaseListeners=new hc,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Mu.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=Iu.None){for(const r of e){var n=r.uri.toString();if(r.state===Mu.Validated){if("boolean"==typeof t.validation&&t.validation)r.state=Mu.IndexedReferences,r.diagnostics=void 0,this.buildState.delete(n);else if("object"==typeof t.validation){var i,a=this.buildState.get(n);const e=null==(i=null==a?void 0:a.result)?void 0:i.validationChecks;e&&0<(i=(null!=(i=t.validation.categories)?i:Du.all).filter((t=>!e.includes(t)))).length&&(this.buildState.set(n,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:i})},result:a.result}),r.state=Mu.IndexedReferences)}}else this.buildState.delete(n)}this.currentState=Mu.Changed,await this.emitUpdate(e.map((e=>e.uri)),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=Iu.None){this.currentState=Mu.Changed;for(const e of t)this.langiumDocuments.deleteDocument(e),this.buildState.delete(e.toString()),this.indexManager.remove(e);for(const t of e){var n;this.langiumDocuments.invalidateDocument(t)||((n=this.langiumDocumentFactory.fromModel({$type:"INVALID"},t)).state=Mu.Changed,this.langiumDocuments.addDocument(n)),this.buildState.delete(t.toString())}const i=$r(e).concat(t).map((e=>e.toString())).toSet();this.langiumDocuments.all.filter((e=>!i.has(e.uri.toString())&&this.shouldRelink(e,i))).forEach((e=>{this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e),e.state=Math.min(e.state,Mu.ComputedScopes),e.diagnostics=void 0})),await this.emitUpdate(e,t),await Xu(r),e=this.sortDocuments(this.langiumDocuments.all.filter((e=>e.state<Mu.Linked||!(null!=(e=this.buildState.get(e.uri.toString()))&&e.completed))).toArray()),await this.buildDocuments(e,this.updateBuildOptions,r)}async emitUpdate(e,t){await Promise.all(this.updateListeners.map((r=>r(e,t))))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;0<=r&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){var t;return Boolean(null==(t=this.textDocuments)?void 0:t.get(e.uri))}shouldRelink(e,t){return!!e.references.some((e=>void 0!==e.error))||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),Fu.create((()=>{var t=this.updateListeners.indexOf(e);0<=t&&this.updateListeners.splice(t,1)}))}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,Mu.Parsed,r,(e=>this.langiumDocumentFactory.update(e,r))),await this.runCancelable(e,Mu.IndexedContent,r,(e=>this.indexManager.updateContent(e,r))),await this.runCancelable(e,Mu.ComputedScopes,r,(async e=>{var t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.precomputedScopes=await t.computeLocalScopes(e,r)})),await this.runCancelable(e,Mu.Linked,r,(e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r))),await this.runCancelable(e,Mu.IndexedReferences,r,(e=>this.indexManager.updateReferences(e,r))),t=e.filter((e=>this.shouldValidate(e))),await this.runCancelable(t,Mu.Validated,r,(e=>this.validate(e,r)));for(const t of e){var n=this.buildState.get(t.uri.toString());n&&(n.completed=!0)}}prepareBuild(e,t){for(const i of e){var r=i.uri.toString(),n=this.buildState.get(r);n&&!n.completed||this.buildState.set(r,{completed:!1,options:t,result:null==n?void 0:n.result})}}async runCancelable(e,t,r,n){for(const i of e.filter((e=>e.state<t)))await Xu(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r);e=e.filter((e=>e.state===t)),await this.notifyBuildPhase(e,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),Fu.create((()=>{this.buildPhaseListeners.delete(e,t)}))}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),Fu.create((()=>{this.documentPhaseListeners.delete(e,t)}))}waitUntil(e,t,r){let n;return t&&"path"in t?n=t:r=t,null!=r||(r=Iu.None),n&&(t=this.langiumDocuments.getDocument(n))&&t.state>e?Promise.resolve(n):this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(Yu):new Promise(((t,i)=>{const a=this.onBuildPhase(e,(()=>{var e;a.dispose(),s.dispose(),n?(e=this.langiumDocuments.getDocument(n),t(null==e?void 0:e.uri)):t(void 0)})),s=r.onCancellationRequested((()=>{a.dispose(),s.dispose(),i(Yu)}))}))}async notifyDocumentPhase(e,t,r){for(const n of this.documentPhaseListeners.get(t).slice())try{await n(e,r)}catch(e){if(!qu(e))throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(const n of this.buildPhaseListeners.get(t).slice())await Xu(r),await n(e,r)}shouldValidate(e){return Boolean(this.getBuildOptions(e).validation)}async validate(e,t){var r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n="object"==typeof(n=this.getBuildOptions(e).validation)?n:void 0;r=await r.validateDocument(e,n,t);(t=(e.diagnostics?e.diagnostics.push(...r):e.diagnostics=r,this.buildState.get(e.uri.toString())))&&(null==t.result&&(t.result={}),e=null!=(r=null==n?void 0:n.categories)?r:Du.all,t.result.validationChecks?t.result.validationChecks.push(...e):t.result.validationChecks=[...e])}getBuildOptions(e){return null!=(e=null==(e=this.buildState.get(e.uri.toString()))?void 0:e.options)?e:{}}}class Mc{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Tc,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const r=Wn(e).uri,n=[];return this.referenceIndex.forEach((e=>{e.forEach((e=>{Pu.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)}))})),$r(n)}allElements(e,t){let r=$r(this.symbolIndex.keys());return(r=t?r.filter((e=>!t||t.has(e))):r).map((t=>this.getFileDescriptions(t,e))).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,(()=>{var r;return(null!=(r=this.symbolIndex.get(e))?r:[]).filter((e=>this.astReflection.isSubtype(e.type,t)))})):null!=(r=this.symbolIndex.get(e))?r:[]}remove(e){e=e.toString(),this.symbolIndex.delete(e),this.symbolByTypeIndex.clear(e),this.referenceIndex.delete(e)}async updateContent(e,t=Iu.None){t=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,t),e=e.uri.toString(),this.symbolIndex.set(e,t),this.symbolByTypeIndex.clear(e)}async updateReferences(e,t=Iu.None){t=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t),this.referenceIndex.set(e.uri.toString(),t)}isAffected(e,t){return!!(e=this.referenceIndex.get(e.uri.toString()))&&e.some((e=>!e.local&&t.has(e.targetUri.toString())))}}class Dc{constructor(e){this.initialBuildOptions={},this._ready=new Qu,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=null!=(e=e.workspaceFolders)?e:void 0}initialized(e){return this.mutex.write((e=>{var t;return this.initializeWorkspace(null!=(t=this.folders)?t:[],e)}))}async initializeWorkspace(e,t=Iu.None){e=await this.performStartup(e),await Xu(t),await this.documentBuilder.build(e,this.initialBuildOptions,t)}async performStartup(e){const t=this.serviceRegistry.all.flatMap((e=>e.LanguageMetaData.fileExtensions)),r=[],n=e=>{r.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};return await this.loadAdditionalDocuments(e,n),await Promise.all(e.map((e=>[e,this.getRootFolder(e)])).map((async e=>this.traverseFolder(...e,t,n)))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return ic.parse(e.uri)}async traverseFolder(e,t,r,n){t=await this.fileSystemProvider.readDirectory(t),await Promise.all(t.map((async t=>{this.includeEntry(e,t,r)&&(t.isDirectory?await this.traverseFolder(e,t.uri,r,n):t.isFile&&(t=await this.langiumDocuments.getOrCreateDocument(t.uri),n(t)))})))}includeEntry(e,t,r){var n=Pu.basename(t.uri);return!n.startsWith(".")&&(t.isDirectory?"node_modules"!==n&&"out"!==n:!!t.isFile&&(n=Pu.extname(t.uri),r.includes(n)))}}class Uc{buildUnexpectedCharactersMessage(e,t,r,n,i){return Xa.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return Xa.buildUnableToPopLexerModeMessage(e)}}const Fc={mode:"full"};class Gc{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;var t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t),t=Kc(t)?Object.values(t):t,e="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new Ja(t,{positionTracking:"full",skipValidations:e,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=Fc){var r,n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:null!=(n=n.groups.hidden)?n:[],report:null==(r=(n=this.tokenBuilder).flushLexingReport)?void 0:r.call(n,e)}}toTokenTypeDictionary(e){if(Kc(e))return e;e=Bc(e)?Object.values(e.modes).flat():e;const t={};return e.forEach((e=>t[e.name]=e)),t}}function Bc(e){return e&&"modes"in e&&"defaultMode"in e}function Kc(e){return!function(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}(e)&&!Bc(e)}function jc(e,t,r){let n,i;return n="string"==typeof e?(i=t,r):(i=e.range.start,t),i=i||be.create(0,0),function(e){var t=be.create(e.position.line,e.position.character);if(0===e.tokens.length)return new sd([],Oe.create(t,t));for(var r=[];e.index<e.tokens.length;){var n=Zc(e,r[r.length-1]);n&&r.push(n)}var i=null!=(i=null==(i=r[0])?void 0:i.range.start)?i:t,a=null!=(a=null==(a=r[r.length-1])?void 0:a.range.end)?a:t;return new sd(r,Oe.create(i,a))}({index:0,tokens:zc({lines:r=Vc(e),position:i,options:t=id(n)}),position:i})}function Vc(e){let t="";return("string"==typeof e?e:e.text).split(fi)}const Hc=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Wc=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function zc(e){var t=[];let r=e.position.line,n=e.position.character;for(let l=0;l<e.lines.length;l++){var i,a,s=0===l,o=l===e.lines.length-1;let u=e.lines[l],c=0;s&&e.options.start?(s=null==(s=e.options.start)?void 0:s.exec(u))&&(c=s.index+s[0].length):(s=null==(s=e.options.line)?void 0:s.exec(u))&&(c=s.index+s[0].length),Qc(u=(u=o&&(o=null==(s=e.options.end)?void 0:s.exec(u))?u.substring(0,o.index):u).substring(0,Jc(u)),c)>=u.length?0<t.length&&(s=be.create(r,n),t.push({type:"break",content:"",range:Oe.create(s,s)})):(Hc.lastIndex=c,(o=Hc.exec(u))&&(s=o[0],o=o[1],a=be.create(r,n+c),i=be.create(r,n+c+s.length),t.push({type:"tag",content:o,range:Oe.create(a,i)}),c+=s.length,c=Qc(u,c)),c<u.length&&(o=u.substring(c),a=Array.from(o.matchAll(Wc)),t.push(...Yc(a,o,r,n+c)))),r++,n=0}return 0<t.length&&"break"===t[t.length-1].type?t.slice(0,-1):t}function Yc(e,t,r,n){var i=[];if(0===e.length){var a=be.create(r,n),s=be.create(r,n+t.length);i.push({type:"text",content:t,range:Oe.create(a,s)})}else{let s=0;for(const a of e){var o=a.index;0<(l=t.substring(s,o)).length&&i.push({type:"text",content:t.substring(s,o),range:Oe.create(be.create(r,s+n),be.create(r,o+n))});let e=l.length+1;var l=a[1];i.push({type:"inline-tag",content:l,range:Oe.create(be.create(r,s+e+n),be.create(r,s+e+l.length+n))}),e+=l.length,4===a.length?(e+=a[2].length,l=a[3],i.push({type:"text",content:l,range:Oe.create(be.create(r,s+e+n),be.create(r,s+e+l.length+n))})):i.push({type:"text",content:"",range:Oe.create(be.create(r,s+e+n),be.create(r,s+e+n))}),s=o+a[0].length}0<(a=t.substring(s)).length&&i.push({type:"text",content:a,range:Oe.create(be.create(r,s+n),be.create(r,s+n+a.length))})}return i}const qc=/\S/,Xc=/\s*$/;function Qc(e,t){var r=e.substring(t).match(qc);return r?t+r.index:e.length}function Jc(e){if((e=e.match(Xc))&&"number"==typeof e.index)return e.index}function Zc(e,t){var r=e.tokens[e.index];return"tag"===r.type?rd(e,!1):"text"===r.type||"inline-tag"===r.type?ed(e):(function(e,t){t&&(e=new ud("",e.range),("inlines"in t?t:t.content).inlines.push(e))}(r,t),void e.index++)}function ed(e){let t=e.tokens[e.index];var r=t;let n=t;for(var i=[];t&&"break"!==t.type&&"tag"!==t.type;)i.push(td(e)),n=t,t=e.tokens[e.index];return new ld(i,Oe.create(r.range.start,n.range.end))}function td(e){return"inline-tag"===e.tokens[e.index].type?rd(e,!0):nd(e)}function rd(e,t){var r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];return"text"===(null==i?void 0:i.type)?t?(i=nd(e),new od(n,new ld([i],i.range),t,Oe.create(r.range.start,i.range.end))):(i=ed(e),new od(n,i,t,Oe.create(r.range.start,i.range.end))):(e=r.range,new od(n,new ld([],e),t,e))}function nd(e){return e=e.tokens[e.index++],new ud(e.content,e.range)}function id(e){var t,r;return e?(({start:e,end:t,line:r}=e),{start:ad(e,!0),end:ad(t,!1),line:ad(r,!0)}):id({start:"/**",end:"*/",line:"*"})}function ad(e,t){var r;return"string"==typeof e||"object"==typeof e?(r="string"==typeof e?Ti(e):e.source,t?new RegExp("^\\s*"+r):new RegExp(`\\s*${r}\\s*$`)):e}class sd{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find((t=>t.name===e))}getTags(e){return this.getAllTags().filter((t=>t.name===e))}getAllTags(){return this.elements.filter((e=>"name"in e))}toString(){let e="";for(const r of this.elements){var t;0===e.length?e=r.toString():(t=r.toString(),e+=cd(e)+t)}return e.trim()}toMarkdown(e){let t="";for(const n of this.elements){var r;0===t.length?t=n.toMarkdown(e):(r=n.toMarkdown(e),t+=cd(t)+r)}return t.trim()}}class od{constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e="@"+this.name;var t=this.content.toString();return 1===this.content.inlines.length?e=e+" "+t:1<this.content.inlines.length&&(e=e+"\n"+t),this.inline?`{${e}}`:e}toMarkdown(e){var t;return null!=(t=null==(t=null==e?void 0:e.renderTag)?void 0:t.call(e,this))?t:this.toMarkdownDefault(e)}toMarkdownDefault(e){var t=this.content.toMarkdown(e);if(this.inline){var r=function(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){var n,i=t.indexOf(" ");let a=t;return 0<i&&(n=Qc(t,i),a=t.substring(n),t=t.substring(0,i)),("linkcode"===e||"link"===e&&"code"===r.link)&&(a=`\`${a}\``),null!=(i=null==(n=r.renderLink)?void 0:n.call(r,t,a))?i:function(e,t){try{return ic.parse(e,!0),`[${t}](${e})`}catch(t){return e}}(t,a)}}(this.name,t,null!=e?e:{});if("string"==typeof r)return r}let n="",i=("italic"===(null==e?void 0:e.tag)||void 0===(null==e?void 0:e.tag)?n="*":"bold"===(null==e?void 0:e.tag)?n="**":"bold-italic"===(null==e?void 0:e.tag)&&(n="***"),n+"@"+this.name+n);return 1===this.content.inlines.length?i=i+" — "+t:1<this.content.inlines.length&&(i=i+"\n"+t),this.inline?`{${i}}`:i}}class ld{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let n=0;n<this.inlines.length;n++){var t=this.inlines[n],r=this.inlines[n+1];e+=t.toString(),r&&r.range.start.line>t.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let i=0;i<this.inlines.length;i++){var r=this.inlines[i],n=this.inlines[i+1];t+=r.toMarkdown(e),n&&n.range.start.line>r.range.start.line&&(t+="\n")}return t}}class ud{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function cd(e){return e.endsWith("\n")?"\n":"\n\n"}class dd{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){var t=this.commentProvider.getComment(e);if(t&&function(e,t){var r,n;return t=id(t),0!==(e=Vc(e)).length&&(r=e[0],e=e[e.length-1],n=t.start,t=t.end,Boolean(null==n?void 0:n.exec(r)))&&Boolean(null==t?void 0:t.exec(e))}(t))return jc(t).toMarkdown({renderLink:(t,r)=>this.documentationLinkRenderer(e,t,r),renderTag:t=>this.documentationTagRenderer(e,t)})}documentationLinkRenderer(e,t,r){var n=null!=(n=this.findNameInPrecomputedScopes(e,t))?n:this.findNameInGlobalScope(e,t);if(n&&n.nameSegment)return e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,`[${r}](${n.documentUri.with({fragment:`L${e},`+t}).toString()})`}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){var r=Wn(e).precomputedScopes;if(r){let i=e;do{var n=r.get(i).find((e=>e.name===t));if(n)return n}while(i=i.$container)}}findNameInGlobalScope(e,t){return this.indexManager.allElements().find((e=>e.name===t))}}class hd{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return function(e){return"string"==typeof e.$comment}(e)?e.$comment:null==(e=function(e,t){if(e){var r=function(e,t=!0){for(;e.container;){var r=e.container;let i=r.content.indexOf(e);for(;0<i;){i--;var n=r.content[i];if(t||!n.hidden)return n}e=r}}(e,!0);if(r&&Lr(r,t))return r;if(yr(e))for(let r=e.content.findIndex((e=>!e.hidden))-1;0<=r;r--){var n=e.content[r];if(Lr(n,t))return n}}}(e.$cstNode,this.grammarConfig().multilineCommentRules))?void 0:e.text}}class fd{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}}class pd{constructor(){this.previousTokenSource=new Bu,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();var t=(zu=performance.now(),new Bu);return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=Iu.None){var n=new Qu;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.promise}async performNextOperation(){if(this.done){var e=[];if(0<this.writeQueue.length)e.push(this.writeQueue.shift());else{if(!(0<this.readQueue.length))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map((async({action:e,deferred:t,cancellationToken:r})=>{try{var n=await Promise.resolve().then((()=>e(r)));t.resolve(n)}catch(e){qu(e)?t.resolve(void 0):t.reject(e)}}))),this.done=!0,this.performNextOperation()}}cancelWrite(){this.previousTokenSource.cancel()}}class md{constructor(e){this.grammarElementIdMap=new fc,this.tokenTypeIdMap=new fc,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map((e=>Object.assign(Object.assign({},e),{message:e.message}))),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){var t=new Map,r=new Map;for(const r of Xn(e))t.set(r,{});if(e.$cstNode)for(const t of xr(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){var r,n,i=t.astNodes.get(e);for([r,n]of(i.$type=e.$type,i.$containerIndex=e.$containerIndex,i.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(i.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!r.startsWith("$"))if(Array.isArray(n)){var a=[];i[r]=a;for(const e of n)dr(e)?a.push(this.dehydrateAstNode(e,t)):hr(e)?a.push(this.dehydrateReference(e,t)):a.push(e)}else dr(n)?i[r]=this.dehydrateAstNode(n,t):hr(n)?i[r]=this.dehydrateReference(n,t):void 0!==n&&(i[r]=n);return i}dehydrateReference(e,t){var r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){var r=t.cstNodes.get(e);return yr(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),mr(e)?r.content=e.content.map((e=>this.dehydrateCstNode(e,t))):gr(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){var t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){var t=new Map,r=new Map;for(const r of Xn(e))t.set(r,{});let n;if(e.$cstNode)for(const t of xr(e.$cstNode)){let e;"fullText"in t?(e=new Xl(t.fullText),n=e):"content"in t?e=new Yl:"tokenType"in t&&(e=this.hydrateCstLeafNode(t)),e&&(r.set(t,e),e.root=n)}return{astNodes:t,cstNodes:r}}hydrateAstNode(e,t){var r,n,i=t.astNodes.get(e);for([r,n]of(i.$type=e.$type,i.$containerIndex=e.$containerIndex,i.$containerProperty=e.$containerProperty,e.$cstNode&&(i.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!r.startsWith("$"))if(Array.isArray(n)){var a=[];i[r]=a;for(const e of n)dr(e)?a.push(this.setParent(this.hydrateAstNode(e,t),i)):hr(e)?a.push(this.hydrateReference(e,i,r,t)):a.push(e)}else dr(n)?i[r]=this.setParent(this.hydrateAstNode(n,t),i):hr(n)?i[r]=this.hydrateReference(n,i,r,t):void 0!==n&&(i[r]=n);return i}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){var n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),mr(n))for(const a of e.content){var i=this.hydrateCstNode(a,t,r++);n.content.push(i)}return n}hydrateCstLeafNode(e){var t=this.getTokenType(e.tokenType),r=e.offset,n=e.length,i=e.startLine,a=e.startColumn,s=e.endLine,o=e.endColumn;e=e.hidden;return new zl(r,n,{start:{line:i,character:a},end:{line:s,character:o}},t,e)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const t of Xn(this.grammar))Gr(t)&&this.grammarElementIdMap.set(t,e++)}}function gd(e){return{documentation:{CommentProvider:e=>new hd(e),DocumentationProvider:e=>new dd(e)},parser:{AsyncParser:e=>new fd(e),GrammarConfig:e=>function(e){var t=[];for(const r of e.Grammar.rules)hn(r)&&$i(r)&&gi(Oi(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:wr}}(e),LangiumParser:e=>mu(e),CompletionParser:e=>function(e){var t=e.Grammar,r=e.parser.Lexer;return ou(t,e=new iu(e),r.definition),e.finalize(),e}(e),ValueConverter:()=>new yu,TokenBuilder:()=>new gu,Lexer:e=>new Gc(e),ParserErrorMessageProvider:()=>new nu,LexerErrorMessageProvider:()=>new Uc},workspace:{AstNodeLocator:()=>new Oc,AstNodeDescriptionProvider:e=>new Lc(e),ReferenceDescriptionProvider:e=>new bc(e)},references:{Linker:e=>new uc(e),NameProvider:()=>new cc,ScopeProvider:e=>new Ec(e),ScopeComputation:e=>new pc(e),References:e=>new dc(e)},serializer:{Hydrator:e=>new md(e),JsonSerializer:e=>new $c(e)},validation:{DocumentValidator:e=>new Sc(e),ValidationRegistry:e=>new Ic(e)},shared:()=>e.shared}}function yd(e){return{ServiceRegistry:e=>new kc(e),workspace:{LangiumDocuments:e=>new oc(e),LangiumDocumentFactory:e=>new sc(e),DocumentBuilder:e=>new Pc(e),IndexManager:e=>new Mc(e),WorkspaceManager:e=>new Dc(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new pd,ConfigurationProvider:e=>new _c(e)}}}function vd(e,t,r,n,i,a,s,o,l){return Rd([e,t,r,n,i,a,s,o,l].reduce($d,{}))}(Gu||(Gu={})).merge=(e,t)=>$d($d({},e),t);const Td=Symbol("isProxy");function Rd(e,t){const r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===Td||Ad(n,i,e,t||r),getOwnPropertyDescriptor:(n,i)=>(Ad(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),has:(t,r)=>r in e,ownKeys:()=>[...Object.getOwnPropertyNames(e)]});return r}const Ed=Symbol();function Ad(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:e[t]});if(e[t]===Ed)throw new Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){r=r[t],e[t]=Ed;try{e[t]="function"==typeof r?r(n):Rd(r,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function $d(e,t){if(t)for(var[r,n]of Object.entries(t)){var i;void 0!==n&&(null!==(i=e[r])&&null!==n&&"object"==typeof i&&"object"==typeof n?e[r]=$d(i,n):e[r]=n)}return e}class kd{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const xd={fileSystemProvider:()=>new kd},Id={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},Sd={AstReflection:()=>new jn};function Cd(e){var t=function(){var e=vd(yd(xd),Sd),t=vd(gd({shared:e}),Id);return e.ServiceRegistry.register(t),t}();e=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(e,ic.parse(`memory://${null!=(t=e.name)?t:"grammar"}.langium`)),e}var Nd=Object.defineProperty,wd=(e,t)=>Nd(e,"name",{value:t,configurable:!0}),Ld="Statement",bd="Architecture";wd((function(e){return ph.isInstance(e,bd)}),"isArchitecture");var Od="Axis",_d="Branch";wd((function(e){return ph.isInstance(e,_d)}),"isBranch");var Pd="Checkout",Md="CherryPicking",Dd="ClassDefStatement",Ud="Commit";wd((function(e){return ph.isInstance(e,Ud)}),"isCommit");var Fd="Curve",Gd="Edge",Bd="Entry",Kd="GitGraph";wd((function(e){return ph.isInstance(e,Kd)}),"isGitGraph");var jd="Group",Vd="Info";wd((function(e){return ph.isInstance(e,Vd)}),"isInfo");var Hd="Item",Wd="Junction",zd="Merge";wd((function(e){return ph.isInstance(e,zd)}),"isMerge");var Yd="Option",qd="Packet";wd((function(e){return ph.isInstance(e,qd)}),"isPacket");var Xd="PacketBlock";wd((function(e){return ph.isInstance(e,Xd)}),"isPacketBlock");var Qd="Pie";wd((function(e){return ph.isInstance(e,Qd)}),"isPie");var Jd="PieSection";wd((function(e){return ph.isInstance(e,Jd)}),"isPieSection");var Zd="Radar",eh="Service",th="Treemap";wd((function(e){return ph.isInstance(e,th)}),"isTreemap");var rh,nh,ih,ah,sh,oh,lh,uh="TreemapRow",ch="Direction",dh="Leaf",hh="Section",fh=class extends pr{static{wd(this,"MermaidAstReflection")}getAllTypes(){return[bd,Od,_d,Pd,Md,Dd,Ud,Fd,ch,Gd,Bd,Kd,jd,Vd,Hd,Wd,dh,zd,Yd,qd,Xd,Qd,Jd,Zd,hh,eh,Ld,th,uh]}computeIsSubtype(e,t){switch(e){case _d:case Pd:case Md:case Ud:case zd:return this.isSubtype(Ld,t);case ch:return this.isSubtype(Kd,t);case dh:case hh:return this.isSubtype(Hd,t);default:return!1}}getReferenceType(e){if("Entry:axis"!=(e=e.container.$type+":"+e.property))throw new Error(e+" is not a valid reference id.");return Od}getTypeMetaData(e){switch(e){case bd:return{name:bd,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case Od:return{name:Od,properties:[{name:"label"},{name:"name"}]};case _d:return{name:_d,properties:[{name:"name"},{name:"order"}]};case Pd:return{name:Pd,properties:[{name:"branch"}]};case Md:return{name:Md,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case Dd:return{name:Dd,properties:[{name:"className"},{name:"styleText"}]};case Ud:return{name:Ud,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Fd:return{name:Fd,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case Gd:return{name:Gd,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 Bd:return{name:Bd,properties:[{name:"axis"},{name:"value"}]};case Kd:return{name:Kd,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case jd:return{name:jd,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case Vd:return{name:Vd,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case Hd:return{name:Hd,properties:[{name:"classSelector"},{name:"name"}]};case Wd:return{name:Wd,properties:[{name:"id"},{name:"in"}]};case zd:return{name:zd,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Yd:return{name:Yd,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case qd:return{name:qd,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Xd:return{name:Xd,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case Qd:return{name:Qd,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case Jd:return{name:Jd,properties:[{name:"label"},{name:"value"}]};case Zd:return{name:Zd,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case eh:return{name:eh,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case th:return{name:th,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case uh:return{name:uh,properties:[{name:"indent"},{name:"item"}]};case ch:return{name:ch,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case dh:return{name:dh,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case hh:return{name:hh,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},ph=new fh,mh=wd((()=>rh=rh??Cd('{"$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"),gh=wd((()=>nh=nh??Cd('{"$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"),yh=wd((()=>ih=ih??Cd('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}')),"PieGrammar"),vh=wd((()=>ah=ah??Cd('{"$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"),Th=wd((()=>sh=sh??Cd('{"$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"),Rh=wd((()=>oh=oh??Cd('{"$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"),Eh=wd((()=>lh=lh??Cd('{"$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"),Ah={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$h={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kh={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xh={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ih={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Sh={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ch={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Nh={AstReflection:wd((()=>new fh),"AstReflection")},wh={Grammar:wd((()=>mh()),"Grammar"),LanguageMetaData:wd((()=>Ah),"LanguageMetaData"),parser:{}},Lh={Grammar:wd((()=>gh()),"Grammar"),LanguageMetaData:wd((()=>$h),"LanguageMetaData"),parser:{}},bh={Grammar:wd((()=>yh()),"Grammar"),LanguageMetaData:wd((()=>kh),"LanguageMetaData"),parser:{}},Oh={Grammar:wd((()=>vh()),"Grammar"),LanguageMetaData:wd((()=>xh),"LanguageMetaData"),parser:{}},_h={Grammar:wd((()=>Th()),"Grammar"),LanguageMetaData:wd((()=>Ih),"LanguageMetaData"),parser:{}},Ph={Grammar:wd((()=>Rh()),"Grammar"),LanguageMetaData:wd((()=>Sh),"LanguageMetaData"),parser:{}},Mh={Grammar:wd((()=>Eh()),"Grammar"),LanguageMetaData:wd((()=>Ch),"LanguageMetaData"),parser:{}},Dh={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},Uh=class extends yu{static{wd(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return void 0===(n=void 0===n?this.runCustomConverter(e,t,r):n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){if(void 0!==(e=Dh[e.name])&&null!==(e=e.exec(t)))return void 0!==e[1]?e[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==e[2]?e[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0}},Fh=class extends Uh{static{wd(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},Gh=class extends gu{static{wd(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){return(e=super.buildKeywordTokens(e,t,r)).forEach((e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=new RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))})),e}},Bh=(class extends Gh{static{wd(this,"CommonTokenBuilder")}},class extends Gh{static{wd(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}}),Kh={parser:{TokenBuilder:wd((()=>new Bh),"TokenBuilder"),ValueConverter:wd((()=>new Fh),"ValueConverter")}};function jh(e=xd){e=vd(yd(e),Nh);var t=vd(gd({shared:e}),_h,Kh);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}wd(jh,"createGitGraphServices");var Vh=class extends Gh{static{wd(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},Hh={parser:{TokenBuilder:wd((()=>new Vh),"TokenBuilder"),ValueConverter:wd((()=>new Fh),"ValueConverter")}};function Wh(e=xd){e=vd(yd(e),Nh);var t=vd(gd({shared:e}),wh,Hh);return e.ServiceRegistry.register(t),{shared:e,Info:t}}wd(Wh,"createInfoServices");var zh=class extends Gh{static{wd(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},Yh={parser:{TokenBuilder:wd((()=>new zh),"TokenBuilder"),ValueConverter:wd((()=>new Fh),"ValueConverter")}};function qh(e=xd){e=vd(yd(e),Nh);var t=vd(gd({shared:e}),Lh,Yh);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}wd(qh,"createPacketServices");var Xh=class extends Gh{static{wd(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},Qh=class extends Uh{static{wd(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},Jh={parser:{TokenBuilder:wd((()=>new Xh),"TokenBuilder"),ValueConverter:wd((()=>new Qh),"ValueConverter")}};function Zh(e=xd){e=vd(yd(e),Nh);var t=vd(gd({shared:e}),bh,Jh);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}wd(Zh,"createPieServices");var ef=class extends Gh{static{wd(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},tf=class extends Uh{static{wd(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},rf={parser:{TokenBuilder:wd((()=>new ef),"TokenBuilder"),ValueConverter:wd((()=>new tf),"ValueConverter")}};function nf(e=xd){e=vd(yd(e),Nh);var t=vd(gd({shared:e}),Oh,rf);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}wd(nf,"createArchitectureServices");var af=class extends Gh{static{wd(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},sf={parser:{TokenBuilder:wd((()=>new af),"TokenBuilder"),ValueConverter:wd((()=>new Fh),"ValueConverter")}};function of(e=xd){e=vd(yd(e),Nh);var t=vd(gd({shared:e}),Ph,sf);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}wd(of,"createRadarServices");var lf=class extends Gh{static{wd(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},uf=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,cf=class extends Uh{static{wd(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;if(e=uf.exec(t))return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function df(e){var t,r=e.validation.TreemapValidator;(e=e.validation.ValidationRegistry)&&(t={Treemap:r.checkSingleRoot.bind(r)},e.register(t,r))}wd(df,"registerValidationChecks");var hf=class{static{wd(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(const n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:(void 0===n.indent||void 0!==r&&r>=parseInt(n.indent,10))&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},ff={parser:{TokenBuilder:wd((()=>new lf),"TokenBuilder"),ValueConverter:wd((()=>new cf),"ValueConverter")},validation:{TreemapValidator:wd((()=>new hf),"TreemapValidator")}};function pf(e=xd){e=vd(yd(e),Nh);var t=vd(gd({shared:e}),Mh,ff);return e.ServiceRegistry.register(t),df(t),{shared:e,Treemap:t}}wd(pf,"createTreemapServices");var mf={},gf={info:wd((async()=>{var e=(e=(await import("./info-63CPKGFF-2dccc483.js")).createInfoServices)().Info.parser.LangiumParser;mf.info=e}),"info"),packet:wd((async()=>{var e=(e=(await import("./packet-HUATNLJX-6f2471ea.js")).createPacketServices)().Packet.parser.LangiumParser;mf.packet=e}),"packet"),pie:wd((async()=>{var e=(e=(await import("./pie-WTHONI2E-82b1fe3f.js")).createPieServices)().Pie.parser.LangiumParser;mf.pie=e}),"pie"),architecture:wd((async()=>{var e=(e=(await import("./architecture-O4VJ6CD3-b506967f.js")).createArchitectureServices)().Architecture.parser.LangiumParser;mf.architecture=e}),"architecture"),gitGraph:wd((async()=>{var e=(e=(await import("./gitGraph-ZV4HHKMB-ba420dcc.js")).createGitGraphServices)().GitGraph.parser.LangiumParser;mf.gitGraph=e}),"gitGraph"),radar:wd((async()=>{var e=(e=(await import("./radar-NJJJXTRR-94d77527.js")).createRadarServices)().Radar.parser.LangiumParser;mf.radar=e}),"radar"),treemap:wd((async()=>{var e=(e=(await import("./treemap-75Q7IDZK-100ddeb7.js")).createTreemapServices)().Treemap.parser.LangiumParser;mf.treemap=e}),"treemap")};async function yf(e,t){var r=gf[e];if(!r)throw new Error("Unknown diagram type: "+e);if(mf[e]||await r(),0<(r=mf[e].parse(t)).lexerErrors.length||0<r.parserErrors.length)throw new vf(r);return r.value}wd(yf,"parse");var vf=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map((e=>e.message)).join("\n")} `+e.parserErrors.map((e=>e.message)).join("\n")),this.result=e}static{wd(this,"MermaidParseError")}};export{rf as A,Kh as G,Hh as I,Yh as P,sf as R,ff as T,qh as a,Jh as b,Wh as c,Zh as d,nf as e,jh as f,of as g,pf as h,yf as p};
|